Prototyping is a method used by designers to acquire feedback from users about future designs. Prototypes are similar to mock-ups (see this), but are usually not as low-fidelity as mock-ups and appear slightly later in the design process.
Prototypes may be horisontal or vertical: A horisontal prototype appears to have a very broad range of the intended future features, but only very little of the actual functionality of the features is implemented. For example, a horisontal prototype of a computer application may have a very well-developed and broad user interface (the horisontal dimension) but not much of the underlying functionality is implemented (the vertical dimension, i.e. the deeper layers of the software). Correspondingly, a vertical prototype only has very few features, which on the other hand are almost fully implemented or at least so-called "walking skeletons" (see this).
Figure 1: Vertical and Horisontal Prototypes.
In other words:
The process of prototyping, on the other hand, can be characterised as explorative, experimental, or evolutionary.
In this connection, it is essential to keep in mind the problem prototyping addresses (or at least one of them). In other words, why is it not possible to get the feedback that a prototype facilitates from merely interviewing the users instead? One important reason is non-declarative or tacit knowledge, which is the kind of knowledge that is not verbally expressible, i.e. users are not able to say what they know or what they think. The text-book example of non-declarative knowledge is knowledge of how to ride a bike, doing it may be easy but describing precisely how to do it is impossible.
Non-declarative knowledge can however be revealed through observing situated action and that is what we need the prototype for. Through observing a person's use of a prototype he/she is able to communicate this knowledge.
As a last point, prototypes also touch on the so-called say-do problem, i.e. that there is a significant difference between what people say (or rather, what they are able to say) and what they actually do. This is the differentiation between what is often called "self-reported data" and "observational data", or simply the say-do-problem.
The advantages of prototypes are numerous. For example:
Figure 1 shows a horisontal prototype of a calendar application for school kids developed in Macromedia Flash. The prototype was used to do early usability testing and as a proof-of-concept.
![]()
Figure 1: Prototype developed in Macromedia Flash of a calendar application.
The terms 'mock-up', 'low-fidelity prototype', 'paper prototype' are often used interchangeably. For 'paper prototyping', see the enty on Mock-ups
Give us your opinion! Do you have any comments/additions
that you would like other visitors to see?
Floyd, Christiane (1984): A Systematic Look at Prototyping. In: Budde, R., Kuhlenkamp, K., Mathiassen, Lars and Zullighoven, H. "Approaches to Prototyping". Springer Verlag pp. 1-17
Software design is the act of determining the user's experience with a piece of software. It has nothing to do with how the code works inside, or how big or small the code is. The designer's task is to specify completely and unambiguously the user's whole experience.
-- David Liddle, From Bringing Design to Software, edited by Terry Winograd, 1996
”
Eva Hornecker explains the evolving concept of Tangible Interaction.
Read Eva's insightful entry here..