As already mentioned, the developed virtual graphics laboratory was intended to be a first prototype. In this thesis we stated the initial requirements for the DGL and described how it was implemented.
In a first testing stage, the clients were placed close to the server connected only by a local area network only. So far, up to a maximum of eight client applications on different platforms have been used simultaneously in a single session. This amount of users was easily handled by the server, which was running on a SGI Indy. The server was also running flawless for over a week, with several sessions created and deleted every day.
The DGL client application as well as the server have been tested successfully on following platforms:
|Hardware||Operating System||Java Virtual Machine|
|PC||Windows 95||JDK 1.1.7|
|PC||Windows NT 4.0 (Service Pack 4)||JDK 1.1.7|
|SGI Indy||Irix v 5.3||JDK 1.1.5|
|SGI O2||Irix v 6.5||SGI Java 3.1.1 (Sun JDK 1.1.6)|
|Sun Ultra Enterprise 4000||Solaris 2.6||JDK 1.1.5|
The client applet did not work on the built in Java virtual machines provided by Netscape's Communicator 4.04 and Microsoft's Internet Explorer 4.0. Both browsers were able to display the login panel, but failed to build up an RMI connection to the server. Sun is however providing the free Java plugin, which can be used on those browsers. The laboratory applet was running flawless with the Java plugin on Microsoft's Internet Explorer as well as Netscape's Communicator.
In a second stage, users participated in two groups -- one group was located at San Diego State University and the second group was located at Graz, University of Technologie. Those tests with clients located apart over a long distance have shown that the performance regarding the delays of certain user actions was not satisfactory. When users performed image-processing operations, it sometimes took up to a minute or longer until other users across the Atlantic received the modified images. The long network delays have been reduced by compressing the images before they are transmitted to and from the server. The image compression has been directly implemented as part of the Java serialization mechanism and is therefore transparent too.
Early on, there was also no object locking mechanism implemented. It was common that users operated on objects which were no longer current. This led to inconsistent states of the objects as seen by the users. For example, an image which had just been deleted a moment ago appeared again, or some users saw the same image but with a different content. This behavior had been removed by introducing object locks as described in chapter 18.104.22.168.
During the testing of the virtual laboratory, it became clear that there is still further work to do in order to improve the usability of the system.