CHI 97 Electronic Publications: Tutorials
CHI 97 Prev CHI 97 Electronic Publications: Tutorials

Java-Based User Interface Development

Ian Smith
Graphics, Visualization, and Usability Center
College of Computing
Georgia Institute of Technology
Atlanta, Georgia 30332-0280 USA
+1-404-894-6266
iansmith@cc.gatech.edu

ABSTRACT

This tutorial provide attendees with an understanding of the possibilities provided by the World Wide Web for application development and a more detailed understanding of the issues involved in developing user interfaces for the Web in Java.

Keywords

Java, applets, World Wide Web, user interfaces, development tools

© 1997 Copyright on this material is held by the authors.



INTRODUCTION

The CHI community needs little introduction to the World Wide Web (WWW). Simply walk around the conference's hallways and talk to other participants and you are likely to hear phrases like, "Would you send me that URL?", "Is that linked off of your homepage?" or "You can read about this experiment on our project's web page." While these conversational anecdotes may give some indication of the level of WWW interest in the among CHI participants, they are nothing compared to the level of formal acknowledgment given to the Web. At CHI 96 there was an entire paper section on the World Wide Web, many of the papers presented listed URLs as part of their affiliations, there was a tutorial regarding HCI and the Web, accepted conference papers were submitted in a format suitable for publication on the Web, and so on. Although the CHI community has certainly moved towards the Web as one of its primary vehicles for information delivery many CHI professionals are facing a new challenge: using the Web as a vehicle for application delivery.

Java is a programming language [2] for developing applications (called "applets") which can be embedded in Web pages and transmitted to users who are browsing the Web. Java was originally developed at Sun Microsystems and the capability to embed active content (applets) in the Web was first shown in the Sun Web browser HotJava. After the release of HotJava, other major Web browsers quickly began to support running Java applets. Today, the current version of two of the most popular Web browsers- Netscape Navigator and Microsoft's Internet Explorer- support the ability to run Java applets. Web browsers are now everywhere; many organizations now have Web browsing capability at every desk. With Java-enabled browsers becoming the standard, organizations are now starting to consider the Web as a possible platform delivering applications both to their customers as well as internally. We feel it is in the best interest of UI designers, UI engineers, and their managers to understand the issues surrounding the development of Web-based applications.

There is a lot of hype today surrounding Java and the Web, but nobody believes in magic bullets. What are the real issues that need to be considered? This tutorial focuses on the real-world problems that need to be considered when developing applications which are targeted for the Web. Below is a list of questions that participants in the tutorial should be able to answer after completing the tutorial:

TUTORIAL INTRODUCTION AND BACKGROUND

The primary goal of the first section of the tutorial is to bring tutorial participants up to speed on the notion of what an applet is- in general terms- and how it works with the Web. Participants should understand how applets run on the client-side of a Web connection and how this contrasts with the more traditional server side approaches that are common use today on the Web. During this section, participants will receive a feeling for the way Java applets are written and configured into Web pages. This part of the tutorial is not intended to teach participants how to program in Java, but rather to introduce the procedures of writing Web pages with applet content both from the Java and the HTML standpoints. The tutorial participants will receive a few simple demos- run by the instructor- to show them some popular applets from the Web. Finally, the last part of this section will be a discussion of the issues surrounding downloaded applets security, especially issues involved in using resources such as disks and printers on the Web browser's machine.

THE ABSTRACT WINDOW TOOLKIT & UI ISSUES IN JAVA DEVELOPMENT

This section of the tutorial has two primary focuses. First, to inform participants what the basic capabilities are applet GUIs via Java's Abstract Window Toolkit or "AWT" (for more detailed information about AWT see [1]). Second to give tutorial members an exposure to some of the difficult issues in designing Web-based user interfaces. As we expose the participants to AWT we explain how AWT is a layer on top of the existing GUI capabilities of the platforms on which Java runs (such as Windows or the Macintosh). We will detail the basic building blocks from which AWT interfaces are made. To make these concepts more concrete, the instructor will build a small interface using an interface builder to give the feeling of both the basic tools that AWT provides as well as the complexities of building applet interfaces. To expose students to some of the potential "gotchas" of applet interface design, we will detail several areas that have been identified as well know problems for applet writers and designers. An example of such a problem area is the area of color; applet authors don't know the capabilities or configuration of the applet user's machine for color display. This problem means that designers must be cautious in their use of color in their designs or users could get unusable (if not invisible!) interfaces.

FUTURE DIRECTIONS

In this section of the tutorial, participants will be exposed to developing trends, emerging products, and new ideas in the area of Java-based user interfaces. An example area of discussion in this section of the tutorial is interface builder applications such as JBuilder, Visual J++, Visual Java, etc. This section is intended to provide participants with a "heads-up" about upcoming technologies which could affect their ability to develop Java applications.

REFERENCES

  1. Abstract Window Toolkit API Available from http://www.javasoft.com/products/JDK/1.1/docs/api/packages.html
  2. Gosling, James. The Java Programming Language. Sunsoft Press, 1996.

CHI 97 Prev CHI 97 Electronic Publications: Tutorials

CHI 97 Electronic Publications: Tutorials