Personalization

If you've seen the bow tie–wearing butler in Apple's 1987 Knowledge Navigator video, you know that personalization has been the future of search for decades. Software agents that know what we already know and what we want to know will scour the four corners of the earth for the data that makes a difference. It's a compelling vision that's entirely unrealistic absent a quantum leap in science and technology that enables computers to tap directly into our minds and memories (and understand the meaning of what they find).

So, while it's a worthy ambition, personalization is a hard problem. This inconvenient truth is often obscured by semantics and spin. For starters, personalization is often confused with customization, a simpler model in which users can explicitly modify settings. Customization lets us change color and layout and subscribe to feeds. My Yahoo! and iGoogle are popular examples. Of course, in most applications, users mostly fail to customize. They're too busy. They live with defaults. So designers who count on customization as a crutch will fall flat on their faces. Then there's the spin. Lots of folks have a vested interest in selling the magic of personalization. Enterprise search vendors use it for product differentiation. Web search companies harness it as a Trojan horse to sneak behind firewalls with their targeted ads. After all, it's much easier to use demographic and behavioral data to sell advertising than to improve search, but users will only share their data in return for the promise of better results. And if it's hard for a company like Google, which employs the best and brightest and enjoys unparalleled access to behavioral data, how realistic is it for most sites and applications to personalize search?

OK, enough with the caveats and criticism. Personalization is a pattern worth study. Simple solutions are already well established, and the more sophisticated experiments in similarity computation and social search are intriguing to say the least. Autocomplete is a simple example. As repeat queries are common in many contexts, using search history to inform suggestions is often a good idea. Result reranking based on past post-query behavior is a more complex challenge. A user who repeats a query is likely to click the same result as before. Is it helpful to bring that result to the top? It's worth asking—that is, if we have the behavioral data and the technology to support analysis and action.

Otherwise, we may find the right balance by employing recommendation engines to search for similarity. The most famous of these is Amazon's "Customers Who Bought This Item Also Bought This" feature. It's not perfect. It's heavily influenced by publication date, since we often buy unrelated books together that are popular at the same time. It's not personalization but a form of collaborative filtering that's centered on an item, not an individual. But it does encourage pearl growing, and it's a repeatable solution to a common problem. It's a great search pattern, and music recommendation services like Last.fm have successfully interwoven this approach with individual preferences and similar tastes. Sometimes, personalization really does work like magic.

Support for pearl growing at Amazon

Figure 4-33. Support for pearl growing at Amazon

But Amazon's true personalization is less useful and less used than its collaborative filters. Mining search, navigation, and purchase history to derive helpful, personalized suggestions isn't easy. Results are skewed when we shop for others and buy a bra for grandma. But that's not the crux of the matter. The core problem is that what we wanted yesterday or last year often fails to predict our interests and wishes today and tomorrow.

How can software know what we need now? In search, the query affords a peek at intent. History may offer a hint, and we may improve results with a little help from our friends. In fact, social search is a major area of inquiry in academic circles and an intriguing, albeit immature, pattern in practice. At LinkedIn, results are sorted by degrees of separation. Answers from friends are followed by those from friends of a friend (Figure 4-35).

Personalization at Amazon

Figure 4-34. Personalization at Amazon

Social search at LinkedIn

Figure 4-35. Social search at LinkedIn

At Twitter, search ignores our friends. Results are sorted solely by time. In contrast, FriendFeed lets us limit queries to our social networks. And therein lies the question: can the personal insights and experience of our friends beat the wisdom of the crowd? The answer is, of course, it depends. The size and composition of the network is a key variable. So is the nature of the question. A tightly knit circle of teenagers may rely heavily on social search for music, fashion, and restaurant recommendations, but similar searches may fall flat for a diverse, international network of executives. For some questions, our friends know us best, but for most queries, there's strength in numbers.

Social searches on Twitter and FriendFeed

Figure 4-36. Social searches on Twitter and FriendFeed

So, it's worth asking again: how can software know what we need now? The mobile platform has part of the answer in the form of location awareness. Our current location, in concert with a query (or selection of an application), offers insight into intent and a smart default for sort order. Indeed, even our choice of platform is a clue. A desktop query for "vegetarian" is likely a lookup, but on the iPhone, a local search for restaurants is a good guess. Google Mobile plays it safe by covering both angles. Similarly, simply launching SitorSquat (Figure 4-37) clearly indicates searcher intent: find me the nearest public toilet, stat!

In the digital domain, using the entry point for search as an input for personalization is also an area of inquiry. The most obvious solution is scoped search, covered under the advanced search pattern. Less obvious is an idea popularized by John Battelle and shown in Figure 4-38. If we know where a user came from or how he got here, can we further personalize his experience by embedding recommendations within each result? This extension to contextual search is hardly a pattern, but it's an interesting question to ponder.

Personalizing search by location

Figure 4-37. Personalizing search by location

Searchblog's personalized referrals

Figure 4-38. Searchblog's personalized referrals

In short, personalization is a dish best served simple. Only in limited contexts will past performance predict desired future results. The query is the clearest and most timely signal of intent. It's a concise expression of what users need right now. History, social data, and location (online and off) can sometimes boost that signal, but for practical and ethical reasons, these personal algorithms should be transparent and open to override. When it works, personalization can play well with other patterns. In particular, it informs the suggestions of autocomplete and the algorithms of best first. Often, however, personalization must take a back seat to explicit, dynamic customization in the form of faceted navigation. After all, interactions with facets are the closest we come to the reference interview and what Google cofounder Sergey Brin calls the ultimate personalized search engine: the librarian.