I want to make my website refine panel on the search result more user-friendly. Im dealing in realestate portal and have already implemented one but not sure if that is the best way to do it. So need your help.

I have more than 10 categories in refine section, and ongoing I can increase them. My question is:

Should the refine be auto-triggered? For example eBay have auto triggered refine, as soon as you select your results get refined, or should I add a refine button for each section of refine panel? For example if user selects option A in particular category, we show him refine button:

enter image description here

so that user is sure that he has selected option A and now he will get results only for that..

In eBay search format if user selects something by mistake his results will get refined and he will not understand it, Here is an example eBay search to illustrate what I mean.

If I do use an auto triggered refine – should I add loader and grey out the entire screen so that user know that something is getting updated or should I just show the refined result like eBay? Will it surprise my users?


3 Answers 3


This feels like a pattern that's been worked out.

The 'Refine' button, which apparently just applies the effect of checking boxes, seems like an unnecessary step. The ecommerce convention has become that checking a box to refine, has an instant effect on the visible search results. If I check the $100-1000 box, all other properties are removed.

In cases where you have more options in a category than works visually, you can hide others, and have them expand open on request.

The order of the lists, and which parts of them are visible, should be decided on in the context of your users' goals, and any usage data you have.


download bmml source – Wireframes created with Balsamiq Mockups


Yes, refine should be auto-triggered.

However do ensure that the system behaviour and thus user experience does not degrade. First two issues you raised

  • "hidden refinement" where change has no noticeable effect. The visual update should be significant enough but this could be explicit or implicit

  • "What is my current filter set to?" In the eBay example it is set to [AT&T] and [iPhone 4]. Perhaps a little subtle, but I can see the system state and manipulate it.

Note that these two issues can be tackled together. If user clearly understands that an additional filter has been applied, they will interpret that results reflect this. In ebay example could animate the addition of [32GB] filter when looking at only that model. (BTW the reason eBay can survive a subtle UI is they have long time users, who are used to the eBay conventions)

Some other cases where refine auto-triggered could create issues

  • page refresh loses the users context (i.e. must use AJAX)
  • page is locked, thus user temporarily can't select additional items in a category, or in a different category
  • increased load on server slows response time
  • mobile device - bandwidth use, slow refresh and power consumption

PS. also note that any benefit of having a manual refine step is diluted if the "Refine Now" button is activated on a per category basis. Any "Refine Now" button should allow the filters for all categories to be set before requesting a refine.


"Im dealing in realestate portal and have already implemented one but not sure if that is the best way to do it."

Is it possible to use this existing implementation to do some user testing? That sounds like a great opportunity and probably the best way to find out what to do.

I also suggest having a look at the same eBay page on a smartphone. There is an "apply" button for the refinements in mobile view. This makes sense because the filter takes up the whole screen and smartphones often have less bandwidth.

Except for smartphones, I can imagine there are more situations where a button is preferred. For instance when users want to change many refinements at once. I'm not advocating a button but it just depends on the context. So a test looks like the best way to find out.

Oh and yes, you definitely want to let the user know that the results are being updated.

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.