The long awaited 1.0 release of JavaFX came out today. The question I get asked most often, including today, around JavaFX is “is it too late for Sun?” The answer is muddled: it’s late for anyone that’s not Adobe, including Sun and Microsoft. But, it’s not too late. I’ll leave the portfolio analysis to Stephen’s comments on Sun, which I pretty much agree with.
But, let’s look at JavaFX for itself.
What Does JavaFX Have Going for It?
As a technology, the work Sun has put into JavaFX seems impressive and much welcomes. Fixing the applet plugin, the install/update experience, the tooling, engineering, etc. have all come out looking good. On the business side, this is par for course in the RIA world: your stuff has to work, look good, and be easy to build. I’d point you to the RIA Weekly interviews with Danny Coward, Ken Russell, and Joshua Marinacci to hear more on these points.
Past those requirements to enter the door, there are two things JavaFX has going for it, that differentiate it from the Flash Platform and Silverlight:
Sun could use being truly open source to it’s advantage in this RIA race. Adobe is close to be able to do that but they’re blocked by the revenue stream of FlexBuilder and the unwillingness to let go of the Flash Player (as well as IP encumbrances, I’d wager, just as the OpenJDK went through). Microsoft…yeah, exactly, bro’.
That said, JavaFX has had a rocky relationship with being, becoming open source. Namely it isn’t. Still, for software developers, the lack of a fully open source RIA platform has been a large part of what keeps people interested in Ajax. The point is this: it will either be Ajax or RIA technologies in the future (in a non-zero-sum shake-out), and so far Ajax has all of the advantages except “tooling” and “video,” which certainly hasn’t hurt Ajax so far. RIA vendors will have to do something dramatic here – open sourcing the Flash player, JavaFX, etc. – or “the open web” will still hold all the “best of worst options” position, to put it cynically.
Java may be boring and our rails friends may have been lucky enough to put the last nail in the hype-coffin, but Java is still huge. There are legions of Java developers and installs out there. Better for JavaFX, they’ll gleefully try out new Java-based technologies, esp. something like JavaFX. Trying out is much different than using – I’m sure everyone tried out JSF, eh? – but that’s a built in advantage that, out of the big 3 RIA vendors, only Microsoft has (who’s plagued by the first problem by it’s nature). Here, the difficulty is getting Java developers to re-learn caring about GUI development. To a Java developer, that’s what RIAs are at the end of the day: a new, better way to make GUIs.
As I put it to one reporter:
[A]s with Silverlight, JavaFX has a huge advantage of an existing developer community – namely Java. What comes with that community is a strong understanding and connection to application development and services and back-ends that they require. That community is heavily geared towards web UI’ed applications now, and have been without a GUI layer for a long time.
That said, Adobe has been perpetually on the verge of taking over the Java world’s front-end since James Ward started talking on the topic some years ago and Bruce Eckel Saw The Light (also, check out their [upcoming] book on the topic). Adobe’s lost a fair amount of early momentum here, but there’s still room for swoopage. Look how successful rails was at cracking into Java, and imagine multiplying small victory (with an equally small budget) by the budget Adobe could bring.
“Embedded” turns to “Screens”
Thinking in the theoretics, JavaFX by virtue of being Java may have more appeal to more industrial, “systems” applications of RIAs. Not too long ago, we had a category called “embedded” that, roughly, meant “a computer that’s not a desktop or laptop.” “Mobile” escaped from this category sometime ago, but was still a waste-land of locked down, uninspiring devices to confine yourself in as a developer. Now we have the (still locked down, but pleasantly gardened) iPhone, Android, and the resulting opening up of the mobile market.
There are still rife problems here as compared to the openness and freeness of the traditional computer market – anyone entering into the mobile market is must, has to be thinking, “you bet your ass we learned our lesson from open source! we’re gonna make money off this software!” Still, the idea that developers will deploy the mobile devices is much more real that it was in the paste: consumers actually like these little things beyond email machines.
More out in the future, there is a true trend of software interfaces being more important in non-traditional devices. The day will come soon when people start taking the UI into account when buying electronics. We all already know that TiVo has a better interface than whatever crap DVR we rent from our cable company. Think GPS devices. Even: wouldn’t you rather have a car with a good iPod interface than a crappy one?
In this area, Java has a slight, perception lead over Microsoft and Adobe. The idea of Java being in a device some how seems more real than Silverlight or Flash. For now at least. This pink-dot theory has long been a core belief of Sun and, so far, it hasn’t helped them avoid their recent troubles, but it feels like it’s around the corner. (Take that as you will.)
On this topic, see Jeet Kaul’s recent interview on RIA Weekly.
Measuring JavaFX’s Progress
Much of JavaFX’s fate rests in the problem we dismissed at the beginning: what will happen with Sun. To see that JavaFX is floating above water, we’ll need to see a handful of interesting 3rd parties using JavaFX by JavaOne 2009. I’d expect that JavaFX Mobile would be out then. Hopefully, we’d also see JavaFX being used by enterprises to get back to RAD-style development at the departmental level, a huge opportunity for RIAs that folks like WaveMaker, in the Ajax world, are taking on way ahead of everyone else.
Put another way, when it comes to RIAs – be it JavaFX, the Flash Platform, or Silverlight – technology is no longer the question. The problem now is strictly a business one: developing the low hanging fruit for usage and sales and then capturing the PoCs, projects, and developers who are eating that fruit.
Disclosure: Sun is a client and sponsored many of the podcasts referenced below. Microsoft and Adobe are clients as well.