Search Patterns: Design for Discovery (2010, O’Reilly), by Peter Morville and Jeffrey Callender, explores search in depth, from every possible angle. Search Patterns is a must-read for anyone interested in search and findability. It should be particularly applicable to technical communicators, who rely on search as a key method for users to locate information. The book is foundational and, though brief, highlights ten search patterns that we would do well to implement on any site or help system.
Although it only occupies 50 pages of the book, the Design Patterns section is the core value of the book. Patterns are recurring models that work well. They are “repeatable solutions to common problems” (82).
Morville and Callender highlight the following ten search patterns: autocomplete, best first (similar to recommended results), federated search (searches across multiple collections, sites, databases), faceted navigation, advanced search, personalization, pagination, structured results (embedded charts, videos, music, or graphs in search results), actionable results, and unified discovery.
Throughout the book, Morville and Callender emphasize the need to browse and search in combination. Because of this, they herald faceted navigation as a key strategy. In fact, they call faceted navigation “arguably the most significant search innovation of the past decade” (95).
The genius of faceted navigation is that “incremental clarification and refinement reduce results until the need for paging and scrolling virtually disappears” (116). In other words, faceted navigation allows you to first search and then refine the results by browsing the facets, so it allows search and browse to work together. Some sites even offer scoped searches, which allow you to search within a defined facet.
Morville and Callendar explain that “faceted navigation will surely adapt to every context and platform because the need to narrow exists at the crossroads of behavior and the box” (101). Narrowing is a key behavior with search. Users don’t merely search and find, or browse and locate. We search and learn the right keywords, which informs a new search, which may lead us to browse the right facets or menu, and so on.
The core of Search Patterns involves the design patterns, but the rest of the book isn’t without interest. In the latter third of the book, Morville and Callender explore a variety of search techniques on sites, looking at different approaches to search. At times the exploration of these search techniques seems to be somewhat meandering, but the authors note that we have much to learn about search. We only scratch the surface of our understanding with these ten patterns. In many ways, it feels that Morville and Callender are searching to find and explain more patterns from their large sampling of sites.
The writing can at times be a little thick, but it’s also filled with great one liners, such as “Search ends with an exit” (52). “Predictability assures usability” (74). “Innovation requires improvisation” (80). “What we find changes what we seek” (87). “Discovery requires that we move beyond what we know” (131). I loved finding these nuggets.
The book is also full of visualizations (beyond screenshots). Diagrams, workflows, and other eye candy populate nearly every page, which allows you to move swiftly through the various concepts and ideas in a pleasurable way. Callender, the graphic designer, helps visualize the ideas that Morville expounds. As one critic pointed out, though, with many of the screenshots, the figures often don’t appear on the same page as the discussion. More lengthy captions below the images would have been welcome.
The book gave me a strong understanding of the multi-faceted nature of search. As a technical writer, I’m eager to incorporate some of these patterns into my help systems. But I admit that figuring out the technical aspects of search, including how to implement faceted search, best first (recommended results), autocomplete, or even customizing the display of search results, are still mountains to climb.
Note that this book is not a technical how-to, nor does it contain step-by-step instructions for implementing these techniques. Morville and Callender say that designers must work with engineering teams to achieve more innovation in search, to take it past the magic black box. I wasn’t expecting a technical how-to, but I would have welcomed a few more down-to-earth references on implementation. (They do mention several search vendors.)
Interestingly, with autocomplete, the authors show an HTML Help display with the Index tab open. When you start typing, your keyword matches automatically read from the index entries you’ve added. I hadn’t considered how index and autocomplete might work together like this, but they do. (The index feature in a help authoring tool is probably the poor-man’s autocomplete.)
Finally, as a reader, I wanted to do some of my own “pearl growing” from Search Patterns. (Pearl growing is when you “find one good document, then mine its content and metadata for query terms and leads” (57)). There aren’t many sources for further reading mentioned in the book, but there is a short reading list here. Partly, I think the lack of references is because there aren’t many books written on search. I believe the list of search patterns Morville and Callender write about will be foundational to other books on search that follow.
Overall, Search Patterns: Design for Discovery is a thought-provoking book well worth reading. For technical writers working with large bodies of help content, we should be more innovative with our approach to search. Incorporating the ten design patterns for search is a great starting point. As such, I highly recommend this book — particularly to the technical communication community. We need to implement more of these techniques in our help systems.