The User Interface Design Environment

The user-computer interface is often the major impediment to successful use of interactive computer graphics systems. Design of the interface is often thought of as art rather than science, and suffers from lack of formalisms, models, tools, and methodical design approaches. Slowly, the design process is becoming more structured, and more formal tools are becoming available.This paper describes the User Interface Design Environment (VIDE), a knowledge-based system to assist in user interface design and implementation. At the heart of UIDE is a representation of the conceptual design of a user interface. This design includes: the class hierarchy of objects which exist in the system (only single inheritance is currently supported), properties of the objects, actions which can be performed on the objects, units of information required by the actions, and pre- and post-conditions for the actions. The conceptual design and related information is used to: check the interface design for consistency and completeness via the Knowledge Acquisition In a Man-machine Interface system (KAIMI), transform the knowledge base, and hence the user interface it represents into a different but functionally-equivalent interface via the Transformation Algorithms system (TA), evaluate the interface design with respect to speed of use, with the keystroke Analysis Tool as input to a Simple User Interface Management System (SUIMS) which implements the user interface, automatically generate intelligent run-time help to the end-user via the Help Support system (HS), and produce a printed description of the design in the Interface Definition Language (IDL). IDL has been developed to present the conceptual design of the user interface in a structured and readable representation.UIDE goes beyond the capabilities of the typical User Interface Management System (UIMS), which requires the designer to work at the syntactic and lexical levels of design and hence to focus on command names, screen and icon design, menu organization, sequencing rules, and interaction techniques. UIDE provides a higher-level conceptual design tool that facilitates the iterative design process of specification, generation, and evaluation.