Historically, Apple is pretty good about choosing interfaces for their devices. They were pretty early on in being bullish on mice for navigating GUIs (albeit with a steadfast hatred of multiple buttons) and they came up with a unique paradigm to make the iPod a one-handed device. Most famously, their choices around multitouch gestures for iOS have come to define touchscreen interactions for more than a decade. When Apple makes interface decisions, there’s a track record of success.
The jury is still out if the “digital crown” will carry a similar impact on wearables. But it seems fair to say their attempt at a more reasonable touch interface for laptops hasn’t gone well. I am of course speaking of the Touch Bar.
Even as touch screens have become fairly standard in the Windows world, Apple has purposely resisted the tide for at least the past eight years. With the introduction of the redesigned MacBook Air in 2010, Steve Jobs said a laptop touch screen is “ergonomically terrible.” This may be a bit of exaggeration, but it’s not ideal on a typical laptop some of the time. Personally I think Apple just doesn’t want fingerprints smudging up their pretty displays.
Microsoft’s response to this was to create a line of devices that were “lapable” tablets. The Surface tablets have adjustable hinges and detachable keyboards to make the touch experience more native. For Apple, the answer was the Touch Bar. This is by definition a compromise on the idea of touch interaction. It’s no wonder it doesn’t work all that well.
Apple further exacerbated this by making it an extremely limited interface. Imagine if they included the scroll wheel on only one generation of iPod. Sure they iterated on it, but outside of the Shuffle, the traditional iPod’s all shared that interaction design. Apple limits the Touch Bar to a subset of a single line of computers, the MacBook Pro. Low-end MBPs, MacBooks, MacBook Airs, iMacs and Mac Pros have no access to the interface, not even via an accessory. The MBP may be the most popular computer Apple sells right now (although I don’t even know if that’s true or to what degree), but how can you expect developers to invest time and effort into adding interface features a large number of users have no access to? It’s baffling.
The Problems
I have a MacBook Pro with Touch Bar (even the name is bad) for work. Overall the machine is… fine. If I used it on the road more, I might take issue with the battery life or keyboard. But to be honest, I used it docked with a monitor and external keyboard 95% of the time.
I’ve tried to love the Touch Bar. I think the idea of having application specific buttons still has a lot of potential. But there are substantial issues with this implementation:
- The Touch Bar is numb to web apps – While most major browsers have some basic Touch Bar functionality, web apps have no hooks into it. I spend 90% of my time in a browser. Not having Google Docs or WordPress specific Touch Bar functionality feels so limiting.
- Support is Laughably Incomplete – Of the apps I use every day, about half greet me with a blank Touch Bar. Big names like Slack, Tweetbot, and Firefox are dead to the interface. As expected Apple apps are fairly well sorted. Microsoft Office is actually one of the better implemented. But even where support does exist, most only offer graphical replacements for keyboard shortcuts. It’s particularly galling to see a paste widget as the first Touch Bar option.
- Very Limited Versatility – Big surprise, Apple really limits how they want you to use the Touch Bar. You can rearrange the settings buttons in setting, and very few apps let you change up what it can do. Airmail is probably the best example of this, letting you deeply customize how the Touch Bar interacts with your inbox. But it serves to only further frustrate how rare this is.
Salvation
BetterTouchTool offers a way to answer a lot of the Touch Bar’s most glaring deficiencies. This isn’t its only function, it’s actually a full on suite that let’s you customize virtually any interface on a Mac: mouse, keyboard, trackpad, even the Apple TV Siri remote. It also includes an excellent window snapping feature, which is almost worth the price of admission on its own.
Touch Bar support is relatively recent, but it’s great. The software comes stocked with a few default widgets. My favorite is the emoji selector, which can always keep your favorite little graphical companions at your fingertips regardless of application. It also includes date/time, battery level, app switcher, and Apple Script trigger.
If this were all it offered, it’d be a nice compliment, but hardly transformative. Luckily this is an endlessly configurable tool. Those basic functions can also trigger other events, or only show with certain key presses. For example, my date/time widget launched my calendar when pressed. My app switcher only appears when I hold down Command.
You can of course also create your own custom buttons, which can pull from a variety of system functions, invoke key presses, or run further scripts. In less adept hands, this might be a cause of visual cacophony, especially if the functions were specific to application. However, you can specify if widgets and buttons are Global or application specific. So for Slack, I have a button to mark all channels as read, and in Airmail I can quickly punch up email templates. If a particular app has great native Touch Bar support, you can always toggle your customizations with the BetterTouchTool button on the keyboard.
What this does is let you change how the Touch Bar works to fit your needs. I prefer to generally have it replace much of the functionality of my macOS Dock and status bar, moving my application launching, time and battery status. This leaves the actual status bar full of services and more actionable items. Ideally I’d love to move notifications to the Touch Bar, but sadly it seems outside the capabilities of the application.
BetterTouchTool is definitely for power users. Which is a polite way of saying that it’s UI is relatively intimidating and unintuitive. The built in widgets are great, but are really only meant to get you started. It would be nice to have a “widget store” built into the app, to easily pull in settings that other users have set up. But you might leave disappointed unless you’re prone to tinkering around in software. It’s not to say the app isn’t functional. You just have to dig into it to get the most out of it.
Of course, the MacBook Pro is ostensibly a professional-level machine, meaning that there are probably an above average number of power users among its owners.
At the end of they day, will I buy another laptop just because it features a Touch Bar? Not unless the support and use case landscape changes drastically over the next few years. I don’t see this happening unless Apple puts the interface on more devices, and makes it available to desktop users. I doubt this will happen.
But for my current machine, BetterTouchTool goes a long way to delivering on the potential Apple felt they had with the Touch Bar. I’ve looked at a variety of apps for the Touch Bar, and the vast majority are single use gimmicks. While some developers have added support for the interface, there are few that prove to rise above graphical keyboard shortcuts (especially outside of Apple’s first party apps). By providing a platform to build your own interactions, BetterTouchTool lets you decide the best way to use this new interface. It’s requires some tinkering, but for those willing to put in some time, it redeems the incomplete execution of the Touch Bar.
The real challenge going forward is deciding how you want to use it. One of Apple’s design principles is to simplify, to alleviate the burden of choice. BetterTouchTool provides the opposite. It forces you to think how you want to use the Touch Bar, and actually implement those choices, often on an application specific level. I know I’m just scratching the surface with how I want to use it. But it’s nice to know that I can make the Touch Bar my own.
Thank you for this great write-up. I’ve been looking for ways to bring the touch bar to life and make it more useful, as it has potential, but not realised in its standard implementation.
Looks like this application will do that… Thanks for your examples of using it too.