What reading Tufte won’t teach you: Interface design guidelines

e accidentally sent this to me; it deserves to be blogged:

I’ve just spent two months carrying a terrible, ancient cellular phone and a mediocre non-Apple music player around the planet, and interacting almost exclusively with Windows XP terminals at internet cafes and hostels. As my frustration with these poor interfaces grew, I started a rough list of interface design guidelines. Here they are:

    * The application interface should be fast and non-blocking.
    * The application interface should be consistent.
    * Don’t interrupt users in the middle of common, nondestructive tasks.
    * Avoid notifying users of success.
    * Avoid giving users information that they cannot use.
    * Rare, destructive actions should be harder to complete than nondestructive ones, but always possible.
    * Give users the chance to ask for forgiveness rather than forcing them to confirm.
    * Deal with application failure gracefully.
    * Preserve state, mode, and user input for as long as it is relevant, until users save or discard it.
    * Provide multiple, complete navigation paradigms.
    * Design the interface before starting to code.
    * If the application violates one of these rules because its design makes implementation of a better interface too complex or too difficult, then the application needs to be refactored until it supports a better interface.

Full story at http://glyphobet.net/blog/essay/269.

Given that developers are notoriously bad UI designers, there is much food for thought.