Upload
others
View
20
Download
0
Embed Size (px)
Citation preview
1
Introduction to Human-Computer Interaction
Matthias Kranz
Department of Computer Science, Electrical and Space Engineering, Luleå University of Technology, Sweden
Guest Lectures in the Course Software Engineering (D70255E )
2
Self-Introduction: Matthias Kranz
Studies: Computer Science (1998 - 2004) Focus: Theoretical Computer Science
Ph.D. in Computer Science (Dr. rer. nat.) (2004 - 2008) Research areas: Pervasive Computing und HCI
Research Associate / Post Doc (2008 - 2009) Research area: Applications for Cooperative V2X communication
Assistant Professor (‘Juniorprofessor’, W1) (2009 - 2012) Head of the Distributed Multimodal Information Processing Group Associate Professor (W2) (09/2012 - today) for Pervasive and Mobile Computing Research areas: pervasive and mobile computing (PMC), human-computer interaction (HCI), multi-modal user interfaces Application areas: ambient assisted living, automotive user interfaces, urban-scale ubiquitous computing and intelligent environments (IE)
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
3
Overview
Introduction and Motivation, History & Future of HCI
Designing and Engineering Interactive Systems
Guidelines, Principles and Models for HCI (selected topics)
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
4
Introduction and Motivation • Motivation for Human-Computer Interaction • Terms and Concepts • How to make (un)usable products
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
5
Interactive Systems • Computer Science
Application design and engineering of human-computer interfaces
• Psychology The application of theories of cognitive processes and the empirical analysis of user behavior
• Sociology and Anthropology Interactions between technology, work, and organization
• Design and Industrial Design Creating interactive products
à so, there is “more to it” – but how much more?
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
6
Designing Interactive Technologies
People
Technologies Designing Interactive Systems
Design
Activities and
Contexts
Sociology Psychology Cultural Studies
Ergonomics Anthropology
Electronic Engineering
Software Engineering
Multimedia
HCI
3D Design & Architecture
Information Design
Product Design
Interaction Design
Graphic Design
Communications
Database
Sensors & Actuators
Knowledge Management
Business
Change Management
Information Systems
Organizational Psychology
Communities of Practice
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
7
Understanding User Needs • It is essential to focus on user needs – however user needs are often very
abstract and hence the guidance for a concrete implementation is often limited Example: – People have a need to communicate everywhere. – Can popular solutions such as SMS, MMS, Joyn/RCS-e, eMail clearly be
derived from this need? • freedom (of design, of technology, …) vs. limits (of technology, of social
context, …) – In the real world, solutions are not always clear – Appropriation of tools by users: Users are very creative in using the
existing tools “If you have a nail everything looks like a hammer”
• ease of use vs. generality – Desktop-approach: one solution to suit all needs – Appliances: many specialized devices, one for each need
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
8
Engineering Interactive Technologies Straightforward to develop/engineer interactive systems? • Focusing on user’s needs
à results not necessarily in an innovative user interface! • Allowing technologies to drive innovation not all!
à does not necessarily result in an intuitive user interface • Intuitive/natural interfaces (e.g. Win8 with Touch I/O)
à does not necessarily result in an efficient user interface!
Interactive Technologies require us, in the user interface engineering process, to • Employ a user-centered design process • Develop new technologies with a focus on human use • Evaluate these developments with people (user studies) • Situate these new technologies in the context of use
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
9
Interactive Technologies
à The interface between the user and the information has become most critical for creating effective, efficient and pleasant systems.
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
10
Usability Hall of Shames - Example: BadUsability.com
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction ü http://badusability.com/vestlandslefse/, last visited 20.03.2012
11
Usability Hall of Shames - Example: BadUsability.com
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction ü http://badusability.com/vestlandslefse/, last visited 20.03.2012
12
Constraints can be helpful - sometimes. If there’s a reason.
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
Why limit the selection at all? Why not tell the user before he can make the error? Why not additionally constrain (and thus prevent the error)?
ü http://badusability.com/89-days-of-course/, last visited 20.03.2012
13
Irritating Mappings and conflicting multimodal information:
yellow 5 = black 7?
ü http://badusability.com/confused-spanish-lift/, last visited 20.03.2012 29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
14
What’s wrong?
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction ü http://farm3.static.flickr.com/2600/4049045647_e7d0b8f869.jpg, last visited 20.03.2012
15
Conflicting Information: Included or Not Included?
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction ü http://badusability.com/ryanair-madness-pt-2/, last visited 20.03.2012
16
Wrong information: “Don’t Cover me” - Strange Country
Lesson: Only if you are the cheapest (or the only one) to offer something, you do not need to care about usability. … but users will remember...
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction ü http://badusability.com/ryanair-madness-pt-1//, last visited 20.03.2012
17
Importance of the User Interface – Why should we care?
• Issues that relate to advances in technology – Massive availability of bandwidth, storage and processing – New input/output technologies (e.g. biometric, 3D-displays, eye-tracking) – Towards information appliances
• New understanding of computing – Willingness for training decreases
(great demand for an ‘obvious’ way to use a device) – New qualities besides efficiency become relevant, e.g. pleasure and fun
• Impact of the user interface: – The old question: What can computers do? – The new question: What can humans do with computers?
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
18
Why is Usability of (all kinds of) User Interfaces important?
Improving usability can • increase productivity of users • reduce costs (e.g. of required support, by increasing efficiency) • reduce errors & slips (prevent negative consequences) • increase sales/revenue (e.g. of a web shop) • enhance customer loyalty and satisfaction (e.g. Apple) • win new customers
• Several case studies that show the benefit of usability • Usability is often considered as sign of quality
(one reason: it just cannot be added at the end of a development process - it has to be included the whole way) (including it does not always cost a lot - there are “discount” usability techniques)
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
19
Why is Usability important in the Context of the Internet & New Media?
• Competition is very close (just another link …) • User Interface is often the central discriminating factor – you may offer the
same product/service at the same price (e.g. books, flight portal, …) • Comparison (of products and interfaces) is easily possible
Example – Online-Shop • Direct correlation between usability and sales is reported in many cases • Users who can’t find the product in the shop can not buy it • Users who are not able to fill in correctly the order form are not going to buy Example – Social Networks • No fun using it - no users • hard to use - users will be using something else
(and there is always an alternative)
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
20
Just a cartoon?
http://dilbert.com/strips/comic/2002-05-11/
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
21
More elevator examples
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
Design of elevator user interfaces... … missing information ...what is the mapping?
relative control? Where’s -1
DFKI in Saarbrücken
(Pho
tos
A. B
utz)
CS Building in Saarbrücken
(Pho
tos
A. B
utz)
22
Switched complexity
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
Both switches belong to the same room, at different entrances.
Design of light switches... ...what is the mapping?
23
If it required explanation – good hint to think about a redesign.
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
• ICE 1 toilet.
• Signs and explanations for things that are usually obvious (or should be) are an indicator for a potential problem.
• The paper box and waste bins are invisible and hard to reach.
24
“Intelligent” buildings are fun …
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction ü http://www.enob.info/fileadmin/media/Publikationen/EnBau/Projektberichte/10_MonitoringAB1_p2_NIZ_k.pdf, last visited 20.03.2012
25
“Intelligent” controls are fun …
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
• “Intelligent building monitoring” of a computer science building... • Users are (feel?) no longer in control – the building is “optimized” and
autonomously controlled – windows open when the building believes it is necessary...
• users “deal” with this in their own way... More on the “goodies” in:
ü http://www.enob.info/fileadmin/media/Publikationen/EnBau/Projektberichte/10_MonitoringAB1_p2_NIZ_k.pdf, last visited 20.03.2012
26
Technology advances, replaces “older” technologies …
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
• Just replacing existing technology by something else is not enough...
• … or do you recall that your “good, old” landline ever broke down, asked for an IP address, or require any configuration?
27
… list available options ... ask for confirmation in case of potentially harmful behavior ... and fail J
Printing in 2012…
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
28
Constraints sometimes are important … but could be told before.
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
• If there are constraints... • ... tell the user before he can make his input!
29
Computer Scientist Counting not supported.
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
Account for user diversity: computer science folks might just want to start counting at zero...
30
All “old” examples? 20.01.2011
- offers to save password – but not to save a reminder!
- does not tell you in advance on the limitations
- then blames the user for doing it wrong - - and, finally, at the same time being of absolutely no use to the user… (ERROR is usually no valid length)
- in case you would not to write descriptive text: why not limit the number of characters in the input field? (many, many, many more examples) 29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
31
The evil VCR Could you think of some usability issues of the “good old” VCR? Additional information: The VCR was a device designed to record Single-HD television signals on analog magnetic tapes, manually or time-based. These tapes had limited capacity and quality was decreasing, based on usage. The lower-quality format won (VHS, not BetaMax), comparable to the internet, due to porn.
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
32
The evil VCR Could you think of some usability issues of the “good old” VCR? The VCR was • had a blinking time (blinking attracts attention) (full time or just the “:” dots) • always reminding of being not set (telling the user s/he’s not able to set it) • usually not having to be set – ONLY and ONLY IF the user wants to record • not setting the time itself – e.g. from the video text (newer models finally did) • …
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
33
“Off Screen” HCI? • Problem for human-computer interaction due to incautious design and
development of on-screen user interfaces
• “off-screen” HCI? à tangible user interface (physical objects for interaction with digital technology) à smart surfaces (walls, tables, …) à gesture based interaction ( e.g. with MS Kinect/PrimeSense devices)
…
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
34
Introduction and Motivation • Motivation for Human-Computer Interaction • Terms and Concepts • How to make (un)usable products
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
35
Definition: User Interface Engineering • Definition 1: User interface design or user interface engineering is the
design of computers, appliances, machines, mobile communication devices, software applications, and websites with the focus on the user's experience and interaction. The goal of user interface design is to make the user's interaction as simple and efficient as possible, in terms of accomplishing user goals—what is often called user-centered design. source: http://en.wikipedia.org/wiki/User_interface_design
• Definition 2: User Interface Engineering is a structured approach for designing and implementing useful and usable interactive systems. By following the user interface engineering process, the interactive qualities of a system are ensured.
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
36
Definition: Affordance – How a “thing” wants to be used
• James Gibson, 1970: biologically inspired definition of affordance • Affordances are “action possibilities" latent in the environment, objectively
measurable and independent of the individual's ability to recognize them, but always in relation to the actor and therefore dependent on their capabilities.”
• Affordance design is about perceived and actual properties of an environment/object etc. (Norman)
• properties of affordances are specified in stimulus information – learning may be needed to detect the information
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction ü Designing the user interface, B. Shneiderman and C. Plaisant, 4th edition, Addison-Wesley, 2004, chapter 7
37
Affordance – Example: Doors • good: color (green: go - push, red: stop – pull) • bad: vertical bar: push OR pull both possible
Photos: Matthias Kranz
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
38
Human Computer Interaction (HCI) • “Human-computer interaction is a discipline concerned with the design,
evaluation and implementation of interactive computing systems for human use and with the study of major phenomena surrounding them” (working definition in the ACM SIGCHI Curricula for HCI [2])
• Computer science view point: “Interaction between one or more humans and one or more computational machines”
• some prefer the terms “CHI” – putting the “H”uman in the centre (e.g. CHI conference series)
• alternate terms: human-machine communication, human-machine-interaction, …
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
39
Human-Computer Interaction
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
40
Human Computer Interaction
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
41
Definition of Human-Computer Interaction (1) “Human-Computer interaction (HCI) is the study of interaction between people (users) and computers. It is an interdisciplinary subject, relating computer science with many other fields of study and research. Interaction between users and computers occurs at the user interface (or simply interface), which includes both hardware (i.e. peripherals and other hardware) and software (for example determining which, and how, information is presented to the user on a screen).”
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
42
Definition of Human-Computer Interaction (2) “Human-computer interaction is a discipline concerned with the design, evaluation and implementation of interactive computing systems for human use and with the study of major phenomena surrounding them.” (SIG CHI)
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
43 10.10.12 43 29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction ü ACM SIGCHI Curricula for Human-Computer Interaction http://www.acm.org/sigchi/cdg/, last visited 20.03.2012
44
This could happen if you do not care about HCI …
The user experience is important ...
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction ü http://www.youtube.com/watch?v=Vvx3P17rCXY
45
This could happen – if you do not care about HCI …
Even correct mental models might not be enough…
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction ü http://www.youtube.com/watch?v=V6iDw5ykmwQ&NR=1
46
People- vs. Machine-centered Views
View People are Machines are
Machine-centered - vague - disorganized - distractible - emotional - illogical
- precise - orderly - undistractible - unemotional - logical
People-centered - creative - compliant - attentive to change - resourceful - able to make flexible decisions based on context
- dumb - rigid - insensitive to change - unimaginative - constrained to make consistent decisions
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction ü adapted from: Don Norman, Things that make us smart, p. 224, 1993
47
Human-centered User Interfaces • do not ask what technology can do, but how humans want to use it
• remember that HCI is not only one end of the interaction: HCI is also a mediator for human-human interaction (e.g. video conferencing)
• design with and for humans: user involvement, engagement and evaluation
• remember that most likely the system, the technology and the interface are under parallel development. The user interface is not only the add-on to a highly sophisticated technology, but at the core!
• design for humans: errors, slips, diversity, configurability, mappings, ...
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
48
Human-centered User Interfaces • study and understand the activities of people and the contexts within which
some technology might prove useful and hence generate requirements for technologies,
• know the possibilities offered by technologies
• research and design technological solutions that fit in with people, the activities they want to undertake and the contexts surrounding those activities,
• evaluate alternative designs and iterate until a solution is arrived at
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
49
What HCI is not about ... • non-information processing • non-interactive systems • computer-computer interaction • ...
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
50
Human-Computer Interaction – Science, Engineering, and Design Aspects
• the joint performance of tasks by humans and machines • the structure of communication between humans and machines • human capabilities to use machines (including the learnability of interfaces) • algorithms and programming of the interface itself • engineering concerns that arise in designing and building interfaces • the process of specification, design, and implementation of interfaces • design trade-offs
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
51
http://dilbert.com/strips/comic/2009-07-01/
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
52
Utility, Usability, Likeability • Utility
a product can be used to reach a certain goal or to perform a certain task. This is essential!
• Usability relates to the question of quality and efficiency. E.g. how well does a product support the user to reach a certain goal or to perform a certain task.
• Likeability this may be related to utility and usability but not necessarily. People may like a product for any other reason…
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
53
Definition: Usability • What is Usability - Usability 101 by Jakob Nielson
“Usability is a quality attribute that assesses how easy user interfaces are to use. The word ‘usability’ also refers to methods for improving ease-of-use during the design process.”
• Usability has five quality components: – Learnability: How easy is it for users to accomplish basic tasks the first
time they encounter the design? – Efficiency: Once users have learned the design, how quickly can they
perform tasks? – Memorability: When users return to the design after a period of not using
it, how easily can they reestablish proficiency? – Errors: How many errors do users make, how severe are these errors,
and how easily can they recover from the errors? – Satisfaction: How pleasant is it to use the design?
• In usability studies these qualities are under investigation.
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
54
Definition: User Interface Design User Interface Engineering is a structured approach for designing and implementing useful and usable interactive systems. By following the user interface engineering process the interactive qualities of a system are ensured.
http://dilbert.com/strips/comic/2002-09-23/
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
55
HCI is Central to the Design and Development Process
• … even if done unconsciously. Decisions made in the development process are likely to influence how a product can be used.
• Thinking about the user interface when a first version of a product is finished is too late!
• Good user interfaces – and often good products – are a joined effort of all participants in the design and development process
• Software engineering processes fail often because of neglecting usability and the users during the design process – usability is nothing you can do if you have time/budget left at the end of the development process.
http://dilbert.com/strips/comic/2010-05-14/
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
56
It is not Simple to Make Good User Interfaces!
• Basic misconceptions – If I (the developer) can use it, everyone can use it – If our non-technical staff can use it, everyone can use it – Good user interfaces are applied common sense – A system is usable if all style guidelines are met
• Examples of bad software are easy to find in the WWW or in various “Usability Hall of Shame”
• Creating usable systems is a structured process and can be achieved by use of different methods
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
57
Structured Process for Creating Usable Products
• Preconditions: – Understanding how people interact with their environment – Understanding the capabilities and limitations of users – Basic ergonomics
• Analyze what interaction is required and what technical options are available in a user centered way, evaluate the results of the analysis
• Design and prototype user interfaces with user involvement, evaluate prototypes
• Implement an interactive digital product • Test and study the product created
• Usability Engineering is a part of the overall development • The process is iterative (overall and at each step)
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
58
Evolution of the Software Development Process
Originally
Managers
Separating testing and design Design before programming Initiate Design Code Bug Test
User Test Ship
Managers Programmers QA
Usability Practitioners
Designers
Code/Test Ship
Programmers
Initiate
Managers
Code/Test Ship
Programmers
Initiate Code Ship
Managers Programmers QA
Usability Practitioners
Test “Look
& Feel”
Designers
From A. Cooper, About Face 2.0 [6]
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
59
Usability - How it does NOT work • Usability tests at the end when the product is ready and needs to be shipped • Designing a new and pretty skin to a product • Introducing HCI issues after the system architecture and the foundations are
completed
• Comparison: An interior designer can not make a great house if the architect and engineers forgot windows, set the doors at the wrong locations, and created an unsuitable room layout.
http://dilbert.com/strips/comic/1995-11-08/
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
60
How to Achieve Usability (high level overview – more details later) • Identify what utility and usability for the product means
– main purpose of the product – anticipated users, target audience – compare with similar/competing products (if applicable)
• Common effort in the design and development process – trade-offs between design, engineering, and usability
• Iterative evaluation – usability testing with different methods at various stages of the
development process • Improvement after product release
– monitoring user behavior – evaluation of changes to the product
(e.g. adding a new feature to a web shop)
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
61
Usability Testing I (high level overview) • Usability testing of software/web applications assesses several factors, e.g.
– Does application functionality match the user's needs? – Is the application easy to learn? – How easy is it for the user to accomplish tasks with the application? – Is it easy to remember how to use the application? – Does the user enjoy using the application, or does he/she become easily
frustrated by it? – Does the application do what the user expects?
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
62
Usability Testing II (high level overview) • Ways to quantify usability include measuring
– How many mistakes get made in a given time period? – How long do users take to complete a specific task successfully? – How long it takes for users to learn the application's distinct functions/
features – How repeatable users' experiences are – What paths do they take in trying? – The users' satisfaction levels – How long does it take to correct an error?
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
63
1. What do people desire?
3. What can we build?
2. What will sustain a
business?
Objective: a product that is desirable and viable
and buildable
Building Successful Digital Products – Not only what users want!
• tension – different objectives – different design goals
• step by step 1-2-3
• solution – Successful products
are to be found in the overlapping space
• User centered design is not about creating “only” what users want.
From A. Cooper, About Face 2.0
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
64
Take Away Messages • Create systems that satisfy users’ needs but do not stop there
• Design and implement for users’ curiosity, creativity and ingenuity
• In a world of integrated chips and SOAs (service-oriented architectures) user interfaces make the difference and sell the product
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
65
Recommendable Books • Jennifer Preece, Yvonne Rogers, Helen Sharp. (2002).
Interaction Design. ISBN 0471492787 • Alan Dix, Janet Finlay, Gregory Abowd and Russell Beale. (2003)
Human Computer, Interaction (third edition), Prentice Hall, ISBN 0130461091 • Ben Shneiderman. (1998).
Designing the User Interface. ISBN: 0201694972 • Donald A. Norman. (1990).
The Design of Everyday Things; ISBN: 0465067107 • Alan Cooper, Robert M. Reimann. (2003)
About Face 2.0: The Essentials of Interaction Design; ISBN: 0764526413
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
66
Overview
Introduction and Motivation, History & Future of HCI
Designing and Engineering Interactive Systems
Guidelines, Principles and Models for HCI (selected topics)
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
67
Designing and Engineering Interactive Systems • User-Centered Approaches • Example Development Process • Human-Centered Design and Development Lifecycle
• Advanced Reading (beyond the scope of the lecture): http://www.uie.com/articles/ for many resources on User Interface Engineering
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
68
Motivation: What is a user-centered approach?
• Real users and their goals (not just technology) should be the driving force behind development of a product.
• Three principles that lead to a „useful and easy to use of computer systems“ (meant: interactive systems!) (Gould and Lewis, 1985) – Early focus on users and tasks – Empirical measurement – Iterative design
• Reading: The Five Most Influential Papers In Usability http://www.measuringusability.com/blog/five-papers.php, esp.: – Designing for usability: key principles and what designers think. Gould, J.
D. and Lewis, C. (1985) – Heuristic evaluation of user interfaces. Nielsen, J., and Molich, R. (1990) – Comparative Evaluation of Usability Tests. Molich et al. (1998)
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction ü Interaction Design, Chap. 9, book available online: http://www.id-book.com/, last visited 20.03.2012 ü Gould, J. D., Lewis, C. (1985). Designing for usability: Key principles and what designers think. Comm. of the ACM, 28, 3, 300-311
69
Gould, Principle 1: Early focus on users and tasks
• Users’ tasks and goals are the driving force behind the development (and not on the data that is inputted/outputted only!)
• Users behavior and context of use are studied and the system is designed to support them (e.g. workplace analysis, interaction context)
• Users characteristics are captured and designed for (backgrounds, knowledge, diversity, …)
• Users are consulted throughout development from earliest phases to the latest and their input is seriously taken into account (active involvement, stakeholder participation)
• All design decisions are taken within the context of the users, their work, and their environment (and not only w.r.t. costs, ease of implementation, …)
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction ü Interaction Design, Chap. 9, book available online: http://www.id-book.com/, last visited 20.03.2012
70
Gould, Principle 2: Empirical measurement
• Specific usability and user experience goals should be identified, clearly documented, and agreed at the beginning of the project.
• Goals have to be defined in a way that measuring the goal achievement is possible.
• The product can be empirically evaluated at regular stages as it is developed, to ensure that the final product is as intended.
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction ü Interaction Design, Chap. 9, book available online: http://www.id-book.com/, last visited 20.03.2012
71
Gould, Principle 3: Iterative design
• Iteration allows designs to be refined based on feedback
• During the design process different insights into what is needed, what will help, and what is feasible will emerge.
• Innovation rarely emerges as a whole and ready to go.
• Iteration is inevitable because designers never get the solution right the first time. (or developers the functionality)
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction ü Interaction Design, Chap. 9, book available online: http://www.id-book.com/, last visited 20.03.2012
72
A simple interaction design lifecycle model
(Re-) Design
Build an interactive
version
Evaluate
Identifiy needs/
establish requirements
Final Product Looks simple - but it not trivial to apply/achieve.
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
73
4 basic activities of interaction design • Identifying needs and establishing requirements for the user experience
• Developing alternative designs that meet those requirements
• Building interactive versions of the designs
• Evaluating what is being built throughout the process and the user experience it offers
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
74
Design and Development Process Separation between interaction design and technical design
• For interactive applications, a separation into a two stage process is often advisable
• 1st – Interaction design (iterative) also: what is physical, what is digital? – concept – Interaction analysis – Prototypes – Evaluation – Stable and tested design
• 2nd – technical realization – Technical analysis – Technical specification (e.g. architecture, platform) – Implementation – Evaluation and Quality management
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
75
An Example Development Process
• Logical User Centered Interactive Development (LUCID) Methodology • A key principle of The LUCID Framework is that products should be designed
to offer users the “five E’s:” effectiveness, efficiency, engagement, error tolerance and ease of learning.
• LUCID is structured as a series of six stages:
• An example methodology for user-centered design (UCD) • “The LUCID process begins with the “Envision” Stage, when the project is initiated, and
continues until the product release is complete. The first four stages, Envision through Design Detail, focus on product definition and design. The Build Stage provides support to the development team. The Release Stage provides support for fielding the product. Because there is little need for interaction between the LUCID design team and the developers during the Build Stage, the LUCID Framework™ works well in an outsourced environment where the development team expects complete specifications before beginning work.“
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction ü Logical User Centered Interactive development (LUCID) Methodology http://www.cognetics.com/lucid/index.html and http://www.leadersintheknow.biz/Portals/0/Publications/Lucid-Paper-v2.pdf, last visited 20.03.2012
76
Logical User Centered Interactive Development (LUCID)
• Stage 1: Envision
– Develop UI Roadmap which defines the product concept, rationale, constraints and design objectives.
• Stage 2: Analyze – Analyze the user needs and develop requirements.
• Stage 3: Design – Create a design concept and implement a key screen prototype.
• Stage 4: Refine – Test the prototype for design problems and iteratively refine and expand the
design. • Stage 5: Implement
– Support implementation of the product making late stage design changes where required. Develop user support components.
• Stage 6: Support – Provide roll-out support as the product is deployed and gather data for next
version.
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction ü Logical User Centered Interactive development (LUCID) Methodology http://www.cognetics.com/lucid/index.html and http://www.leadersintheknow.biz/Portals/0/Publications/Lucid-Paper-v2.pdf, last visited 20.03.2012
77
http://www.leadersintheknow.biz/ Portals/0/Publications/
Lucid-Paper-v2.pd
yellow boxes: include usability, not only design!
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction ü Logical User Centered Interactive development Methodology (LUCID) http://www.leadersintheknow.biz/Portals/0/Publications/Lucid-Paper-v2.pdf ,, last visited 20.03.2012
78
The value of prototyping • Creating prototypes is important to get early feedback
– from the project team (prototypes help to communicate) – from potential users
• Different types of prototypes – Low-fidelity prototypes (e.g. paper prototypes, sketches) – Hi-fidelity prototypes (e.g. implemented and semi-functional UI, could look
like the real product ) – Fidelity is referring to detail
• Tools & Techniques (remember the lecture before?, see tutorial) – Sketches & Storyboards – Paper prototyping – Using GUI-builders to prototype – Limited functionality simulations – Wizard of Oz
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
79
Challenges of User Centered Design • Users may be wrong (even if that should be a rare answer ;), they might just
see “their” part of the task – but not “more”)
• Users may be resistant to change (in fact, they frequently are afraid of things that are “different”)
• Users may expect disadvantages (e.g. being replaced by software, in fear of higher work load, …)
• Be aware – you are expected to create an optimal system (in all respects) with regards to the goals specified and this is unfortunately NOT necessarily the system users would like to have (e.g. trade-off between employers and employees)
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
80
The ISO 13407 human-centered design lifecycle model
• ISO 13407 is an international standard providing guidance on human centered-design activities throughout the lifecycle of an interactive product.
• Addresses planning and management, does not cover specific design approaches
• 4 principles – Active involvement of users (rapid prototyping, focus groups, evaluation,
…) – Appropriate allocation of function between users and technology
(not just “dump input tasks!) – Iteration of design solutions – Multi-disciplinary design (different roles in the team)
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
81
The ISO 13407 human-centered design lifecycle model
Evaluate designs against
requirements
Product design solutions
Specify the user and organizational
requirements
Understand and specify the context
of use
System satisfies specified user and
organizational requirements
Identify need for human-centered
design
specifies 4 human-centered design activities as being central to a system development process
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
82
Other Frameworks/Approaches • V-Model XT (accounts explicitly for usability)
• User-Centered Software Design (USCD) methodology
• Agile Development methods
• PACT framework (people, activities, contexts, tasks)
• Examples of norms: – ISO/AWI 23973: Software ergonomics for World Wide Web user
interfaces – DIN EN ISO 13407: Human-centred design processes for interactive
systems – DIN EN ISO 14915: Software ergonomics for multimedia user interfaces
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
83
• Factors that Influence the User Interface • Analyzing work processes and interaction
– Focus groups – Diary Studies – Ethnographic Observation
• Observational Studies and Video Analysis • Contextual Enquiries • Artifact Walkthrough • Cultural Probes
• Analyzing existing systems • Describing the results of the Analysis
Designing and Engineering Interactive Systems
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
84
What do we need to analyze? • In the analysis, everything that has a potential impact on the solution should
be accessed and investigated.
• Most importantly, we have to look at – Users and their strengths and limitations – Requirements imposed by the tasks that are to be supported – The available options for the implementation of a system (e.g.
technologies, resources, …) – The border conditions for development and deployment
• Unfortunately, nothing of the above is easy to figure out!
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
85
• Factors that Influence the User Interface • Analyzing work processes and interaction
– Focus groups – Diary Studies – Ethnographic Observation
• Observational Studies and Video Analysis • Contextual Enquiries • Artifact Walkthrough • Cultural Probes
• Analyzing existing systems • Describing the results of the Analysis
Designing and Engineering Interactive Systems
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
86
What is relevant? What do we need to analyze?
• Goals of the project (relates very much to software engineering, but added with “contexts”, “usability”)
• People involved in the operation of the system that is to be build
• Processes that are improved, changed, or replaced
• Economic constraints
• Organizational constraints and company/customer policies
à Usually there is a trade-off between the different factors
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
87
Identifying the Goals of a project • Why is a new software or system created? • What is the main purpose?
– Replace or improve on an existing system – Streamline operation and optimize work processes – Introduce a new process or a new option for a process
• In what context is this developed – during continued operation – In a restructuring phase – In a start-up phase of a company or operation
• What is the role of the software/system – Driver for restructuring – Only one issue within a set of changes made in the organization
• How important is the system to the customer – Mission critical, essential for sustaining business – Just a nice additional piece to have
• Attention: all this might sound obvious - but if this would _be_ obvious, why do usability halls of shame and bad systems exist …? (it shouldn’t only be cost…)
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction
88
Processes • By introducing or changing software, we affect processes in the real world
Examples: – People will be able to do certain tasks they could not do before – Certain tasks will be automatically done without user involvement – Specific tasks will be speeded up and others may be slowed down – The quality of tasks and operations will be improved – Certain processes become traceable and people can be made
accountable (relates also to privacy) – Some operation will be made easier others will be more complicate
• Often related to rationalization of the workflow • Change is not always welcome by everyone
29.10.2012 Software Engineering (D7025E) - Guest Lecture: Human-Computer Interaction