Skip to content

NEW: Agile Fusion Messenger is now available for beta testing.


Agile Fusion Messenger is now available for beta testing.

You can try our service on eBay right now.Try now!

To begin, we suggest reading Getting Started.

If you have a desire to leave feedback or report an issue please contact us via forum or send us a letter.

During the beta testing operates 10% 30% discount on subscriptions. If you want to buy a subscription with a discount today please contact us.

Agile Fusion Messenger 1.0 is now BETA!


Agile Fusion Messenger
Agile Fusion Messenger is email management system created specifically for eBay sellers. Agile Fusion Messenger is fast web-based solution which allows remote employees performing customer services via email. It’s web-based which makes it accessible from anywhere even at home.

Fast, efficient and built on modern technology solution that will help effectively organize customer service for business depended on the speed and efficiency of the processing of incoming emails.

Why Use Agile Fusion Messenger?

Today, more and more businesses and organizations depend on email correspondence than ever before. Email presents countless opportunities for you to provide better, faster communication to boost customer service and sales.

Our service saves time, increases efficiency, and can be easily used by anyone who uses email.

  • Email Templates has the ability to create customizable message reply templates, speeding the process of handling email.
  • Personalized reply templates are at drop down click
  • Quote Templates. Frequently-used text can be quickly pasted into the message you are currently composing.
  • Email filters allow you to manage the flow of incoming messages. Using filters, you can automatically delete, flag, mark as read, forward to your email or move to the specified folder, based on any combination of keywords, sender, recipients, and more.
  • Email thread is one mouse click. Now you will not be difficult to restore the context of conversation in a letter you are currently composing.
  • You need to enhance the effectiveness of the call center? Take advantage of the opportunities our search engine to quickly locate the necessary email.
  • Managing emails and transactions in one spot!
  • Complete information about your potential customers in one click. You can get information not only on feedback received from others, but also on the feedback left for others that is much more valuable information in connection with the recent changes at EBay.

To find out more about the basics of Email Templates, please take a look at the product description or our features page.

For quick and visual acquaintance with our product please refer to the User Stories.

You can try Agile Messenger for FREE!

To do this, you need to go to the Getting Started and follow simple instructions written there.

WTK 2.5.2 issue

WTK 2.5.2 introduced pretty annoying bug to a very usefull feature, that is, ability to run the midlet from the command line, so that you can see all the system.out printed to the console.
it was always possible to do the following:

\%PATH_TO_WTK%\bin\emulator.exe -Xdescriptor:MyMidlet.jad

But since I upgraded to WTK 2.5.2 for CLDC 1.1, I’ve started getting this exception:
Exception in thread “main” java.lang.NoClassDefFoundError: com/sun/kvem/environment/EmulatorWrapper

Unfortunately searches on google did not reveal any solution, so i reverted back to WTK 2.5.1 and everything is fine.

technorati tags: j2me wtk

Motorola V3M slow startup.

Here is the interesting issue observed on the Motorola V3M. Application (in fact it’s VM) startup time deteriorates.

When midlet owns multiple RecordStores it’s startup time is painfully slow, in fact you don’t even see any message from the system that it is doing something, as the phone simply freezes. So far I found out that V3M freezes for about 0.5s for every RecordStore, so if your midlet has about 100 record stores as mine has, it takes about 50 seconds to startup, OUCH!

So I’ve reimplemented the persistence layer instead of using single record store per cache entry, use single RecordStore for all the cache, and then store each cache entry into a Record.

Now here is another problem, when you delete record RecordStore.deleteRecord(recordId) the system does not reclaim that memory, it simply marks it deleted. Same happens if you do setRecord(new byte[0]{}, 0, 0), it still does not reclaim the memory. The only way to reclaim the memory is to copy only life data into the new record store and delete the old one, pretty much re compact it. Well it is a slow operation, and how often would you do it? AS for writing 400K it takes about 5-6 seconds on V3M, and it is such intensive operation, that even repaints don’t go though.

Well, i wouldn’t write this post just to rant on the device, as I’m so used to the limitations of the mobile devices. I do have mini solution, at least the one that works for me.

Thanks God, V3m has 6 megs of heap, so i keep my 400K of cache in memory, and on user inactivity( as well as pauseApp and destroyApp), i simply flush it to RMS into the single RecordStore and single Record inside of it. So it works pretty fast, as I don’t have to read it, and i do not delay UI by expensive recomapacting, my startup time is also blazing fast.

technorati tags: j2me motorola v3m razr rms

Proguard as alternative to precompiler

With all the variety of JSRs and their availability on different devices, porting of mobile applications ends up being quite a challenge. The traditional approach is to use precompiler, that is still one of the best options and in my mind is the last tool that I use. What I ended up using to turn on/off application features for different ports, is to use public static final boolean constants to flag weather the feature is available on this phone, here is the example:

….. MyMidlet.java….

import javax.microedition.pim.Contact;
import javax.microedition.pim.ContactList;
import javax.microedition.pim.PIM;
import javax.microedition.pim.PIMException;

public Vector getContacts() {

if (PhoneConstants.JSR75_INCLUDED) {

// retrieve the contacts ….

} else {

return null;
}

During the build time the PhoneConstants file is generated and the TRUE or FALSE constant is set. Then once the obfuscator runs (Proguard in my case), if PhoneConstants.JSR75_INCLUDED is set to false, the obfuscator completely removes the block of code that does access to the contacts, and because there in no longer any code that uses PIM api, all the imports are dropped as well.

The beauty of this approach is the readability and maintainability of the code.

technorati tags: j2me porting proguard

UPDATE:

As a response to the comment here is one way to structure your build:

  1. Create properties file for each device, in the properties file define all the configuration.
  2. in build.xml, load ${device}.properties
  3. create target “constants”
    1. copy all “src” to “tmpsrc”
    2. for each property run replaceregexp
  4. compile using tmpsrc

Looks like Flex data binding is not bidirectional

I have a AS3 class Loan that is being fetched from the server and the whole Loan class is marked as [Bindable]

Now in the Form I have a: <mx:TextInput text=”{currenLoan.loanAmount}” />
The problem is that user modifies the text in the textInput, it does not automatically update the variable that the control is bound to. I’m not sure if it is supported by Flex though, as I have this expectation from XForms.

As the solution to the problem I had to define the binding as <mx:Binding source=”{myTextInput.text}” destination=”{currentLoan.loanAmount}” /> So then any changes in the TextInput are being committed to the original loan object.

I wonder if there are any better, elegant solutions to this?

technorati tags: flex binding ria

Fantastic artilce for entrepreneurs

Great article that outlines the similarities in of entrepreneur and King Leonidas of 300.

In fact I would go further, this is not just the entrepreneurs who would benefit but any manager and team lead. This article inspires the leadership in all of us.

Here it is, enjoy!

technorati tags: entrepreneurship leadership 300 CEO

A must tool for any J2ME (JavaME) developer

There comes a time in any mobile project of significant size, where no matter how careful you were, you missed something (or you over optimized) and you have memory leak.

WTK2.5 comes a long way to show the count of live objects in memory, but it does not allow to trace the references to see why the heck it is not garbage collected and what is referencing it. It works pretty much the same way as Memory Monitor that ships with WTK, by connecting to the  emulator vm and extracting info from there.
That is why I like YourKit Java Profiler as it does exactly that, help you trace those unwanted references.

technorati tags: j2me profiling yourkit memory leak

Flex Builder 2 as Eclipse plugin — unsuccessfully

I’ve tried using the Flex Builder 2 as Eclipse plugin and failed.

I have 3.2 WTP with J2EE and Hibernate Tools plugins. After installing the Flex Builder 2 as plugin into my existing Eclipse I had problems.

Every second time flexbuilder tries to compile the flex project it would crash with OutOfMemoryException. I even tried to increase the memory from 512M to 1024M and still it’s crashing, looks like it is blowing the stack at some point.

I ended up running two IDEs at once: one eclipse for backend and one flex builder standalone for front end development.

technorati tags: Flex Builder flex eclipse outofmemory

Feedback on RIA book

I’m going through the “Rich Internet Applications with Flex and Java” by guys from Farata Systems.

Overall I like that authors are hardcore consultants with deep knowledge of Java, so it is very easy to understand the concepts that book presents as they are targeted to Java developers specifically. I also like the fact that there are quite afew good tips that help java developers broaden their horizons by thinking outside the JAVA and/or Static WEB.

On the other hand it seems that the samples applications are designed in a way where you a going through hundreds of pages and multiple modifications of code without the ability to run it.

I’m on chapter 5 right now, developing stocks portfolio application hooking up with FDS, and it is really painful as it’s not always clear of which file needs to be changed as well on setting up the Flex Builder 2 FDS project.

I wish that authors would also ship sample code with the Ebook (pdf).

[Flex] RTMP-Server failed to start up: java.net.BindException: Address already in use: bind

This weird exception happened for me when I inserted destination with url property into the wrong configuration file. URL destinations should go to proxy-config.xml.

technorati tags: ria flex riabook