How to Make Applets (and JavaFx) Viable? Macs and Media

by Tim O'Brien

David Herron left a comment on the last blog post, here it is:


"ultra-fast Java Plugin"? Have you taken a look at 6u10? That's where your ultra-fast Java Plugin is, it's already been announced, and you can download it today to try out. "Openjfx looks like a ghost town" .. Well, inside Sun JavaFX is not a ghost town and I have no idea why there isn't more public dev-list activity. "Clearly, development of the compiler happens somewhere else" is a big 10-4. If you scrolled down to the bottom of https://openjfx.dev.java.net/ you'd see a link to https://openjfx-compiler.dev.java.net/ which is the project for the compiler. "Consumer JRE" .. that has morphed its name into 6u10.


David, compiler list is clearly very active. Lot's of Sun activity. Let's see why the public project has such low activity. I have taken a look at the 6u10 (I had to fire up my old Vista machine to see it), it's clearly an improvement, but read more for the obstacles to adoption. I can't yet go to my managers and justify writing a customer-facing application in a Java Applet, maybe explaining the reasons why this is the case might provide some useful feedback.

Why JavaFx Public Lists are a Ghost Town?

There isn't more public dev-list activity because there are not many people using JavaFx. There are not many people using JavaFx because there are not many consumers who have upgraded to Java 6. 6u10 is in Beta, so we can't expect consumers to install it yet. Couple that with the fact Sun doesn't touch the JRE or JDK for Macintosh and Apple's Java 6 is still a "Developer Preview".... who knows if they are going to put much effort into making sure that Applets load quickly. On top of that, for some strange reason all the Applets I try to run in IE 7 end up with this strange button that reads "Press SPACEBAR or ENTER to activate and use this control." Maybe this newer version of Java might start to hit consumers in the next few months, how quickly do you think we can expect market penetration for the Java Plugin to equal that of the Flash 9 Player? How closely have you been working with Apple to make sure that the modular JRE is a part of the Apple development effort?

People are not milling about the JavaFx lists asking questions because there seem to be some major obstacles to adoption. If I'm creating some web site that needs to stream videos and display interactive Rich UI and I don't want to turn away everyone using a Mac, I'm certainly not going to be very excited about the 6u10 update. It follows that I'm probably not going to consider JavaFx because of that. You guys are in a tough place because it is going to take time for 6u10 to hit the market, in the meantime, the competition continues to gain market share.

How to Really Make Applets Viable

I'd start considering Java Applets if I heard both of these hypothetical announcements from Sun...


  • (hypothetical) "Here at Sun, we're watching the trends in the computer industry and we're noticing that Apple has started to achieve real market penetration. Apple's growth is phenomenal, and we're announcing today that we're going to be committing real development dollars to supporting the JDK and the JRE on Apple platforms." (hypothetical)

  • (hypothetical) "It is clear to us that video is driving new applications and features on the internet. We're happy to announce that we've signed licensing deals which will allow us to support a wider set of media formats including flv. We're putting a lot of development into the Java Media Framework." (hypothetical)



If we heard something like that at this year's JavaOne, I'd start paying more attention.

The more I think about it, the more I'm convinced that applets being viable for the web isn't about technology AT ALL. It is about business. A business that needs to implement an RIA thinks about the user audience, thinks about platform support. Mac users are not an insignificant population any more and Apple's market share is growing at four times the rate of the competition. There's this other company out there that is writing a Rich UI container for both stand-alone and browser based applications. The framework has good media support and they don't have a hang up about supporting Mac OSX. They are named Adobe. If Sun doesn't support Apple, and Apple drags its feet, you can't expect any reasonable business person to elect to use a technology that it going to turn away a rapidly growing segment of the market. If Sun really wants to focus more on the consumer JRE, then they need to support the two major consumer platforms: Windows and Mac.

Let's set the bar for Consumer JRE

It is unfair to keep on harping on Sun for startup times, the Consumer JRE is faster, and it'll probably attain a high market penetration sometime in the next year? Let's talk about the remaining expectations. Mac support and better media support. Sure, I can use Java to playback videos, but not the ones that count - Flash Video and H.264. Instead of trying to move the industry away from H.264 and FLV, Sun should just pay the patent license. If Sun were leading the market, then I think Sun could start trying to drive the market toward free and open standards, but Sun doesn't, and I although I detest proprietary formats as much as everybody else here, I don't think that the Open Media Commons initiative is going to help us Java programmers write client-side applications in Java anytime soon.

If the Consumer JRE was really ready, I wouldn't be watching Eckstein discuss the improved applet startup time in JDK6u10 via a SWF from blip.tv which is streaming me a Flash Video on a Macbook Pro. I'd be watching Bob discuss the new Consumer JRE by way of an updated version of the JMF delivered in a Java Applet. If you really had confidence in Java, you'd have used the Cortado Applet and streamed it some Ogg Theora. You'd be updating the JMF. Are you updating the JMF?


3 Comments

Porter
2008-04-18 17:34:37
Hear Hear!


I completely agree on the media points. And can see the point of a better OS X Java implementation even if I am not a Mac user.


The end user experience - applet-wise needs to be vastly improved for Java to become (or stay relevant) as a Rich Internet Application (RIA) platform for the average consumer of web applications. Sure the heavyweight stuff is all well and good in corporate environments where they control the horizontal and the vertical... But on the web: being lightweight (relatively) matters, media matters.


Why can't I easily do video conferencing via a Java Applet like I can in Flash? I should be able to have a virtual video editing system in a Java applet and really trump the Flash approach of sites like You Tube.

Cliff Meyers
2008-04-19 02:44:34
Three things driving the RIA market:


1. Penetration / ease of player installation
These go hand in hand. Adobe is king but Microsoft will push Silverlight by paying large media sites to use it. Java's had a negative stigma around it for close to a decade. They really need a lightweight JRE that's geared towards the browser. 60 MB+ install = deal breaker.


2. Video
You already covered this one. Flash and Silverlight have a huge lead here.


3. Ease of development
Flex is a great platform and makes it easy to build serious enterprise apps. Silverlight is less mature but gaining steam steadily and has great tool support as MS always does. Sun releases JavaFX after its two competitors and manages a development model that's worse than MXML and XAML. The scripting language is trash.


I don't think Mac is as critical as you say. Java was out of the RIA game well before Apple's market share started to gain serious steam and I don't think supporting Apple is a silver bullet. It will be important moving forward but there's reasons (see above) why Sun lost the RIA game before Mac started to take off.

Jim Elliott
2008-04-25 14:24:46
Yes, Sun was out of the RIA game before it even took its current form, and there were important reasons other than treating the Mac as a poor step-child. But now that they are so far behind, they aren't going to be able to regain lost ground without first-class and always-current Mac support.