I would rather like to make it wider, because now some pages, e.g. Builds, do not fit well. It would be nice to have such option in the Profile settings.
I think it depends on the view. When reading an issue it is much easier to read with my example above. When viewing a larger data set (i.e. builds) you might need a wider 90% width.
This is a nice article with some numbers from StatCounter that look at comparing screen sizes with max widths. In the end they suggest somewhere between 1200px-1400px max width based on the % of users who will reach the max-width breakpoint and then states:
The smaller end of this range gives more users the focused center column, and would be more impactful on text-heavy content, and the larger end of the range gives more screen real-estate to fit more visual-heavy content on the page.
However, I think the problem happens when line lengths get too long. There is a lot of research on the best line length for readability- somewhere around 75-125 characters is considered ideal. Pages like the issues page have much longer line lengths which can slow down reading (but has no impact on comprehension) when at the max-width.
I do agree that pages that do not fit should be redesigned to fit/be responsive.
Thanks @tauriedavis for bringing this issue to my intention. I already made an issue for human readable line length (for places where it makes sense) some time ago: https://gitlab.com/gitlab-org/gitlab-ce/issues/18808 . I will close down that issue and restructure this one to fit our needs (if you don't mind @emilsundberg )
Dimitrie HoekstraChanged title: Decrease fixed width → [Meta] Fixed Width Mediaqueries and Human Readable Line Length
Changed title: Decrease fixed width → [Meta] Fixed Width Mediaqueries and Human Readable Line Length
Current 1280px width for container is an optimal UI-wise. We should not make it smaller because we are building application with a lot of controls and different UI components. 800px is ok only for websites that are pure text.
Inside current 1280px container we can increase readability by manipulating font-size, padding and maybe a bit of width of particular text block.
Example
2 screenshots with same amount of characters per line made on 12" laptop.
Limit container width approach. As you might see it immediately creates extra work since some information wont fit in one row with a buttons. Imagine how it can affect other pages like merge request with a lot of tabs and other controls.
Increase font-size and adds extra right padding for issue description. It has minimal effect on existing UI, no white space around text and still solves readable line length problem.
@dzaporozhets good points, though let me get into this :)
1
This issue is not precisely on to decrease the container width as I think that is fine. 1280px is definitely an ideal width approach UI-wise (exactly the window width of 13" macbook pro). However it does try to create an optimal line length by introducing white space where its needed through padding.
For example in the following subissue: https://gitlab.com/gitlab-org/gitlab-ce/issues/20916 we can see the design mockup for an optimised layout for issues/MR. It actually leaves the 1280 container alone and uses padding in certain places to create white space.
I agree 800 px is okay for websites that are pure text, that is exactly the reason why I introduced this issue. Each sub issue offers an optimized design for a gitlab page that is mostly only text and would thus need this.
Also on a pure text based website the width would have to decrease even more than 800px, or to quote myself:
GitLab is a different medium and holds a lot more different kinds of content. Therefore the amount of characters on a line can be longer then 75-90. I have done some research previously and I think we can say 110-130 characters is a OK.
2
In the previous number I already noted that padding is a better solution than tinkering with the container width. As for font-sizethis can indeed improve the circumstances, but I would use it with caution as it could create a slight imbalance in the whole UI typography. Plus it would introduce the following: "Should we increase font size again if we hide the sidebar?".
I think a fixed max width for text is the best way to go (based upon which font-size of course) made possible through padding.
To get back to the white space issue vs font-size:
It could be that the line length would be ideal on a 12" laptop, but what about the whole spectrum of devices with different screen widths? Apart from that, I saw that @sytses posted a comment from hackernews which says the following:
GitLab defaults to letting text lines be overly long and this just makes the whole thing feel uncomfortable even if you think you don't mind it.
I can sort of agree with this, its the purpose of this issue. Not every inch of space should have to be filled with information (although on smaller screens this is more likely to happen). White space creates focus and clarity, it eases the mind into a better comprehension of the situation/page at hand. Or to quote treehouse:
Whitespace is also associated with elegance and sophistication since it is a way to organize text, organize elements and guide users attention to certain elements. - treehouse
I want this to have a minimal effect on the existing ui, but do solve the current problem through the designs created in the subissues.
We could do a small poll in the slack channel with the following image:
with sidebar:
or without sidebar:
lastly, we could truncate the following:
with ellipses or leaving away "opened"(or changing date appearance to 23-08-2016 or something) etc we got quite a few options should we arrive at a (small) width that not ideal although I think we are fine if we keep the specifications in the original post.
@dzaporozhets can you elaborate on your comment with the image? Do want the block length to be the same, with just the linewidth shortened also as it wrappes.. say to the length of the red bar at the top?
I think I see what you mean.. let me get back to this later
@dzaporozhets I think this discussions primary focus is the issue/mr page as that one is the most difficult to get right. Lets get that one down, then the rest of them.
I played around with your proposal of bigger font sizes and shorter text blocks and although it seems a good idea, it isnt going to work imo (it will throw the UI out of balance):
I get the point of not wanting to meddle with the UI style to much. However all these views, where Issue/MR are the most important ones, need a different set of rules.. or at least an adjustment based on the old rules.
They are exceptions.
to give a few visuals on how i think it should look:
rules adjustments:
1280px becomes max width
text plus styles take up max 790px
centered but with offset from right sidebar
1440px width screen:
1024px width screen:
I know you are worried about the amount of white space, therefore I am trying to set up a test version of gitlab where such an implementation can be seen..
to see it live is different then to see a live version
I think @dzaporozhets's original idea was something like this, which I think works well, but only for the body of the issue.
If you only restrict the content in the comments it looks like this:
To me, that version of the comments really doesn't work. It feels like it's all over the place and there's no order.
I do like the style for the Merge Request page in the droplet. There can be a lot of whitespace, but the content is much more readable and it's very compact.
I don't like the Issue page because of the full-width lines. I think they should be as wide as the content they delimit.
@dimitrieh I pressed Comment by accident before. I added some thoughts on the droplet pages
Yeah, I wanted to include a screenshot so we could see what it would look like. Making the issue header narrower makes everything fit better together, but I think the long name problem is a real concern. Maybe we can restructure the header to make up for the lost space.
Can you share a login to the droplet in Slack so we can see what it looks like with the buttons? (you can't see them if you're logged out)
Me and @cperessini talked a bit on slack and came to the conclusion that adjusting the fluid container is actually the best option in this case as its the most simple and everything stays balanced.
As making a live version of everything is quite hard, I played around with some of the options:
basically it makes the fluid container 822px long (790 +16px padding + 16px padding), also I in some cases I have centered the column more to the right to make up for space of sidebar, plus changed colors here and there.
best ones
are basically the simplest ones:
really centered column due to it being narrower, so making up for small sidebar.
when sidebar is open, it loses that extra space and just makes the view asymmetrical:
Maybe if we keep everything in the issue description the same except the content and add a border it would work okay.
It seems like the comments is the most tricky section. Perhaps if we shortened the text contentwidth (p, ol, ul, etc) but left everything else the same. I think this is what @dzaporozhets was proposing.
@tauriedavis on what resolution were you testing this?
I still think this is an inferior solution, it looks okey with the image, but without it looks weird. Also the main issue bodytext within the border feels... wrong
With the text block shortened, it is strange as the user is in no way informed that the text can't flow further/longer....
As for the image getting lots of screen real estate.. this is fine if the image fits within the viewport still for its height. if the aspect ratio of the image is for lets say 9:16 it would create less ideal image visuals... in that case not even for the image we would want the container that wide...
I am however for an inline expand button for images and codeblocks, which I did a small mockup for a long time back: https://gitlab.com/gitlab-org/gitlab-ce/issues/18544#note_12666313 . In other words this would give the user the ability to let the image become really big without having to open another tab.
Maybe a combination of @tauriedavis's issue body and @dimitrieh's comment section? That way we have space for a long name in the header and the rest is compact.
What if we introduced a sidebar, so we can introduce the same design hazel proposed for the issue/MR view into that one?
Most important point of this is that the Project Readme, is now around 60% viewport height instead of 30%-40%, makes the projects view more usable imo.
I also propose we get this to frontend so we can implement it and gain feedback quickly. I think we will have a better idea for improvements after spending some time with it in development.
I couldn't review this very long thread but searched and didn't see any consideration of this idea: just use a max-width on <p> elements so all long-form text in any context conforms to readable line-lengths.
@tauriedavis I don't see that in the proposal. I only see containers mentioned, and not the idea of putting CSS directly on <p> or on [some container] p as a possibility…
@tauriedavis no, I meant specifically a max-width. That only needs to be set once, and it will control that limit regardless of containers or responsiveness. I mean, I guess that could be the implementation of the sentence you quoted, but that's not clear. Point is: I was just suggesting an implementation of CSS for consideration (not certain it's the way to go though).
I think the description needs to be updated with first steps and a link to that issue. The sub issues will be tackled after this first iteration - right @dimitrieh? From the current description, it's not clear what the course of action is.
These modifications enforcing to all users the width reduction some parts of Gitlab UI is a really big regression in term of usability. Gitlab is a product for everyday work in computer field, with a lot of information to display. One of the main Gitlab pros point is the ability of the UI to display a lot of information.
Nowdays, most peoples in software development have big wide screens with high resolution, intentionally to display a lot of information in a single sight.
The limited width in Issues is a waste of space (a lot of white unused space, about half of the width here). It's a bit condradictory with recent effort on using empty space, or the foldable issue sidebar (which was a greate feature to gain some space displaying issue content).
I think this really should be a per user option everyone can enable in his user profile, but please don't enforce it.
Hi @orobardet, thanks for your feedback. Can you let us know details with examples in which context you miss information overview since GitLab 8.15?
The latest improvements relate to the issue and merge request views which are mainly text based, and this is only the first iteration. An unlimited content width based on the available viewport never is a good idea for readability, so I am very excited about the UI improvement here. To me, this change respects the readers' cognitive resources for catching up with content.
Considering the importance of this change for user experience, I think it's not a good idea to make this configurable at all.
GitLab doesn't try to artificially hold back complexity where needed, so any use cases are appreciated.
If not, @mydigitalself - we should get this improvement in as soon as we can. When I asked Chris from Codepen to elaborate on what he meant in his podcast about polish, line length was one of the two things he mentioned (https://gitlab.com/gitlab-org/gitlab-ce/issues/28041).
@awhildy my only concern is that the specific proposals all seem to be in a world where the top-level menu navigation is centred and I know there are proposals to move it to the left and how does this work in that world or do we have to change it again very soon?
My second comment is that the proposal has a max-width of 790px, which seems a bit small to me. For reference, GitHub have a 980px primary container, heavily padded to leave 888px for the README content - they also us a larger point size on README (16px) than they use elsewhere (14px).
Also note there's always preference here for full-width, despite its impact on readability.
We have a setting for full width in preferences. Fixed width should remain the default due to the improved readability, but it is easy to switch to full. With a call out being added (https://gitlab.com/gitlab-org/gitlab-ce/issues/27269), people will be more aware of being able to switch to full if they desire
We switched issues to a width of 790px several releases ago. That seems to have worked well, and I'm hesitant to change that up unless we hear more feedback. Having a larger width makes sense with a larger font size -- but it doesn't make sense to a 16px base font for all of GitLab. Happy to discuss if READMEs should be a special case and have a larger base font, though.
If screen size >= 1280px, we limit the width of container to 958px.
If screen size < 1280px, the container still works the way responsive.
Change the length of paragraphs on issue body and comments to 700px.
However, the paragraphs seems to have been pushed to 883px when all the padding and everything taken into consideration:
My intent with finishing this work is that we bring all of the other pages to this same width as issues. @hazelyang@tauriedavis@dimitrieh - Does that make sense? Any concerns with that?
I have no concerns with making everything consistent. I don't have a heavy preference between 700px and 883px for issue body content. I just tested it myself and both appeared just fine, although consider that 883px gives ~130 chars vs ~105 so the former is pretty substantially (~60%) over recommended line length.
Yeah, I think shortening the line length and not the container looks weird. I've improved the markdown styling here which I think will help with readability without further shortening the line length. https://gitlab.com/gitlab-org/gitlab-ce/merge_requests/10350