Back to home page


What is it?

Prototyping models your final product and allows you to test attributes of the final product even if it's not ready yet. You simply test using your model.

How do I do it?

You begin by constructing a model of the final product--what it will look like, how it will work, and so on. With many user interfaces, this model can be as simple as paper-and-pencil drawings or as complex as actual working code. With hardware interfaces or workstations, this model can be cardboard or foamcore mockups. The closer your prototype is to the actual thing, the better your evaluation will be--however, you can get great results from very simple, "low-fidelity" prototypes.

When should I use this technique?

This technique can be used at any stage of development. As development progresses and the product is more complete, your prototype will encompass more and more of the product's final features. At some point, building additional prototypes will be less efficient than simply using early builds of the product.

There's a number of different terms you'll hear in conjunction with prototyping methods. The following is a sampling of some of these distinctions:

Rapid Prototyping: design methodology that quickly develops new designs, evaluates those designs, then "throws-away" the prototype when the next new design is developed along with a new prototype.

Reusable Prototyping: also known as Evolutionary Prototyping; effort used in constructing the prototype isn't wasted because parts (or all) of the prototype can be used to make the actual product. Mostly used in software development, although some hardware products can use the prototype as the basis for mold design in plastic manufacturing or auto body design.

Modular Prototyping: also known as Incremental Prototyping; new parts are added on as the design cycle progresses.

Horizontal Prototyping: prototype covers a large breadth of features and functions, but most aren't working. Great for testing breadth of scope but not actual use.

Vertical Prototyping: prototype covers only a narrow slice of features and functions that do work. Great for testing usage in a small portion of the product.

Low-fidelity Prototyping: prototype is implemented using paper and pencil, and thus mimics the function of the actual product, but doesn't look at all like the actual product. Great for testing on the cheap.

High-fidelity Prototyping: prototype is implemented to be as close to the actual design as possible in terms of look and feel, interaction, and timing.

Who can tell me more?

Click on any of the following links for more information:

Cooper, Alan, "The Perils of Prototyping," 1996

Dumas, JS, and Redish, Janice, A Practical Guide to Usability Testing, 1993, Ablex, Norwood, NJ
ISBN 0-89391-991-8 (paper)

Nielsen, Jakob, "Paper versus Computer Implementations as Mockup Scenarios for Heuristic Evaluation'', Human-Computer Interaction-Interact `90, D. Diaper et. al. (ed.) Elsevier Science Publishers B.V. (North Holland), 1990: 315-320

Rettig, Marc, "Prototyping for Tiny Fingers (Everything I Need to Know About Prototyping, I Learned In Kindergarten)'', Communications of the ACM, April 1994.

Rubin, Jeffrey, Handbook of Usability Testing, 1994, John Wiley and Sons, New York, NY
ISBN 0-471-59403-2 (paper)

Virzi, Robert A, Sokolov, Jeff, and Karis, Demetrios. "Usability Problem Identification Using Both Low- and High-Fidelity Prototypes,'' 1995: Obtained directly from the authors.

All content copyright © 1996 - 2019 James Hom