Use your Mac the way I do: a thought experiment
No one is ever going to invent a Blake’s Life Simulator. Well, probably not. I can imagine some quantum computer of the future that allows you to simulate any person given known details of their life and AI-powered estimations.
Short of that, this blog post will have to suffice. I’m now going to transport you to a place of wonder. A place of limitless creative possibility. A place to hang with friends. A place to work. A place to write. That place is my most important technological possession—my Mac.[1]
One peripheral to rule them all
To start this thought experiment, imagine that you’re only allowed to use one input peripheral with your Mac. That peripheral is the Apple hockey puck mouse. Its groovy, semi-transparent tinted plastic oozes 90s whimsy and transports you to a carefree time of tech optimism that has long since faded. It’s got one glorious button for you to press. Alas, I don’t actually use one of those but it’s a good placeholder for my actual setup because I can only use a mouse and I can only left click.
Now, in a real day-in-the-Mac-life-of-Blake, you would only be able to move your mouse about half an inch in any direction. You’ll need to turn those mouse sensitivity settings all the way up—but even that won’t be good enough. You’ll need SteerMouse or something similar to turn up the sensitivity even further.
But I’m going to let you forgo that limitation to make the thought experiment simpler. Now let’s begin.
Blake mode activated
Here you are, sat at your desk, armed with the hockey puck and ready to get things done on your Mac. You click around and get quite far that way but a point comes when you need to type something. You instinctively go for your keyboard when my omnipresent voice enters the chat Mufasa-style and reminds you that in this thought experiment you don’t have a keyboard. You have but the hockey puck.
What to do? The Mac comes with a tool called the Accessibility Keyboard. It’s an onscreen keyboard that lets you type by clicking keys on the screen—not too different than the one on a phone or tablet.
Scrolling
So you enable the keyboard and now you’ve unlocked a lot of possibility. You pop over to Safari where you can now type a web search! You submit to your intrusive thought that demands to know right now how long it will take Voyager 1 to pass by Proxima Centauri.[2] You’ve discovered a bit of a problem though. You’ve landed on a Wikipedia page, but you don’t know how to scroll down. Your hockey puck doesn’t have a scroll wheel. That’s when you remember that the up and down arrow keys can scroll a webpage.
This works but is mildly annoying at times. Fortunately, there is an option in macOS’ Appearance settings to always make scrollbars visible.[3] With this setting enabled, the scrollbar on the page is visible and you can scroll by interacting with it (dragging it or clicking on the track).
You don’t love it, but it works. Until it doesn’t. Turns out quite a few native apps seem to ignore this setting altogether and hide scrollbars from you. You’re left to find weird hacks—turns out resizing the window can trigger scrollbars to appear in some cases—or use further assistive technologies to get by.[4]
Right-clicking
You do the best you can. Some apps work great; others you give up on. You find that web apps are often better than native ones when it comes to predictable UI behavior.[5]
The one-button mouse is nice and minimal but you eventually get to a point where you need to right-click something. What now? Longtime Mac users will probably know the answer to this one—Control+Click in macOS will act as a right-click in most cases and summon the context menu.
Fortunately, the Accessibility Keyboard is aware of the need to press modifier keys. Clicking the Control key puts it in an active state—this is the same thing as if you tap Shift on your iPhone’s keyboard. You can then click on whatever your target is and macOS will execute a Control+Click action. This “sticky” behavior works for all the modifier keys.
Typing
Thanks to the Accessibility Keyboard you are able to type, but you quickly discover that the standard QWERTY keyboard is not fun to point and click on. You spend a lot of time jumping around the keyboard as you peck out letters one-by-one. The typing suggestions toolbar helps a lot with this. Often times, typing the first two or three letters is enough to get the right suggestion, which you can click on to type out the rest of the word—just like on your iPhone.
You’ve heard of people changing their keyboard layouts and you remember one called Dvorak that people seem to nerd out about. You decide to investigate and you come across the Chubon keyboard layout, which seems to be optimized for your very situation—it places common letters toward a center grouping where they’re easy to click with less pointer travel.
The Accessibility Keyboard allows you to have multiple “panels” which you can switch to as needed. The QWERTY keyboard is one such panel. The built-in Panel Editor gives you the ability to edit the panel or create new ones. This means you can create your very own keyboard layout! The Panel Editor is powerful. You can add not only the basic keys but also buttons which execute key combos, invoke system actions, input strings of text, and more.
You build yourself an optimized keyboard panel with all sorts of fancy buttons for copying, pasting, invoking app shortcuts, and more.
Apps that help
Built-in macOS tools have taken you a long way but you discover you can save time and make your life easier with a variety of third-party apps and browser extensions. Most of these are well-known productivity tools, and as much as they might help the average user,[6] they help you even more.
Tools like TextExpander and Alfred help reduce the amount of typing needed, which is an ongoing pursuit of yours. Typing is tedious, as we’ve learned, and any shortcut or way to avoid it is preferable. 1Password auto-fill is a must (and its handling of passkeys eliminates all typing involved in authentication).
Note-taking apps like Bear that use Markdown for formatting are great because you can avoid using keyboard shortcuts or UI controls for formatting—and you added dedicated punctuation buttons to your keyboard so that you don’t need to press Shift to access characters like the asterisk or underscore.
The browser extension ScrollAnywhere lets you click and drag on webpages to scroll them—much like you would on a mobile touchscreen.
Speech to text and AI
You don’t always feel like using your voice to control your Mac, but when you do, you have found the ultimate tool for doing it called Talon.[7] Talon takes a bit of technical know-how and has a learning curve, but investing in learning it is worth it because it gives you powerful ways to not only write prose, but also—and possibly more importantly—write code. Your mind is blown when you start to see what’s possible in Visual Studio Code with the Cursorless extension.
Since Talon gives you the ability to verbalize keypresses, your mouse pointer is freed from typing duty. This is important for being able to play games that require camera control via the mouse.
And when it comes to code, you find that the AI tool Tabnine is useful for autocompleting lines of code—this saves you tons of time as it eliminates many keystrokes.
If it doesn’t exist, build it
You’re really cooking with grease now! Sometimes there’s an app or a feature you need that doesn’t exist. Fortunately, you’re well-versed in web-based programming and that gives you the ability to build your own home-cooked apps and tools.
You may or may not sometimes build completely unnecessary tools just for the fun of it.
Thank you for taking this journey with me
You’ve come a long way. You started with nothing more than a one-button mouse. But from there you expanded the capabilities of that humble device, giving yourself keyboard access, shortcuts and macros, assistive tech tools, and powerful voice input capability.
This concludes the thought experiment. You are transported back into your normal state, feeling refreshed and just a bit more appreciative of technology than you were before.
If you’ve read (or skimmed) this far, I appreciate it. I take for granted that I’m using such a customized setup. I just wanted to put it out into the world. I’d love for software developers to consider edge-cases like mine when they build their wares. Challenge assumptions. Be flexible. As a web developer, I also need to do this in my own work. It’s an ongoing personal struggle that I’m trying to improve at. It’s easy to assume, and it’s challenging to progressively enhance. But we need to do the work so that the things we build benefit everyone.
And this coming from someone who uses a highly customized power wheelchair. ↩︎
Ok turns out it’s not even headed that direction. If it were, it would take about 70k years to get there. It is moving at about 17km per second, which is mind boggling to even think about. Even at that speed it would take about six hours for it to travel the distance between the earth and the moon. The scale of the universe breaks my brain but I can’t get enough of it. ↩︎
Technically this setting would be set to the Automatically based on mouse or trackpad option. Since your mouse, the hockey puck, doesn’t have a scroll wheel, the system would automatically show scrollbars. I have purposely overlooked this fact for simplicity. Unfortunately, many native apps and an alarming number of websites take a heavy-handed approach to scrollbars which hides them regardless of the system setting. ↩︎
I did recently discover a way to access a scroll-on-hover control as part of Accessibility Keyboard’s dwell feature, which allows you to perform certain actions after leaving the mouse pointer at rest for a specified amount of time. ↩︎
I love Mac-assed Mac apps but even those seem to have unpredictable scrollbar behavior or interaction with the Accessibility Keyboard. ↩︎
Just remember that the average user doesn’t exist. Everyone is edge case in some way or other. ↩︎
macOS also has built-in Voice Control but it doesn’t work well for programming. Talon, on the other hand, excels at producing code and is infinitely configurable (mostly by writing Python). I do use Voice Control for iOS and it works well enough for my purposes. ↩︎