MY BOOKSHELF
Here is some of the non-fiction I've read, plus a few things I'm working on now and a few things I'm about to start. Click on the titles of books marked by triangles to view comments about them. I will add comments on more of the books as time allows.
General Reading
- Guns, Germs and Steel, Jared Diamond, 1999
- Diamond takes the approach of a generalist, taking a multi-disciplinary look at issues involved in the development of modern societies and positing what he believes led to some cultures eventually dominating others. I found it to be a fascinating read and, though long, I couldn't put it down. I read this in Fall of 2003. (Amazon)
- Women, Fire and Dangerous Things, George Lakoff, 1987
- I haven't started this one yet. It's about how we categorize information and what Lakoff calls "cognitive semantics", and came well-recommended by several people on the sigia-l (Special Interest Group Information Architecture List) and I'm looking forward to it. (Amazon)
- Gödel, Escher, Bach, Douglass Hofstadter, 1979
- I read this in 1984, and I think it was what first got me thinking about meta-level patterns. My friend TJ Foderaro turned me on to it and I really enjoyed it. It's probably about time I revisited it, but I've got a lot that I'm working on at the moment so it may have to wait for a reread. (Amazon)
- Chaos, James Gleick, 1987
- Now referred to by its proponants as "complexity theory", this is the science of understanding apparently random (chaotic) patterns in everything from leaves through fluid dynamics to financial markets. A former science columnist for the New York Times, Gleick gives an engaging overview of the history, pioneers and key concepts of chaos theory, and is a good read. As an afficianado of meta-level pattern analysis, I find the subject fascinating. I read this in Spring of 1994. (Amazon)
Interaction Design, Interface Design, Information Architecture, Usability
- Mental Models, Indi Young, 2008
- I've just started this one, and it's facinating so far. A practical guide for organizing bits of information about users into a larger representation of a sort of a (simplified) cognitive model. I'll update this description when I'm deeper into the book. (Rosenfeld Media)
- Tog on Interface, Bruce Tognazzini, 1992
- While the details of his human interface evangelism at Apple are now somewhat dated, Tog's curmudgeonly style makes pleasant reading, and his principles are still relevant to user-centered software design. Recently back in print. I read this in Spring 2004. (Amazon)
- The Inmates are Running the Asylum, Alan Cooper, 1999
- The case for user-centered design as put forth by a software developer turned interaction designer. Good overview of processes and introduction to personae. Good for helping project managers, etc. understand user-centered design processes, but those doing the design should see Cooper and Reimann's "About Face 2.0" for a deeper look at the particulars. I read this in Fall 2003. (Amazon)
- Interaction Design, Jennifer Preece, Yvonne Rogers, Helen Sharp, 2002
- Human Error, James Reason, 1990
- Like Don Norman, James Reason has made a study of cognitive principles underlying human errors. While Norman's Design of Everyday Things was written for a broad audience, Reason's Human Error reads more like the text book for Master's-level survey of the subject. The book's rigorous academic approach guides the reader through the history and details of relevant cognitive model theories, and then goes on to contextualize this information for practicing system designers. Some might find this a dry read, but I find it absolutely fascinating, and would recommend it to Interaction Designers (et al) to deepen the introduction most of them got from Design of Everyday Things, as well as to anyone interested in cognition and error. (Amazon)
- A Practical Guide to Usability Testing, Joseph S. Dumas, Janice C. Redish, 1999
- The Humane Interface, Jeff Raskin, 2000
- Information Architecture for the World Wide Web, Louis Rosenfeld, Peter Morville, 2002
- The authors bring an approach firmly grounded in library science to the construction of large web sites. This book should be required reading for anyone involved with planning or implementing information-rich web sites for internet or intranet. A good read, and the authors get bonus points for recognizing that those trained in traditional architecture often have skills relevant to building for the web. I read this in Fall 2003. (Amazon)
- The Usability Engineering Lifecycle, Deborah J. Mayhew, 1999
- The Art of Interactive Design, Chris Crawford, 2003
- The Design of Everyday Things, Donald Norman, 1988
- Everyone should read this book: consumers, to understand why some products drive you nuts and that you should demand better; designers, developers and project managers for all sorts of products, to start focusing on user-friendly product development. Norman has a background in psychology and discusses, in this work, a little bit about how we think about thngs and why some products work well for us and others don't. It's not specifically about any type of product, but rather an overview of ideas and principles. I read this in Summer 2003. (Amazon)
- About Face 2.0: The Essentials of Interaction Design, Alan Cooper, Robert M. Reimann, 2003
- GUI Bloopers, Jeff Johnson, 2000
- Usability Engineering, Jakob Nielsen, 1993
- Though I have some mixed feelings about Nielsen, this is a good starting point and inarguably essential reading for anyone seriously interested in usability. I read this in Summer 2003. (Amazon)
- The Visual Display of Quantitative Information, Edward R. Tufte, 1992
Coding and Software Engineering
- Applying UML and Patterns, Craig Larman, 2002
- This book is surprisingly readable, and really helps one understand how to put Unified Process principles into practice. I admiting starting with a prejudice that UP was bureaucratic, cumbersome and dogmatic, but Larman is changing my mind. He shows UP to be an iterative, relatively agile process, advocates picking and choosing only the most relevant and applicable of the many UP deliverables, and, for a software engineering book, presents a relatively user-centered (rather than system-centered) approach to Use Cases. I read this in Summer/Fall of 2004, in conjunction with my postgraduate study in Enterprise System Development. (At Amazon)
- Design Patterns, Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, 1995
- The seminal classic from the "Gang of Four" put me off a bit at first -- its abstract nature made me wonder if I was "getting it". However, all of the questions that sprang to mind were eventually addressed in the text, so a bit of patience pays off. Highly recommended for anyone interested in software engineering. I read this in Summer/Fall of 2004, in conjunction with my postgraduate study in Enterprise System Development. (At Amazon)
- Java in a Nutshell, 4th Edition, David Flanagan, 2002
- Professional Jakarta Struts, James Goodwill, Richard Hightower, 2004
- Object-Oriented Software Construction, Bertrand Meyer, 1997
- This language-agnostic bible explains the principles of object-oriented software design. Knowing the theory behind the practice helps greatly when it's time to design and implement. Meyer recommends skipping around in the book, which is a relief, because it's big. Ironically enough, I learned about this while taking a course in C (a procedural language), with the quirky but brilliant Robert Malz. I started this in 2001 and read through it again in Winter 2003. (Amazon)
- XML in a Nutshell, 2nd Edition, Elliotte Rusty Harold, W. Scott Means, 2002
- DHTML and CSS for the World Wide Web (3rd Edn), Jason Cranford Teague, 2003
- DHTML and CSS Advanced, Jason Cranford Teague, 2004
- Designing with Web Standards, Jeffrey Zeldman, 2003
- This is the book that lit the way for me, in terms of standards-based web coding. (Amazon)
You can also take a look at other books I'm interested in, on my Amazon Wish List