Simple design is not only how the product looks like, but more importantly, how the product functions; it’s about creating the easiest and simplest path for the user to accomplish their goal. Usually, simple design comes from complex requirements and a lot of ideas — in order to break it down I usually go through a process that I call Vagueness to Clarity.
This process requires a deep understanding of the problem to come up with the best possible solution. Most people don’t pay attention to simple products because it feels so right and intuitive when using them — it could be so frictionless to the point that nothing gets in the way of accomplishing the main goal.
But simplicity is hard — it maybe counterintuitive that the cleaner the interface, the more thoughts were put into it, and the longer it went through the Vagueness to Clarity process.
From vague to complex
People often ask me about the design process behind Repl.it and the most interesting thing I can say about it is that I’m not myself a programmer. So I spend a lot of time asking engineers questions, which seems like a never-ending journey that begets even more questions.
The more I learn, the more I learn how little I know. — Socrates
When designing a new product the process starts with a vague idea of what it should be, what type of user would use it, and what type of things they’d use it for. The more you ask the what, how, and who the more answers and questions you start to have. Eventually you’ll have a lot of information on the subject — which leads to complexity.
Complexity is overwhelming and makes you feel lost
Learning all this and having this knowledge can be overwhelming sometimes. Going back to Repl.it, I overcome this complexity by jumping into prototyping, suggesting solutions, and talking and brainstorming with engineers which helps me understand the technical challenges. Having an understanding between designers and engineers is key to overcoming complexity.
Time to clean, simplify and remove all the friction
After going through the complexity phase now we need to simplify. This phase is where I spend the majority of my time — reducing complexity and bringing the idea back to solid roots.
Thinking like a beginner is required at this stage. Having gone through the complexity phase, I have a lot of context on the subject but the user wouldn’t — that’s why I need to keep a beginner’s mind.
Now, it’s all about removing friction and things that are not essential for the user to reach their goals. It’s easier said than done so in a follow-up post I’ll write about an example of this.
To summarize, here is what the entire process looks like:
Vagueness → Questions → Complexity → Overwhelmed and feeling lost → Finding answers → Removing non-essentials → Simplicity → Better product and happier users :)