ACE: Building Software Applications out of High-level, Semantic-based Components

Craig Zarmer and Jeff Johnson, Human-Computer Interaction Department, HP Labs

Seminar on People, Computers, and Design
Stanford University October 16, 1991


We are developing an Application Construction Environment (ACE) that allows programmers, local developers, and end-users to create applications much more easily than is possible with current application development tools, including UI Toolkits and user interface management systems. ACE applications are constructed from high-level building blocks called Visual Formalisms and Selectors. Visual Formalisms are familiar information-display and information-management devices that help users organize, manipulate, and evaluate information, and that (not surprisingly) are found in most software applications. Examples of VFs are tables, graphs, panels, and plots. ACE VFs can be specialized for the needs of particular applications. VF-based applications blur the distinction between *building* and *using* an application, just as spreadsheets do. Selectors are encapsulations of the semantics of the choices and controls that applications offer users. Examples of choice-types are: Data-value-choice vs. Command-choice; 1-from-N vs. M-from-N. Each choice-type can be presented in a variety of ways, depending upon the needs of the application. Selectors, unlike user-interface widgets, allow designers to focus upon application and interface semantics, rather than appearance. ACE is built in C++ on top of InterViews and ACEKit, a layer that adds runtime information on objects and provides useful abstractions of the relationships between application interface and semantic components. To help us with the implementation of ACE, we are seeking contract programmers with experience in C++ and InterViews.


Titles and abstracts for all years are available by year and by speaker.

For more information about HCI at Stanford see

Overview Degrees Courses Research Faculty FAQ