by
Tobias Öbrink
This is an evaluation of one of the first 100% Pure Java certified products, meaning that it should run acceptably on a range of Java- compatible computing platforms. The evaluation was done to see if the combination state-of-the-art Java technology and a Client-Server network model was ready for professional office use, considering usability, user-friendliness, performance, security and so forth.
The Java Office package evaluated was not deemed good enough for use in a production environment yet but considering it took only about a year to develop, the result is still impressive. In the near future these kinds of applications will probably be a common sight in offices and a part of the application flora offered in set-top boxes, network computers, netPCs and other consumer devices
What is a Java-based Office package? By office package I mean a suite of applications for office use in a commercial enterprise. This suite of applications typically include a word processor, a spread sheet, an email handling tool and some support for interfacing to database- and real-time services such as Rueter's Triarch [6]. Such tools have been available for quite a while now and most people have an idea of what these tools should offer in terms of functionality.
By Java-based I mean that the tools are written in the Java computer programming language, at least partly. The Java programming language[1] is an object- oriented language that was designed to be easy to learn and get started. The source code is compiled into a byte-code that is designed to be easily and compactly transfered over most networks. This byte code can either be interpreted by a virtual machine [2] that translates the virtual machine instructions into platform dependent signals, or it can be compiled at the destination machine before being run. None of these ideas are new inventions, so Java is rather a carefully selected mix of successful software engineering concepts.
What all this means in practice is that the suite of Office applications can be run on any platform equiped with a Java Virtual Machine, i.e. any platform with a Java-enabled web browser installed.
In this report is presented an evaluation of a Java-based Office package done in order to see if the combination of state-of-the-art Java technology and a Client-Server network model was ready for these kinds of services, considering usability, user-friendliness, performance, security and so forth.
The evaluation performed was mainly based on the following reasoning:
The evaluation consisted of collecting, analysing and presenting timing data and debugging information from running a Java-based Office package called Applix Anyware(see section 2), and drawing conclusions.
In section 2, the Java-based Office
package evaluated is presented. Section 3
describes the test-site set up.
In section 4 the collected
timing information is presented together with some discussion.
Section 5 presents a report on unwanted
features and bugs in the evaluated application suite.
In section 6 discuss the minimal security
configuration supported by the evaluated Java-based Office package.
The concluding discussion is found in
section 7.
The Applix Anyware Java OfficeTM [3] tool suite is a product of Applix Inc. and is built from a Unix-based Office suite called Applixware. The functionality is approximately the same as in Microsoft Office or Corel Office. Anyware Office was one of the first products certified by Sun Microsystems as a 100% Pure JavaTM [4] product. Sun Microsystems' 100% Pure Java Program assures users that an application certified as 100% Pure Java will run acceptably on a range of Java-compatible computing platforms.
Applix Anyware uses a Web entry page, but the Anyware application server can be located on a different machine than the Web server. This is the recommended configuration, but for the evaluation I had an otherwise not used Web server at my disposal so I deemed this may not be needed. When I later upgraded the Web server to a Netra J with attached JavaStation, it ran out of process memory quite fast when using Words, though.
The AxMain program, that is started when a client connects, uses some 40 MBytes memory at startup and increases quite fast when using Words. So it's a good idea to make sure you have enough, preferably more than 100 MBytes, available swap space on the server machine.
Applix Anyware also needs an X server to be running on the server machine. If not, the client exits with the message "missing display". It also needs the X access control to be turned off. If not, the client exits with the message "The server has exited", which may not be the most informative error message. The reason for all this is explained in section 2.1.2 below.
The client machine should have a Web browser supporting Java 1.02 or later.
The Anyware solution is based on the concept that the user interface should be where the user is, and the computing should happen where the computing power and data are. Thus, relying on Java to do the lighter user interface tasks, but not the more intensive calculations and processing for which its interpreted nature is much less suited. Figure 2 gives an overview of the Start-up procedure, Figure 2 shows how subsequent user interaction is handled and Figure 3 shows a screenshot of the Java Office applet window.
When a user logs into a Web Server that is running an Anyware frontend , that user is authenticated by a username/password combination by the Web server.
Once a correct username and password has been entered the Anyware Display Java Client, an approximately 570 KB Java applet is downloaded to the client machine. This applet is the "white board" on which any application's interface created using the Anyware tool set can be "drawn". The Anyware display client contains Java widgets and controls such as buttons, menus and list boxes. Relying on the Java client widgets to create the user interface enables the interface to mimic the look of the native applications of the operating system on which it is being run. So, if the client is on a Windows 95 desktop the application will have the look of the standard Windows widget set, but if the client is running on a UNIX desktop, the application will have the look of the Motif widget set. Figure 2 shows how the Anyware Java Display Client works.
The Web Server passes the communication channel to the Application Server which starts up the default application, the Anyware Office Java applet. The Anyware Office Java applet window looks like Figure 2.
In this window you can click on the icons to start the different applications or you can use the menus. Then the appropriate engine is started on the application server, while the description of what the application interface looks like is downloaded to the Java Display Client. The Java Display Client then builds the interface and displays it to the client. So the only information that is being sent from the application server over the network is the description of what the application should look like. And, the only information being sent from the client to the application server is user interaction information.
Custom applications can be created using the Builder module of the Innovator's Workbench. Builder allows developers to use the Applix ELF language or C++ modules to create applications. Builder includes 4100 pre-defined macros for rapid application development. Builder also supplies a graphical interface design tool, debugger, data access tool and a Class Browser.
The tests were run during normal network conditions on the department network. The following Client-Server configurations were tested.
A SUN Netra J with the Solaris 2.5.1 operating system [5]. The Web server used was a Netscape Enterprise server. Both the Web server and the Anyware application server ran on the same machine, although it is recommended to locate the Anyware application server on a separate machine on the same subnet as the Web server.
The following client platforms and network connections were evaluated (see Table 1).
Client platform number | Web browser | Machine | Operating system | Network connection |
1 | Netscape 3.01 Gold | SUN SPARC Station 10 | Solaris 2.5.1 | ISDN Duo 128kbps |
2 | Netscape 3.01 Gold | SGI Indy | IRIX 5.3 | Switched ethernet 5-8 Mbps |
3 | Netscape 3.01 Gold | SUN SPARC Station 10 | Solaris 2.4 | Switched ethernet 5-8 Mbps |
4 | Netscape 3.01 Gold | HP Vectra 562 | Windows 95 | Switched ethernet 5-8 Mbps |
5 | HotJava 1.0 LAR | SUN JavaStation 1 | JavaOS 1.0 LAR | Switched ethernet 5-8 Mbps |
6 | Netscape 4.0 b5 | SGI Indy | IRIX 5.3 | Switched ethernet 5-8 Mbps |
7 | Netscape 3.01 Gold | SUN Netra J | Solaris 2.5.1 | Loopback |
Platform 1. Netscape 3.01 Gold, running on a SUN SPARC Station 10 with the Solaris 2.5.1 operating system. The client machine was connected to the server machine via an Ethernet to an Ascend P75, over ISDN Duo 128kbps to an Ascend Pipeline and over Switched Ethernet the last part. 512kbps maximum throughput with data compression. 128kbps without.
Platform 2. Netscape 3.01 Gold, running on a SGI Indy with the IRIX 5.3 operating system. The client machine was connected to the server machine via switched ethernet which gives ca 5-8 Mbps.
Platform 3. Netscape 3.01 Gold, running on a SUN SPARC Station 10 with the Solaris 2.4 operating system. The client machine was connected to the server machine via switched ethernet which gives ca 5-8 Mbps.
Platform 4. Netscape 3.01 Gold, running on a HP Vectra 562 with the Windows 95 operating system. It uses a Just-In-Time compiler to speed up execution of Java applets. The client machine was connected to the server machine via a Switched Ethernet which gives ca 5-8 Mbps.
Platform 5. HotJava 1.0 LAR beta on a SUN JavaStation 1 with JavaOS 1.0 LAR alpha operating system [5]. The client machine was connected to the server machine via a Switched Ethernet which gives ca 5-8 Mbps.
Platform 6. Netscape 4.0 b5, running on a SGI Indy with the IRIX 5.3 operating system. The client machine was connected to the server machine via switched ethernet which gives ca 5-8 Mbps.
Platform 7. Netscape 3.01 Gold running on a SUN Netra J with the Solaris 2.5.1 operating system. The Client was on the same machine as the Anyware application server using only loopback communication. No network involved.
The collected timing information consists of both measured times and estimated times. Times were measured for actions that was expected to take longer times such as loading, starting upp applications and displaying windows. For actions that was expected to take too short time to be reliably measured, such as feedback times for interaction, the times were estimated. The fault variances for measured times is about 1 second while the fault variances for estimated times is about 0.5 second.
The factors contributing to overall delay is network performance, server load, clients CPU performance, clients operating system performance, other processing load on the client platform and Java runtime implementation (virtual machine or Just-in-time compiler).
When looking at the timing data collected below (Table 2) it seems that network latencies is not the major factor slowing down the application when loading and starting up the different applets. Except from loading the initial Anyware applet (whose size was more than 570KBytes) the timing information gathered seems not to differ in proportion to difference in roundtrip time. Platform 1 was connected via ISDN and switched ethernet while platforms 2 - 6 was connected via switched ethernet and finally platform 7 was run on the server machine. When looking at the graph in Figure 4, that is generated from the data in Table 2, one can easily see the performance on the different client platforms.
Applet Timing | 1 | 2 | 3 | 4 | 5 | 6 | 7 |
Load Anyware Applet | 55 sec | 13 sec | 33 sec | 17 sec | 27 sec | 17 sec | 3 sec |
Java Office | 23 sec | 19 sec | 20 sec | 14 sec | 5 sec | 21 sec | 14 sec |
Words | 22 sec | 23 sec | 28 sec | 18 sec | 16 sec | 25 sec | 8 sec |
Spreadsheets | 16 sec | 21 sec | 20 sec | 13 sec | 16 sec | 19 sec | 5 sec |
10 sec | 15 sec | 14 sec | 5 sec | 4 sec | 9 sec | 4 sec | |
HTML Author | 12 sec | 20 sec | 16 sec | 10 sec | 5 sec | 15 sec | 6 sec |
Directory Displayer | 5 sec | 8 sec | 5 sec | 3 sec | 2 sec | 5 sec | 2 sec |
Data | 8 sec | 15 sec | 16 sec | 5 sec | 3 sec | 8 sec | 5 sec |
Macro Editor | 8 sec | 8 sec | 14 sec | 7 sec | 4 sec | 10 sec | 4 sec |
Graph. intense popup | 19 sec | 13 sec | 15 sec | 16 sec | 4 sec | 13 sec | 5 sec |
"Normal" popup | 4 sec | 7 sec | 6 sec | 2 sec | 2 sec | 5 sec | 2 sec |
The "Load Anyware Applet" field is the time from that the page is loaded until the "100% loaded" message (see section 2.1.2). The "Java Office" field is the time from that the loading is finished until the Java Office window is fully displayed. The rest of the fields is the time from mouse click until the window is fully displayed and further interaction is possible. The times given are averages from three different test runs on each of the platforms. Test data can be found in Appendix A.
The max bandwidth difference between ISDN and switched ethernet when it comes to loading the different applets seems to be insignificant. Platform 1 and platform 3 is the same type of machines only differing in operating system versions and network connectivity.
From the tests on platform 7, where no network was involved, we can see that the network does include some delay. The figures are somewhat dependant on the faster processor in platform 7 as well so the difference is not completely due to absence of network delay. Therefore the network delay was measured separately (Table 3).
1 | 2 | 3 | 4 | 5 | 6 | 7 |
32 ms | 2 ms | 1 ms | 2 ms | < 1 ms | 2 ms | none |
The network roundtrip times were measured by using the program "ping" from the server machine.
Platform 2 and 6 are the same machine, but using different browser versions. Apparently no significant improvement in performance of the Java virtual machine was implemented.
From the tests on platform 4 we see that a Just-In-Time compiler gives a noticeable speedup, although in this case as in platform 7 the faster processor may affect the results.
On platform 5 a JavaStation was used, optimized for running Java applets with minimal overhead. In this case we can see a turning point where the network conditions and server load may affect the user experience significantly. The JavaStation resided on the same subnet as the server machine resulting in very low roundtrip times.
It was expected that the feedback from interaction(response time) should be somewhat proportionate to the bandwidth available, but on those connection types that was investigated this proportion turned out not to be the most significant factor. A setback for the testing was the fact that the Ascend ISDN router used compression on the transmitted data which gives a somewhat stochastic behaviour of the application. The router also disconnected after a timeout if no data was sent, potentially resulting in unexpected conditions for the application.
The response times on Platform 5, the JavaStation, was considerably lower than on the other platforms even if it had the same connectivity as most of the other platforms. However, even with those reduced response times the interaction was slow. Typical response times for inserting a character ranged from tenths of seconds up to 3 seconds. It depends on what kind of charater you insert - if you insert a newline just before a page end in the beginning of a 6-page paper it will take a lot longer time.
Deleting characters was a little bit slower. Pulling down menus was much slower. Repositioning the cursor with mouse clicks was very fast most of the time as was pushing buttons. Moving sliders was very slow sometimes and resizing windows was painfully slow, for reasons described in section 5.
Or bugs, or (un)wanted functionality or what you want to call it. First is presented some general behaviour on all platforms and after that follows some platform-specific behaviour. The evaluated application suite seems to be fairly platform independant since most of the "bugs" appeared on all the tested configurations. I've tried to keep the descriptions brief and moved details of the bug reports, such as traces and debugging information, to Appendix B.
The server side of the application seems to use a lot of memory, since a "Memory Limit exceeded" warning pops up sooner or later in a window on the server machine. I consider this a bug since no information is forwarded to the user. The client just locks and the user don't know why, or what he/she can do about it. The server administrator in turn will be greeted by a message suggesting he should free some memory by closing windows and behind that message a blank pop-up window launched by the Anyware application server, AxMain.
The following appeared on all configurations tested.
NullPointerException. This exception was often encountered after a series of mouse clicking in different parts of the screen. Also routinely encountered when working in a popup-dialogue-series such as the Spreadsheets Chart drawing wizard and the Words Style-dialogue.
Cut and Paste. Within the Anyware applications it works fine. From any other part of the screen not.
X refresh. Does not issue a refresh request to the Anyware application server.
Delays. Sometimes the applications hang for minutes, maybe waiting for a response from the application server or maybe something else. No reason was given.
Resizing window. Resizing a window results in a long waiting while the application re-drawing itself for every resize-event it receives.
Window-sizes. The default window sizes of the applications were too small. Since resizing a window results in a long waiting while the application re-drawing itself for every resize-event it receives, it is important to have fair default window sizes.
Menus. Some pulldown menus stay after one click, some others require a drag.
Exit. Sometimes it takes minutes for applications to exit for no obvious reason.
Bugs and missing functionality specific for the Words applet.
Drag-and-select. The slider doesn't follow the mouse pointer when doing a drag-and-select outside the windowframe.
Editing "forwards". The last character typed is not echoed until you do some more input.
Editing "backwards".
When inserting text in front of a string, making the
string to pass a page boundary, the string disappears and you
have to edit or step through the string to make it visible
again.
Before the string gets visible again you cannot delete a
preceeding newline. You have to press at least two or three
times to delete it.
If you ignore that the following string disappeared and
just continue to type and then insert another newline before
the string, it becomes visible again, but some other part may
become invisible instead.
Select->Delete. Deletion of too much text within a short time makes the Words window die and an error popup window appears saying "memory error, incorrect free'er, pid=9 p->pid=513 Aborted". If you start up Words again and repeat the same behaviour, then not only will Words die but also the AxMain program on the server machine, resulting in that the AnywareOffice applet exits with a "Anyware server has exited"-errormessage. There is a way to avoid this - by only select->deleting a little at a time and wait for a while between each, and above all press Save between each selection->deletion.
File->Page Setup. Defaults to US Letter and PCL5 printer even if I previously defined the document to have other proportions and Postscript as the preferred printer type.
Stepping through text with arrow keys. Holding down an arrowkey for a while will result in minutes of waiting while the cursor steps one character per second. Hacking ferociously on the same arrowkey will result in the cursor speeding quite fast.
The platform 1 consisted of Netscape 3.01 Gold, running on a SUN SPARC Station 10 with the Solaris 2.5.1 operating system. The machine was connected to the Anyware application server via an Ethernet to an Ascend P75, over ISDN Duo 128kbps to an Ascend Pipeline and over Switched Ethernet the last part. The maximum throughput with data compression is 512kbps. 128kbps without data compression.
Stepping with arrowkeys. Works for a while, but then stops working for some reason.
Crashes. Insert page number -> delete page number -> resize window crashes Words.
Menus. The second-level arrowmenus doesn't popup when dragging the menu item. Only when clicking the menu open, and then entering the menu item.
The platform 2 consisted of Netscape 3.01 Gold, running on a SGI Indy with the IRIX 5.3 operating system. The machine was connected to the Anyware application server via switched ethernet which gives ca 5-8 Mbps.
Style. Rightmost column. The list following "Create Style by:.." overlapped the buttons "Create Style" and "<something I cannot read> Style"
Stepping through text with arrow keys.
When you step downwards and out of the window the first
time, the slider doesn't follow the cursor. If you find the
cursor again, using the slider, and then step upwards then the
slider will follow the cursor.
When you edit the text resulting in creating of a new
page outside the window, the slider doesn't follow the
cursor.
If, when the slider and cursor is "out of
synch", you step past the end of the document, the applet fails
and you can no longer edit the text.
It was easily repaired by exiting Words and restarting
it from the Anyware Office applet.
The platform 3 consisted of Netscape 3.01 Gold running on a SUN SPARC Station 10 with the Solaris 2.4 operating system. The machine was connected to the Anyware application server via switched ethernet which gives ca 5-8 Mbps.
There was a few crashes that I suspect may have been caused by either the Netscape browser or -server rather than the Anyware application server.
On loading HTML page(AAlogin.ax). Fails to load the Anyware Java Office applet.
On starting Words. Fails to start Text window.
Stepping with arrowkeys. Works for a while, but then stops working for some reason.
After resizing the window. When insertion of text makes the cursor pass beyond the "original" window bounds, the slider moves one "current" pagelength down and all insertion is inhibited. After moving the slider upwards again, insertion of text is again allowed. When insertion point have passed the "original" window boundary, the slider doesn't follow the cursor so that it is possible to edit the text below the windows edge.
Select->backspace. When trying to delete a few lines by selecting them and pressing backspace, no more editing can be performed.
The platform 4 consisted of Netscape 3.01 Gold, running on a HP Vectra 562 with the Windows 95 operating system. The machine was connected to the Anyware application server via a Switched Ethernet which gives ca 5-8 Mbps.
Select-backspace. As noted under General for all platforms above, Select->backspace->select->backspace makes the Words window die and an error popup window appears saying "memory error, incorrect free'er, pid=9 p->pid=513 Aborted". On platform 4, if you restart Words and repeat the same behaviour a second time the application freezes.
The platform 5 consisted of HotJava 1.0 LAR on a SUN JavaStation 1 with JavaOS 1.0 LAR operating system. The machine was connected on the same subnet as the Anyware application server via a Switched Ethernet which gives ca 5-8 Mbps.
Restarting the AnywareOffice applet after a crash by doing View->Clear Cache followed by View->Reload Page results in an error message window without content poping up. The AnywareOffice applet is re-loaded and restarted, however.
There's no Java Console in the HotJava browser so no error stacks is available from the tests on the JavaStation.
The platform 6 consisted of Netscape 4.0 b5, running on a SGI Indy with the IRIX 5.3 operating system. The machine was connected to the Anyware application server via switched ethernet which gives ca 5-8 Mbps.
Netscape 4.0 b has the same java virtual machine as 3.01 Gold. It seems a little bit slower than 3.01 Gold, but maybe that's just beta-mania.
After Anyware Office have exited or crashed, the Netscape window consider itself exited as well and doesn't respond to any interaction. You just have to kill the process from a shell. This may have been a bug in Communicator and not in Anyware, but noone else running applets on this beta version had experienced this.
The platform 7 consisted of Netscape 3.01 Gold running on a SUN Netra J with the Solaris 2.5.1 operating system. No network was involved.
Because of lack of time no extensive testing could be done on this platform.
Investigating security was not the prime objective of this evaluation since the programs were just released and security considerations seems to enter first when a product is stable enough to start marketing.
When logging in, Anyware used the Netscape Enterprise Web server's authentication for access to the file area containing the Anyware frontend. This means the Anyware application server has no authentication of it's own.
Included in the Java Office application suite is a Directory Displayer with which one can navigate in the underlying file system and setting access permissions and editing files and directories. In this case it relies on the underlying file system for handling the access rights.
Overall impression is unsurprisingly - slow and buggy. However, as soon as you've got past that the Java Office package evaluated worked surprisingly well. It also worked reasonably platform independant. All you need is a Java-enabled browser, some patience and to remember to save frequently, because it can be a little shaky so far. The first versions of this report was written using the word processor and spreadsheet in the evaluated Java Office package but it craved a lot of patience and stubborness.
From the tests made it seems network latencies is not the major factor slowing down the application but rather the Java Virtual Machine. This in spite of the fact that almost all the work is done on the server by compiled native code.
In the evaluated Java Office package, network delays and server load combined did have some negative influence on interaction-intensive work, such as text editing. For example, the Java-based word processor interface had to communicate with the server for each and every inserted character or step with an arrow key. This architecture doesn't scale well in systems with many users spread over large distances or having bad connectivity.
The Java Office package evaluated was far from good enough for use in a production environment but considering it took only about a year to develop, the result is still impressive. In the near future these kinds of applications will probably be a common sight in offices and a part of the application flora offered in set-top boxes, network c omputers, netPCs and you name it.
From a system administration point of view the server-centric nature of the evaluated Java Office package allows to centrally manage the applications and information access, reducing the operating costs by eliminating the need to distribute, install and maintain applications software and/or data across a large number of desktops.
Existing distributed file systems support the central file system management part, but you still have to install and manage applications software for all different platforms in the system. The possibility to use a single runnable program for all the different platforms in a complex system like the one here at the dept. of Teleinformatics or KTH overall is intriguing.
[1] James Gosling, Bill Joy, and Guy Steele, "The Java Language Specification", Addison-Wesley 1997, ISBN 0-201-63451-1
[2] Tim Lindholm and Frank Yellin, "The Java Virtual Machine Specification", Addison-Wesley 1997, ISBN 0-201-63452-X
[3] More information on Applix Anyware can be found on the URL http://www.applix.com/anyware/ or by contacting their sales representative in Sweden, Agenda AB, Box 19 533, S-104 32 Stockholm, Sweden, Phone: Int. +46 8 15 50 25, Fax: Int. +46 8 15 50 75, URL http://www.agenda.se
[4] 100% Pure Java Cookbook for Developers, --a technical document which defines what is and isn't 100% Pure Java and provides developers with rules and hints for maximizing the portability of Java programs. Can be downloaded from the URL http://www.javasoft.com/100percent/cookbook.intro.html
[5] At the dept. of Teleinformatics, KTH we have a small but slowly growing Sun Technical Research an Excellence Center (SunTREC) that among other things include a Java Computing testbed. More information on the SunTREC can be found at URL http://suntrec.it.kth.se/ and more information on Sun's Java computing strategy, including Netra j servers and JavaStations can be found on the URL http://www.sun.com/javastation/
[6] Triarch, from Reuters, is the world's most widely used digital financial information management system. More information can be found on the URL http://www.ims.reuters.com/triarch/triarch.htm.
Timing data from tests on different platforms.
Table 4: Sun SPARC 10 with Solaris 2.5.1 and Netscape 3.01 Gold over ISDN
Applet Timing | Test 1 | Test 2 | Test 3 | Mean | Rounded |
Load Anyware Applet | 60 | 50 | 56 | 55.333333333 | 55 seconds |
Start Anyware Java Office | 30 | 18 | 20 | 22.666666667 | 23 seconds |
Start Words | 35 | 21 | 9 | 21.666666667 | 22 seconds |
Start Spreadsheets | 20 | 13 | 15 | 16 | 16 seconds |
Start Mail | 10 | 9 | 11 | 10 | 10 seconds |
Start HTML Author | 15 | 11 | 9 | 11.666666667 | 12 seconds |
Start Directory Displayer | 5 | 5 | 4 | 4.666666667 | 5 seconds |
Start Data | 10 | 5 | 8 | 7.666666667 | 8 seconds |
Start Macro Editor | 10 | 7 | 7 | 8 | 8 seconds |
Open graphically intense popup | 30 | 14 | 13 | 19 | 19 seconds |
Open "normal" popup | 2 | 4 | 5 | 3.666666667 | 4 seconds |
Table 5: SGI Indy with IRIX 5.3 and Netscape 3.01 Gold over Ethernet
Applet Timing | Test 1 | Test 2 | Test 3 | Mean | Rounded |
Load Anyware Applet | 10 | 15 | 13 | 12.666666667 | 13 seconds |
Start Anyware Java Office | 20 | 20 | 17 | 19 | 19 seconds |
Start Words | 25 | 23 | 22 | 23.333333333 | 23 seconds |
Start Spreadsheets | 24 | 20 | 20 | 21.333333333 | 21 seconds |
Start Mail | 15 | 15 | 14 | 14.666666667 | 15 seconds |
Start HTML Author | 22 | 17 | 20 | 19.666666667 | 20 seconds |
Start Directory Displayer | 10 | 7 | 7 | 8 | 8 seconds |
Start Data | 12 | 18 | 15 | 15 | 15 seconds |
Start Macro Editor | 10 | 8 | 7 | 8.333333333 | 8 seconds |
Open graphically intense popup | 15 | 12 | 12 | 13 | 13 seconds |
Open "normal" popup | 4 | 9 | 8 | 7 | 7 seconds |
Table 6: Sun SPARC 10 with Solaris 2.4 and Netscape 3.01 Gold over Ethernet
Applet Timing | Test 1 | Test 2 | Test 3 | Mean | Rounded |
Load Anyware Applet | 40 | 28 | 30 | 32.666666667 | 33 seconds |
Start Anyware Java Office | 25 | 22 | 12 | 19.666666667 | 20 seconds |
Start Words | 25 | 30 | 30 | 28.333333333 | 28 seconds |
Start Spreadsheets | 20 | 19 | 20 | 19.666666667 | 20 seconds |
Start Mail | 10 | 15 | 17 | 14 | 14 seconds |
Start HTML Author | 15 | 14 | 20 | 16.333333333 | 16 seconds |
Start Directory Displayer | 5 | 5 | 5 | 5 | 5 seconds |
Start Data | 15 | 15 | 17 | 15.666666667 | 16 seconds |
Start Macro Editor | 15 | 12 | 15 | 14 | 14 seconds |
Open graphically intense popup | 15 | 14 | 15 | 14.666666667 | 15 seconds |
Open "normal" popup | 5 | 6 | 6 | 5.666666667 | 6 seconds |
Table 7: HP Vectra with Windows 95 and Netscape 3.0 over Ethernet
Applet Timing | Test 1 | Test 2 | Test 3 | Mean | Rounded |
Load Anyware Applet | 20 | 15 | 15 | 16.666666667 | 17 seconds |
Start Anyware Java Office | 10 | 15 | 15 | 13.333333333 | 14 seconds |
Start Words | 15 | 25 | 15 | 18.333333333 | 18 seconds |
Start Spreadsheets | 8 | 20 | 10 | 12.666666667 | 13 seconds |
Start Mail | 7 | 5 | 4 | 5.333333333 | 5 seconds |
Start HTML Author | 9 | 12 | 10 | 10.333333333 | 10 seconds |
Start Directory Displayer | 2 | 4 | 3 | 3 | 3 seconds |
Start Data | 5 | 5 | 6 | 5.333333333 | 5 seconds |
Start Macro Editor | 10 | 5 | 6 | 7 | 7 seconds |
Open graphically intense popup | 15 | 19 | 14 | 16 | 16 seconds |
Open "normal" popup | 2 | 2 | 2 | 2 | 2 seconds |
Table 8: Sun JavaStation1 with JavaOS 1.0 LAR and HotJava 1.0 LAR over Ethernet
Applet Timing | Test 1 | Test 2 | Test 3 | Mean | Rounded |
Load Anyware Applet | 22 | 27 | 31 | 26.666666667 | 27 seconds |
Start Anyware Java Office | 3 | 8 | 3 | 4.666666667 | 5 seconds |
Start Words | 15 | 16 | 17 | 16 | 16 seconds |
Start Spreadsheets | 18 | 15 | 15 | 16 | 16 seconds |
Start Mail | 4 | 4 | 4 | 4 | 4 seconds |
Start HTML Author | 6 | 5 | 5 | 5.333333333 | 5 seconds |
Start Directory Displayer | 3 | 2 | 1 | 2 | 2 seconds |
Start Data | 3 | 4 | 3 | 3.333333333 | 3 seconds |
Start Macro Editor | 4 | 4 | 4 | 4 | 4 seconds |
Open graphically intense popup | 4 | 5 | 4 | 4.333333333 | 4 seconds |
Open "normal" popup | 2 | 3 | 2 | 2.333333333 | 2 seconds |
Table 9: SGI Indy with IRIX 5.3 and Netscape 4.0b5 over Ethernet
Applet Timing | Test 1 | Test 2 | Test 3 | Mean | Rounded |
Load Anyware Applet | 20 | 20 | 11 | 17 | 17 seconds |
Start Anyware Java Office | 20 | 18 | 25 | 21 | 21 seconds |
Start Words | 25 | 25 | 24 | 24.666666667 | 25 seconds |
Start Spreadsheets | 20 | 17 | 19 | 18.666666667 | 19 seconds |
Start Mail | 10 | 8 | 10 | 9.333333333 | 9 seconds |
Start HTML Author | 13 | 16 | 17 | 15.333333333 | 15 seconds |
Start Directory Displayer | 5 | 5 | 5 | 5 | 5 seconds |
Start Data | 8 | 10 | 7 | 8.333333333 | 8 seconds |
Start Macro Editor | 10 | 10 | 11 | 10.333333333 | 10 seconds |
Open graphically intense popup | 13 | 14 | 13 | 13.333333333 | 13 seconds |
Open "normal" popup | 7 | 3 | 5 | 5 | 5 seconds |
Table 10: Sun Netra J with Solaris 2.5.1 and Netscape 3.01 Gold over Ethernet
Applet Timing | Test 1 | Test 2 | Test 3 | Mean | Rounded |
Load Anyware Applet | 2 | 2 | 4 | 2.666666667 | 3 seconds |
Start Anyware Java Office | 18 | 10 | 13 | 13.666666667 | 14 seconds |
Start Words | 8 | 8 | 9 | 8.333333333 | 8 seconds |
Start Spreadsheets | 6 | 4 | 5 | 5 | 5 seconds |
Start Mail | 4 | 4 | 4 | 4 | 4 seconds |
Start HTML Author | 6 | 5 | 6 | 5.666666667 | 6 seconds |
Start Directory Displayer | 2 | 1 | 2 | 1.666666667 | 2 seconds |
Start Data | 5 | 5 | 5 | 5 | 5 seconds |
Start Macro Editor | 4 | 4 | 3 | 3.666666667 | 4 seconds |
Open graphically intense popup | 5 | 5 | 4 | 4.666666667 | 5 seconds |
Open "normal" popup | 2 | 2 | 2 | 2 | 2 seconds |
This appendix contains some traces and debugging information obtained from the Netscape Navigator's Java Console upon encountering a bug.
Maintained by Tobias Öbrink