An approach to support automatic generation of user interfaces
- 1 October 1990
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Programming Languages and Systems
- Vol. 12 (4) , 566-609
- https://doi.org/10.1145/88616.214518
Abstract
In traditional interactive programming environments, each application individually manages its interaction with the human user. The result is duplication of effort in implementing user interface code and nonuniform—hence confusing—input conventions. This paper presents an approach to support automatic generation of user interfaces in environments based on algebraic languages. The approach supports the editing model of interaction, which allows a user to view all applications as data that can be edited. An application interacts with a user by submitting variables (of arbitrary types) to a dialogue manager , which displays their presentations to the user and offers type-directed editing of these presentations. Applications and dialogue managers communicate through a protocol that allows a presentation to be kept consistent with the variable it displays. A particular implementation of the approach, called Dost, has been constructed for the Xerox development environment and the Mesa programming language. Dost is used as a concrete example to describe the editing model, the primitives to support it, and our preliminary experience with these primitives. The approach is compared with related work, its shortcomings are discussed, and suggestions for future work are made.Keywords
This publication has 39 references indexed in Scilit:
- Abstract interaction tools: a language for user interface management systemsACM Transactions on Programming Languages and Systems, 1988
- Types and persistence in database programming languagesACM Computing Surveys, 1987
- A survey of three dialogue modelsACM Transactions on Graphics, 1986
- Supporting concurrency, communication, and synchronization in human-computer interaction—the Sassafras UIMSACM Transactions on Graphics, 1986
- A formal approach to undo operations in programming languagesACM Transactions on Programming Languages and Systems, 1986
- The University of Alberta user interface management systemACM SIGGRAPH Computer Graphics, 1985
- Incremental Context-Dependent Analysis for Language-Based EditorsACM Transactions on Programming Languages and Systems, 1983
- Editing Data StructuresACM Transactions on Programming Languages and Systems, 1981
- A generalized text editorCommunications of the ACM, 1980
- A Sampler of Formal DefinitionsACM Computing Surveys, 1976