- Learnability/Familiarity: for example, reduce short term memory load, ensure ease of understanding and guessability, make operations visible, use appropriate metaphors.
- Ergonomics/Human Factors: for exemple, allow for flexible input (like menus, shortcuts, panels), multiple communication, design for user growth
- Consistency/Standards: for example, likeness in behavior, consistent and clear user interface elements
- Feedback/Robustness: give appropriate quantity of response, offer informative feedback, let the user recover from errors or dead-ends, insure stability, task completeness and adequacy, respond in time.
- Visibility - knowing the stat of an object and the choices available
- Feedback - timely, in an appropriate mode (aural, visual, etc.), yet not distracting from task
- Affordance - use object whose actual properties are in accordance with its perceived properties (e.g. an icon depicting a switch should turn something on or off)
- Mapping - make use of the relationship between objects and their environment (e.g. placing a menu bar at the top of an application window)
- Constraints - limit the possible interactions physically, semantically (context-related meaning), logically, or culturally (learned conventions)
- Habituation - the use of the system should become internalized to the point that the user only thinks of the task, not the system
HCI design approaches
- Top-down or hierarchical problem solving - working from the functional level to the specific working out issues problems that arise
- Design by reuse - use of previous designs that are based on similar situations
- Design problem evolution - recognition and relaxation of assumptions thus engaging in a redefinition of the problem in cycles that involve planning, translating and revising in order to optimize a system so that it can satisfy diverging and contradictory requirements
- Design by deliberative recognition-priming - use of previous conceptual knowledge and experience to recognize useful patterns to by-pass hierarchical processes
- Design by serendipitous recognition-priming - ideas that arise from opportunistic comparisons and analogies not necessarily directly related to the design problem.
- Design by collaboration and confrontation - team-based design based on collaboration and confrontation activities.
Tom Erickson (1995) outlines some ways in which storytelling can be used as a tool for designing human-computer interactions. Stories reveal users' experiences, desires, fears and practices that can in turn drive effective user-centered design. He points out that stories, in contrast to scenarios, involve real people in particular situations and consequently involve unique histories, motivations and personalities.
- story gathering - gathering users' stories on the users' domain (a culturally, socially and physically situated environment) thereby collecting and building a shared language, referents and questions and issues to be addressed.
- story making - building 'scenario-like' stories that capture emerging common concepts and details from users' stories
- involving users - using stories with users to elicit dialog and discussions that bring essential ideas and problems to light that should be considered in the design.
- transferring design knowledge - being highly memorable and still susceptible to the uncertainty entailed in the particular being applied to the whole, “ stories become important as mechanisms for communicating with the organization by upport design transfer”, by “ capturing both action and motivation, both the what and the why of the design” (Erickson, 1995)
Personas in interaction design
Design of an interaction sets the conditions in which a conversation between a user and a system will take place. The system needs to speak and respond to the user. To envision more effectively how such a conversation may proceed, interaction designers determine user personas. Personas are defined models of intended and potential user types. These models can be defined through ethnographic research practices such as observation, interviews or direct user-testing with sample target users. Personas are widely used in user-centered design approaches.