Just finished reading Joel Spolsky's User Interface Design for Programmers, published by Apress and I'm impressed. Although it's a brief book, it attempts to get programmers think about more than just algorithms and data structures. The points raised in this book are well worth remembering and I now feel better able to asses UIs.
The examples of UI blunders are compelling as are some of his remedies. It would be easy to slam Spolsky for bashing (ha ha) command line interfaces, but he rightly points out that most computer users don't want that level of complexity and degrees of freedom. I certainly agree with his assertion that users can't use a mouse (I sure can't).
Critics argue that the book is too brief and too derivitive of larger works on this topic. That maybe so, but as my first book on the subject, it worked. I would have liked to have seen more examples on usable web designing, but I think I use what he's already talked about for creating better sites. In fact, I'll probably grab more books on the subject thanks to Spolsky.
While not a comprehensive book on the topic, Spolsky provides an entertaining and educational read.