Problem

Large data sets often hold information with multiple, clearly-defined attributes, shared among many items in the set. Users must be able to sort and filter by several of these common attributes at once in order to find the desired information.

Solution

Information retrieval systems have long been built on search, and the arbitrary organization of the internet as well as good providers of web search have made users accustomed to these methods.

However, for large information sets, single-submission searches (even with more than one term) will often present too many results. Simply narrowing is not practical without beginning to address additional types of information.

Each of these types are referred to as facets, in the sense of the angles of a cut item, like a jewel; the information set is approached from different external angles, and where they meet is the targeted set.

Faceted discovery systems may include explicit search methods, use forms or be presented as navigational structures.

The Search Within pattern is a single-facet search, so is not the same. If results are unsuitable, however, you may need to turn a Search Within design into a Sort & Filter based design.

Variations

Patterns are not well established for Sort & Filter on mobile as yet. While many sites and applications need them, many are bad. The best are proposals, or used in very limited ways so cannot be determined to be patterns as yet. This pattern is included as much to be a cautionary tale, and to present the anti-patterns, as to discuss the proper methods.

There are however several clear categories of patterns emerging.

Faceted wayfinding (back to???) - lots of iOS stuff with the weirdly labeled back arrows... and other solutions for breadcrumbs in small spaces. the back-to is a stepping one at a time system...

Faceted navigation -- drilldown lists

Faceted search -- ???

Interaction Details

DO NOT cover each one in turn. Cover universal principles, like these:

Each facet is applied individually. usually as a list, or a selector, on a single page or view. When applied, the results are displayed, or the next facet is presented for selection in turn.

keep user input

have something akin to history, so if the user goes down a dead end, or presses something by accident, there is a way back

Presentation Details

SAME. Principles for all of them, not details of each

wayfinding is crucial..

Antipatterns

Many conventional sorting patterns such as clicking on column headers in table displays, do not work well in small screens. Even when screen space is available, user expectations are not the same, and these generally will not work without explicit instructions.

Do not simplify navigation or search systems for mobile due to the constrained interface. If the information is the same, then the user's needs are the same.

Examples