This project tries to ease, improve and foster the use of applets embedded into websites. We mainly target better user-friendliness by giving developers tools at hand that let them generate multi-browser-compatible standards-compliant xHTML-code and inform the user about the loading status of the needed applet-resources. To sum up, AppletObject is a customizable xHTML generator, Java-check and preloader built with Java, JavaScript and PHP.
Make sure to read this article by Bobby van der Sluis on embedding Flash. It nicely outlines the problems with embedding non-standard content and we share almost all goals with them.
The situation
Applets embedded into websites fall short compared to other elements like Flash or QuickTime in many ways. One aspect is the long time the Java-plugin and with it the JavaVM needs to start up. Another is the missing or barely custimizable feedback when then Java-plugin loads elements like classes or jar-archives needed to run the applet.
With the introduction of xHTML-1.0-strict the long time favorite <applet> tag is now deprecated. Today the only way to stay standards compliant when embedding applets is the <object> tag, which quadruples the XHTML-code one needs to write to make it work across most current browsers.
AppletObject
We are using different approaches to tackle the problems outlined above, some are already implemented others are on the way:
- an intensive tested, standards-compliant <object> tag to support as many current browsers as possible (have it)
- a javascript library which generates a version of your preferred applet-tag from just one line of code while keeping it as compliant as possible (ready to use)
- the library also includes a Java detection (enabled-check and plugin-version) (we're still improving this)
- the library also implements a jar-preloader which you can customize to fit your DHTML needs (already in)
- a non-JavaScript PHP-based system to preload in an <iframe> (on the list)
- ... actually the list is pretty long.
History
The original version of the JavaScript library is based on the idea of Aaron Steed, who was himself inspired by the SWFObject project. Being a heavy Processing user, he decided to write an applet-oriented version of the SWFObject – called AppletObject – to ease the dynamic generation of applet-tags on his personal website robotacid.com.
While working on a solid version of the <object> tag for Processing I (Florian Jenett) ran into Aarons script. He offered me to take over from him and i added the preloader and customizable callbacks. After i reported back to the Processing forum i got a post from Stephen Williams saying that he was working on a similar project named EZAppletHTML:
EZAppletHTML is a JavaScript script that enables you to display applets in a web-page with ease. It checks the installed Java Plug-in version and writes HTML code to your page depending on how you wish the existence of an old version to be handled.
He offered to include his Java-detection into our script and join forces. That's where we're at now.