What Java language extensions, if any, are used by this applet?
This applet is written in 100% pure Java (1.1 - no Swing, JFC etc.) to provide the widest compatibility possible.
Does this applet use threads ?
Yes. As the process of drawing the decision boundaries (i.e. coloring the large canvas on the right) is very CPU intensive, it runs on its own thread. In addition, a background thread is used for emulating tooltips - see below.
So how is it possible to use tooltips in Java 1.1 ?
It isn't. Java 1.1 does not support native tooltips - the small popup rectangles that appear when the mouse is placed over an object and state its functionality. Tooltips are emulated in the applet by using a demon thread that runs in the background, measuring the time spent by the mouse in each point. Using a minimum and maximum threshold for that time, and according to the object the mouse is placed over, this demon thread creates a small "tooltip" which is actually a floating canvas, positioned in the appropriate place in the applet.
How does the load/save mechanism work?
It is true that Java applets cannot read or write to the disk through the web browser. They can, however, read and write to the network. So, when you load a classification problem, the data is actually requested from a web address that contains Java objects representing the problem. As a matter of fact, the list of saved problems is also kept as an object on the web and downloaded each time you browse the available files.
So how do you add/delete classification problems to the list of saved items? This can only be done if you are running the applet locally, i.e. access it as a file and not as a web page. If you have interesting patterns youd like to save, please mail the author for further information.
How fast is the applet ?
At least in the case of the LocBoost algorithm calculations, the applet runs (on the average PC) substantially faster than approximately the same code written for Matlab and executed on a strong Sun workstation.