Top 5 Reasons Why Java Applets Failed

As the hype around Silverlight subsides, people are beginning to realise that Silverlight is - at its core - a copy of the idea of Java applets. Quite why people didn’t see this right away is a bit of a mystery to me; but they seem to be getting it now…. which makes it timely to ask the question - Why did Java applets fail, and Flash succeed? Herewith, my top five reasons… followed by two things to do, to get back in the fight…

5. Being at the right place at the wrong time
One of the problems for Java applets was that, ten years ago, when Java applets first came out, computers were too slow to run technologies like Java, Flash or Silverlight. Running rich apps inside the browser was always a great idea; it’s just that a decade ago was the wrong time.

I remember trying to run Java applets on my Pentium 1 166GHz home PC in the mid-90s. It ran like treacle. Way too annoying to use. Java applets died before the hardware was ready. Today, on modern hardware, Java flies. The technology has improved out of all recognition, and computers are more than ten times faster than they were a decade ago.

4. Lack of compelling GUI-building tools

Building compelling graphical user interfaces without GUI-building tools is hard. The early Java GUI-builders were awful. This meant that, unless you were a really good developer, the interfaces you built with Java would ten to look a bit amateurish.
Today, with Netbeans Matisse, building great-looking Java user interfaces is a breeze, if you have even the slightest idea what you’re doing.

3. The size of the runtime download

When Java came out, a typical home had a 28.8Kbps modem connection to the Internet. So, installing Java (or anything else) was a pain.

Today, the with home broadband, downloads of a few megabytes (such as the Java runtime) are not an issue.

2 . Microsoft deliberately broke Java by making a version for Windows that was incompatible with Java on other platforms.

Despite all the above issues, the core idea of Java Applets was always a good one. Too good. Microsoft saw Java as a threat, and set about destroying it.

1. The Java Runtime is too slow to start up and locsk the browser

The first time you run an Applet in your web browser, it still takes a while for the Java plug-in to start… during which time your web browser may lock up. This is a problem for Java, because it significantly impacts the end user in a bad way.

All of which brings us to…

Two Things To Do For Java Applets To Make A Come Back

1. The interesting things about the above reasons why Java applets failed is that there’s only one which is still a big problem. If only the “browser lock-up on start-up” problem could be solved, that would be an amazing start. And, if start-up time could be improved a bit more too, that could remove most of the negative perceptions about Java.

2. Java multi-media support has always been lacking. So, after a decade, maybe it’s time to do something different. Rather than worry about playing proprietary formats, now that Java is going Open Source, why not embrace open video codecs? Why not ship “Java browser edition” with built-in killer support for Open Source video codecs; and Java on the server side with cool, free streaming features. Then, let the community build some amazing Open Source rich video players for the browser, and take on Flash and Silverlight at their own game…

Trackbacks & Pings

  1. Sébastien Letélié and Cyril Balit weblog - Java, Javascript, Eclipse, RCP, RIA, SOA, AJAX, WPF, Swing, SWT, JFace, Web Services, REST on 18 May 2007 at 1:09 pm

    [...] the deployment of RDA applications. Sun was in advance in this domain but Applet don’t find success and it’s the asset of Silverlight and Flex because they have GUI design tool (Expression Web, [...]

  2. Sébastien Letélié and Cyril Balit weblog - Java, Javascript, Eclipse, RCP, RIA, SOA, AJAX, WPF, Swing, SWT, JFace, Web Services, REST on 18 May 2007 at 1:10 pm

    [...] desktop (RDA). Sun a donc été précurseur dans ce domaine mais l’Applet n’a pas séduit et c’est la que Silverlight et Flex marquent un point car ils disposent d’outils de [...]

Comments

  1. Daniel Vaughan wrote:

    Hi Simon,

    Interesting and timely post. You’re spot on with your points. The main difference I see with Silverlight, Flash, and Java, is that the first two are much ‘lighter’ compared to Java in the browser.
    On Windows, when I reach a page with an applet, my hard drive starts whirring, the system becomes less responsive, and I see the JVM icon appear in the tray. I usually think to myself “oh no, this will take a while.”

    Daniel

  2. simon wrote:

    Yes… although solutions to these problems with Java are now being actively addressed. In 2008, people should expect Java to behave much better in the browser…

    See:

    http://www.psynixis.com/blog/2007/12/12/some-new-consumer-java-technologies-to-watch/

  3. Dominic Cioccarelli wrote:

    Hi Simon,

    much as I like applets I think that you missed the major reason why the failed: version incompatibility. As soon as Java 1.1 came out we started to see the issues. Microsoft didn’t make it any easier with thir JVM, but Sun nver fully addressed the issue.

    The latest Java plug in is much better and WebStart isn’t too bad but Sun have always fallen short in addressing that final 20 percent of how their technology performs in the real world. Macromedia on the other hand have got it right. How many times do you come across Flash incompatibility issues?

    I’ve seen so many instances of applets configured to use a specific JVM version even though it may work on another version. Developers should (but don’t) compile their code for the earliest version of the JVM possible (see the “-target” flag!). Often Java is packaged with commercial Java applications just to ensure that the correct version is used.

    Worse still, when the Java decides that an update is required / available (even for a point release) it installs a completely new Java environment (so you end up with jre_1_5_0, jre_1_5_1, jre_1_5_2, jre_1_5_3, etc. which are all 100Mb in side, just to cater for apps which might have a dependency on a specific bug in a specific point release).

    For me, version is what lets Java down in terms of running applets. For server side apps this is a non issue which is why Java has prospered there.

    Dominic Cioccarelli.

  4. simon wrote:

    Dominic,

    Clearly, versioning is very important, and it’s good that Sun seems to be addressing this. We might have to agree to disagree that it’s the No. 1 reason why applets failed though….

    By the way, I’m seeing increasing numbers of problems with Flash e.g. causing browser crashes in particular browsers; the Flash software simply not running in the browser or locking up etc.

  5. Bilica Ionut wrote:

    I agree with no. 4 only. Seems to me that java it’s too serious for web developers. Anyway, I’ve really worked a lot with applets and you could look at my masterpiece: http://www.craiovamap.ro/harta-craiovei
    It’s an interactive map for my town, hope you like it.

  6. LogicallyGenius wrote:

    The reason of why Ajax succeeded without anyone pushing it is due to its performance and deployment.

    Same applies to Flash, but the real deal technology creators of Applets cant see this and thus will loose to Silverlight, this is really sad.

    We need a super lightweight replacement of HTML and Flash combined into one small runtime with Web Programming made easy as programming a desktop app.

  7. Mir wrote:

    One word, PulpCore, http://www.interactivepulp.com/pulpcore/,

    Check out the demos, they’re amazing.

Post a Comment

Your email is never published nor shared. Required fields are marked *

*

*