What are best practices for UX that allows users to toggle whether a user's choice in a dropdown box in the chrome of a web app will persist across multiple pages and and multiple sessions?

Constraints are:

  • UI involved is a dropdown box used to filter the UI to a subset of available data
  • Default is "no filter"
  • User's choice is currently always persisted (both across pages and across sessions)
  • I can't change the dropdown box UI or the "persisted by default" setting. Changes would incur too much support and training risk for our mostly low-tech userbase.
  • I'm space-constrained. I can add no height and at most 50-75px in width to a 28px-high area that contains the dropdown today.
  • About 88% of our users are exclusively PC users, about 11% are primary PC/part-time iPad users, and about 1% Mac users. (I included this detail to pre-emptively reject skeuomorphic toggle switches which in my experience don't do well among a PC-centric audience.)

In other words, I'm looking for something I can put next to (or inside) a dropdown box that:

  • will indicate whether the choice in the dropdown is persistent
  • if persistent, will allow the user to remove persistence
  • if not persistent, will allow the user to persist the setting
  • in the default state (persisted) will not add too much complexity for users who are used to the current always-persisted behavior and simply want to choose a dropdown once (or once in a while) and otherwise never notice this UI again.

If you're interested, here's more details about the specific business problem:

My company's B2B web application has dropdown box in the corner of every page that filters the UI to a particular route of a multi-route delivery business. The list is usually short, typically 10-15 routes. The default is "unfiltered". The filter is persistent-- once set, it stays set forever for that user unless changed.

This dropdown filtering UI has been in place for many years before I was hired, and removing or fundamentally changing its default behavior is a non-starter because it would generate too many support calls for us and too many re-training headaches for our customers.

But many users have complained about the dropdown always being persistent, so if they filter one page and navigate to another page, the filter sticks. It also persists across sessions. Sometimes this persistence is desired behavior: e.g. if a particular user is focusing on one route only for the entire day. Sometimes it's not: e.g. if the user is just narrowing down to one route to help a driver who is at the wrong address.

Without fundamentally changing the UX, I'd like to give our users more control over whether the filter is persistent. Users who like the persistent behavior as-is can keep it, users who don't like persistence can change it to a one-shot filter, and users who sometimes need one or the other can toggle back and forth as needed.

  • Could you perhaps clarify the issue you're facing with some wireframes? As I understand it, someone selects a filter, then selects a different filter. Usually that filter sticks, but sometimes you want it to be temporary so that it switches back to the previous filter (or no filter depending on the situation) when you switch pages? May 1, 2013 at 10:11
  • @KoenLageveen - take a look at Gildas Frémont's answer below, it captures the problem (and a solution) pretty well. May 2, 2013 at 1:53

1 Answer 1


I think you are describing a check box :


download bmml source – Wireframes created with Balsamiq Mockups

I propose you to use your 50x28 room for a Plus button that delivers you the options in a drop down menu.


download bmml source

I do not know if I am or not respecting the following constraint : I can't change the dropdown box UI but your explanation is guesswork.

A better UI is a better UI, change happens and it is life to learn new ways to do stuff (and it is pleasant if it is in a better way). You should not blame so called low-tech users, they are probably the ones that are going to learn changes more easily since they learn over and over the same thing each time they visit the same application when it is not done well.

Remember user spend more time doing something else than hanging around in your application. A little change is not going to shake their world. Make a clear drop-down and I assure you that if they call you it will be to thank you.

  • Your second solution will work-- great idea! It doesn't do 100% of the things I'd like to do (for example there's no way to know if the filter is persistent when the box is collapsed) but I think the simplicity outweighs that loss. Thanks! May 2, 2013 at 1:48

Your Answer

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

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