I’ve been running High Sierra on my computers since some of the last developer betas, and for me it’s been working fine.

Well, mostly fine. I have been having weird audio cutouts on my bluetooth headset (the Bose QC35), where I’d bring up a video and I’d get no sound, or when watching Youtube, I’d see the pre-roll ad, switch to the video, and have the video start with no sound. To fix it, I had to stop the video, power off the headphones, wait a beat and turn them back on and let them re-pair. Then they’d work for a while (or until the next Youtube video with an ad).

Since I’d recently updated to the final GM candidate of High Sierra, I assumed this was a High Sierra bug, because, well, that’s what I changed and then it broke things. I got into a conversation about this on twitter, and found out a few other people were seeing similar problems, and so I assumed that meant High Sierra was broken, end of story.

Except…

A friend of mine made some suggestions to try to debug it it, and if those failed, file a RADAR on it, so I went digging into the problem. First thing I found was that I hadn’t actually upgraded to the final production release of High Sierra, I was still a release back; I upgraded, but that didn’t fix it.

But as I was testing, I realized something: the failure was only happening on the QC35s, not on any other audio channel, whether speaker, wired headphones, etc. And that got me wondering if maybe the problem was the headphones.

So I checked, and yes, the QC35s were downrev a firmware upgrade. I tracked down the update with Bose, updated the headphones, and — ta da — the problem went away.

So High Sierra changed something about how it sends out bluetooth audio, especially involving multiple audio streams one after another, and this happened to trigger a bug in the headphone firmware, which was actually already fixed but I hadn’t installed the update.

It’s easy to blame Apple

The easy answer here was to blame Apple. I changed the OS. Something broke. Obviously, the Operating System was buggy. Except it wasn’t, it triggered a bug that existed elsewhere. It’s not WRONG to assume you know where the bug is, but you need to do some debugging before pushing out that assumption into public view on the social networks. In this case, Apple was the easy culprit, but innocent.

Firmware updates are a huge problem

And this brings to light what I think is a tough and unsolved problem: as we’ve been bringing in more and more “smart” devices in the home, the task of keeping those devices updated, or even finding out that there are updates available for them, is an increasingly complex beast.

Some companies do this well: Eero, the WIFI Mesh Router, simply does it for you. Some might argue it’s wrong for them to not allow us to turn off automatic updates, but I think the days for that are past.

Other companies don’t do it very well. I love my Netatmo weather station, but they make it incredibly hard to even find that there are firmware updates, and it’s even more obscure how to do the upgrades. I found this out the hard way when I tried to add a new weather module, and I couldn’t get it to work without the updates — and spent well over a day just getting to where I could apply the patches. I checked a month or so ago, and it’s been well over a year and the same old incredibly broken upgrade process is still there; it’s not fixed, except now I can’t even find the page with release dates and notes on it any more. Ugh.

Bose is, unfortunately, closer to Netatmo than Eero. To upgrade your Bose Headphones, you go to btu.bose.com. There you download an updater app, which connects to a web page, and you plug in your headphones and it downloads and installs the upgrade. Except these pieces don’t seem to talk well together, since it took me about six tries to get them all syncing up and talking to get the upgrade going.

On top of that, the Bose Updater program installs itself as a login item and places a Bose Logo in your menubar, so it’s available for you at any time to update your firmware, because, um…

Well, because some Bose marketing person wanted their logo in your face 24×7, as near as I can tell. Why they think it’s useful to me that their updater is running forever and eating space on my menubar when I’m only likely to want to use it once or twice a year, I don’t know. And the updater app doesn’t even seem to have a way to tell me an update is available — you have to fire up the update process to get told your firmware is up to date.

Makes me wonder if that app is tracking analytics and reporting them back. Needless, it’s been disabled on my machine again, but really, Bose, there’s no excuse for building that tool this way.

How many devices in your house need their firmware updated?

Stop and think about how many devices in your house have firmware that occasionally needs to be updated. I have a few HomeKit devices and they ALL need to be kept updated (and sometimes refuse to work until you do, which annoys me when it’s a lightbulb that refuses to turn on until I do the firmware upgrade, in my office where I need the light to get work done). I started counting how many exist in my house, and I stopped when I ran out of fingers.

Other than Eero, none of the devices are painless to keep updated, although the Hue bulbs are a close second. And each does it differently, and requires a different set of actions. Almost none of them pro-actively warn me about updates even if the updates involve security fixes.

This is a big problem as the smart house market explodes. The question is, how to fix it?

Not all of these devices are online — the QC35s for instance. Even if you could, having an app that reports updates awaiting is a bad idea, because I don’t think we want 30 apps running on MacOS (and it’s just not possible on IOS unless you want rampant notification abuse) that do nothing but ping a server to see if there’s an update (and think of the possibilities of one of those apps leaking data you don’t want leaked…). An easy solution would be for product manufacturers to create mailing lists to update people who sign up about new releases, but the temptation to turn them into marketing lists is going to be tempting, and that will make us unsubscribe again, right?

So I think there’s a real opportunity here for some third party, such as one of the platform pundit sites, to create a way to register which devices you have and have them notify you when updates happen. They’re in a good position to know about updates, and sites like that wouldn’t be as tempted to turn them into marketing spiel lists.

There may be better solutions, but what I see is a growing problem with no real consensus on understanding that it needs to be fixed, much less how to fix it. But you look at the security problems caused by cable routers and security cameras with flawed firmware and no updates and this seems to be something that needs to be a situation that needs to be grappled with sooner rather than later.

My suggestions on this problem

First, if you sell a product that has firmware that is going to need updates, you need to take a hard look at your update processes and make them easy and frictionless as possible to the user. If the devices are normally online, then adopting the Eero update process as best practices is a no-brainer.

If it’s a device that isn’t normally online, then you have to think about how you want to make those updates available so that users are likely to actually do the updates, and please, when you work this out, please lock any marketing person who users the terms “upsell” or “lead generation” out of the room.

And if you’re a buyer of these products (and you are, even if you haven’t really thought about it — you have them) make sure you understand how the upgrade process for the device works; ask the support team before buying it if they don’t talk about it on the web site. And if you can’t find out how to keep it updated, or if the process is hard or if its difficult to know you need to update, then consider buying a different product.

Firmware updates needs to become more of a priority in product reviews, too, because this is something that users need to be educated about and manufacturers will need their feet held to the fire to improve the process so it is more likely to happen once someone installs the product.

We as users need to make the update process a priority, because that’s how we’ll convince manufacturers to make it a priority. Because if we don’t, another disaster like the ones that hit security cameras is going to happen, and it’s going to happen in your house…