In comments to Nielsen’s article about our iPad usability studies, some critics claimed that it is reasonable to experiment with radically new interaction techniques when given a new platform. We agree. But the place for such experimentation is in the lab. After all, most new ideas fail, and the more radically they depart from previous best practices, the more likely they are to fail. Sometimes, a radical idea turns out to be a brilliant radical breakthrough. Those designs should indeed ship, but note that radical breakthroughs are extremely rare in any discipline. Most progress is made through sustained, small incremental steps. Bold explorations should remain inside the company and university research laboratories and not be inflicted on any customers until those recruited to participate in user research have validated the approach.

They go on to point out that many «modern» user interfaces violate a number of well-known, well-tested principles of interaction design, among them visibility,1 discoverability,2 offering undo, and reliability.3

Finishing the essay, they write:

The new devices are also fun to use: gestures add a welcome feeling of activity to the otherwise joyless ones of pointing and clicking.

But the lack of consistency, inability to discover operations, coupled with the ease of accidentally triggering actions from which there is no recovery threatens the viability of these systems.

We urgently need to return to our basics, developing usability guidelines for these systems that are based upon solid principles of interaction design, not on the whims of the company human interface guidelines and arbitrary ideas of developers.

Gesture-based, natural user interfaces can be a huge step forward, opening up computing devices to a much larger audience, and making interacting with such devices a much more fun and rewarding experience. However, they can also be frustrating, annoying, and hard to use. Simply switching to a natural user interface doesn’t improve a device; the interface still has to be usable. Adding a bunch of gestures doesn’t make a user interface fun or usable; it is not a replacement for following established rules, doing usability tests to figure out what works, and fixing the things that don’t work.

Simply proclaiming that your user interface is «fun» and «natural» doesn’t absolve you from making it usable, and doesn’t mean that it’s suddenly okay to ship software that will cause your users to fail when they actually try to do anything with it.

This gets me every time I use Android. So many important features are invisible unless you do a tap-and-hold on an interface element. ↩︎

They mention using hidden gestures, and getting rid of visible menus. Having an obvious, visible menu is, I think, one of the things webOS does better than other systems. Both Android and the iPhone get this wrong. The iPhone doesn’t have menus at all. Android uses a hardware button to show the menu, which means you never know which applications have menus on which screens. The hardware button is always there, regardless of whether the application currently makes use of it. ↩︎

After switching to an iPhone app for my shopping list, I noticed that I would forget two or three items every time I went shopping. Eventually, I figured out that I was accidentally brushing against the iPhone’s screen when putting groceries into my shopping cart, thereby removing random items from my list. It’s possible to turn off the «touch to delete» feature, but by default, the application can behave unreliably, and can fail in a way that its users may not necessarily attribute to the application, and that consequently may be hard for its users to diagnose and to fix. ↩︎

Want to read more like this? Buy my book's second edition! Designed for Use: Create Usable Interfaces for Applications and the Web is now available DRM-free directly from The Pragmatic Programmers. Or you can get it on Amazon, where it's also available in Chinese and Japanese.

Hi. My name is Lukas Mathis. I studied Computer Science/Software Engineering and Ergonomics/Usability at ETH Zürich. I work as a software engineer and user interface designer for a swiss software company creating process management software. I've written a book about usability. It's been translated to Chinese and Japanese. My first computer was a Performa 450, my first programming language was HyperTalk, my first electric guitar was a cheap Peavey, my first videogame was a VCS 2600 and my current snowboard is from Lib Tech. I live in a small cottage in a remote part of the Swiss Alps, and you can reach me at or on twitter.