« So much work | Main | Kvitre redux »

Lipstick on a pig

I don't understand why this is still an issue. The applet loader is hated not because of its garish colors or weird design but because the old applet loader was slower than Adobe Photoshop. You can even test this yourself. Start Adobe Photoshop, a gigantic piece of software, and then compare that with some random applet that looks like an elephant in Antarctica. Who wins ? Well, it varies, but sometimes Photoshop loads faster.

The problem is that the applet class loader goes apeshit and starts looking for missing files on THE WEB SERVER while loading the applet. This massively slows down the whole process. It's often network latency that is killing applet class loader performance rather than CPU. I got a couple of applets on my website and these cause hundreds and thousands of 404 and 403 errors. The reason is that a lot of Java libraries out there just magically assume that they will run under a standard class loader with AllPermission in a normal file system. You even have Sun XML (or Apache?) libraries trying to access files in /WEB-INF/ on the web server. Since I run a Java Application Server this results in 403 errors. I though I was under attack the first time I saw that.

The fact that you can replace the animated applet loader with an animated GIF is not a solution. You need to be able to create a progress bar and to notify the user of any problems that occur. The reason applets are dead is because the applet API is designed for tiny panels of logic that don't do anything useful. What is the first thing a Flex developer will create ? His own progress loader. Adobe understands this most basic of user interaction principles, while Sun base their work on the teachings of Jakob Nielsen. A guy who is a controversial figure within modern interface design because he points out the incompetence in everyone else while at the same time maintaining a website with the “usability” of 1997. Users want more than Sun is offering. Users want to know if the applet is still loading. Is the applet done loading ? Has the applet crashed ? People reload the whole page after just five seconds. Anything slower than five seconds is considered broken in todays high bandwidth world.

The new applet loader is a lot better than the old one. But these very basic principles of user interface design seem to be ignored. I've read somewhere that you can start two applets in tandem and then use the first one as a loader, but I've never tested this out myself. Also, the gigantic volatility of Liveconnect more or less caused millions of people to think that AJAX was first when it came to asynchronous web browser communication. There are code examples from 1997 (I think) that showcase doing GET's from within an Applet. AJAX as we know it today is a direct result of Applets + Liveconnect. But the Netscape code was so volatile that almost nobody used it. And trying to code shit like that in a multi browser fashion was a pipe dream.

If Sun wants people to create applets, then Sun has to start creating applets themselves. Adobe created Photoshop Express. Now Sun can do the same with applets. Then people will start to listen.



TrackBack

TrackBack URL for this entry:
http://www.installer.teppefall.com/movabletype/mt-tb.cgi/200

Post a comment

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)

This website is all about alpha and beta software

Download non-beta software here