Declarative Task Description as a User-Interface Structuring Mechanism

Smith, Lafue, Schoen, Vestal · Computer · 1984

One of the problems that often faces the user of a large software system is a lack of uniformity or consistency in the user interface. Responses that elicit the desired system behavior in one context may fail completely in another— often accompanied by an obscure error message. As a result, the user may be well aware that the user interface is a disparate collection of programs written by different programmers, each with a different view on interface design. A related problem faces developers of an application intended to fit into an existing system. All too often they have to construct “system-tailored,” low-level user interface routines, usually without the benefit of the facilities and documentation available to the original system developers. This situation almost encourages the disorder and inconsistency that so often plagues an end user. We have adopted the view that these problems arise primarily when implicit knowledge about individual tasks is encoded in the user interface. What results is an unclear separation between actual computations involved in the execution of a task and data acquisitions (often from an end user) needed to execute a task. We have therefore experimented with a system design in which the user interface has a minimal a priori knowledge of individual tasks. The interface has facilities for acquiring data using interaction mechanisms relevant to a particular task domain but has no knowledge of any particular task in that domain. To effect this separation, we have used hierarchical, symbolic descriptions of computation of the type that has been applied in automatic programming, fault diagnosis, and digital hardware design. These descriptions incorporate a modular, object-oriented encapsulation of the information necessary to execute a task, an explicit representation of control and data flow, a formal description of the function, and the facilities for viewing computation at a number of levels of abstraction. Existing formalisms, however, have not been generated with the user interface in mind. Several types of input data information are usefully added for the purpose of structuring the user interface. For example, producing extensive descriptions of input data for the user interface has a two-fold result: the descriptions function as both constraints on the input data and as guidelines to the user interface concerning appropriate interaction mechanisms. The advantages of this approach to user interface design are:

Read the paper · More papers on PaperTik