cmput 301: lecture 18 usability paradigms and principles lecturer: martin jagersand department of...

31
CMPUT 301: Lecture 18 Usability Paradigms and Principles Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses by Ken Wong, Eleni Stroulia Zach Dodds, Martin Jagersand

Upload: juliana-gwen-rice

Post on 01-Jan-2016

225 views

Category:

Documents


0 download

TRANSCRIPT

CMPUT 301: Lecture 18Usability Paradigms and Principles

Lecturer: Martin JagersandDepartment of Computing Science

University of Alberta

Notes based on previous courses byKen Wong, Eleni Stroulia

Zach Dodds, Martin Jagersand

2

Lecture notes:

• Prepare for lectures by reading chapters in Dix according to the course plan (on the course home page)

• After the lecture the notes are available in

http://www.cs.ualberta.ca/~jag/courses/c301/

(recently the links to my notes have been overwritten from the main page. The main page is in an account the I don’t have access to)

3

Usability Principles

• Three main categories:– learnability

– ease for new users to begin effective interaction and achieve maximal performance

– flexibility– multiplicity of ways for the user and system to

exchange information

– robustness– level of support provided to the user for assessing

achievement

4

Learnability

• Principles affecting learnability:– synthesizability

– Access how past operations affect state

– predictability– Predict effects of future observations

– Familiarity– Affordance, real world metaphor

– Generalizability– Consistency

– Similar situations -> similar interaction patterns

5

Learnability

• Synthesizability:– the user can form a mental model of the

behavior of the system– important for the user to predict system

behavior

6

Learnability

• Honesty:– related to synthesizability– the user interface provides an observable and

informative account of a change in the system state(immediately or eventually)

– e.g., file management(direct manipulation versus command line)

7

Learnability

• Predictability:– avoid surprises

(unless you are designing a game)– the user can learn the effect of an action based

on what has already happened– user-centered concept, since computers are

largely deterministic

8

Learnability

• Useful heuristics in design:

1. Operation visibility:– related to predictability– the user can discover what operations can be

done

2. State dependence• Difficult for user to anticipate effects of an

operation if it depends on an invisible state• Example vi editor: edit or command mode

9

Learnability

• Familiarity:– the user can exploit existing knowledge in one

domain for effective interaction with a new system– metaphors or guessability

– e.g., typewriter and word processors

– affordances– i.e., appearances suggest behavior

– e.g., stop/play buttons

10

Learnability

• Generalizability:– the user can extend their knowledge of specific

behaviors to similar, unencountered situations– e.g., drawing squares and circles– e.g., cut and paste, drag and drop

11

Learnability

• Consistency:– the likeness in behavior from similar situations– many forms of consistency

– within the product

– with earlier versions

– with standards

– with metaphors

– with user expectations

12

Flexibility

• Principles affecting flexibility:– dialog initiative– multi-threading

– multi-modality

– task migratability– substitutivity

– representation multiplicity

– equal opportunity

– customizability

13

Flexibility

• Dialog initiative:– system preemptive

– system initiates dialog

– user responds to requests for information

– e.g., alert dialog

– user preemptive– user initiates dialog

– system responds

– more flexible

– need to balance both forms of initiative

14

Flexibility

• Multi-threading (and multi-tasking):– support user interaction pertaining to more than one

task at a time– interleaved

– direct interaction with a single task at a time

– e.g., using multiple windows for overlapping tasks

– concurrent– interaction among tasks is “simultaneous”

– e.g., working in one window while beep goes off for new email in another window

15

Flexibility

• Multi-modality:– related to multi-threading– the user interface combines channels of

communication for input or output– separate

– e.g., mouse, keyboard, or speech input to open a window

– fused– e.g., mouse + keyboard

– e.g., visual error warning with sound

16

Flexibility

• Task migratability:– the ability to transfer control for executing tasks

between the system and the user– manual, semi-automatic, automatic– e.g., spellchecking

17

Flexibility

• Substitutivity:– allowing equivalent values of input and output

to be substituted for each other– e.g., using arithmetic expressions in numeric

fields

18

Flexibility

• Representation multiplicity:– related to substitutivity– providing many ways to render the system state– e.g., graphic image and levels

19

Flexibility

• Equal opportunity:– related to substitutivity– blurring the distinction between input and

output– use output as input– e.g., dimensioned lines, spreadsheets, math

equations

20

Flexibility

• Customizability:– allowing the user interface to be modified by the

user or the system– adaptability

– user initiated

– e.g., write scripts, change looks, etc.

– adaptivity– system initiated adjustments

(based on its knowledge from observing the user)

– e.g., record scripts, etc.

21

Robustness

• Principles affecting robustness:– observability

– browsability

– defaults

– reachability

– persistence

– recoverability– commensurate effort

– task conformance– responsiveness

22

Robustness

• Observability:– the user can evaluate the system internal state

through its perceivable interface representation– four related principles …

23

Robustness

• Browsability:– related to observability– the user can explore the current internal system

state via the limited view provided at the interface

– browsing has no side-effects on the state

24

Robustness

• Defaults:– related to observability– the user is assisted by default values that suggest an

appropriate response– recognition versus recall of what is right– static

– defaults do not evolve during the session

– dynamic– defaults do evolve (i.e., the system adapts)

25

Robustness

• Reachability:– related to observability– the user can navigate through the observable

system states

26

Robustness

• Persistence:– related to observability– the duration of the effect of a communication

and the ability of the user to exploit that effect– versus transient– e.g., visual versus audio information

27

Robustness

• Recoverability:– the user can take some corrective action after

recognizing an error has occurred– forward error recovery

– effect cannot be revoked

– fix effect somehow or start over

– backward error recovery– effect can be undone

28

Robustness

• Commensurate effort:– if it is difficult to undo a given effect on the

state, then it should have been difficult to do in the first place

– e.g., deleting files

29

Robustness

• Task conformance:– the system supports all the tasks of interest in a

way the user understands– requires task analysis

30

Robustness

• Responsiveness:– the rate of communication between the system

and the user– in general, the shorter, the better

31

End

• What did I learn today?

• What questions do I still have?