Spring 2002 1 Chp.2: Components of HCI How to achieve HCI goal of developing or improving systems...

Preview:

Citation preview

Spring 2002

1

Chp.2: Components of HCI

• How to achieve HCI goal of developing or improving systems (safety, utility, effectiveness, efficiency, usability, etc.) AND make sure system integrates well into organizational settings in which it’s used?

• A multi-disciplinary perspective is used -- analyze problems from different perspectives, including consideration of range of factors:

– organization (training, job design, politics)– environment (noise, lighting, ventilation)– health & safety (stress, headaches, fatigue)– human & comfort factors (motivation, enjoyment, satisfaction, proficiency)– user interface (input, output, color, graphics, etc.)– task factors (easy, complex, etc.)– constraints (cost, timescales, budgets, staff, equipment)– system functionality (hardware, software, application)– productivity factors (ouput levels, cost, production time)

Spring 2002

2

Chp.2: Components of HCI

• Three case studies:– airline ticket reservations– supermarket checkout– paper interface

• Each case considered in terms of a range of HCI factors:– human (e.g., staff, customer)– user interface– work activity– organization– comfort– productivity– etc…

Spring 2002

3

Chp.2: Components of HCI

• Airline reservation system• Before:

– customer went to travel agency– gave desired destination and travel times to agent– agent called airline– check with customer to see if times ok– if seats/time not ok, repeat…– ticket accounting: agents fills out paper forms,

sends to airlines bi-weekly

Spring 2002

4

Chp.2: Components of HCI

• Airline reservation system• Now:

– customer goes on-line– use types in desired times, destination– wait for search engine– like times, prices? if not repeat.– press buttons to give payment info– ticket accounting: issued electronically, airline dB

updated immediately

Spring 2002

5

Chp.2: Components of HCI

• Airline reservation system• HCI factors:

– human (staff): possibly out of work– human (customer): enjoys immediacy of seat selection, but

has to do more work him/her-self– UI: keyboard, web forms, etc.– work activity: more work placed on user– organization: training needs - user has to know, learn how

to use system; impersonal (some people prefer F2F interaction with travel agent)

– comfort: use has to have computer, may interfere with current task

– productivity: user has to take time away from other tasks

Spring 2002

6

Chp.2: Components of HCI

• Supermarket checkout• Goal: automate pricing/inventory procedures• Infrastructure requirements:

– all items in store must be barcoded– dB must exist to handle purchases/pricing– need scanning systems installed

Spring 2002

7

Chp.2: Components of HCI

• Supermarket checkout• Discussion:

– What are effects on:• user (staff)?• user (customer)?• is the user interface easy to learn/use?• how are problems handled (e.g., mis-scanned product,

incorrect price)?• what is the work activity - is training required? for whom?

(customer, staff, both?)• comfort: how is cashier affected?• system: what is needed (expensive? difficulty of install?)• productivity and “spin-off” factors: is process more

streamlined? What about marketing analysis (BiLo card)?

Spring 2002

8

Chp.2: Components of HCI

• Xerox Parc’s paper user interface (PalmPilot more appropriate)

• Discussion:– What are effects on:

• technology: what is required for development of PDA such as the PalmPilot (hardware, software)?

• what is the user-interface: easy to learn?• organization: is user’s “world” better organized?• comfort: easy to handle, transport?

Spring 2002

9

Chp.2: Components of HCI

• In evaluating multiple factors, various disciplines contribute to HCI:– Computer Science (dB, O/S, AI, Grahpics, …)– Psychology (Cognitive, social, organizational)– IE (Ergonomics, human factors)– Design– Anthropology– Sociology– Philosophy– Linguistics

Spring 2002

10

Chp.2: Components of HCIComputer Science

• Mostly system/technology level– programming languages, compiler, etc.– O/S– Networking– WWW– GUI toolkits and window managers– multimedia– graphics– VR (new devices, incl. sensors, effectors, haptics)

• Application: use whatever devices/techniques suit the application

Spring 2002

11

Chp.2: Components of HCICognitive Psychology

• Understanding human behaviour, underlying mental processes, and capabilities and limitations thereof:– perception– attention– memory– learning– thinking– problem solving

• Application: apply principles to design, e.g., memory and attention are limited, don’t “clutter” UI with > 7 +/- 2 things at a time

Spring 2002

12

Chp.2: Components of HCISocial and Ogranizational Psychology

• Understanding human behaviour in social contexts:– individual’s influence on another– individual’s influence on group (e.g., leadership

qualities, or “weakest link”)– group’s influence on individual (e.g., peer

pressure)– relationship between different groups (e.g.,

different preferences, tastes, as in high school jocks, geeks, etc.)

• Application: consider how computers affect oranizations, groups of people…

Spring 2002

13

Chp.2: Components of HCIErgonomics & Human Factors

• Maximize operator’s safety, efficiency, reliability, performance, satisfaction, etc., e.g., ergonomic cockpits, office furniture, etc.

• Application: evaluate devices/interaction from ergonomic perspective, e.g.,:– “VDUs” (monitors) that minimize eye strain– devices that don’t cause carpel tunnel– VR simulators that promote training, test human

performance

Spring 2002

14

Chp.2: Components of HCILinguistics

• Study of language, understanding structure (syntax) and meaning (semantics)

• Application: apply to human-interface dialogue (how does system “speak” to user):– natural language interface (voice recognition, e.g.,

e.Digital’s MXP 100 MP3 player)– query languages (dB)– internationalization (locales)

Spring 2002

15

Chp.2: Components of HCIPhilosophy, Sociology, Anthropology

• “Soft science”?• Usually considers social implications of IT, e.g.,

– are workers being displaced?– are we becoming less social (more time in email than F2F)?– Increasingly important especially in domains such as

CSCW, I.e., how do people interact, communicate, collaborate

• Application: apply to computer-supported human-human interface dialogue (how do humans communicate):– eye-to-eye contact?– deictic (“look at that”) references?– e.g., Hiroshi Ishii’s TeamWorkstation: maintained eye

contact in video telephony applications

Spring 2002

16

Chp.2: Components of HCIConceptual model of HCI

• HCI is neither the study of humans, nor of technology, rather it is the bridging between the two (to paraphrase Terry Winograd)

• Design concept: know how to make transition from what can be done technologically to how to make it usable for users in their environment

• Lowest level: select most appropriate input (VR, pen, mouse) and output device (video, speech, text), then decide on interaction style (natural language, GUI, VR, multimedia), knowing human psychology and particular human characteristics relevant to task at hand (e.g., for text display, don’t use green on red)

Spring 2002

17

Chp.2: Components of HCIDesign process

• 4 components:– people– work (the task)– environment (physical, organizational, social)– technology

• The HCI design process: not quite as linear as software engineering’s “waterfall model”

• Key differences:– user-centered design: involve users as much as possible– integration of multidisciplinary knowledge– iterative design: periodically check with user

Spring 2002

18

Chp.2: Components of HCIDesign process

• Inolving users:– decide who end user is, how product will be used, made,

sold, marketed– observe current user practices - leads to system

requirements (how can current practice be improved?)– can use psychological models of human, e.g., follow & test

such concepts as Fitt’s Law– include user representatives on team:

• end users• management• marketing personnel• graphic designers, etc.

Spring 2002

19

Chp.2: Components of HCIDesign process

• Incorporating interdisciplinary knowledge:– computer science (AI, graphics, O/S, dB, etc.)– psychology– human factors– linguistics– philosophy– sociology– anthropology

Spring 2002

20

Chp.2: Components of HCIDesign process

• Iterate the design process:– use the Star model: featuring iterative evaluation

(as center of star)– components:

• requirements specification• task analysis / functional analysis• conceptual design / formal design• implementation• prototyping

Spring 2002

21

Chp.2: Theories, Principles, Guidelines

• High-level theories and models– application-independent framework or language– explanatory (e.g., taxonomy) or predictive

• Middle-level principles– creating and comparing design alternatives

• Specific and practical guidelines– helpful reminders of rules uncovered by designers

Spring 2002

22

Chp.2: High-level theories

• Foley van Dam’s 4-level model:– conceptual: user’s mental model (e.g,. text

editing: line editors or screen editors)– semantic: meanings conveyed by input/output

• (often mismatched, e.g., in Unix you have to “move” a file to rename it)

– syntactic: construction of commands, e.g., in Unix, you usually have “cmd <options>”

– lexical: mechanisms by which user specifies syntax (e.g., keyboard? mouse?)

Spring 2002

23

Chp.2: High-level theories

• GOMS model:– goals, operators, methods, selection rules– a model of the user, often in terms of performance

(e.g., keystrokes required to perform some action)– somewhat poor example in the book: deleting a

word in something like MS Word:• can highlight, press backspace• can highlight, chose Edit->Cut from menu

– GOMS is supposed to predict which method is faster

Spring 2002

24

Chp.2: High-level theories

• Norman’s 7 stages of action model:– forming goal (“I want to delete a word”)– forming intention (“I need to highlight it”, etc.)– specifying action (“highlight, then backspace”)– executing action (performing above)– perceiving system state (seeing what happens)– interpreting system state (understanding output)– evaluating outcome (deciding what to do next)

• This model leads to Norman’s principles of visibility, affordance, and feedback

Spring 2002

25

Chp.2: High-level theories

• Reisner’s task-action grammars (TAGs):– addresses multiple levels of consistency (e.g.,

“deleting” a character, word, line, vs. “deleting”, “removing”, “destroying”, “killing”

Spring 2002

26

Chp.2: High-level theories

• Shneiderman’s Object-Action Interface (OAI) model:– described progamming and db-manipulation– adapted to be an explanatory model based on

interface objects (e.g., file folders) and user actions (e.g., click, double-click, click-and-drag)

– important related concept: direct manipulation

Spring 2002

27

Chp.2: Mid-level principles

1. Recognize diversity• profile (“know thy”) user: novice, expert (e.g., newbie,

power user), preschooler, adult, etc.• newbies can be given “training wheels” interface• categorize task (e.g., easy/hard, frequent/infrequent), e.g.,

File->Save is a frequent one• categorize interaction styles:

• direct manipulation (GUI)• menu• form fillin• CLI• natural (spoken) language (who uses this?)

Spring 2002

28

Chp.2: Mid-level principles

1. (How do I make this bulleted list start from #2?)2. Use eight golden rules of interface design

1. strive for consistency (e.g., color, layout, actions [single-click or double-click])

2. allow shortcuts (e.g., hot keys)3. informative feedback (e.g., not “blue screen of death”)4. yield closure (operations have beginnin, middle, end)5. error prevention (e.g,. confirmation dialogs, auto spelling)6. undo7. internal locus of control (huh?)8. reduce short-term memory burden (7 +- 2)

Spring 2002

29

Chp.2: Mid-level principles

1. Prevent errors• improve error messages (good idea even for

compilers, have you noticed how g++ has improved its error reporting over older C compilers?)

• correct matching pairs, e.g., (), some editors can do this, or at least indicate where matching ( is

• complete sequences (incorporated into tcsh - use Tab key)

• correct commands (Shneiderman suggests using direct manipulation instead of CLI)

Spring 2002

30

Chp.2: Specific and Practical Guidelines

• Guidelines for data display• organize the display

• use consistent labels/graphic conventions• standardize abbr.’s• page numbers• use graphics instead of digital values• color, high-resolution, etc.

• get the user’s attention• fonts, color, audio, video, etc.

Spring 2002

31

Chp.2: Specific and Practical Guidelines

• Guidelines for data entry• maintain consistency• minimize user input• minimize user’s memory load• make data format (entry and display) compatible

(e.g., mm/dd/yy for date entry)• provide user-controlled flexibility

Spring 2002

32

Chp.2: Specific and Practical Guidelines

• Maintain balance between human and automated tasks• advocacy for “control panel” metaphor• not sure exactly what the point is here

Recommended