I <3 Steve McConnell*
Coding Horror
programming and human factors
by Jeff Atwood

January 14, 2005

Tog and Google on UI

You may be familiar with Bruce Tognazzini, who is widely considered the father of the Macintosh UI. He's no longer at Apple, but he is part of the Neilsen Norman dream team. He also maintains a website with the ten most wanted UI design bugs:

  1. Power failure Crash
    If the computer loses power for more than a few thousandths of a second, it throws everything away.
  2. The macintosh dock
    There are actually nine separate and distinct design bugs in the Dock, probably a record for a single object. You can read about them all in my Article, The Top 9 Reasons the Dock Still Sucks.
  3. Mysteriously dimmed menu items
    Designers offer no way for users to discover why a given menu or option has been dimmed (grayed out), nor how to turn it back on.
  4. ASCII sort
    15 Dec 2008 sorts as being before 2 Jan 1900
  5. URL naming bug
    Many browsers disallow entry of spaces & other normal human-language characters into web addresses. The rest do inappropriate things with them.
  6. Let's you save me some work
    Weird formats for standardized data
  7. The disk drive nazi
    "Unauthorized" removal of floppy or hard disks is punished severely
  8. ecommerce hostility
    ecommerce sites are making it as difficult to buy products as humanly possible
  9. "Smart" functions that aren't smart
    "Smart" functions often make the wrong decisions
  10. Focus-stealing
    You're working on a multitasking system, typing away merrily in window A. Meanwhile, some background task decides it needs your attention, pops up a dialog, and moves the keyboard input focus from the window you were working on to its dialog box.

Two of these come across as cranky "I coulda done it better" complaints about specific Apple design decisions he doesn't agree with. But the rest are truly aggravating UI problems in every GUI. This is just the top ten; if you're feeling extra cranky, there are hundreds of others listed at Tog's Bug House. Similar topics are covered in his two classic books Tog on Interface and Tog on Software Design.

For a different take, try this summary of a PARC lecture by Marissa Mayer on Google's "user experience" -- which offers some interesting insight into the way Google approaches user interface design.

Posted by Jeff Atwood    View blog reactions

 

« The Reality of Failure Micro-Optimization and Meatballs »

 

Comments

>> 15 Dec 2008 sorts as being before 2 Jan 1900 ).

--
Lawrence.

Lawrence on March 31, 2008 10:07 AM

[15 Dec 2008 sorts as being before 2 Jan 1900]

True, but that's in large part because we insist on continuing to use silly English-centric non-hierarchical date formats for no readily apparent reason other than "that's the way we've always done it".

The ISO format 2008-12-15 sorts after 1900-01-02 and has the further merit of being unambiguous throughout the world.

(Caveat: This will result in a Y10000 sorting bug where a simplistically sorted 10000-01-01 will sort after 9999-01-01, but I can live with that, [grin]).

--
Lawrence.

Lawrence on March 31, 2008 10:07 AM

Seriously, your blog doesn't escape angle brackets in a comment post??

Lawrence on March 31, 2008 10:08 AM

"Focus-stealing"

I find this probably the worst UI problem of modern operating systems. It's unbelievably irritating.

"True, but that's in large part because we insist on continuing to use silly English-centric non-hierarchical date formats for no readily apparent reason other than "that's the way we've always done it"."

Why should the year be first when it's not the most useful piece of information? If I'm scanning a list of dates, I need the months to get myself roughly there and then the days.

The larger bug is the persistent assumption that data means "a series of symbols from the set of Unicode codepoints." Okay, there is whitespace in there, but beyond that "data" means plain text, which doesn't really mean anything.

ben on April 3, 2008 06:38 AM

Date-lists should sort dates first by year, then by month, then by day (YYYY.MM.DD). Or just sort by time desc or asc. But they should show dates as first day, then month, then year (DD.MM.YYYY).

This achieves that the dates are sorted correctly, but showed to people in a more usable way. So people can start processing first the day then the month, which are more significant than the year. Of course people scroll the correct year and month onto sight first, if they are not visible right away.

Don on April 3, 2008 09:37 AM

"A more usable way" for whom, Don? Not for virtually every American. We don't think of today as "nine April two-thousand eight." We think of it as "April ninth, two-thousand eight," and therefore it's far more usable to see the numbers written in the same order we would say the words: 4/9/2008. That said, the only true way to handle dates is to retrain all of our brains (expect for perhaps Asians, many of whom already use this system) to use the yyyy-mm-dd format. It sorts correctly and is always unambiuous.

Now, having said all that, I actually disagree with Tog's complaint about ASCII sorting. I'm a programmer, I know how things work under the covers, and I EXPECT ASCII sorting...when I'm viewing TEXT. And that's exactly what file names are: text. One of the first things I do on any XP install is turn off the new "sort-it-as-a-number-if-I-can" sort order. But, as I said, I expect this as a programmer, and I can understand how other users might like the numeric sorting.

Jeff on April 9, 2008 07:44 AM







(hear it spoken)


(no HTML)




Content (c) 2008 Jeff Atwood. Logo image used with permission of the author. (c) 1993 Steven C. McConnell. All Rights Reserved.