7

This question already has an answer here:

What is the proper way to filter data in an application?

The example displays a case where the filter shows the population for the selected city.

  1. Automatically filter data when selection changed:

Example form with Combobox selection changed

Or

  1. Filter data after the button "Filter" got selected:

enter image description here

marked as duplicate by locationunknown, Ken Mohnkern, Shreyas Tripathy, JonW Jul 24 '18 at 9:30

This question has been asked before and already has an answer. If those answers do not fully address your question, please ask a new question.

17

That depends on technical aspects of the system, as a thumb rule, it's always a good idea to provide facets results immediately, and by doing that also eliminate non-relevant results, but, if the filtering takes a moment, use the button, so the user won't have to wait every time he adds a new filter to the search.

  • So as an option i can use a button only for advanced filter, and instant filter for basics. i think is an good option. – J. Kevin Montes de Oca Jul 2 '18 at 11:11
  • Why would you like Advanced filters to behave differently? @J.KevinMontesdeOca – Eran Bar Jul 2 '18 at 11:29
  • 7
    @J.KevinMontesdeOca It's an option, but not really a good option. If "basic" filters are applied instantly, most users are going to expect all filters to be applied instantly, because they (probably) don't know what you consider basic and what you consider advanced. If you've got some filters that are "advanced", and therefore require a button press to apply, then it should be used for all of them. That way the expectation for the user is clear and consistent: choose your filters then press the button to apply them. – Anthony Grist Jul 2 '18 at 14:04
2

TLDR: If the system is fast, apply directly. (But also consider other types of filters)

Beware that if the user uses keyboard navigation in the dropdown the filter might be applied automatically every time the user presses key down/up which might flood the system with requests (if that is an issue, depending on the architecture of the system).

Consider using other types of controllers for filters, radio-buttons, text etc.

TIBCO Spotfire is a heavy user of filters, might generate some ideas perhaps: https://www.youtube.com/watch?v=WVROLbcXyic

Disclaimer: I'm affiliated with the linked product. I'm sure that there are other software doing similar things.

1

I like Eran Bar's answer. I would just add that there are filters that people want to do frequently and these should be done immediately. Google itself uses a pattern like this if you think about it. There are lots of examples about to see how this is done.

More complex filters that require thinking about and have boolean and/or included in them require considerable thought can be provided under advanced feature buttons.

There is good research to show that in fact people are very bad at this sort of boolean operation so visual feedback about what their search means in terms of results can really help here. Check out research on information scent etc. to see some ideas for doing this. Attribute Explorer - designed by me - was one of the first to do this :-) https://www.sciencedirect.com/science/article/pii/S0953543898000228 Visi-gets - is a nice implementation that I just found recently which also overviews the more recent work in this field: http://innovis.cpsc.ucalgary.ca/innovis/uploads/Publications/Publications/doerk-visgets.pdf

Filter and search require different patterns too. So it is worth thinking about what your user is doing and the context of use. Summarised quite well in another question: Search Vs. Filter- what is the difference

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