Boolean Chart Redesign

David Marshall dmarshal at yahoo-inc.com
Tue Jul 20 01:18:16 UTC 2010




On 7/19/10 5:20 PM, "Bernd Groh" <bgroh at redhat.com> wrote:

> David Marshall wrote:
>> 
>> 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.
>>   
> 
> Well, that's how you'd read them, in theory. Yet, if you're a heavy user
> of the boolean charts you quickly figure that that doesn't apply in
> practice. I've filed quite a number of bugs, because the result I got
> for `chart 1: A AND B` was different to the result I got for `chart 1:
> A; chart 2: B`, even though I thought these both meant (A AND B).
> Search.pm does a lot of things, but it doesn't really apply logic.
> 

Because Yahoo has been way behind the curve on which Bugzilla to which we're
closest (2.22 !?!), I haven't been able to apply my changes to Search.pm to
the trunk.  If Search.pm is broken, it doesn't need to be.  That's separate
from any UI discussion.

Below is my opinion on how the backend part should be changed.  I don't have
any opinion about whether/how the UI should change, but I intuitively
believe that is orthogonal to the backend.

Recommendation: 2-D Boolean Charts!

Right now, the Boolean charts have 1 dimension which implies that the charts
should be ANDed.  All the stuff above the Boolean charts section with the
numeric designation -1.  If I create two more Boolean charts, I AND together
chart -1, chart 0, and chart 1.

Suppose we had Boolean charts in two dimensions?  The special chart would
now have coordinate (0, 0).  If a user creates one Boolean chart to AND with
the special chart, it goes at (1,0).  If the Boolean chart should be OR with
the special chart, it goes as (0,1).  Additional Boolean charts are created
as needed.

More complicated expressions are possible if the contents of a chart can be
another chart.


>>   
>>> * 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.
>>   
> 
> I think something has to actually apply logic rules in the first place,
> in order for DeMorgan's Law to have any meaning.
> 
>> 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?
>>   
> 
> Yes, please! It doesn't have to be graphical, it can just be the input
> fields we've come to ummm.... love, but if it were to create a single
> statement which represent the actual query to be submitted to the "query
> engine", then that would be awesome. Then people could just build their
> own boolean query generators and simply make sure to submit a valid
> boolean query. But maybe I'm just dreaming here? :-)
> 
> Cheers,
> Bernd
> 
>> 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.
>> 
>> 
>> -
>> To view or change your list settings, click here:
>> <http://bugzilla.org/cgi-bin/mj_wwwusr?user=bgroh@redhat.com>
>>   
> 
> -
> To view or change your list settings, click here:
> <http://bugzilla.org/cgi-bin/mj_wwwusr?user=dmarshal@yahoo-inc.com>




More information about the developers mailing list