It has been more than a while since we have been waiting for MIDP 3.0 specs to get closed.
Now that it seems the process is going to complete, we face a java runtime distribution across the mobile world with more shades than lights: terrible fragmentation problems (that have been one of midp 3 and MSA drivers) with hundreds of different jvms across thousands of handset models and java being discouraged or, sometimes seeming to be ostracized by and emerging tech firms and platforms (apple, windows mobile, android).
At today, JME is almost the unique dev runtime for a number of important platforms like SonyEricsson, LG and Samsung RTOS, Nokia s40, Rim (with extensions): unfortunately those platforms are niche ones or, at least, candidates to be superseded by more powerful, emerging ones (like Android, Symbian or Limo based) when the chipsets families those I’ve been built for will decrease in price and consequently being adopted on low tier models.
From a strictly technical point of view, current leading JME platforms only partially suffered of MIDP3 being so late: this mainly thanks to MSA recommendations (decreasing fragmentation partially) and jsr 211 (enabling midlet2midlet and, sometimes, midlet2native interaction).
It remains a question mark about the root reason: was MIDP 3 being late forcing java developers to be not too much visionary or ambitious or, on the contrary, there was actually no particular demand, across the developers, for such a powerful solution like MIDP3 is?
The slowness of MIDP3 development have been experienced as a problem at first but soon the mobile developers moved to alternatives where possible. Probably, the hard times that Moto experienced as a company that, at the end, impacted terribly MIDP3 schedule (being Motorola the lead) led to less interest for java as a platform and, eventually, to Apple and Google to create alternatives for their compelling platforms. Despite Apple choice could be explained with the need of a closed environment, Google choice is clearly dictated by JME technology limitations since they embraced totally the Java development community and the Java language itself despite creating a sort of new profile, a mix of JSE/CDC and novel concepts (eg. Activities).
Now the question is:
- is there still space for java to be a protagonist on Mobile Internet services?
The situation is really complex.
User demands are rapidly ramping up: now users want smartphones to give access to web contents and web services, tomorrow, the access in itself will not be enough: advanced features like phonebook presence integration, integrated conversation management, contacts syncing, user context access, content management, etc… will be considered as important features to be listed in the small labels describing specs at shops.
Is Java, with it’s bytecode-VM approach not suited to integrate with “native apps” by design? Google “all apps are equal” approach will ever be applicable to a PURE java MIDP runtime? It seems acquired that the “write once, run everywhere” promise of java has not ever been true in the mobile world until now, but anyway, as said before on this blog, thanks to the evident trend pointing out that the number of platforms is decreasing and restricting to few open OSes, java has now a new chance.
Sun and oracle must now cowork with the ecosystem, bet again on open source and, in parallel, invest to create first class JVMs for open OSes an publish it on Markets. How to monetize the effort? The application store is something making more sense to me from day to day, and JavaOne recently hold at Moscone center crearly demonstrated that Java is not dead. The Mobility general session from JavaOne has been full of news, vision, hopes and last but not least has been full of explicit endorsement (Vodafone, Verizon, SonyEriccson, Google, etc…). And Larry has been there live to state that Oracle bets on Java. At the end, something that very few days ago seemed a concept and led me to some speculations, it’s now reality: take a look at the Java Store! …and Warehouse! …there’s also a beta program, even if US only 😦
Ah, forgot to mention that JavaFX is definitively out the “buzz-world”.
2009-2010 will be a very crucial period for JME: win or die. No niche option for java.
This post is the first that I’ve written on an android phone…Thanks G1 for existing!