I have a search returning events of many categories. Rather than narrowing down what they "want", users are more likely to narrow by what they "do not want".

For e.g., I have 100 events this week in a library. Users are more likely to say "don't show me 'story time' or 'counseling' or 'crafts'" but show me everything else. Note - the categories/keywords are not static.. they are dynamic based on the data set. They will be different for a library versus United Center (where Bulls and Blackhawks play as well as other concerts/shows happen) See screenshot attached

In the United Center eg below, user may want to filter out all Blackhawks and Bulls but retain all concerts (or vice versa)

In the library example, user want to remove all "story time"

Remember both examples (And many such) have to be handled by same filter (meaning the keywords are totally different)

What are some UX options for this in a mobile app? Can you give some examples?

This group is awesome.. thanks!!

  • 2
    Do you have a wireframe of your site? Or at least a sketch? – tohster Mar 25 '15 at 6:37

The screenshots make it a bit clearer, but it's still hard to understand how the filters change, how many options there are, etc.

Here are two approaches.

  • The left one assumes you have a reasonably small number of categories.
  • The right one assumes you have a large number of categories (e.g. Yelp or Amazon) and it'd be impractical to list them all out. In the second example, hitting Reset clears the token input box and replaces it with a placeholder which shows Everything for the top box and blank for the bottom.

enter image description here

  • I like the 2nd option.. hopefully it won't create too much user friction.. I will google to see some examples. – wotnowapp Mar 25 '15 at 22:05

The simplest design is to have conventional filter, but with all categories checked initially (i.e., to include them in the search results). Now the user may uncheck those she does not want to see.

If you want something more fancy, maybe you should provide some more information about the use case, the nature and number of filters, etc. for us to think about it.

EDIT: Thanks for the clarification! Let me know if my interpretations are incorrect:

  1. I read from your description that the data (i.e., the events) drive the categories. So even when a library usually has "story-time" events, if there is no such event in the time range chosen, the category need not appear to filter out.

  2. I'm still wondering how the user would make the connection between a category and an event - the example you've shown does not contain the category.

  3. The red X is for removing the event from the list.

  4. If there's a personal list of "un-liked" categories, I assume it's handled somewhere else (there's a back navigation in the top left).

  5. Since this a list of events, I don't think you persist the user's selections (un-liking of categories as well as removal of individual events) somewhere. So every time the user comes back, an updated and complete list will show up.

Considering this, and given the flexibility of the categories, I'd add a "Remove this and similar events" (in addition to the individual remove) to the events. That way, you don't need a list of categories somewhere. The user may go down the list and remove events or categories of events during that.

  • Have added screenshots above. Basically, the filters themselves have to change for each search set (we call it organization) – wotnowapp Mar 25 '15 at 12:51
  • @wotnowapp - have update the answer – virtualnobi Mar 27 '15 at 13:51
  • Thanks virtualnobi. We have to learn about the user's preferences and exclusions and apply for all orgs.. The current red X and green check are more for handling each individual event. But when somebody does a X or check, we could ask for preferences too. Would you be aware of other sites which deal with this? – wotnowapp Mar 28 '15 at 21:52

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.