I don't mean to pick on Dev. I like Dev.
I'm a lurker and I've only written one post on here before, but trust me, we're best friends.
But this article is hard to read. As someone who primarily reads, you can see how this could be a problem for our continuing friendship.
Computers are rectangles we tricked into thinking
When designing articles to be read on the interwebs, we run into a fundamental problem with computers. Our screens are rectangles. Our laptop screens in particular, are rectangles that got turned the wrong way.
We can't all be that dude in the office with a vertical monitor for important code reasons.
Part of designing a website is figuring out which way you want your rectangle to rotate. The easiest way to figure this out is to ask what orientation someone on a phone would use.
If someone really went through the trouble of turning off their rotation lock on their phone so your website could be horizontal, then you probably can get away with a horizontally focused websites.
Youtube gets to be a horizontal site, but Github needs to be vertical. That's because Github's primary purpose is to read.
Dev is in dire need of a Childish Gambino flip-the-phone moment.
Did you get all the way down to this?
If you did, it's because your mental model knows that the content on Dev is organized from top to bottom. It's your job as the reader to scroll down and find the rest.
But the orientation of our desktop screens mean we've got wide peripheral vision, but no depth of vision. As designers, we need to make up for that weakness by removing any other blockers on the up-to-down visual highway.
Anything that's in between the bookmarks on my browser and my unused Macbook touch bar that's not β¨the contentβ¨ needs to go.
So that search bar up there?
Yeah. That needs to stop following you.
.top-bar {
position: absolute
}
You know how to search. You saw the search bar when you walked in the door! You're not gonna lose it right?
Dev it's okay. They're not gonna lose the search bar.
Okay then where does the top right info go?
That "Write a Post" button and the rest? That's pretty easy.
Put it in the .primary-sticky-nav
. It can still follow the user around, so you're never more than one click away from posting about date.Now()
's new CSS in JS solution.
And that bottom action bar thingie?
I think you know.
At the very least, it shouldn't be in the main reading vertical highway. If we have to have it follow us, put it on the side. Medium does this just fine.
Otherwise, we should put it at the bottom of the article with the rest of the actions and maybe move it up a few rows in the html order.
.article-actions {
position: absolute;
}
but why π¬
Dev.to shouldn't be some random internet website. It's got the potential to be a great resource, to generate interesting articles, and to inspire a whole generation of programmers.
But at the moment, Dev is shunning readers and that makes it hard for us to stay best friends.
Top comments (25)
This was a really great read. Will take this all into account.
Like the way how Ben is always the first to comment on the LEGENDARY posts of DEV. :-D
I spend a lot of time here π
I'd like to be able to collapse comment threads. I keep thinking the little chevron will do that, but it doesn't.
THIS. The chevron is a perfect example of I should know what it does in here by now but I never do and try to collapse with it every. time.
I agree - this is a perfect example of a potential UI improvement.
Both sticky navbar and the reaction bar make it almost impossible to use spacebar for scrolling. :(
The sad part is than is it fixed by using flexbox instead of absolute positioning...
Shift+space to move in the other direction too.
I knew about the spacebar, but this changes everything. π€―
Here's a weird idea...what if we were to make use of a vertical toolbar that forever lived on, say, the left side of the screen on "desktop" resolutions? We have more horizontal real estate than vertical.
I do like some things "following me around", because I don't want to have to scroll up to the top after every article, much less "roughly halfway but not quite almost though" to find the reaction buttons. Yeah, I know we have the
Home
button, but I'm lazy (we'll call THAT what it is!)But maybe if all those actually useful things, plus a "back to top" button, lived on a handy left-side vertical toolbar, it'd work better?
Neither had floating toolbars for the first 20-30 years of the internet.
Wow, never knew about it before.
Yes, it's standard browser behavior which has been around for ages :)
Great article and to be honest even my mobile browser ruins my experience. Look how much screen I lose...
thepracticaldev.s3.amazonaws.com/i...
thepracticaldev.s3.amazonaws.com/i...
all three of the items(search, top right info and action bar) should just migrate over to the side when scrolled. though, the action bar would be fine at the very bottom of the articles.
a dark mode is equally important.
Great article and I'd go farther, almost nothing should stick in place when I scroll the page, it should all scroll together.
The search bar and the buttons with it shouldn't stick to my screen when I scroll, it's basically acting like a piece of tape over my screen hiding content I actually want to see.
Those feed panels on the right side shouldn't stick in place either, as that just forces me to scroll alllllll the way to the bottom of the article, past both the content and the comments, to actually read the "More from Author" list of articles.
While being the only cadidate for good use of absolute positioning, the left side button panel still causes problems. When I click the ... more buttons button, the bottom of the tooltip is lost off the screen. If the panel wasn't absolutely positioned, I'd simply scroll the ... near the top of my screen so the whole tooltip has room. However, the design choice of fancy over practical denies me that option.
By a quirk of sizing and spacing and the amount of text in the footer, if I scroll to the very bottom of the page, past content and comments, the ... moves up just enough that I can see the Report Abuse link. If there was less text in the footer or one more Share to button, there would be no way for me to see the Report Abuse option. While this is obviously a bug with tooltips, it wouldn't actually be a problem if the left panel wasn't stuck in place.
So there we have three examples of absolutely positioned elements and all of them cause problems while not providing any real benefits beyond aesthetics.
I don't know if absolute positioning rises to the level of needing to be Considered Harmful, but it's definitely a foot gun that many webdevs seem to love firing at themselves.
Absolute positioning: just don't do it.