Demonstrational and constraint-based techniques for pictorially specifying application objects and behaviors

The Lapidary interface design tool is a demonstrational system that allows the graphics and run-time behaviors that go inside an application window to be specified pictorially. In particular, Lapidary allows the designer to draw example pictures of application-specific graphical objects that the end user will manipulate (such as boxes, arrows, or elements of a list), the feedback that shows which objects are selected (such as small boxes on the sides and corners of an object), and the dynamic feedback objects (such as hairline boxes to show where an object is being dragged). The run-time behavior of all these objects can be specified ina straightforward way using constraints, demonstration, and dialog boxes that allow the designer to provide abstract descriptions of the interactive response to the input devices. Lapidary generalizes from these specific example pictures and behaviors to create prototype objects and behaviors from which instances can be made at run-time. A novel feature of Lapidary's implementation is its use of constraints that have been explicitly specified by the designer to help it generalize example objects and behaviors and to guide it in making inferences.

[1]  Shamim P. Mohamed End-user specifications of interactive displays , 1993 .

[2]  Daniel Thalmann,et al.  The Direction of Synthetic Actors in the Film Rendez-Vous a Montreal , 1987, IEEE Computer Graphics and Applications.

[3]  Shashi Shekhar,et al.  Software Development Support for AI Programs , 1987, Computer.

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

[5]  Robert J. K. Jacob,et al.  A State Transition Diagram Language for Visual Programming , 1985, Computer.

[6]  Brad A. Myers,et al.  The importance of pointer variables in constraint models , 1991, UIST '91.

[7]  Brad A. Myers Garnet: uses of demonstrational techniques , 1993 .

[8]  David Kurlander,et al.  Chimera: example-based graphical editing , 1993 .

[9]  Scott E. Hudson A System for Efficient and Flexible One-Way Constraint Evaluation in C++ , 1993 .

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

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

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

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

[14]  Scott E. Hudson,et al.  Interactive specification of flexible user interface displays , 1990, TOIS.

[15]  Henry Lieberman,et al.  Watch what I do: programming by demonstration , 1993 .

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

[17]  Allen Cypher,et al.  EAGER: programming repetitive tasks by example , 1991, CHI.

[18]  James A. Landay,et al.  Inferring graphical constraints with Rockit , 1993, INTERCHI.

[19]  F. J. Newbery An interface description language for graph editors , 1988, [Proceedings] 1988 IEEE Workshop on Visual Languages.

[20]  Alessandro Giacalone XY-WINS: an integraded environment for developing graphical user interfaces , 1988, UIST '88.

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

[22]  Brad A. Myers,et al.  Integrating pointer variables into one-way constraint models , 1994, TCHI.

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

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

[25]  Dan R. Olsen,et al.  Editing Templates: A User Interface Generation Tool , 1986, IEEE Computer Graphics and Applications.

[26]  Ian H. Witten,et al.  Metamouse: specifying graphical procedures by example , 1989, SIGGRAPH.

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

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

[29]  David N. Smith Building interfaces interactively , 1988, UIST '88.

[30]  Brad A. Myers Encapsulating interactive behaviors , 1989, CHI '89.

[31]  Donald E. Knuth,et al.  The Metafont book , 1989 .

[32]  James D. Foley,et al.  Inference Bear: Inferring Behavior from Before and After Snapshots , 1994 .

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

[34]  Brad A. Myers,et al.  The Garnet toolkit reference manuals : support for highly-interactive, graphical user interfaces in Lisp , 1989 .

[35]  Allen Cypher,et al.  EAGER: programming repetitive tasks by example , 1991, CHI.

[36]  Ian H. Witten,et al.  Inducing programs in a direct-manipulation environment , 1989, CHI '89.

[37]  Bjørn N. Freeman-Benson,et al.  Multi‐way versus one‐way constraints in user interfaces: Experience with the deltablue algorithm , 1993, Softw. Pract. Exp..

[38]  David Wolber,et al.  A demonstrational technique for developing interfaces with dynamically created objects , 1991, UIST '91.

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

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

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

[42]  Tyson R. Henry,et al.  Using active data in a UIMS , 1988, UIST '88.

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

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

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

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

[47]  Henry Lieberman,et al.  Using prototypical objects to implement shared behavior in object-oriented systems , 1986, OOPLSA '86.

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

[49]  Gurminder Singh,et al.  Druid: a system for demonstrational rapid user interface development , 1990, UIST '90.