Prototyping - TU Department of Mathematical and Computer Sciences

advertisement
Prototyping
●
●
●
●
What prototyping is
The benefits of prototyping
Low-fidelity prototypes
High-fidelity prototypes,
–
●
And the advantages of each
How to build paper prototypes
Why Prototype?
●
Traditional software development:
–
●
Implementation is expensive,
–
●
you can’t test until you implement
And there is nothing to test until you have made that
expenditure of effort and schedule time
Result:
–
any design errors are built in to the first thing you can
test, and it is very expensive to make changes
–
design errors, unless they are really bad, are left in the
product
Breaking this implementation
paradox
●
Build a prototype of the basic functionality,
–
●
Test the prototype,
–
●
●
●
●
Especially the interface
which will uncover design errors
Correct the errors
Repeat until you have a clean design
A major tool for improving usability
Heavily used in industry
User-centered development cycle
●
●
Design --> prototype --> evaluate
Prototyping is a technique, not an specific tool
– Supports successive refinements
– Based on user input
– Goal is to provide ways to observe aspects of
the website
To evaluate design ideas
● Consider alternatives
–Before committing to implementation
●
The views of the stakeholders
●
●
●
Software designers may not adequately
understand prototyping
HCI practitioners may not adequately understand
implementation
The two groups need to talk to each other—
early—
and prototyping facilitates communication
The stages in website development
●
●
Design
One or more prototypes,
–
●
●
Each followed by testing and redesign
Implementation
Site goes live
Two types of prototypes
●
Evolutionary:
–the prototype eventually becomes the
product
●
Revolutionary, or throwaway:
–the prototype is used to get the
specifications right,
then discarded
Horizontal prototype:
broad but only top-level
Vertical prototype:
deep, but only some functions
Functionality & Range of prototypes
●
Horizontal:
– Little depth of functionality, but broad in terms of
features
●
Vertical:
–
●
Global:
–
●
only limited features but functionality fully developed
has breadth and depth
Local or scenario:
–
Models a very small part of the site
Benefits of prototyping
●
Improves the chances of creating a usable
product,
–
●
●
Higher user satisfaction
Users are good at criticizing an existing system;
–
●
mistakes and omissions are flushed out early in the
development process, not after implementation
They are much less able to imagine how
specifications would translate into a product
Prototyping brings the users into the process at a
much earlier stage
Benefits were recognized
two decades ago
●
●
●
Maryam Alavi. An Assessment of the Prototyping
Approach to Information Systems Development.
Communications of the ACM. June, 1984.
Barry Boehm et. al. Prototyping vs. Specification: A
Multi-Project Experiment. IEEE Transactions on
Software Engineering. May, 1984.
Wasserman and Shewmake. The Role of Prototypes in
the User Software Engineering Methodology. In
Advances in Human-Computer Interaction, H. R.
Hartson, Ed. Norwood, NJ: Ablex, 1985.
Implementation is expensive
●
●
So expensive
–
in people time and schedule time
–
that in practice it is only done once
If testing waits to complete implementation
–
there are no resources and no time to do it over when
a interface design mistake is uncovered
The core of the problem
The vast majority of usability problems come from a
single cause: the development team was lacking
a key piece of information. If team members had
known it earlier, they would have designed to
accommodate it and the usability problem would
never have occurred.”
Jared Spool, Tara Scanlon, and Carolyn Snyder. Product
Usability: Survival Techniques. Proceedings of ACM
CHI 98 Conference on Human Factors in Computing
Systems.
Disadvantages
●
Users may be unfamiliar with the technique.
–
●
But this situation is improving.
If the prototype is “too good,”
–
management may think that the project is nearly
finished, or
–
That the prototype can be converted into the final
product.
The right way:
use low-fidelity prototypes
●
●
●
●
Inexpensive—in materials cost, people time, and
schedule time
No risk of being mistaken for the final product
Simple and fast to repeat as lessons are learned
When interface testing of the prototype is
complete, implementation can proceed with
confidence
Paper prototype to generate user
reactions
●
Team constructs paper prototype
●
Test it with user
–
●
●
One team member “plays computer” in response to
user actions
Another takes careful notes
At the end of the session, team distils notes to see
what aspects need to be changed
Elements of a paper prototype
Menu Bar
Scroll
Bar
Opening
Contents
Secondary
Menu
Advantages of paper prototype
●
Easier to build
●
Not necessary to wait for developers to code
●
Fast to change
Erasing a link and writing another faster than re-coding
●
●
Maximizes # of times design is refined before
committing to implementation
Lack of polish does not affect user opinion of
prototype
Problems with High-Fidelity
Prototype
●
Correctly functioning software takes too long to
build
●
●
●
●
●
Changes take too long
One bug can destroy a user test
Creates unrealistic expectations in management
When testing, users tend to comment on “fit and
finish” issues having little effect on usability
Once implemented, developers have an
investment on it
Disadvantages of Low-Fidelity
●
May need to create convention to indicate
“clickable” items
●
Do not show well to management –lack polish
●
Does not simulate response time
Following are some pages by students
Thanks to Team Cairo, HCI 310, Fall 2001,
DePaul University:
Roy Calayo
● Marek Dzik
● Dan Jung
● Connie Pappas
● Jessica Watson
●
They started with an 18 x 12 drawing
pad
Their home page
User “clicks on” (points to) Clubs
button
The Music page
One Club page
The Club Info page for Red No. 5
A few pages from another student
group
Thanks to Team 2, Computer Science 473, Spring 2003,
City College of New York
Ashford Charleus
● Shahana Dewan
● Khairul Kabir
● Libai Qu
●
The home page
Pulldown
menu
A second-level page
Another second-level page
After prototyping and user testing,
their home page looked like this
Materials for building a paper
prototype
●
White, unlined heavy paper or card stock;
–
●
●
●
11 x 14 or 12 x 18 inches are good sizes
Regular 8.5 x 11 unlined paper
5x8 index cards, for taking notes
Colored paper if you wish
Materials, continued
●
●
●
●
●
Adhesives:
–
rubber cement,
–
Scotch® tape,
–
glue sticks
Markers of various colors
Sticky note pads, in various colors and sizes
Acetate sheets—a few
Scissors
Steps for building a paper prototype
●
Assemble materials
●
Set a firm deadline and stick to it
●
Construct the prototype
–
Construct a model –not an illustration
–
Include representation of every element that the user
will encounter
–
Create stock for anything that moves, changes or
appears/disappears
–
Done by hand – not over concerned with “prettiness”
Evaluation of your prototype
●
●
Evaluation is the subject of the next chapter
There you will learn
–
–
–
–
–
The testing set up
Roles of people involved in testing
Procedure for testing
Interpreting the results
Reporting the results
Prototyping
●
●
What prototyping is
The benefits of prototyping:
–
catching design errors early,
●
●
when they are cheap to fix
The difference between and the advantages of
Low-fidelity prototypes
High-fidelity prototypes
●
●
How to build paper prototypes
Samples of the paper prototypes of two groups of
students in HCI courses
Download