Models are used in many different fields. Researchers in physics, chemistry, and molecular biology use models to explore relationships between atomic and molecular components of systems. Economists and city planners use models to analyze and predict the performance of complex economic and social systems. Teachers use models as an aid in explaining complex systems in a variety of fields. Whether the model is a plastic replica of an airplane, an exploded parts diagram in a book, or an elaborate computer simulation model, the purpose of the model is to convey an understanding of the components that make up an object or a system and the relationships between components.
Models can be useful in designing and analyzing the user interface of a computer system. Relationships between elements in the interface, the programming system that implements the elements, and the users of the interface can be described and analyzed by using models. Furthermore, a model of the interface can be implemented as a prototype to support iterative testing with users.
We use three models that are relevant to the design and implementation of a user interface. Each model provides a different perspective on the interface, beginning with the end user's perspective, and including the designer's perspective, and the implementing programmer's perspective.
In user interface design we use models to describe an interface in terms of objects, properties, behaviors, and relationships between objects. A model provides a framework for analysis, understanding, and decision making.
A model does not need to address every aspect and feature of a system. A level of detail adequate to understand relationships of interest, explain observations, and make design tradeoffs is sufficient. In some cases it may be desirable to use several different models with various levels of detail for the same system. One model might be adequate for a salesperson to explain the system to a prospective customer. Another model of the system might be needed to help develop specifications for subcontracted components.
A model must be accurate at whatever level of detail is chosen. Models must be under constant scrutiny and should be changed to reflect varying requirements and explain observed behaviors.
We have found it useful to consider three models during user interface design:
To illustrate the relationship between these three models, consider an analogy between the role of a user interface designer and an architect who is designing a house. These roles are similar in many respects because both of them require an understanding of all three models.
The user interface designer's role is to create a designer's model, or blueprint, of the user interface, just as an architect creates a blueprint of a house. To do this, the designer must: