browser platform. To determine whether they were successful, select ten popular Web sites of
your choice, and see whether they have an applet on their index page. Probably not.
What's gone wrong with applets? Many things. The applet model is not all bad and, in some
situations, it is quite useful. The problems arose when developers and Web designers asked too
much from applets, and, conversely, browser implementers didn't answer their queries (or at
least they didn't answer very quickly).
Here are some of the weak links in the implementation of the Java Applet construct:
• The Applet lifecycle model is too simple. It is good for a “Hello World” exercise, but
quite impractical for more complex tasks.
• Applets arrived in the middle of the “browser war”, between Microsoft's Internet
Explorer and Netscape Navigator and they suffered for this. Slightly different implemen-
tations, difficulties in expanding to newer JREs/libraries, and so on prevented applets
from seeing widespread success.
• Loading an elaborate Web page could be boring at times, but loading an applet larger
than one hundred KB could prove to be even more tiring. Even worse, some libraries like
javax.swing must be bundled together with the code to be deployed, which forces the
amount of bytes to be downloaded to be even larger.
• The sandbox security model is often too limiting for developers, and implementing the
signing for different browsers could become a complete nightmare.
• On the user interface side, the ugly warning signal that appeared in any applet window
made applets the very last choice for Web designers. Overall, the current applet imple-
mentation within the two main browsers tends to provide the user with an unpleasant
experience. Those gray boxes left on the Web page for ages, the lengthy pauses browsers
stumble into while launching them, and so on are all hallmarks of the poor applet user
However, the idea of applets is still very valuable and useful. Applets have zero installation and
successive update costs. Their installation is completely automated within the browser. In Part
III, “JNLP” we will see the Java Network Launching Protocol at work, and how Sun, other
companies, and committed individuals worked to solve the shortcomings associated with Java
As mentioned, one problem with applets is the forced limitation of using only the browser's
own JVM. Both Microsoft and Netscape browsers currently support 1.1.x versions of the Java
platform, so this limitation is quite serious. This and other problems are solved through the use
of Sun's Java Plug-in software. The <OBJECT> tag that replaces the <applet> one in Web