When building a web app (or any piece of software for that matter), I find sometimes myself entangled in complicated workflows. This is usually caused by not having a clear road map specified, a golden path that the user will follow when using the software. Multiple ways of achieving a goal on the app can also affect this.

These moments tend to be quite frustrating. Even coding becomes convoluted, and I have learnt that when the code is convoluted, it is very likely that the usability of the software is complicated too.

I’m a big fan of Steve Krug’s Don’t make me think book and complicated software is the last thing I want to produce. As many of you, I want to deliver an app that is straightforward, intuitive, made of familiar interfaces, in other words, simple to use.

Therefore, in the moments of darkness, when the simplicity seems so complicated, so difficult to achieve, I tend to go back to basics. I break down the task into smallest pieces possible, and work on them. Furthermore, I ask the fundamental questions that every software should exist for: “What am I trying to achieve here?”, and “How is the user going to employ this product/functionality?”

Answering these questions helps me find the golden path, removing the many different options that were convoluting my mind. It even cleans my code, making it simple, easy to write and read.