I got some new AirPods recently, and briefly considered allowing them to switch between my devices. Sometimes it was nice. I put on my headphones while using my work computer and they’d jump over from my home computer. Just in time for the Zoom call that I almost forgot about. However, other times, like when I’m listening to music on my computer and scrolling through Twitter on my iPhone, it’s a nightmare.
How has Apple still not gotten this right?
The logic for switching between devices should be incredibly simple.
- Are the AirPods connected to a device?
- Does a different device want to play something?
- Is the current device playing something?
That’s it. Those are the only questions that Apple needs to answer for whether or not it should start playing audio elsewhere. And yet, here we are, years after introducing the feature, and Apple still hasn’t gotten this right.
All Over the Place
A few annoyances today lead to this article. I was listening to music on my computer, while working on an article. I was then browsing Twitter, because I have never been all that good at focusing on a single task and the pandemic, multiple quarantines, and stress from everything has made that so much worse than ever. Despite the fact that Twitter wasn’t even playing anything, my iPhone kept stopping my music on my Mac so my AirPods could switch over to… silence. Nothing was playing. It was hopping over to Twitter because it was auto-playing muted videos in the app. I switched my audio back to my computer and put my iPhone down on the charger. The charging noise came through my AirPods. My iPhone took over control from my Mac for the charging noise!
This is utterly ridiculous and incredibly broken. To illustrate just how simple this problem is, I have the following flow chart.
Now, of course, I know that there’s a lot in play here. You have one device communicating with Apple’s servers that it wants to play audio, then it has to tell another device to disconnect so it can switch over to the new device. That’s all done over the cloud, over multiple threads over multiple devices. That can be tricky. I’m a software developer, I get it.
But think of it from a user’s perspective. If the above flowchart isn’t something you can adhere to most of the time, if you can’t simply figure out if the user is currently listening to something, then how could you release that product? That’s such a baseline requirement. A simple question: “Is the user listening to something?” Easy mode is, “Is the user listening to something on Apple Music?” yet the AirPods repeatedly fail to stay on Apple Music!
Broken by Default
Here’s the real worst part of it all: this is the default behavior. As in new AirPods owners have to go into their phone and computer and shut this off because if they don’t it’s going to be a pain in the ass. Every single Apple product they own. iPhone, iPad, Mac. Fortunately, the Apple TV actually asks nicely if you want to switch over. I like that. In fact, I prefer that. I haven’t turned that one off and I don’t plan to, it’s the only time AirPods automatically switch to a new device reliably.
These features have been out since the last versions of iOS and macOS. Apple has updated the firmware on their AirPods, the software on their devices, and yet, still, this feature is so broken you can’t even plug in your iPhone while listening to music on your Mac. Apple has a reputation for only releasing products when they’re ready. That hasn’t been true in a long time.