Thursday, May 10, 2007

Motorola CTO Padmasree Warrior asked Enrique Ortiz and Ajit Jaokar to join her onstage during her JavaOne keynote this morning for a friendly debate. The topic: Java ME versus Mobile Web 2.0. Ajit argued that the platform underneath the browser is fragmented and therefore a hindrance to mobile interaction, so the browser and the web are the best platform for mobile apps. Enrique argued that this is all well and good but that browsers don't yet deliver the experience or integrate with handset features like the camera in the ways that users expect today.

Enrique Ortiz and Ajit Jaokar during Motorola keynote
Click image to watch the debate

One of the interesting takeaways from the Java ME sessions I've attended at JavaOne is the extent to which Java client technology is looking more and more like browser technology anyway. With MSA Java phones moving into the market this year the push will be for developers to use scalable vector graphics (SVG) to create rich, interactive user interfaces. SVG... XHTML... they're both XML representations of a document with an object model that you program against to create the GUI appearance and interactions you want. We even have a new scripting language being introduced for Java developers to use in creating these graphical interactions: JavaFX Script.

Having said that, I tend to side with Enrique on this one. Java gives developers the flexibility to balance and intermingle the use of local and remote resources to optimize the experience and adapt to the mobile user's physical context. Applications that require a good network connection to do anything useful, that perform tedious round-trips to a server every time the user tries to get to the value in the app, or that ignore the way the handset is able to capture images, sounds or physical gestures, well, they can still be useful. But the usability and functionality gap between such applications and ones that are "first class citizens" on the device is widening today, not narrowing. Platform fragmentation is a problem, but it's a red herring in this debate: until browsers are more standardized, the mobile web is just as hampered by fragmentation as Java ME. In fact, the mobile web is arguably getting more fragmented now by peoples' use of mobile search services that try to selectively render content—or insert new content—based on what some algorithm says the user needs to see.

The place where web technology has an advantage is obviously in delivery of the application. Carrier testing and certification make this a costly, time-consuming pain with Java (unless you're targeting a relatively open smartphone platform)—anything but an "internet speed" affair. But as I've discussed elsewhere (and the Motorola CTO hinted as well) there are ways to get around this.

Comments

No comments yet

Add Comment

Comments must be approved before being published. Thank you!