Josh Fruhlinger
Contributing Writer

Another try at “write once, run anywhere” on mobile

how-to
Feb 17, 20103 mins

Hey there, while Oracle was worming Java’s way onto feature phones, there was a big announcement from a consortium of handset makers and wireless carriers about something called the Wholesale Applications Community, which will provide a means by which developers can write and sell wireless applications across multiple vendors. At one level, it’s obvious what this is; it’s an an attempt to fight back against Apple’s App Store, which cuts handset makers and wireless carriers out of the mobile application sales action. But despite the announcement coming two days ago, it’s been remarkably hard to figure what, exactly, this is, from a technical standpoint. The Wholesale Applications Community Web site can only offer this poorly edited gobbledygook:

The alliance will utilise existing technical standards, rather than creating new ones to allow developers to access operators’ assets, for example network capabilities or API’s (Application Programming Interfaces) more easily. In practice this means that developers will only have to create one version of their application and this can be used on multiple types of devices and operating systems (such as Symbian, Android, Windows etc) which is not the case today.

Well OK then! It turns out that these apps will be built on the Joint Innovation Lab‘s Widget Initiative and the Open Mobile Terminal Platform’s BONDI technology, both of which are, as near as I can tell, means by which one can build applications out of Web technologies (HTML, JavaScript, etc.) that can, I assume, also run locally. (This is pretty much also how Palm’s WebOS apps work.) Word is that these two techs will be merged into some kind of W3C-approved spec, someday … and then the WAC will rule the mobile world, assuming the mobile world hasn’t changed radically in the months or years that this will take to happen, which it almost certainly will.

The initiative has met with a lot of derision, which frankly I think is well earned, as it appears to be mostly vapor at the moment, and fraught with potential problems. The thing that’s immediately interesting from the Java point of view is of course that this initiative involves Java not at all, despite the fact that JVMs are or can be available for just about all the devices under consideration here. But what’s even sadder to me is that Java’s failure to do exactly what the WAC is promising serves as a sort of cautionary example. Google’s Engineering VP (and Android guru) Andy Rubin, speaking about the initiative to the UK’s Guardian, was quoted as saying, “There is always a dream that you could write [a program] once and [have it] run anywhere and history has proven that that dream has not been fully realised and I am sceptical that it ever will be.” I kind of love those explanatory brackets for the masses; it’s pretty obvious to the techies that Rubin actually said “write once, run anywhere,” which was of course Java’s mantra.

And of course, Java wasn’t able to deliver on this promise, at least not in the mobile space. Even Hinkmond Wong, Oracle’s Java ME blogger, who usually reacts to all such announcements by touting Java ME’s awesomeness, would only venture that “Any group attempting to try to fix the problems of Java ME technology should know that it’s not an easy thing to fix.”