Start from impossible

19 November 2013

Knowledge is a gift. Having a few years of experience in the web industry under my belt there are plenty of opportunities for prior knowledge to solve design problems. But knowledge comes with baggage. Knowledge stifles potential.

When approached with a design problem we have a tendency to try and solve the problem through the knowledge of our platform before writing a single line of code or painting a single pixel. We think about the restrictions and limitations that come with our platform and try to fit a solution to these requirements.

The problem is that this complicates the solution before we have even started. The solution has already been hindered by our understanding of the intended platform.

I had the privilege of working with Paul May for two years at the company now known as Typecast. Paul is a very talented interaction designer. He taught me to start from impossible.

Starting from impossible means worrying about the details later. This helps you work with an unclouded view and see the solution more clearly.

Hailo is a common example of the importance of starting from impossible. The design problem was clear: hailing a taxi sucks. The success rate varies, sometimes you need to call the cab office and tell them where you are, sometimes it’s not even obvious where you are, sometimes the taxi driver gets lost on their way to pick you up, it’s hard to know how long it’ll be before you can get a taxi — it has the potential to become a whole host of frustrating problems.

I imagine the conversations at Hailo started from impossible: “If getting a cab worked like magic, how would it work?”

In the impossible scenario the taxi would know when you needed it and just appear wherever you are standing to take you where you wanted to go as if by magic. This is the solution to the design problem staring you right in the face! It’s important not to lose sight of it as you introduce real world limitations.

In Hailo’s case, their limitation was the platform and the device. How was the device to know the thoughts of the person who needed a taxi? The person could press a button to tell the device that they needed a taxi. How would the taxi know the person needed a ride? The taxi would have a communicator that could tell that the person pressed a button on their device. How would the person know that the taxi received their request and wants to pick them up? The taxi driver could also press a button telling the person’s device that they are on the way.

So in essence the design solution is an app with a “Pick me up” button and a confirmation message to tell them their taxi is on the way. It’s a beautifully simple solution to a frustrating problem. The user doesn’t need to worry about the communications between the device and the taxi, or about how the taxi uses the device’s location sensors to know where to pick them up. They just need to worry about pushing a button when they need a ride.

By removing the restrictions and the limitations that prior knowledge imposes on your thinking, imagining the impossible helps you to see the solution more clearly.