WORLD WIDE WEB
Few developments in software have grown as rapidly as the World Wide Web [1]. Fueled by user friendly
browsers such as NCSA's Mosaic the WWW has made the once arcane Internet readily accessible to almost
anyone with an Internet connection. Not only has exploration been simplified but also the process of
publishing information on the web requires very little technical literacy. The technical capacities of the
Internet have not changed substantially. The usability, however, has expanded enormously.The WWW as
currently used, is interactively static. We can interact to fetch information but the information received is
only for viewing, not for interacting. The lone exception to this one-way communication is the forms facility
provided in Mosaic and other viewers and supported by the HTTP protocol. Although this does allow a
wide range of net-based services, its interactivity is functionally equivalent to the IBM terminal-mainframe
configurations of the 60s and 70s. The terminal (in this case the HTML browser) would display information
and could be programmed to allow users to modify some portions of the screen. When the enter button was
pressed the modified portions would be returned to the mainframe (HTTP server). The fonts, graphics,
audio and video are very much advanced, the window on the entire net is much wider, but the interactivity
is still rather limited. When a Mosaic user finds a reference to some information on the web, all that is
required is to click on the reference to obtain the information. The goal of NIC is that when a Mosaic user
sees an interactive service on the web, all that is required is to click on the reference.
INTERACTIVE WEB ARCHITECTURE
NIC (Nucleus for Interactive Computing) provides a client / server model which is similar to the WWW
with the purpose of supporting full functioned interactivity rather than hypertext service. The NIC web
architecture uses components from WWW to provide users with access to interactive services. NIC is built
around a uniform object model which is used to represent user data, interactive interface objects and
structures, as well as script program objects for implementing the local semantics of the user interface. All
objects in the NIC model can be converted into an intermediate form which can be stored in FTP and HTTP
sites for transmission over the internet. NIC provides a standard NICUI client which can reconstruct and
interpret the received objects to produce a fully functional user interface on the receiving machine. The
NICUI client is accessed using MIME [2] which allows NIC interfaces to be accessible from Mosaic and
from MIME-enabled mail readers such as ELM. This is similar in concept to earlier efforts based on Lisp
[5]. This basic network service strategy would also be possible using Tcl/Tk [7].
USES OF INTERACTIVE WEB
One of the early uses of this interactive web architecture has been to provide NIC's own interactive services.
The various interface design tools as well as documentation browsers have been implemented in NIC and
are served from our HTTP site. Tools for creating ISMAP files for Mosaic's hit detection on images have
been implemented with NIC which makes authoring tools for the traditional web more accessible. System
services such as software installations can be interactively tailored to local sites via specially constructed
user interfaces. We have also used NIC to create interactive interfaces to other network-based services. One
interface will accept keywords and mail a request to an HCI bibliography service. Another will make
interlibrary loan requests to our university library. These are active, rather than passive, services which were
quickly built as the need arose.A most important use for interaction on the web is in distance education. The
NIC model allows web-based hyperbooks to contain references to interactive exercises and demonstrations.
Students can interactively manipulate concepts such as RGB values to produce colors, or vector quantities
to understand vector addition. Story problems can be posed by the system or the user which the student can
work and have their answers corrected. The addition of NIC to the existing web tools will allow students to
become active participants in web based education rather than passive consumers.
CREATION OF NEW INTERACTIVE WEB MATERIALS
A primary key to the success of an interactive web is the ease of authoring new interactive materials. As a
set of foundation building blocks, NIC provides the standard set of widgets. In addition, a graphical editor
which supports constraints and parsing of pictures [3] is built in. Also included is an interface editor. This
interface editor provides for resizable interfaces in a form similar to InterViews [4] except that the model
for interface design is to draw interfaces rather than code them.
Constrained Drawings
Because one of the goals is to support distance education, it is important to be able to create new widgets
that model specific educational topics. For example, an elementary astronomy class would want to
interactively demonstrate the phases of the moon. The author would draw a picture of the sun, earth and
moon using the constrained drawing editor accessible over the web. The sun and earth would be fixed in
position, the moon would be constrained so that it can only move in its orbit around the earth.
Widgets by Example
To create a widget out of this constrained picture the author can import the picture into our "widget by
example" interface [6]. This tool is also accessible via Mosaic as a NIC interface. Using this tool, the
position of the moon can be bound to a control value which ranges between 1 and 28 days. This binding is
created by example and the new widget can be saved. To create the binding, the educator positions the
moon at the top of the orbit and sets the Day attribute to 1. The author then drags the moon to the bottom
and enters 14, the moon is then dragged around almost to the top and Day is set to 28. The author requests
that the mapping be learned and the appropriate geometric relationship is constructed automatically from
the examples.
Interface Editing
This new moon widget can be loaded into NIC's interface editor and assembled with other controls which
bind the Day attribute to a scroll bar. The NIC interface editor can also create buttons and other controls
which can quiz the student on issues like "on what day will the moon appear at one quarter?" The student
can manipulate the moon to the correct position and the interface code can check the answer by checking
the widget's Day attribute.
Active Pictures
NIC's scripting facility can be attached to picture elements in the drawing editor and used to create mini-
applications based on restricted drawings. An author can draw pictures of logic circuit elements, for
example, and give these pictures behavior which can detect connected elements. Special picture parsing
primitives are provided for this purpose. The student is then presented, via Mosaic, with a small editor
which allows connection of the components to test digital circuits.
SECURITY
Whenever code is downloaded from foreign machines the possibility for viruses or negligent damage to the
system arises. Many interactive tools such as the calculator, RGB trainer, or the moon demonstration do not
use any system facilities. Others, like the HCI bibliography service uses a shell script for mailing. The
interface editor must save interface designs into files. NIC provides three levels of security for each of the
various system access functions such as writing files or executing shell scripts. These functions can be
allowed (which is very unsafe), forbidden (which makes them useless), or subject to interactive
confirmation by the user.
SUMMARY
The NICUI client provides a full functioned interface interpretation facility. Based on this client, interactive
services can be created and posted via normal World Wide Web servers. MIME-based tools can launch the
client to provide the interactive services. NIC provides authoring tools for creating interactive artifacts.
These tools themselves can be accessed via the WWW.
References
- Tim Berners-Lee, Robert Cailliau, Ari Luotonen, Henrik Frystyk Nielsen, and Arthur Secret, "The
World-Wide Web" CACM 37 (8) (August 1994)
- N. Borenstein and N. Freed. Internet RFC 1521 "MIME (Multipurpose Internet Mail Extensions)
Part One: Mechanisms for Specifying and Describing the Format of Internet Message Bodies". September
1993.
- Doug Kohlert, and Dan Olsen "Pictures as Input Data" CHI Ô95 Proceedings.
- Mark Linton, John Vlisides, Paul Calder, "Composing User Interfaces with InterViews." IEEE
Computer 22(2) p 8-22, (1989).
- Allan MacLean, Kathleen Carter, Lennart Lovstrand, and Thomas Moran "User-Tailorable Systems:
Pressing the Issues with Buttons" Proceedings of CHI'90, (April 1990).
- Dan Olsen, Brett Ahlstrom, and Doug Kohlert, "Creating Geometric Widgets by Example"
Submitted to CHI Ô95.
- John Ousterhout "Tcl and the Tk Toolkit" Addison-Wesley, New York, (1994)8. "User Manual:
Aldus IntelliDraw", Silicon Beach Software, Inc., San Diego, CA (1992).