alanwilliamson

JavaFX - Sun javax.swing's and misses once again

It really is our own fault, we have come to expect too much of Sun. They are like that lovable Uncle we have. They have the best stories at the dinner table, but if you look around at the other adults, they are all rolling their eyes and laughing politely. They always promise they are going to show up at your major event, but if they do arrive, it's generally very late and with the most in appropriate gift.

In this particular instance we are talking about the much hyped and under delivered JavaFX; their answer to crack the Flash and emerging Silverlight dominance. Now we should have seen the warning signs there, as soon as Sun announces something as the "second coming" then we are can be pretty much assured it won't be. Yet, like Apple followers blindingly marching behind Steve Jobs, we too are easily seduced.

Java's biggest problem is Java - and it is one problem no one wants to talk about at Sun.

You see the JRE, the actual runtime, is horrendously bloated, ill managed, a pain to install and even more of a pain to integrate with all the different browsers on your desktop. It also has this wonderful feature of pausing your whole machine while it starts up. Booting up a platform that is over 40MB in size, does take a wee while, and to ensure the user doesn't completely panic, most times it will throw up the most god awful visual gray window letting you know it wasn't a virus that caused your browser to stutter, it was just Java!

Flash has pretty much won the browser war in terms of rich media plugins. They cracked the biggest nut and cracked it well; streaming video both in and out. Can you imagine YouTube being as successfully if everyone had to watch a video via a Java applet? Can you imagine the amount of dialogs, security warnings, configuration hacking that would be required by your user to ask permission to use their local webcam? It just was never on the cards.

The underlying JRE was never designed for this level of interaction with stuff outside of its sandbox. In its present form, the JRE will never be a nimble tool that the user won't even notice its existence. After all, when was the last time you noticed flash booting up?

So Sun has neglected to address this problem with their Flash killer JavaFX. We had hoped JavaFX would be a new runtime; maybe a J2ME engine for the browser, geared towards multimedia and graphics instead of mobile. Ironically the technology does exist within the Java space to enable such faster loading very small runtimes, thats what makes it so frustrating.

But no, JavaFX, is yet another scripting language, that sits on top of the existing JRE and merely gives non Java developers quick access to its powerful features. Can some one please tell Sun, someone has already invented the wheel, and so far, the original design of it being round, is working out pretty well. This hexagonal thing, just isn't going to fly!

On Monday of this week, I had the pleasure of sitting in on a Java Champion conference call with a Sun exec who was going to tell us all about the wonders of JavaFX. We were all promised to cross-our-hearts-and-hope-to-die and not tell anyone of what was going to be discussed. Except, cold feet ensued and we got no information. The thought was maybe it was going to be such a big announcement of earth shattering magnitude that he didn't want to risk letting the cat out of the bag early. Now we realize the poor guy was embarrassed. He twigged that JavaFX was a turkey.

Interesting enough, within that conference call, I made the point about JRE installation and size, and many others also contributed to the fact the versioning was a mess and it was a nightmare for users to manage. No one was actually arguing the point and the Sun exec even told us a story of his daughter telling him that Java was thing that stopped her browser.

So if his own daughter can't convince him that Java on the browser is a seriously flawed and bad idea, then what hope do the rest of us have?

If Sun really want to kill off Flash and take a swing at Microsoft's Silverlight alternative, then they have to sit down and look at why they are popular and not try and shoe horn Java as it stands into that space.

postscript - Sun appear to be addressing the JRE issue after all with something they are referring to as the "Consumer JRE". Details are still sketchy in terms of what it actually entails; will it be a repackaging, or a complete ground up redesign. Either way, it is expected to hit our desktops mid 2008! Yes, a complete year away from now - Adobe and Microsoft must be shaking in their cubicles! Can someone ask Adobe and Microsoft if they could take a 12 month sabbatical while Java catches up? Thanks.

Comments

It has been a year now. I am using a streaming Flash Demo to promote a Swing application that will be deployed as a Java Web Start application. ie. I made a screen recording of using the Swing application locally. Is there an example of an applet or JWS-ed application that just plays a sample movie, streamed from a proper streaming server? If so then I want to see it. If not now, will this be possible in the future?

thanks - Chris Murphy

left by Chris Murphy — Tuesday, 20 May 2008 5:02 AM — web site

I just did an interview with CTO Bob Brewin that might address some of your concerns (which I share): http://blogs.zdnet.com/Burnette/?p=307

left by Ed Burnette — Thursday, 10 May 2007 1:16 PM — web site

@#3.

Alan, everything you ask for is a tall order, I agree. I think it has to come in stages. It would be a great start if it was possible to write applets that aren't painful for the user, by using the existing capabilities of Java SE. There's lots of amazing software that could be written just with that capability. Then, if they could add audio and video streaming, that would be the next useful thing.

I understand why your faith is dented though! I'm actually optimistic now. Why? Because, I've been suggesting that Sun address some of these issues for many years now... and always been met with the response that they weren't going to do it. Either because it was "too difficult" or "not important". Now, however, it seems Sun has allocated resources, and is going to try to make Java work in the browser.

It was a similar pattern with mobile. Years ago, I remember suggesting to a senior Sun exec that they should have a serious focus on mobile. They told me that they weren't going to do this, because "Mobile will never be big outside of Japan". A year or two later, they changed their minds.

My point is: up until now, Sun hasn't *wanted* to fix Java in the browser. Now, it seems it does. I'm not so sure Java has missed the client-side boat. It's late in the day, sure. But not too late I don't think.

left by Simon Brocklehurst — Wednesday, 9 May 2007 10:48 AM — web site

Simon that is great news, and yes, i agree if it works then it will definitely give Flash a run for its money. But it has to be small, lightweight and just work. It has to interface to the users webcam, microphone, and speaker. It has to stream video, play music, create rich web apps, and make all this in a file format that doesn't bloat to MB's.

A tall order I fear, and best of luck to them. However, my faith is sadly dented. Java has missed the client side boat, it should look to new and other horizons.

left by Alan Williamson — Wednesday, 9 May 2007 10:14 AM

Alan,

You're right about the reasons why Java sucks in the browser. That's why, along with JavaFX, Sun also announced at JavaOne yesterday that they're planning to ship a new "Consumer JRE" aimed at addressing those very issiues. It's slated for release late 2007/early 2008. I'd expect decent JavaFX design tools to be available at that time too.

If the Consumer JRE works, I think it'll make a really big difference... read here

left by Simon Brocklehurst — Wednesday, 9 May 2007 9:59 AM — web site

I don't think Macromedia and Microsoft were laughing at all....

...I don't think they even noticed. ;-)

left by Jason R Briggs — Wednesday, 9 May 2007 9:57 AM — web site

Leave Comment

please note, all comments will be moderated for spam and abuse before being publicly posted.


 

Recent JAVA posts

Latest CFML posts

Other Bits'n'Bobs


 
Site Links
Recommended Sites/Blogs