Uploaded by joe.bursell

L12-2

advertisement
CS261
Software Engineering
Topic 7: Human Computer Interaction
James Archbold
James.Archbold@warwick.ac.uk
In association with Deutsche Bank
CS261 - Software Engineering - Human Computer Interaction
1
When last we left our heroes
•
We explore design/development cycles that
you might find as part of implementation
•
Considered options and their impact on
code maintainability and extensibility
•
Employed strategies to improve code:
‣
Encapsulate what varies
‣
Code to an interfacer
‣
Delegation
‣
Favour delegation over inheritance
CS261 - Software Engineering - Human Computer Interaction
2
The Human Element
When you made your design document, you
made assumptions about the UI
Clearly, how humans interact with your system
is important
That is what we’re covering today
CS261 - Software Engineering - Human Computer Interaction
3
Human Computer Interaction
CS261 - Software Engineering - Human Computer Interaction
4
Session Outline
•
Historical perspective of HCI through an
example
•
Human traits that underpin HCI:
•
‣
Attention
‣
Memory
‣
Cognition
‣
Affordances
Neilsons Usability Principles
CS261 - Software Engineering - Human Computer Interaction
5
Example: Microsoft Operating Systems
CS261 - Software Engineering - Human Computer Interaction
6
Example: Microsoft Operating Systems
CS261 - Software Engineering - Human Computer Interaction
7
Example: Microsoft Operating Systems
CS261 - Software Engineering - Human Computer Interaction
8
Example: Microsoft Operating Systems
CS261 - Software Engineering - Human Computer Interaction
9
Example: Microsoft Operating Systems
CS261 - Software Engineering - Human Computer Interaction
10
Example: Microsoft Operating Systems
CS261 - Software Engineering - Human Computer Interaction
11
Example: Microsoft Operating Systems
CS261 - Software Engineering - Human Computer Interaction
12
Example: Microsoft Operating Systems
CS261 - Software Engineering - Human Computer Interaction
13
Example: Microsoft Operating Systems
CS261 - Software Engineering - Human Computer Interaction
14
Example: Microsoft Operating Systems
CS261 - Software Engineering - Human Computer Interaction
15
Example: Microsoft Operating Systems
CS261 - Software Engineering - Human Computer Interaction
16
CS261
Software Engineering
Topic 7: Human Computer Interaction 2
James Archbold
James.Archbold@warwick.ac.uk
In association with Deutsche Bank
CS261 - Software Engineering - Human Computer Interaction
17
Human Computer Interaction
•
The success of a software product is determined by the
humans who use the product
‣
The MS story demonstrates both good (95/XP) and bad (2000/Vista)
•
HCI is the study of how humans interact with computers
•
We use HCI practices to improve the effectiveness and
usability of systems and software
‣
Human traits underpin these practices
CS261 - Software Engineering - Human Computer Interaction
18
1. Attention
•
On the left we see an example of the
Stroop Effect, where words and colour
impact your attention
•
Attention - cognitive process of selectively
concentrating on aspect of the
environment while ignoring others
•
One theory is that the experiment requires
more attention to name the colour than it
does to read the word
CS261 - Software Engineering - Human Computer Interaction
19
1. ATTENTION!
•
We can force attention
•
•
We can divide attention
•
•
Cocktail party effect
Talking while driving
Involuntary attention
•
When salient characteristics of computing stimuli grab our
attention
CS261 - Software Engineering - Human Computer Interaction
20
1. Attention
CS261 - Software Engineering - Human Computer Interaction
21
1. Attention
•
How we focus determines how we can
interact with a system
•
Studying how attention can be grabbed or
maintained enables effective design of
interfaces
‣
We can guide the user’s attention to the part of
the display most relevant without the need for
them to scan the entire interface
‣
We can grab the user’s attention away from their
current task when required
‣
The use of metaphors enable recognition even in
new systems, e.g. dragging an item to the
recycle bin
CS261 - Software Engineering - Human Computer Interaction
22
2. Memory
CS261 - Software Engineering - Human Computer Interaction
23
2. Memory
Memory is made up of three components
Sensory Stores: Iconic (visual) and echoic (auditory) stores hold
information before it enters working memory
Working Memory: Holds transitory information and makes it
available for further information processing
Long-term Memory: Holds information for long term storage
CS261 - Software Engineering - Human Computer Interaction
24
Short Term Memory
USAMSNGCSENBC
Short Term Memory is a scratchpad for temporary recall of the
information under processes
Decays rapidly and has very limited capacity, works best in chunks
Cowan (2001) provided evidence suggesting that we can only hold
around 4 (+/- 1) things in short term memory.
USA MSN GCSE NBC
CS261 - Software Engineering - Human Computer Interaction
25
Short Term Memory
How we forget from short term memory is a source of debate
Decay Theory: Memory decays over time
Displacement Theory: New memory overwrites the old memory
Proactive Interference: Memory cannot be retrieved because it is
stored in the wrong place
CS261 - Software Engineering - Human Computer Interaction
26
Long Term Memory
•
•
Episodic Memory
‣
Knowledge of events and experiences
in serial form
‣
How we reconstruct events that took
place in the past
Semantic Memory
‣
Record of facts, concepts and skills
‣
Often derived from episodic memory,
learning from experiences
CS261 - Software Engineering - Human Computer Interaction
27
Long Term Memory and icon design
•
Many icons rely on memory and affordances (see later)
‣
Resemblance - users an analogous image (a)
‣
Exemplar - uses an example (b - indicates restaurant)
‣
Symbolic - high level of abstraction (c - indicates fragility)
‣
Arbitrary - no relation to the concept (d)
CS261 - Software Engineering - Human Computer Interaction
28
CS261
Software Engineering
Topic 7: Human Computer Interaction 3
James Archbold
James.Archbold@warwick.ac.uk
In association with Deutsche Bank
CS261 - Software Engineering - Human Computer Interaction
29
3. Cognition
Cognition is the process by which we gain knowledge
Includes understanding, remembering, reasoning, attending,
acquiring skills and creating ideas
Consider Norman’s Human Action Cycle and Gestalt Laws of
Perceptual Organisation
CS261 - Software Engineering - Human Computer Interaction
30
Norman’s Human Action Cycle
•
Goal Formulation
•
Execution
•
‣
Translation of goals into set of unordered tasks
‣
Sequencing the tasks to create an action sequence
‣
Executing the action sequence
Evaluation Stage
‣
Perceiving the results after having executed the action sequence
‣
Interpreting the actual outcomes based on the expected ones
‣
Comparing what happened with what the user wished to happen
CS261 - Software Engineering - Human Computer Interaction
31
Norman’s Human Action Cycle
•
Gulf of Evaluation
‣
•
The psychological gap which must be crossed to interpret a
user interface
Gulf of Execution
‣
The gap between the user’s goals and the means to execute
those goals
CS261 - Software Engineering - Human Computer Interaction
32
Gestalt Laws of Perceptual Organisation
Proximity: Objects appearing close together appear as groups
Continuity: Disconnected elements appear as connected whole
Part-whole Relationships: Whole greater than sum of parts
Similarity: Elements of same shape/colour perceived as belonging
together
Closure: Missing parts of figure are filled so it appears whole
Symmetry: Regions bounded by symmetrical borders perceived as
coherent figures
CS261 - Software Engineering - Human Computer Interaction
33
CS261 - Software Engineering - Human Computer Interaction
34
Gestalt Laws of Perceptual Organisation
CS261 - Software Engineering - Human Computer Interaction
35
4. Affordances
CS261 - Software Engineering - Human Computer Interaction
36
4. Affordances
•
Perception is a direct process, in which information is
detected rather than constructed
•
With no prior knowledge, users will actively engage in
activities that provide the necessary information
•
Affordances are what we see as the behaviour of a
system or object - what it provides to us
CS261 - Software Engineering - Human Computer Interaction
37
4. Affordances
CS261 - Software Engineering - Human Computer Interaction
38
Where does this lead?
•
Historical perspective of HCI through an example
•
Human traits that underpin HCI
‣
•
Attention, Memory, Cognition, Affordances
Several usability concepts impact system design
‣
Feedback - giving user information on actions performed (visual, auditory)
‣
Constraint - Restrain user’s interactions (Gaussian blur)
‣
Mapping - Relationship between controls and their effects (trash can)
‣
Consistency - Similar operations should use similar elements for similar
tasks
CS261 - Software Engineering - Human Computer Interaction
39
Neilsons Usability Principles
1. Visibility of system status: Keep users informed of status by
providing appropriate feedback
2. Match between system and real-world: Use the user’s language
rather than system terms
3. User control and freedom: Provide escape routes for users
(‘undo’ buttons)
4. Consistency and standards: Avoid making users wonder if
different words mean the same thing
5. Help users recognise and recover from errors: Use natural
language to describe the error and provide a potential solution
CS261 - Software Engineering - Human Computer Interaction
40
Neilsons Usability Principles
6. Error prevention: Prevent users from making mistakes wherever
possible
7. Recognition rather than recall: Make objects, actions and
options visible rather than force the user to remember how to find
them.
8. Flexibility and efficiency of use: Provide accelerators that allow
experts to do things faster
9. Aesthetic and minimalist design: Avoid using information that is
not needed, keep it simple
10. Help and documentation: Provide searchable information with
concrete solutions, write as if for a 13 year old
CS261 - Software Engineering - Human Computer Interaction
41
Measuring Usability
•
•
Many metrics to use to evaluate your solution
‣
Ratio of success to failure
‣
Time to complete task
‣
Number of errors a user makes
‣
Number of times a user expresses frustration or satisfaction
HCI design and implementation can be complex, but allows for real
creativity!
CS261 - Software Engineering - Human Computer Interaction
42
Download