In our application there's a list of customers, and a list of keywords (among other things). Each customer can have a number of keywords, but it's not mandatory. So for instance, one customer can have the keywords "retail" and "chain", one can have only "contractor" and a third can have none at all.
I want to let the user make a selection of customers based on these keywords, but not having to write (retail AND chain) or contractor and not wholesale
I would like to make it as user-friendly as possible, and ideally with only "simple" controls, like checkboxes, comboboxes etc.
Does anyone have any suggestions on how to design this? Or maybe some examples of applications where there is a similar functionality?
There are a number of methods for simplifying Boolean expressions: algebraic, Karnaugh maps, and Quine-McCluskey being the more popular.
There are two methods that help us in the reduction of a given Boolean Function. These are the algebraic manipulation method, which is longer, and the K-map method, which is shorter.
When you are supplying a Boolean value, you can type either YES , ON , or TRUE for a true value, and NO , OFF , or FALSE for a false value.
The K-map is a graphical method that provides a systematic method for simplifying and manipulating the Boolean expressions or to convert a truth table to its corresponding logic circuit in a simple, orderly process.
Maybe the simplest UI would be something like:
Find customers with
All of these Any of these None of these
[] retail [] retail [] retail
[] chain [] chain [] chain
[] contractor [] contractor [] contractor
[] wholesale [] wholesale [] wholesale
End-users have serious trouble with complex boolean constructions. There have been a number of studies of this (AND is pretty easy for them to understand, but OR is hard). Provide your end-users with access to a general-purpose boolean expression generator and you're jumping down a rabbit hole with no end.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With