The Interactivity Checklist (Avoiding the Filter Fail)

il October 11, 2012

At Tableau we work with a of lot of journalists who are telling stories with data. These visualizations often go through editors and designers, who focus on accuracy, consistency with the site styleguide, and other traditional checks. But how do you test the data? How do you test the visualization? How do you test the story?

When a user finds obviously incorrect data, or blows up the view by getting an ugly or not useful result, it hurts the credibility of the whole app.

We build quite a lot of visualizations here at Tableau and we test them extensively before we make them public. One of the main forms of testing is what we call interaction testing. Here’s your checklist for that.

Tableau Interactivity Checklist

What to do

  • Test each filter: make several selections. See if the results make sense.
  • Test all filters: make selections on every filter on the view, all at once. Is it too easy to get into a corner where no data appears? If so, consider removing one or more filters.
  • Don’t make filters a treasure hunt for your users. If you have any of wildcard filters, then search for names, states, etc. Make sure users can easily get to results. If there are many variations on the terms that could be searched (i.e. “police,” “cops,” “LAPD,” etc) then you want to use a compact (drop-down) list instead.
  • If you're using a view as a filter, select several times on the filtering view and make sure the results are correct and understandable.
  • Deselection: make sure users can deselect any filters you've set up. You may need to add a note in text or titles to tell users to click into white space to deselect.
  • Check highlighting. Does whatever is highlighted makes sense? Highlighting should enhance understanding, not just be a fun effect. If it doesn't, change or turn off highlighting.
  • Check url actions: click on several data points to launch the action. Does it point to the right web page?

What to look for

  1. Does the view make sense for a reasonable set of choices? (i.e., find my town, find my senator)
  2. Look at the edge cases: select all, select none, or any other extremes-- see if they make sense
  3. Find any outliers. This is in fact important—when you find outliers, determine if they’re valid or if they are bad data. If they are bad data, exclude that data from the visualization.


This simple example shows student population at a university by major and degree. The filters on the right are helpful, but it's very easy to get into cases where no results are returned, and it may not be obvious to the user why.

In particular, putting degree type and major filters on the same view is problematic: Choosing "BM" and "Cultural Studies" will always fail to produce results, as will many combinations of degree and major. If this view is used by college administrators, they may be able to figure it out. If it's for parents and prospective students, it could be a frustrating experience.

Another variation of a common filter fail is to give users a search box where it is not obvious what values are possible. Here we've added individual majors to the area of study and added a search box for major.

Searching for "engineering" is satisfying: you see a number of engineering degrees in the results. However, searching for "writing" yields an empty viz. Why? Does the university not offer degrees in creative writing or business writing? Or are those majors called something different? There's no way to know.

Next let's look at a way to add interactivity here that works. Using a slider means you always get results. Adding a second filter constrained to only relevant values (see this article if you don't know what that means) yields a nice experience.

There are many ways to fail with filters. The simple examples here show only two, but if you use the Interactivity Checklist you'll avoid most interactivity problems.


I would think a drop-down combo box AKA "Compact List" would be a better interaction than a Slider.

With the Slider, the first time I see it, I would have to manually scroll through each option to see what is available.

Whereas with a Compact List, a single click drops down and lets me select from the options.

The interface of a Slider really only makes sense with sequential values in my opinion, generally continuous or a discrete with an order.

Areas of Study are not inherently ordered, so a Slider is not a good fit for this situation in my opinion.

Joe, good comment. Sliders are definitely great for sequential filters. However they're also a good tool to help people explore the data, especially for a small set of values. While they're much more common in the former case, we've seen them used quite effectively in the latter as well.

> "However they're also a good tool to help people explore the data"
I am sorry, but I do not follow your point here in this specific case. How does a slider in this situation "help people explore the data"?

To make my point clear, consider this situation:
- A first time viewer is presented with this dashboard
- Upon looking at the stacked area chart, they are interested in Liberal Arts

How does a Slider help in this situation?

- The slider forces the user to need to go through each item to search for Liberal Arts, either holding down the mouse button and slowly dragging with precision or clicking on the arrow multiple times and then back again if missed or clicked to fast
- A drop down combo box would have put this interaction 2 simple clicks away.

I do not see how a slider creates a better interaction in this specific case. I would expect if you are going to share an example of a quick filter combination, that the combination would be sound for the situation presented.

I don't think sliders are horrible, here, but neither do I think they are a good idea. I always reserve sliders for continuous numeric values, and would use pages for something like discrete categories that would always be explored separately, like colleges. Alternatively, in a dashboard, I'd use a single-select compact dropdown.

So, I mostly agree with Joe on this one (and if I ever disagreed with Joe, I'd not have the backbone to put it on the web!)

Jon, When you say "mostly agree", what specifically do you not agree with?

My complaint is on this specific use case the context of the Slider.

A slider is a great control option, but a poor choice for this specific situation.

In my first comment I note that a slider can be an applicable control for text when there is an inherent order, but not for un-ordered string values as used in this situation here.


I agree with Joe regarding the inappropriateness of a slider filter/selector in this case. "Area of Study" is a nominal variable. It consists of discrete items that have no proper order. I can think of no scenario that would benefit from using a slider filter for a nominal variable. The slider makes it difficult and time-consuming to find the item that you want to select. It also prevents you from selecting multiple items. What about the slider filter in this case encourages meaningful data exploration?

On Twitter, I saw "Have talked about this use case with some leaders in info viz. We'll just have to disagree on this one."

In an effort to get to the bottom of this, I reached out to Stephen Few, and he replied with:

"Joe, I'm with you on this. A slider filter/selector is not appropriate for a nominal list of items. It makes it difficult and slow to find the item that you want. It cannot be used to select multiple items. I can't think of any way in which it encourages exploration in a case such as this. Nothing that the slider supports in this case could not be done better using a different kind of filter control--primarily a drop-down multi-select listbox, as you suggested."


I owe you a more detailed answer and here it is. In this case, what I wanted users to do what to see how the lower filter changed when changing the upper filter. The point was how the two filters interacted. Since no one is reading the blog to understand areas of study at this unnamed university, the use case is to show the filter interaction.

With a slider, I can move through the entire data set in 6 clicks. With a multi select, I have to click each item, and unclick the last. Most importantly though in this case, for the reader to compare at least two different combinations of upper & lower filters would take several seconds more. Since the lower filter is ordered alphabetically, having multiple values selected could mean the first few items don't change, making it harder to see the updated lower filter-- obscuring the point of the interacting filters. I worked from the usability principle that the fewest clicks wins. Here the fewest clicks was a slider. You could say use a single-select, which would also be a good choice. However either a single-select or a multi-select filter would put scroll bars on the filters for the view, which I find annoying for small selection sets.

This is what I mean by "there is no 1 right view." The right view and interactivity depend on the audience and use. If the audience had been college administrators, I agree that a multi-select filter would have worked well. With a use case of showing the filter interaction, a slider is fast, and therefore good.

At Tableau we're always trying new ways to communicate with data. I learned this from Chris Stolte and Jock Mackinlay years ago as we worked on Tableau Public before it was even released. In fact, we're such believers in building on others' work that we put a download button on every Tableau Public view. And Joe, you're more than welcome to download the view and put a different filter on it.

There is a bigger principle here: that there is no 1 "right" view. Best practices are very important-- Tableau products, training and this blog try to promote those. But information visualization is also a young science. To flourish, it needs discussion and debate, as well as acceptance of different points of view. What a shame it would be to shut down different ways of doing things by calling them wrong. This is why I welcome your comments and I'm glad we have the chance to respectfully disagree.

I fully support the point of this post and agree that it is very useful, one of the many features of Tableau that I love, a quick filter with only relevant values. Filtering a quick filter based on the selection in another quick filter is a very useful feature. We have no disagreement on this point. Additionally, you have also brought up many other points of discussion that are different topics.

To be clear, I disagree on the choice of a Slider quick filter control used to select a single Area of Study.

Because the interaction desired is a single select, the control options in Tableau are:
- Single Value List (radio buttons)
- Slider
- Compact List (drop-down combo box)

It is clear that a multi-select check box would not have been a good fit for the requirement of being a single select interface. We also agree that a Single Value List would take up too much space. But a Slider is also not a good choice because a Slider becomes a "mystery meat navigation" element when used with discrete items that have no proper order.

I did not see you compare a Slider to a Compact List, here it why a Compact list is the ideal option for this situation:
- Single select (can also select All)
- Compact (minimal persistent pixels)
- from one click can see all available options (total of two clicks to get to destination)

For a comparison: How many clicks (or how long do you need to hold the mouse button) does it take to select Liberal Arts as the Area of Study from the Slider vs selecting Liberal Arts from a Compact List?

The choice of a Slider vs a Compact List for selecting from a discrete list of items that have no proper order is not a data visualization question, it is a known user interface situation.

If you still disagree with this, I look forward to continuing our discussion.

A Compact List (drop down) can also act as a slider.
The 'trick' is to activate the compact list filter, so we can use the arrows to browse (slide) up and down.

Hey Joe,

Slider here still trumps compact list for me. Compact list requires two clicks plus mouse movement for each selection. Slider is one click, mouse in the same place. So to get through the entire data set, 6 clicks vs click-move-click for a total of 12 clicks and a lot of movement. Going back to the usability principle that fewer clicks is better, I like slider here. You might have made a different decision. That's fine.

The mystery meat part of the slider is true but doesn't bother me in this case. Again, the point was to show the interplay between upper & lower filters. No one is looking at this viz because they care about study trends at Unnamed U. So I wanted to make that interplay as clear and direct as possible.

Good points though. There are several filters that could work in this case. None of those we're discussing "blows up" the viz, which is the main point of interactivity testing: make sure you don't blow up your viz with bad filter choices.


Joe, good comment. Sliders are definitely great for sequential filters. However they're also a good tool to help people explore the data, especially for a small set of values. While they're much more common in the former case, we've seen them used quite effectively in the latter as well.