Advanced search is the ugly child of interface design -always included, but never loved. Websites have come to depend on their search engines as the volume of content has increased. Yet advanced search functionality has not significantly developed in years. Poor matches and overwhelming search results remain a problem for users. Perhaps the standard search pattern deserves a new look. A progressive disclosure approach can enable users to use precision advanced search techniques to refine their searches and pinpoint the desired results.
Fig. 1: A typical separation of standard and advanced search (Yahoo!). The design discourages use of advanced search.
In the quest to make web sites more usable, we settled on a pattern of a clean, minimal search box with a link to an advanced search page. Jakob Nielsen recommended, “use an intimidating name like ‘advanced search’ to scare off novice users from getting into the page and hurting themselves.”(1) This model has been successful. Search rivals hierarchical website navigation on many sites and is the primary means of navigation on enormous sites such as Ebay and Amazon. Advanced search, however, has not fared so well, with only a small percentage of users using it.
Why most people don’t use advanced search
Despite its name, advanced search has not advanced very far. There is great power to conquer the overwhelming number of search results, but the current standard presents barriers to users. Specifically,
- The link is often small, vague, and does not describe benefits to the user
- Advanced search pages typically have confusing page design for the few who make it there.
- There is generally poor search revision functionality: Once a search is performed, the “advancedness” is lost. For example, the Google advanced search delivers the standard search results page. You have to get the query right the first time; there is no opportunity to adjust your query.
Fig. 2: Google’s advanced search is still complicated.
Who does use advanced search?
Tim Bray wrote, “The people who do use Advanced Search are your most fanatical users, the professional librarians, spooks, and private investigators.”(2) As in many situations, segmenting a population makes it harder to see whether the needs of a subgroup are shared by the majority. Current design is based on the idea that there are two separate audiences with distinct needs. The reality is that there are overlapping needs that are limited by the search pattern.
The essential problem of search — too many irrelevant results — has not gone away.
A typical user has to make a choice between doing a search and clicking a link to do a search. In other words, do you want it now, or want to go somewhere else to look? The immediacy of the search text field and the complexity of advanced search means that users will try the text search first.
Perhaps the old framing is wrong. Rather than being a matter of geeks versus normal people, the question should be whether users see a benefit to advanced search on starting. Unfortunately, there is typically no way to use advanced search at the point users realize they need it — when they haven’t found what they were looking for and have too many search results. They have “missed the exit” to advanced search. Users don’t want to lose the investment in their search; they need a way to use additional techniques to work with what they have. A new model of search can help with this problem.
Other approaches to search
Let’s take a quick look at other search innovations from the last decade. Web data has matured and become more structured. Taxonomies and tagging are now common. There are new opportunities to deal with search results overload by filtering, as long as it is clear and easy for the audience. Despite the truism that users will not go past the first page of search results, they will use obvious tools to refine their searches.
Searching by defined parameters is natural in some circumstances (for example, airline ticket searching) but the majority of sites are not sufficiently data-driven to have an interface designed around the data.
Fig. 3: travelocity.com Flight searches, in a sense, only use advanced search.
Tags can improve search results by better describing what someone is seeking.
Fig. 4: amazon.com’s approach to tagging a product
Faceted searching, or returning browsing categories in the search results (as eBay does) can be effective at prompting the user to select a single category.
Fig. 5: ebay.com’s faceted search
Filtering search results
Amazon and Kayak offer filters to enable users to reduce many results to a few. This can be very effective, but there are obvious constraints due to the limited space available for each filter. Only the first few filters are visible when the page loads.
Fig. 6: Filtering on amazon.com and Kayak
Another approach: Progressive disclosure of functionality
One solution to the essential problems of advanced search discoverability and complexity is to progressively disclose (3) the functionality to the user. Instead of a single, complicated page, break it into understandable units and give each to the user when they ask for it.
In this example, show the ways the user could filter the results (e.g., “Brand” or “Price”) in a highlighted banner above the search results.
Fig. 7: Filters highlighted in a banner (it doesn’t have to be green, it just has to stand out!)
When the user clicks a link, display the filter with enough space to clearly articulate how to use it. Don’t cram it in; the user asked for it. In contrast to the left-hand column filters in the examples above, which are naturally space-constrained, this method can hold many more types of filters and doesn’t show functionality they didn’t request.
Fig. 8: When the user clicks "price" above, give the module enough space to be readable.
Let’s look at an example scenario.
1. The user performs a text search normally.
Fig. 9: Searching for a DVD player using the simple search box
2. On the search results page, show options to filter the search in a prominent location above the results. Communicate the value of filtering. Order them by popularity, using size and font weight to highlight others. If there are many options, consider hiding rarely used options under an expandable section.
Fig. 10: A search results page, with options to filter.
3. When the user clicks an option, display a page module for that search parameter without reloading the page. The user should be able to change the parameters at any time to receive an updated search. If possible, show the number of results for each parameter, so the user can see how exclusive it is, and identify which parameter maybe giving them 0 results.
Fig. 11: The search results, filtered by price.
4. Enable the user to add several modules, stacked in chronological order as the user builds up a complicated query.
Fig. 12: The search results, filtered by price and rating.
Define an implicit method for Boolean rules (AND and OR rules) based on normal search patterns — do not ask users to compose Boolean queries. A system that has worked for me is this: If a user selects several different search parameters, perform an AND search between them (e.g., Sony AND Portable). If they choose multiple values for the same parameter, perform an OR search (e.g., Sony OR Panasonic). However, if parameters (such as product features) are clearly non-exclusive, perform an AND search (e.g., Portable AND “HD ready”).
Recognize that quick searches, text searches, and advanced searches may be built with different technologies (e.g., direct database searches, a Google box, or a content management system). You may need to work closely with the developers to make a seamless transition between technologies.
If there are many parameters (more than 15), consider reducing complexity by hiding less used ones under a “see more…” link below the displayed options. Clicking it should display all the options without a page refresh. Evaluate your search logs to make sure you are exposing the right ones. Consider rotating the exposed ones to discover potential popular features, as exposed options will naturally get more usage.
At its core, advanced search is an under-utilized tool hampered by its own design. By enabling the user to add specificity as they request it, designs such as the one above avoid the lonely fate of the standard advanced search page. Defusing this complexity and locating it where users will naturally find it will help advanced search be truly advanced.
(1) Nielsen, J. (1997). Search and You May Find. Alertbox, July 15, 1997.
(2) Bray, T. (2003). On Search: The Users.
(3) Wikipedia. Progressive Disclosure
Good quick read. At our shop (Hoover’s Online) we too have recently changed our mentality around the Advanced Search concept. Instead of having a separate Advanced Search tool, we have incorporated a filtering system in our simple search results.
We’ve actually taken a hybrid approach to our filters – we surface the top five filter options for each category and have a “more options” link so users can see the additional filtering criteria for each category. We have received good feedback from our users on this new approach and have actually witnessed users using the filters with ease during usability tests.
Currently this new filtered search is available only to our subscribers, but based on the good response we will be rolling it out to our free site users in the near future.
I agree with Edward. We’ve created a false distinction between advanced and basic search.
Filtering on results pages puts advance search tools in the hands of basic search users. With user literacy with rich interfaces improving everyday, there’s no reason we can’t take advantage of search results interfaces that progressively provide more advanced filtering for intermediate and advanced users.
On a previous enterprise GIMONGOUS intranet search project, this approach tested very well. And since it helped 100% of users (as opposed to the limited percentage of advanced search users), it was a more effective design as well.
I agree with the comments above in that search functionality needs to be implemented in a way that is more specific to the context (somewhere in between a basic text field + search button and an advanced search with every conceivable attribute for filtering). Many of the sites we (www.newfangled.com) build incorporate various searching and filtering tools throughout, in addition to site-wide search options. While many of these solutions are great (my favorite being a recent ajax advanced search tab that we did for directorship.com), I agree with Austin that the approach to how search results are presented could be improved upon as well. I think many users would appreciate categorized and flexible returns as apposed to a generic list.
Thanks for a great post!
old school advanced search was perilously close to forcing users to understand and/or but not = to constructions
new models bake it in from the beginning: call it faceted search, or call it submenus defined by higher level menu reults, or wizards; it all tunes the response to the query
examples: genres/sub genres/sub sub for music and recipes by meal part/main ingred/cuisine for cooking
very good article! Good job
I’m sure others would be as interested as I in hearing about your experience managing advanced search on your site. For example, what % of searches were “advanced”?
Seems to me that filtering the search results works sort of like the human brain. In an instant, we place objects or concepts (or experiences!) we encounter into a taxonomical hierarchy or context so that they make sense to us. Roger Schank’s ideas on schema work this way. Progressive disclosure simply forces us to categorize consciously (albeit using someone else’s taxonomy).
One advantage of progressive disclosure is that I may be exposed to options that I had not considered—relationships born of knowledge, experiences, or opportunities I’ve never had. This last facet may be particularly important as I purposefully explore new things, like buying one of a new generation of HD televisions, something I know next to nothing about.
I am cautious about Austin’s comment, though, concerning our rich interface literacy improving, especially regarding the functionality. Indeed this is true for technologically-advanced societies. But members of emerging economies or cultures different from our own may be confounded by much of the interactivity we take for granted. Simple navigation in a western-influenced onscreen environment may be a challenge, let alone the semantic nuance of how we’ve imposed our thought processes on the functionality. In other words, other cultures interact with one another and their environment differently that we do–and that interaction style may not translate to the onscreen search functionality we design/create.
On the plus side, it gives members from a differing or emerging culture a chance to explore and understand how we think about things, thus they are better able to take advantage of opportunities to interact with us. Admittedly, it’s technologically imperialistic on our part, though frankly a realistic trend. Perhaps in the mean time we should consider a middle ground for our presence within those countries or cultures: searches and filtering “implemented in a way that is more specific to the context” as Chris says. As the economic or cultural relationship evolves, we can, as Austin suggests, provide a progressive filtering responsive to 100% of the demographic. Moving through the search results is progressive—honing thoughts and ideas to an exact and purposeful result. Why not make learning about the nature of searching itself progressive, honing an exact and purposeful search process for a given demographic?
Jamie, you make a really good point here. It would be interesting to survey UI decisions with an eye for geographic and cultural context and see what kinds of trends emerge. I think a microcosm of this question is already influential in UI design when we consider the various ‘types’ of users online (i.e. those that tend to browse using navigation vs. those that tend toward using search tools), so it’s not a significant jump to consider types on a larger scale as they regard to particular issues like search tools.
It’s nice to have someone give a little attention to advanced search. However, I think there are a few important concepts missing in the article (based on my time working on both web search and other kinds of search with a lot of qualitative and quantitative data)
~ Context is critical in search. In web search, no matter how hard you try to get more data out of the user, or get them to refine results, you can’t. You wouldn’t be believe how many different interfaces and approaches have been tried to get “one more word” out of users. However, in other areas like travel and real estate, users will happily fill out multiple fields to get better results.
~ Refining results is a different concept than formulating a better query, and should be used in conjunction. Only a small subject of users want to form complex queries, such as librarians and scientists. The numbers on advanced search are never going to go up, at least with web search, because the one-box metaphor is the desired metaphor. Mind reading is expected. Google has a half dozen designers working on search, Yahoo the same. Why do you suppose they don’t try new things? The answer is they do, and those things fail repeatedly.
for example, have you noticed this refinement tool? I bet they tried dozens of implementations, including open, closed, different background colors, etc all done with bucket testing and this one won… and I’ll bet (no insider knowledge here) it gets less than 1% usage even as the most effective implementation.
Are you familiar with Amanda Spink’s body of work? More users would rather switch search engines than refine their query or even go to the second page.
~ Filtering results via classification (tags, categories, etc) works well with structured data and an environment where users are accustomed to it, such as in shopping.
So I think you raise really important questions and make some great suggestions, but without scoping it to both the type of user and the context of the site, it could lead to some dubious design decisions.
I agree that this idea doesn’t solve all advanced search problems, particularly your problem of web searching, given the lack of meta data search engines have at their disposal. Other people, such as some of the commenters, may find it useful.
I’m not sure I agree with the idea that all the ideas have been tried, and that UX people should simply follow what search engines do. Indeed as Amanda Spink writes in your interview “One major problem is that [designers of] search engines tend to think that one technique will do it!” As any UX person knows, what gets built is the result of many opinions and business needs, not only what the UX team recommends.
The example you show, although unrelated in function to this article, does highlight some of the practices I was trying to get at in the article. This feature does appear in the user’s standard path, which is excellent. However, it is hardly visible. Much like traditional advanced search, I doubt many users even see it, which must reduce usage. On the page, http://search.yahoo.com/search?p=sopa+de+lima one doesn’t see those suggestions at all. (They are hidden within a triangle icon thingy) If you do open it, the feature doesn’t communicate a benefit to the user (What does “explore concepts” mean anyway?). I agree that it probably gets very little usage, but have to suspect that if it wasn’t hidden and was clearly explained it would get more.
Interestingly, I see that since I started writing the article Yahoo has dropped advanced search from its home page altogether. On search results pages it is hidden under an “options” menu, (which strikes me as a dubious design decision.) Given the experience of the many people working on it, do you recommend we all do the same?
While I would be the first to agree with Christina’s comments that search is very context dependent, I would be a little cautious in following that through with references to Amanda Spink’s work. This implies that users will always behave in a certain way. In fact, over the last couple of years of user testing, I’ve noticed an accelerating willingness for people to solve problems with interfaces once thought either confusing or for some reason uninteresting to them. I assume this is the effect of a “usage dividend.” We are now starting to see broadband ubiquity and a large enough context of use for the web. This in turn means that we can’t assume that just because nobody used a slider or a parametric search, or shift-clicked an object last year means they won’t do it this year and that their grandmas won’t be doing it the year after that.
1) I would add page modules in reverse chronological order, most recent at the top. The reasoning is that the user is likely to spend more time trying alternatives on the most recent filter, so reducing space between the “control panel” with the result count and the filter seems to make sense.
2) Each module needs a quick remove link.
3) If this becomes a common approach to advanced search, then sites should introduce an “expert search” capability, with functionality similar to the Google Advanced Search example. There is a lot to be said for leaving the power of searches like
(“web page” OR “web site”) design -tutorial site:somesite.com
available to users who take the time to learn how to construct them. It would be sad to see this functionality completely displaced by the sort of facility you describe.
Which begs the question: are SEO enhancements screwing up internet searching. I don’t think it matters what kind of search people perform anymore, be it basic or advanced, because this SEO craze has developers throwing keywords into the website like Emiril throws in his special seasoning. On top of that you’ve got these domain squatters, meaningless keyword hogs that are showing up more and more in search results.
Searching, whether it’s advanced or not, just isn’t as effective anymore. Perhaps the very savvy web users can easily find things, but the vast majority of people out there can’t.
Wow, great article – even better discussion!
In my experience designing interactions for higher education, financial services, b2b, health care and non-profit, search in general is a tool used by people who can’t find what they are looking for right away or people who know precisely what they are looking for and poses the vocabulary to get good results.
Regardless of simple or advanced search, search is used to find stuff (no duh, I know). My question is this: how would progressive search or even super-duper-complicated searches like the one found on google.com help users find the same information the second time they go looking for it?
Granted, this question is irrelevant for sites where content is transient, such as Expedia or Ebay, and for sites where the search index is always changing such as Google and Yahoo – but I insist this is an important question for sites where content is more fixed than it’s not.
Progressive searching could be a great way to help people find what they are looking for, but I my gut tells me that its implementation would be more useful and appropriate for transient content.
Different sites have different search needs. Some sites don’t (and shouldn’t) have searches at all.
I think a basic car should get me from A to B without hassles. I expect a more advanced car to provide some ergonomic advantages. Search and cars have a lot in common.
We accept that we need to learn how to drive a car. We don’t expect manufacturers to design idiot-proof vehicles that can be driven effectively and safely without a modicum of experience. Could it be that search, despite the most intuitive interfaces, could benefit from a bit of training, too?
I ask this simply because give the same interface (say Google’s basic search), some people get good results and others fail miserably. The variable does not lie in the application but in the skill of the user.
This community spends a lot of time thinking and talking about educational initiatives – usually at the grad-school level. But why aren’t we encouraging grade schools to start teaching search techniques already in the third grade? Why aren’t we introducing grades 3-8 to the basics of IA so they can better organize their ring-binders and MySpace pages? Why should we wait until people are well along a career path to start explaining how all of this works – and why they need it in their everyday lives?
Stephen, I enjoyed the article and believe that the concepts of progressive disclosure can be applied quite successfully to other areas of a website too. I liked how you stressed that it is important to communicate the benefits of an advanced search to the users too.
Great article on the ghetto of advanced search. I agree with the idea that search results filters are essentially an piecemeal advanced search. We are currently implimenting a cross category search that results in a much larger data set for the user to work with. This article helps with me thinking about the issues we face.
Great comments everybody!
Eric, I completely agree that searching should be taught in school. If kids are starting book reports with a web search, as I’m told they are, they need to know how to search well. More and more information is being put online, filtering out the noise is going to become a critical skill.
For any of you that may try these ideas out, let us know how it works. I’ve had success in a recent set of usability tests, but I am by no means a disinterested party!
Thanks for the tips, are these the results of user testing specifically on these designs? I’m asking because there seem to be a couple points that are usually discouraged in usability design that you’ve chosen to include in the examples i.e.
1. Use of a horizontal link menu – usually suggests a trip to a different page more than displaying options in the current location. Alternatively they might be expected to sort the results (as the same words do when they appear along the top of the results table).
2. Drop-downs menus – widely used for ‘advanced’ search, but if the aim is to encourage non-advanced users, wouldn’t steering clear of these be a good idea?
Did you find that these points were not significant to the users you tested? If so, it could have larger implications along the lines of what Jonathan Baker-Bates comments about.
Schools DO teach search and filtering strategies–I’ve seen/supported it first-hand. Some schools do it particularly well.
For many elementary school computer skills instructors or for elem. classroom teachers integrating technology into their lesson plans, Yahooligans is a good place to start (as candy-coated as I may think it is). Guided hands-on activities (scaffolding) allows for nurturing in the students many of the strategies we’ve been discussing above. As skills are developed, the guidance decreases and the students are given opportunity for productive independence. An example might be combining a lesson on search strategy with a unit on the American Civil War. Final assignments in the war incorporate the need for students’ accurate information gathering via the web.
Indeed not all schools attend to the need for students’ search skills, but I’ll hazard that those who can (time and resources) understand it’s irresponsible if they do not teach these skills.
Very good article and comments!
I´m glad to read something about this topic.
Advanced search is so important and few developers seem to be worried about iy.
I still wonder to know why some “old” features like the NEAR function, that I loved to use with some software from “before web era”, like Dialog, Orbit, askSam, and so on. I believe it is one of the better resources to find subjects in context.
Altavista used to have it, at the 1990`s but this function it was lost with the newer versions.
WHY? Can anyone tell me, please?
Of course, this is a good article! Aslo important and comprehensible for German searches and user.
Some features was implemented in the search interfaces on a prominent position. They was removed because the usage of this tools was not high. Pherhaps it was not the right time for them. But could be now.
The advanced search special in web searches is hide based on the fact that less people understand and use such possibilities.
The web search is s special search. There are so many different types of search queries. It is not easy to cover all types and suggestions in users mind with helpfull tools before you start the search. User do not really like to use such options before they starting a search but they prefer and use options for refinement the result set after the search.
Instead of implementing advanced searches or advanced options more visible there is a trend to support user :
1. during the search (f. e. search suggestions, guided search result preview mostly images)
2. after the search (categories, narrow or expand searches, related searches)
User are showing an other behaviour in product searches f. e. for music or hotels. Of Course they do really use advanced search options, drop down menues etc. and options before they start a search.
Good article and a great point.
I have work on a search engine for years now and I have never implemented advanced search, because of the akward use. Instead I have designed a range of filters that can be applied after the initial search: http://www.iconfinder.net/search/?q=twitter
Do NOT change functionality based on what YOU think the categories are unless you *tell* people what you are doing.
I’m currently in a “discussion” with Home Depot.
Consider the following query
Motion sensor closet lights.
On the google standard, I should see only items that have those 4 terms (and some search synonyms e.g. sensor=detector).
No. I get terms that have any two terms, including hundreds of window alarm products.
But if I search for kitchen faucets, I get AND behaviour. This inconsistency drives me crazy.
You can demonstrate this by searching for any multiple term search, look at the count of items returned, and eliminate items one by one. In an AND search you should get more items as you decrease the number of terms. In an OR search you will get fewer.
Here’s another pissoff:
Google lately by default will include a hit if your search term was on a page that links to the page you are looking at. So if smokeshifter is on http://wierdstuff.com and that page has a link to a page on BarbarqueAccessories.com/whatever, then searching for smokeshifter barbarques will give you a hit to the latter even though smokeshifter doesn’t occur at all there.
I think that educating people on using boolean searches is a better tack than everyone rolling their own “this is what I think people want”
A: A plain search should behave predictably.
B: If you want to add domain specific features then do so in an obvious way. e.g. if I’m looking for faucets, allow me to restrict by price, by brand, by color, by style, by feature.
Comments are closed.