Remember Java Applets?

This was originally a proposal for a Devoxx quickie (Devoxx was formerly known as JavaPolis), but it did not get accepted. I don’t know why, but looking over the list of accepted quickies, I think they were looking for more hands-on things. In one or more follow up posts, I’ll be adding some examples and practical tips. So stay tuned.

Remember Java applets?

Remember Java applets? The kind of Java that runs inside your browser. You might remember them from such useful features as blocking the browser while loading the VM, news tickers and wavy water effects.

They were launched in the nineties, they had their 15 minutes of fame and then Flash took over. Now, in almost any comparison of RIA toolkits, they are simply forgotten. Replaced by Flex, Silverlight, GWT and Java’s ugly stepbrother JavaScript. But if you take a closer look, what’s really the reason no one is using them?

The JRE after all, has a large install base, maybe not as large as Flash. But in many cases a JRE comes preloaded with your browser, unlike Flash. And it does use the Java language, not some kind of scripting derivate that looks like it, but not quite is. Java probably has the largest developer community of any language, so what’s keeping those people from trying out their hand at applets?

VIDEO GAME CHAMPION WIN
Creative Commons License photo credit: Torley

There is one niche, where Java applets seem to do well. But many enterprise developers seem too easily to forget about it: games and anything graphically intensive. Think of all the cool Processing applets out there. Java applets can directly access the underlying hardware. It’s not always easy, but the hard work has already been done for you. For instance, take a look at LWJGL and its applet installer. So you have hardware accelerated 3D out of the box. It’s not that Flash 3D frameworks are bad, they are in fact marvelous examples of engineering and getting the most out of the browser. But they are fighting a losing battle compared to hardware acceleration (I must admit, with version 10, Flash is catching up).

So what’s keeping people from trying out applets for more general applications?

Question mark
Creative Commons License photo credit: lrargerich

Could it be version conflicts? Possibly, but a little ingenuity and certainly the new Java Deployment Toolkit will solve, or at least circumvent, the problem.

Could it be the lack of a design tool? Who knows, but I was always told real developers don’t use GUIs. It could help, and JavaFX already goes a long way in simplifying the programmatic definition of interfaces.

Could it be the lack of frameworks? It could be, a decent framework to ease development has never done any technology harm.

But I don’t think it’s any of those, I believe it’s mostly the lack of “coolness”. The “hip factor” is missing. When did you see a high profile website or prolific author evangelize the use of Java applets? I thought so. There’s one great blog, and that’s about it.

What we need are guys like Romain Guy and Chet Haase doing filthy rich Java applets. What we could use is a high profile project using applets.

We need a Google Analytics entirely build on Java. It certainly would be a lot more responsive than the current mix of Flash, JavaScript, server-side rendering and some other miscellaneous ideas. We need a fancy eBay applet with lots of funky animations. Or why not a JavaFX version of Parleys?

So, who’s up for a challenge and wants to help out and develop a killer JavaFX applet?