Hacker News new | ask | show | jobs
by olah_1 2615 days ago
Let's look at the main page for a repo: https://gitlab.com/pwoolcoc/fedichat

The main middle section is fine, your eye doesn't have to travel far to read the code files and the readme because it's in your primary viewing area.

But you know what's not in your primary viewing area? All of the buttons that do important things. They're shoved off to the side. If you want to do anything other than read the code files, you need to be looking at the exact leftmost edge of your screen and away from the main content. It's a disjointed viewing experience.

But that's just about the navigation. Let's say that you find the Issues page and go there: https://gitlab.com/pwoolcoc/fedichat/issues

Ok, now the main content AND the most important buttons (navigation) are shoved to opposite sides of the screen. There is no max width on the main content, so your eye has to travel a veritable mile to read all of the content for each issue.

Even looking at the content for a specific issue has the same problem: https://gitlab.com/pwoolcoc/fedichat/issues/6

If I had to put my finger on the primary reason for this design, it's probably an over-focus on the idea that you should feature some "main content" for each page and kind of hide what you believe is "superfluous".

For example, "oh they clicked on an issue, so they really only care about the discussion that is taking place. Let's feature the discussion text but make all of the metadata shoved to the side and even collapsible." But the problem with this line of thinking is that the user _does_ care about more than just the "main content" of a page. The metadata, the navigation, it's all factored into a typical user experience. So when you are making the decision for the user about what they _should_ be looking at, you're forcing them to break your flow to do what they want. Now the user has to dart their eye from the far left to the far right just to see what they want.

I know I didn't answer your numbered questions directly, but I hope I'm conveying this correctly. I've never made a gitlab account, so I just use the default settings.

1 comments

Thanks for the detailed explanation!

Our navigation was redesigned about 2 years ago (https://gitlab.com/gitlab-org/gitlab-ce/issues/32794), and we conducted a lot of research and user studies to ensure we were creating the best possible experience (https://gitlab.com/gitlab-org/gitlab-ce/issues/34917). All the navigation items to get to different pages within a project are contained in the left sidebar, while the buttons on the main portion of the screen are directly related to the current page.

For the issues page, I agree; we should probably add a max-width to the list. I've opened an issue to try it out https://gitlab.com/gitlab-org/gitlab-ce/issues/61046

We're currently also in the process of rethinking the right sidebar. It's getting cluttered, and there are items in there that probably aren't as frequently used as others. I've opened an MR to test a new design idea- https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/27752. We're also conducting research to find out which items are most frequently used/most important- https://gitlab.com/gitlab-org/ux-research/issues/134 (the issue is private, but will be made public once the studies have been completed).

Hopefully this addressed at least some of your points. Please feel free to open some issues with any other ideas you have.

There's quite a lot of issues there! So I'll just leave one more comment with you for now.

When I look at a Merge Request ( https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/27776 ), the primary thing I do is look straight at the code changes.

It took me an embarrassingly long amount of time to find where the code changes are in the UI. It seems like the actual content of the MR is the most important part and should be up at the top with the title and text description.

I think if I had to summarize my take on Gitlab UI, it would be claustrophobia (sidebars closing in on me) and information overload (what am I looking at or what _should_ I be looking at).

Thanks for taking the time in this interaction! :)