Question about faceted search. What should happen when user clicks on some filter ? should it update results immediately or is it better to click on some button ?

Examples: Lets say about Amazon. I want to search for Samsung TV in Television & Video department. Here is the results:

enter image description here (The link to generate these results)

I know that I want TV which has 3D, built in Wi-Fi and it should be 25 to 29 inches. In order to apply these filters to my current results I have to click on 3D checkbox, wait for new results, click on Wi-Fi checkbox, wait for results and so on for each filter.

I think it's somehow annoying. Imagine how much time you'll spend if you want to apply 5 or more filters to your results, but this works great when you want to use one or two filters

What is solution to this problem ? How can we get best of both worlds ?


4 Answers 4


I think it really depends on where and how you use the filter feature. For web based business applications that are supposed to automate and speedup the process, you should probably use the regular method (meaning apply 5 filters at once).

For shopping sites I agree with Amazon, because (from the sellers' perspective): the online shopping experience is much like the one we have in store. If you're in a rush, most likely you know exactly what you're looking for. In this case you don't need a filter feature, you will type the whole thing into search field or even better have the URL of the landing page.

If you are using a filter feature, then you're browsing or researching... which for a lot of people is a pleasant experience and shouldn't be quick and short.


It's important to not end up with a filter that has no results. If you end up with no results it turns into a problem solving game instead of a shopping session. So for each option you pick, a faceted search system usually calculates the amount of results for each of the remaining options.

This is probably why Amazon takes the filters away from you while it processes your input. I guess they might be able to update the filters separate from and faster than the list of results, but perhaps they can't or both are equally fast. Ajax won't solve this problem because the system needs to keep the filter list up to date with each option you pick.

However, I think it's better to keep the filter options in view. The way Amazon scrolls to top and redraws the entire screen means you need to re-orient yourself after every step. It's a bit annoying, but predictable and preventive of disappointment, and those things are also important.


Ajax (or better hijax: ajax as progressive enhancement). The speed with which ajax can update (depending on your backend of course) eliminates the annoying lag you experience while wanting to click a couple of filters in succession.

It also solves the problem of the page not scrolling up after each filter selection.

Be sure to update your filters through ajax as well though, since otherwise you end up with the problem Koen describes.

Kayak.com has a pretty solid implementation for example.

I once wrote an answer about how to progressively enhance a searchpage using Ajax, perhaps it's of help: https://stackoverflow.com/questions/7370056/accessibility-and-all-these-javascript-frameworks/7371629#7371629


"What should happen when user clicks on some filter? Should it update results immediately or is it better to click on some button?"

Give the User control with an "update" button. Allow the user to select several criteria before updating rather than being forced to wait seconds for each auto-update.

Sergo's remark that browsing/researching should not be short is presumptive. Surely the PATIENT researcher/browser will not mind clicking between (say) 1 and 4 times as he ponders each group of products.

However, if the User DOES know that he wants, e.g. 1) Black, 2) size X, 3) feature Y, 4) under price £$€, then making the User wait for 4 updates is a bad UX.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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