Posted by kyle on September 10, 2006 2:53 PM | bookmark / share: |
An interesting post at Unspace discusses how for many applications, a filtering paradigm is more appropriate than traditional search. To use Pete Forde's words:
With a search, you start off with nothing and potentially end up with nothing. Counter to this approach is filtering, where we present everything available, and then encourage the user to progressively remove what they do not need.
Frequently I hear from the search gurus that under ideal circumstances, search is a conversation; that a dialog must occur between the information consumer and the search provider, guiding the consumer to the desired information. Right on! Search isn't easy. Language is ambiguous and searchers aren't interested in spending several minutes formulating precise queries with complex operators.
Guided search can manifest itself in different ways. Suggestions (1 2), recommendations, categorization, and contextualization (see right hand side of results) can all be methods for asking the user, “What did you mean?”. Pete adds filters to the mix and presents an example implementation.
I agree with Pete on the concept but wish his implementation provided a more responsive user interface. Currently, as a user applies filters, a counter is updated to indicate the number of matches. A more responsive user interface would include the list of matching products inline with the filter options. This would enable the user to identify when they have filtered enough or too much and quickly modify filter citeria accordingly.
In this way, a filter model can greatly enhance browsability. Notice that in a traditional search model, when a user reaches a result page, their options are rather limited: pick one of the results, or enter a new query. If the user enters a new query, it isn't related to their last query -- the result sets may not even intersect. By contrast, a filter model can enable the user to alter the scope of their query, effectively zooming in to a subset or zooming out to a superset of the results. Every action that a user performs is connected to the actions that preceeded it and actions can be undone when they don't provide a satisfactory result.
I hope to see more from Pete and Unspace. Thanks for getting the conversation started.