Faceted Navigation

Phil Bull <philbull at gmail.com>
Sat Dec 18 08:44:33 EST 2010

Hi Shaun,

It looks good! Comments follow.

On Thu, 2010-12-16 at 13:26 -0500, Shaun McCance wrote:
[...]
> * There's no way to AND on cases or matches. For example, if I were to
> change the Message Board example to have this:
> 
> <facet:tag key="tech" values="gtk webkit"/>
> 
> It would be displayed if you have either GTK+ or WebKit checked. Is it
> useful to be able to display links only if all their tag values match?

I see that it could be useful. A relatively simple notation would be
something like:

<facet:match key="gtk&webkit"/>

At least it would be obvious. " " is an implicit OR, "&" is explicitly
AND. I guess you could implement all of the boolean operators (XOR,
anyone?), but I don't like how complicated this would start to get. When
you give people tools like this, they can start writing ugly, hacky
code. Personally, I would like to see Mallard remain a clear,
easy-to-read markup. Can facets perhaps remain as an extension
namespace, separate from the basic Mallard spec?

> * There's only one type of selector here: non-exclusive multiple choice.
> I could imagine others. Exclusive multiple choice (i.e. radio buttons).
> Numeric ranges. On/off toggles (you might think you can do that with a
> single case in a choice, but it's different). What do we need? Probably
> we can just start with this and grow from it as needs arise.

Exclusive multiple choice would be a very sensible addition. It would be
nice to have a processing tool like Yelp automatically choose a sensible
default option based on environment variables (or similar) too. e.g. for
Ubuntu, we now have to worry about whether the user is using the Unity
shell or the standard GNOME 2.x shell. If they're running Unity, the
Unity option should be chosen by default.

Thanks,

Phil

-- 
Phil Bull
https://launchpad.net/~philbull
Book - http://nostarch.com/ubuntu4.htm