Previous | Table of Contents | Next |
Frank Ludolph
Sun Microsystems, Inc., Mountain View, California
email: frank.ludolph@sun.com
Design is the conscious and intuitive effort to impose meaningful order.
(Papanek, 1984)
ABSTRACT
There is a large gap between a set of requirements and a finished user interface, a gap too large to be crossed in a single leap. This gap is most easily traversed by using various sets of guidelines, based on patterns of human perception, cognition, and activity, to transform background information first into an essential model, then into a users model, and finally into a user interface design. Scenarios form the primary thread in this process, keeping the designer focused on the users activities. Rough sketches are used throughout this process, but sketches cannot represent the dynamic nature of the interface in a comprehensive manner. The designer must build interactive visual prototypes to better understand the actual interactions, test the design before it is coded, and communicate the finished design to developers and customers.
1. INTRODUCTION
The project is underway. There is a clear problem statement, the requirements have been gathered, and the users have been interviewed. Now it is time to design the user interface. How does the user interface designer transform an abstract list of requirements into a concrete design?
The goals of a user interface are daunting: for the novice user it should be easy to learn and recall; for the experienced user it should be flexible and efficient; and it should extend every users abilities, enabling them to accomplish tasks that they otherwise could not. However, all too often the resulting application is difficult to learn, tedious to use, and forces people to focus on the computers and applications rather than on their work.
Why do so many user interface designs fail? Because the goals are diverse, the complexity is great, and we may fail to apply our knowledge of how people communicate and interact with the world around them. However, there is a way. By combining complexity management techniques, guidelines on human interaction and communication, a bit of insight and creativity, and a good development process, it is possible to design user interfaces that meet these goals. This chapter describes one way to bridge the gap between requirements and a completed design using modeling to manage complexity and a series of transformations that take us across the gap a step at a time. This process is illustrated using a portion of an application builder as a case study.
1.1 USER INTERFACE DESIGN: CREATIVITY, SENSITIVITY, CRAFT, AND ENGINEERING
It takes a much more than just creativity to design a good user interface. In fact, it may be the least important aspect. Wroblewski (1991) argues that user interface design is a craft because the complexity and variation of each interface design require that at least some portions be implemented and tested to be understood, similar to the methods used by craftsmen in the past. There is also an engineering aspect to design in that the design should be efficient in presentation, use, and implementation, with a logical, understandable structure. However, a well-crafted, efficient, and logical design is not sufficient.
Developing an interface between person and machine is much more difficult that a machine-to-machine interface. The machine side of an interface can be known with precision and the functionality it supports is limited and well defined. On the other hand, people exhibit great variations with respect to behavior, experience, knowledge, temperament, needs, wants, and manual and mental dexterity; the tasks a person needs to complete are usually quit complex. A good designer molds the design with a sensitivity to these individual variations and an understanding of how people think, communicate, and interact with the world around them.
The activity of user interface design involves many skills: interviewing, modeling, interaction design, presentation design, graphic design, and usability evaluation. This chapter focuses on modeling, interaction, and presentation design. It describes how modeling can be used to manage complexity, the development of the initial model, the transformation of one model into another then into a finished design, and the guidelines that are used to perform these transformations.
Previous | Table of Contents | Next |