A Specification Language for Direct-Manipulation User Interfaces

A direct-manipulation user interface presents a set of visual representations on a display and a repertoire of manipulations that can be performed on any of them. Such representations might include screen buttons, scroll bars, spreadsheet cells, or flowchart boxes. Interaction techniques of this kind were first seen in interactive graphics systems; they are now proving effective in user interfaces for applications that are not inherently graphical. Although they are often easy to learn and use, these interfaces are also typically difficult to specify and program clearly. Examination of direct-manipulation interfaces reveals that they have a coroutine-like structure and, despite their surface appearance, a peculiar, highly moded dialogue. This paper introduces a specification technique for direct-manipulation interfaces based on these observations. In it, each locus of dialogue is described as a separate object with a single-thread state diagram, which can be suspended and resumed, but retains state. The objects are then combined to define the overall user interface as a set of coroutines, rather than inappropriately as a single highly regular state transition diagram. An inheritance mechanism for the interaction objects is provided to avoid repetitiveness in the specifications. A prototype implementation of a user-interface management system based on this approach is described, and example specifications are given.

[1]  James D. Foley,et al.  The art of natural graphic man—Machine conversation , 1974 .

[2]  Carl E. Landwehr,et al.  The use of quick prototypes in the secure military message systems project , 1982 .

[3]  David A. Moon,et al.  The Lisp Machine manual , 1981, SGAR.

[4]  C. A. R. Hoare,et al.  Communicating sequential processes , 1978, CACM.

[5]  Henry Lieberman There's more to menu systems than meets the screen , 1985, SIGGRAPH '85.

[6]  Ben Shneiderman,et al.  Multiparty Grammars and Related Features for Defining Interactive Systems , 1982, IEEE Transactions on Systems, Man, and Cybernetics.

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

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

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

[10]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[11]  Phyllis Reisner,et al.  Formal Grammar and Human Factors Design of an Interactive Graphics System , 1981, IEEE Transactions on Software Engineering.

[12]  Robert J.K. Jacob Executable specifications for a human-computer interface , 1983, CHI '83.

[13]  Philip J. Hayes,et al.  Executable interface definitions using form-based interface abstractions , 1984 .

[14]  William Buxton,et al.  Creating highly-interactive and graphical user interfaces by demonstration , 1986, SIGGRAPH.

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

[16]  Peter G. Polson,et al.  A generalized transition network representation for interactive systems , 1983, CHI '83.

[17]  Ed Anson,et al.  The device model of interaction , 1982, SIGGRAPH.

[18]  Anthony I. Wasserman,et al.  Extending State Transition Diagrams for the Specification of Human–Computer Interaction , 1985, IEEE Transactions on Software Engineering.

[19]  Michael B. Feldman,et al.  Toward the design and development of style-independent interactive systems , 1982, CHI '82.

[20]  Robert J. K. Jacob,et al.  Using formal specifications in the design of a human-computer interface , 1983, CACM.

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

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

[23]  Andrew Jay Singer,et al.  Formal methods and human factors in the design of interactive languages , 1979 .

[24]  Subhash C. Kak Data Security in Computer Networks: Guest Editor's Introduction , 1983, Computer.

[25]  James D. Hollan,et al.  Direct Manipulation Interfaces , 1985, Hum. Comput. Interact..

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

[27]  Tamer Yunten Supervisory methodology and notation (SUPERMAN) for human-computer system development , 1985 .

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

[29]  David L. Parnas,et al.  On the use of transition diagrams in the design of a user interface for an interactive computer system , 1969, ACM '69.

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

[31]  J. D. Foley,et al.  The art of natural graphic man-machine conversation , 1974, SIGGRAPH 1974.

[32]  James D. Foley,et al.  Fundamentals of interactive computer graphics , 1982 .