3 Essentials of Successful Prototyping
Prototyping has always been my favorite part of the design process. As a logical result, I tried to make it as big a part as possible. Here's what I learned.
In interaction design, prototypes can take many forms. Anything from a paper prototype to a high fidelity mockup can be useful in different stages of the process. In this article, I talk specifically about prototypes that mimic parts of the final product as closely as possible. Like no other design artefact, this allows us to evaluate the entire experience of a part of the product.
Some people see prototypes as a last step in the design process, right before handing everything off to developers. I am no fan of this practice. Prototypes are at their best, when they are seen as a tool for tinkering. When using them as the standard method for visualizing possible solutions to a problem, they let you discover ideas that you wouldn't have come to mind when working solely on isolated application states.
To unlock this power of prototypes, there are a few things to consider.
1. Speed is everything
You wouldn't use your first sketch as the definitive solution to a problem. Equally, the first prototype you create might not be the best possible outcome.
Get comfortable with throwing your prototypes away.
In order not to fall for the temptation of seeing whatever first comes out of the prototyping process as the ideal solution, you need to get comfortable with throwing away your work. This is hard. I worked on plenty of projects where the outcome might have been even better if I hadn't been clinging to the first prototype.
Fortunately, there are things that can be done to make this easier. Which brings us to…
2. Keep it small
When using prototypes early and often, it is essential not to overdo it. Just as you wouldn't sketch out every single screen of an application when thinking about a certain feature, you shouldn't try creating one huge prototype. Doing so would slow down the work considerably and draw attention away from what is essential.
Limit. The. Scope.
It is often easier to create a series of small feature prototypes than one big demo.
3. It's not for production
One big fallacy about prototyping is to assume that some of the code can be used in the final product. That assumption is both inconvenient and dangerous. It is inconvenient because it takes focus away from delivering a result and moves it towards code aesthetics, performance optimization and the like. None of these are important in a prototype. And it is dangerous, because most of the time, production code lives in a more complex environment than prototyping code. Trying to force the code into that system results in lots of workarounds that wouldn't even be needed when not starting from prototype code.
Yes, your code should be at least written nicely enough so that you still understand it the next day. Yes, sometimes some basic logic can be reimplemented almost exactly the same way in production. But beware of thinking about implementation when creating a prototype. It will only slow you down and make you set the wrong priorities.
Prototypes are the only artefacts of a designer that can show 100% of the experience of a feature. That alone should be reason enough to use them liberally. In addition, the process is just very rewarding. Yes it takes time to get up to speed in prototyping. But that can be said for any skill out there (remember how long it took you to become really good at Photoshop?) And the result is worth every second of it.