Slashdot Mirror


User Interface Design for Programmers

ellenf contributes this review of User Interface Design for Programmers. "Aimed at programmers who don't know much about user interface design and think it is something to fear, Joel Spolsky provides a great primer, with some entertaining and informative examples of good and bad design implementations, including some of the thought process behind the decisions. Spolsky feels that programmers fear design because they consider it a creative process rather than a logical one; he shows that the basic principles of good user interface design are logical and not based on some mysterious, indefinable magic." Read on for the rest of ellenf's review. User Interface Design for Programmers author Joel Spolsky pages 144 publisher Apress rating 8 reviewer Ellen ISBN 1893115941 summary Aimed at programmers who don't know much about user interface design and think it is something to fear, Joel provides a great primer, with some entertaining and informative examples of good and bad design implementations, including some of the thought process behind the decisions. He feels that programmers fear design because it is a creative process rather than a logical one and shows that the basic principles of good user interface design are logical and not based on some mysterious indefinable magic.

Spolsky's light writing style makes this book an easy read, and his personal stories and anecdotes help make his thoughts on user interface stick in your mind when you're done reading. He provides programmers with a few simple guidelines to follow, such as "People Can't Read," and "People Can't Control the Mouse."

His focus on the logic of good user interfaces and his push to develop a good user model is bound to resonate and get programmers to think about making their interfaces logical from the user's perspective, rather than the perspective of the inner architecture, which the user could typically care less about.

The reminder to focus on the tasks the user is trying to accomplish rather than the long feature list that usually gets attached to product specifications should be read by product managers as well, of course. In fact, the absence of specific platform details makes the book a good read for anyone involved in software design -- with the caveat that it is not aimed at people with much design experience. This is a great starter book and makes the process understandable, friendly, and fun-sounding. (One of the things I appreciated was how much fun it sounds like Spolsky has when he's working.)

Spolsky encourages showing the in-progress software to users and watching them use it. I think one of his best points about usability testing is that if the programmers and designers cannot bother to watch the users during the testing, they're unlikely to gain much from a thick report by a testing lab. He encourages simple, quick, and casual usability testing, something even the smallest firm could afford and from which they would could draw useful improvements.

If you have much design experience, you'll find this book a bit basic, but even then the examples are worthwhile to read and remind yourself how a good idea can be poorly implemented sometimes -- usually by taking it too far! I was personally hoping for some richer comments about designing web applications, but if more people start paying attention to the basic guidelines he's covered here, web users will benefit.

In summary, the book is aimed at programmers without much design experience and Spolsky does a great job of hitting his mark. I think product managers without much design experience would benefit as well, as it provides a good basis for thinking about user interface design.

You can purchase User Interface Design for Programmers from bn.com. Slashdot welcomes readers' book reviews -- to see your own review here, read the book review guidelines, then visit the submission page.

13 of 331 comments (clear)

  1. Easiest thing is... by SoCalChris · · Score: 1, Funny

    To just put Clippy, or any other Microsoft Agent into your app. And tyo make your app really cool, make sure you can't disable it.

    1. Re:Easiest thing is... by mopslik · · Score: 2, Funny

      make sure you can't disable it

      I think that crosses the line from "UI testing" to "hardware durability" testing.

    2. Re:Easiest thing is... by UnassumingLocalGuy · · Score: 2, Funny

      That brings back bad memories. Last year, during my freshman year of college, I was one of the lucky test subject in a study conducted by one of the CS students. (See http://www.users.muohio.edu/birchmzp/csi/dharna.pd f). It was a poor VB project that had an annoying talking head bouncing around the screen, giving instructions, that I was explicitly told "not to dismiss." And yes, it used Microsoft Agent... I wanted to kill it. Especially when I had to repeat the same action over, and had to listen to the same instructions from it again. On top of that, the VB program's buttons were greyed out until the thing shut up.

      *shudder*

      I went back to my room and stared lovingly into the login prompt on my FreeBSD machine for an hour after that experience.

      --
      "Hu, ho, ho-ah-oh-oh-oh. Hu, ho ho-ah-oh-oh-oh. Mario Paint! Whoaaa!"
    3. Re:Easiest thing is... by darkov · · Score: 4, Funny

      Hi! It looks like you're posting a sarcastic comment to Slashdot! Would you like me to make fun of the humorless and daft who take your posting posting literally?

  2. The Main Problem with Design by baldass_newbie · · Score: 3, Funny

    Is that users are fucking idiots.
    Some user just posted an item how she highlighted her work and then hit 'backspace' and deleted everything.
    She wanted to know what we could do for her.
    'Feel bad' was about all we could come up with. 'Laugh' was another, but we didn't think she'd like that.

    --
    The opposite of progress is congress
    1. Re:The Main Problem with Design by Anonymous Coward · · Score: 2, Funny

      What? Why would you want to suspend the process?

  3. Re:programmers think they know UI by iapetus · · Score: 5, Funny

    More annoyingly, most users think they know how to do UI better. :)

    --
    ++ Say to Elrond "Hello.".
    Elrond says "No.". Elrond gives you some lunch.
  4. Everything I know about UI design, I learned from by crazyphilman · · Score: 5, Funny

    GAMES:

    1. If the user doesn't have to stop what he's doing to solve an inexplicable puzzle every few minutes, he'll be done waaaay too fast.

    2. Obey the principle of most astonishment. Surprise the user as often as possible! Preferably with something terrifying that makes him literally fling himself out of his chair (example: the aliens in Alien Vs. Predator love to sneak up on you along walls and ceilings and suddenly let you have it from three directions -- a guaranteed excuse to press "pause" and go put on a new pair of underwear).

    3. If the user screws something up, HE MUST BE PUNISHED. Usually, this means his onscreen persona (resume, spreadsheet, etc) should die a wretched, gory death, scaring the crap out of the user (see #2) and he should have to start whatever he was doing over from his last save point. This of course encourages saving documents frequently, always a good thing with Microsoft software.

    4. If the software includes networking features, you MUST include a "taunt" feature. Allow preformatted taunts and on-the-fly taunts; both are equally fun for all. "Hey, BILL! Your powerpoint SUCKS!"

    5. And, finally, you have to include a few easter eggs and hidden areas. These should include a "must-have" that isn't granted to ordinary users (like, say, print preview).

    And, people said video gaming wouldn't ever get me anywhere!

    --
    Farewell! It's been a fine buncha years!
  5. Re:programmers think they know UI by b-baggins · · Score: 2, Funny

    What's most annoying to programmer egos is that the users are right.

    --
    You can tell a great deal about the character of a man by observing those who hate him.
  6. Good UI design is easy by ChaseTec · · Score: 4, Funny

    Just model everything after vi!

    --
    My Hello World is 512 bytes. But it's also a valid Fat12 boot sector, Fat12 file reader, and Pmode routine.
  7. Joyous Joel by An+Anonymous+Hero · · Score: 2, Funny
    (One of the things I appreciated was how much fun it sounds like Spolsky has when he's working.)
    His very name Spells Joy OK!
  8. Re:Before everyone gets on their high horse by gl4ss · · Score: 4, Funny

    well.. in linux programmers did the ui.

    in windows the ui designers did the program..

    hmm.

    --
    world was created 5 seconds before this post as it is.
  9. or just copy apple by Aqua+OS+X · · Score: 2, Funny

    Coping Apple's interface designs seems to work well for folks who are too cheep to hire anyone that knows anything about information architecture or GUI design.

    I advise doing that. :p

    --
    "Things are more moderner than before- bigger, and yet smaller- it's computers-- San Dimas High School football RULES!"