Boolean Chart Redesign
David Marshall
dmarshal at yahoo-inc.com
Sun Jul 18 02:52:21 UTC 2010
On 7/17/10 3:09 PM, "Max Kanat-Alexander" <mkanat at bugzilla.org> wrote:
>
> Hey folks. So, the Boolean Charts are great, they're powerful, and
> they've been an important part of Bugzilla since 2000. However, the
> Boolean Charts have some problems:
>
> * The way that AND, OR, and multiple charts work is really confusing. I
> didn't fully understand it until I fully understood Search.pm, which
> very few people understand.
I think they're pretty easy to understand, actually. Each Boolean chart is
AND'ed with everything else. A Boolean chart, which can be individually
negated, has rows that are AND'ed together. Within each row, there are
columns that are OR'ed together.
>
> * You can't really do arbitrary AND/OR groupings. For example, there's
> no way to do this search with the Boolean Charts:
>
> (a AND b) OR (c AND d)
It is certainly not easy to do with with a Boolean chart, but it's possible!
However, I don't want to explain DeMorgan's Law to anyone who would then
need to apply them to a Boolean chart.
Hopefully I will someday be able to release Yahoo's replacement for the
Boolean chart, a predicate tree. The reason we do this is so that we can
avoid OR'ing stuff together (we do a bunch of UNIONs). However, it would
also allow us to perform any arbitrary AND/OR groupings.
Perhaps what is needed is some crazy Javascript thing that allows building
advanced queries graphically - something that translates the query being
constructed into a statement of what search criteria are being applied.
Perhaps what's really needed is a complete overhaul of the advanced search
UI?
I omitted the rest of Max's mail, but I want to chime in that I hate the
notion of a parentheses button. We have a number of management-type users
at Yahoo! who just don't grok operator precedence and the need for
parentheses.
We're doing a lot of work on UI these days, although I don't know that we've
talked much about advanced search. I know, however, that most of our users
don't really know how to take advantage of its capabilities. There's a lot
of implicit ANDing going on, and I have fielded any number of questions
about it.
More information about the developers
mailing list