User interface software tools

Almost as long as there have been user interfaces, there have been special software systems and tools to help design and implement the user interface software. Many of these tools have demonstrated significant productivity gains for programmers, and have become important commercial products. Others have proven less successful at supporting the kinds of user interfaces people want to build. This article discusses the different kinds of user interface software tools, and investigates why some approaches have worked and others have not. Many examples of commercial and research systems are included. Finally, current research directions and open issues in the field are discussed.

[1]  Deborah Hix,et al.  Human-computer interface development: concepts and systems for its management , 1989, CSUR.

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

[3]  Paul R. Calder,et al.  Composing user interfaces with InterViews , 1989, Computer.

[4]  Antonio C. Siochi,et al.  The UAN: a user-oriented representation for direct manipulation interface designs , 1990, TOIS.

[5]  R. Stallman EMACS the extensible, customizable self-documenting display editor , 1981, SIGPLAN SIGOA Symposium on Text Manipulation.

[6]  Pamela Samuelson The ups and downs of look and feel , 1993, CACM.

[7]  Dan R. Olsen,et al.  User Interface Management Systems: Models and Algorithms , 1991 .

[8]  David Wolber,et al.  Adding rule-based reasoning to a demonstrational interface builder , 1992, UIST '92.

[9]  Steven L. Rohall,et al.  The Rendezvous language and architecture , 1993, CACM.

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

[11]  Ralph D. Hill The Rendezvous constraint maintenance system , 1993, UIST '93.

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

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

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

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

[16]  Roger B. Dannenberg,et al.  Creating graphical interactive application objects by demonstration , 1989, UIST '89.

[17]  Clayton Lewis,et al.  Spreadsheet-based interactive graphics: from prototype to tool , 1990, CHI '90.

[18]  Shirley Dex,et al.  JR 旅客販売総合システム(マルス)における運用及び管理について , 1991 .

[19]  James D. Foley,et al.  Model-based user interface design by example and by interview , 1993, UIST '93.

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

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

[22]  Brad A. Myers Graphical techniques in a spreadsheet for specifying user interfaces , 1991, CHI '91.

[23]  Brad A. Myers,et al.  A taxonomy of window manager user interfaces , 1988, IEEE Computer Graphics and Applications.

[24]  Adobe Press,et al.  PostScript Language Reference Manual , 1985 .

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

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

[27]  James D. Foley,et al.  Providing high-level control and expert assistance in the user interface presentation design , 1993, INTERCHI.

[28]  John T. Stasko,et al.  Animation support in a user interface toolkit: flexible, robust, and reusable abstractions , 1993, UIST '93.

[29]  Brad A. Myers A Complete and Efficient Implementation of Covered Windows , 1986, Computer.

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

[31]  Brad A. Myers,et al.  Taxonomies of visual programming and program visualization , 1990, J. Vis. Lang. Comput..

[32]  Gurminder Singh,et al.  Designing the interface designer's interface , 1988, UIST '88.

[33]  Mark Green,et al.  A survey of three dialogue models , 1986, TOGS.

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

[35]  Deborah Hix A procedure for evaluating human-computer interface development tools , 1989, UIST '89.

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

[37]  Walt Scacchi,et al.  Requirements for an extensible object-oriented tree/graph editor , 1990, UIST '90.

[38]  Daniel G. Aliaga,et al.  An object-oriented framework for the integration of interactive animation techniques , 1991, SIGGRAPH.

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

[40]  Yngve Sundblad,et al.  A New Approach to Text and Image Processing , 1984, IEEE Computer Graphics and Applications.

[41]  David A. Wilson,et al.  C++ Programming With Macapp , 1990 .

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

[43]  David E. Kieras,et al.  Automating interface evaluation , 1994, CHI '94.

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

[45]  Brad A. Myers,et al.  Declarative programming in a prototype-instance system: object-oriented programming without writing methods , 1992, OOPSLA '92.

[46]  Brad A. Myers A new model for handling input , 1990, TOIS.

[47]  Dan R. Olsen,et al.  A Programming Language Basis for User Interface Management , 1989 .

[48]  Nuno Correia,et al.  Programming time in multimedia user interfaces , 1992, UIST '92.

[49]  Mary Beth Rosson,et al.  Survey on user interface programming , 1992, CHI.

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

[51]  Brad A. Myers,et al.  Marquise: creating complete user interfaces by demonstration , 1993, CHI '93.

[52]  Richard J. Beach,et al.  A structural view of the Cedar programming environment , 1986, TOPL.

[53]  Dan R. Olsen,et al.  A programming language basis for user interface , 1989, CHI '89.

[54]  Rob Pike Graphics in overlapping bitmap layers , 1983, SIGGRAPH.

[55]  Brad A. Myers,et al.  Demonstrational interfaces: A step beyond direct manipulation , 1992, Computer.

[56]  Albert Stevens,et al.  The Use of a Sophisticated Graphics Interface in Computer- Assisted Instruction , 1983, IEEE Computer Graphics and Applications.

[57]  Brad A. Myers,et al.  Challenges of HCI design and implementation , 1994, INTR.

[58]  Gurminder Singh,et al.  Chisel: a system for creating highly interactive screen layouts , 1989, UIST '89.

[59]  Steven Tang,et al.  A unidraw-based user interface builder , 1991, UIST '91.

[60]  James A. Landay,et al.  Interactive sketching for the early stages of user interface design , 1995, CHI '95.

[61]  Ping Luo,et al.  Knowledgeable development environments using shared design models , 1993, IUI '93.

[62]  James D. Foley,et al.  Coupling a UI framework with automatic generation of context-sensitive animated help , 1990, UIST '90.

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

[64]  Charles Wiecha Direct manipulation of programming: How should we design interfaces? , 1989, UIST '89.

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

[66]  Michael Gleicher,et al.  A graphics toolkit based on differential constraints , 1993, UIST '93.

[67]  Alan Borning,et al.  Constraint-Based Tools for Building User Interfaces , 1986, ACM Trans. Graph..

[68]  Jeff A. Johnson,et al.  ACE: building interactive graphical applications , 1993, CACM.

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

[70]  Jakob Nielsen,et al.  Noncommand user interfaces , 1993, CACM.

[71]  S. A. Bly,et al.  A comparison of tiled and overlapping windows , 1986, CHI '86.

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

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

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

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

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

[77]  Brad A. Myers,et al.  Model-based user interfaces: what are they and why should we care? , 1994, UIST '94.

[78]  Patricia Russo,et al.  How fluent is your interface?: designing for international users , 1993, INTERCHI.

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

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

[81]  Frances Paulisch An interface description language for graph editors , 1988, VL.

[82]  Brad A. Myers Separating application code from toolkits: eliminating the spaghetti of call-backs , 1991, UIST '91.

[83]  Scott E. Hudson,et al.  User interface specification using an enhanced spreadsheet model , 1994, TOGS.

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

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

[86]  Luca Cardelli,et al.  Building user interfaces by direct manipulation , 1988, UIST '88.

[87]  Brad A. Myers,et al.  User-interface tools: introduction and survey , 1989, IEEE Software.

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

[89]  Paul S. Strauss,et al.  An object-oriented 3D graphics toolkit , 1992, SIGGRAPH.

[90]  A. Borning,et al.  Defining constraints graphically , 1986, CHI '86.

[91]  Brad A Complete and Efficient Implementation of Covered Windows , 1986 .

[92]  Tom Gaskins PEXlib programming manual , 1992 .

[93]  Brad A. Myers,et al.  The user interface for Sapphire , 1984, IEEE Computer Graphics and Applications.

[94]  Mark A. Linton,et al.  Unidraw: a framework for building domain-specific graphical editors , 1990, TOIS.

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

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

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