cmput 301: lecture 14 the interaction lecturer: martin jagersand department of computing science...

48
CMPUT 301: Lecture 14 The Interaction 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: vivian-cox

Post on 25-Dec-2015

215 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

CMPUT 301: Lecture 14The Interaction

Lecturer: Martin JagersandDepartment of Computing Science

University of Alberta

Notes based on previous courses byKen Wong, Eleni Stroulia

Zach Dodds, Martin Jagersand

Page 2: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

2

Today:

• Models of interaction

• Interaction styles

• Elements of WIMPS

Page 3: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

3

Models of Interaction

• Terms:– goal

– to be accomplished

– domain– area of discourse

– tasks– operations to

manipulate domain concepts

– intention– specific action required

to meet goal

– core language– computational attributes

of the domain relevant to the system

– task language– psychological attributes

of the domain relevant to the user

Page 4: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

4

Norman’s Model of Interaction

• Execution-evaluation cycle:1. establishing the goal

2. forming the intention

3. specifying the action sequence

4. executing the action

5. perceiving the system state

6. interpreting the system state

7. evaluating the system state with respect to goals and intentions

Page 5: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

5

Norman’s Model of Interaction

• Why interfaces cause problems:– gulfs of execution difference between

1. the user’s formulation of the actions needed to reach the goal and

2. actions allowed by the system

– gulfs of evaluation distance between

1. the presentation of the system state and 2. the expectation of the user

Page 6: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

6

Interaction Framework

• Framework:– four components

– language for each component

– input and output components form the interface

– four translations

– execution, state change, then evaluation

System UserInterface

Page 7: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

7

Interaction Framework

• Does the (users) task language map easily to the input language?– e.g.,

– turning on only a certain section of room lights

– running a program whose icon is not visible

Page 8: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

8

Interaction Framework

• Does the input language reach all system states?– e.g.,

– remote control unit with no way to access certain functions

Page 9: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

9

Interaction Framework

• How to express system state with limited output devices?– e.g.,

– limited screen space to present the entire system state

Page 10: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

10

Interaction Framework

• How effectively can the user interpret and evaluate the output?– e.g.,

– unmarked analog clock

– misleading or no feedback

– previewing facilities

– advice

Page 11: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

11

Frameworks and HCI

Page 12: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

12

Ergonomics

• Ergonomics:– Human factors engineering– the study of the physical characteristics of the

interaction– e.g.,

– physical controls

– physical environment

– qualities of the display

Page 13: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

13

Ergonomics

• Arrangement of controls and displays:– efficiently accessible– avoid frustration– well organized

Page 14: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

14

Ergonomics

• Organizing controls and displays:– functional

– group by function

– sequential– arrange to reflect order of use in a task

– frequency– most commonly used controls are most accessible

Page 15: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

15

Ergonomics

• Health issues:– physical position– temperature– lighting– noise– time (exposure)

Page 16: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

16

Interaction Styles

• Common interfaces:– command line

– menus

– natural language

– question/answer and query dialog

– forms and spreadsheets

– Direct/Indirect manipulation

– WIMP

– point and click

– 3D

Page 17: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

17

Command Line

• Example:% cat foo | tr -sc A-Za-z ‘\012’ |tr A-Z a-z | sort | uniq -c | sort -n | tail -50

Page 18: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

18

Command Line

• Advantages– flexible and powerful– useful for repetitive tasks– Easy to define macros

• Disdvantages– more difficult to use and learn– need to recall commands (no cues)– commands may vary across systems

Page 19: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

19

Menus

• Example:Payment Details

Payment methods:1. Cash2. Cheque3. Credit card4. Invoice

9. Cancel transaction

Choose one: _

Page 20: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

20

Menus

• Advantages– recognize options instead of recalling– Structures learning (logical grouping and

meaningful naming)

• Disadvantages– Dangers of too many menus– Can consume lots screen space

– Consider country selection

Page 21: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

21

Natural Language

• What:– user expresses instructions in everyday

language

• Issues:– ambiguity

– “The man hit the boy with the stick”

– restricted domains or vocabulary– e.g.,

– Train ticket buying

Page 22: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

22

Question/Answer

• What:– user replies to a series of questions with yes/no

or multiple choice answers

• Issues:– easy to learn and use– limited in flexibility and power– e.g.,

– wizards and assistants

– Turbotax

Page 23: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

23

Query Dialog

• What:– user constructs expressions to retrieve information

from a database

• Issues:– query language syntax– requires experience– does result match what was intended?– e.g.,

– search engines

Page 24: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

24

Forms

• User is presented with a display resembling a paper form and enters data into fields

Advantages:– Simplifies data entry– Requires modest training

Issues:– movement around the form– input validation and correction

Page 25: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

25

Spreadsheets

• like forms, with a grid of cells containing values and formulas

Issues:– another programming paradigm– dependencies among cells– Designed for: what-if analyses– In practice used for: lists

Page 26: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

26

Interaction styles

• Indirect interface

1. User has to visualize in his/her mind

2. No direct feedback on state change

3. Dissociation between users command and system response

• Direct manipulation

1. Visually presents task concepts

2. Immediate reaction

3. Easy learning

4. Encourages exploration

5. Affords high subject satisfaction

Page 27: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

27

WIMP

• What is a WIMP interface?

Page 28: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

28

WIMP

• What:– windows, icons, menus, pointer– user in control

• Examples:– Microsoft Windows– Mac OS– X Windows + window manager– NeXTStep

Page 29: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

29

Page 30: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

30

Point and Click

• What:– virtually all actions take only a single mouse

click

• Examples:– web browser– multimedia (CD ROM) programs– touchscreen information kiosks

Page 31: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

31

3D

• What:– using 3D techniques, appearances, or

workspaces

• Examples:– virtual reality– virtual worlds– shading effects on icons, buttons, etc.

Page 32: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

32

Page 33: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

33

3D

Page 34: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

34

6D, n-D

• Interact with computer controlled, intelligent (??) machines:

Page 35: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

35

WIMP Interface Elements

• Windows– overlapping, tiled

– scrollbars

– titlebars

– move, resize, raise, lower, maximize, minimize, close, etc.

Page 36: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

36

WIMP Interface Elements

• Icons

Page 37: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

37

WIMP Interface Elements

• Menus:– pulldown, popup, falldown, tearoff, pinup, pie– grouping, hierarchy– keyboard accelerators– consistency– too tall?

Page 38: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

38

WIMP Interface Elements

• Pointer:– click to focus, focus follows pointer– cursor shape indicates mode– tooltips, balloon help

Page 39: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

39

WIMP Interface Elements

• Other:– buttons

– radio buttons

– check boxes

– sliders

– toolbars

– tabs

– progress indicators

– palettes

– dialog boxes

Page 40: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

40

Screen Design and Layout

• Presenting information:– match presentation to purpose– e.g.,

– sort file listing by name, or by date, or …

– alignment of text versus numbers

Page 41: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

41

Screen Design and Layout

• Entering information:– use clear, logical layout of form fields– requires task analysis– alignment is important

Page 42: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

42

Screen Design and Layout

• Aesthetics and utility:– beauty versus utility– a pretty interface is not necessarily a good

interface– still, good graphic design can increase user

satisfaction

Page 43: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

43

Screen Design and Layout

• Knowing what to do:– style guides

– platform or company standards for the design of user interfaces

– e.g., Macintosh Human Interface Guidelines

Page 44: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

44

Screen Design and Layout

• Knowing what to do:– affordances

– “where do I click?”

– elements should suggest, by their shape and other attributes, what you can do with them

– e.g., a button affords pushing

Page 45: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

45

Screen Design and Layout

• Localization/internationalization:– change of language for text– alignment and layout– date formats– time formats– number formats

Page 46: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

46

Screen Design and Layout

• Date/time formats:

Page 47: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

47

Interactivity

• Beyond the “look” of a user interface, there is also the “feel”.

Page 48: CMPUT 301: Lecture 14 The Interaction Lecturer: Martin Jagersand Department of Computing Science University of Alberta Notes based on previous courses

48

End

• What did I learn today?

• What questions do I still have?