JavaFX launched – The good, bad and ugly
Yesterday, Sun launched it’s SDK for RIA technology SDK. For the past almost 2 years, I’ve been very skeptic about this technology and the way Sun handles this. They’ve focused on the desktop and applets with the launch of Java, but then shifted to server side handling with EJB, leaving Desktop developers out in the cold. About 3 years ago, Sun shifted focus again a little to desktop Java and at JavaOne 2007, a very immature technology was hyped and was called “JavaFX”. Sun wants to compete in the RIA space with Adobe, Microsoft and the AJAX community : Good.
Last night, Sun’s JavaFX servers were unavailable and probably crashed under the load generated by the community who really wanted to get a glimpse if the technology showed any good. As an escape, an alternative website was presented. around 8pm PST, the original launch website was available again and I decided to give it a go. In the meantime, the people accessing the website got unpredictable experiences : Bad.
This morning around 8am CET, I decided to try it myself and see if Sun could surprise me. I type “www.javafx.com” and was presented a nice looking website. I am running FireFox 3 on Mac (not the preferred platform, with the way Apple handles the Java runtime implementation). I moved over to one of the sample demos (EffectsPlayground), the page loaded, but them froze for about 30 seconds, I could not switch tabs. Probably in the meantime, it downloaded the JavaFX runtime. I was presented with Mac window asking if I would Trust the content, which I did. Then my browser froze again for about 10 seconds and finally the nice looking application came up.
Next, I went to see a video playing example. I chose for the “Simple Video Player”. The description tells that it shows the using of streaming video. It took 10 seconds to show the page (network issues?) and left a huge white empty space in the middle. The statusbar showed the message “JNLPAppletLauncher started”. After over 30 seconds, it showed the player with the video in it. I decided to directly scrub all the way to the end to see if the content was really streaming and was able to play back instantly (which it did). But after looking at the code, I discovered that it was not streaming video at all. It uses HTTP to request an FLV from the server, which makes it progressive download. Given the time it took to show the player and movie, I even believe that in this case, the video was downloaded completely, before even showing the player at all.
I decided to retry the example and clicked “shift-reload” in Firefox. The page started to load, but the applet didn’t show up.. the statusbar showed the message “Contacting dl.javafx.com” …. oh-oh… after about 60 seconds, the page rendered, but without the JavaFX content (08:56am CET). Overall user experience: Ugly.
From a RIA platform, I expect a couple of requirements:
- Consistent playback on the multiple platforms (Windows, Mac, Linux)
- Minimal interruption for the customers viewing the content
- Seamless install and deployment of the runtime
- Good tool-support for designers and developers
JavaFX is in my opinion still failing in some, maybe even all of the categories. Merely Sun did not surprise me with the technology and this launch. Even worse, the company claiming to know how to handle network operations, handled this launch very poorly.



