Usability EngineeringPart 1 CIS 577 Bruce R. Maxim UM-Dearborn
What is a User Interface? • The user interface is the boundary between the user and the functioning part of the system. • The interface may disguise the inner workings of the system by relying on metaphors to express the users tasks that can be accomplished using the system.
Everyday Objects and the User Interface • Everyday objects have user interfaces • Users rarely consider an object’s functionality separately from its user interface. • For most users, the user interface “is” the object.
Learning from Everyday Objects • Poorly designed user interfaces can impair a user’s ability to use an object. • Potentially true even if the objetc’s functionality is very good. • When an interface is poor, it often reflects an inappropriate design process.
How Do Users Know What to Do with an Interface? • Objects provide subtle perceptual cues • What part of the object to operate (i.e., what is the interface)/ • What we are supposed to do with the interface. • How our interaction is constrained by the interface and the interface’s. • What is supposed to happen when we operate the interface.
Perceptibility of Salient Cues from the Interface • For us to perceive subtle clues about an interface, the important parts must be obvious. • The interface must provide the appropriate information for achieving relevant tasks. • The interface needs to provide information to help support the user’s decision about what needs to be done next to achieve a goal.
User Models of Devices • We process the information from a device through whatever existing internal mental model we have about this kind of device. • We call this a “mental model” of the device. • Mental models help us to make predictions about a device.
User Device Models • The following information is incorporated into our mental models of device operation. • What do you perceive you can do with the user interface? • What are the limitations of the user interface? • What is supposed to happen when we operate the interface?
In-Class Exercise • Consider an everyday object in the class room (e.g. the display selection box) • Answer the following questions. • What is the user interface? • How do you operate the device? • How is the operation constrained? • How is the user input to the interface related to the expected function of the object?
Accuracy of Our Mental Model • How do we know that our mental model fits the device? • Feedback is a mechanism by which users can adjust their mental models. • What happens when the feedback contradicts out mental model? • Frustration?
Feedback • Information perceived from the user interface in concert with the user’s knowledge is used to form a mental model of the device and its operation. • Feedback from the user interface is a way that users check and evolve their mental model of a device. • We cannot evaluate the user interface design independently of either the user’s background or task context.
User Friendly? Not! • User friendly" is an anthropomorphic term. • Do people want to be friends with your computer or its interface? • “User-friendly” suggests a one-dimensional attribute. • The system is either user friendly or not! • Clearly there is a range of usabilty values as user interfaces can be more or less usable.
User Interface Success Factors • Type of user • Type of task • Hardware constraints • Social and cultural limitations • Environmental constraints
Hardware Environments • Hardware has become much more powerful. • This has permitted the development of more sophisticated user interfaces, such as graphical user interfaces. • Hardware that the user interacts with directly (peripherals) has become more diversified. • This has also contributed to the development of different user interfaces. • Hardware has become more accessible to a wider range of users.
Changes in User Characteristics • The proportion of professional computer scientists to routine users has changed dramatically. • In the western world most people need to interact with some type of computing equipment in their daily lives. • Novice users have sophisticated expectations about the computer systems that they use.
Changes in Software Applications • The software applications that the user interacts with directly have become more and more diversified. • Who would have imagined the wide spread use of the Internet, cell phones, Ipods, or video games by the “masses” without any programming knowledge.
Perspective • Building usable interfaces is difficult. • Many myths about usability persist. • Good user interfaces are just appealing graphics. • Usability is an outcome of common sense. • Guidelines, applied to user interface problems, will lead to usability. • Usability problems can be solved with help/training/documentation.
What are the Big Issues? • How do we improve user interfaces and the user interface development process? • What is the future of HCI? • How can software engineers ensure good usability in the systems that they build?
Defining Usability? • A dictionary definition is still not detailed enough to evaluate whether a system is usable or not. • How could we extend a definition into something that could actually be used to evaluate usability? • A model of usability • describes characteristics of a usable interface • indicates how those characteristics fit together • what the characteristics mean.
Usability • Usability is the result of the interaction of the characteristics of the user interface and the situation. • Usability engineers cannot usually control or change the situation. • The best chance to create a highly usable interface is to make design decisions that take the situation variables into account.
Shackel’s Model of Usability - 1 • Effectiveness • User performance better than some required level • By some proportion of the target users • Within some required range of user environments • Learnability • Time required between system installation and start of user training • Based on a specified amount of training and user support • Amount of the relearning time required for intermittent users between sessions
Shackel’s Model of Usability - 2 • Flexibility • Allows adaptation to a specified level of variation in tasks or environments (beyond the original specification) • Attitude • Within acceptable measures of human cost (tiredness, discomfort, frustration, effort)
Eason’s Model of Usability • Usability is an outcome (dependent variable) that results from a combination of system (user interface) characteristics and contextual variables of user and task. • Under each of these dimensions (system, user, task), Eason gives some ideas of what issues affect usability. • Eason's framework is based on a field study that he performed and the variables that he highlighted were the one's that he found to be important in his study.
Eason ModelTask Characteristics • Task is what the user can accomplish with the system or device. • Task characteristics • Frequency • Number of times a task is performed by a user. • Openness • Extent to which a task is modifiable. • Task characteristics are independent of the platform on which the task is performed.
Eason ModelUser Characteristics • Eason recognized that characteristics that the user brought to the task and the user interface would influence their experience. • User characteristics • Knowledge • The knowledge user applies to the task may be appropriate or inappropriate. • Motivation • How determined the user is to complete the task. • Discretion • User's ability to choose not to use some part of a system.
Eason ModelSystem Characteristics • In this model the system is the user interface. • System characteristics • Ease of learning • Effort required to understand and operate an unfamiliar system. • Ease of use • Effort required to operate a system once it has been understood and mastered by the user. • Task match • Extent to which information and functions a system provides matches the needs (goals) of the user.
Applying Causal Models • Eason’s model says that usage context, in combination with user interface characteristics, drive and determine usability. • Eason’s model has two parts: • Input is user/system/task characteristics which are the main independent variables. • Outcome is user’s reaction which is the dependent variable.
What to Do With Usability Models? • Demonstrate or evaluate existing systems. • Develop systems with a goal of usability • Usability models suggest that a usable interface will be one that emphasizes • Ease of learning • Ease of use • Good task match • High levels of user satisfaction
Building a User Interface • Building a User Interface is part of the larger problem of building a software system. • Adding a significant user interface to a software project requires. • Support for interactivity. • Support for media. • Support for user-tailoring.
Activities in Software Engineering • Understanding and documenting the context of the project. • Understanding and documenting the problem to be solved • Designing and documenting a solution in the context. • Implementing the solution. • Testing and evaluating the solution.
Benefits of Exactly Following the Waterfall Model • Following any methodology imposes discipline on the software development process. • Following a phased model improves cost and resource forecasting.
Problems of Following the Waterfall Model • Has difficulty accommodating uncertainty existing at beginning of many projects. • Does not inherently support iteration. • Requires customer to completely elaborate requirements at the beginning of the project. • Customer will not see any defects until late in the development cycle.
Spiral Model • Supports incremental ddevlopment • Early customer involvement • Uses metrics-based risk assessment with each spin to make the go/no go decision • Requires creation and evaluation of interface prototypes
Star Life Cycle Is… • Not sequential • Activities can proceed in any order • Evaluation-centred • Each activity is evaluated • Interconnected • Thorough the evaluation in the middle
Usability and Software Engineering • In the abstract, the steps for both tasks are the same. • We can set up parallel flows of activities for both usability and software engineering. • The model supports iteration.
Activities of Usability Engineering • Understanding and documenting the context of the project. • Understanding and documenting the problem to be solved. • Designing and documenting a solution in the context. • Implementing the solution. • Testing and evaluating the solution.