I am of the opinion that you should not mess with my scrollbars. I like them to be visible and wide, because (a) I like to know a page's length and my current progress, and (b) I'm a bit blind and I don't want to hunt for an 'unobtrusive' scrollbar.
There are options at the system level, I find it great that most browsers follow them and sites cannot willy-nilly change them without my consent.
I like macOS/iOS's hidden scrollbars personally, but I agree with you about not wanting pages to be able to override scrollbar behavior in any manner. The way my scrollbars work is perfectly fine and, more importantly, predictable, and I don't need web pages changing that on their creators' masturbatory whims.
Too bad Google once again leads the way of being a prominent example of a bad idea with its custom scroll bars on many of its properties.
I used to like MacOS's subtler than Windows approach to scrollbars, but they became too subtle. They were lovely in Snow Leopard: Gently aqua coloured, arrows, large enough for middle aged (or overworked, and in a hurry) eyes. Obvious.
Then they went to Lion and ruined them: grey and almost invisible by design. Magical mystery popping into existence when you hover where it ought to be. Probably. I think this is when they inverted the magic mouse scroll behaviour to pretend like your iMac was an iPhone.
I've had the setting flipped to always show them since they added that nonsense. It looks a bit more subtle, and isn't brightly colored, but it serves the important role of showing at a glance how long the page is.
The backwards scrolling is way more obnoxious though, and I rage every time I use someone else's Mac or do a fresh install.
Aye, me too. Though I prefer when they were a little more obvious - now they're a background visual indicator, and essentially deprecated as a control, for being too narrow.
Most of the times I encounter backward scrolling on someone else's Mac, it's only there because they never realised Settings let you invert it to sane and useful!
The “backward” scrolling (a better name might be “content scrolling” as compared to “window scrolling”) was changed because the “forward” way does not work for scrolling content on a multi-touch display. If the content moves in the opposite direction from the finger, it completely breaks the illusion that the fingers are directly controlling the content.
People switching back and forth between Macs and iPhones or iPads initially found it very inconvenient/frustrating to have window scrolling on a touchpad and content scrolling on a touchscreen.
It was decided that switching the Mac to be consistent with iOS would cause momentary frustration for Mac users (it requires a few days of retraining to get used to) but would be less frustrating for most users than preserving two inconsistent behaviors into perpetuity.
The option to keep the Mac on window scrolling was included to mollify those few Mac users unwilling to spend a few days or weeks re-training themselves to a reversed gesture.
The problem is that my mental model for scrolling on a touchpad is different than scrolling on a phone/tablet. My finger isn't touching the content, it's touching a scroll device. It never stops feeling backwards to use a touchpad and have the scroll go backwards.
On a macbook with a big touchpad it sure as heck feels like touching the content. Esp. with fluid gestures (not abrupt like windows) and pinching it feels very physical. And then flicking with two fingers and the inertia of the page that keeps on scrolling because you pushed it very hard feels satisfying. On windows it just feels fake.
Anecdotally, several people I have talked to about this had no problem with the new behavior (after a relatively short re-training time), but did find switching between touchcreens and touchpads with opposite behaviors frustrating.
If you do have a problem, then you can switch it in System Preferences. Everyone wins.
The biggest problem, in my opinion, is that there appear to be two settings, one for trackpad, and one for a mouse scrollwheel. You can find them in different locations. They change the same value, though. You can't have natural trackpad scrolling and "pull the wheel towards you to scroll down" scrolling at the same time without a 3rd-party application.
> they inverted the magic mouse scroll behaviour to pretend like your iMac was an iPhone.
These are UI/UX conventions. Everything is "pretend".
For example, users whose mental model of scrolling tracks the viewport will want to scroll up to move the content down. The viewport goes in the opposite direction of the content.
Fair enough.
However such users don't seem to want the same for horizontal scrolling. Tracking the viewport left moves the content to the right and vice versa. But horizontal scrolling in macOS always tracks the content regardless of the setting in System Preferences > Trakcpad > Scroll direction: Natural.
The exception (turning it off for "inverted" scrolling or "viewport tracking") is only for vertical scrolling, not horizontal, which suggests the mental model can be adapted though users who prefer viewport tracking report they cannot adjust.
Sure, perhaps if I had known nothing else... Except it's not a convention any other platform ever followed.
Of the few people I've bumped into who had it set to natural, and had for some considerable time, well even those were happy to learn it could be changed, and didn't want to go back. So there's probably something makes it feel odd, and stay feeling odd, for many. What I couldn't say, but not just restricted to those who spent time on other platforms too, like me. Of people whose machines I get to use from time to time at work, they're all set to unnatural too. We're nearly all iPhone users. So it's not just me being odd and rare edge case. :)
Personally, I don't want the same mental model between phone and desktop, as the metaphors are different. UI should look different, act different, suited to using each device. The Win 8 on, Lion on desire to make my laptop "feel" more like a mobile, continues to feel like a huge mistake.
I agree with this, so based on the article I think that browsers should respect the Windows setting since it's an expression of the user's preferences. Other than that, I have a strong preference that webpages don't try to style the scrollbar (with exceptions when it really makes sense).
One site I've thought it made sense was in Discord, which acts as a properly themed web app and where the clash of certain native scrollbars would be jarring (eg: bright scrollbars on a dark theme). That said the scroll bar it uses for the user list is microscopic compared to the one used for the message log, which is a baffling decision.
For every other regular site, and even most web apps, I always prefer native, for Windows.
Well, no problem in making all those styling rules opt-in. When it really makes sense, you can choose to use the author's UI. Apply that for colors too.
Applications should respect the DE settings for UI. Browsers are the main culprits here, but only because CAD software isn't widely used. Oh, and there's MS Office, that will respect absolutely nothing. All of those are in the wrong. But everywhere the DE is powerless to enforce its style onto applications, so this is a much harder problem to fix;
Personally I think the main page's scrollbar should be handled by the OS. For any element inside the page, I think it's ok for the site to handle how the scroll works to make it consistent with the page's design.
I have some dev tools that do infinite scrolling and I wish I had the authors here to tell them how fucking stupid I think they are.
If the page is long enough for infinite scrolling, I'm probably going to have a slightly error-prone recollection of the exact string of text I'm looking for. Taking search away from me makes this worse.
There's a bit of psychology that says when someone is experiencing a strong emotion, good or bad, they will associate it with a person nearby, whether they deserve it or not. This has applications from espionage to team building to crisis management.
One of the wrinkles of this is that if someone is already or almost experiencing a strong emotion and you add to it in any way, you've made yourself a target.
One of the things I tell mentees about code and test quality (especially the latter) is that in the grand scheme of things, nobody (read: a tiny fraction) is going to look at your code for fun. They're going to look at it because something bad happened, near it or in it.
Assume the person reading your code is already having a bad day. Don't make it worse. Especially if it ends up having nothing to do with you.
The infinite scroll bozos, at least in the scope of productivity tools, are making my not-great day worse. The ones that 'fix' this by hijacking CTRL-F and do their own half-assed implementation of search are just doubling down. If you're going to listen on CTRL-F, maybe force-update the entire list instead?
Atlassian for one. Their old code viewer was a disaster but that might have been Bitbucket’s fault. The repository list lazy loads, and if you’re at a big enough company the repositories get into multiple projects and it’s always disorganized. Which project is this repo in again? Time to hunt around and oh yeah CTRL-F doesn’t work unless you remember to scroll to the bottom repeatedly.
Most of the time the scrollbar is so damn narrow that sometimes I am having troubles positioning my cursor on it, seriously! It is hidden by default, AND narrow. I have difficulties making it appear and use it for scrolling. I move my cursor by one pixel, and it disappears again, sometimes I have to fsck around with it for way too long.
Yeah, the unobtrusive scrollbars make sense only if you're using a multitouch touchpad or Apple's mouse — as soon as I have to use e.g. some office's basic mouse, chasing those unobtrusive becomes a major pain, to the point I wish Macs would switch to traditional scrollbars if I connect a "plain" mouse. Not that it matters: modern websites tend to completely break scrollbars.
I completely agree. I'm questioning whether I'm curmudgeon for feeling this way, but the only time I notice scrolling customizations is when they mess up scrolling--which is surprisingly often and also seems intentional most of the time.
I understand the motivation for controlling the experience, but I really think designers are undervaluing consistency. It feels like the car I drive every day acts different on one road. Sure, there's a very tiny chance it's an improvement if a lot of time and thought has been invested, but in all likelihood it's just very jarring.
The core problem, as I see it, is of someone else deciding that "unobtrusive" scrollbars are better.
On a mac, to actually grab the scroller for scrubbing, you need to scroll a bit to make it visible and then manage to bring your cursor into a tiny area using the trackpad within a few seconds before the scroller disappears. If you miss, clicking activates window resizing.
UIs need to be functional first. Being pretty should never trump being functional.
I mean, if I write an app and hide a "dysfunctional prettiness [Y/n]" configuration somewhere in settings, is that a good thing?
I'd argue there are at least two better options that are trivial to implement, and surely more if one cares to do UX due diligence when trying some novel design.
With Mac they can generally influence the scrolling interface by making one of the best trackpads and magic mice standard, where scrolling is a critical part and not an afterthought, plus lots of visuals showing how to scroll with it.
You really don’t need to click and drag the scrollbar very often if at all. Especially for page scrolling which the article explained - it’s more important for overflowed objects, especially horizontal ones. And if you need to scroll there’s no guarantee that having 25px control design vs 50px (guessing) like windows would help, the click area tends to be a wide as the bar part not the control.
I'd argue there are at least two better options...
Wasn't your original complaint that someone decided what was "better"? Or are you complaining that they didn't take your choice? Point being that someone that decided otherwise thought they had a good reason for their decision, too. In this case, it could be argued that trackpads reduce the need for the scrollbars. (I have no idea what the real argument for such UI behavior is.)
I'm talking in generalities. The status quo used to be "scrollbars are visible things". If you're going to change the status quo, it behooves avoiding a dark pattern (like e.g. privacy settings turned off by default). The two better options for UX changes (generally) are to leave it alone, or to create a configuration that defaults to the old way of doing things. You probably heard again and again of some random company doing some major redesign with good intentions and ending up pissing off users.
In my experience, the backdrop in many of those cases is that UX changes get rolled out because people need to justify their jobs or they think X is prettier/popular. You don't hear nearly as much about people doing UX research as you do of people cranking out React things, and it would be extremely benevolent to assume developers do in fact do expensive, time consuming UX sessions w/ users.
If we talk specifically about scrollbars, maybe a good litmus test is this:
- if the default was no scrollbar whatsoever, would that be a problem for you?
- if the default was a read-only scrollbar (e.g. it merely reports whereabouts in the page you are, but does not respond to mouse events), would that be a problem for you?
If the answer to either of those is "no", you probably aren't actually using it. They could conceivably be configurations too, but why?
Consider this hypothetical parallel: why not hide the "Help" menu item in apps? Personally, I don't use it and it would clean up the UI, so it must be fine, right? Well, not necessarily. Because if you bother to do UX sessions w/ users, you may find that people looking to use that specific feature will have expectations about where it should be.
People changed their interaction after mice and trackpads started to universally include a built-in scroll wheel / scroll gesture.
In 1990, everyone scrolled up or down by clicking little buttons at the ends (or at one end) of the scrollbar, or by dragging the scrollbar up and down. By 2019, these buttons are unnecessary and have been removed, and the main purpose of the scrollbar is to passively report the position in the page. Dragging it up and down still works, but few people bother.
I did not know this, but I am apparently one of those few people who use a scrollbar to point to a location where I need to be. Either in source code, manuals, even on some vendors web pages I know the tech specs and the link to the datasheet is 2/3 of the page so I drag or click the scrollbar. In documents, or on webpage I have a mental image of where the scrollbar was when I read it, like page numbers in a book and I use it a lot. And no this is not substituted by scrolling with a mouse wheel or heaven forbid a track-pad. If I know I need to find something at 'M' I do not want to go through all the stacks starting at 'A'. Just saying we have been organizing content for a lot longer than the UX people telling us what we do not need.
Scrollbars are a tool and they should be functional: visible, properly sized and interactive. It helps if a scrollbar looks and functions the same on all our content, because it takes less mental strain to use.
It may be that you don't like scrollbars for your content. The obvious solution is to make your content fit so it does not require scrollbars. If you cannot manage that you will have to live with the fact that scrollbars are there as a functional tool and make sure it is kept functional.
In analogy: If I sell furniture you have to self assemble I can choose to design it to not require tools. If it does require tools I should make sure people can actually use those tools to assemble and not try to hide that tools should be used by pretending the thing to put nails in is not a hammer.
I have almost forgotten that it’s even an option to click and drag! On my trackpad I use two-finger scroll, and my scroll-shell mouse can handle horizontal scroll just fine.
But honestly even then it’s not common for me to run into those. I’m a keyboard user, so the thing I get persnickety over is whether or not you got your focus order right, if you steal keyboard focus senselessly, or if you made a UI that only responds to mouse clicks.
Being pretty helps the first impression in an Apple store, and for first few days.
When a user realizes that a scrollbar may be a useful feature, but it's somehow hard to obtain, it's too late to complain, and the Stockholm syndrome kicks in.
> On a mac, to actually grab the scroller for scrubbing, you need to scroll a bit to make it visible and then manage to bring your cursor into a tiny area using the trackpad
This complaint looks disingenuous to me. If you're using a trackpad, you already have scrolling built in and the scrollbar is there primarily for visual feedback.
The reason that scrollbars can now be invisible by default is exactly _because_ of the ubiquity of touchpads and mice with built-in scrolling.
Scrolling yes, but not scrubbing. The latter is a feature that people use for navigating very large pages (e.g. I may remember the rough location of some section of some programming language spec that I'm looking to consult, but the spec is 500 pages long)
> This complaint looks disingenuous to me. If you're using a trackpad, you already have scrolling built in and the scrollbar is there primarily for visual feedback.
For short scrolling, that's fine. For long documents, you're sitting there flailing.
You can say it's disingenuous, but I used to hit that issue fairly regularly. I've seen that complaint more than once, so I assume a large subset of users did as well. Habits built over years won't vanish just because you add a track pad.
It now widens when you move the cursor near it, so they have mitigated the issue.
Sure, it's the dev's website. But the browser is my user agent, not your developer agent. It is fundamental to the purpose of a web browser that it should prioritize the wishes of the end user over those of the server.
This is exactly what's going to happen. If the site's owner for some reason looked for my business — well, the developer's priorities were different, tough luck!
Ooh, that's a bit much. The website dev is pushing their side.
No user of the site is forcing anything onto any other user of the site.
Perhaps we can have an HTTP header or something that says to the site, please don't mess with browser behaviour. Omit that and the site has got implicit permission.
The website dev is generally the one paying for and providing the website... Why is it you expect the provider to bend to the whims of the user? The user doesn't need to use the website.
That's like saying Crest should make orange toothpaste because you don't like the color. Don't buy their non-orange toothpaste.
I know, I read it. But it doesn't work like it says it does. I have Firefox with Windows 10, and the final result ('only styles obtrusive scrollbars') is way too unobtrusive for my tastes.
It sorts of look like the Windows 10 scrollbars, but is 1/5th or one quarter the size of a regular scrollbar, and is hidden among the background of the page. Not what I prefer, and what I set up in my OS settings.
Multiple scrollable areas in a window is pretty annoying in my experience. Depending on what you last clicked on and where your cursor is can result in different areas being scrolled.
That just depends on the implementation. I can think of plenty use cases for online applications which need multiple scrollbars. Sometimes you can't fit every element in one view.
I don't see how that kind of SPA is any different than a heavy pro app. Those apps often come up with their own UI scheme that people either love or hate (and usually completely ignores system preferences). A few common examples (I specifically chose Apple to illustrate) are Aperture, Logic Pro, Final Cut Pro.
You're already buying into the whole app and there's good reason to not like the design decisions they made. I also think many companies overvalue the need for it.
That's completely irrelevant. I can't imagine how ugly Blender or Photoshop's UI would become if they used my stock system scrollbars. What you're arguing over is merely a matter of preference. Some people can do it right, and pointing at the wrong examples is pointless.
But that's my point. It has a place in a very, very narrow number of applications. For those it's an all-in decision where the UI significantly changes and it's ignoring your operating system.
Photoshop for most of its history used the OS' UI paradigms. Only in the past decade or so has it adopted its own. I'm pretty sure it used the OS' scroll bars at least until CS5 around 2010.
Are you suggesting you would rather these UIs devote an unknown amount of screen real estate to various bulky OS scrollbars? That makes concise and predictable design for complex applications very difficult.
This "very, very narrow" number of applications you are suggesting is exactly what I was talking about. Those are the ones who need custom scrollbar solutions, and the way to get that done now is obtuse, brittle and hard to maintain.
> Are you suggesting you would rather these UIs devote an unknown amount of screen real estate to various bulky OS scrollbars? That makes concise and predictable design for complex applications very difficult.
In all likelihood, I probably would. I chose my OS and one reason was those conventions. Especially on the web, developers seem to make very poor decisions on when to override things like scrolling. It's reasonable if, like you said, the UI is very complex and if I'm going to spend hours using it. In practice, they mess up conventions on a single scrolling page I'm spending 2 minutes on and it's usually a clue to avoid that site in the future.
> Those are the ones who need custom scrollbar solutions, and the way to get that done now is obtuse, brittle and hard to maintain.
That /has/ to be expected if you're stomping on the conventions. If you're changing the scrollbar, you're likely significantly changing the whole UI.
> It's reasonable if, like you said, the UI is very complex and if I'm going to spend hours using it. In practice, they mess up conventions on a single scrolling page I'm spending 2 minutes on and it's usually a clue to avoid that site in the future.
Scrolljacking and replacing the scrollbar are two very different things. And the problem is that there isn't a streamlined, consistent way to replace the scrollbar, so it's always a hacky mess.
There are options at the system level, I find it great that most browsers follow them and sites cannot willy-nilly change them without my consent.