I could write a book on the missteps that killed applets. The idea of applets was great and very forward-thinking - self-contained pieces of functionality to provide UI that HTML couldn't. Web Components are a similar idea 20 years later.<p>And Java was a good bedrock to build applets on - a safe language that runs everywhere in a VM.<p>But the implementation was terrible - let me count the ways:<p>* Performance was awful. Java applets performed OK (and sometimes excellently if you put the work in) once they got started but the initial start-up cost of standing the VM was just woeful. Your browser would freeze for 10-20 seconds while MBs of JVM were slowly loaded and JIT'ed. People started to avoid sites with applets for this reason. Sun never even tried to fix it, and in fact told people it was for their own good because your CPU might have changed since last time the Applet was loaded.<p>* The GUIs were ugly. People back then complained endlessly about the Applets looking non-standard, which was true. Big a far bigger problem was that they were just hideous. Poor default fonts (and bad font rendering), bad default colors, bad fit-and-finish. Sure you could spend time making everything look nice, but it was a huge effort. Sun did try to fix this but with limited success.<p>* Security. The original idea was good - perfectly sandboxed executables. But Sun fell to the pressure from people who should have known better to provide ways of calling out to native DLLs. This was a terrible idea and was the source of many, many security problems. Browsers were wise to disable applets entirely.<p>* Failure to respond to competition. People wanted video on the web and tried to use Java, but the Java graphics stack was pretty slow for that kind of thing. Flash came along with its bad but usable codec built in and everyone jumped ship. A missed opportunity.<p>If Sun had fixed these problems I might be typing this comment into a Java Applet text control with formatting and spell-checking right now.