Search

Example of the Search UX pattern.

Problem

A user is looking for something and does not want to waste time.

Solution

Provide users with an easy to use search mechanism.

Context

  • Users are aware that they have an information need.
  • Users are able to articulate something about their information need, even if they can’t articulate it precisely.
  • Users don’t want to have to use navigation mechanisms if they can search for what they want.

Rationale

In many cases users have a sense of what they are looking for, or at least a sense of what to ask for. Users also in many cases are thinking of what they are looking for in ways that do not match with the way you have organized your content. Therefore, rather than forcing users to get to know your navigational categorizations, just let them search based on what they are able to articulate, in their own terms.

Implementation

Place a search box in a consistent position near the top of the page. In most cases you will want to simply use a text field for users to enter a search phrase and a single button labeled something like “Search” or “Go.”

For information on how to provide the results of the search, see the Search Results pattern.

The default search mechanism should just be a simple free form text box that allows users to enter text describing what they are looking for. Do not require users to make any other choices for this simple default search. You can of course offer more advanced search features, but because many people do not like this, do not force them to use it.

Here are some specific tips for implementing search that you may want to consider:

  • Organize your content, and allow users to search within each section (e.g., “Books” or “Music”).
  • Create a taxonomy as part of your information architecture, including a thesaurus which allows you to define which terms should be seen as synonymous or related in other ways, allowing for better matches to user searches.
  • Notice potential misspellings and offer suggested spellings of terms.
  • Offer suggestions to users based on search results being very small or very large, and based on related searches that other users have used.
  • Provide an advanced search page with more power search features (e.g., Boolean logic operators), and searching tips.
  • Show users the search term as part of the search results. For further tips on search results, see the Search Results pattern.

Advanced Search

Here are some more specific tips for implementing advanced search that you may want to consider:

  • When a search is related to items or products that have standard attributes (e.g., book title, author, publication date), you may want to provide optional fields that match these attributes as part of an advanced search.
  • For filtering fields, such as Country, State, etc, make sure to use a default of “all” so that the user is not forced to make choices for filters they don’t care about (see below).

Example of the Search UX pattern.

Help Me Get There

Infragistics has some tools that can jumpstart your efforts to implement this pattern. Broken down by technology, they are as follows.

ASP.NET

Search pattern can be implemented using combination of the following ASP.NET controls: WebTextEditor, WebImageButton. Check out the samples browser to see it in action.

Windows Forms

You can use the NetAdvantage for Windows Forms WinCombo and WinComboEditor with AutoComplete enabled can be used to implement this pattern. Furthermore, the Filtering feature in the WinGrid implements this feature. If you download the NetAdvantage for Win Client bundle, you can find a sample in the WinForms sample browser called WinGrid Samples to see it in action.

WPF

The NetAdvantage for WPF XamDataGrid has a feature titled Filtering that implements the search pattern. If you download the NetAdvantage for Win Client bundle, you can find a sample in the xamFeatureBrowser called Filter Record to see it in action.

 

Examples

The primary example for this pattern is from Amazon.com. Amazon’s search capabilities are key to user success in easily finding just the right product from the effectively infinite number of products available on the site.

http://quince.infragistics.com/118p

Example of the Search UX Pattern Example of the Search UX Pattern

This is example from the New York Times offers search filters based on time periods.

http://quince.infragistics.com/1172

Example of the Search UX Pattern Example of the Search UX Pattern

This example from Food Network shows a feature that allows users to search only within recipes.

http://quince.infragistics.com/11ct

Example of the Search UX Pattern Example of the Search UX Pattern

This example from dictionary.com enables users to limit searches to specific types of information resources.

http://quince.infragistics.com/11c6

Example of the Search UX Pattern Example of the Search UX Pattern

This is an example from Pella.com on Predicitve search results. Once the user clicks inside the search box, a secondary load will stream additional lightweight JS, CSS and images. As keystrokes are entered and results are returned, those results are cached in the JS/browser to reduce requests to the server. To select a search result, the user clicks on the result or uses the arrow up/down and ‘return’ keys. To close the search results overlay, the user can click outside of the results overlay or press the ‘escape’ key. Search is driven by a configurable algorithm that determines the most relevant results to display with each keystroke. Keyword matching can be configured to return results sorted in alphabetical order or by the assigned weight/rank of each keyword. Keywords with the highest weight/rank will be returned first when competing with other keywords.

http://quince.infragistics.com/1733

Example of the Search UX Pattern Example of the Search UX Pattern

Another example for predicitve seach at apple.com

http://quince.infragistics.com/1734

Example of the Search UX Pattern Example of the Search UX Pattern

Facebook's approach to predictive search

http://quince.infragistics.com/2h8r

Example of the Search UX Pattern Example of the Search UX Pattern

Sources

Patterns in Interaction Design, Advanced Search

Patterns in Interaction Design, Search Box

Tags

Navigation, Search.