Past, Present and Future of User Interface Software Tools

A user interface software tool helps developers design and implement the user interface. Research on past tools has had enormous impact on today's developers—virtually all applications today are built using some form of user interface tool. In this article, we consider cases of both success and failure in past user interface tools. From these cases we extract a set of themes which can serve as lessons for future work. Using these themes, past tools can be characterized by what aspects of the user interface they addressed, their threshold and ceiling, what path of least resistance they offer, how predictable they are to use, and whether they addressed a target that became irrelevant. We believe the lessons of these past themes are particularly important now, because increasingly rapid technological changes are likely to significantly change user interfaces. We are at the dawn of an era where user interfaces are about to break out of the “desktop” box where they have been stuck for the past 15 years. The next millenium will open with an increasing diversity of user interface on an increasing diversity of computerized devices. These devices include hand-held personal digital assistants (PDAs), cell phones, pages, computerized pens, computerized notepads, and various kinds of desk and wall size-computers, as well as devices in everyday objects (such as mounted on refridgerators, or even embedded in truck tires). The increased connectivity of computers, initially evidenced by the World Wide Web, but spreading also with technologies such as personal-area networks, will also have a profound effect on the user interface to computers. Another important force will be recognition-based user interfaces, especially speech, and camera-based vision systems. Other changes we see are an increasing need for 3D and end-user customization, programming, and scripting. All of these changes will require significant support from the underlying user interface sofware tools.

[1]  Roger B. Dannenberg,et al.  Garnet: comprehensive support for graphical, highly interactive user interfaces , 1990, Computer.

[2]  Anthony I. Wasserman,et al.  Rapid prototyping of interactive information systems , 1982 .

[3]  Axel Kramer,et al.  Translucent patches—dissolving windows , 1994, UIST '94.

[4]  P. Gregory,et al.  February , 1890, The Hospital.

[5]  Gregory D. Abowd,et al.  CyberDesk: a framework for providing self-integrating context-aware services , 1998, IUI '98.

[6]  Jakob Nielsen Hypertext auf dem Internet , 1996 .

[7]  Alan Kay,et al.  The reactive engine , 1969 .

[8]  James D. Hollan,et al.  Strategic directions in human-computer interaction , 1996, CSUR.

[9]  Kenneth A. Pier,et al.  Issues for Location-Independent Interfaces , 1992 .

[10]  Brad A. Myers,et al.  A brief history of human-computer interaction technology , 1998, INTR.

[11]  Dean Rubine,et al.  Specifying gestures by example , 1991, SIGGRAPH.

[12]  Norbert A. Streitz,et al.  i-LAND: an interactive landscape for creativity and innovation , 1999, CHI '99.

[13]  William M. Newman,et al.  A system for interactive graphical programming , 1968, AFIPS Spring Joint Computing Conference.

[14]  PauschRandy,et al.  Lessons learned from SUIT, the simple user interface toolkit , 1992 .

[15]  Bradley T. Vander Zanden Constraint grammars–a new model for specifying graphical applications , 1989, CHI '89.

[16]  Anthony J. Hornof,et al.  GLEAN: a computer-based tool for rapid GOMS model usability evaluation of user interface designs , 1995, UIST '95.

[17]  Jakob Nielsen,et al.  Multimedia and Hypertext: The Internet and Beyond , 1995 .

[18]  Nicole Yankelovich,et al.  Designing the user interface for speech recognition applications , 1996, CHI 1996.

[19]  Brad A. Myers,et al.  User interface software tools , 1995, TCHI.

[20]  Larry Wall,et al.  Programming Perl , 1991 .

[21]  Paul Asente,et al.  X toolkits: the lessons learned , 1990, UIST '90.

[22]  Dan R. Olsen,et al.  Interface usage measurements in a user interface management system , 1988, UIST '88.

[23]  Mark Weiser,et al.  Some computer science issues in ubiquitous computing , 1993, CACM.

[24]  James D. Foley,et al.  A second generation user interface design environment: the model and the runtime architecture , 1993, INTERCHI.

[25]  James Neilsen,et al.  Multimedia and hypertext: The Internet and beyond , 1995 .

[26]  Neff Walker,et al.  Age group differences in world wide web navigation , 1997, CHI Extended Abstracts.

[27]  Andrew J. Schulert,et al.  ADM — a dialog manager , 1985, CHI '85.

[28]  Brad A. Myers,et al.  Research directions for user interface software tools , 1993, Behav. Inf. Technol..

[29]  Roger King,et al.  A generator of direct manipulation office systems , 1986, TOIS.

[30]  Douglas C. Engelbart,et al.  A research center for augmenting human intellect , 1968, AFIPS Fall Joint Computing Conference.

[31]  Ping Luo,et al.  Beyond interface builders: model-based interface tools , 1993, INTERCHI.

[32]  Warren Teitelman,et al.  A Display Oriented Programmer's Assistant , 1977, IJCAI.

[33]  John Seely Brown,et al.  The coming age of calm technolgy , 1997 .

[34]  Jakob Nielsen,et al.  Usability engineering , 1997, The Computer Science and Engineering Handbook.

[35]  Ivan E. Sutherland,et al.  Sketchpad a Man-Machine Graphical Communication System , 1899, Outstanding Dissertations in the Computer Sciences.

[36]  Ralph D. Hill,et al.  Supporting concurrency, communication, and synchronization in human-computer interaction—the Sassafras UIMS , 1986, TOGS.

[37]  Rob Miller,et al.  The Amulet Environment: New Models for Effective User Interface Software Development , 1997, IEEE Trans. Software Eng..

[38]  Joel McCormack,et al.  An overview of the X toolkit , 1988, UIST '88.

[39]  Mahmoud Naghshineh,et al.  Bluetooth: vision, goals, and architecture , 1998, MOCO.

[40]  Brad A. Myers,et al.  Report of the “End-User Programming” working group , 1992 .

[41]  Brad A. Myers,et al.  Automatic, look-and-feel independent dialog creation for graphical user interfaces , 1990, CHI '90.

[42]  Pedro A. Szekely,et al.  Design alternatives for user interface management sytems based on experience with COUSIN , 1985, CHI '85.

[43]  David J. Kasik,et al.  A user interface management system , 1982, SIGGRAPH.

[44]  Charles Wiecha,et al.  ITS: a tool for rapidly developing interactive applications , 1990, TOIS.

[45]  C Rose,et al.  Inside Macintosh , 1985 .

[46]  D. A. Henderson,et al.  The Trillium user interface design environment , 1986, CHI '86.

[47]  Cynthia Tobias Computers and the Elderly: A Review of the Literature and Directions for Future Research , 1987 .

[48]  Scott E. Hudson,et al.  Supporting dynamic downloadable appearances in an extensible user interface toolkit , 1997, UIST '97.

[49]  Steven L. Rohall,et al.  The Rendezvous architecture and language for constructing multiuser applications , 1994, TCHI.

[50]  Ben Shneiderman,et al.  Embedded menus: selecting items in context , 1986, CACM.

[51]  Dan R. Olsen,et al.  SYNGRAPH: A graphical user interface generator , 1983, SIGGRAPH.

[52]  John K. Ousterhout,et al.  An X11 Toolkit Based on the Tcl Language , 1991, USENIX Winter.

[53]  Austin Henderson,et al.  Rooms: the use of multiple virtual workspaces to reduce space contention in a window-based graphical user interface , 1986, TOGS.

[54]  Scott E. Hudson,et al.  Ultra-lightweight constraints , 1996, UIST '96.

[55]  Wilfred J. Hansen,et al.  The Andrew Toolkit - An Overview , 1988, USENIX Winter.

[56]  Tony DeRose,et al.  Toolglass and magic lenses: the see-through interface , 1993, SIGGRAPH.

[57]  Saul Greenberg,et al.  Building real-time groupware with GroupKit, a groupware toolkit , 1996, TCHI.

[58]  Dan R. Olsen,et al.  MIKE: The Menu Interaction Kontrol Environment , 1986, ACM Trans. Graph..

[59]  Brad A. Myers,et al.  Languages for developing user interfaces , 1992 .

[60]  Alan Borning,et al.  The Programming Language Aspects of ThingLab, a Constraint-Oriented Simulation Laboratory , 1981, TOPL.

[61]  Robert J. K. Jacob,et al.  A Specification Language for Direct-Manipulation User Interfaces , 1986, ACM Trans. Graph..

[62]  Jim Lansford,et al.  HomeRF#8482; and SWAP: wireless networking for the connected home , 1998, MOCO.

[63]  Douglas C. Engelbart,et al.  Display-Selection Techniques for Text Manipulation , 1967 .

[64]  David Rosenthal,et al.  A Simple X11 Client Program -or- How hard can it really be to write "Hello, World"? , 1988, USENIX Winter.

[65]  Brad A. Myers,et al.  Collaboration using multiple PDAs connected to a PC , 1998, CSCW '98.

[66]  James J. Thomas,et al.  Graphical input interaction technique (GIIT) , 1983, COMG.

[67]  Robert DeLine,et al.  Lessons learned from SUIT, the simple user interface toolkit , 1992, TOIS.

[68]  Krishna Bharat,et al.  Making computers easier for older adults to use: area cursors and sticky icons , 1997, CHI.

[69]  Ben Shneiderman,et al.  Direct Manipulation: A Step Beyond Programming Languages , 1983, Computer.

[70]  Mark Green,et al.  The University of Alberta user interface management system , 1985, SIGGRAPH.

[71]  William Buxton,et al.  Towards a comprehensive user interface management system , 1983, SIGGRAPH.