I'm at the tail-end of my vacation, and I've been sitting at the airport for more than four hours as my flight has been delayed time and time again. Not wanting to lose the opportunity to catch up on the reading I meant to do on my vacation, I picked up a text by the ever-popular Jakob Nielsen, which explains some of the best practices of e-commerce websites.
The book is really a collection of reports that he and his team conducted where users were observed while testing about twenty different sites. One of the chapters deals entirely with the search functionality on different websites… what works well and what doesn’t. While I was reading this, my current predicament was causing me to viscerally feel the frustration some of these users must have felt as they could not find what they were looking for because of the sites’ collective inability to discern for itself the users’ intent or tell them how to get what they were looking for.
Just as I was getting to that point of frustration, an apparently helpful airline employee picked up the intercom and announced to the passengers that the plane that would take us back to Texas had just left the gate at Richmond, and that it should be at our airport in about thirty minutes. Although my flight delay was a trifle annoying, since this was right after the third such delay, I had some peace of mind knowing where the plane was and when I would be able to board.
When I thought about it more, I realized that this is one of the ways that a search feature should help users find what they’re looking for. If users consistently create a query that doesn’t match anything in the database, two things should happen:
- The site should make suggestions on how the user can find what he or she is looking for, and
- The site owners should habitually analyze the log files to improve the database that drives the search engine, which will help users find answers to their questions in the future.
The book I’m reading was written in 2000, and the Web has, in general, improved since then to the point that some of the things Nielsen wrote about no longer apply or apply to a lesser degree. It is still a good read with useful information that every person developing a site could profit from. I still have problems finding what I’m looking for on certain large websites with diverse content (such as the Library of Congress), so I know the Web could still stand a little progress.
A good book that describes how and why to create custom error messages for failed search queries is called Defensive Design for the Web. – Cam Beck
Update: It's also important to note that the search results page should actually be truthful. I say this because, to tie it in with my analogy, the revised flight time has been pushed back two more times, and the gate from which we're leaving has been changed twice, causing me to not trust what the airline is telling me is true.
If this were a website, I'd have already gone somewhere else.