Interaction Design and HCI in The Software Process
Interaction Design and HCI in The Software Process
Interaction Design and HCI in The Software Process
5
Interaction Design and HCI in the Software Process
1
Outline
• Interaction Design
• Process of interaction design
• HCI in software Process
2
Interaction design is about developing
high quality interactive systems and
products that support, enhance, and extend
the way people work, communicate, and
interact
3
What is
Design?
Achieving goals within constraints:
• Goals : the purpose of the design we are intending to
produce
• who is it for, why do they want it
• Constraints: the limitations on the design process
by external factors
• Like materials, platforms, cost, time, health and
safety
• Trade-offs: choosing which goals or constraints can be
4
relaxed so that others can be met.
golden rule of
design
5
for Human–Computer
Interaction
• understand computers
• limitations, capacities, tools, platforms
• understand people
• psychological, social aspects
• human error
• and their interaction … 6
To err is human
• accident reports ..
• aircrash, industrial accident, hospital mistake
• enquiry … blames … ‘human error’
• but …
• concrete lintel breaks because too much weight
• blame ‘lintel error’ ?
… no – design error
we know how concrete behaves under stress
• human ‘error’ is normal
• we know how users behave under stress
• so design for it! 7
the user
• The core of interaction design: put the user first, keep
the user in the center and remember the user at the end.
8
Interaction design process
scenarios
task analysis
what is guidelines
11
… but how can I do it
all ! !
• limited time design trade-off
• usability?
• finding problems and fixing them?
what to fix?
• deciding
• Which usability problem is worth fixing??
13
User Focus
It is the way of identifying your users
• Who are they?
• Probably not like you!
• Talk to them
• Watch them
• Where they are going to use the product
• Kind of activities people are doing while interacting with the
product.
14
Activity 1
• How does making of a phone call differs when using
• A public phone box
• A cell phone?
15
User focus
Cont.
• Gather as much information as possible about the future users of the
system.
• Stakeholders: people affected directly or indirectly by a system.
• Participatory design: bringing a potential user fully into the design
process
• Persona: rich picture of an imaginary person who represents your
core user group.
• Cultural probes provide a way of gathering information about
people and their activities.
• Use your imagination. 16
persona
• description of an ‘example’ user
• not necessarily a real person
• use as surrogate user
• what would Betty think
• details matter
• makes her ‘real’
17
example
persona
• Betty is 37 years old,She has been Warehouse
Manager for five years and worked for Simpkins
Brothers Engineering for twelve years. She
didn’t go to university, but has studied in her
evenings for a business diploma. She
has two children aged 15 and 7 and does not like to
work late. She did part of an introductory
in-house computer course some years ago, but it
was interrupted when she was promoted and could
18
no longer afford to take the time. Her
cultural
probes
• direct observation
• sometimes hard
• in the home
• psychiatric patients, …
• probe packs
• items to prompt responses
• e.g. glass to listen at wall, camera, postcard
• given to people to open in their own environment
they record what is meaningful to them
19
• used to …
• inform interviews, prompt ideas, enculture designers
20
Scenario
s
•are stories for design
Explore the depth
• Explore interaction-
what happens when
• Explore cognition-
what are the users
thinking
• Explore architecture-
what is happening
inside
• scenarios are linear – they represent a single path amongst all
the potential interactions
Scenarios Cont.
22
HCI in Software Process
32
HCI in the software
process
• Software engineering and the design process for interactive
systems
• Usability engineering
• Design rationale
24
the software lifecycle
• Designing for usability occurs at all stages of the life cycle, not as a
single isolated activity
25
The waterfall model
Requirements
specification
Architectural
design
Detailed
design
Coding and
unit
testing
Integration
and
testing
26
Operation and
maintenance
Activities in the life cycle
Requirements specification
designer and customer try capture what the system is expected to provide
can be expressed in natural language or more precise languages, such as a
task analysis would provide
Architectural design
high-level description of how the system will provide the services required
factor system into major components of the system and how they are
interrelated needs to satisfy both functional and nonfunctional requirements
Detailed design
refinement of architectural components and interrelations to identify
27
modules to be implemented separately the refinement is governed by the
nonfunctional requirements
Verification and validation
Real-world
requirements
and constraints The formality gap
Verification
designing the product right
Validation
designing the right product
Detailed
design
Coding and
unit
testing
lots of feedback! Integration
and
testing
29
Operation and
maintenance
Usability engineering
The ultimate test of usability based on measurement of user experience
Usability specification
• usability attribute/principle
• measuring concept
• measuring method
• now level/ worst case/ planned level/ best case
Problems
• usability specification requires level of detail that may not be
• possible early in design satisfying a usability specification 30
• does not necessarily satisfy usability
part of a usability specification for a VCR
• effectiveness
• can you achieve what you want to?
• efficiency
• can you do it without wasting effort?
• satisfaction
• do you enjoy the process?
32
some metrics from ISO 9241
Usability Effectivenes Efficiency Satisfactio
objective s measures n
measures measures
Suitability Percentage of Time to Rating scale
for the task goals achieved complete a task for satisfaction
• Prototypes
• simulate or animate some features of intended system
• different types of prototypes
• throw-away
• incremental
• evolutionary
• Management issues
• time
• planning
• non-functional features 34
• contracts
Throw-away Prototyping
The prototype is built and tested. The design knowledge gained from this
exercise is used to build the final product, but the actual prototype is
discarded.
35
Incremental Prototyping
• The final product is built as separate components, one at a time.
• There is one overall design for the final system, but it is partitioned into independent
and smaller components. The final product is then released as a series of products,
each subsequent release including one more component.
36
Evolutionary Prototyping
• The prototype is not discarded and serves as the basis for the next iteration of
design. In this case, the actual system is seen as evolving from a very limited initial
version to its final release
37
Techniques for prototyping
Storyboards
need not be computer-based
can be animated
• Two examples:
• Issue-based information system (IBIS) 40
• Design space analysis
Issue-based information system (IBIS)
• basis for much of design rationale research
• process-oriented
• main elements:
issues
– hierarchical structure with one ‘root’ issue
positions
– potential resolutions of an issue
arguments
– modify the relationship between positions and issues 41
Sub-issue generalizes
questions
Sub-issue
Sub-issue 42
Design space analysis
• structure-oriented
• QOC – hierarchical structure:
questions (and sub-questions)
– represent major issues of a design
options
– provide alternative solutions to the
question
criteria
– the means to assess the options in
• DRL(Decision Representation
order to make a choice Language)
– similar to QOC with a
43
larger language and more formal semantics
the QOC notation
Criterion
Option
Option
Criterion
… Consequent …
Question
Question
44
Psychological design rationale
• to support task-artefact cycle in which user tasks
are affected by the systems they use
• aims to make explicit consequences of design for
users
• designers identify tasks system will support
• scenarios are suggested to test task
• users are observed on system
45
• psychological claims of system made explicit
Summary
The software engineering life cycle
• distinct activities and the consequences for interactive system
design
Usability engineering
• making usability measurements explicit as requirements
Iterative design and prototyping
• limited functionality simulations and animations
Design rationale
• recording design knowledge 46
• process vs. structure