Upload
buithuy
View
218
Download
3
Embed Size (px)
Citation preview
CogSys-HCI Lecture 1: IntroductionHuman Computer Interaction
Ute Schmid (lecture and practice)
Applied Computer Science, Bamberg University
last change October 16, 2007
CogSys-HCI Lecture 1: Introduction – p. 1
Organization
Prerequisit: succesful participation in CogSys-IA orequivalent
Homepage of the course:http://www.cogsys.wiai.uni-bamberg.de/teaching/
Practice: conducting a small empirical study
CogSys-HCI Lecture 1: Introduction – p. 2
Course Objective
Problems of and techniques forhuman-computer-interaction
Core topics:characteristics of human informationprocessing, psychological concepts for HCI design,cognitive architectures and cognitive modeling,empirical methods for the evaluation of softwaresystems and usability studies
Further topics: user adaptivity, enduser programming,antropomorphic agents, tutor systems, social software,...
CogSys-HCI Lecture 1: Introduction – p. 3
ResourcesText Books
Alan Dix, Janet Finlay, Gregory Abowd, RussellBeale (2004). Human-Computer Interaction (3rdEd.). Prentice Hall.Jennifer Preece, Yvonne Rogers, Helen Sharp(2002). Interaction Design. Wiley.William Newman and Michael Lamming (1995).Interactive Systems Design. Addison-Wesley.and many more
Journals and Conferences:Conference on Human Factors in ComputingSystems (CHI)Human-Computer Interactionand many moresee: http://www.hcibib.org/
CogSys-HCI Lecture 1: Introduction – p. 4
The HCI Challenge
Human computer interaction is a difficult endeavor withglorious rewards.
Designing interactive systems to be
effective
efficient
easy to use
enjoyable to use
so that people and society may realize the benefits ofcomputation-based devices
CogSys-HCI Lecture 1: Introduction – p. 5
Problem
Interleaved constraints with sometimes necessarytrade-offs
human
machine
algorithmic
task
social
aesthetic
economic
CogSys-HCI Lecture 1: Introduction – p. 6
Reward
Digital libraries where scholars can find and turn pagesof medieval manuscripts located far away
Medical instruments allowing complex neurosurgicaloperations
Virtual worlds for entertainment and social interaction
Responsive and efficient government services
Smart phones
...
CogSys-HCI Lecture 1: Introduction – p. 7
Definition of HCI
Human-computer interaction (HCI) is:
concerned with the design, evaluation and implementationof interactive computing systems for human use and withthe study of major phenomena surrounding them.(ACM SIGCHI, 1992, p.6)
Increasingly more application areas, moretechnologies and more issues to consider whendesigning ’interfaces’!
CogSys-HCI Lecture 1: Introduction – p. 8
Development of Interfaces
50s – Interface at the hardware level for engineers -switch panels
60-70s – interface at the programming level - COBOL,FORTRAN
70-90s – Interface at the terminal level - commandlanguages
80s – Interface at the interaction dialogue level - GUIs,multimedia
90s – Interface at the work setting - networkedsystems, groupware
00s – Interface becomes pervasive RF tags, Bluetoothtechnology, mobile devices, consumer electronics,interactive screens, embedded technology
CogSys-HCI Lecture 1: Introduction – p. 9
HCI as Subfield of Computer Science
Computer science mainly concerned with the study ofalgorithms (sound, complete, efficient algorithms are anecessary condition for working systems)
But: Human users and their contexts are majorcomponents of the design problem and cannot bewished away simply because they are complex toaddress
Largest part of program code typically deals withinteraction
CogSys-HCI Lecture 1: Introduction – p. 10
The Science of HCI
Domain of HCI is much more complex and fuzzy thanclassical computer science
How to go beyond platitudes like “know the user”?
Providing generative design principles
Focus on both analytic and implementation methods:Practitioners who can only evaluate but not designand build are under a handicapBuilders who cannot reason analytical about thesystems they build and who do not understandhuman information processing or social contexts oftheir design are under a handicap
CogSys-HCI Lecture 1: Introduction – p. 11
Examples for Bad Design
Jacques Carelman, “Coffeepot for Masochists”, Catalog of UnfindableObjectsDesign must support functionalty! →֒ Task analysis
CogSys-HCI Lecture 1: Introduction – p. 12
Examples for Bad Design (2)
Menu-oriented word-processing package
Save and delete both in menu “File” (makes sense)
as adjacent items
together with cursor controlled by a trackball this canbe dangerous!
Pop-up of a confirmation box, which looks very similarto the confirmation box for saving
→֒ violation of the usability goal “safety”
CogSys-HCI Lecture 1: Introduction – p. 13
Examples for Bad Design (3)
VCR: recording a different program than you wanted
Voice mail in many organizations/hotels: input manynumbers, lots of
Internet shop: long video clip which cannot beinterrupted as intro, slow and tedious procedure forfilling out an online form – which often was notsuccesful (company went bankrupt within a few monthof going public)
Car radios
Mobile devices
...
CogSys-HCI Lecture 1: Introduction – p. 14
Good and Poor Design cont.
see http://www.baddesigns.com/ for more
CogSys-HCI Lecture 1: Introduction – p. 15
Usability Goals
(Nielsen, 2001)
Effectivity (how good is the system at doing what it issupposed to do)
Efficiency (speed of information access, speed ofdoing what the user wants to do, easy to learn)
Safety (protecting the user from dangerous conditionsand undesirable situations)
Utility (provides the right kind of functionality)
Learnability
Memorability
CogSys-HCI Lecture 1: Introduction – p. 16
Remember: Safe/Unsafe Menu
Edit Image
New ...Open ...
CloseSaveSave As ...
Page Setup ...Print ...
Quit
Edit Image
New ...Open ...
Page Setup ...Print ...
DeleteSave
CloseQuit
File File
Putting ’Save’ near ’Delete’ and/or ’Quit’ might produceunwanted errors
CogSys-HCI Lecture 1: Introduction – p. 17
The Ten-Minute Rule
Assessing whether a system is easy to learn
Ten-minute-rule by Nelson (1980)
A computer system for architects is not expected toteach architecture. Quite the reverse: the ten-minuterule requires that what an architect already knows behelpful in learning to use the system. (Rubinstein &Hersh, 1984)
Ten-minute rule is inappropriate for complex systemsFlight support system for pilotsWord processor (diverse functionalities)Video game (high level of skills)
CogSys-HCI Lecture 1: Introduction – p. 18
Fast Learnability vs. Efficient Use
The ten-minute rule might be also not appropriate forexpert computer users in general
Think about emacs + LaTeX vs. Word: where can youproduce the desired outcome more efficient?
Think about a person writing one email per week vs. aprofessional writing 100 emails per day
Classic studies: keyboard shortcuts are more efficientthan mouse input for expert users (Shneiderman,Designing the User Interface: Strategies for HCI, 1998)
If keyboard shortcuts, then for everything (changingcosts between mouse and keybord)
CogSys-HCI Lecture 1: Introduction – p. 19
User Experience Goals
Satisfying, Enjoyable, Entertaining
Helpful, Motivating, Supportive of Creativity
Aesthetically pleasing
...
How does the system feel like to the user
Explicating the nature of user experience in subjectiveterms
Trade-offs between usability and user experiencegoals:a process control system should be safe! (might beincompatible with being fun)
CogSys-HCI Lecture 1: Introduction – p. 20
Norman’s Design Principles
Visibility
Feedback
Constraints
Mapping
Consistency
Affordance
CogSys-HCI Lecture 1: Introduction – p. 21
Visibility and Feedback
Visibility:
e.g.: controls for different operations in a car are visible(indicators, horn, hazard warning lights) andrelationship between their positions make it easy forthe driver to find the appropriate control for the task athand
The more visible functions are, the more likely userswill be able to know what to do next
Feedback
Sending back information about what action has beenperformed and what has been accomplished
Audio, tactile, verbal, visual, and combinations
CogSys-HCI Lecture 1: Introduction – p. 22
Constraints
Physical: restriction of the movement of things (e.g., adisk can be placed into a drive only in one way)
Logical: relying on people’s common sense reasoningabout actions and consequences (e.g., disabling andshadowing menu options which are currently notexecutable)
Cultural: exploiting learned conventions (e.g., usingred for warning)
CogSys-HCI Lecture 1: Introduction – p. 23
Mapping
Relationship between controls and their effects in theworld
e.g., up and down arrows representing up/downmovement of cursor
Mapping of relative positions of controls is also ofimportance
unnaturalnatural
CogSys-HCI Lecture 1: Introduction – p. 24
Consistency
Similar operations for similar tasks (e.g., always leftmouse button for selecting items)
Similar elements for similar tasks
Placement of related operations in a common menu(categorization)
External Consistency: be consistent with what peopledo in the worldInternal Consistency: be consistent within the system
Problem with complex systems with thousands ofdifferent operations
E.g., “sort” in Word is not in the “Tools” menu but in the“Table” menu
In relation: principle of least astonishmentCogSys-HCI Lecture 1: Introduction – p. 25
Principle of Least Astonishment
In user interface design, programming languagedesign, and ergonomics: when two elements of aninterface conflict or are ambiguous, the behaviourshould be that which will least surprise the human useror programmer at the time the conflict arises, becausethe least surprising behavior will usually be the correctone.
Example: a user interface may have the behaviour that pressingControl-Q causes the program to quit. The same user interface mayhave a facility for recording macros, or sequence of keystrokes to beplayed back later, intended to be able to control all aspects of theprogram. The user may want to record a keystroke sequence withControl-Q as part (most likely the last part) of the macro. Theprinciple of least surprise says that pressing Control-Q whilerecording a macro should not quit the program (which wouldsurprise the user), but rather to record the keystroke.CogSys-HCI Lecture 1: Introduction – p. 26
Affordance
Attribute of an object that allows people how to use it
e.g., door handle invites pulling; cup handle invitesgrasping; mouse button invites pushing;
Icons should be designed to afford clicking, scroll barsto afford moving
“I put an affordance there”, a participant would say, “Iwonder if the object affords clicking ...” affordance this,affordance that. And no data, just opinion. Yikes! Whathad I unleashed upon the world? (Norman, 1999)
CogSys-HCI Lecture 1: Introduction – p. 27
Meeting Design/Usability Goals
System design using software engineering methods tomeet requirements of functionality, performancequality, safety (not topic of this lecture)
Requisits for HCI design:Knowledge about the system domain, generalaspects of human information processing, specialaspects of the kind of users which will use thesystemFormulation of targets for usability goalsMethods to support system analysis and synthesis
CogSys-HCI Lecture 1: Introduction – p. 28
Design Activities
Identifying needs and establishing requirements
Developing alternative designs to meet thoserequirements
Building interactive versions of the designs so that theycan be communicated and assessed
Evaluating what is being built throughout the process
CogSys-HCI Lecture 1: Introduction – p. 29
System analysis
How is the system likely to affect the user’s activities?
Can things be done faster with fewer errors?
Build a model of the performed activities
Derive performance measures
Make usability assesment
CogSys-HCI Lecture 1: Introduction – p. 30
HCI Methods
Problem definition
User study
Usability analysis
Controlled experiments
Empirical evaluation
Use of guidelines
...
CogSys-HCI Lecture 1: Introduction – p. 31
Contributing Disciplins
Cognitive Engineering
InteractionDesign
Academic Disciplines
Ergonomics
PsychologyCognitive Science
Computer Science
Software Engineering
Social Sciences(Sociology, Anthroplogy)
Human Factors HCI
ErgonomicsCognitive Cooperative Work
Computer−Supported
Film Industry
Industrial Design
Artist Design
Product Design
Graphic Design
Design Practices
Information Systems
Interdisciplinary Fields
CogSys-HCI Lecture 1: Introduction – p. 32
A Closer Look at Interaction Design
Remember the design activities:
Identifying needs and establishing requirements
Developing alternative designs to meet thoserequirements
Building interactive versions of the designs so that theycan be communicated and assessed
Evaluating what is being built throughout the process
CogSys-HCI Lecture 1: Introduction – p. 33
Users and Their Needs
Stakeholdes: People or organizations who will beaffected by the system and who have a direct orindirect influence on the system requirements (Kotonyaand Sommerville, 1998)
Primary User: frequent and hands-onSecondary User: occasional or through intermediaryTertiary User: affected by introduction or influencepurchase(Eason, 1987)
Frequently, the “formal client” who orders the system isvery low on the list of those affected!
Identification of relevant stakeholders is crucial foruser-centered development
CogSys-HCI Lecture 1: Introduction – p. 34
User-Centered Approach
Norman and Draper, 1986
Focussing on the prospective users from the beginningand obtain real data about their needs
→֒ design based on empirical data and not onimagination
CogSys-HCI Lecture 1: Introduction – p. 35
General and Specific Needs
Interaction is a human activity: design must beconsistent with physical and cognitive abilities and thesocial environment→֒ take into account psychological research aboutperception, memory, etc.
Particular expertise, responsibilities, training, workingenvironmentsspecial demands because of impairments→֒ type of user (e.g. passenger, telefon operator, ...)must be specified in problem/requirement definition
Problem: for new inventions it is difficult to defineusers’ needs and representative tasks
CogSys-HCI Lecture 1: Introduction – p. 36
Requirement Analysis and Specification
Categories:target audience and target platformfeatures of the applicationresponsivenessusability benchmarks (e.g. "such and such a taskmust be completed within 2 minutes")the choice of general look and feel guidelines
established through: a combination of analysis andgathering information from target users, throughinterviews, observation, focus groups, surveys
Often only written down in contract developmentcontext
Validation: analytical and empirical (testing prototypes)CogSys-HCI Lecture 1: Introduction – p. 38
Alternative Designs
Human tendency to stick with something which works“good enough”
The “mysterie” of design creativity
Pragmatic way: looking at other, similar designs
Evolution: e.g., typewriter to word processor
Typically, many, sometimes conflicting, constraints
Example: Software running under Windows mustconform to Windows look and feel
Choosing between alternatives: empirical andanalytical evaluation of prototypes
External: Usability characteristics, Performancetimes, ...Internal: Correctness, consistency, ...
CogSys-HCI Lecture 1: Introduction – p. 39
Creativity and Analogy
Analogy as the basic mechanism of creativity
Cross-fertilization between different domains
Example: Steam engine / water kettle
Key components of analogyRetrieval of a suitable source (bottleneck, what issuitable?, pitfall of superficial similarity)Mapping of source and target structureTransfer: Inference of missing structuralcharacteristics, Adaptation of a solution
CogSys-HCI Lecture 1: Introduction – p. 40
Lifecycle Models
Showing how activities are related: lifecycle models
Software lifecycle models: waterfall model, spiralmodel, RAD model
CogSys-HCI Lecture 1: Introduction – p. 41
Waterfall Model
focus on intended functionality, no user involvement
CogSys-HCI Lecture 1: Introduction – p. 42
Spiral Model
Barry Boehm (1988)
Interative framework with risk analysis and prototypingas important features
No user involvement
Iterations to take account of risks in development, i.e.,any kind of uncertainty in requirements (might beresolved by prototyping)
Idea of iterations adopted for HCI design models
CogSys-HCI Lecture 1: Introduction – p. 43
Spiral Model in Usability Engineering
4 phases:AnalysisDesignDevelopmentTests
3 Levels:Paper ModelPrototypeFinal Product
CogSys-HCI Lecture 1: Introduction – p. 45
Rapid Applications Development
User-centered view
Minimize risks caused by requirements changes
Joint Application Development (JAD): workshops withusers and developers to gather requirements
CogSys-HCI Lecture 1: Introduction – p. 46
Paper Mock-Ups
Results of requirement analysis are modelled on paper
Tests with endusers possible: give concrete tasks andmeasure time to perform and difficulties withinteraction (cognitive effort)
Typically, about 80% of difficulties can be detected inthis early phase!
Nielsen: usability engineering, 1993; Nielsen, UsabilityMetrics: Tracking Interface Improvements, IEEESoftw., 13(6), 1996
CogSys-HCI Lecture 1: Introduction – p. 48
Prototypes
Prototyping: essential element of an iterative designapproach
create, evaluate and refine until desired performanceor usability is achieved
Low-fidelity prototypes: extremely simple sketches
High-fidelity prototypes: systems that contain nearly allthe functionality of the final system
CogSys-HCI Lecture 1: Introduction – p. 49
Lifecycle Models in HCI
Star model (Hartson and Hix, 1989)
Emerged from empirical studies of interface designers
Top-down: Analysis, system’s view
Bottom-up: Synthesis, user’s view
No specific order of activities
CogSys-HCI Lecture 1: Introduction – p. 50
eXtreme Usability
Holzinger und Slany, Informatik Spektrum, 29, 2, 2006
Integration of eXtreme Programming and UsabilityEngineering
Xtreme Programming (Kent Becker):A not undisputed approach ...Combining best practices of software developmentin an extreme way such that individual weaknessesare compensatedPermanent code reviews by pairs of programmerswho switch tasks every half dayPermanent tests with at least one enduserYAGNI (you aren’t gonna need it): simple design
CogSys-HCI Lecture 1: Introduction – p. 52
... XP
Monthly plan adaptation with stakeholders
Code releases approx. every three month
No specialization of developpers, code is understoodand refactored by all developers
Working along “user stories”: one non-dividable featurewhich is of use for the enduser
Development of test cases for each user story
Usability is one feature among others
Problem: calculating a budget in advanced is nearlyimpossible with iterative approaches (no completerequirement/functional specification in advance)
CogSys-HCI Lecture 1: Introduction – p. 53
XU
Each XP iteration: increasing set of finished userstories and decreasing set of unfinished stories
Usability engineering in each iteration: use papermock-ups for not implemented stories and user studies(e.g. analysis of think aload and video protocolls) forimplemented stories
Getting rid of one crucial problem of usabilityengineering: taking into account too many details tooearly
CogSys-HCI Lecture 1: Introduction – p. 54