CHI '95 ProceedingsTopIndexes
DemonstrationsTOC

NIC: Interaction on the World Wide Web

Dan Olsen, Ken Rodham, Doug Kohlert, Jeff Jensen, Brett Ahlstrom, Mike Bastian, Darren Davis


Computer Science Department
Brigham Young University
Provo, UT 84602 USA
olsen@cs.byu.edu

© ACM

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

  1. Tim Berners-Lee, Robert Cailliau, Ari Luotonen, Henrik Frystyk Nielsen, and Arthur Secret, "The World-Wide Web" CACM 37 (8) (August 1994)
  2. 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.
  3. Doug Kohlert, and Dan Olsen "Pictures as Input Data" CHI Ô95 Proceedings.
  4. Mark Linton, John Vlisides, Paul Calder, "Composing User Interfaces with InterViews." IEEE Computer 22(2) p 8-22, (1989).
  5. Allan MacLean, Kathleen Carter, Lennart Lovstrand, and Thomas Moran "User-Tailorable Systems: Pressing the Issues with Buttons" Proceedings of CHI'90, (April 1990).
  6. Dan Olsen, Brett Ahlstrom, and Doug Kohlert, "Creating Geometric Widgets by Example" Submitted to CHI Ô95.
  7. 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).