This was a Web-based tool to permit untrained temps to search Industry.Net's database of 300k companies.
I used Oraperl and FastCGI to perform the search, and wrote a custom Java applet to talk to the FastCGI program using HTTP.
The response time was so fast (100ms) that the Java applet queried the database and updated the display of results on each key-stroke by the user, in a manner similar to the Index and Find panels in the Windows95 Help system. This proved too fast, so the applet was changed to wait until the user stops typing for 200ms before updating the display.
This system taught me a lot about how to structure a networked application for optimal performance. In addition, the Java code in the applet was very sophisticated, with multiple threads checking user-input, queueing requests, and displaying results as they arrived. Java synchronization was used to ensure that simultaneous, parallel streams of results are displayed correctly without corrupting the display.
Rujith de Silva 1997-05-13