Software Engineering: Analysis and Design - CSE3308 Conceptual Issues in Human-Computer Interaction
Download
Report
Transcript Software Engineering: Analysis and Design - CSE3308 Conceptual Issues in Human-Computer Interaction
CSE3308/DMS/2002/17
Monash University - School of Computer
Science and Software Engineering
Software Engineering: Analysis and
Design - CSE3308
Conceptual Issues in Human-Computer
Interaction
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.1
Lecture Outline
CLINTs
What
is Human-Computer Interaction?
Models
An
and WIMPs
and HCI
example of the role of models
The
need for design
Principles
POET
for design
- a design method
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.2
CLINTs and WIMPs
CLINT
- Command Line INTerfacer
WIMPs - Windows, Icons, Mice, Pointing
Over the last 4 decades, have migrated from
CLINTs to WIMPs
The vast majority of computer users will run
screaming from a command line interface
The GUI is now king of our screens, but is
unlikely to stay enthroned forever
Voice-based systems
Virtual Reality-based systems
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.3
What is Human-Computer
Interaction?
The
ways and means by which humans use
computers
The interaction between humans and their
computers occurs through what is known as
the user interface
The User Interface is the “System”
If the User Interface is poor, then the system
is poor
The User Interface is a necessary but not
sufficient part of building a good system
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.4
Models
People
build mental models of how the world
works
People form these models through
experience, training and instruction
These mental models are often wrong in
principle, but correct in effect
In software development, we have three
mental models which we are concerned with
The Implementation Model
The System Model
The User Model
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.5
The interaction between the three
models
Implementation
Model
User Model
Designer
User
System
System Model
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.6
Which model should the System
Model match?
Better
Worse
System Models
Implementation
Model reflects
technology
CSE3308 - Software Engineering: Analysis and Design, 2002
User Model
reflects user’s
vision
Lecture 8A.7
Models and User Interfaces
Mental
models are generally simpler than
reality
Mental models don’t have to be true or
accurate, so long as they are effective
Example - many users see the screen as the centre of the
computer where the work is done
Software
which has a system model similar to
the user’s mental model reduces the
complexity of an interface
Most software conforms to the
implementation model
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.8
The Baffling Case of the File
System
The
current file systems used in all systems
are based on the implementation model, not
the user model
The current file system is an endless source
of user problems and frustration
Very few people even question whether it can
be done a different way!
Users view files in the same way as they view
documents in the real world, but this is not
correct
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.9
The real world analogy to using a
file
Compare with using a book from a shelf
1. Make a photocopy of the book on the
shelf
2. Scribble any changes you want to make
on the photocopy
3. Burn the original book on the shelf
4. Place the scribbled-on photocopy
where the original was
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.10
The current filing system
Differentiates
between the copy on the hard
disk and the copy in RAM
Use of Hard Disks is purely a technical issue
driven by cost, has nothing to do with the
usage of the filing system
The ability to lose all your changes and revert
to the old version prior to saving is a sideeffect and a dangerous side-effect
The existence of two versions of the same
document simultaneously is greatly
confusing
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.11
A solution in tune with the user’s
mental model
What
are the goals of a file system for the
user?
Saving changes to the document
Create a copy of the existing document
Naming and renaming the document
Placing and repositioning the document
Specifying the stored format of the document
Creating a milestone copy of the document
Reversing some changes
Abandoning all changes
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.12
Addressing the requirements
Saving
changes to the document
With modern technology, we can save often automatically
Save when the user stops rather than when actually
typing
Manual save facility for the paranoid
Creating
Add a command Make Snapshot Copy
Give copy standard name like Copy of Alpha and put it in
the same directory
Should just happen, no dialog box
Naming
a copy of the document
and renaming the document
Name in the title bar should be editable
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.13
Addressing the requirements (2)
Placing
and repositioning the document
All documents placed in file system in default location
Explicit command on the menu to move to a different
location, if necessary
Specifying
the stored format of the document
Currently tied in with the file system
Not actually part of the file system, but is actually a
property of the document
Very rare occurrence, shouldn’t be tied to saving the
document
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.14
Addressing the requirements (3)
Making
a Milestone copy of the document
creates a version of the document to be stored separately
in the file system
similar technology is already used in revision control
systems
Simple to revert back to a milestone when we need to
Abandoning
a facility on the menu to abandon all changes since the
document was opened with appropriate warnings
facility should also be undoable for a week or two
Reversing
all changes
some changes
use a multi-level undo
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.15
The New Menu
Menu
now reflects the user’s mental model
instead of the implementation model
there
is one document and the user owns it
and can control its behaviour easily and in
detail
No
need for the user to worry about copies in
RAM and disk
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.16
The New Menu’s Appearance
Document
New
Open...
Close
Rename/Reposition…
Make Snapshot Copy
Make Milestone
Revert to Milestone...
Document Properties...
Abandon Changes
Close
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.17
The Need for Design
As
can be seen by the File Menu example,
there is still room for considerable
improvement in user interfaces
By applying good design principles to the
tasks that users perform we can produce far
better user interfaces
The result is more work for developers, but
more productive and better-selling software
for users
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.18
Five fallacies
The design is satisfactory for me - therefore it will be
satisfactory for everybody
This design is satisfactory for the average person - it
will therefore be satisfactory for everybody else
The variability of human beings is so great than it
cannot be catered for in any design - but since people
are wonderfully adaptable it doesn’t matter anyway
Good interfaces are expensive and since products are
usually purchased on appearance and styling, we can
ignore interface design
Good interfaces are an excellent idea, I always design
things with this in mind, but I do it intuitively and rely
on my common sense, so I don’t need to test it
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.19
Design Principles
Affordances
Being
aware of the mental models in the
system
Making
things visible
The
principle of mapping
The
principle of feedback
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.20
Affordances
The
perceived and actual properties of the
thing, primarily those fundamental properties
that determine just how the thing could
possibly be used
Examples
The handle on a door
A 3-D pushbutton on a toolbar
Affordances
are far more compelling than
written instructions
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.21
Making things visible
The
functions in a system should be visible
Example - the Telephone
standard telephone has 15 function buttons
most functions use the * and # button
the button has no relationship to the function
How many people can set up a three-way call or
remember how to turn off call waiting?
Counter
example - the Car
Many more buttons, but each button generally has one
purpose and is labelled
people have far less problems in a strange car as
opposed to their own telephone
Visibility
acts as a reminder of what can be
done and how it is done
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.22
The principle of mapping
Mapping
is the relationship between two
things
for example, the steering wheel of a car, when it is turned
right, the car turns right, when turned left, the car turns
left
By
using natural mappings, the designer can
make actions easily learned and always
remembered
e.g. spatial analogies: to move an object up, move the
control up
e.g. other physical analogies: a louder sound means
more, a quieter sound means less
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.23
The principle of feedback
Sending
information back to the user on what
action has actually been performed and what
result has been accomplished
Feedback
needs to be timely
Example
- Keyboards can easily be made to
be silent, but a good keyboard will have a
nice satisfying click!
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.24
How people do things
An
approximate model - Seven Stages of Action
Three basic areas
Goals - what does the user want, i.e. their expectations of and
intentions for the device?
Execution - how does the user achieve the goals with the
device
Evaluation - how does the user know whether their goals have
been met?
Gulf
the distance between the intentions of the user and the
allowable actions
Gulf
of Execution
of Evaluation
the amount of effort the user must exert to interpret the
physical state of the device and how well it satisfied the user’s
intentions and expectations
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.25
The Seven Stages of Action
Goals
Evaluation of
interpretations
Intention to act
Sequence of actions
EXECUTION
Execution of the
action sequence
Interpreting the
perception
EVALUATION
Perceiving the
state of the world
The World
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.26
Using the seven stages to assess a
design
How easily can one:
Determine the function
of the device?
Tell what actions are possible?
Tell if the system is in
the desired state?
Determine mapping from intention
to physical movement?
Determine mapping from system
state to interpretation?
Perform the Action?
Tell what state the system is in?
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.27
POET - a design method
The
Psychology of Everyday Things - Donald
Norman - Apple Fellow
(new edition of book retitled “The Design of Everyday Things”)
Address the goals of the user
Use both knowledge in the head and knowledge in the
world
Simplify the structure of tasks
Make things visible, bridge the gulfs of Execution and
Evaluation
Get the mappings right
Exploit the power of constraints, both natural and
artificial
Design for error
When all else fails, standardise
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.28
POET - A design method (2)
Address
the goals of the user
Don’t allow the implementation model to rule the way
things are done
Use
knowledge in the head and knowledge in
the world
People learn better and feel more comfortable when the
knowledge needed to do the job is available externally
But knowledge in the world must have a natural, easily
interpreted relationship between that knowledge and the
information it is intended to convey about possible
actions and outcomes
Knowledge in the head improves performance, so the
design should not impede experienced users with that
knowledge
Knowledge in the head is only available within a context
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.29
POET - a design method (3)
Simplify
the structure of the tasks; 4 ways:
Keep the task much the same but provide mental aids
» e.g. providing a drop-down list box of postcodes
Use technology to make things visible and reduce
memory load
» the automatic spelling check function in Word 97
Remove some parts of the task with automation
» e.g. filling in the suburb field based on the postcode
Change the nature of the task
» e.g have a web page and let the user fill in the details
Simplify,
but don’t take control away from the
user
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.30
POET - a design method (4)
Make
things visible
Bridge the Gulf of Execution by
letting people know what is possible
letting people know how actions are performed
Bridge
the Gulf of Evaluation by
showing people the effects of their actions
Actions
should match intentions and
expectations
The system state should be readily
perceivable and interpretable
The system state should match the user’s
intentions and expectations
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.31
POET - a design method (5)
Get
the mappings right
between intentions and possible actions
between actions and their possible effects on the system
between actual system state and what the user can
perceive
between the perceived system state and the needs,
intentions and expectations of the system
Exploit
the power of constraints
use constraints so that the user feels there is only one
choice:
» the right one
reduce the possible number of actions at any stage
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.32
POET - a design method (6)
Design
Assume any error can be made and plan for it
Support, don’t fight the user’s response
Allow recovery from errors
Don’t straitjacket the user:
» what you think is an error may be normal behaviour
in the system
When
for error
all else fails, standardise
If there must be arbitrary mappings, standardise the
layout
Standards are hard to agree upon
Users must be trained in standards
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.33
The Backwards Clock
12
1
11
2
10
3
9
4
8
5
7
6
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.34
References
Norman,
Donald A, The Design of Everyday
Things, Currency/DoubleDay, 1990
(previously published as The Psychology of Everyday Things, Basic Books, 1998)
CSE3308 - Software Engineering: Analysis and Design, 2002
Lecture 8A.35