Last weekend, I started working on a Java ME project. This is a new technology for me, and since mobile and tablet computing is really hot now, and I am familiar with "regular" Java, I am quite interested in this. But my excitement is severely dampened by doubts about the future of the Java Micro Edition itself.
Java ME used to be a dominant platform for smartphone applications before the iPhone redefined the term, back in the day when the coolest phones came out of Japan (rather than Mountain View or Cupertino, or from Foxconn, depending how you look at it). It was the technology behind NTT DoCoMo's i-appli for example. Beyond phones, Java ME is used in all kinds of embedded systems and set-top boxes, most notably Blu-ray players (those fancy menus and mini-games are done in Java).
However, the formerly "smart" Java phones are now called feature phones, and the major smartphone platforms are Apple's iOS (which uses Objective-C, compiled to native binaries), Google's Android (which uses Java as its programming language, but applications get compiled to a competing bytecode format), and the cross-platform HTML5 (which uses JavaScript, a language that despite of the name has nothing to do with Java). The number of Java-capable feature phones shipped may well be bigger than the number of smartphones (especially if you count those that could be made to run Java ME aftermarket), but you can see where those numbers are headed, and even today all the excitement and all the consumer application sales are on the iOS and Android devices. And then there is the exploding market for tablets, for which Java ME does not seem to have a solution, either. RIM, another former dominant player caught by surprise by Apple and Google, and whose BlackBerry phones are Java-based, will launch its own line of PlayBook tablets using a QNX operating system instead.
Java ME is now owned by Oracle, a company clearly based more in the big-iron enterprise software business. Its interest in ME seems to be primarily as a source of revenue in the form of existing licensing agreements, as witnessed by their recent lawsuit against Google over Android, which caused a lot of agitation in the development community. A big reason for Android not using Java ME is probably the fact that it incurs hefty license fees to Oracle, and one can understand that Oracle is angry about Google undercutting their deals with phone manufacturers here, but the patent fight is not going to help Java ME.
In any case, contrary to the established big players' expectation when Apple launched the iPhone into their market and Google did not wait long to follow suit, the mobile computing segment is now exploding and developing quickly, driven by rapid releases from actors more nimble than Oracle seems to be, a company still in the process of digesting and realigning Sun's product lines (an example is JavaFX, which was supposed to target mobile phones as well, but now seems to focus on attacking Flash in the browser and for the desktop).





