January 10, 2004

first semester grades for J2ME MIDP 2.0

I've ranted in the past about J2ME 1.0, about how awkward, slow, and buggy applications were that were written using this mobile platform from SUN, and being wideley adopted by mobile device manufacturers. however, owing much of my technical past to Java related technologies, there was no way I was going to give up hope that J2ME could be improved and get closer to native technologies on devices.

J2ME has started sophomore year with a second version of the MIDP profile that has made its way onto phones from Nokia and Sony Ericsson, and now Motorola. SUN keeps a list of their licensees which happens to be a little out of date as of this writing. The P900 is indeed available, and i now have some experience in using it by writing a RSS Feed Reader which uses some of the new features of MIDP 2.0, most visibly the ability to launch the platform's default browser given a URL.

So what do I think? The results are mixed. (NOTE: these grades are for the J2ME support, not the phones themselves - here's my review of the P900 in general...Nokia 6600 generic review coming soon)

Sony Ericsson P900: C+

SE does a pretty good job of installing and executing MIDP 2.0 apps. I was able to run the BD3 Feed Reader in testing mode where it fetched RSS feeds, parsed, and processed the XML every 5 minutes for 3 days straight - and as long as all the resources that were opened were closed, the memory footprint stayed pretty much static. this was a surprise. I don't think I ever saw MIDP 1.0 apps run with this stability on any platform. Performance is also much better than on the P800, which has a MIDP1.0 VM and an otherwise equivalent 155 Mhz ARM processor.

On the downside, there's still a long way to go in making J2ME apps on the P900 look more native. they can start by using the MIDlet's icon rather than a generic icon for every MIDlet in their menu. I've seen this asked on the SE forum a bunch of times and no one from SE ever answers it. Secondly, there's still a lot of features of the P900 that can't be touched from J2ME, even with extensions. Although I guess this lowest common denominator thing is part of the play of J2ME portability, they could do a lot better job in perhaps providing a toolkit with widgets and such that make more sense on the P900 in a stylus based environment.

It took them 2 firmware releases to get some of the kinks out, and get the entire spec implemented. Lucky for SE, they allow users to update their own firmware.

There's no list of known issues, so many programmers are muddling through what works and what doesn't at http://www.sonyericsson.com/developer.


Nokia 6600: C

On the good side, Nokia does a good job of making J2ME apps feel at home on the 6600. For the first time on a Nokia device, J2ME apps are first class and appear on the top level menu like any other Symbian C++ application instead of at the back of the bus in a special "Apps" folder as on all other Nokia phones.

On the down side, the list of known issues in the nokia 6600 MIDP implementation are atrocious. Nokia uses SUN's Monty VM in their implementation so some of these things are perhaps not their fault, but it definitely shows a lack of testing and a rush to market. Understood but not totally forgiveable in this market. I don't know if the P900 uses this VM or another VM.

There are other things that definitely are their fault from a lack of testing. A prime example is not implementing the MIDlet.platformRequest() method which is new and has prevented my feed reader from running on this phone. Calling this method with the right parameters is supposed to either make a phone call or launch the default browser. It currently crashes the 6600 - and unless Nokia provides a way for users to update their own firmware, it's going to leave a whole lot of phones that don't really support MIDP2.0. Couldn't they have gotten a programmer to pull an all-nighter and gotten this right? The sun was probably up all night anyway in Finland since this was released in the Summer.

Some of the other bugs are pretty bad too, especially since they cause memory leaks - but at least they provide workarounds.

Conclusion:

I don't want this to be negative because I want to see a LOT more of MIDP2.0 out there on devices. There are some necessary features which i haven't tested such as the messaging API as well as the JSR-82 bluetooth exensions, which both these phones implement.

That said, SUN used to require a lot more testing of their licensees than they seem to now, and I would expect this software to be a little better. I think both implementations are better than the freshman 1.0 equivalents, but let's hope for a much improved second semester!

Posted by Steve at January 10, 2004 08:49 AM | TrackBack


Subscribe to this feed through newsgator online: Subscribe in NewsGator Online

Comments

The really sad thing is that the coolest way to write Java for a mobile device is *still* PersonalJava. Have you tried you the PJ support of the P900? Wonder if anyone has been brave enough to write a JSR-82 implementation using PJ and JNI...

Posted by: Ravi Nanavati at January 11, 2004 11:35 PM

What grade would you give for motorola V300/400/500/600 series?
And for people who are interested in full developer review for P900, check out my website at http://www.benhui.net

Posted by: Ben at February 24, 2004 06:10 PM

7136 Get your online poker fix at http://www.onlinepoker-dot.com

Posted by: online poker at August 15, 2004 03:07 PM

5916 check out the hot blackjack at http://www.blackjack-p.com here you can play blackjack online all you want! So everyone ~SMURKLE~

Posted by: blackjack at August 23, 2004 12:14 AM

Post a comment




Remember Me?

(you may use HTML tags for style)