Design Principles of Human Computer Interface (HCI)
Design Principles of Human Computer Interface (HCI)
Human-Computer Interaction
Paul Pop
Embedded Systems Laboratory
Department of Computer and Information Science
Linköpings universitet
1 of 40
March 20, 2001
Outline
■ Design process
■ What is design?
■ Traditional Waterfall Model vs. User-Centered Design
■ Summary
■ In general...
■ “Finding the right physical components of a physical structure.”
■ “A goal-directed problem-solving activity.”
■ “A creative activity – it involves bringing into being something
new and useful that has not existed previously.”
■ Design is a process...
■ “Engineering design is the use of scientific principles, technical
information and imagination in the definition of a mechanical
structure, machine of system to perform pre-specified functions
with the maximum economy and efficiency.”
Requirements
Requirements
analysis
analysis and
and
definition
definition
System
System and
and
software design
software design
Implementation
Implementation
and
and unit
unit testing
testing
Integration
Integration and
and
system testing
system testing
Task
Task analysis/
analysis/
Implementation
Implementation functional
functional analysis
analysis
Requirements
Requirements
Prototyping
Prototyping Evaluation
Evaluation specification
specification
Conceptual
Conceptual design/
design/
formal design
formal design
■ External analysis
■ Know the users,
■ Know their tasks.
■ Interaction styles:
■ Direct manipulation,
■ Menu selection,
■ Form fill-in,
■ Command language,
■ Natural language.
■ Gulf of evaluation:
the distance between the system’s behaviour and the user’s goals.
■ Bridge the gulfs of execution and evaluation:
reduce the discrepancy between the user’s goals and the system’s physical
state and form.
Gulf of
execution
Physical User’s
system goals
Gulf of
evaluation
■ Exceptions:
■ Echoing of passwords.
■ Confirmation of the delete command.
■ Stupid consistency:
■ Cancel any function in Quicken's Turbo Tax, and
the program will thoughtfully tell you that you
cancelled the function.
■ Error prevention:
■ Design the system so that users cannot make a serious error.
■ Use menu selection instead of form fill-in.
■ When using forms, do not allow alphabetic characters in numeric fields.
■ For command lines: correct matching pairs, complete sequences, etc.
■ Error handling:
■ What happened?
■ Why did it happened?
■ How serious is it?
■ How can it be fixed?
■ cc:Mail
When the user clicks on the OK button,
cc:Mail terminates, which seems to indicate
that having 'No Error' is a serious error in
cc:Mail.
■ NetInfo
Messages warning of success are not
restricted to the Windows operating
system.
■ What happened?
■ Why did it happened?
■ How serious is it?
■ How can it be fixed?
■ Undo/Redo:
■ a single action,
■ a data-entry task,
■ complete group of actions, etc.
■ Problems:
■ Surprising system actions.
■ Tedious sequences of data entry.
■ Difficulty of obtaining necessary information.
■ Inability to produce the action desired.
■ eZip Wizard
Even the relatively simple process of adding or removing a file
becomes an interrogation:
What do you want to do?
What options do you want?
What name do you want to use? etc.
■ Ak-Mail
When the user attempts to delete a mail folder, the program requires the
user to type the response "YES" into the text box
('Y' will not suffice; the OK button is disabled until all three letters are typed).
■ Design process
■ What is design?
■ Traditional Waterfall Model vs. User-Centered Design
■ Design support
■ Users, tasks, interaction model
■ Norman’s seven principles
■ Shneiderman’s eight golden rules of interface design
■ Nielsen’s ten heuristics
■ User interface guidelines