One of the most important things I’ve learned from HCI (Human-Computer Interaction) is the idea of prototyping. It is not only useful in that particular area but in almost any place we need to bring an idea into the real world.
Prototypes are proof of concepts meant to quickly sketch an idea. You can consider them as mockups of the idea, or questions on how will the idea be in the real world. Now, very often we have this idea in our heads and, to us, it’s as clear as the water; but, there comes a point where you need to put that idea into paper, not only to continue developing it but also to allow everyone else understand what the idea is about. People are no psychics.
Prototypes are proof of concepts meant to quickly sketch an idea.
It’s almost impossible that the original idea gets finally done as it was thought. Usually, that idea goes through a cycle of refactoring, where everything good carries on and everything bad is left behind. This is when prototyping comes handy, as what’s important at that point is not the object (the idea brought to the real world) but to test that idea, to learn from mistakes and avoid them in future iterations. Being so, the nature of prototypes is to be incomplete (when compared to the final object).
If there’s something we humans are very bad at is at working with things that are difficult to predict and, even more, we’re bad estimating the final space of possible outcomes. We can’t handle uncertainty or high number of options very well. The best thing we can do is focus on our final objective and begin working step by step, refining the idea we’re working on, until the point where the final real object is as similar as possible to the final imaginary object we had in mind.
Prototyping is perfection through iteration.
When working with prototypes, it’s important to notice that it is during the initial iterations that we must refine the big aspects of the idea. Details are not that important right now, they will have their chance later on. We want to maximize learning, while minimizing the time need to achieve it. Remember, prototyping is perfection through iteration.
Prototypes usually are:
- Not necessary to be complete (as I mentioned early).
- Easy to modify (we need to be able to change things and try others easily, without loosing too much time).
- Discardable. Once the actual iteration ended, the current prototypes serves no purpose for future iterations (what must be carried on is what we learned from them).
We could say prototypes focus on three aspects.
- Feeling: How does the final object could look like?
- Behaviour: How does the final object work like?
- Role: How would the user experience be when using the final object?
As Linus Pauling once said: “The best way to have a good idea is to have lots of ideas.” And by prototyping we have the time and space we need to test out those ideas and keep the ones that really are useful. Let’s remember that the cost of changing a final product increases as time passes, people get used to what they have and change is rarely welcomed. There’s a quote from the video game Deus Ex: Human Revolution, which reads: “If you want to make enemies, try to change something.”
“The best way to have a good idea is to have lots of ideas.”
The way we prototype usually changes over time. Usually, the most common approach is to create a storyboard that communicates the flow of work of the idea; how pretty the storyboard is, is not important. The storyboard of a system should show the scenario (the scene, participants and it’s objective), the sequence of events (what are the steps to meet the goal), satisfaction (what motivates and helps to achieve the use of said system). It gives us a holistic approach, focused on the objectives, rather than the way things look.
The next step is to create a paper prototype, a physical mockup. This approach allows the participation of the users, clients or stakeholders in the creative work, by giving a way to physically interact with the system and make the changes they consider. After the paper prototype, a digital mockup can be made (if necessary), with a greater level of details.
An optional prototype can be a video showing how the user experience could be at the end.
One good thing I learned in the HCI course, in Coursera, is the idea of parallel prototyping. Instead of working on a single prototype which gets refined in each step, why not work at the beginning with several prototypes exploring different approaches to solve the problem? By working with many options, we can compare them and transfer what we have learned from one to the others. As mentioned on the course, if we work only with one idea, we usually focus on it so much that we desire to make it perfect, leading to possible frustrations and a final not-so-good product; now, by starting with many ideas, we no longer see them as a mystical holy artifact that must be perfect (we avoid this). It’s a psychological phenomena.
It can be (and is) applied to any creative work.
At the start of this post, I mentioned prototyping was useful in many areas, not only when working on interfaces. It can be (and is) applied to any creative work. When artists begin their paintings, most of them usually start with a sketch, to define the shape of the elements in scene. Musicians usually start with a tune in the heads, which they develop into the final song. Writers write and rewrite as they work. Programmers work with early, alpha, beta and release candidate versions of the final software (as an example of what I said before, it’s during the early and alpha versions that usually the big bugs and feature are important; beta versions and release candidates don’t work on any new features but on minor, bugs). In movies, the initial pitch of an idea is usually backed-up by some artwork; one famous example is Ralph McQuarrie and the initial depiction of Star Wars (see the image at the start of the post). And, of course, video games usually are developed starting with a prototype, as the mechanics must be tested early in the cycle of development.
Here are two examples:
Bastion is an indie action role-playing game developed by Supergiant Games. It was the first game I played on 2012 and I absolutely love it.
Now, here’s a video of its first demo:
Pretty different, isn’t it?
My second example is Double Fine Productions, a videogame development company founded by Tim Schafer (creator of games like Grim Fandango and Psychonauts). Double Fine works with a particular methodology: once a year, the employees divide into groups and work for two weeks on an idea of theirs, they call it Amnesia Fortnight. By the end of those two weeks, they show the prototype they builded and the best one gets worked as a full game. Last year was special because they gave people a chance to take part on the project, by voting for the four better ideas (which they consequently worked on). The event ended, but here’s the link.
Here’s a video of the prototype that won one of the past events. The game’s name is Costume Quest and actually is pretty could.
Now, compare it with the final product:
Challenges like One Game A Month usually great ways to prototype.
I prototype, therefore I am.