Tuesday, March 27, 2007

User interfaces

I have just bought a new food processor, and I am in awe of its user interface. On the front there are two HUGE buttons, one marked ON, one marked OFF.

That's it!

If I want to watch TV, however, I need to use two of these four remotes, depending on what exactly I am watching.

and that's only because I have lost the fifth remote, the one of the sound system. The four surviving remotes have a total of 174 keys (45 + 47 + 44 + 38)...

I can easily reconstruct from memory Hastad's proof that Max 3SAT is hard to approximate within $\frac 78 - \epsilon$, but every time the sound system gets disconnected from the power, I struggle to remember the particular sequence and duration of key presses needed to set the time. Now it just shows noon, it's not worth it. And I have seen more than one computer science Ph.D. (not theoreticians!) turn the TV off while trying to turn the cable box on (if you get cable from Comcast you know what I am talking about).

What bothers me is that these interfaces are designed by people whose job is to design them. There must be a person who decides how the time is set and a person who decides what keys you press to turn the TV on or the cable on, or how many keys to put on the remote and how big and so on. Why would they do something that is so obviously wrong? "Let's see, first the user has to press `clock' for three seconds, then time will start flashing, at that point he first presses 'FM', then 'volume up' and then ..."

What made Google so successful was certainly the math and the fact that it worked and that it was the first commercial search engine to return relevant answers instead of random ones. But having such a clean and pleasant design, at a time when the notion of a "portal" was popular also played a role, and the design has been widely copied afterwards. And usability and design are probably the main reasons why the iPod has become so popular.

There is an unfortunate tendency among computer scientists, not just among theoreticians, to look down on HCI work. We do so at our own risk. Including the risk that a disgruntled designer, with an evil smirk, thinks to himself "Let's see who is laughing when you have to press the 'aux' key with the 'seek' key until it beeps, and then press the 'grft' key while..."