Hide features in navigation if you have Guest or Reporter role
As GitLab keeps expanding in breadth, we are running into a problem where users are seeing UI that is not relevant to them. I (Victor) have heard this from customers and @johnjeremiah keeps telling me that this is a problem. In particular, in the Plan stage, we hear this often from personas who don't care about merge requests and the downstream features in GitLab.
Note that there is a parallel (but can be teased out) discussion about splitting our product into feature sets and changing pricing based on that. But that seems like a much bigger change. Let's focus on a smaller iterative change first.
This is a really difficult problem to solve. At GitLab, our vision is a single application for the complete DevOps lifecycle. Having everything in one coherent UI is extremely powerful. And there's a lot of emergent benefits. See https://about.gitlab.com/handbook/product/single-application/.
Furthermore, we have very limited roles as well. We currently have:
- Guest
- Reporter
- Developer
- Maintainer
- Owner
With so little roles, how can we customize for the specific persona in mind? And for now, we aren't considering adding custom roles either. See https://gitlab.com/gitlab-org/gitlab-ce/issues/12736#note_50662947.
So let's focus on a very very specific problem to solve and small iterations to at least test the waters.
Let's focus on the personas of:
- Business analyst
- Business team manager
- Business team director
- Product manager
In particular, in this organization, these roles do not look at code. They have no need to do so. And furthermore, they might not even be allowed to change code or look at code. (This is not hypothetical. Customers have expressed this desire.)
So I am proposing that if you have the Guest
or Reporter
role, MRs, and many Ops area features are hidden by default in the navigation. You can recover seeing them with a single click of View more
, and then there should be some UI affordance (or maybe it's automatic) that your preference is saved.
This of course doesn't solve the problem completely by any stretch because those personas using GitLab might have higher permissioned roles. But in the interest of iteration/experimentation, this seems like a very small step we can try out without adding roles.
I think we should try something. At GitLab, our strength is shipping something small and iterating and getting feedback. So welcoming feedback here for any alternative that we can try. But I don't think the alternative is doing nothing. I think we should address this as soon as we can and the way to do that is shipping something and observing feedback. My proposal I think is a small change and low risk and in worst case we revert the change.
Project navigation | Group navigation |
---|---|