Or, What Wolfram Alpha Does Completely Wrong
In my last post, Three Types of Searches, I proposed that there are three distinct behaviors of search, and that each behavior has its own optimal results formatting. Understanding these different search behaviors and thinking specifically about existing search tools and implementations of search suggestions has led me to this thesis:
Your site search should offer rich search suggestions if any of your users are using it for shortcut searches—and they probably are. This means not only should you make sure that you implement search suggest/assist in the first place (search suggest is the auto-complete drop-down that appears as you type in the search box), but it should also be more than just a basic text list. In fact, it should take formatting cues from the best practices of targeted search results. Does your site have entities—products, people, classes, etc.—that people might be searching for or returning to? Your search logs should confirm whether or not people are ever entering specific entity names into search. If yes, then you are doing your site a disservice if you have not implemented well thought-out search suggestions. Four points have led me to this conclusion.
First, search suggestions steer people away from the dreaded “No Results Found” page by helping users avoid typos or terms that differ from the site’s terminology. In addition, they may surface options the user didn’t even know were available. In this way, a search assist increases findability of items. (Side note: I think search assists could also be enhanced to improve re-finding. I like the way Firefox puts my previously entered search terms above the matching Google suggestions, for example. What if clicking inside the search box immediately opened the suggestions area—before I start typing—with the last five entities I viewed on the site?)
Second, if the user finds a match in the suggestions, clicking on it eliminates at least one page from the navigation process and gets the user to the optimal experience faster. Even if you’ve designed a nice shortcut search result module for every item, I would bet that your product or entity pages are a better experience. As long as your business isn’t in search advertising, skipping the search results page benefits everyone. In addition, it’s unlikely that your site has navigation pointing directly to entity pages. In order to browse to an item, a user would probably have to first choose the correct category from the nav and then find the desired item from there. Displaying entities in the search suggest gets around that problem by essentially enhancing your search box with an item-level navigation dropdown.
A good example of this is Hulu. Say I wanted to watch the most recent episode of The Office. If the episode isn’t linked directly on the homepage, I could try to see if I could find it under any of the main navigation items: Channels (which is really more like genres), Most Popular, Recently Added, Collections, Labs, Trailers, and Spotlight. Or, since none of those immediately screams, “Half hour NBC sitcom,” I could just search for the title. As I type ‘the office’ into the search box, I get the search suggestions shown above, which gives me the choice to jump not only to the show page, but also to immediately begin watching the latest episode. This search suggest allows me to bypass all browsing pages, the search results page, and even the show overview page if I want.
Third, rich formatting helps users distinguish between options. This is an accepted practice in targeted search results that makes sense to carry through here. In fact, I think it is a good rule of thumb to carry some of the formatting choices you’ve already made on comparison results through to the search suggest. Apple.com and Facebook both provide images and other information to make the options in their suggestions easily identifiable.
The Hulu example above also shows that multiple link destinations, when used carefully, can be very effective. Jakob Nielsen’s research findings support the use of larger dropdowns when they help users better see and understand the options. Let’s take another look at Hulu. Their current suggest drop-down is very svelte, but I’d be able to make sense of the options much more quickly if it had images.
My proposed design includes the show images Hulu already produces, and changes the display to show the top 5 matches by popularity, rather than alphabetically. (I’m curious, did you know which show The Riches was without the image?) I am not saying every search suggestion must include an image, however. I’m simply encouraging you to consider displaying information in addition to the entity’s name (like price, for example) that would significantly help people recognize options.
And lastly, you have nothing to lose. As long as it doesn’t make the page unbearably slow, it is all just an added bonus to the search you already have. I am in NO way advocating removing any of your standard (or enhanced) search functionality. Obviously, plenty of the searches on your site won’t be for shortcuts, they’ll be open-ended searches that are more exploratory. Adding rich search suggestions won’t help those people, but it won’t hurt them either—hitting enter or clicking the search button is always an option.
And now for Wolfram Alpha. The thing about Wolfram Alpha is that it is ONLY a shortcut search. Each search results page is actually an entity page. Look at the search result for ‘health care,’ and you’ll see that there were actually three matches—health care as an industry sector, as a financial entity, and as a word—and Wolfram Alpha simply defaults you to one of the entity pages, allowing you to see and select the other options at the top of the page. Wouldn’t it be nice to see those options before landing on results page? Especially since the thing that is so cool about Wolfram Alpha is that it provides very different pages for each result type. But for some strange reason, Wolfram Alpha offers no search suggestions at all. They have a whole section of the site with sample search terms – why not populate the search assist with popular terms matching what I’ve begun typing? It would surface so many more potential opportunities to explore.
The suggestions don’t need to match against every possible result. If it pulled even from the top thousand popular terms, it would be a vast improvement. It would also be a clear differentiation from Google. Google was hesitant to widely implement search suggestions because they were afraid they might lose traffic volume from their search results pages. They clearly have no incentive to help you bypass them. (Google has however implemented a very nice search suggest feature within Gmail that you can enable in the Labs area.)
So to re-state: if anyone is using your site’s search as a shortcut mechanism, and they probably are, you should offer rich search suggestions. Of course, all of this assumes that you understand what people are looking for and that their search terms are already well-matched to your data. So spend some time with your search logs and definitely do a little bit of testing on your search suggestions design. I am looking forward to seeing and using a lot more rich search assists in the future!
Further reading:









{ 3 comments… read them below or add one }
Really like your suggestion for the Hulu rich drop-down. It’s engaging and informative at the same time. They should take notice.
Well written article with good examples! In our own design process, I’d be interested in a further look at some of the process and technology decisions that go into implementing suggestive search. For smaller projects, you do have something to lose: time and money. This kind of search isn’t easy to build, test, and perhaps maintain. I would love to design it in every product, and some resources to hand to clients, developers, managers, etc in terms of justifying the effort would be great. How bout an open source framework for building it?
That’s a great point, Loren. It’s always easy to say, “You MUST do this!” when you aren’t the one worrying about schedule or cost.
Now, I’m not a developer, but my understanding is that search suggestions are actually sometimes easier to implement than a really good site search engine. It only matches against a custom data source that you provide, so the code is fairly simple. In the conversations I have had with our developers about it, the trickiest part is finding a way to automatically update the suggestion data source with the newest content.
But here are some actual techie resources:
YUI library: http://developer.yahoo.com/yui/autocomplete/
JQuery plugin: http://docs.jquery.com/Plugins/Autocomplete
Hope that’s helpful. Hopefully as search suggestions become more of a standard (or requirement), the tools and support for implementation will become abundant.