User Centred Design Overview User Centred Design (UCD) • • Human centred design processes for interactive systems, ISO 13407 (1999), states: "Human-centred design is an approach to interactive system development that focuses specifically on making systems usable. It is a multi-disciplinary activity." In UCD, all "development proceeds with the user as the center of focus." (Jeffrey Rubin, Handbook of Usability Testing: How to Plan, Design, and Conduct Effective Tests) Rubin depicts the User-Centered Design Process as follows: – The users are in the center of a double circle. – The inner ring contains: Context; Objectives; Environment and Goals. – The outer ring contains: Task Detail; Task Content; Task Organization and Task Flow. • • • User-Centered Design (UCD) is a user interface design process that focuses on usability goals, user characteristics, environment, tasks, and workflow in the design of an interface. UCD follows a series of well-defined methods and techniques for analysis, design, and evaluation of mainstream hardware, software, and web interfaces. The UCD process is an iterative process, where design and evaluation steps are built in from the first stage of projects, through implementation. Task Detail User Task Flow • • • • Context Objectives Environment Goals Task Organisation Task Content User Centred Design Principles • Early focus on users and tasks – Structured and systematic information gathering (consistent across the board) – Designers trained by experts before conducting data collection sessions • Empirical Measurement and testing of product usage – Focus on ease of learning and ease of use – Testing of prototypes with actual users • Iterative Design – Product designed, modified and tested repeatedly. – Allow for the complete overhaul and rethinking of design by early testing of conceptual models and design ideas. Source: Jeffrey Rubin, Handbook of Usability Testing: How to Plan, Design, and Conduct Effective Tests Jakob Nielsen’s Ten Usability Characteristics • Visibility of system status – The system should always keep users informed about what is going on, through appropriate feedback within reasonable time. • Match between system and the real world – The system should speak the users' language, with words, phrases and concepts familiar to the user, rather than systemoriented terms. Follow real-world conventions, making information appear in a natural and logical order. • User control and freedom – Users often choose system functions by mistake and will need a clearly marked "emergency exit" to leave the unwanted state without having to go through an extended dialogue. Support undo and redo. • Consistency and standards – Users should not have to wonder whether different words, situations, or actions mean the same thing. Follow platform conventions. Jakob Nielsen’s Ten Usability Characteristics • Error prevention – Even better than good error messages is a careful design which prevents a problem from occurring in the first place. Either eliminate error-prone conditions or check for them and present users with a confirmation option before they commit to the action. • Recognition rather than recall – Minimize the user's memory load by making objects, actions, and options visible. The user should not have to remember information from one part of the dialogue to another. Instructions for use of the system should be visible or easily retrievable whenever appropriate. • Flexibility and efficiency of use – Accelerators -- unseen by the novice user -- may often speed up the interaction for the expert user such that the system can cater to both inexperienced and experienced users. Allow users to tailor frequent actions. • Aesthetic and minimalist design – Dialogues should not contain information which is irrelevant or rarely needed. Every extra unit of information in a dialogue competes with the relevant units of information and diminishes their relative visibility. Jakob Nielsen’s Ten Usability Characteristics • Help users recognize, diagnose, and recover from errors – Error messages should be expressed in plain language (no codes), precisely indicate the problem, and constructively suggest a solution. • Help and documentation – Even though it is better if the system can be used without documentation, it may be necessary to provide help and documentation. Any such information should be easy to search, focused on the user's task, list concrete steps to be carried out, and not be too large. What Is Task Analysis ? • Task Analysis is used to identify the sequence of tasks required to complete an activity. • It involves breaking down tasks into discrete steps, and noting the order in which they occur. • This is most useful when designing a new system as the computerised version should mimic the manual system in the type of and ordering of tasks as closely as possible, so that users can easily make the transition to the new computerised system. • It should also expose areas of under productivity which a computerised system could automate. • Any of the following methods can be used to collect information about a system: – Observation (ethnography) – Interviews with users – User logging Task List Development • • • • • • • • • Identify the steps involved in the task What information is used for each task? What affects or causes error in task performance? What are the good features of the system? What are the bad features? What skills are required for each task? How are these skills acquired? How are these skills maintained? How do external factors (time constraints, environment) affect the task? • How could you 'improve' the experience of undertaking the task? User Classification • There are 3 main types of user – Novice – Knowledgeable / intermittent user – Expert / frequent user • Users can however, be classified in any other way that is appropriate to the system being built. – Some users may have keyboard skills, others not. – Some users may have knowledge of other similar systems, others not. • The advantages of classification mean that generalisations can be made about users and their needs. • This doesn’t necessarily mean that the best system has been designed for every individual. • It means that the system has been designed to fit the generalisations for each user group. User Classification Novice • • • For the novice user of a system, progress is slow because of the limitations of working memory. Chunking is almost entirely absent. Systems used by novices require more feedback and more opportunities for closure. User Classification Guidelines for Novice Users • • • • • • • • • • All initiatives should come from the computer – the novice may not know what is to be done Each required input should be brief – the shorter it is the more likely it is to be remembered Input procedures should be consistent with user expectations – humans search for patterns and will generalise No special training should be necessary – especially true in the case of web or multimedia where the user is ‘on their own’ All system messages should be clear – in the language of the user, not the designer User decision should be made from a small set of options – the more of a selection you offer, the harder it is to choose Users should control the pace of interaction - they need to understand the system and feel that they can control it, and not the reverse User decision making should be a response to a specific request for action – save - y/n? Help should always be available – tutor / book / online There should be sufficient feedback - closure User Classification Knowledgeable / Intermittent Users • These users need consistent structures, good help facilities, good documentation. Expert Users • • • • • These users have fast response time and will require brief feedback. Experts organise their knowledge according to a higher conceptual structure. They can recall more than novices because their knowledge is chunked. Expert users will look for keyboard shortcuts, abbreviated sequences. Experts can find constant confirmation screens irritating - use these only when important.