21
Software Engineering Lecture 9 Usability 1

CS 5150 Software Engineering Lecture 9 Usability 1

Embed Size (px)

Citation preview

CS 5150Software

EngineeringLecture 9

Usability 1

2CS 5150

Administrivia

• Surveys cancelled

• Not all team members need to attend every presentation

• Every team member must present at least once

3CS 5150

A Couple of Interesting News Items

• US Patent and Trademark Office attempting to crowd-source patent review

• Dual licensing fiasco

4CS 5150

The Usability Corollary to Schneier’s Law

• Any person can invent a security system so clever that he or she can’t imagine a way of breaking it

• Any person can design an interface so intuitive that he or she can’t imagine a way of misusing it

5CS 5150

Software Must Be Usable to be Useful

• Effective design, appropriate functionality, responsive system

• happy users, satisfied developers

• Poor usability

• Users fail to find functionality/data

• Users misinterpret or misuse features

• Users give up in disgust

• (may apply to specific subsets of users)

• Usability is more than esthetics!

6CS 5150

The Core of Usability Design: Evaluation, Iteration

7CS 5150

User Interfaces in Software Processes

• Static textual documents are weak for specifying interactive human interfaces

• Requirement specifications benefit from sketches, comparison with existing systems, etc.

• Design specifications should definitely include graphical elements and benefit from a mock-up or other form of prototype

• Schedules should include user testing and time to make changes

• User interfaces must be tested with users. Expect to change the requirements as the result of testing.

8CS 5150

Tools for User Interface Design/Evaluation

9CS 5150

Mock-ups: a Cheap and Flexible Tool

10

CS 5150

Focus Groups for New Interface Ideas

• A focus group is a group interview

• Interviewer

• Potential users

• Typically 5 to 12

• Similar characteristics (e.g., same viewpoint)

• Structured set of questions

• May show mock-ups

• Group discussions

• Repeated with different (potential) user populations

11

CS 5150

Accessibility

• Support for users who cannot use standard interface effectively

• Your team may be subject to legal/contractual requirements

• Example of requirements specification:

• The system must comply with Section 508 of the US Rehabilitation Act

• http://www.section508.gov/

• Good first step: build your software with popular user interface frameworks; adhere to standards

• User testing may not be enough

12

CS 5150

Usability is More than Skin Deep

13

CS 5150

Examples of Mental Models

• The desk top metaphor -- files and folders in “physical” locations

• The web search model -- A flat collection of pages, searched upon request

• Also called a conceptual model

14

CS 5150

Mental Models

• A mental model is the user’s understanding of what is going on under the hood

• Allows user to predict results of actions

• Usually quite a bit simpler than the actual system implementation

• Can be different from system implementation, but such divergence creates risk of user surprise

15

CS 5150

Interface Design is Skin Deep

• Appearance of information on screen and modes of control

• Fonts, colors, logos, key board controls, menus, buttons

• Mouse control or keyboard control

• Conventions (e.g., "back", "help")

• Examples:

• Screen space utilization in Adobe Reader

• Number of snippets per page in Web search

16

CS 5150

Art and Science of Interface Design

• Interface design has a large dose of art, but there are some general principles that can be applied

• Consistency -- in appearance, controls, and function

• Feedback -- what is the computer system doing? why does the user see certain results?

• Users should be able to interrupt or reverse actions

• Error handling should be simple and easy to comprehend

• Skilled users should be offered shortcuts; beginners should have simple, well-defined options

• The user should feel in control

• Fitt’s law

17

CS 5150

Interface Functions and Objects

• Interface functions: actions available to the user

• Select part of an object

• Search a list or sort results

• View help information

• Manipulate on-screen objects

• Pan, zoom

• In general there are many alternative interface designs for an interface function

18

CS 5150

System Issues Affect Usability

• The performance, reliability and predictability of computer systems and networks is crucial to usability

• Examples

• Instantaneous response time for mouse tracking and echo of key stroke

• Pipelined algorithm for a page turner

• Quality of service for real time information, e.g., audio

19

CS 5150

Relevant Response Time Limits

• Example: Response time

• 0.1 sec – the user feels that the system is reacting instantaneously

• 1 sec – the user will notice the delay, but his/her flow of thought stays uninterrupted

• 10 sec – the limit for keeping the user's attention focused on the dialogue

20

CS 5150

Device Aware Interfaces

• Interfaces must take into account physical constraints of computers and networks:

• How does a desk-top computer differ from a laptop?

• What is special about a smart phone?

• How do you make use of a touch-sensitive screen?

• What works well with a digital camera?

• Constraints that the interfaces must allow for:

• performance of device (e.g., fast or slow graphics)

• limited form factor (e.g., small display, keyboard)

• connectivity (e.g., intermittent)

21

CS 5150

Textual (Command Line) Interfaces

• Largely displaced by graphical interfaces, but still relevant in some contexts:

• Scripting

• Sometimes makes complex interactions easier

• Faster for certain tasks (and certain users)

• Easier for people with some disabilities

• Low bandwidth requirements