Monday, May 10, 2010

The Tri-State Filter: Yes, No, or Who Cares!

Often the on/off nature of the checkbox is too loose a means of filtering criteria, and one that demands that the user make a choice.  Checking a box is an inclusive action, and is a good fit for stuff like like checking from a set of items and then delete them all in one swoop.  It is a metaphor to define if something is active or inactive.  But when it comes down to providing an interface for really asking yes or no about individual somethings, and you are feeling bold, then a Tri-State could be the way to go.  The Tri-State lets you pick from "it must", it must not", and "who cares."

The Tri-State is both a hippie and a tyrant.  One benefit is that you can take a pass and not consider a criteria at all.  The other is that you get to specifically exclude something (which is different than unchecking a checkbox).

The Option to Take a Pass
With sets of checkboxes, a person must scan the filter set and carefully choose each option because they are forced to vote it up or down. The “don’t care” option of the tri-state allows the user to directly skip that criteria altogether (without the aid of a parent “filter by this” checkbox). Criteria that demand attention can increase the cognitive load a person feels when using an application, and raise fatigue. Who needs any more of that?

The Option to Smite
More importantly, though, the Tri-State filter is a good choice for presenting a set of criteria by which a user can define a must, or must not state (in addition to the skip it choice). It is a more declarative form of voting.

For example, a real estate application might provide a set of what’s in the neighborhood options consisting of things like school, hospital, police station, etc... Some folks might feel more secure with a hospital nearby and require it in their criteria, while others would reject a home located nearby a noisy hospital. Still others might not care either way and want a good deal on a house regardless of its proximity to a hospital. The Tri-State filter is a good fit for this feature. The checkbox would be inadequate (or at least require some special nesting and verbose labeling).

Tri-State filters really get cooking when there is a set of them that a person can get really specific with. In this example from CollisionWatch, the user can say "show me traffic fatalities where drowsiness was a factor and speeding was a factor but alcohol was not a factor." Then the user can really hone in on a scenario.

Traffic fatalities in Los Angeles, and their causal factors.  Tri-State filters set to hippie mode.

That same data, with the Tri-State filters set very selectively.

Try the Tri-State out for yourself at  Additionally, drop IDV Solutions a line; we are map nerds and love talking about this stuff!

No comments:

Post a Comment