Monday, May 05, 2008

User Interface Implementations of Faceted Browsing

Applying filters with enhanced asynchronous interactions of Ajax and Flash ...

"Just as it is important to choose the proper knife when slicing-n-dicing vegetables, it is critical to prescribe a suitable user interface to support faceted filtering. Faceted filtering allows you to narrow down a large list of objects to a manageable size by applying flexible combinations of attribute filters in any order. Rather than forcing you down fixed paths within a website’s information architecture, faceted filtering allows you to multi-dimensionally slice-n-dice the information in a manner that best accommodates your specific needs. A user interface that optimally supports faceted filtering must expose its robust functionality in a way that expresses affordances, controls complexity, and follows existing standards that have been pre-established across the web.

You Know What You Want

Traditional static information architecture (IA) makes up most of the fundamental structure of the web. Information architects responsible for individual websites supposedly reconciled user tasks with their respective information space (document and object relationships) to define how web pages should link to one another. This process presumes that users can be accurately represented as a single group and that the acting information architect optimally mapped the collective group’s needs to the information space to best prescribe the static information architecture. As anyone who has chosen to use a website’s search rather than browsing across its information architecture can tell you, this process is not always successful.

Along came faceted filtering to the rescue. If we define groups of adjectives (facets) that describe objects and allow users to filter with them, we could empower users to manipulate the information space themselves rather than oppressively imposing a fixed structure upon them. Users could flexibly select values across all facets, in any order, to view only those objects that could be described as such.

A few facet fundamentals to get us grounded. First, there are facets and facet values. A group of facet values make up a facet. For example, a facet could be color with facet values of red, white, and blue. When filtering, there are usually multiple facets each with multiple values. Balancing the user needs with the potential complexity of inter-facet and intra-facet selection is important in controlling the user interface complexity
Filtering Sequence

There are two primary methods for applying faceted filters:

* En masse—traditional form submission where multiple criteria are submitted at once
* On selection—Ajax-like technique where filtering criteria are submitted individually, sequentially upon each selection

Traditional object filtering has been done with full form submission—choose your criteria by filling out a form and submit. Yahoo’s stock screener is an example. The main drawback is you often end up with “No results found” and you are unsure which criteria or combination of criteria resulted in the null set.

More recently, with the advent of enhanced asynchronous interactions of Ajax and Flash, you can apply filter criteria individually and see how the resulting list updates. By doing so, you can progressively see the cause and effect of applying individual filters. This is more usable because it abets your browsing behavior by allowing you to actively whittle down your information space and process information along the way. It also opens up the possibility to use links instead of traditional form elements for filter selection. The functionality that progressive filtering affords is best exposed with a well planned UI."    (Continued via Digital Web Magazine)    [Usability Resources]


Post a Comment

<< Home

<< Home