Posts Tagged ‘Design philosophy’

When a program has nothing surprising to say, it should say nothing.

Sunday, December 7th, 2008

Is there something about Windows that encourages developers to design shoddy user interfaces? I’m not sure if you can point to any one thing, but here’s a perfect example of what I mean. I don’t ever use Windows as a primary OS anymore (pure Mac and Linux for years now, never been happier), but I keep it around via Boot Camp for browser testing and gaming. When you plug a device in the audio jack while running Windows via Boot Camp, this is the message that pops up:

You just plugged a device into the audio jack!

Really?! Perhaps because I intended to use it?! Complete with the exclamation mark and all, as if it is some huge feat of ability. The message does nothing functionally, draws your attention and remains until you close it, and serves no useful or arguably informative purpose. Then, when you remove the headphones:

A jack has been unplugged.

I know, it’s painful and completely unnecessary. I can’t entirely blame Windows for this as the driver is a third party program by C-Media, but come on people. It’s time to sit down, get a nice cup of coffee and read two books before you design another user interface: Steve Krug’s Don’t Make Me Think and Donald Norman’s The Design of Everyday Things. If nothing else, just respect the Unix design philosophy, especially the Rule of Silence:

Rule of Silence: When a program has nothing surprising to say, it should say nothing.

Plug headphones (or a USB device, or monitor, or FireWire device, or external hard drive) into a Mac sometime. It Just Works!™ … no message, no gimmicky “device plugged in!” sound, it just does what you’d expect.