User-centered design (UCD) is an approach to designing computer systems and software applications that focuses on the users needs, wants and abilities as central elements of the design process. UCD does not assume that technologists and developers "know better," but that users implicitly can guide a design process toward a product that is intuitive, easy to use and useful.1,2 Developers can harness the powerful, but often unarticulated, insights of their target users with a few simple strategies: watch users work in their daily environment, involve users early and often in the design process and learn from the interaction of users with prototypes and other design artifacts.
The philosophy of user-centered design was born of the realization that traditional design processes often lead to less-than-optimal results.
The philosophy of UCD was born of the realization that traditional design processes often lead to less-than-optimal results. The remote control has become the archetype for the result of such design processes: hard to use, complex and intimidating.3 Despite the thousands of engineering hours spent on the development of most remote controls, many of these devices make it difficult and frustrating for most users to perform very basic and simple tasks. UCD emerged as a reaction to this kind of technology- and feature-driven design, focusing instead on the actual needs of the people who will use a system.
UCD developers try to optimize the user interface around how people can, want or need to work. Doing so requires a deep understanding of the work practice, terminology and organization of the people who will be using the system, as well as getting feedback from users while the product is being refined, rather than when the product is "finished" and it is too late to incorporate major changes. To achieve this goal, a UCD team must have expertise in multiple fields, such as human-computer interaction, design, information science and computer science.
 |
THE PHASES OF USER-CENTERED DESIGN
|
|---|
A UCD project typically involves five phases:
- – analysis of users needs;
- – creation of a conceptual design;
- – creation of a detailed interface design, a low-fidelity (lo-fi) prototype;
- – design of a high-fidelity (hi-fi) prototype;
- – implementation.4
We describe these phases briefly below.
Analysis of user needs/requirements.
The user-needs analysis helps the team understand how the users work, what their needs are and how technology could help fulfill those needs. In addition, the team establishes goals for usability in this phase. During the user-needs analysis phase, the team uses methods such as contextual inquiry; user profiling and task analysis; and surveys, interviews and focus groups. During contextual inquiry, team members observe users in their normal work environment to gain an understanding of who performs which tasks, what detailed series of steps make up each task, and where users encounter barriers and/or problems in carrying out tasks efficiently and effectively. During user profiling and task analysis, team members document the users work flow and break it down into separate tasks, and they conduct surveys, interviews and focus groups to gain general insights into the users domain or work.
Creation of conceptual design.
During conceptual design, the team members develop a high-level concept of how a new system could support users in doing their jobs. During this phase, team members create "personae," prototypical users of the proposed system who behave as would real users (for instance, "Dan, periodontist with little computer experience beyond sending e-mail"). The developers create storyboards or paper sketches of the application to support typical tasks that the personae might want to perform. Representative users then evaluate those designs and sketches.
Creation of detailed interface design.
The team then develops detailed interface designs, which are lo-fi prototypes, on the basis of the results of the conceptual design. In this phase, the team creates initial drafts of the user interface design on paper. Paper prototypes are useful at this stage, because, as compared with programming, they are relatively inexpensive and require little effort for modification. The design team tests these prototypes with users in their workplace or in a laboratory, simulating the tasks the users would perform using the proposed system. In our project,5 we used several paper prototypes that we could redesign on the fly (by moving user interface components printed on removable adhesive notes). In this manner, we were able to make immediate adjustments if a user test uncovered a problem.
Design of a hi-fi prototype.
Using the results of developing the lo-fi prototype, the team designs a hi-fi prototype. This prototype has relatively comprehensive functionality and is fully interactive. While the lo-fi prototype primarily focuses on the layout and visuals of an interface, the hi-fi prototype adds the navigation and flow.4 Again, the team conducts usability evaluations during this stage and makes appropriate modifications to finalize the interface and interaction design.
Implementation.
The implementation phase (which our project5 did not include) begins once the team finalizes the interface design through iterative usability evaluations. In this phase, usability tests with actual users serve as a check of whether the usability goals established in the user-needs analysis phase have been achieved. In addition, the team obtains qualitative feedback from the users via surveys and interviews.
 |
CONCLUSION
|
|---|
User-centered design is a method that has been shown to produce more useful and usable systems than other approaches.1 As a result, the methodology is becoming widely used in design and development projects.