Apologies in advance for any topic duplication, banality, or blatant
ignorance I show here. I only dabble in IA/IxD.
I have this current thinking that goes something like this:
1. Search (be it for a Web site, application, whatever) should always just
start with a single, keyword box. No "advanced" options.
2. Search results should always be limited to 50 items or less (no paging,
no configurably changing max items returned)
3. Facilities should be provided to further, iteratively refine results, e.g.,
on the side provide options that are contextual to the search results that
you can select one or more of. I'm thinking here like date range (if
applicable), any categories/tags--things you might normally have seen on an
"advanced" search. The key difference is that you can quickly tweak the
filters to see how they affect the result set. Also, sorting functions as
a kind of filter (top N of result set by X).
It seems to me that this approach, by and large, should enable folks to find
what their looking for almost all of the time, except maybe in extremely
huge data sets (like Amazon and Google). I mean, as a rule of thumb.
And if larger sets of data need to be rationalized, use some sort of
visualization with drill down.
No? Are there better rules of thumb for providing searching facilities?
Also, in terms of browsing, I've become fond of the tagging paradigm w/ tag
cloud-ish things. What do you all think of tags and, in particualr, tag
clouds? What about multiple tag filtering (click tag X, then tag Y and see
only things with both tags)?
Finally, in terms of menus, what do you think of the menus that hide when
not in use (sort of like the Start button/Vista button)? I mean say on a
Web site or app.