Going from the technical aspects of Mobile Java, let's get into the marketing aspects. Has anyone noticed that there's no branding from Sun on mobile Java? Acronyms like J2ME and MIDP don't cut it. Neither does the non-word "midlet" which I've never seen in print outside of a technical manual.
DoCoMo branded their version of Mobile Java "iAppli". This is a fantastic bit of naming that allow non technical people to understand that this bit of code is able to run on their phone. They may or may not know its Java (actually - I think that the Java logo pops up every time an iAppli runs, so that may not be the case). But at the least the normal users understand that iApplis are little programs that you can download and run on your phone.
If you look at Vodafone Live! They don't mention Midlets at all. Nor do they really mention Java. Just "downloads","programs", or just the generic "games". This is an amazing oversight by Sun! What are they thinking? They have millions of phones out there ready to run little Java programs, but they haven't given those programs a decent name!!!
If I tell anyone that I program Midlets for a living, they'll look at me like I'm nuts, using the word "Java" may help a bit. A little better if I say "Applets for you phone". Why isn't Sun pushing the Java brand and naming the technology? Like many things Sun is doing in the Mobile space (like having two different mini sites, one for "wireless" and the other for "j2me"... huh?), it just doesn't make any sense at all.
Qualcomm is doing their best to drive the branding of Brew. Nice little logo, etc. It's a horrible name, but it doesn't matter. All that matters is branding. Mophun as well is a seperate entity from the company that produces the techology, but they realize that the apps need to have names. People need to have a handle so they can grasp the technology, the branding is that handle. How are two non-techies supposed to understand which apps to download on to their phones? If one person has a SonyEricsson T300 (which only plays Mophun games) and another person has some Vodafone Live! Sharp phone (which plays Java games) are they supposed to just GUESS that the applications that run on the phones are different? No. To them, something just "doesn't work" and that's BAD. It should all just work.
The first step to making things just work is understanding. You can't understand something that doesn't have a name.