2010
02.08

You used to be expected to type for yourself. But today people have come to expect a reasonable amount of help at even this task. Our phones now help us form correctly-spelled words, our browsers fill in long addresses after we’ve typed only a few characters, and search engines recommend searching for “Humphrey Bogart” after we’ve typed just “boga.”

But not all as-you-type search suggests are created equal. Careful observation seems to reveal three different approaches: completion, suggestion, and instant results. These approaches range in cognitive burden on the one hand, and utility on the other. We’ll look at several examples of each and consider when they should be used.

Search Suggestions: utility vs. cognitive burden

Completion

The simplest of these three approaches is query completion. The sole role of completion is to reduce the friction involved in getting an idea out of your head and onto the computer screen. Just like a fluent translator improves the conversation between two people who speak different languages, so query completion helps a person and a computer communicate a bit more coherently.

Completion makes the most sense when dealing with a narrow strand of finite data. It’s commonly employed for concepts like geography (airports, cities, countries), finance (ticker symbols, company names), and people.

National Rail

National Rail

Google Finance

Google Finance

Facebook

Facebook

Query completion has many advantages over a plain-text search. It saves the user time by cutting out unnecessary keystrokes (i.e. I could type “Birm” and accept the suggestion of “Birmingham”). It also helps prevent spelling mistakes (I can just type “Mitsub” instead of remembering how to spell “Mitsubishi”). And, unlike some of the other forms of search suggestion, query completion does not suffer from being complicated or mentally tiresome. On the contrary, it can be such a natural behaviour that we almost don’t even realise it’s occurring.

My consensus, then, is to use completion whenever and wherever possible. It will make your users more productive without the risk of confusing them.

eBay

eBay

Suggestion

Suggestion is by far the most ubiquitous auto-complete approach. The obvious examples are search engines such as Google and Yahoo, though it’s used on virtually every category of website.

While completion helps get an idea from your head onto the screen, suggestion actually throws new ideas into the mix. It’s not too dissimilar to what happens when you tell your travel agent that you’d like to go on holiday. The agent comes back with a handful of suggestions like the Swiss Alps, Jamaican beach, or Vietnamese jungle. Similarly, if I type “guitar” into eBay’s search field, I get suggestions for “electric guitar,” “acoustic guitar,” and “guitar hero.”

Not only do suggestions save the user keystrokes, but they can actually help construct a more useful query than the user would have thought of on their own.

Yahoo

Amazon

Amazon

But there are a number of opportunities for maximising the power of query suggestions that are often overlooked, but which Google seem to get right. The lowest hanging fruit of these are spelling suggestions. If I type “guitaf” into Google, the first suggestion that appears in the list is the correctly-spelled word, “guitar.” Surprisingly, this elementary feature is missing from giants like eBay, Amazon.com, and Yahoo. A second technique is to display the number of results for each selected term, as Google do with a right alignment. This has a risk (which we’ll get to in a bit), but it can help the user gauge the popularity of a given suggestion. And lastly, it’s often helpful to infuse suggestions with recent searches. One approach, which Safari utilises, is to simply have two groups, one for query suggestions and another that lists the user’s recent searches. A more sophisticated approach could be to use search log data (either for one user, a group of users, or all users) to augment the scoring of the query suggestions themselves.

Google

Google

When deciding what features to include in search suggestions, it is important to consider the mental load that they will exert upon the user. Every addition of new information will add precious milliseconds of processing time for the user’s brain to digest that information. The trick is to strike the right balance between usefulness and cognitive burden within the context of your application.

Instant Results

The third approach differs greatly from the first two forms of search suggestions. In fact, instant results doesn’t offer query suggestions at all, but instead offers actual results to the user, often organised into a handful of categories.

Apple is perhaps the most well-known purveyor of this technique, both on their website and on OS/X’s desktop search, Spotlight. When I type the letters “mou” into the search box on Apple.com, I get five search results, the first being Magic Mouse. If I accept that suggestion, however, I am not taken to a search results pages with the query of “Magic Mouse,” but am actually taken directly to the Magic Mouse product page.

Apple.com

Apple.com

Last.fm

Last.fm

A key feature of instant results is that it can often diminish the need of having a dedicated search page. Instead, search results are provided in a contextual drop-down without leaving the page. The benefit is of course that the user is able to view results as they type, cutting out the additional time required to load a second page.

However, there are risks associated with instant results. First of all, the ability to provide query suggestions is lost since results are shown instantaneously. A second concern is that instant results usually only have space to show a handful of results, and often require quite a lot of space even at that. More specifically, instant results carries with it a much greater cognitive burden on the user than do either completion or query suggestion. It simply takes more time to parse through the multiple categories and apprehend all the metadata associated with each result.

Nutshell CRM

Nutshell CRM

But there is a time and place for everything. Instant results work great when there is highly structured data neatly divided into a handful of categories. Take the forthcoming Nutshell CRM application, for example. The search field only covers three entities: leads, accounts, and contacts. In this context, query suggestions would be useless. It would also be very rare for a result to be buried very far down the list, so the user would almost never need a full page of search results. In this situation, instant results helps the user find what they’re looking for quickly, and with as little friction as possible.

In Summary

These three approaches differ greatly in both their usefulness and the effort required to use them. Completion is easy to understand and almost always results in a net benefit for the user. Suggestion, because it throws new ideas in the mix, is slightly more complex, but that is usually outweighed by its helpfulness. And finally, instant results work well for simple, highly structured data, but at times runs the risk of overwhelming the user.

In part two, we’ll look at some fresh ideas for search suggestions that blend elements from each of these three approaches.

Further Resources


The Deck

The Deck

Tyler presented a talk on search suggestions at the Enterprise Search London Meetup on February 4, 2010. The presentation is available on SlideShare.

Tyler Tate

Tyler is a user experience designer at TwigKit. He has been designing websites and web applications for 9 years and is the creator of The 1KB CSS Grid. You can keep up with Tyler on Twitter.

  1. Great post and interesting read, instant results seem work very well for online shops in my experience.

  2. Great article Tyler and good talk last week.

    BTW Have you ever searched for “Search” in Google? Bing.com is top! Weird (slide 13)

  3. Glad you liked the post James and thanks for the input!

    Andy, yes it’s ironic that Bing shows up as the first result for “search.” Speaking of which, there’s a whole collection of funny search suggestions over at http://searchenginesuggestions.com/.

  4. Nice write-up, Tyler! You have clearly done your homework :-)

    Like you I believe that search suggestions add something to the user experience, and I always look for opportunities to incorporate it in my designs. Still, I feel insecure about the true usefulness of suggestions, and how I should go about finding it out. I mean, does it never happen that completion disrupts the user?

    I wonder about the 2 axes in your chart; utility and cognitive burden. How specifically would you measure the cognitive burden of search suggestion features? And likewise, how specifically do you observe utility?

    A likely answer to these questions is user testing, and I agree to that. But I would still like to hear your thoughts.

  5. Thanks for the thoughtful response, Vegard. I think you’re right that it’s wise to approach search suggestions cautiously, thinking twice to make sure they actually are helping the user and not just getting in the user’s way.

    I guess that’s part of what I was trying to get across in the chart with the “cognitive burden” axis. My general feeling is that ‘completion’ helps the user more than it gets in their way, while ‘instant results’ runs much more of a risk of overwhelming people, with ‘query suggestion’ somewhere in the middle.

    The disclaimer is that no user testing went into this post. But, if someone were to attempt to measure cognitive burden, my assumption is that they would measure the time that the user spends looking at the suggestions. That is, the number of milliseconds from when the search suggestions are shown, until the user makes their selection.

    Utility could be slightly trickier to measure. Perhaps it’s the time it takes to find something (from the moment the user begins their query until they arrive at their destination) divided by the time it would have taken without any form of as-you-type suggestions.

    I would be interested in other’s thoughts on how to measure cognitive burden and utility, as well as comments on whether or not you think my chart is very accurate.

  6. Nice post, Tyler! Nice blog in general. I was happy to see that our AutoComplete[1] product actually handles the first two pieces: Suggestions and Completion. The new version that also handles misspellings and a few other cases should be up on http://search-lucene.com/ is a week or two.

    [1] http://www.sematext.com/products/autocomplete/index.html

    We didn’t do any official studies around cognitive burden vs. utility, but intuitively I agree with Tyler’s assessments.

  7. Thanks for an interesting and well written article. How do you integrate TwigKit with various search engine’s auto-suggest implementations?

  8. Hi Jan,

    Thanks for the comment. TwigKit provides a single API not just for search suggestions, but for everything ranging from query to response and including things like faceted navigation and data visualisation. The TwigKit API works across many search engines, so the same syntax applies whether the platform is Solr, Fast, or any other.

    Keep an eye on the blog, we’re going to be releasing our own search suggestion implementation under GPL in the coming weeks!

  9. Great article and looking forward for the other parts. A few days ago I was looking for a nice plugin to give the default WP search a bit extra power. I’ve found one made by Yoast, the good thing about this plugin is that you can implement two functionalities: Spelling suggestion or related searches. Couldn’t get it to work yet though :)

  10. Lovely article, can’t wait for the upcoming parts.

  11. [...] We’ll look at several examples of each and consider when they should be used.” (Tyler Tate) full article ‹Previous Post Ce anume faceti si ce anume sustineti? Unde si cum? [...]

TwigKit Enterprise Search London Meetup