I am working on a complex genomic research software (yes, scientists are also humans and deserve human UX) and we are streamlining our search. It has quite a few self-exclusive filters, which we are aiming to address using Selection Dependent Inputs and Progressive disclosure inspired by this great article http://www.lukew.com/ff/entry.asp?764.
However we have multilevel branching logic for selection dependent inputs, that we think would be best to show to user progressively (i.e. we dont want to throw all the possible sub-options to the face of the user at once).
To demonstrate our design we unfortunately cannot disclose our real use cases, so for sake of an example lets assume we are doing an astronomical research software (disclaimer: I have little idea in astronomy), that allows searching for planets (which is very close in a way to what we are doing with our genomic research software).
Keeping in mind progressive disclosure and selection dependent inputs, we have came up with the following design:
Lets concentrate on the complex part of this search - Search in:. Here we actually have 3 levels of selection dependent inputs:
- Level 1: Choice of area unit - from Whole universe to single Planets
- Level 2: Subchoice of Galaxies and known Galaxy sets (that can contain e.g. 100 galaxies)
- Level 3: If Galaxies is selected, we can expand/narrow down the search in specified galaxies using Include radius... and Limit to approximity...
While user drills down from level 1 to level 3, vitality of the choice at the given level drops, we are visually changing how we show the choices. I.e. at level 3 the additional level 3 choice is moved to the right part of the screen, as it is not used frequently (most of the time galaxy/galaxy set is just fine). Clicking one of the links for level 3 choices gives somthing like this: Now user can expand to look for planets not only in Milky Way but also in the nearby areas (e.g. some solar systems outside not strictly belonging to any galaxy)
Would that be appropriate strategy for designing the complex search to make sure users are not overwhelmed with the complex branching in the search and various additional filtering options for those subbranches?