Microwaves and user interfaces
At Skype, we do a lot of usability work. We want to make sure that Skype is easy to use for geeks as well as computer novices. The real art is trimming things down, eliminating the number of options and mouse clicks or key presses until you get to a minimum. The simpler it looks, the harder it is to get there. We’re nowhere near done yet.
We keep seeing real-life examples of why this work is important. We’ve one sitting right in our Tallinn office kitchen: the microwave. It doesn’t have anything to do with computers or Skype, but it has everything to do with making things easy to use.
]]>So the basic idea of a microwave oven is to warm/cook your food. There are two main variables that control its behavior: 1) how much power is applied, 2) duration of cooking.
[This is what microwaves used to be like in the old days.](http://www.flickr.com/photos/xput/9538171/) (I honestly don’t know what’s with the green thing. Don’t do this at home. I was just looking for a random oldschool microwave picture.) So on the righthand control panel you got two large dials — one for power, the other for time. At any given time, you can review the setting of both just by glancing at them. If you turn the time dial, the cooking starts and the time goes backwards until it reaches zero again, and then the oven goes KLINNNNG and you can take your dogfood out. Nice. Handy. Usable.
Now enter the second (third, fourth… whatever) generation of microwave ovens. This is what the control panel of our kitchen one looks like.
I’m sure the engineering and marketing folks behind this design had purely good intentions. They must have gone like “hmmm… let’s give the user the power to memorize the cooking settings! They must beg for programming presets into their systems. Hey, let’s even give them the power to program their system with one-second precision, because surely some gourmet freak will figure out that they want their chicken cooked exactly for 2 minutes and 38 seconds at 62% power. Heck, let’s even have factory presets for different types of food because the flyspeck print looks so nice on the control panel, nevermind that the oven functions pretty much the same anyway and it’s zero obvious how to switch between them.”
So they made a product, shipped it, sold it and it landed in our kitchen.
Act 2. A new Skype staff member approaches the microwave and goes “ok now… how do I cook my food?” Remember the oldskool control panel? You set the power dial and turn the time dial to start cooking. Here, you have to approach it with advanced fuzzy logic. You try to use the same logic as previously, try to set time by pressing the “minutes” button. Nothing happens. So you think “ok… maybe it just starts to work when I press Start, and I can add minutes during the time it works?” So you press Start. Nothing happens. So you think “I have to set the power first just like the old days?” And you press Power. Nothing happens.
This is just about as bad as it can get in the human-machine interaction flow. You’ve just made the user feel utterly stupid and overwhelmed by the machine. They cannot figure it out on their own. (Really… the only way you can operate this thing is you get someone more senior to walk you through it. How the first one did it, I have no idea. Maybe she read the manual?) Mind you, we have some of the smartest people on the planet with us. And when you end up smart people feeling stupid because they can’t operate the machine, something has gone seriously wrong.
The correct sequence to operate the high-tech microwave is:
1. press “Micro” to switch it into microwave mode (well… it’s a microwave, so what other modes can it have in the first place?)
1. press “Power” to cycle through the digits 100, 80, 60, 40, 20 on the display. Apparently, this is cooking power in percent. The unit is never shown, so you have no idea what the REAL power is (usually measured in units of Watts in case of microwaves).
1. press “Minutes” and “Seconds” to set the cooking time.
1. press “Start” to finally start the real cooking. (The display starts timer countdown. You have zero feedback about what’s the current power setting. There are some weird small icons on the display, some of them look like they matter, but they’re quite unobvious.)
There are many lessons here. A major one is that you don’t want your user to think unless it’s absolutely necessary. And you certainly don’t want him or her end up overwhelmed by the machine and feeling stupid.
So this is the mode of thinking we apply when designing and evaluating user interactions. It mostly seems to have paid off. Many users have said they like Skype because of things it has NOT done, rather than for the features it has. We often engage in heated discussions over whether a feature, button or option is really necessary. We welcome input about ideas and new ways to make user’s life easier, but reserve the right to dismiss them. [Here's an example.](http://forum.skype.com/viewtopic.php?t=28457) Switching the audio device from Skype main view sounds like a neat idea for those who need it, but the vast majority of Skype users have only one device connected. To them, the option would be confusing, since we’d force them to think what it is and whether they have to do something about it. There are obviously always extra considerations, like you could only have this selection when more than device is detected or what not, but the moral again is that it makes sense to think ahead twice before coding away, because doing things properly in the first place is much less costly than redoing three times. (Which we often do too if it’s worth it.)
The logic resonates. [Neville](http://www.nevon.net/nevon/2005/06/too_much_of_a_g.html) refers to Kathy Sierra’s [post on featuritis](http://headrush.typepad.com/creating_passionate_users/2005/06/featuritis_vs_t.html) that effectively says the same thing as above — don’t overachieve with features. So we at Skype also try not to.