An approach to support automatic generation of user interfaces
ACM Transactions on Programming Languages and Systems
In traditional interactive programming environment, each application individually manages its interaction with the human user. The result is duplication of effort in implementing user interface code and non-uniform-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
... 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 manager 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.