14

tl;dr The default setting for a search box is 'include everything'. Which of the following gifs presents a better option to convey this?


Context:

We're redesigning a reporting interface for a dataset with dozens of possible filter options. Our current system is very difficult to use, so this version is leaning heavily on defensive design.

The goal is for no possible filter combination to return a nonsensical dataset. As such, the "default" state for each filter has been carefully made mutually exclusive from any associated options.

This is the first time in this project I've come across a search box.

The current implementation of the box is something like this. Where 'empty' state means "include any reference":
enter image description here

According to consistency with every other filter so far in this new design, the search box should look something like this: enter image description here

I have reservations about either of these options. To me, the first option doesn't seem to communicate the default state as clearly and mutually-exclusively as the second option. But the second option requires many more clicks than the first.

Please help!

9
  • If the search box is labeled "Reference" then could you explain what is the functional difference between the two choices? I already know I'm searching references so why make me tell you that twice?
    – MonkeyZeus
    Aug 2, 2018 at 15:52
  • 4
    Either you are overcomplicating your description, or you have already failed if I will be one of your users. I do not understand what you mean by "made mutually exclusive from any associated options" and similar statements below that. Perhaps you could show an example where this is used in combination with these other options. So... Is this just a search, or is this not just a search? If this is just an ordinary search feature, then I think the norm is for an empty box to return everything. If not a whole-word search, "appl" returns "apple", "ap" also returns "app" and "application" (...)
    – Aaron
    Aug 2, 2018 at 16:47
  • (...), "a" also returns "Andrew" and "ask"... each successively shorter search returns more, until you search "" (empty) and get everything. That is how many search features work. Is yours different somehow? If so, perhaps provide some examples of a data set and what different searches would return.
    – Aaron
    Aug 2, 2018 at 16:48
  • Will the text box have autocomplete? If there are dozens of possibilities, and you just give them a blank text box, it will very often be entered incorrectly. Likewise, there doesn't seem to be an obvious mechanism to include multiple discrete items to filter. Eg, I want giraffes and dogs, do I type both? Comma separated? If you can only have one at a time, just make it a drop down with all options, and "Any" as one of those options.
    – Ben
    Aug 3, 2018 at 6:19
  • @MonkeyZeus For every dropdown so far, the options have not been the same as the label. This is the first time a search box has come along, and the format hasn't worked. - One symptom of this is that the label and search box say basically the same thing. Aug 3, 2018 at 8:24

6 Answers 6

59

I would strongly suggest you go with the first option but with a change.

The second option introduces a programatic step (selecting from the dropdown) that the user should not have to make - There is no requirement for this programatic step to operate as a 'safety catch' so it shouldn't be there.

The first option has a semantic problem - it's difficult to communicate to users that an empty field means that everything is included. This could be solved by changing the way the users understand it. Changing the label to "Filter references" changes the purpose of the field to 'restricting' the results. Now an empty field means 'no restrictions' and a filled field restricts the results to what's mentioned in the field.

5
  • 23
    +1 for the idea of using "Filter" as the action, rather than search. "Filter" is optional. It's something you do to a list.
    – Kelderic
    Aug 2, 2018 at 14:16
  • 2
    Agree with changing the wording to filter instead of search, the OP even used filter to describe the behaviour they were loking for in the question.
    – RobbG
    Aug 2, 2018 at 16:26
  • 3
    A text field for filtering discrete options is a bad UX from the outset. If it's not a filter of discrete options and instead a fuzzy search for a text string, then calling it a filter is also confusing. Does the filter exclude results with my string, or does it include them? I can't tell.
    – Ben
    Aug 3, 2018 at 6:22
  • A simpler answer than mine. Simplistic is beauty. OP should go with this. Aug 3, 2018 at 8:22
  • @Ben If you're concerned about clarity, simply use the appropriate preposition: "Filter for references to:" or "Filter out references to:".
    – Paul Rowe
    Aug 3, 2018 at 16:12
4

One option to reduce the amount of clicks from your second option would be to include an extra line in the form in which the user can decide if they want to search specifically or for any reference. A simple checkbox can be added to facilitate this.

This could be done like so in 2 steps:

enter image description here

and if they wish to search any reference:

enter image description here

1
  • 1
    The OP mentioned that all search filters should default to "everything" - in this case the checkbox would have to be enabled by default. This would still incur an extra click (uncheck, the click into searchbox)
    – Falco
    Aug 3, 2018 at 11:54
3

You could just split the Filter into two parts:

  1. A display of the current Search Filter
  2. An input Field to search a suitable filter

Initial State:


Empty Filter


After Typing:


enter image description here


You can then synchronize the two parts via JavaScript and display other visual cues (like a filter icon) when the filter is active. And could optionally provide a reset button once the filter is active.

1

Use the second option -- but change it so that it uses radio buttons to choose between "Any Reference" and "Search References."

  • Any Reference
  • Search References [_____________]

The text input field to the right of "Search References" would be enabled if the "Search References" radio button input is selected, and disabled (grayed out) otherwise.

1
  • That's exactly what I was going to suggest too. Aug 4, 2018 at 23:59
1

In the first design, the placeholder text could simply say "All", or "Leave blank to include all references". Either of these should inform the users of how the filter will behave.

In the second design, the wording of the first drop down list item "Default (any reference)" could be confusing because of the use of 'Default'. Perhaps "Any reference" would be clearer.

The word 'Default' is not a term everyone would understand, and it could be misread to filter on the default reference (if there a default reference when items are created).

The first design is closer to how other web apps work, and should be more familiar to most users. Is also uses less space.

2
  • I do appreciate your thoughts. Perhaps this is something we (certainly me included) are overthinking. Perhaps this is what greytext is for. The use of the term "Default" is actually well-established across the interface, so I think it might suffice. User testing will reveal! Aug 3, 2018 at 14:53
  • @AndrewHarvey I think you've just proposed the best answer - Usability Testing! An extended A/B test with each of the answers here would provide a lot of insight, but of course that amount of usability testing might take more effort than it's worth.
    – Joe Boon
    Aug 4, 2018 at 8:42
0

Use the first option, with different placeholder text.

Instead of:
Default (any reference)
try:
Leave blank to search all references

The issue is that unless placeholder text is a full sentence of instructions, it is interpreted as example input.

The way you have it in your question the user can figure it out eventually, but only after overcoming their initial impression which is that Default (foo bar baz) is an example of what the field should contain.

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.