2

I have a drop list filter where some of the drop list options won't return any items. What is the best practice here and if a filter option returns nothing, should it even exist in the filter dropdown?

For example

  • I have a list of 50 employees.
  • Each employee has a role: Administrator, Supervisor, or Staff.
  • I can filter the employee list by role: All, Administrator, Supervisor, Staff.

If none of my 50 employees are Supervisors, should that role still be an option in my filter dropdown?

My dilemma

On the one hand, I think it makes sense to go ahead and display all possible filtering options. Even if the user selects an option that they don't have, they'll see that their list is empty.

On the other hand, if selecting the filter option returns nothing, what's the point of allowing this user flow to occur aside from the feedback of showing that nothing meets that filter?

  • 1
    Can you show a comp? – Majo0od May 23 '17 at 16:58
  • A good example is let's say you have a list of 50 employees. They each have a role assigned to them such as Administrator, Supervisor, or Staff. I have a filter for this list where I can filter by role. If all 3 roles are represented in this list, when I click the filter dropdown I'll see 4 options: All, Administrator, Supervisor, Staff. My question is, if none of my 50 employees are Supervisors, should I still see Supervisor as an option in my Role filter dropdown? – John May 23 '17 at 17:06
  • Again, I ask for a comp, because I want to see what you did first before I suggest anything. What do you think? Should it show or not? What're your thoughts. – Majo0od May 23 '17 at 17:07
  • I'm torn. On the one hand I think it makes sense to go ahead and display all possible filtering options, because even if the user selects an option that they don't have, they'll see that their list is empty. On the other hand, if selecting the filter option returns nothing, what's the point of allowing this user flow to occur aside from the feedback of showing that nothing meets that filter. – John May 23 '17 at 17:11
  • 1
    In this example, if the organization of 50 employees doesn't have any employee who matches the Supervisor role filter, then the returned list will show nothing. However, once an employee with a Supervisor role is added to the organization, choosing to filter by role and selecting Supervisor will return that one employee. So I'm trying to decide if the Supervisor option should only appear in the Role filter dropdown after at least 1 employee in the organization fits that role. – John May 23 '17 at 17:15
2

Like it has been mentioned in the earlier responses., there is a difference between a category not existing and a category with no results. You will have to determine if the user might want to search for supervisors. Not having the filter implies he cannot filter by it. A filter with 0 results implies there are no supervisors. Understand this difference. Since in your case, you have only a limited data set (50 employees), you could add the number of results with each filter:

Administrators (5)

Supervisors (0)

Staff (45) etc.

This also allows scalability in case employees are added to supervisor role.

0

When to disable vs when to not show

When I worked at the largest hotel company, I was in charge of redesigning their filtering system on their search results page, so a lot of this has come from my experience, plus rigorous user testing and validation.

You need to hide filters if there is no way of having it show up. In your case you wont have any supervisors ever, so hide it.

The only time you disable is when certain filters don't work well together. For instance, when the filtering system was created, someone might choose a hotel with a beach front, so we know that a beach front hotel will not have any golf amenities (as an example). In that situation, we disable the golf filter because both do not work together.

You should think of it from this perspective: Only disable when you can enable again. Disabling implies that something can be done to enable whatever is disabled.

  • Another solution to this problem is to show the count next the item (with some extra dev work). In this case, Supervisor is available in the system, it just hasn't been granted yet. I might want to know that when filtering users. If the filter menu lists Admin (1) / Supervisor (0) / Staff (42) the user knows exactly what's happening. – plainclothes May 23 '17 at 19:11
  • That works too, but if supervisor is always going to be 0, would it be worth to show? – Majo0od May 24 '17 at 11:59
0

Remove the filter option only if:

  • the empty user result is an undesirable and trivial or time-wasting result
  • there is an efficient way to determine if the filter option is removable
  • it doesn't cause constant or undesirable fluctuation in the UI

You'll want to keep the empty filter if, for example:

  • Your organization must have an Administrator and the empty filtered result alerts you to a vital error state that should be corrected
  • Your employee list is so massive that it is prohibitive to do regular checks to cull the filters related to intermittently emptied sets

Simply removing an option could prevent users from realizing there is a certain category (employee role in your case) or become concerned that a prior role they rely on has disappeared from the system.

Depending on how often filtered sets are emptied, this could have a negative impact regarding UX best practices around avoiding moving or changing UI elements and user expectations and interactions during an instance of use or repeat usage over longer periods of time.

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.