Archive for the ‘User Interface’ Category

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.

uNUI – Building a Multi-touch Table

Sunday, April 6th, 2008

My newest project: breaking interface boundaries. A couple of my friends at work and I have decided to build a multi-touch table based on the technique of frustrated total internal reflection (FTIR). This can be described by a diagram easier than words, so here we go:

FTIR diagram
FTIR diagram (image from Tim Roth’s Multi-touch Dev Blog)

This design for multi-touch interfaces has been popularized by Jeff Han, a researcher from NYU. Infrared LEDs are placed around two sides of a sheet of acrylic, causing the IR light to be reflected within it. Then, when a finger or object touches it, the light is “frustrated” and refracts off of the object and out of the acrylic. An IR camera below the screen then sees this as a blob of IR light which can be interpreted by a computer for recognition of gestures, touches, and movement.

uNUI Group

This is a very exciting and fun project with which to be involved. The potential is amazing—multi-touch interfaces are the next paradigm in computing and will replace standard keyboard and mouse input in the relatively near future. My friends and I decided to document our progress as we build our devices and software, so we created the uNUI Group site as an extension of the NUI Group community. Check out the Resources page for links, blogs and videos about what we and the community are doing—we’d also love to hear your feedback.