How do you set your microwave to one minute? For some (like the one I used to have at home) you could just press the number 1 and it would start running at one minute. I like that because
I’m lazy it’s efficient.
Do you press 6 – 0 or 1 – 0 – 0 to run it for one minute? Either should work, right? 6 – 0 would mean sixty seconds which is one minute. 1 – 0 – 0 would mean one minute and zero seconds. But, wait, how do you enter one hundred seconds? And should 1 – 2 – 0 mean one hundred twenty seconds (two minutes) or one minute and twenty seconds? If you were designing a microwave, what would you do?
This came up a few weeks ago when a fellow programmer here ended up pondering these questions about the microwave in our break room. It can be a tricky thing to create something that works the way people expect it to. Even if it is the “best” way, but not what people expect, it’s broken or buggy as far as they are concerned.
What, then, is the “best” interface for a microwave?
- Should we have two start buttons – one for “Start as Minutes” and one for “Start as Seconds”?
- Should we only accept the Minute:Seconds format and display an error for anything greater than fifty-nine in the seconds location?
- Maybe a simpler way would be only to accept seconds. So you would enter 3 – 0 – 0 to get five minutes (300 seconds).
Hopefully, these solutions sound ridiculous to you. They would all work but would also indroduce confusion and frustration. A person should not have to perform calculations to heat their leftovers. Aside from that, the machine “should just know what I mean”. And imagine a microwave displaying an error when you tried to heat up something!
Unfortunately, we see these types of solutions on many websites. I remember one site I used to work on had two forms on the login page. One form was to login using a username and password. The other was to login using an email and password. A username here could not have symbols so it would be very trivial to determine – from a single form – if the person had entered a username or email. We didn’t need two “start buttons” here.
So how does your site appear to your users? Does it make them think unnecessarily? Does it give errors when it should be able to figure out the user’s intent? These small issues can make a big difference when it comes to making your site a pleasure to use.