Lets say you have a typical set of product search results, and a typical sidebar with various checkboxes for you to filter and limit your search results. Something like the example of the left of this image:
From a UX perspective, which is better/easy/more-intuitive:
- Every time a user clicks a filter checkbox or radio button or whatever, the page refreshes (or the results refresh via AJAX), updating the search results
- The user must manually press a "Filter" button after selecting various checkboxes, etc
The pros and cons for 1. is that every time a user hits a checkbox, the screen refreshes. This appears slow and cumbersome to the user.
For 2. The user might not realize they have to hit a "Filter" button in order to actually apply the checkboxes and stuff they checked. So they might hit some checkboxes and wait and nothing happens. Also, if the list of checkboxes and widgets is taller than the page, the "Filter" button could be at the top or bottom of them and be off the page, so the user can't even see that there is a filter button at all...
What is the best approach? I don't know if I've ever seen a site that really does it right.