In broad terms, user-centered design (UCD) is a design philosophy and a process in which the needs, wants, and limitations of end users of an interface or document are given extensive attention at each stage of the design process. User-centered design can be characterized as a multi-stage problem solving process that not only requires designers to analyze and foresee how users are likely to use an interface, but also to test the validity of their assumptions with regards to user behaviour in real world tests with actual users. Such testing is necessary as it is often very difficult for the designers of an interface to understand intuitively what a first-time user of their design experiences, and what each user's learning curve may look like.
The chief difference from other interface design philosophies is that user-centered design tries to optimize the user interface around how people can, want, or need to work, rather than forcing the users to change how they work to accommodate the software developers approach.
Models of a user-centered design process help software designers to fulfill the goal of a product engineered for their users. In these models, user requirements are considered right from the beginning and included into the whole product cycle. Their major characteristics are the active participation of real users, as well as an iteration of design solutions.
All these approaches follow the ISO standard Human-centered design processes for interactive systems (ISO 13407 Model, 1999).
UCD answers questions about users and their tasks and goals, then use the findings to make decisions about development and design. UCD of a web site, for instance, seeks to answer the following questions:
As examples of UCD viewpoints, the essential elements of UCD of a web site are considerations of visibility, accessibility, legibility and language.
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.
Users should be able to find information quickly and easily throughout the document, whether it be long or short. Users should be offered various ways to find information (such 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 type 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.
Text should be easy to read: Through analysis of the rhetorical situation the designer should be able to determine a useful font style. Ornamental fonts and text in all capital letters are hard to read, but italics and bolding can be helpful when used correctly. Large or small body text is also hard to read. (Screen size of 10-12 pixel sans-serif and 12-16 pixel serif is recommended.) High figure-ground contrast between text and background increases legibility. Dark text against a light background is most legible.
Depending on the rhetorical situation certain types of language are needed. Short sentences are helpful, as well as short, well written texts used in explanations and similar bulk-text situations. Unless the situation calls for it don’t use jargon or technical terms. Many writers will choose to use active voice, verbs (instead of noun strings or nominals), and simple sentence structure.
A User Centered Design is focused around the rhetorical situation. The rhetorical situation shapes the design of an information medium. There are three elements to consider in a rhetorical situation: Audience, Purpose, Context.
The audience is the people who will be using the document. The designer must consider their age, geographical location, ethnicity, gender, education, etc.
The purpose is how the document will be used, and what the audience will be trying to accomplish while using the document. The purpose usually includes purchasing a product, selling ideas, performing a task, instruction, and all types of persuasion.
The context is the circumstances surrounding the situation. The context often answers the question: What situation has prompted the need for this document? Context also includes any social or cultural issues that may surround the situation.
The book "The Design of Everyday Things", originally called "The Psychology of Everyday Things" was first published in 1986. In this book, Donald A. Norman describes the psychology behind what he deems 'good' and 'bad' design through examples and offers principles of 'good' design. He exalts the importance of design in our everyday lives, and the consequences of errors caused by bad designs.
In his book, Norman uses the term "user-centered design" to describe design based on the needs of the user, leaving aside what he considers to be secondary issues like aesthetics. User-centered design involves simplifying the structure of tasks, making things visible, getting the mapping right, exploiting the powers of constraint, and designing for error. Norman's overly reductive approach in this text was readdressed by him later in his own publication "Emotional Design".
Other books in a similar vein include "Designing Pleasurable Products"  by Patrick W. Jordan, in which the author suggests that different forms of pleasure should be included in a user-centered approach in addition to traditional definitions of usability.
Software applications, or more commonly suites of applications, used in Product Lifecycle Management, typically including CAD, CAM and CAx processes, can be typically characterized by the need for these solutions to serve the needs of a broad range of users, with each user having a particular job role and skill level. For example, a CAD Digital Mockup might be utilized by a design engineer of moderate skills, a novice engineering analyst or a manufacturing planner of advanced skills.
To provide true user-centered design, it is necessary for these applications to have a tailorable user interface through which a user interface appropriate to each user-class can be provided.
While user-centered design is often viewed as being focused on the development of computer and paper interfaces, the field has a much wider application. The design philosophy has been applied to a diverse range of user interactions, from car dashboards to service processes such as the end-to-end experience of visiting a restaurant, including interactions such as being seated, choosing a meal, ordering food, paying the bill etc.
When user-centered design is applied to more than single user interactions, it is often referred to as user experience. A user experience comprises a number of separate interfaces, human-to-human contacts, transactions and conceptual architectures. The restaurant example (above) is an example of this - ordering a meal or paying the bill are two user interactions, but they are a part of the "user experience" called dining out. It is not enough to have the separate interactions that comprise an experience being usable. The goal is that each interaction should integrate with every other interaction that forms a part of a single experience. In this way, the experience as a whole is rendered usable.
In product design, this is sometimes referred to as the "out of the box experience," referring to all tasks the user must complete from first opening the box the product is shipped in, through unpacking, reading the directions, assembly, first use and continuing use.