3

I'm having a situation with codependent filters. Lets use as example KAYAK flight filters. We have a filter named TIMES that lets the user select time range for flight take-off. In other filter we have AIRLINES where the user can select the desire airlines.

If the user wants to take off only in morning hours there are airlines that doesn't match that criteria because they only take off during night. The filters are codependent.

In that case:

1) Should we reduce the filterable options available in the Airlines to display only the options that match the take off time selected? Or ..

2) We just leave all the non-matching options there, although it is useless information?

It seems that most of the site goes for the number two. Kayak does, but, it is ok? How can we handle this?!

Thanks for your support

enter image description here

  • you could also consider using checkboxes / links instead of sliders (less cognitive load) and showing result counts for options (avoiding users ending up in 'no results' dead ends) – Toni Leigh Mar 1 '15 at 18:14
1

Good question. This is a common design situation.

It can help to remember that 'no results' is a valid answer.

In many applications (eg safety planning), knowing that there is no solution can be as important as seeing possible solutions, because it can help users simplify the problem domain.

In this case, the tradeoff is whether to constrain the user up front (Ie disallow user from selecting filters that yield no result) or allow codependent filtering that yields no result.

Since we don't know what your app actually does, it's hard to recommend one approach over the other because it depends on what your UX objectives are. There is no strictly better approach here.

If users are likely to be frustrated by 'no results', and if you can precalculate invalid outcomes, then it can be good to disable invalid filter options up front. This is not always practical though (eg the Kayak time sliders don't work very well when you block off chunks of invalid time).

If on the other hand your app is exploratory and 'no results' is helpful to users, you may want to allow more freedom in the filters and optionally use cues in the results to guide users (eg 'no result for the times you selected, but there are 21 flights available in the afternoon').

Hope that helps

1

In addition to the considerations mentioned by @tohster you should also take into account the number of options in the filters. An "airlines" filter usually has many dozens of options, which is a lot to take in. If you can make the list smaller, you will help the user. BTW you don't have to hide the unsuitable values, you can gray them out so that the user better understands what's going on.

1

Showing results is always better than showing no results.

I think it boils down to how you are going to show “no results”:

If the user wants to take off only in morning hours there are airlines that doesn't match that criteria because they only take off during night. The filters are codependent. In that case:

1) Should we reduce the filterable options available in the Airlines to display only the options that match the take off time selected?

No,but with a caveat of providing valuable/usable information attached to the options displayed. The reason being that while there are no matching results the information provided could prove usefull for future use of the site or even provide enough information to influence user decision. a good example here which is used by Kayak is pricing which I would say is very solid argument for the user to carefully weigh their options.

2) We just leave all the non-matching options there, although it is useless information?

These options will not be useless as long as you provide enough information/insights to the user to make a more informed decision, for example by dynamically updating the number of items corresponding to each option. below is a rough mockup.

enter image description here

Other considerations:

  • Allow an easy way for users to remove or adjust filters as they explore their options.
  • Establish hierarchy of filtering options and track their use so you can personalise the search experience.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.