avatarUX Movement

Summary

The Best Filter UI Design for Large-Scale Apps focuses on optimizing filter layout and interaction, with a left sidebar or horizontal toolbar layout, and addresses interaction challenges such as selecting, confirming, and removing filters.

Abstract

The article discusses the importance of filters in large-scale applications, comparing left sidebar and horizontal toolbar layouts. It highlights the advantages and disadvantages of each layout, such as the left sidebar's ability to display more filters but being overlooked by users, and the horizontal toolbar's better connection to the main content but limited space. The article also addresses interaction challenges, including selecting filters using multiple dropdowns, confirming filters with checkmarks, and removing filters by recalling dropdowns. The optimal filter UI design is presented, using a batch filter screen in a modal, check chips, and a dynamic "Show Results" button. The design is mobile-friendly, provides clear feedback, and allows easy resetting of filters.

Bullet points

  • Filters are essential for navigating large-scale applications.
  • Two common filter layouts: left sidebar and horizontal toolbar.
  • Left sidebar allows displaying more filters but is often overlooked.
  • Horizontal toolbar is better connected to the main content but has limited space.
  • Interaction challenges: selecting, confirming, and removing filters.
  • Selecting filters using multiple dropdowns requires extra effort.
  • Confirming filters with checkmarks is not always clear.
  • Removing filters by recalling dropdowns is difficult.
  • Optimal filter UI design: batch filter screen in a modal, check chips, and dynamic "Show Results" button.
  • Mobile-friendly design, clear feedback, and easy resetting of filters.

The Best Filter UI Design for Large-Scale Apps

Optimizing filter layout and interaction

Navigating a large-scape application without filters is like browsing a library without a catalog. It’s impossible to find what you’re looking for if you can’t narrow it down by criteria.

Providing users with a set of criteria to choose from isn’t easy. The first challenge is figuring out the best page layout to display the input fields. The second is figuring out the optimal way for users to interact with them.

Layout

There are two common filter layouts: left sidebar or horizontal toolbar.

Left Sidebar

The advantage of a left sidebar is that it allows you to display more filters on the page without hiding the options. Since a page has infinite vertical space, you can stack them.

However, the downside is that users will often overlook and ignore these filters. It’s unclear to users that the sidebar is connected to the main content area they’re viewing (source).

Not only that, but users also have to scroll to see any filters at the bottom. As a result, they might miss some if they don’t scroll down all the way. Requiring users to do extra work to see the filters isn’t a realistic expectation.

Horizontal Toolbar

A horizontal toolbar is a better layout for filters. The same study found that users interpreted controls above the content area as filters even when they weren’t. This means that users expect filters to be there. They perceive it as more connected with the main content and more accessible.

However, the challenge with a horizontal toolbar is displaying the filters in a viewable way due to space limitations. You cannot stack them like you can with a sidebar because you don’t have infinite horizontal space. This space limitation can present interaction issues.

Interaction

When interacting with filters, users need to be able to make selections quickly with minimal effort. They also need to be able to confirm their selection when they apply a filter. Lastly, they need a quick way to remove any filters they don’t want anymore.

Selecting Filters

The typical way to display filters on a horizontal toolbar is to use multiple dropdowns. The issue with this approach is that users have to click and open a dropdown to view the options for each criteria. Doing this requires extra physical and cognitive effort.

First, the user has to scan each dropdown label to find the filter they want. If any of them are mislabeled with an unfamiliar term, the user can’t find it. Also, if two or more dropdowns labels have a similar meaning, users need to open those dropdowns to understand the difference.

The criteria options provide descriptive details about the filters. When they’re all hidden, it makes it harder for users to find the filters they want. As a result, it takes them more time to complete their task.

Confirming Filters

Another issue is with the user confirming the filters they applied. When you select a filter from a dropdown, a checkmark signifies the selection, but there’s no indication of that when the dropdown closes. If the user needs to check which filters are applied, they must reopen the dropdown to see.

Removing Filters

It’s also difficult for users to remove a filter they’ve applied. To remove it, they have to recall which dropdown the filter is in, open it, and deselect the option. Sometimes they’ll have to scroll through the dropdown to find an option if it’s at the bottom of the list.

Optimal Filter UI

When you have many filters, rows of dropdowns aren’t the optimal design. It’s far better to dedicate a modal screen to display them. The extra screen space allows users to see the criteria options at a glance to make easier selections.

Batch Filter Screen

Instead of opening and closing several menus, all they need to do is click a “Filters” button to open them in a modal screen. The “Filters” button is placed above the content adjacent to the “Sort by” dropdown.

Filtering differs from sorting, so separating these functions is important to avoid confusing users. When the user sorts data, they put it in a specific order. However, when they filter data, they hide what’s irrelevant and reveal what’s relevant based on particular criteria.

The batch filter screen displays each criterion in bold titles and a gray border that separates them into rows. Instead of checkboxes, it uses check chips, a more user-friendly variant of traditional checkboxes.

Check chips allow users to make selections easier because they have larger hit targets and distinguished borders. They also conserve a lot of space because they stack horizontally rather than vertically. Displaying many options with checkboxes would increase the page length and lead to excessive scrolling.

Not only that, but a horizontal stack also helps with scanning. If the check chips aren’t in a particular order, users can scan them more efficiently in a horizontal direction (source).

You can create variant components with check chips. In the example, the filter options for “Color” display a color palette next to each label. Since the palette occupies the regular checkmark cue, it uses a thick border for the selection cue instead.

Dynamic Button

The “Show Results” button is dynamic because the label updates based on the number of results loaded. As the user selects options, the filter loads the data on the server side but doesn’t display the results until they click the button. This approach is beneficial because the user doesn’t have to wait for the page to load after every selection.

Mobile-Friendly

Making this batch filtering system responsive and mobile-friendly is easy. The modal would take the full screen, and the criteria options would span the screen width. The user can scroll to see more criteria, and the “Show Results” button will stay visible and fixed at the bottom. Doing this prevents users from having to scroll down to apply the filters.

Clear Feedback and Easy Reset

After the user applies the filters, they’ll see clear visual feedback on which options they selected. A row of X chips displays below the filter button, indicating all of the user’s selections. They don’t have to click anything to go back and check their selections. Their filter state is right in front of them.

The X chips allow users to remove filters with ease. All they have to do is click the X icon, and it’ll remove the filter and update the results instantly. If users need to remove all the selected filters, a “Clear All” button is available. Clicking it will reset the filters back to the default starting state.

Conclusion

The new filter UI design meets all of the user’s needs. They’re able to view all criteria options with minimal effort. They have clear visual feedback to confirm their selections. They can also remove individual filters or clear all filters quickly. This batch filter pattern is the new standard to follow for large-scale apps.

For more insightful design articles, get a subscription to the official UX Movement Newsletter on Substack

Visual Design
Product Design
UX
UI
Recommended from ReadMedium