A browser maintains a position within a hierarchy and
moves that position by handling picks on lists of
Therefore: Be clear about what hierarchy is being
navigated. Avoid the temptation to navigate more than
one hierarchy or to maintain more than one position in
a single hierarchy.
Use LeftSelectsRight to visualize the path taken to
a specific point in the hierarchy.
The browser is not a good model for operations that
take place between two hierarchies or two points within
a single hierarchy. CutAndPaste or DragAndDrop between
two independent browsers provides a better model for
organizational operations like move.
On the other hand, a control that allows the browser to switch
to another hierarchy, discarding information about the current
hierarchy, still fits the pattern and can be useful in some
circumstances. I built a Cross Reference Cards browser that
handled a stack of cards with links. Only one stack could be
browsed at a time, but one could switch to a different stack.