User-centered design

User-centered design (UCD) or user-driven development (UDD) is a framework of processes (not restricted to interfaces or technologies) in which usability goals, user characteristics, environment, tasks and workflow of a product, service or process are given extensive attention at each stage of the design process. These tests are conducted with or without actual users during each stage of the process from requirements, pre-production models and post production, completing a circle of proof back to and ensuring that "development proceeds with the user as the center of focus." Such testing is necessary as it is often very difficult for the designers of a product to understand intuitively the experiences of first-time users, and what each user's learning curve may look like. User-centered design is based on the understanding of a user, their demands, priorities and experiences and when used, is known to lead to an increased product usefulness and usability as it delivers satisfaction to the user. User-centered design applies cognitive science principles to create intuitive, efficient products by understanding users' mental processes, behaviors, and needs.

The chief difference from other product design philosophies is that user-centered design tries to optimize the product around how users can, want, or need to use it so that users are not forced to change their behavior and expectations to accommodate the product. The users thus stand in the center of two concentric circles. The inner circle includes the context of the product, the objectives of developing it, and the environment it would run in. The outer circle involves more granular details of task detail, task organization, and task flow.

History
The term "User-Centered Design" was coined by Rob Kling in 1977 and later adopted in Donald A. Norman's research laboratory at the University of California, San Diego. The concept became widely popular as a result of the publication of the book User-Centered System Design: New Perspectives on Human-Computer Interaction in 1986. The concept gained further attention and acceptance in Norman's seminal book The Design of Everyday Things (originally called The Psychology of Everyday Things ). In this book, Norman describes the psychology behind what he deems 'good' and 'bad' design through examples. He exalts the importance of design in our everyday lives and the consequences of errors caused by bad designs.

The two books include principles for building well-designed products. His recommendations are based on the user's needs, leaving aside what he considers secondary issues like aesthetics. The main highlights of these are:


 * 1) Simplifying the structure of the tasks such that the possible actions at any moment are intuitive.
 * 2) Make things visible, including the conceptual model of the system, actions, results of actions and feedback.
 * 3) Getting the mappings right between intended results and required actions.
 * 4) Embracing and exploiting the constraints of systems.

In a later book, Emotional Design, Norman returns to some of his earlier ideas to elaborate what he had come to find as overly reductive.

Models and approaches
For example, the User-Centered Design process can help software designers fulfill the goal of a product engineered for their users. User requirements are considered right from the beginning and included in the whole product cycle. These requirements are noted and refined through investigative methods including: ethnographic study, contextual inquiry, prototype testing, usability testing and other methods. Generative methods may also be used including: card sorting, affinity diagramming and participatory design sessions. In addition, user requirements can be inferred by careful analysis of usable products similar to the product being designed.

User-Centered Design takes inspiration from the following models:
 * Cooperative design: involving designers and users on an equal footing.This is the Scandinavian tradition of design of IT artifacts and it has been evolving since 1970. This is also called Co-design.
 * Participatory design (PD), a North American term for the same concept, inspired by Cooperative Design, focuses on the participation of users. Since 1990, there has been a bi-annual Participatory Design Conference.
 * Contextual design, "customer-centered design" in the actual context, including some ideas from Participatory design

Here are the principles that help in ensuring a design is user-centered:


 * 1) Design is based upon an explicit understanding of users, tasks and environments.
 * 2) Users are involved throughout design and development.
 * 3) Design is driven and refined by user-centered evaluation.
 * 4) Process is iterative.
 * 5) Design addresses the whole user experience.
 * 6) Design team includes multidisciplinary skills and perspectives.

User-centered design process
The goal of user-centered design is to make products that have very high usability. This includes how convenient the product is its usage, manageability, effectiveness, and how well the product is mapped to the user requirements. Below are the general phases of User-Centered Design process: The above procedure is repeated in the next steps to finish the product further. These phases are general approaches and factors like design goals, team and their timeline, and environment in which the product is developed, determine the appropriate phases for a project and their order. You can either follow a waterfall model, agile model or any other software engineering practice.
 * 1) Specify context of use: Identify who the primary users of the product are, why they will use the product, what are their requirements and under what environment they will use it.
 * 2) Specify requirements: Once the context is specified, it is time to identify the granular requirements of the product. This is an important phase which can further facilitate the designers to create storyboards, and set important goals to make the product successful.
 * 3) Create design solutions and development: Based on product goals and requirements, start an iterative process of product design and development.
 * 4) Evaluate product: Product designers do usability testing to get users' feedback for the product at every stage of User-Centered Design.

Purpose
UCD asks questions about users and their tasks and goals, then uses the findings to make decisions about development and design. The UCD of a web site, for instance, seeks to answer the following questions:
 * Who are the users of the website?
 * What are the users' tasks and goals?
 * What are the users' experience levels with the website, and the similar websites?
 * What functions do the users need from the website?
 * What information might the users need, and in what form do they need it?
 * How do users think the website should work?
 * What are the extreme environments in which website can be accessed in?
 * Is the user multitasking?
 * Does the interface utilize different input modes, such as touch, speech, gestures or orientation?

Elements
As an example of UCD viewpoints, the essential elements of UCD of a website usually are the considerations of visibility, accessibility, legibility and language.

Visibility
Visibility helps the user construct a mental model of the document. Models help the user predict the effect(s) of their actions while using the document. Important elements (such as those that aid navigation) should be emphatic. Users should be able to tell from a glance what they can and cannot do with the document.

Accessibility
Users should be able to find information quickly and easily throughout the document, regardless of its length. Users should be offered various ways to find information (such as navigational elements, search functions, table of contents, clearly labeled sections, page numbers, color-coding, etc.). Navigational elements should be consistent with the genre of the document. ‘Chunking' is a useful strategy that involves breaking information into small pieces that can be organized into some meaningful order or hierarchy. The ability to skim the document allows users to find their piece of information by scanning rather than reading. Bold and italic words are often used to this end.

Legibility
Text should be easy to read: Through analysis of the rhetorical situation, the designer should be able to determine a useful font-family and font style. Ornamental fonts, text in all capital letters, large or small body text can be hard to read and should be avoided. Text-colouring and bolding can be helpful when used in text-heavy scenarios. High figure-ground contrast between text and background increases legibility. Dark text against a light background is most legible.

Language
Certain types of languages are needed depending on the rhetorical situation. Short sentences are helpful, as are well-written texts used in explanations and similar bulk-text situations. Unless the situation calls for it, jargon or heavily technical terms should not be used. Many writers will choose to use the active voice, verbs (instead of noun strings or nominals), and a simple sentence structure.

Analysis tools
There are a number of tools that are used in the analysis of User-Centered Design, mainly: personas, scenarios, and essential use cases.

Persona
During the UCD process, a Persona representing the user may be created. A persona is a user archetype used to help guide decisions about product features, navigation, interactions, and even visual design. In most cases, personas are synthesized from a series of ethnographic interviews with real people, then captured in 1-2 page descriptions that include behavior patterns, goals, skills, attitudes, and environment, with a few fictional personal details to bring the persona to life.

For each product, or sometimes for each set of tools within a product, there is a small set of personas, one of whom is the primary focus for the design. There is also what is called a secondary persona, where the character is not the main target of the design, but their needs should be met and problems solved if possible. They exist to help account for further possible problems and difficulties that may occur even though the primary persona is satisfied with their solution. There is also an anti-persona, which is the character for which the design is specifically not made.

Personas are useful because they create a common shared understanding of the user group that the design process is built around. Also, they help prioritize the design considerations by providing a context of what the user needs and what functions are nice to add and have. They can also provide a human face and existence to a diversified and scattered user group and help create empathy and add emotions when referring to the users. However, since personas are a generalized perception of the primary stakeholder group from collected data, the characteristics may be too broad and typical or too much of an "average Joe". Sometimes, personas can have stereotypical properties, which may hurt the entire design process. Overall, personas can be a useful tool to be used by designers to make informed design decisions, as opposed to referring to a set of data or a wide range of individuals.

Personas can also be modified all through the UCD of a product, based on user testing and changing environment. This is not an ideal way to use Personas but should not be a taboo either, particularly when it becomes apparent that variables surrounding a product's development have changed since the design started and current persona/s may not cater well to the changed conditions.

Scenario
A scenario created in the UCD process is a fictional story about the "daily life of" or a sequence of events with the primary stakeholder group as the main character. Typically, a persona created earlier is used as the main character of this story. The story should be specific to the events that relate to the problems of the primary stakeholder group, and, normally the main research questions the design process is built upon. These may turn out to be a simple story about an individual's daily life. Still, small details from the events should imply details about the users, and may include emotional or physical characteristics. There can be the best-case scenario, where everything works out best for the main character, the worst-case scenario, where the main character experiences everything going wrong around him or her, and an average-case scenario, which is the typical life of the individual, where nothing really special or depressing occurs, and the day moves on.

Scenarios create a social context in which the personas exist and create an actual physical world, instead of imagining a character with internal characteristics from gathered data and nothing else, there is more action involved in the persona's existence. A scenario is also more easily understood by people since it is a story and is easier to follow. Yet, like the personas, these scenarios are assumptions made by the researcher and designer and is also created from a set of organized data. It is important to ensure that scenarios are created as close as possible to real world scenarios. Nevertheless, it can sometimes be difficult to explain and inform how low level tasks occur, for ex- the thought process of a persona before acting.

Use case
In short, a use case describes the interaction between an individual and the rest of the world. Each use case describes an event that may occur for a short period of time in real life but may consist of intricate details and interactions between the actor and the world. It is represented as a series of simple steps for the character to achieve his or her goal through a cause and effect scheme. Use cases are normally written in the form of a chart with two columns: first column labelled actor, second column labelled world, and the actions performed by each side written in order in the respective columns. The following is an example of a use case for performing a song on a guitar in front of an audience.

The interaction between actor and the world is an act that can be seen in everyday life, and we take them as granted and don't think too much about the small detail that needs to happen for an act like performing a piece of music to exist. It is similar to the fact that when speaking our mother tongue, we do not overthink about grammar and how to phrase words; they just come out since we are so used to saying them. The actions between an actor and the world, notably, the primary stakeholder (user) and the world in this case, should be considered in detail. Hence, use cases are created to understand how these tiny interactions occur.

An essential use case is a special use case, also called an abstract use case. Essential use cases describe the essence of the problem, and deals with the nature of the problem itself. While writing essential use cases, no assumptions about unrelated details should be made. In additions, the goals of the subject should be separated from the process and implementation to reach that particular goal. Below is an example of an essential use case with the same goal as the former.

Use cases are useful because they help identify useful levels of design work. They allow the designers to see the actual low level processes that are involved in a certain problem, which makes the problem easier to handle, since certain minor steps and details the user makes are exposed. The designers' job should be to take into consideration these small problems in order to arrive at a final solution that works. Another way to say this is that use cases break complicated tasks into smaller bits, where these bits are useful units. Each bit completes a small task, which then builds up to the final bigger task. Like writing code on a computer, it is easier to write the basic smaller parts and make them work first, and then put them together to finish the larger more complicated code, instead of tackling the entire code from the very beginning.

The first solution is less risky because if something goes wrong with the code, it is easier to look for the problem in the smaller bits, since the segment with the problem will be the one that does not work, while in the latter solution, the programmer may have to look through the entire code to search for a single error, which proves time-consuming. The same reasoning goes for writing use cases in UCD. Lastly, use cases convey useful and important tasks where the designer can now see which one are of higher importance than others. Some drawbacks of writing use cases include the fact that each action, by the actor or the world, consist of little detail, and is simply a small action. This may possibly lead to further imagination and different interpretation of action from different designers.

Also, during the process, it is really easy to oversimplify a task, since a small task derived from a larger task may still consist of even smaller tasks which were missed. Picking up a guitar may involve thinking of which guitar to pick up, which pick to use, and think about where the guitar is located first. These tasks may then be divided into smaller tasks, such as first thinking of what colour of guitar fits the place to perform the piece, and other related details. Tasks may be split further down into even tinier tasks, and it is up to the designer to determine what is a suitable place to stop splitting up the tasks. Tasks may not only be oversimplified, they may also be omitted in whole, thus the designer should be aware of all the detail and all the key steps that are involved in an event or action while writing use cases.

Video

 * Human Centered Design, IDEO’s David Kelley
 * User Centered Design, Don Norman