Sun Microsystems, it is generally felt, lost the desktop to Microsoft a long time ago. Aware of this, Sun in recent years evangelized mobile as Java's habitat - mobile is, after all, where Microsoft's at its weakest.
Such was Sun's buy-in to this idea the annual JavaOne in 2007 was dominated by mobile, and Web 2.0, while the enterprise and servers - where Java has shone - were roughly pushed to sidelines.
Sun brought mobile and Web 2.0 together at JavaOne 2007 when it unveiled JavaFX Script - a high-performance declarative scripting language - a runtime and planned set of tools for mobile devices it called JavaFX Mobile. Versions were also announced for desktops and TVs. JavaFX Mobile was promised for the end of 2007 and it was predicted there'd be handsets in the market carrying JavaFX Mobile "in the first half of calendar '08."
It's with great ceremony, then, that Sun's marking the fact it comprehensively missed that JavaFX Mobile deadline by returning to the desktop with the scheduled launch today of JavaFX Desktop 1.0 - now just JavaFX 1.0. JavaFX Mobile is now promised for spring 2009.
With JavaFX 1.0 you'll get a runtime, JavaFX Script, plug-ins to NetBeans 6.5 and Eclipse, and Adobe Systems' Creative Suite version 3 and 4. The Adobe plug-ins let graphics artist create an asset and then wraps it in meta data so it can show up in the IDE with necessary attributes.
Sun said it's working with an unnamed third party to on a rapid-application development (RAD) tool to save assets as forms and then drag and drop objects on to the form.
JavaFX Mobile won't be forgotten, though, when Sun launches JavaFX 1.0 today. Included will be a JavaFX Mobile preview that features runtime libraries, APIs and an emulator so you can begin testing JavaFX applications written for mobile.
Sun's goal is to have JavaFX download over the air to existing mobile devices and ship with handsets straight from the OEM. Of course, there's at least one handset JavaFX Mobile won't be getting on anytime soon and that would mean most for JavaFX: Apple's iPhone.
Java might be resident on 2.1 billion mobile phones, but the iPhone's growing fast and would really help Sun's software stack get a toe hold. The iPhone is exciting developers as a personal gadget and a target runtime.
Latest stats said Apple became the US's second biggest mobile OS supplier for smart phones in the third quarter behind Symbian.
Linux, meanwhile, is the new Java for mobile it seems. Java might run on billions of devices, but the idea of application portability that Java had promised has remained elusive. Applications have invariably been written to the metal, not the software layer. Carriers largely adopted Java because it didn't come with the Windows brand, licensing, or Microsoft control, and because there was a pool of skills.
Party time for Linux
Now there's something else that provides the same: It's called Linux. Google and T-Mobile broke the party line of "Java-for-mobile" when Google put Linux on Android and T-Mobile became the carrier. Linux looks set to grow in the mobile space, with ABI Research last year predicting there'd be more than 127 million devices using Linux by 2012, up from 8.1 million in 2007.
Sun's senior director of Java marketing Param Singh claimed Sun's working with OEM and operator partners to roll out JavaFX over the air and from the factory. Funny, that's what Sun suggested it was doing when it promised JavaFX handsets in the market this year.
So why the return to the desktop?
According to Singh, JavaFX for the desktop will provide a "rich layer" on top of the Java platform for audio and video. It'll also help ensure a "consistent" experience for applications - meaning applications that need to run on mobile, TV and PC. Sun is talking the same language as Adobe and Microsoft, with AIR and Silverlight.
Unfortunately for Sun and JavaFX, the desktop is still Microsoft's, Adobe owns the interface, and mobile is no longer the kingdom of Java. ®