Life hands Sun steaming sack of...
Lacking lemons, Schwartz makes JavaFX
Fail and You "When life hands you lemons, make lemonade." The chorus of a person who gives just enough of a shit about your problems to console you, but not enough to actually help. Lately, somebody has been consoling Sun CEO Jonathan Schwartz, but nobody is helping. When Schwartz took over for Scott McNealy in 2006, he inherited the Java ME clusterfuck, along with a host of other dreams that never were.
When life hands you lemons, you make lemonade, but what do you make when life hands you a steaming sack of shit? With a lemon, you can at least use it as garnish for the cocktail you swim in to numb your problems.
The Java platform has been kicking around different markets for a while, but can never seem to make any headway into rich internet applications. Applets seemed like a good idea on a whiteboard, but in practice, turned out to be just one more scoop to fill the bag that awaited Schwartz. He took all of Sun's attempts at making webapps better and consolidated them into JavaFX.
It's pretty compelling as an acronym. It sounds almost as bad-ass as XML did when it first came out. Maybe it's the technical end-all-be-all of RIA platforms. Maybe it's superior to Flash, Silverlight, and Adobe AIR. None of that will matter, though, because Sun missed its window of opportunity. That won't stop them from trying, because to an engineer, all that matters is technical competence. Pesky shit like "market share" and "distribution channels" are just things to be thought about later, after the code is perfect.
It's pretty clear that somebody at Sun read "Learn Business Junk in 24 Hours" before coming up with the idea for JavaFX Mobile. JavaFX is a rich internet application runtime that sits atop the JVM on client machines. If you have this runtime on your computer, you can run JavaFX-enhanced webapps. Schwartz recently boasted that JavaFX has more than 100,000,000 installations.
As an aside, I use this line when I'm out drinking with the buddies. I am the sole proprietor of an impressive piece of hardware that has seen more than 100,000,000 installations, if you catch my drift. Trouble is, whenever a dude starts talking up his installation count, you know he's bullshitting. So, take Schwartz's estimate with a grain of salt.
JavaFX Mobile is the extension of JavaFX to handheld devices. If you're browsing the web on your cell phone and come across a JavaFX web app, you can run it on your phone. The future is now.
Sun recently launched JavaFX Mobile at a conference in Barcelona, and the rest of the world promptly got back to work. As per a new licensing deal, Sony Ericsson and LG will start shipping JavaFX enabled handsets. Yeah, that's fantastic and all, but unless the obnoxiously long-haired Schwartz can convince the not-yet-dead Steve Jobs and whatever outside-the-valley hardass who runs Research in Motion to ship the iPhone and the Blackberry with JavaFX, this technology will suffer the same fate as Java ME: it'll be rehashed into another product with a different acronym.
Adobe Bull Boss
Even then, it's going to be a tough sell, because Sun will need to convince developers that JavaFX is worth their time. Pro tip: it's not. When it comes to RIAs, Adobe is the bull boss of the house. Flash is installed on more than 99% of internet users' computers. Even if Schwartz's bar-room boast of 100,000,000 users is accurate, if you as a developer are choosing a platform, targeting anything other than Flash is just a waste of time.
Sure, Flash may not be as capable as JavaFX, but it doesn't need to be. Remember the "engineer's approach to that business junk"? Yeah, this is where it fails.
Attacking the mobile market like this is risky business for Sun. If Flash ever comes to the iPhone, JavaFX mobile will be instantly obsoleted. With the iPhone App Store, Apple has defined what it means to develop for a mobile platform. Previously, mobile development has been a colossal pain in the balls, with service providers keeping a nuts-in-a-pair-of-vise-grips hold on the distribution channel.
Sun, it seems, is still stuck in that world, whereas Apple figured out that distribution is everything in the mobile market. With Sun's approach, to get mobile distribution for your JavaFX Mobile app, you need to use the same strategy that you would for a desktop targeted web app. The reason that people bother to develop for the iPhone, even if they have to put up with Apple's manic bullshit, is that the distribution channel is so frictionless.
If Sun is hoping that JavaFX will gain critical mass on the mobile platform and then leverage it to spread it to the desktop targeted web, then they are sorely mistaken. That market has been conquered, and no number of deals with Sony Ericsson or LG will un-conquer it. The only other option for JavaFX then is to spread like gonorrhea on the web.
That's going to be a big "if" for Sun. Since you're reading about it in a column called "Fail and You," you can probably guess where I think JavaFX is going to land. They have likely realized what they're up against, as evidenced by the JavaFX launch page for Linux . Is that a Flash video player I see? With 100,000,000 installations and video playback capability, you would think that they would, oh, I don't know, use their own fucking technology as part of the demo. This again is the disconnect between engineers and people who make the money.
I can see how this meeting went: a few JavaFX product managers talking with the marketing and web design team, spewing a bunch of nerd shit about runtimes and native code and just-in-time compilation, while the marketing team uses their Blackberries to Twitter about how bored they are. Marketing goes back to their office, and when it comes time to put some videos up on the web, they think "oh, you can play videos in Flash. Everybody has Flash."
And so yet again, good technology falls victim to introverted people skills. ®
Ted Dziuba is a co-founder at Milo.com  You can read his regular Reg column, Fail and You, every other Monday.