How to Prototype
Prototyping is one of the most important activities in UCD. When we want to launch a product, usually we need to plan before what we want to do, based on our users needs and abilities. To do this, we base our planification on UX, or User Experience. In other words, we need to learn about all the aspects our final users have and what will be their interaction with our product. In this way, we may create an idea of what our final product may be.
Once we have this idea, we shouldn’t start coding immediately, instead we need to create a prototype of our possible final product. A prototype is a first, typical or preliminary model of our product, from which other forms are developed or copied. When we create a prototype, this presents a hypothesis the developer has about its final product, which may be true or false. The only way to know this is by watching the interaction users have with my prototype and what sensation and reactions are produced by this. Doing this we can improve the design of a product un a more quick, efficient and cheaper way.
The first thing to do is elaborate an MVP or Minimum Viable Product. This is the simplest prototype of our final product that represents the minimum functionality it will have. The MVP lets the developer have a small idea of what its product will look like and lets the developer start testing to learn about the market and its users. All this work is done using the minimum amount of resources, this way the developer doesn’t need to spend a lot a time creating functionality he still doesn’t know its going to be on the final product.
Once we have the MVP, we can go elaborate a prototype. It’s important to note that people always think prototypes should be very elaborate and highly quality ended but that is completely wrong. Prototype can go as simple as a conversation about an idea and as complicated as a live launched product. The complexity of the prototype selected is based on the truth of learning you want your research on the prototype to have. Normally more elaborate prototypes can give me more realistic information about our final product, but the cons are they need more time and resources.
So, there are different kinds of prototypes, some of them may be interactive and present user navigation or other high-end quality, while others may be static and don’t present many features. Also, this prototype may be elaborated on resources as simple as paper or as elaborate as advanced programs used for prototyping.
Overall, here we are talking about our prototype’s fidelity, which means how much the prototype resembles the final product. We will be dividing our prototypes in 4, paper prototypes, low fidelity, medium fidelity and high fidelity. Which prototype we chose to use is based on many factors like the amount of time the developer has, or the amount of resources he wants to spend on the prototype, including the cost.
Paper prototypes:
Pros: they can be elaborated very quickly, also you can change them as quickly if the requirements change and there is no emotional attachment with the prototype. Also, it results to be very cheap.
Cons: the simulation of the user’s interaction may be pretty artificial, and this makes feedback about the prototype not be very good.
Low fidelity prototypes:
Pros: you can start to see a more realistic workflow that shows how users commit tasks. It starts to be more realistic.
Cons: A more elaborate prototype makes users think you are displaying a final product so they will demand more of the prototype and would like to se a better UI, even do you don’t want to center you prototype on UI.
Medium fidelity prototypes:
Pros: we start seeing more quality on the prototype that resembles more the final product and now you may include design to see the reactions to UI.
Cons: the interaction is still limited, and its elaboration may take more time.
High fidelity prototypes:
Pros: you can reuse the code to elaborate the final product, it completely realistic.
Cons: there is a lot of emotional attachment so changing the product may be difficult. It requires a lot of time and resources.
So, in the end we can see that choosing what prototype to use depends of multiple factors and on what stage of the project the developer is, but what we need to note is that it is very important to use prototypes to test the ideas the developer has about a product, in this way he can gain more information that will let him create a better product, without the risk of having a bad product or spending resources on thing you won’t be using.