Model-Based User Interface Design by Demonstration and by Interview
Graphical applications are easier to use than their character-based predecessors, but they are also harder to construct. Today, most graphical applications are built by hand-writing low-level code that makes calls to a subroutine library of user interface primitives. There is little wrong with this approach in a commercial setting. However, it presents significant problems if a non-programming audience is to participate in designing, building and modifying user interfaces. This thesis takes a new approach towards this problem based on a special-purpose specification language and on novel demonstrational tools. In this approach, the designers first use the demonstrational tools to specify user interface behavior. As they do so, a language-based specification is generated which they can inspect. They can then experiment with editing the specification directly, using a test-drive mode to observe the effect of their changes. The thesis contributes to the state of the art in three aspects. First, its specification language, the Elements, Events & Transitions model, is the first user-level language for interface behavior explicitly designed to be used with demonstrational tools. Second, its demonstrational tools, most notably Grizzly Bear, cover an unusually wide spectrum of user interface behavior, and are unique in keeping their reasoning independent of the characteristics of any particular user interface toolkit; we also tested them in usability experiments. Finally, the thesis is the first to explore in depth how to best combine the ease-of-use of the demonstrational approach with the expressive power of the model-based approach.