Tools for creating user interfaces : an introduction and survey

Creating good user interfaces for software programs is a very difficult task. There arc no guidelines or techniques that will guarantee that the software will be "easy-to-use,'* and software implementors have generally proven poor at providing user interfaces that people like. Consequently, user interface software must often be prototyped and modified repeatedly. In addition, user interface software is inherently difficult to write, because it frequently requires that multiple devices be controlled (for example, a keyboard and a mouse) each of which may be sending streams of input events asynchronously. Also, user interfaces typically have stringent performance requirements to insure that there is no perceived lag between a user's actions and the system's response. The most popular style of user interfaces (called "Direct Manipulation" interfaces) is one of the most difficult kinds to implement Therefore, there is a great interest in software tools to aid in this process. This article discusses several different types of software tools and examples of their use. This research was sponsored by the Defense Advanced Research Projects Agency (DOD), ARPA Order No. 4976 under contract F33615-87-C-1499 and monitored by the Avionics Laboratory, Air Force Wright Aeronautical Laboratories, Aeronautical Systems Division (AFSQ, Wright-Patterson AFB, OH 45433-6543. The views and conclusions contained in this document are those of the author and should not be interpreted as representing the official policies, either expressed or implied, of the Defense Advanced Research Projects Agency of the US Government. Brad A. Myers Tools for Creating User Interfaces

[1]  James Gettys,et al.  The X window system , 1986, TOGS.

[2]  Kenneth I. Joy,et al.  A control panel interface for graphics and image processing applications , 1986, CHI '87.

[3]  John L. Sibert,et al.  An object-oriented user interface management system , 1986, SIGGRAPH.

[4]  R. Daniel Bergeron,et al.  Specifying complex dialogs in ALGAE , 1986, CHI '87.

[5]  Luca Cardelli,et al.  Squeak: a language for communicating with mice , 1985, SIGGRAPH.

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

[7]  Clive L. Dym,et al.  PRIDE: An Expert System for the Design of Paper Handling Systems , 1986, Computer.

[8]  Eric Harslem,et al.  Designing the STAR User Interface , 1987, ECICS.

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

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

[11]  Daniel G. Bobrow,et al.  Expert systems: perils and promise , 1986, CACM.

[12]  Ralph D. Hill,et al.  Event-response systems: a technique for specifying multi-threaded dialogues , 1986, CHI '87.

[13]  Dan R. Olsen,et al.  Input/output linkage in a user interface management system , 1985, SIGGRAPH '85.

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

[15]  B A Myers,et al.  Gaining general acceptance for UIMSs , 1987, COMG.

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

[17]  Brad A. Myers,et al.  Creating user interfaces by demonstration , 1988 .

[18]  T. T. Carey,et al.  Prototyping interactive information systems , 1983, CACM.

[19]  Managing the design of user-computer interfaces , 1986, CHI '86.

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

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

[22]  K. J. Schmucker,et al.  MacApp: An application framework , 1987 .

[23]  Daniel G. Bobrow,et al.  Integrating Access-Oriented Programming into a Multiparadigm Environment , 1986, IEEE Software.

[24]  William L. Bewley,et al.  Human factors testing in the design of Xerox's 8010 “Star” office workstation , 1983, CHI '83.

[25]  Dennis R. Wixon,et al.  Building a user-derived interface , 1984, CACM.

[26]  Mary Beth Rosson,et al.  Designing for designers: an analysis of design practice in the real world , 1987, CHI 1987.

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

[28]  Paul S. Barth An object-oriented approach to graphical interfaces , 1986, TOGS.

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

[30]  D R Olsen Larger issues in user interface management , 1987, COMG.

[31]  Brad A. Myers,et al.  Creating Interaction Techniques by Demonstration , 1987, IEEE Computer Graphics and Applications.

[32]  James R. Rhyne,et al.  A context for user interface management , 1984, IEEE Computer Graphics and Applications.

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

[34]  W. Buxton,et al.  A study in two-handed input , 1986, CHI '86.

[35]  Robert Balzer,et al.  On the inevitable intertwining of specification and implementation , 1982, CACM.

[36]  Pedro Szekely Modular implementation of presentations , 1986, CHI '87.

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

[38]  G. E. Pfaff,et al.  User Interface Management Systems , 1985, Eurographic Seminars.