[Meta] Possible changes Site/Application wide (onboarding practice)
This issue collects all changes I would like us to give a first or second look upon. Some of these changes I discussed with my interviewers before I was onboarded. I will group them in categories.
Typography:
- https://gitlab.com/gitlab-org/gitlab-ce/issues/13680 Human readable linelength for issues/readme/etc
I think this is an important issue to implement, that would improve the overal Gitlab quality by a lot. All places where text should be human readable and is not code, should be controlled in such a way that line length is not getting longer than 120-130 chars.
- Inclusive Design Test suite and guidelines
This is a topic where I would love to investigate into. Inclusive design is the practice of making your designs adapt to as many language scripts and people with disabilities as possible, by keeping them in mind in certain design decisions. As GitLab keeps expanding and expanding, more and more people around the world want to use it/need to use it. Let's take into account the people that do not use latin or cyrillic script or have a hard time seeying tiny letters and create a test suite for checking if everything still works in those circumstances.
There was an awesome talk about this at the apple developer conference called Inclusive App Design
Context:

Chips could be introduced to give additional information on for example:
- which user is mentioned
- to which repository the mentioned issue of merge request belongs to
- verify that the issue exists (isn't misspelled)
- immediately see if issue is closed
- immediately see if merge request is merged
- see if MR CI has finished and if it was successful
google material design guide reference
- Being able to fold completed checklist items on issues like for example my onboarding issue
Markdown:
- https://gitlab.com/gitlab-org/gitlab-ce/issues/20938 Possibility to have secondary bullets without a primary bullet point directly before it. (this should be possible with the amount of spaces before a "tick")
at the moment you can get it done with html
<ul>
<ul>
<li>item</li>
</ul>
</ul>
Hierarchy in your issue description is quite important. The possibility of having a different bulleting icon possible for a standalone list, can improve this.
Repository settings:
- https://gitlab.com/gitlab-org/gitlab-ce/issues/28162 The project avatar image upload button now only supports a less than 200 kb image file. We could improve upon this by letting the user crop whatever image they want, plus processing it so it meets our needs. (like facebook/twitter etc)
- https://gitlab.com/gitlab-org/gitlab-ce/issues/20939 Custom Domain details for GitLab Pages only shows the Cname record, what about mentioning the A-record + ip number there as well? Currently the information is hidden inside stack overflow and gitlab documentation
Editor:
- Possibility to style text with common short cuts like command / ctrl - D instead of using the wysiwyg buttons in the upper right corner of the editor. (like in the ghost.org editor)
- What about additional html preprocessors like Haml/Slim/Jade support?
-
When including images within a piece of text (issue/MR/comment) it would be great to be able to preselect different width's or heights to style it to. At the moment a picture can sometimes make the total content of a piece of text be almost unreadable or seem incoherent. (At the moment I fix this with custom writing an
<img>
tag with awidth
attribute present) - Direct or mirrored editable markdown rendering editor: Quite often I switch between preview and raw (but editable) views of the text editor within gitlab. It would improve the UX to immediately see your rendered markdown result (like in the ghost.org editor or medium)
- "Draft saved" feature connected with your account like google's Inbox/gmail. At the moment this is I think (and correct me if i am wrong) saved within local storage. But I would love to be certain all my edits are saved when working on the description of a really big issue like this one, plus being able to take over/continue on another device.
- Full screen editor has the scroll bar at a weird position (meaning not at the far right edge of the screen)
Style:
- https://gitlab.com/gitlab-org/gitlab-ce/issues/21166 Get checkbox styles in line with rest of the interface. Right now it uses the default style from the browser, with inline shadows etc. stackoverflow on styling checkboxes
- https://gitlab.com/gitlab-org/gitlab-ce/issues/20942 Commit title text expander displays information in a broken way, which hinders readability (although it has scroll ^^)
I think it would be better to expand in a way to unifies the original shortened title with the extended part, see:
Navigation:
- #20680 (closed) Sidebar discussion (yes I know, this is a hot topic).
Still I think the sidebar is at a place now where it doesn't do itself or GitLab justice. I have a lot of things to say for it, but also against it. In the end I think the current state is not good enough to justify its existence. It feels like a relic, or should be updated.
It includes profile specific + site wide navigation. However the profile has since been removed from it and has been placed in the upper right corner of the interface.
Let's break it down per navigation element:
- Projects
One of the few elements that could belong here and the one I personally use the most.
- Todo's
Same as notifications, has already a superior alternative in upper right corner
- Activity
Activity over all "your" or "starred" projects. Although this is pretty oke to monitor projects it currently has insufficient filters and thus I wonder how much this is used. I talk about this elsewhere in this issue.
- Groups
Could be displayed under profile settings in profile dropdown.
- Milestones
Same as "Activity"
- Issues
Instead of notifications it displays Site Wide "assigned" issues. This can easily be placed for example next to notifications
- Merge requests
It displays Site Wide "assigned" MR's. This has a place next to the previous item.
- Snippets
One of the few elements that could belong here.
- Help
Could be displayed under profile settings in profile dropdown.
- Profile Settings
Already available somewhere else (more logical place to booth)
It used to be a place where you could find/navigate to anything. Right now it's an inconsistent place to find "some" things. If it has too many elements, it becomes bloated and ineffective, but at the same time if there are not enough items in it, it is a highly inefficient usage of screen real estate (as it takes up a vertical screen portion). I calculated it wasting at least 7% of total screen real estate based on the following screencap portions:
Possible solutions:
- Do away with it, get all navigation to somewhere else (omg no sidebar?
) - Extend current navigation, so you don't need to load another page to get to the project you want for example. (that's where I use it the most for at the moment, "get to project X or Y")
- Make it custom configurable for power users, to get the navigation in there, that they want
- Display all your projects and snippets, with a quick inline search functionality
Of course if we would change this, it would again be a pretty big overhaul as things considered sidebar. How do we bring this change to the community etc in a good way? In my opinion change is necessary.
-
Activity view & Milestone view could use additional filtering. Right now it is not possible to see updates or milestones on only certain projects. For activity the only way is starring projects... Filtering through search would be powerful here (see next point).
-
https://gitlab.com/gitlab-org/gitlab-ce/issues/12697 & https://gitlab.com/gitlab-org/gitlab-ce/issues/19431 Filtering issues is not powerful enough at the moment! I think this is a big deal for upping the quality of GitLab as a whole.
Inconsistencies:
- https://gitlab.com/gitlab-org/gitlab-ce/issues/19110 & https://gitlab.com/gitlab-org/gitlab-ce/issues/19334 "Label buttons" and "issue title text" don't line up in the "issue view".
- https://gitlab.com/gitlab-org/gitlab-ce/issues/20068 On the Help page the header could use a minor upgrade with the introduction lines and the "update badge" as they look pretty horrible.
-
https://gitlab.com/gitlab-org/gitlab-ce/issues/19334 On the snippet page, avatars should line up propperly
-
https://gitlab.com/gitlab-org/gitlab-ce/issues/19325 missing tooltips for milestones/weight in issues view
-
too big icon size within buttons on the notifications page, see:
- https://gitlab.com/gitlab-org/gitlab-ce/issues/21168 "Add" button on repository view, isn't alligned
- https://gitlab.com/gitlab-org/gitlab-ce/issues/21169 There is mixed use of "fa-caret-down" vs ascii triangle down
Snippets:
Performance:
- Speed
I know that gitlab is used a lot on premise, and that on itself this is a huge factor in speed performance, however when looking at gitlab.com, I think this could be improved upon in order to make it more delightful to use.
Community Support:
- https://dev.gitlab.org/gitlab/organization/issues/944 Gitter and IRC mirroring
GitLab has a IRC channel and while it is approachable, Gitter has gained attention for its ease of use. When I was trying to get some questions answered via these (direct..) channels, I could see a lot of improvement if the chat was mirrored to each other (so they would support each other). This could easily be done by a bot.
If this would be done, it could even be extended to our slack, with a dedicated channel that on its turn mirrors both the irc and the Gitter channel (as they are now connected), to create a connection with GitLab's Personel.
- Get more open to Designers
Git is all about programming, but sometimes features for a service such as GitLab need to be designed as well. Let's make it easier for designers to pitch in.
- https://gitlab.com/gitlab-com/www-gitlab-com/issues/755 [ ] https://gitlab.com/gitlab-com/www-gitlab-com/merge_requests/2842 Addition of an onboarding page for ux designers
- https://gitlab.com/gitlab-org/gitlab-design/issues/14 We need to improve upon the GitLab Designer Kit (which is the design repo), by adding detailed instructions there. (including unified spec formats and tools, discussed in the same issue: https://gitlab.com/gitlab-com/www-gitlab-com/issues/755 ) - https://gitlab.com/gitlab-org/gitlab-design/issues/14
- https://gitlab.com/gitlab-org/gitlab-ce/issues/18579 We need to finish the Design Guidelines
- What about an MVP of Design?
- https://gitlab.com/gitlab-com/www-gitlab-com/issues/772 What about a stable Dribbble presence for GitLab to attract even more likeminded designers? release every 22nd a few updates on it
-
https://gitlab.com/gitlab-org/gitlab-ce/issues/21272 https://gitlab.com/gitlab-org/gitlab-ce/issues/21273 https://gitlab.com/gitlab-org/gitlab-design/issues/15 We need to support more design formats for diffs & preview, like:
.sketch
,.psd
etc. Please see Sketch CLI tool - https://gitlab.com/gitlab-org/gitlab-ce/issues/2641 It would be awesome to be able to discuss details within images inside an issue discussion, like dropbox:

about.gitlab.com:
- https://gitlab.com/gitlab-com/www-gitlab-com/issues/771 about.gitlab.com/terms could use an upgrade in my opinion as I did a project a while ago based upon 500px implementation of its terms. It basically makes such dense information a lot more readable for the average person, without losing integrity.
handbook:
- https://dev.gitlab.org/gitlab/organization/issues/956 Throughout the handbook there are documents managed with google docs, such as the example contracts. I was wondering if people would see value in getting these into the same versioning workflow as the rest of the handbook (git). This as, we could generate these contracts with LaTeX and let them be auto generated with HAML & CI through Pandoc. See my following project
These are a lot of changes, probably for some are already existing issues. Others I would like to discuss and/or create issues for.