Carola Fellenz and Erika Kindlund, JavaSoft, an operating company of Sun Microsystems, Inc.
Carola Fellenz is a human interface designer, designing web-based administration tools for JavaSoft's JavaServer product line, including the Java Web Server. Prior to coming to JavaSoft, Carola designed development and administration tools on Unix/Motif, informational sites for the web and small financial applications for the web.
Erika Kindlund is a usability engineer, responsible for testing a wide range of JavaSoft products including those in the JavaServer product line. Erika wrote an article on her findings of navigational problems found in her studies and the solutions used to address them in the October 1997 issue of IEEE Software.
Navigation on the web is indeed different from navigation on "traditional" platforms. The web uses a different metaphor than the desktop, that of pages, which requires application developers to clearly think out how their applications fit into this metaphor. Our submission focuses on yet another complication to designing web-based applications introduced by using Java Applets.
Applets allow designers to turn a single HTML page into an application. Within this application, there could be several screens or views that support tasks, all displayed with the same URL in the same browser window. The main application screen and the service management screen in Figures 1 and 2 are an example of this.

Figure 1. Main Application Screen

Figure 2. Service Management Screen Inside the Browser
In essence it is another navigational model embedded inside a single web page. The problem comes when users try to use the browser navigation buttons of `Back' and `Forward' to navigate between the screens of the applet. Since they do not have the expected result, this violates the user's mental model of web navigation and is the source of great frustration and confusion.
The question is how can applet navigation be presented to the user so that it doesn't violate their existing model of navigation, while making use of the power of applet technology. The solution that was applied to the JavaServer Administration Tool was to launch secondary windows outside of the browser, essentially going back to the more traditional window navigation used on Macintosh and Windows. Figure 3 shows the service management window that is launched from the main application screen.

Figure 3. Service Management Screen Launched Outside the Browser
Usability tests on the redesigned applet have shown this approach to be very effective. The floating window makes is clear to the user that the browser controls do not apply to that window. Users are thereby forced to look within the floating window for navigation. An additional benefit of this approach is that the context of the operation is preserved since the main window is still in the browser window.
Another problem we encountered was when users used the same browser that they launched the application from to visit other web pages and then wanted to return to the application. Again, the user runs into this embedded navigation problem. This manifests itself in several ways. In the first scenario, the user uses a bookmark to go back to the applet. The result is that the application and initialized and started all over again, losing all previous state information. In the case of the Java Web Server, Figures 4 and 5, the login screen and the main application screen still use the same URL. Revisiting the site forces the user to login again which users find tedious.

Figure 4. Login Screen

Figure 4. Main Application Screen
In the second scenario the user uses the `Back' button to go through the browser's history to get to the application. The results here vary depending on the browser being used. Different versions of browsers handle applet state differently. With our application, in the best case, the user sees the main window of the application (the second screen). In the worst case, the user must login again (the first screen) because the application was re-initialized. Results can also depend on how "far away" the user has been. If the applet URL falls off the browser's history list and cache, the applet state will also be lost.
In the third scenario the user opens another browser window in which to look at other pages and iconifies the browser containing the application. Here any applet child windows are closed so when the browser is expanded again, the state isn't quite as the user left it. This is inconsistent with how desktop applications behave.
The final scenario is for the user to use another browser window for exploring other pages while keeping the initial browser open for the application. The obvious downside of this is that the user's desktop becomes very cluttered.
The solution that we are currently exploring is to have only one page or view that ever resides in the browser. The original first login screen would be replaced by the browser's sign on mechanism. The advantage is that the browser can keep track of the session and even if the applet is reinitialized, the user will not have to login again. This solution still doesn't address the problem of losing state information and of child windows disappearing. This is clearly an area of interest to us.
Another navigational issue we encountered was between the applet and the help system. Applets cannot control browser windows. All they can do is tell a browser to open to a particular page. If the browser running help is minimized, the applet can not maximize it. The next time a user clicks the help button, the new help page is loaded into the minimized browser window, hidden from the users view.
AppletViewers are specialized browsers for running Applets. Applets can control the minimization and maximization of AppletViewers. One might think that this would be and ideal solution. Unfortunately, AppletViewers do not display HTML
At some point in the near future this problem will be solved by the JavaHelp API that JavaSoft is working on. JavaHelp will include an HTML viewer that can be controlled by applets.
Last modified: Sun Feb 15 09:37:09 PST 1998