Saturday, March 17, 2007

Selected Essays on Software Design

[This post is for Lance-san, who rightfully chided me for starting out with a flurry of posts and then just dropping off the face of the earth. He is right, of course, and I resolve to post more regularly.]

I'm starting up a modest reading effort with the software product designers who report to me. I want to encourage them to read regularly, and I want to ensure that they are aware of what I consider essential readings. I also want them to think more about what it means to be a software designer. Rather than drop a ton of must-read books on them, I thought I would ease them into things with a series of small essays.

Here are the first six that came to my mind. They are all relatively short (most just a few pages in length). They are all thought-provoking (at least to me) and I hope they spur good discussion.

"As We May Think", Vannevar Bush. In The Atlantic Monthly (July, 1945). By far the oldest essay on my list, but essential and inspiring reading. Bush introduces the idea of associative linking, which we see played out today in the Web, 30 years before the invention of the personal computer and 50 years before the Web as we know it. I argue that Bush's essay represents the beginning of the field of Human-Computer Interaction, but I also find it compelling that Bush's essay places our work in a human, social, and moral context - Bush was specifically asking what scientists should do next, after the close of World War II. How will scientists (or engineers, or designers) "find objectives worthy of their best"? Powerful stuff.

"A Software Design Manifesto", Mitch Kapor. In Bringing Design to Software (Winograd, 1996). This essay was first given as a talk at Esther Dyson's PC Forum in 1990, and it first appeared in print in Dr. Dobbs Journal in 1991. Kapor's essay represents a call to arms for a software design profession, and draws a strong parallel between software design and architecture.

"The Right Way to Think About Software Design", Theodor Holm Nelson. In The Art of Human- Computer Interface Design (Laurel, 1990). Nelson's essay draws an analogy between software design and movie-making; the interactive nature of both are key concepts. I liken user interface specifications to movie scripts, and prototypes to rehersal.

"The Designer's Stance", an interview with David Kelley by Bradley Hartfield. In Bringing Design to Software (Winograd, 1996). David Kelley is the founder of IDEO. This interview is a nice short into to Kelley's ideas, and should whet any designer's appetite for reading The Art of Innovation, written by David's brother Tom Kelley.

"Cultures of Prototyping", Michael Schrage. In Bringing Design to Software (Winograd, 1996). This essay discusses the importance of prototyping to creativity and innovation, and draws on examples from the automotive and consumer electronics industries. This essay plays well with my opinion that software design needs to be much more like industrial design, and that we place far too much emphasis on "specs" as the primary deliverable of product designers.

"Designing the PalmPilot: A Conversation with Rob Haitani", an interview with Rob Haitani by Eric Bergman. In Information Appliances and Beyond (Bergman, 2000). Rob Haitani was the Product Manager for the original PalmPilot, and is widely credited with being in charge of the design of the PalmOS user interface. As a Palm user from the very first PalmPilot, I'm an unabashed PalmOS fan. This interview, the longest reading so far at 20 pages, is a fascinating look at the design process and design for the small screen.

I'll start with these essays, but if you have any suggestions to add to me list, please let me know. I suspect I may find a number of interviews to add to my list from Designing Interactions, the new book (2007) out by Bill Moggridge. What else should I add to my list?

No comments: