CHI '95 ProceedingsTopIndexes
TutorialsTOC

Managing the Design of the User Interface

Deborah J. Mayhew

Deborah J. Mayhew & Associates
Panhandle Road
Post Office Box 248
West Tisbury, MA 02575-0248
Tel: +1 (508) 693-7149
Fax: +1 (508) 693-9726

© ACM

Abstract

The purpose of this tutorial is to provide an overview of practical methods and techniques for managing the process of designing good user interfaces. The tutorial is organized around a typical, modern project life cycle, and presents human factors methods which can be applied at different points in the development process. Methods and techniques presented include not only information gathering, design and evaluation techniques, but also organizational and managerial strategies.

Keywords

System design, implementation and use, analysis methods, managing human factors in system development, cost- benefit analysis, organization of human factors

TUTORIAL CONTENT

The purpose of this tutorial is to provide an overview of practical methods and techniques available for designing good user interfaces which can be applied by software managers, designers and developers during the course of product development. Methods and techniques presented include not only design and evaluation techniques, but also organizational and managerial strategies.

The success of any interactive computer system - from either a vendor or user point of view - depends on a number of different factors, including functionality, performance, cost, reliability, maintenance, and the quality of the user interface. All these factors are of roughly equal importance, and a serious failure in any one of them can cause a failure of the system as a whole.

In the past, least attention has been paid to the human interface, as designers, developers and customers focused on maximum functionality within cost and performance constraints. Recently, however, there is a growing recognition that the success of computer products in the marketplace, and as tools in business environments, depends to a significant degree on the quality of the human interface.

Ad hoc design based on intuition and limited experience is not enough to insure the successful design of this aspect of the system. The literature offers many principles of good interface design. These principles can be helpful guidelines for designers. However, even if every designer in a software development organization was well versed in these design principles, this would not be enough to ensure good interface design. Many of the available design principles are based on experts' intuitions, rather than on hard data. Usually for any given design problem, they will come in direct conflict with each other, and there are no algorithms for making the tradeoffs. Design principles only bring the designer's attention to the issues which should be considered. There is no "cookbook" approach to applying these principles to ensure good interface design.

User interface design is a matter of compromise and tradeoff. We want powerful functionality, but a simple, clear interface. We want ease of use but also ease of learning. We want a system that is flexible but also one that provides good error handling. We strive for consistency across all aspects of the interface, but also to optimize individual operations. We want an "intelligent" and sophisticated interface, but also good performance and low cost. The interface designer finds him or herself constantly confronted with these kinds of conflicting goals. What is needed is a collection of techniques and methods for resolving such design dilemmas on a case-by- case basis.

Probably the most common way of resolving these conflicts and tradeoffs is "design by committee". Everyone on the project team gets in a room, and a rather unstructured debate ensues. Designers argue for their favorite design alternatives and counter arguments are put forth. These meetings often have no explicit agenda, no specific time frame, and often no leader or single recognized decision maker. Individual, often trivial and inconsequential design decisions often take hours, days or even weeks to resolve, and usually the winning proposal is determined by the sheer persistence and stamina of its advocate, rather than its overall merit. Decisions are made in this manner and never tested in any objective way against agreed upon and prioritized goals.

Such meetings are, for the most part, an inexcusable waste of valuable time. The irony of this approach is that managers who scoff at the idea of prototyping and iterative design and testing as being unrealistic, too expensive and too time consuming, often engage in or condone the "design by committee" approach. However, prototyping and objective testing methods could easily be carried out in less time than is often spent in these endless design meetings which do not necessarily result in good design decisions. This is generally true of all aspects of system design, and is just as true in the case of user interface design.

The methods and techniques presented in this course are not new, and not invented within the computer industry. They have long been employed by other industries producing other consumer products. In fact its interesting to contrast product development in other industries with that in the computer industry. Shneiderman (1980) draws this contrast nicely: "Henry Dreyfuss . . . , a leading industrial designer responsible for plane, train, boat interiors, and dozens of familiar consumer items, provides useful guidance in Designing for People. He devotes a full chapter to the experience of designing the 500-type telephone, the standard rotary dial desk model. Measurements of 2000 human faces were used to determine the spacing between the mouth and ear pieces. After consulting with Bell System engineers about the layout of electronic components, 2500 sketches for possible designs were made. Numerous variations of the handgrip were considered until the familiar rounded-off rectangular cross section was adopted. Variations on dial and faceplate were tested till a four and one quarter inch diameter faceplate was selected to replace the older three-inch diameter version. Placement of the letters and numbers was studied, the angle of the dial was adjusted to reduce glare and the cradle was modified to minimize the receiver-off- the-hook problem. Accurate layout drawings were made for all the variations and finally clay and plaster models were built to compare leading designs. Then testing began.

This process contrasts sharply with most interactive system development experiences where designs are hastily proposed and evaluated informally. Alternative command structures, error handling procedures, or screen formats rarely get implemented for pilot testing purposes." Indeed, most of us who have worked on software development projects can hardly imagine working in the manner described above. Software interface design tends to be done on the fly.

At worst, designers operate in a vacuum, with little prior experience and no interaction with potential users to guide them. At best the interface designers are experienced and have learned from feedback from users of earlier systems. Even so, the technology changes so quickly that even experienced designers constantly confront new design possibilities they have no prior experience with.

Software developers need methods and techniques to help them effectively manage the design of the user interface, and make good design decisions for a given product with its particular set of end users. The purpose of this tutorial is to present and discuss such methods and techniques within the overall context of a typical modern software development life cycle. Practice - rather than theory - is the main focus of this tutorial.

The tutorial is organized around a modern project life cycle, and presents an overview of human factors methods which can be applied at different points in the development process. Topics include:

  1. Organizational and managerial strategies which support interface design,
  2. Information gathering methods which support preliminary design and specification,
  3. Design methods , and
  4. Testing and evaluation methods for testing simulations and prototypes.

During this tutorial, managers and developers learn to:

  1. Analyze the costs and benefits of applying human factors methods during product development,
  2. Design organizational structures and processes to foster good interface design,
  3. Plan for and manage the use of human factors techniques within the overall project plan,
  4. Effectively evaluate design alternatives by defining and prioritizing objective goals and criteria, and
  5. Strengthen interface design decisions by applying quick and inexpensive interface evaluation techniques.

References

1. Shneiderman, Ben Software Psychology: Human Factors in Computer and Information Systems. Winthrop Publishers, Inc., Cambridge, Massachusetts, 1980.