Now that I'm done with my travel tales I can go back to ranting about geeky things. Apple just announced an update to an update to OS X Snow Leopard. It's not that Snow Leopard is suddenly being supported again. It's now fully five versions behind the current state of the art. But there are some die-hards who are still running it (I'm actually one of them) and this update is necessary to track updates in the App Store so that if you decide you want to update Snow Leopard, you still can.
This sounds like a positive development, but it's actually an indication of something quite ominous that most people don't realize: for several years now, Apple has been deploying a strategy straight out of Microsoft's Big Book of Dirty Tricks which I am hereby dubbing the version ratchet. A version ratchet is a software deployment strategy that forces you to upgrade even if you don't want to. Microsoft implemented it back in their glory days (irony intended) by changing the file formats in new versions of the Office suite so that documents created by newer versions of Office could not be read by older versions, thus forcing everyone to upgrade to the newer version in order to share data.
Apple doesn't have the same hegemony in applications that Microsoft had, so their version ratchet works differently. Apple's version ratchet is implemented through the App Store. As more and more applications are delivered through the App Store, the less control you have over the hardware that you ostensibly own. Apple uses the App Store version ratchet not to force you to not only upgrade your software the way Microsoft did, but also as a way to force you to upgrade your hardware.
Here's how it works: most apps nowadays depend on a server to do what they do. You, of course, have no control over what a vendor does on their server, so it is inevitable that sooner or later some service that you rely on will make some change that requires a change in the client. If you've ever used Uber or an on-line banking app you will no doubt have encountered a situation where one day the app works fine, and the next day it says, "Sorry, this version of the app is out of date. To continue to use this service you must upgrade to the latest version." And then it gives you a helpful link.
So now you have no choice but to upgrade the app. But then sooner or later you will encounter an upgrade that will force you to update not only the app, but also the operating system. This happens both on iOS and OS X, with my poster child being iPhoto. I've been using iPhoto for years. I have a vast collection of photos stored in iPhoto libraries. The collection includes carefully edited and curated collections of photos from various trips I've been on.
But iPhoto uses (or I should say, used, because it's not supported any more) the classic Microsoft version ratchet to force users to upgrade: newer versions of iPhoto changed the format of the iPhoto Library directory in non-backwards-compatible ways. That meant that if I upgraded my iPhoto and my wife didn't, I could no longer share my iPhoto library with her. So we stopped upgrading. Or at least we tried.
I resisted upgrading Snow Leopard for as long as I possibly could. I skipped Lion and Mountain Lion, but then my old Macbook Pro died and I had no choice but to get a new machine, which left me no choice but to upgrade to Mavericks because new machines wouldn't run Snow Leopard any more. That's fair enough; you can't expect OS vendors to support ancient hardware forever. The problem is much more subtle than that.
Apple intended for the old version of iPhoto not to run under Mavericks; Mavericks was missing the iLife library that iPhoto relied on. But it turned out that simply copying the library from Snow Leopard to Mavericks worked, and we've been happily running the old version of iPhoto (version 8) ever since.
Unfortunately, this trick doesn't work on El Capitan, so Mavericks is the end of the line for iPhoto version 8. When I upgrade to El Cap, I have no choice but to upgrade iPhoto to version 9.
Except that I can't.
When Apple introduced El Cap, it deprecated iPhoto in favor of Photos. Photos is missing a crucial piece of functionality: the ability to export an album as a web page. Apple wants you to share your photos using iCloud. Well, I don't want to use iCloud. I run my own server, and I want to share my photos there. But because Apple wants to phase out iPhoto, it is no longer available from the App Store as a new install, only as an upgrade. But it won't let me upgrade my copy because it wasn't installed from the App Store, it was installed years ago from an iLife DVD.
This is Apple's insidious refinement of the version ratchet: if you don't upgrade regularly, you will eventually end up in a situation where you cannot upgrade any more. Moreover, your software will stop working even if your hardware is still working fine. In the old days, you could always rely on being able to roll back an upgrade by re-installing the old version from, say, a DVD. Now you can't because install DVDs don't exist any more. Once something is pulled from the App Store, it's gone forever, so if you let the gap between where you are and where the App Store is at get too big you're stuck forever.
And nowadays everything is in the app store, including the developer tools. And the tools are set up so that you can only build for supported version of the OS. It is still possible to use XCode to build an application for Snow Leopard because you can still get an old XCode install DVD and an old Snow Leopard install DVD, and if you get Snow Leopard Server you can even run it on a VM. So no matter what Apple does, you can run Snow Leopard forever if you want to.
Not so for Lion. You can't get an old Lion install DVD because there is no such thing. Lion was the first OS X version distributed exclusively through the App Store. The only way you can run Lion nowadays is if you find a working machine that has Lion installed on it. And some day, all those machines will be gone.
If your reaction to this is, "Why would anyone want to run Lion? Lion sucked!" then you are missing the point. This is not about Lion. This is about the day five years from now when Apple introduces a version of OS X and iOS that sucks again, or that has some feature that you really hate, or is missing some feature that you really love, and you don't want to upgrade. What I'm warning about here is that when that day comes you won't have any choice. You will either upgrade or die. If you don't upgrade, you will see all of your installed apps stop working one by one as they are upgraded in the App Store, and the servers they rely on stop supporting the old versions.
Microsoft was limited in their ability to leverage their version ratchet by the fact that it was possible (indeed necessary!) for third party developers to write and deploy applications for Windows machines without Microsoft's approval. Microsoft could play games like limiting access to internal Windows APIs to make their own applications more competitive, but they could not shut out the competition entirely. This kept them somewhat in check; if they ever released a version of Office that sucked too badly, users might revolt and allow a third-party to take over that market (as indeed has now happened to a certain extent with OpenOffice and Google Docs). Apple is slowly but surely shutting down that escape route. It is already not possible to deploy an application on iOS without Apple's approval. That is not yet true of OS X, but I predict that some day in the not-too-distant future, Apple will release a version of OS X that is as closed as iOS is today. And on that day there will be a great wailing and gnashing of teeth. But you will upgrade. You will upgrade because all of your data will be in iCloud and all of your finances will be in Apple Pay, and you will have no choice: you will upgrade or die.
And then, after that, you will have the buy the new iPhone and the new Mac even if the ones you have are still working perfectly well, because they won't run the new OS.
Even if Apple doesn't implement this strategy, they could, and that to me is cause for concern. Personally, I don't want the only thing standing in the way of being coerced in this way to buy things I don't want to be the continued benevolence of the largest corporation in the world. I want an escape hatch to keep Apple in check. And right now, I don't see one.