Rating: - Some good ideas, some nonsense
This book is aimed at programmers who don't have the time or inclination to do research on user interface design, and it has some good suggestions, but you shouldn't take anything he says on faith because he is flat out wrong a good 25% of the time. Spolsky is very intelligent and the book can be fun to read at times, but he also comes off as really really arrogant and narrow minded. He is particularly and undeservedly venomous towards the Linux / OSS community, and this is really inexcusable.
Here is the executive summary: users can't read dialog boxes, they can't use the mouse, the don't read instructions, they have an idea of how the program is supposed to work, and most of the time they can't be bothered to learn how the program "does things differently," so be consistent and imitate programs your users are already likely to be familiar with.
You can lump all of this under the general heading "reduce user effort" which is a pretty good design philosophy. It really only breaks down when your users include other software developers. Developer software has its own set of user interface rules that are completely different (use man pages, don't produce output if everything is OK unless you are testing or the program is doing version control) but Spolsky doesn't appear to understand or appreciate this, so you'll just have to learn it on your own (you can start by googling unix philosophy).
This book gets 4 stars because the average computer book is AWFUL, so this book easily gets into the 80th percentile.
Rating: - Joel on UI Design
First off, I'm not a (professional) programmer, and I'm not particularly interested in user interface design. I decided to read this book because I've read quite a bit of Joel's other work and I find his thought process illuminating, regardless of the subject. Also, most of the other stuff I've read by Joel is generalist in nature, and I wanted to see if his style would work in a deep dive into a subject. This book isn't a silver bullet in UI design, but it gives a few hints as to how to adjust your thinking to sympathize a bit more with the user. And despite the title "...for Programmers", there isn't much in the book that is programmer-centric, so it's useful for testers, product managers, and others in software development communities who aren't UI designers.
It's interesting reviewing this book in 2008, seven years after it was originally published. Visual design is such a time-sensitive thing, and this book being pre-Web 2.0 looks dated. It's nostalgic in some ways (screen shot of Napster!) but that doesn't diminish from the overall value of the book. While some of the examples Joel uses are no longer novel, most of the principles that Joel writes about still hold true. The messages that are constantly reinforced basically come down to using real life metaphors and respecting the user.
But therein lies my only real criticism of this book. Joel is prone to calling out statements like "users can't read" and "people can't control a mouse" as chapter titles, section headings, and even on the cover of the book. These statements run counter to his overall message of respecting the range of users of an application. What he really means is that "users don't have time to read all your documentation" and "people aren't always using a good pointing device". Reading the full text makes the positive messages obvious, but they are a bit overshadowed by the bolder, more negative statements.
And a point on Joel's writing: Joel is at his best when he's taking examples from his life experience and applying them to whatever he happens to be writing about. There's plenty of that in this book, starting with his experience working in an Israeli bread factory and extending to studies of well designed non-software products. Joel is a master at putting his inspiration into words, and he doesn't disappoint here.
Whether you're a programmer or not, if you're looking for a primer on UI design, this is a solid choice. It's a light, easy, entertaining read and packs plenty of value into it's 140 pages.
Rating: - Great read, helpful info
I rarely give out 5 stars, but this book deserves it.
Well written, on the light side, but serious about providing best practices for UI design with good examples to back it up.
Rating: - Good introduction, but that's it
This thin book is a good introduction to the idea of that you should make good software interfaces, but doesn't tell you how to do that. For that, Spolsky provides an excellent bibliography at the end.
If you already have even a little bit of experience with good interface design, this book isn't for you. It's there to enlighten the programming masses that so far don't care or haven't been told that users matter.
You can get this book for free online starting at Joel on Software (I think Amazon deleted the URL I put in there, but google for the book title and you'll find it).
Rating: - Amatuer at best
This book has a number of problems.
First, the writing is amateurish - hardly what I'd expect from someone trying to impart knowledge on a professional audience. It reads as a high school book report, not a reference for software engineers. I expect elegance in material I read, if for nothing else but to gain confidence in the author's intelligence and experience.
Second, much of the information is clearly lifted from books such as 'Tog on Interface' (which I highly recommend). Take for example chapter 10 from User Interface Design for Programmers - 'People Can't Control the Mouse'. Spolsky's ideas on the problem of small mouse targets, as well as his solutions, are almost a direct copy of Bruce Tognazzini's (which I might add were presented much earlier). As another reviewer mentioned, not only are the ideas un-original, but they are presented haphazardly and with little supporting information.
Overall, this book is not worth a penny. It is simply the ineloquent regurgitation of other's ideas.
|