What Problem Does This Solve?
Users need to narrow a concrete set of features by its attributes.
When to Use This Pattern
Filtering is a common way to reduce the amount of features displayed on the map and/or a grid. Allowing users to progressively remove what they are not interested in will inadvertently leave them with what they are interested in. Common use cases include real estate, consumer applications like AirBnB, and a wide variety of industries like insurance and agriculture to name a few.
What’s the Solution?
Show all the features and provide a form-based interface that allows users to toggle between domain attributes or opt-in to filter on certain attribute values. Filtering works best when any change to the filter returns immediate feedback on the number of results shown.
Why Use This Pattern?
Users are interested in very specific information that is typically a subset of the dataset available. Instead of starting with nothing and forcing the user to specify complicated database queries the filter offers the equivalent of an almost natural language representation that feels engaging like a conversation.
- Carefully select the attributes to be filtered on, domains tend to work really well
- Use checkboxes to opt-in and radio buttons to toggle
- Use dropdowns instead of radio buttons when options extend beyond a handful
- Consider adding amounts to the filter options to indicate the impact of a choice
- Consider updating filter options such that impossible options get grayed out or removed
- Range sliders may return 0 results so consider restricting min/max values to indicate the available attribute ranges