Stab Your Software

The microwave at my old apartment had a voice memo feature. Microwaves are the classic example of an interface that is more complicated than it needs to be. Microwaves have so many buttons, and most of them are never used. On better-designed microwaves, there’s a button “Add 30 Seconds” which will immediately start the microwave and set the timer to 30 seconds. Pressing it again adds another 30 seconds. On microwaves that have this feature, that’s literally the only button I ever press!

My ideal microwave design would be one that I could jab with my hand, and it would activate. I should be able to poke in the general direction of the microwave and have it start. There’s only one function I ever want, that button should cover a large portion of the front of the device.

I find the same is true in my car. When I need to use the light on the ceiling, I look up at the area where the light is and I’m presented with a range of knobs, switches and vents. A nice big button I can punch would be the ideal interface.

The entire experience of paying for things usually suffers from this problem too. If you go to a store, you’ll wait in a line. Then you’ll be asked a series of questions like “Do you want to sign up for our rewards program?” before swiping your credit card, only to be told you need to insert your your card into a slot instead. Then you’ll sign a paper receipt. It’s another situation where the ideal experience would be one where you throw money in the general direction of the register as you walk out. If you want money, make it a low-friction process!

Note: This was written in 2016, before contactless payment was common, and just as the switch from swiping to inserting was happening in the US. Things have gotten better.

These situations illustrate a principle I try to keep in mind when designing software. When appropriate, go to great lengths to simplify the interface to the point that if the user just stabs at it, they will probably get the result they want. Extra options, buttons and text just create opportunities for mistakes, confusion, and slowdowns. Users often do stab at their software, and when confonted with lots of options, they have to stop and think about your app, rather than their problem.

If you find yourself creating a multi-step process, or asking a user to choose from a range of options, or to provide a plethora of data, consider whether you can simplify the process to a single step, button, or piece of data. It will probably be hard to figure out a clean way to make it work, but you only have to do that work once. Your users have to deal with an overcomplicated UI repeatedly for the life of your software.