I'm working on a fairly large analytics dashboard. One challenge that is occurring repeatedly is how to always display relevant information without losing consistency.
We have a set of items that can be analyzed. Selecting and changing those is always possible. It's the top-most navigational element (think: drop-down in the top navigation bar). We also have a set of analytics, grouped into pages.
The problem is the following. While many of those analytic pages (X,Y,Z) are shared between different items (A,B,C), some are not.
Say we have two analyzable items A and B. For A we provide analytics X and Y. For B we provide analytics X, Y and Z.
What happens, when a user currently is on page Z for layer B and changes the selected layer to A. We came up with three options:
We stay on page Z and say "No analytics Z for layer A". The navigation stays consistent throughout the dashboard. But there a some "invalid" states and may annoy the user (Norman calls this a "Gulf of Execution").
We jump to another analytic page that's available for A (but which one?). Inconsistent navigation, with unexpected jumps, but all states are always valid.
We stay on page Z, say "No analytics Z for layer A", allow to switch pages, but as soon as the user left page Z we disable/hide it. Navigation stays somewhat consistent, no jumps, no invalid state. But feels strange that user cannot go back to where he/she came from.
Any other/better ideas?