Time to update updating

The core task of a system for updating software – with the notable exception of macOS and firmware – is straightforward. It needs to detect which version you’re running, check whether there’s a more recent version available which is compatible with the version of macOS running, download any update, and install it. Yet this often seems to go wrong somewhere along the line. We may get updates pushed at our Macs (such as Apple’s security data updates), made available for us to pull down, or offered when we feel like downloading and installing them. One thing’s for sure: they won’t always happen as they should.

Starting with the most essential, Apple’s security data updates should be pushed to each Mac when it’s running, soon after their release. If you’re lucky, it will download and install within an hour or so of being made available, but sometimes an update doesn’t arrive for another day or two. This is one of the reasons why my utilities SilentKnight and LockRattler have become so popular, as they let you check to see if an update is available and force it to be downloaded and installed. They don’t use any trickery to do that, just standard commands you could enter into Terminal yourself if you preferred.

There are many different systems used for ‘pulled’ updates which you request or approve. That’s because Apple has never built in a standard mechanism for handling this in macOS: that used in its Software Update pane is private, and third party vendors can’t use it for their own products. So everyone else has had to come up with their own system.

For example, I have only two regular software subscriptions, for Microsoft Office 365 and Adobe Acrobat ‘Pro’ DC. Last week Microsoft issued its monthly update to its update system, and in fixing an issue with macOS 10.15.4, it introduced another bug which made updates severely dysfunctional on many Macs. Kudos to Microsoft’s engineers, who fixed the bug within 24 hours of it being reported here.

Unfortunately, I can’t tell whether mine is now fixed, as I can’t get the Updater app to show me any information, because it now doesn’t display any interface, but just sits there. This may be intentional, as “Microsoft AutoUpdate UI will not be displayed on devices which are updating their Office apps via Microsoft AutoUpdate in ‘Automatic’ mode”, or perhaps “devices taking updates in non-Automatic mode when there are no new updates available”. Without a UI, I can’t tell whether I have it set in automatic mode, nor when it last checked for updates. In fact, all I can do is leave it and hope for the best.

Whenever I check Adobe’s Creative Cloud app it always tells me that Acrobat ‘Pro’ is fully up to date, and expects me to trust it completely. That I find hard, as when I ask it to check for updates it often tells me that it can’t get that information. Indeed, when I leave my Mac running for more than a few hours, Creative Cloud seems to get tired and becomes unable to load its app information at all. The only solution seems to be to restart my Mac, which will enable it to run for another few hours again. So I just have to quit Creative Cloud until I next restart, which could be in a couple of weeks.

The great majority of third-party apps delivered outside the App Store use the well-known Sparkle mechanism for updates, which generally works excellently. Sparkle is an open-source project which, despite widespread use for commercial products, isn’t supported by Apple, and seems perpetually to need help. There are alternatives which some developers use, such as Squirrel, but Apple doesn’t support any of them either.

Apple of course delivers its supported apps and those of third-parties through the App Store app. When it comes to supplying updates, this can be excellent, but has one fundamental weakness at present: it’s completely unreliable. If you want to get your updates when they’re still fresh and timely, the only solution is to open the App Store app at least once a day, select the Updates item at the left, and press Command-R.

If you wait for the App Store app to notify you of updates, or forget to press Command-R at the right time, more often than not the app won’t show you updates which are there, ready and waiting to be downloaded and installed. Over the last couple of weeks, for example, the app has notified me of less than a tenth of all the updates which proved available after using the Command-R trick.

Software updates have become an unreliable mess on macOS, and much of this is because Apple has failed to provide any support for third-parties to update their products outside its App Store, which itself has become a mess. The effect is to make using macOS more fiddly and unreliable, and that reflects not on those third-parties, but on Apple itself. This is exactly the sort of feature which users need in the next version of macOS: it may not be ‘sexy’, but it would make Macs so much easier to use.