User Interface Design for Programmers 331
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.
Easiest thing is... (Score:1, Funny)
The Main Problem with Design (Score:3, Funny)
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.
Re:Easiest thing is... (Score:2, Funny)
make sure you can't disable it
I think that crosses the line from "UI testing" to "hardware durability" testing.
Re:programmers think they know UI (Score:5, Funny)
Re:Easiest thing is... (Score:2, Funny)
*shudder*
I went back to my room and stared lovingly into the login prompt on my FreeBSD machine for an hour after that experience.
Everything I know about UI design, I learned from (Score:5, Funny)
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!
Re:programmers think they know UI (Score:3, Funny)
Re:The Main Problem with Design (Score:2, Funny)
Good UI design is easy (Score:5, Funny)
Re:Easiest thing is... (Score:5, Funny)
Joyous Joel (Score:2, Funny)
Re:Before everyone gets on their high horse (Score:5, Funny)
in windows the ui designers did the program..
hmm.
or just copy apple (Score:3, Funny)
I advise doing that.