I am working on an interface for a system which enables users to browse a large model of a business' processes. The many items in this model are arranged in a "net" structure. When viewing a single item (i.e. when viewing a page which lists all attributes of the item), how can I make it clear to the user where this item is in the overall structure?
The client says it's more accurate to describe the relationship between items as a net than a traditional tree structure (with layers of items nested inside each other). This is because an item in the model can be a 'child' of many disparate categories of items - it can have many parents.
Conflict between menu structure and site structure
Many of the most important items in the system are accessible via a traditional multi-level navigation menu, but the items in this menu (and the structure of those items) are manually defined by administrators to bring only the most crucial items within easy reach. It is not a representation of the structure of the system itself. This is another potential issue, as the two models may conflict, which could confuse the user.
Problems with breadcrumbs
As there is more than one possible path through the net to reach each item, a traditional breadcrumb is not ideal.
It would only show one path through the system, meaning only one direct parent element would be shown. If an item had many parent items, showing only one would not allow the user to locate all related 'sibling' items.
There would also have to be logic in place to decide which of the many possible paths should be shown.
None of these seem ideal.
- Show a breadcrumb trail of the path the item is found under in the main menu. If the item isn't in the main menu, simply don't show a breadcrumb.
- Show a breadcrumb trail of the path the user took to arrive at this item, effectively mirroring the browser's own "back" functionality.
- Show a list of all direct parent items, enabling users to find their way to all sibling items.
I hope this all made sense! I would greatly appreciate any suggestions for solving the UI problem I have described, or for addressing any more fundamental issues you perceive.