HCI
HCI = psychology + engineering
History
-
Started with machines, interact using electronics/switches/etc.
-
Algebraic languages (e.g. Fortran) on paper tape
-
Punch cards – keep a box of these, interaction like paper record-keeping
-
Command lines – using teletype terminal
-
-
as user types the characters are printed so user can see input
-
computer or person at other end of the link doesn't see the input until end of input
-
-
Line editor
-
-
user can see one line at a time, and edit it or do commands to it
-
commands like “P12 S/Z/X P13 D13”
-
evolved into being English-like (e.g. Unix)
-
-
WYSIWYG – use of “glass teletypes” allowed full screen editors and reduced paper us
-
Modeless interaction
-
-
interaction with modes: e.g. VI (does different things whether in command or edit mode)
-
instead a given keystroke has the same effect in any context within the interface
-
-
Menus (recognition rather than recall)
-
Pointing devices
-
-
light pens, then after much development the mouse
-
-
Graphical display
-
-
previous glass teletypes only allowed characters
-
these terminals often switched between teletype and graphic mode (did not draw command text onto screen in graphical way)
-
-
Icons and windows
History shows us that much HCI theoretical approaches depended on developments in the technology.
Important attributes of direct manipulation
-
an object of interest to the user should be continuously visible in the form of a graphical representation
-
operations on objects should involve physical actions instead of commands
-
actions should be rapid and make incremental changes which are reversible
-
the effect of actions should be immediately visible
-
there should be a modest set of commands doing everything a novice might need, but are expandable to gain access to more functionality as the user develops
Style guidelines
-
users' experience of the usability of an OS is generally through the software of third parties
-
style guidelines are published by an OS to advise developers how to make usable applications
-
however most guidance is concerned with making applications look part of a family
-
sometimes the corporate branding overshadows usability
Psychological user models
-
need: came originally from WWII where hardware performance started to be limited by user ability
-
started describing users as black boxes so can use engineering closed loop control and information transfer
-

-
models of visual input:
-
recall Part IB Graphics
-
rods and cones
-
characteristics of vision described using colour spaces (RGB, etc.)
-
but eyes also adapt to brightness, local contrast and impose quantisation
-
-
Marr's theory of vision
-
works on the assumption that constructing an internal model of the world is a prerequisite for carrying out any visual task
-
proposal of a series of black boxes
-
-
-
-
-
first level is the retinal image, and is processed to find boundaries of relatively uniform regions to get
-
the primal sketch, whose structure is analysed to get
-
the 2½D sketch (z ordering, rather than z co-ordinate)
-
-
-
-
-
-
sufficient for when we have stacked windows rather than complete 3D interface
-
resolved into
-
-
-
-
-
-
3D model
-
-
-
-
Gestalt laws of perception-
proximity: elements close together tend to organise in units
-
similarity: objects that look alike tend to be grouped together
-
good continuation: we see lines as being continuous if they do not bend sharply
-
closure: we prefer to see regular shapes, inferring occlusion (closer object masking the further) to do so
-
-
visual tasks
-
depth perception: is not just done by binocular stereo vision, but by other monocular depth clues (which are what we use on a monitor to give 'depth')
-
face recognition:
-
processing faces in a scene happens much faster than processing other things
-
can also perform high precision tasks such as gaze direction with great accuracy
-
-
visual search
-
visual search made quicker if there is some factor which makes an object “pop-ou”, such as
-
colour
-
orientation
-
brightness
-
-
Hick's law (time to find one item among n similar items, discounting pop-out effects):
-
-
-
![]()
-
models of physical output
-
reaching action
-
high speed approach
-
slower homing phase
-
whilst hand is moving forms the appropriate shape for grasping
-
-
people make successive strikes more quickly with fingers from alternate hands
-
pointing at something using a mouse
-
defined empirically to give Fitts' Law
-
-
![]()
A = Amplitude (distance of pointer to target)
W = width of the target
-
models of memory
-
seven +/– two rule
-
observation by Miller
-
people can recall up to 7 +/– 2 objects in verbal short term memory
-
applies to number of steps to do an operation
-
-
connectionist theories
-
store long term memories in association with things already known
-
can improve learning and retrieval by rich associations
-
UI should mimic familiar situations/applications
-
-
-
visual short term memory
-
independent of verbal short term memory
-
can exploit with mnemonic techniques associating images with items to be remembered
-
-
-
models of problem solving
-
Generalised Problem Solver
-
GPS operates in a search space characterised by possible intermediate states between some initial state and a goal state
-
problem solving consisted of finding a series of operations that would eventually reach the goal state
-
recursively apply the heuristics:
-
select an intermediate goal that will reduce the difference between the current state and the desired state
-
if there is no operation to achieve that goal directly decompose it into sub-goals
-
-
the difficulty of the problem is indicated by the depth of the sub-goal tree
-
if the tree is too deep the user will forget what to do next to finish the problem
-
-
-
-
system models for HCI
-
Model Human Processor
-
assume task can be broken down into perceptual, cognitive and motion events
-
perceptual:
[50 ~ 200] ms -
cognitive:
[25 ~ 170] ms -
motion:
[30 ~ 100] ms
-
-

-
-
Keystroke Level Model (see later)
-
GOMS (Goals, Operators, Methods and Selection)
-
methods that are used to achieve goals
-
methods are sequential lists of
-
operators that the user performs and
-
(sub)Goals that must be achieved
-
-
selection rules are invoked to determine which method to choose, depending on the context, if there is more than one Method which may be employed to achieve a Goal
-
they are generally if ... then ... else statements in natural language
-
-
provides quantitative methods for the
-
process of goal hierarchy decomposition
-
working memory
-
learning process in acquiring new methods
-
-
implies that the requirements of the user can be predicted exactly from the nature of the software application, and design a UI which takes an optimum path through the goal hierarchy
-
but behaviour of early AI simulations like GMS bears little resemblance to the behaviour of real humans in complex, real interfaces
-
-
KLM is just a restricted version of GOMS (restricted set of operations and no selection permitted)
-
-
-
unfortunately empirical methods can generally only analyse simple and uninteresting actions
Mental models
-
describe the structure of the mental representation that people use for everyday reasoning and problem solving
-
e.g. electricity being like a fluid in pipes
-
model breaks down when e.g. switch left on with nothing plugged in; electricity is leaking out?
-
doesn't do people harm in this case
-
-
basic claim: if you know the users' beliefs about a system you can predict their behaviour
-
the user infers the result of their actions in a mental simulation, before doing it
-
where the model is incomplete, inference will usually rely on analogy to other devices the user already knows
-
-
the user is working simultaneously in two problem state spaces
-
one space describes the actual structure of the users' goals (which may not explicitly recognise the computer at all)
-
the other space describes the understanding of the device state space
-
state spaces yoked together (moves in one space can only be accomplished by equivalent moves in the other)
-
-
it is difficult to make a predictive computational simulation
-
have to study behaviour and try to work out users' reasons
-
-
difference between user model and designer model
-
designed creates UI that gives unnecessary information about the design structure (CL colouring)
-
User oriented design methods: prototyping
-
particularly useful within the waterfall development's portrayal of the UI at the specification phase
-
previously client has not understood requirements for user functionality
-
makes sense: client had no mental model to work from
-
-
rapid prototyping: construct functional user interface for discussion using rapid prototyping tools
-
iterative refinement: using spiral model + rapid prototyping instead of waterfall
-
incremental prototyping: the tools also meet the engineering requirements of the final system
-
deep prototyping: one aspect of the system functionality is fully implemented before developing the rest of the interface
-
investigation of multiple prototypes requires low cost techniques to produce them
-
low fidelity prototyping: glue & paper and Wizard of Oz technique
Evaluation techniques
-
controlled experiments
-
series of observations (measurements made when user using experimental interface)
-
e.g. “how long did it take for Fred to finish task A?”
-
-
analyse results statistically (one measurement doesn't help much)
-
HCI experiment involves one or more treatments that modify the UI
-
the normal distributions of performance of the “good” UI vs. the “bad” UI will overlap
-
compare effects of the treatments by looking at the overlap
-
statistical significance test (e.g. the t-test)
-
what is the probability the observed difference is due to random variation?
-
normally insists p < 0.05, but can insist p < 0.01
-
-
-
sources of variation in the measurements (tend to combine to random variation within the normal distribution, by the Central Limit theorem)
-
variation in the task performance
-
the effect of the treatment
-
difference between subjects (e.g. IQ)
-
different stimuli for each task
-
distractions during the trial (sneezing etc.)
-
motivation of the subjects
-
accidental intervention by the experimenter
-
-
validity of the result:
-
does the observed effect generalise?
-
could it be replicated?
-
does some psychological theory explain it?
-
-
-
other empirical techniques
-
hypothesis testing can hide a lot of useful information (feedback from users of a protoype)
-
surveys
-
closed questions
-
yes/no
-
choice on the Likert scale (1 to 5 rank of how much agree with a statement)
-
-
open question
-
needs some methodical coding technique to structure the result
-
-
-
questionnaires
-
particular type of survey
-
generally used to gather responses from a larger sample
-
-
think aloud studies
-
user asked to carry out task whilst talking as continuously as possible
-
-
bad techniques
-
simple subjective reports
-
proposing a usability hypothesis and not testing it “using more colours should increase usability”
-
introspection of the developer about their performance is irrelevant to most users
-
-
Task oriented analysis
-
observation and task analysis
-
structured interviews
-
conduct interviews to discover the requirements of system users
-
have to be planned to be effective
-
use because user needs can be overlooked in system requirements meetings (at start of the project)
-
-
observational studies
-
less intrusive way of capturing data about users' tasks
-
video the user at work
-
can analyse
-
time spent on different subtasks
-
common transitions between different subtasks
-
interruptions of tasks, etc.
-
-
if the task ranges over locations, have to follow the user
-
might need to use ethnographic techniques
-
could have user keep a diary with precise timings, etc.
-
-
-
ethnographic field studies
-
investigator has to interact directly with the subject
-
have to take care to gain complete and objective information
-
attempt to observe subjects in a range of contexts over a substantial period of time
-
can help understand technology and products in completely new ways
-
can contribute to requirements capture
-
-
-
personas
-
product designers don't want to spent a year on field work
-
they need to gain perspective of a user, outside their own technical mindset
-
write fictionalised description of user to help understand what type of person the user is
-
-
field tests: e.g. “follow me home” programme by Intuit Inc.
-
-
use case design
-
software design: ultimately concerned with the needs of users
-
UML use case analysis
-
behaviour of the system is described from the point of view of abstract actors
-
use case is narrative of some specific interaction of a specific actor with the system
-
-
-
cognitive dimensions of notations (see later)
-
research trends
-
computer supported cooperative work
-
traditional research of user in front of computer neglects the environment
-
users generally have to collaborate with other users
-
how can UI support this collaboration?
-
-
Research, for example
-
shared networked whiteboards
-
social networking sites
-
second life
-
-
-
information appliances/ubiquitous computing
-
what new modes of interaction can we have with computers in toasters, desks, TVs...
-
systems which locate and identify a user
-
tangible user interfaces: physical objects are used to interact with the computer (captured by video camera, RFID tag, etc.)
-
-
-
-
new interaction devices
-
pen input: text entry or gesture languages
-
extended physical interaction: foot operated devices or gaze tracking
-
interaction in 3D
-
still very hard
-
standard hardware:
-
head trackers
-
3D mice
-
data glove
-
-
3D display can provide either of
-
immersive virtual reality
-
augmented reality: data displays are superimposed on the user's view of the real world
-
-
-
speech commands
-
-
end user programming
-
in the past most computer users did some programming
-
these days people do things that resemble programming (end user programming):
-
define the behaviour of agents
-
scripting
-
programming by demonstration (system watches user actions and defines a macro)
-
-
macros in desktop applications are not widely used
-
specifications/debugging in spreadsheets etc. (non-professional programming)
-
many spreadsheets with bugs with safety/business critical consequences
-
-
languages for teaching programming principles (to CompScis, schoolchildren, preschoolers)
-
-
Heuristic Evaluation
-
usability evaluated by a panel of experts
-
each expert works from a list of usability heuristics (similar to principles of direct manipulation)
-
individual heuristics unimportant: essence of technique is applying them to make a systematic evaluation
-
panel of experts intended to bring some objectivity to subjective interpretations of heuristics
-
-
procedure:
-
have multiple evaluators (preferably from different academic backgrounds)
-
each evaluates the interface on their own, perhaps using a scenario
-
go through the interface at least twice, look at compliance to the heuristics
-
-
sample heuristics
-
visibility of system status: keep users informed by appropriate feedback in reasonable time
-
match between system and the real world:
-
speak user's (not system) language
-
follow real world conventions
-
-
user control and freedom: undo, redo and emergency exit
-
consistency and standards: platform conventions, etc.
-
error prevention
-
recognition rather than recall:
-
user should not have to remember information from one part of the dialogue to another
-
instructions should be visible or easily retrievable
-
-
flexibility and efficiency of use
-
accelerators for expert users
-
allow users to tailor frequent actions
-
-
aesthetic and minimalist design
-
-
-
help user recognise, diagnose and recover from errors:
-
precisely indicate the problem
-
constructively suggest a solution
-
-
help and documentation
-
easy to search
-
focused on user's task
-
-
-
applicability
-
most popular technique
-
simple and cheap
-
provides little opportunity to address deeper system issues
-
does not systematically generate solutions to problems
-
Keystroke Level Model
-
provides quantitative information about usability
-
developed from model human processor
-
assumes the user is an expert user performing a routine task
-
procedure
-
decompose the total task into unit operations
-
using established times, add estimate times for each of the operations to get task completion time
-
-
basic components
-
K: time to press a key: 0.28s for average typist
-
H: time to home position on mouse or keyboard: 0.40s
-
P: time to point with mouse: Fitts' law
-
D: time to draw using a mouse
-
R: time the system takes to respond
-
M: time to mentally prepare for an action: 1.35s
-
-
mental preparation
-
every operation much be preceded by mental preparation
-
no mental preparation is needed between two unit operations that form a chunk
-
rules:
-
insert Ms in front of all Ks that are not part of a string (of numbers of letters)
-
insert Ms in front of all Ps that select commands
-
if the operator after an M is fully anticipated by the operator before it, delete the M
-
if a string of Ks belong to a cognitive unit (e.g. command name) delete the Ms between them
-
if there are two Ks which are both terminators (e.g. return key) delete the M between them
-
when a particular command string is always always followed by a terminator delete the M between them (consider the terminator a part of the command)
-
-
-
applicability
-
useful for analysing situations where there is a limited UI used in a repetitive way
-
only useful for comparative estimates – the absolute accuracy varies widely from user to user
-
needs to be confirmed by empirical measurements
-
chunking rules
-
are ambiguous
-
only apply to command based systems
-
-
Cognitive walkthrough
-
assesses usability of the system where the user
-
is not an expert
-
may be attempting an entirely new task
-
-
behaviour model, the model describes how a notional user
-
sets a goal to be accomplished with the system
-
e.g. “check the spelling of this document”
-
-
searches the interface for currently available actions
-
availability may be observable as presence of menu items, buttons, available command line inputs, etc.
-
-
selects the action that seems likely to make progress towards the goal
-
performs the selected action and evaluates the system's feedback for evidence that progress is being made toward the current goal
-
-
procedure
-
manual simulation of the user iteratively carrying out the stages of the behaviour model
-
evaluators need
-
general description of the type of user and their relevant knowledge
-
description of one or more representative tasks for the evaluation
-
for each task a list of correct actions to perform to complete the task
-
-
evaluators are
-
interface designer
-
group of peers
-
a scribe and a facilitator
-
-
at each step moving through the UI
-
examine the interface
-
tell a story about why user would choose an action
-
evaluate story
-
consider what user's current goal would be
-
evaluate accessibility of the correct control
-
evaluate the quality of the match between the control's label and the goal
-
evaluate the feedback provided to the user after the action
-
-
-
-
applicability
-
applicable to WIMP/direct manipulation interfaces
-
assumes evaluators are knowledgeable designers who can evaluate using relevant theories from cognitive psychology
-
more structured than heuristic evaluation
-
less likely to suffer from subjectivity
-
-
Cognitive dimensions of notations
-
broad-brush approach (vs. “death by detail” in KLM)
-
every user interface is a compromise: there is no perfect UI
-
even if perfect for one type of user is not for another (e.g. novice vs. expert)
-
trade-offs!
-
-
describes the system as an information artefact: something for processing, storing and communicating information
-
each information artefact provides one or more notations in which the information being manipulated is encoded
-
environment used to manipulate the notation is also important for usability
-
-
cognitive dimensions used as a vocabulary for design discussion
-
can discuss the trade-offs that result from design decisions
-
-
cognitive dimensions
-
premature commitment:
-
can you do a task in any order you like?
-
does the system force you to think ahead and make certain decisions first?
-
which things?
-
what problems can that cause?
-
-
-
hidden dependencies
-
if changes of one part can affect another part (of a system) are the dependencies visible?
-
how can it get worse when making a large description?
-
do some actions cause the dependencies to get frozen?
-
-
secondary notation
-
can you make notes/express information that is not recognised as part of the notation
-
e.g. annotating a piece of paper
-
-
viscosity
-
resistance to change
-
are there any changes which are particularly difficult to make?
-
“houses are viscous”
-
-
visibility
-
closeness of mapping
-
closeness of representation to the domain
-
which parts seem particularly strange way of describing things?
-
-
consistency
-
similar semantics are expressed in similar syntactic forms
-
are there places where things ought to be similar but the notation makes them different?
-
-
diffuseness
-
in the notation can you say things briefly or long-windedly?
-
-
error-proneness
-
are some kinds of mistakes particularly common or easy to make?
-
-
hard mental operations
-
what kind of things require the most mental effort with the notation?
-
-
progressive evaluation
-
how easy is it to stop in the middle of creating a notation and check work so far?
-
can you do it at any point?
-
-
provisionality
-
degree of commitment to actions or marks
-
can you sketch things out (e.g. if don't know what to do next)?
-
which parts of the notation helps you do this?
-
-
Role expressiveness
-
can the purpose of a component be easily inferred?
-
are there some parts which are hard to interpret/you don't know what mean?
-
-
abstraction
-
can you define new facilities or terms within the notation, so you can extend it to describe new things or express your ideas more clearly/succinctly?
-
does the system insist that you start by defining new terms before you can do anything else?
-
-
-
sub-devices
-
complex systems can have several specialised notations, which can be separate from the rest of the system
-
e.g. post-it note on a computer screen
-
-
types of sub-device
-
helper device: e.g. note of number back of an envelope; complete system is telephone system + the paper notes
-
redefinition device: change main notation, e.g. defining keyboard shortcut
-
-
generally have their own notations
-
-
notational activities: ways the user can interact with the notation
-
search
-
notation doesn't change
-
sections the user sees will vary
-
visibility and hidden dependencies can be important factors
-
-
incrementation
-
adding further information to a notation without altering the structure
-
since the structure does not change then viscosity is not very important
-
-
modification
-
changing existing notational structure
-
possibly without adding new content
-
-
transcription
-
copying content from one structure or notation to another notation
-
-
exploratory design
-
combining incrementation and modification
-
e.g. “hacking”
-
viscosity can make this much harder
-
hence for hacking may be dynamically typed or use type inference
-
loosely typed languages more likely to suffer from hidden dependencies (trade off with viscosity)
-
-
-
-
procedure
-
identify the main notation of the system, describing
-
the medium in which the marks of the notation are expressed
-
the environment in which it is manipulated
-
-
identify sub-devices
-
describe the notation for each sub-device
-
-
consider each notation in terms of the list of dimensions
-
identify where system characteristics are inappropriate to user activity
-
e.g. viscosity in exploratory design
-
-
where problems have been identified consider design manoeuvres to adjust that dimension
-
-
applicability
-
can be more useful as early design tool than evaluation technique
-
provides specific guidance as to what needs to change and likely consequences of the changes
-
can be used to analyse complex software which isn't otherwise analysable
-
useful for relative needs of different types of users
-