CS 5150 1 CS 5150 Software Engineering Lecture 11 Usability 1

Preview:

Citation preview

CS 5150 1

CS 5150 Software Engineering

Lecture 11

Usability 1

CS 5150 2

Course Administration

Test 2 this evening

Same format as the first test

Weekly reports

Alex Fix will read the reports and send you any messages about them.

Be sure that the report includes a brief summary of what was planned for last week, what was achieved, and what is planned for this week.

CS 5150 3

Planning for the Presentation

How will you use the time?

This is a presentation to the client, with the instructor and teaching assistant as a secondary audience. Possible topics:

• Overview of project and progress against plan.

• Presentation of assumptions, decisions.

• Summary of requirements in moderate detail.

• What has been learned since feasibility study? Changes in plans.

Allow 15 minutes for questions. Expect interruptions.

"This is our understanding of your requirements..."

CS 5150 4

Planning for the Presentation

Not everybody is a great presenter, but everybody can be well-prepared.

Have a rehearsal, check visual aids and demonstrations. Then change nothing.

Check out the equipment in the meeting room. What network will you use (if any). How will you connect a computer (if you do)? What about firewalls?

Will one person act as chair and call on other members of the team?

CS 5150 5

During the Presentation

• The presenter should stand. Other people should sit.

• Appoint a team member to take notes.

• The first presenter should introduce everybody.

• When asked a question:

-> If the presenter knows the answer, answer it.-> Or the presenter may ask another team member to answer.-> Otherwise make a note and reply later.

• Never interrupt your colleagues. If you have information to add, raise you hand and the presenter can decide whether to call on you.

CS 5150 6

The Importance of User Interface Design

Good support for users is more than a cosmetic flourish

• Elegant design, appropriate functionality, & responsive system: => a measurable difference to their effectiveness

• A system that is hard to use: => users may fail to find important results, or mis-interpret what they do find=> user may give up in disgust

A computer system is only as good as the interface it provides to its users

CS 5150 7

Usability: The Analyze/Design/Evaluate Loop

Evaluate

?Design

Build

Analyze requirements

The Information Science program and Communication Department offer a series of courses in Human Computer Interaction.

User testing

CS 5150 8

Requirements for User Interfaces

It is almost impossible to specify an interactive interface in a textual document

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

• Design documents 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 changethe requirements as the result of testing.

CS 5150 9

Tools for Usability Requirements and Evaluation

Initial Mock-up Prototype Production

Client's opinions

Competitive analysis

Expert opinion

Focus groups

Observing users

Measurements

CS 5150 10

Tools for Usability Requirements:

Mock-up

CS 5150 11

Tools for Usability Requirements: Focus Group

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 contrasting user groups

CS 5150 12

Usability:Accessibility Requirements

Requirements about accessibility (e.g., support for users with disabilities) are most likely to arise in the user interface.

You may have a legal requirement to support people with disabilities.

Example of requirements specification:

The system must comply with Section 508 of the US Rehabilitation Act. See http://www.section508.gov/

CS 5150 13

Usability Requirements: Device-aware User Interfaces

Examples:

desk-top computer, fast network connectionlaptop computer, intermittent connectivityiPod, synchronizationsmart telephonedigital camera, camcorder

Device-aware user interfaces:

=> performance of device=> limited form factor (display, keyboard)=> connectivity

CS 5150 14

Usability: Non-Functional Requirements

Performance, Reliability, Scalability, Security…

Example: Response time0.1 sec – the user feels that the system is reacting instantaneously1 sec – the user will notice the delay, but his/her flow of thought stays uninterrupted10 sec – the limit for keeping the user's attention focused on the dialogue

CS 5150 15

Design from a System Viewpoint

interface design

functional design

data and metadata

computer systems and networks

mentalmodel

CS 5150 16

Mental Model

What a person thinks is true about a system, not necessarily what is actually true

• Similar in structure to the system that is represented

• Allows a person to predict the results of his actions

• Simpler than the represented system. A mental model includes only enough information to allow accurate predictions (i.e. no data structures)

Also called conceptual model

CS 5150 17

Examples of Mental Model

The mental (conceptual) model is the user's internal model of what the system provides:

• The desk top metaphor -- files and folders

• The Web model -- one vast collection of pages with hyperlinks

CS 5150 18

Interface Design

The interface design is the appearance on the screen and the actual manipulation by the user

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

• Mouse control or keyboard control

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

Examples:

• Screen space utilization in Acrobat.

• Number of snippets per page in Web search.

CS 5150 19

Principles of Interface Design

Interface design is partly an art, but there are general principles:

• 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

CS 5150 20

Functional Design

The functional design, determines the functions that are offered to the user

• Selection of parts of an object

• Searching a list or sorting the results

• Help information

• Manipulation of objects on a screen

• Pan or zoom

There may be many user interface choices for the same function, e.g., Macintosh v. Windows desktop

CS 5150 21

Data and Metadata

Structural data and metadata stored by the computer system enable the functions and the interface

• Effectiveness of searching depends on the type and quality of data that is indexed (free-text, controlled vocabulary, etc.)

• The desktop metaphor has the concept of associating a file with an application. This requires a file type to be stored with each file:

-- extension to filename (Windows and Unix) -- resource fork (Macintosh)

CS 5150 22

Computer Systems and Networks

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 the Mercury page turner

• Quality of Service for real time information

CS 5150 23

Command Line Interfaces andText-only Menus

Command line interfaces and text-only menus had become almost entirely replaced by graphical interfaces, but are returning:

• Devices with small form factor or other special features, e.g. cell phone, PDA, etc.

• Interfaces for simple tasks with general users, e.g. automated bank teller (ATM)

CS 5150 24

Design: Command Line Interfaces

SEARCH I NSPEC Dat abase- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -Type keywor ds and pr ess RETURN - - orent er a command

Def aul t i s ADJ : aci d f r ee- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Set #3: aci d adj f r e 0 r ecor ds I NSPEC Dat abase

Set #4: aci d adj f r ee 5 r ecor ds I NSPEC Dat abase

Set #5: aci d and paper 448 r ecor ds I NSPEC Dat abase

Set #6: deaci di f i cat i on 4 r ecor ds I NSPEC Dat abase- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

CS 5150 25

Design: Command Line Interfaces

User interacts with computer by typing commands

• Allows complex instructions to be given to computer

• Facilitates formal methods of specification & implementation

• Skilled users can input commands quickly

• Unless very simple, requires learning or training

• Can be adapted for people with disabilities

• Can be multi-lingual

• Suitable for scripting / non-human clients

CS 5150 26

Design:Graphical Interfaces and Direct Interaction

User interacts with computer by manipulating objects on screen

• Can be intuitive and easy to learn

• Users get immediate feedback

• Not suitable for some complex interactions

• Does not require typing skills

• Straightforward for casual users, may be slow for skilled users

• Icons can be language-independent

• Difficult to build scripts

• Only suitable for human users

CS 5150 27

Design for Direct Manipulation

metaphors and mental models: Conceptual models, metaphors, icons, but there may not be an intuitive model

navigation rules: How to move among data functions, activities and roles in a large space

conventions: Familiar aspects that do not need extra training.

=> scroll bars, buttons, help systems, sliders

=> good for users, good for designers

look: characteristics of the appearance that convey information

feel: interaction techniques that provide an appealing experience

CS 5150 28

Design for Direct Manipulation: Menus

• Easy for users to learn and use• Certain categories of error are avoided• Enables context-sensitive help

Major difficulty is structure of large choices

• Scrolling menus (e.g., states of USA)• Hierarchical• Associated control panels• Menus plus command line

Users prefer broad and shallow to deep menu systems

CS 5150 29

Help System Design

Help system design is difficult

• Must prototype with mixed users

• Categories of help:

=> Overview and general information=> Specific or context information=> Tutorials (general)=> Cook books and wizards=> Emergency ("I am in trouble ...")

• Must have many routes to same information

Never blame the user!

CS 5150 30

Information Presentation

Simple is often better than fancy

• Text

precise, unambiguous

fast to compute and transmit

• Graphical interface

simple to comprehend / learn

uses of color

variations show different cases

CS 5150 31

Separation of Presentation from Content

Information to be displayed

Presentation software Display

Presentation software

Display

PDF

Acrobat

html

Firefox