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:
- What is a Java applet and how does it relate to Web
servers and Web browsers?
- How can I combine my existing HTML-based Web pages with
Java to provide more interactive capabilities for users?
- What types of User Interfaces can I create using Java?
What types of UI designs are going to be hard to implement
using existing Java-based tools?
- Over the next year or so, what are the likely areas where
major, new pieces of technology could emerge that might affect
my ability to develop new Web-based applications?
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
- Abstract Window Toolkit API Available from
http://www.javasoft.com/products/JDK/1.1/docs/api/packages.html
- Gosling, James. The Java Programming Language. Sunsoft
Press, 1996.
CHI 97 Electronic Publications: Tutorials