1. Faster than coding and allows you to spot and fix UX issues in a few hours instead of days
Let's start with a fact that you should never forget:
"Only once a draft of your product idea is in the hands of real users, you’ll finally see how they want to use it, and how they feel about it.
Everything until that moment is just guesses and assumptions."
Prototyping allows you to reach that moment of truth in hours or days. Not weeks. Prototyping an idea can take 1-2 days but coding it usually takes 1 to 2 weeks.
This means that you can test and iterate on your idea almost 5 times in a week by prototyping it, but only 1 time by coding it. And the more iterations you do the better your product UX will be.
Therefore, prototyping is essential for resolving and spotting user issues early on, before you invest time into building and shipping a new feature or idea.
2. Allows yourself to focus on the users not the technology
Creating fake hacky prototypes means that you don't need to spend time on implementation details. You don't have to pick a framework, a programming language or a platform. You only focus on the solution you are creating and the user feedback, without having any limitations.
Here is what Matt, a fellow developer, wrote after I showed him how to prototype:
You can find the full Twitter thread here.
3. Saves time instead of wasting it. Mockups, wireframes and flow charts are a thing of the past.
Look at the following screenshot. Can you tell if this app you see is easy to use?
I've asked many fellow developers how they design and told me that they prefer to design in code because designing in a design tool feels like a waste of time. Coding is faster. Well, this is true but only because they use the design tools in the wrong way. They think about static mockups and wireframes.
For many years now we judge designs and product ideas by looking at them and ask people to to imagine how they will work and feel and give us their feedback.
This is stupid. How can we imagine how an interaction will feel and look like? This is not proper design. This is just guessing.
If the end product is interactive, then its designs need to be interactive as well. In other words, if you can't use your design then you cannot understand if it's easy to use.
And that's where prototyping comes into place. A prototype is just an interactive mockup or wireframe. It's that simple. It's a set of semi-static screens with clickable elements in them. Nothing more than that.