Our nav can essentially be broken down into 4 buckets:
🟪 Workspace
This area shows the user where they are and where they could go.
Projects and groups live within the same hierarchy and folder structure but are prominently differentiated in the navigation.
Our first-level navigation is based on a folder (group/project) & file-centric (workflow objects) mental model rather than a user-centric model. Folder & file is useful, just not as the primary method for navigation.
It is hard to differentiate between what type of workspace you are in (group vs project) because it all looks the same.
🟦 Workspaces currently only focus on projects, groups or admin pages - but we are starting to see things like the security center which is instance-level and more of a cross-workspace capability. Everything behind the more menu is either instance-level or not associated with a workspace - these are essentially an afterthought in our current navigation model.
🟥 Workflow objects
This area shows the content within the current workspace and what object (e.g. issue or MR) you are working on.
The content in this area can change in potentially confusing ways based on whether you are in a group or project.
Different persona roles are interested in different workflow items, but we currently show the same view for every user.
As GitLab features grow, this is the area that will need to scale the most.
🟩 My stuff
This area shows the objects and tasks that are relevant to you.
Our navigation prioritises many things equally - when there are only a small proportion of workspaces and workflow items that are relevant to individual users.
🟨 Actions
This allows you to take actions at the workspace or global-level
It is directly related to workspace but is in closer proximity to the "my stuff" area.
Specific navigation challenges for Analytics
Instance-level navigation: Most of the items hidden behind the more menu fit within an instance-level view. A lack of an instance-level view means we often put analytics pages in the admin panel... impacting the number of users who can see them (and GMAU).
Disconnected analytics experience: Analytics pages are often inter-related, but the experience of drilling down or moving between them feels disconnected and jarring.
Duplication of efforts: Analytics features span across project, group & instance... we need to develop 3 times in order to do this.
Vision
This vision is one manifestation of the below vision components - created to make these concepts more tangible. These components can obviously be reconfigured in different ways to achieve a similar result. I invite you to try for yourself!
Each of these components is a hypothesis that can be individually tested with an MVC...
1. Rearrange key nav areas to more effectively illustrate their relationships
From this →
To this
2. Consolidate workspaces into a single selection experience
From this →
To this
Consolidate workspace (instance, project, group, user) and capability views (analytics, security, ops) into one selection experience
Create a clearer differentiation between the different workspace types
This paves the way for extensible org constructs (&2885 (closed))
3. Create an instance-level and/or cross-workspace capability view
From this →
instance-level view
capability-focused view
4. Create a dedicated user workspace
From this →
To this
Dedicated nav for quicker access to the things which are relevant to me
Users can bookmark pages and they are accessed directly from the nav
Hovering over nav items pops up list of recent items
5. Allow for Persona menu profiles & workflow item customisation
From this →
To this
The workflow items are "filtered" into unique views based on persona requirements
GitLab could start out by creating standard persona profiles
Eventually, organisations could create global profiles and users could create their own personal profiles
6. Rely more on bookmarks, search & filter as primary nav option with folder tree as a secondary option
From this →
To this
Federated search accessed directly in sidebar
More specific search criteria similar to Slack (e.g.in:#UX)
7. Create a more prominent action button for global and context-specific actions
From this →
To this
8. Breadcrumb as a nav option
From this →
To this
MVC recommendation for Manage:Analytics
The next step for ~"group::analytics" is to move analytics content from the admin panel to an instance-level view. This is effectively testing solution component 3.
We can do this in two ways:
Instance group - create an instance view within the group framework
Probably easier to implement
Potential usability issues
Instance nav with analytics sub-section
Consolidate more menu into instance workspace
Instance may be strange terminology
Could potentially build on top of "security center"
We will determine the feasibility of each of these options and move from there. After this step is done, we could move on to testing solution component 2 - consolidating the workspace selection experience.