Prototyping - University of Texas at El Paso
Download
Report
Transcript Prototyping - University of Texas at El Paso
Introduction: Human Computer
Interface Design
Adapted from: Sommerville, I. Software Engineering 8th
ed.. Reading, MA: Addison-Wesley Publishing Co., 2006
.
The User Interface
• User interfaces should be designed to match the skills,
experience and expectations of its anticipated users.
• System users often judge a system by its
interface rather than its functionality.
• A poorly designed interface can cause a user to make
catastrophic errors.
• Poor user interface design is the reason why so many
software systems are never used.
Human Factors
Limited short-term memory
People can instantaneously remember about 7 items of
information.
If you present more than this, they are more liable to
make mistakes.
People make mistakes
When people make mistakes and systems go wrong,
Inappropriate alarms and messages can increase stress
and hence the likelihood of more mistakes.
People are different
People have a wide range of physical capabilities.
Designers should not just design for their own
capabilities.
People have different interaction preferences
Some like pictures, some like text.
1
2
http://www.dell.com/us/p/d/campaigns/tablet-comparison.aspx
Human Computer Interface Design
Requires:
Creation of different models
Understanding of human and computer oriented
tasks to achieve functionality
Adherence to design issues and guidelines
Understanding of user-system interaction
Principles of HCI Design:
Recognize the diversity-1
Depict profile of end users
age
sex
physical abilities
education
culture/ethnic backgrounds
motivation and goals
Identify tasks
Use case scenarios
Examine task frequencies (frequent should be simple)
Determine interaction style
Principles of HCI Design:
Recognize the diversity-2
Types of Users
Novice
No syntactic knowledge
Mechanism of interaction requires interface to be
effective with little sense of application
Knowledgeable, intermittent users
Reasonable semantic knowledge
Low recall of syntactic information
Knowledgeable, frequent user
Good semantic and syntactic knowledge
Wants shortcuts and abbreviated modes of operation
Principles of HCI Design:
Recognize the diversity-3
Tasks
Understand task
Identify real-world objects needed to
accomplish intentions
Identify actions that will be applied to objects.
Decompose objects and actions (individual
steps)
Create metaphor representations of objects and
actions for interface
Principles of HCI Design:
Use rules of interface design.
Strive for consistency.
Enable frequent users to use shortcuts.
Offer informative feedback.
Design dialogs to yield closure.
Permit reversal of actions.
Reduce short-term memory load.
Principles of HCI Design:
Prevent errors.
Correct matching pairs (put both in one stroke).
Complete sequences (put in single action).
Correct commands (automatic command
completion)
Improve error messages
Specific and constructive
Positive in tone
Microsoft Money 2007 Home & Business
Types of Interfaces:
Direct Manipulation
Presents user with model of their information space
Users interact with direct actions
Examples: word processors, screen editors, forms
Advantages
Users in control
Learning time short
Users get immediate feedback
Disadvantages
Not suited for casual use
In some cases consumes more computer resources
Types of Interfaces:
Metaphor and Control Panel Models
Metaphor helps define a consistent model
Example: desktop metaphor
Not suitable for complex applications
Control panel
Graphical representation of system commands
Command icons that match menu command
Buttons (Print, Quit)
Switches
Indicators
Displays
Sliders
Types of Interfaces:
Menu Systems
Users select one of a number of
possibilities
Types: pull down or pop up
Scrolling: Menu scrolls to display next
choice
Hierarchical: Current menu is replaced by
next
Walking: Form of hierarchical that creates
menu adjacent to it
Associated control panels
Types of Interfaces:
Menu Systems
Advantages
No need to know command names
Some user error prevented (disable invalid
choices)
Context-dependent help can be provided
Disadvantages
Need to structure large menus
May need time to understand menu choices
Types of Interfaces:
Command Line Interface
User types command to system.
Not suitable for casual or inexperienced users
Advantages
Interface can be made concise with little typing
Can be combined with other approaches
Disadvantages
Need to learn command language
Errors can be introduced
Summary: Interaction styles
Interaction
style
Main advantages
Main disadvantages
Application
examples
Direct
manipulation
Fast and intuitive
interaction
Easy to learn
May be hard to implement.
Only suitable where there is a
visual metaphor for tasks and
objects.
Video games
CAD systems
Menu
selection
Avoids user error
Little typing required
Slow for experienced users.
Can become complex if many
menu options.
Most generalpurpose systems
Form fill-in
Simple data entry
Easy to learn
Checkable
Takes up a lot of screen space.
Causes problems where user
options do not match the form
fields.
Stock control,
Personal loan
processing
Command
language
Powerful and flexible
Hard to learn.
Poor error management.
Operating systems,
Command and
control systems
Natural
language
Accessible to casual
users
Easily extended
Requires more typing.
Natural language understanding
systems are unreliable.
Information
retrieval systems
Information Presentation
• Static information
Initialized at the beginning of a session. It does not
change during the session.
May be either numeric or textual.
• Dynamic information
Changes during a session and the changes must be
communicated to the system user.
May be either numeric or textual.
Information Display Factors
Is the user interested in precise information or
data relationships?
How quickly do information values change?
Must the change be indicated immediately?
Must the user take some action in response to
a change?
Is there a direct manipulation interface?
Is the information textual or numeric?
Are relative values important?
Analog or Digital Presentation?
• Digital presentation
Compact - takes up little screen space;
Precise values can be communicated.
• Analog presentation
Easier to get an 'at a glance' impression of a
value;
Possible to show relative values;
Easier to see exceptional data values.
Presentation Methods
1
4
0
2
10
3
Dial with need le
Pie char t
Th er mometer
Horizo ntal b ar
20
Data Visualization
• Concerned with techniques for displaying large amounts of
information.
• Visualization can reveal relationships between entities and
trends in the data.
• Possible data visualizations are:
Weather information collected from a number of
sources;
The state of a telephone network as a linked set of nodes;
Chemical plant visualized by showing pressures and
temperatures in a linked set of tanks and pipes;
A model of a molecule displayed in 3 dimensions;
Web pages displayed as a hyperbolic tree.
Information Presentation: Color
Limit number of colors on screen (no more than 4)
Use color to support user’s task
Highlight anomalies
Highlight similarities
Highlight change in status
Color communicates meaning (know users)
Driver: Red=stop; Chemist: Red=hot
Be aware of color blindness: 10% of males
Avoid bad pairings.
If you can
Use color in a consistent fashion.
read
this you are my
hero!!!
Information Presentation: Error
Messages
Context: Keep system aware of what user is doing
Experience: allow user to control detail in message
Skill level
Message for a novice is different than the message for
experienced user
Include terminology familiar to user
Style
Positive and not negative
Active rather than passive
Professional
Culture differences
ERROR!
Error #27: invalid patient ID.
Error
Patient Joe Hernandez is not registered.
Click on Patient for a list of registered patients.
Click on Retry to re-enter information.
Click on Help for more information.
User Interface Design Principles
Principle
Description
User familiarity
The interface should use terms and concepts which are drawn
from the experience of the people who will make most use of the
system.
Consistency
The interface should be consistent in that, wherever possible,
comparable operations should be activated in the same way.
Minimal surprise
Users should never be surprised by the behaviour of a system.
Recoverability
The interface should include mechanisms to allow users to
recover from errors.
User guidance
The interface should provide meaningful feedback when errors
occur and provide context-sensitive user help facilities.
User diversity
The interface should provide appropriate interaction facilities for
different types of system user.
Other Considerations
Learnability
How long will it take a user to become productive?
Speed of operations
How well does the system response match the user’s work
practice?
Robustness
How tolerant is the system of user error?
Adaptability
How closely is the system tied to a single model of work?
The UI Design Process
• UI design is an iterative process involving close
liaisons between users and designers.
• The 3 core activities in this process are:
User analysis. Understand what the users will do
with the system;
System prototyping. Develop a series of prototypes
for experiment;
Interface evaluation. Experiment with these
prototypes with users.
The Design Process
User Analysis
• If you don’t understand what the users want to do with
a system, you have no realistic prospect of designing an
effective interface.
• User analyses have to be described in terms that users
and other designers can understand.
• Scenarios where you describe typical episodes of use,
are one way of describing these analyses.
What is a Prototype?
Views of prototype
A model that presents an interface of system
A “working” model with limited functionality
Purpose
Understand and elicit requirements
Verify and validate
Requirements
Designs
Technology
Involve customers and assist in communication
Reduce risk
Other Reasons
Verify an algorithm will work.
Verify an interface will be usable.
Experiment with alternate approaches.
Understand uncertain system functions.
Evaluate time and memory requirements.
Prototype Approaches
Approaches
Pen and paper
Storyboards
PICTIVE (Michael Muller)
Users participate in construction of their own storyboard
Poster board
Construction paper
Sticky notes
Scenarios
Videos
Support
High-level languages (Lisp, Prolog, Visual Basic)
Database (4GLs, SQL, report generators)
Components (Swing, AWT, Python)
Tools (JBuilder)
Hints on HCI Prototype
Avoid making interface look too slick.
Customers reluctant to suggest changes
Customers will think it’s finished
Do not impose your view of an acceptable
user interface on users.
Soon to Come Assignment
Identify tasks and actions
Define comprehensible mental image
(metaphor)
Create appropriate organization of data,
functions, tasks and roles
Be attentive to efficient navigation among
these data, functions, tasks and roles
Pay attention to quality appearance (the look)
and effective interaction sequencing (the feel)
Create a paper or powerpoint prototype
All GUI examples taken from:
http://www.buigallery.com