top | item 37284646

(no title)

ovao | 2 years ago

Getting the UI for that right seems like the real trick. We have checkboxes and radio buttons that are well-understood to give us the thing(s) that are selected or checked, but we don’t have anti-checkboxes.

discuss

order

SpaghettiCthulu|2 years ago

We actually do. Thanks to the "indeterminate" state on HTML checkboxes (that one where it's sort of filled in instead of checked), you can use unchecked for "exclude" or "must not have", indeterminate for "don't care" or "both" and checked for "include" or "must have".

Unfortunately, in typical browsers there is no way for the user to set them back to indeterminate unless the developer implements that using javascript.

ovao|2 years ago

An interesting suggestion, but ‘indeterminate’ maps to nullish values, not to negative values.

If you have options such as “oak”, “teak” and “walnut”, and there are some options outside of those, how do you allow users to select neither oak, teak or walnut? It’s not through selecting one or all as indeterminate — it’s gotta be through some other mechanism.

NoZebra120vClip|2 years ago

In truth, it's something that the majority of people will never feel the need to use. So it could realistically be hidden/unlocked upon request. In fact, it would probably be better UX/UI to have it as a directive in an Advanced Search interface.

kjkjadksj|2 years ago

Just have boolean operators and a little tooltip how to write them. Abstraction here isn’t needed. You have to learn the ux anyhow, may as well have the users learn boolean operators so you don’t have to bother with a ux that might end up not being that optimal in the end.

ovao|2 years ago

> You have to learn the ux anyhow, may as well have the users learn boolean operators

This seems like a bit much to ask considering the context, and especially considering “optimal UX” is an untenable proposition to begin with.

snowwrestler|2 years ago

The typical way to do this is a “select all” button that checks all the boxes, and then the user unchecks the single option they want to exclude.

NoZebra120vClip|2 years ago

Most filters don't work like that. If you check a box, it excludes everything without that facet. If you uncheck a box, that facet is ignored (it is neither included nor excluded.)

For example, if I want to search for size-9 blue Adidas shoes, I find the three checkboxes for "9", "blue" and "Adidas" in the shoe department. If I uncheck "blue" then the search will show me every size-9 Adidas shoe, whatever its color.

Since unchecked boxes are simply ignored, there is no signal I can use in such a filtered search to exclude facets which I specify. I have never seen a filtered-search interface which permits this in the sectors where I most need it.

For example, search for a therapist who practices CBT. Easy. Now try listing all therapists who do not practice CBT. Impossible!

adambsilver|2 years ago

Yep, once you go down the path of in context filters, there are a whole bunch of challenges. I need to do another post on that :D