Scrolling is hard. I can’t quite use the scroll wheel on my mouse1 so my options for scrolling are either the keyboard (arrow keys or page up/down) or clicking and dragging the scroll bar.2 Dragging the scroll bar is a tedious way to scroll (but I’m glad it’s an option—app developers, please stop killing scroll bars in your apps). Try it for the next few minutes if you dare and you will see what I mean. This method of scrolling gets unwieldy if the page or app is using infinite scroll.3
But a few months ago my brother introduced me to a cool browser extension, ScrollAnywhere. This extension has a lot of options but I like to configure it where clicking and dragging a webpage scrolls similar to how mobile devices work—with inertia and everything. You can disable this behavior when clicking and dragging over text, which means you can still select text normally. Scrolling this way feels natural and is far less tedious than grabbing the scrollbar.
I wanted the same ability in my own browser extension, A Fine Start, which is an addon that replaces your browser’s new-tab page. But the way browser extensions are isolated from each other means that ScrollAnywhere can’t interact with A Fine Start’s new-tab page. So I ended up implementing my own, somewhat hacky, drag scroll functionality and added it as a secret setting.4
But this whole thing got me to thinking about how cool it is that users can so easily customize webpages and web apps. It’s something you can’t really do with native desktop and mobile apps. Native apps are only as customizable as the app developer allows. But webpages are rendered based on the wants of the developer and the user. Indeed part of the challenge of web design is designing with flexibility, knowing that you can’t guarantee the page will appear how you envision it. There are variables that change depending on the user and their device—screen size, text size, contrast, color, and more.
Imagine if your whole computer was as customizable as a webpage. Linux users have been shouting this for years. But still, you have to be fairly technologically proficient to customize your OS. And customizing individual apps is even more difficult—unless an app has a plugin architecture of some sort you would need to modify the source code and build your own executable. Customizing web pages via browser extensions is something the average person can do easily.
Web apps sometimes face (valid) criticism for being slower or clunkier than their native app counterparts, but a web app’s super power is the ability to customize it without needing any support from the app developer. That gives web app users some control that native app users don’t have. Let me give you an example.
I’ve trying to get back into RSS for the first time since Google killed its Reader app. I downloaded the venerable NetNewsWire, the native RSS reader for Mac. NetNewsWire is able to connect to Feedbin, which is a web app that you can use to store all your RSS subs in a central location (I have two Macs so this is helpful to me). But for the same reasons I mentioned previously, scrolling is a little cumbersome for me and that combined with some compatibility issues between NetNewsWire and the macOS Accessibility Keyboard meant that scrolling articles in NetNewsWire was tedious.
But Feedbin is an RSS reader in its own right—it doesn’t require a native client to access it. And because Feedbin is a web app, it’s customizable by browser extensions. That means I can use ScrollAnywhere just like on any other webpage.
My browser extension, A Fine Start, began as an accessibility tool of sorts that I created for myself to reduce the amount of typing needed to surf the web.5 As apps go, web browsers are among the most customizable I can think of.
Here are a few extensions I use that make the web more usable for me:
- ScrollAnywhere, as I mentioned.
- Stylus, an extension for adding users styles. I use this for my own custom CSS but it’s possible to browse/add public styles from others so knowing how to write CSS isn’t required. And if you’re really just wanting dark mode everywhere you could try something like the popular Dark Reader.
- 1Password, a password manager that autofills login forms. You can substitute your favorite password manager here but the point is this saves me a ton of typing by logging me into websites.
- Ad blockers. You know what, I’m calling these accessibility tools as well. It’s perhaps a stretch but on some sites with visually loud, distracting ads an ad blocker is almost necessary to read the content of the page. I use and recommend both uBlock Origin and DuckDuckGo Privacy Essentials.
I have a habit of conflating accessibility tools with productivity tools—look no further than my assistive tech gear page—but when you are as disabled as I am they are one and the same.
Accessibility is going to mean different things to different people. I’m not saying web apps are universally more accessible than native ones. Depending on the situation, native apps can be a lot more accessible. That said, the user-customizability of web apps (and websites) is a powerful boon to accessibility and can mean the difference between being able to use an app or not.
- I kind of can but it’s difficult so I only do it as a last resort. ↩
- Scrollbars usually have a behavior that allows you to click inside the scroll track to move up or down one viewport—essentially the same behavior as Page Up/Down. Something that annoys me about both of those is that they move exactly one whole viewport. That makes reading jarring because it’s easy to lose your place. I wish this was configurable at the OS level such that paging up or down would move half or 75% of a viewport instead of a whole one. Linux peeps can let me know if this is something I am missing out on by sticking with macOS. 🙂 ↩
- In my opinion, infinite scroll is a dark pattern. One of its most popular uses is keeping users hooked in the dopamine slot machine of the social media news feed. Not to mention it makes getting at footer links nearly impossible. ↩
- The drag scroll feature is hidden because it was intended for only me and my brother. As such it’s experimental and doesn’t meet my standard of quality for being widely available (it’s also kind of random). But if you want to use it—at your own risk—you may find the secret settings by clicking the Settings button and then holding the mouse button down on the heading, Settings, for five seconds, after which the secret settings will appear. ↩
- Do people still use the phrase, surf the web? ↩