User interfaces: every piece of software needs one, but no programmer likes to write one. According to Joel Spolsky (host of the popular Joel on Software), the root cause of the problem is the (unnecessary) fear of being incapable of designing user interfaces. He claims that UI design actually is fun, challenging, and doesn’t require any artistic talent whatsoever (as opposed to what many programmers think). Since I have to write quite some UI code myself, and always thought it was the most boring and frustrating aspect of software development, I thought I’ld pick up Spolsky’s book 'User Interface Design for Programmers', and let him try to convince me otherwise.
In his book, Spolsky goes through many aspects of user interface design through real-world examples of popular software, showing some do’s and dont’s, and generally making it sound like a fun and challenging job. I had a lot of fun reading his book, since it is well written, funny, easy to read, and very light (130 pages, including many illustrations). The nice thing about the examples is that he doesn’t limit himself to one part of the OS spectrum, but comments (both negatively and positively) on Windows, Mac OS, and even software from the DOS era. And although the examples are a slightly dated (the book is over half a decade old), I still felt like his views applied to all the UIs I’m writing or using today.
I would recommend the book to everyone who comes in contact with user interfaces when programming. If you haven’t agreed with anything he wrote, at least you’ll have had a fun read. And if you do share his point of views, you’ll probably end up with having some personal findings confirmed (like 'Pull up the Tools→Options dialog box, and you will see a history of the heated arguments that the software designers had about the design of the product'), come off with some new interesting views, and maybe, like me, feel like UI design can actually be fun and interesting.