Articles index Jeff Johnson (My apps, PayPal.Me, Mastodon)
November 13 2023
The myth of Snow Leopard was started by Senior Vice President of Software Engineering Bertrand Serlet at WWDC 2009.
This famous keynote slide was, to put it euphemistically, a bit of product marketing. Non-euphemistically, it was a big lie. Snow Leopard had quite a few new features, including significant changes "under the hood", so to speak. In fairness, though, 10.6 was a smaller update than 10.5, 10.4, 10.3, or 10.2, and its price reflected its modest ambition: $29, compared to $129 for its predecessors. (Remember when major Mac updates cost money?)
Since 2009, the myth of Snow Leopard has only grown. As memories (and accuracy) fade, Snow Leopard has come to be known as a "bug fix update". If it had 0 new features, then it must have consisted entirely of bug fixes and performance improvements, right? Mac OS X 10.6.0 was solid as a rock, remember?
Well, let's look at the release notes for the 10.6.1 update:
- compatibility with some Sierra Wireless 3G modems
- an issue that might cause DVD playback to stop unexpectedly
- some printer compatibility drivers not appearing properly in the add printer browser
- an issue that might make it difficult to remove an item from the Dock
- instances where automatic account setup in Mail might not work
- an issue where pressing cmd-opt-t in Mail brings up the special characters menu instead of moving a message
- Motion 4 becoming unresponsive
It looks like the so-called "bug fix update" itself needed a number of bug fixes. How about the 10.6.2 update?
- an issue that might cause your system to logout unexpectedly
- a graphics distortion in Safari Top Sites
- Spotlight search results not showing Exchange contacts
- a problem that prevented authenticating as an administrative user
- issues when using NTFS and WebDAV file servers
- the reliability of menu extras
- an issue with the 4-finger swipe gesture
- an issue that causes Mail to quit unexpectedly when setting up an Exchange server
- Address Book becoming unresponsive when editing
- a problem adding images to contacts in Address Book
- an issue that prevented opening files downloaded from the Internet
- Safari plug-in reliability
- general reliability improvements for iWork, iLife, Aperture, Final Cut Studio, MobileMe, and iDisk
- an issue that caused data to be deleted when using a guest account
Wow, that's a lot of bug fixes! They saved the best release note for last: "an issue that caused data to be deleted when using a guest account". This data loss bug was infamous at the time.
We're not done. Here's 10.6.3:
- improve the reliability and compatibility of QuickTime X
- address compatibility issues with OpenGL-based applications
- address an issue that causes background message colors to display incorrectly in Mail
- resolve an issue that prevented files with the # or & characters in their names from opening in Rosetta applications
- resolve an issue that prevented files from copying to Windows file servers
- improve performance of Logic Pro 9 and Main Stage 2 when running in 64-bit mode
- improve sleep and wake reliability when using Bonjour wake on demand
- address a color issue in iMovie with HD content
- improve printing reliability
- resolve issues with recurring events in iCal when connected to an Exchange server
- improve the reliability of 3rd party USB input devices
- fix glowing, stuck, or dark pixels when viewing video from the iMac (Late 2009) built-in iSight camera
And 10.6.4:
- resolve an issue that causes the keyboard or trackpad to become unresponsive
- resolve an issue that may prevent some Adobe Creative Suite 3 applications from opening
- address issues copying, renaming, or deleting files on SMB file servers
- improve reliability of VPN connections
- resolve a playback issue in DVD Player when using Good Quality deinterlacing
- resolve an issue editing photos with iPhoto or Aperture in full screen view
- improve compatibility with some braille displays
Hopefully you're starting to get my point. Snow Leopard was not a bug fix release. In fact, Snow Leopard was quite buggy, and Mac OS X 10.6.0 was certainly much buggier than Mac OS X 10.5.8, released a few weeks prior. So why do countless people still look back fondly at Snow Leopard as a high point in Apple software quality? Are they totally wrong about that?
No, it's not totally wrong to consider Snow Leopard a high point, but people are often wrong about the timing of it and the reasons behind it, which had nothing to do with "0 new features". When you look back fondly at Snow Leopard, I suspect that you're not remembering version 10.6.0 but rather version 10.6.8 v1.1, which was released almost two years after 10.6.0.
It's an iron law of software development that major updates always introduce more bugs than they fix. Mac OS X 10.6.0 was no exception, of course. The next major update, Mac OS X 10.7.0, was no exception either, and it was much buggier than 10.6.8 v1.1, even though both versions were released in the same week.
Let's look back at the history of major Mac operating system updates in the 21st century. This data was drawn from the wonderful resource A full history of macOS (OS X) release dates and rates compiled by Rob Griffiths of Mac OS X Hints and Many Tricks fame, who coincidentally wrote the previously linked Macworld article about the Snow Leopard data loss bug.
10.1.0 | Puma | September 25, 2001 | 6 |
10.2.0 | Jaguar | August 23, 2002 | 11 |
10.3.0 | Panther | October 24, 2003 | 14 |
10.4.0 | Tiger | April 29, 2005 | 18 |
10.5.0 | Leopard | October 26, 2007 | 30 (delayed due to iPhone) |
10.6.0 | Snow Leopard | August 28, 2009 | 22 |
10.7.0 | Lion | July 19, 2011 | 23 |
10.8.0 | Mountain Lion | July 25, 2012 | 12 |
10.9.0 | Mavericks | October 22, 2013 | 15 |
10.10.0 | Yosemite | October 16, 2014 | 12 |
10.11.0 | El Capitan | September 30, 2015 | 11 |
10.12.0 | Sierra | September 20, 2016 | 12 |
10.13.0 | High Sierra | September 25, 2017 | 12 |
10.14.0 | Mojave | September 24, 2018 | 12 |
10.15.0 | Catalina | October 7, 2019 | 12 |
11.0 | Big Sur | November 12, 2020 | 13 (delayed due to pandemic) |
12.0 | Monterey | October 18, 2021 | 11 |
13.0 | Ventura | October 24, 2022 | 12 |
14.0 | Sonoma | September 26, 2023 | 11 |
Note that Steve Jobs resigned as CEO of Apple on August 24, 2011, a month after the release of Mac OS X 10.7 Lion. When you compare the release dates under Steve Jobs and under Tim Cook, the stark difference is startling. Cook clearly initiated a yearly Mac update schedule to mirror the iOS release schedule.
Until 2012, Mac OS X updates followed what I consider to be a natural, logical progression. A fundamental software development principle is that immature software is easier to improve, because there's a lot of low-hanging fruit—glaring bugs and missing features—whereas mature software is harder to improve and easier to accidentally break. That's why major updates should come more slowly as the software matures, and that's exactly what happened with Mac OS X until Mountain Lion.
Back to Snow Leopard: according to the table above, there were 23 months between Mac OS X 10.6.0 and 10.7.0. That's 23 months of bug fix updates to Snow Leopard and 23 months without a major new Mac OS X update. No wonder people look back fondly! Especially in late 2010 and early 2011, it was an era of relative stability.
Unfortunately, the periods of Mac stability came to an end with the era of Tim Cook. My firm conviction is that software quality is impossible to maintain with annual major updates. There's just not enough time between major updates to work on the minor bug fix updates that give rise to quality, indeed are essential to quality. Once Apple engineers are "finished" releasing a major update, they have to turn around immediately and work on the next major update. After all, WWDC in June every year is only eight months later. Tim Cook's schedule is relentless.
Software quality is a marathon, not a sprint. It's the result of many minor bug fix updates over time with no major updates to introduce new bugs. There was a significant difference between the initial quality and final quality of Snow Leopard. That's why spending a week on bug fixes is nothing but a drop in the bucket. Apple has accumulated more than ten years of technical debt, never giving itself enough time to pay down that debt.
When people wistfully proclaim that they wish for the next major macOS version to be a "Snow Leopard update", they're wishing for the wrong thing. No major update will solve Apple's quality issues. Major updates are the cause of quality issues. The solution would be a long string of minor bug fix updates. What people should be wishing for are the two years of stability and bug fixes that occurred after the release of Snow Leopard. But I fear we'll never see that again with Tim Cook in charge.
In judging the quality of a major software update, there's a tendency to focus narrowly on the new bugs introduced by the update. (There are always new bugs introduced.) But that's far from the whole story. A major update doesn't simply start from scratch, a tabula rasa. Besides adding new bugs, major updates also carry over old unfixed bugs from previous versions of the software. And this has a cumulative effect. If each new major update introduces new bugs, and some of those bugs remain unfixed before the next major update is released, then over the course of multiple major updates you have bugs continuing to pile on top of each other, forming an ugly garbage heap. When people look back fondly at Snow Leopard, part of their impression is formed by the 23 months of bug fix updates that occurred after its release, and another part of their impression is formed by the history of Mac OS X before its release. In 2009, Apple had not accumulated the level of technical debt that exists in 2023. Between August 2002 (10.2.0) and July 2011 (10.7.0), a span of about 9 years, there were 5 new major Mac OS X updates. Whereas between October 2014 (10.12.0) and September 2023 (14.0), also a span of about 9 years, there were 9 new major macOS updates. That's 4 additional major updates in the last 9 years compared to the earlier historical period, and each major update brings a bundle of new bugs. This is why I said that software quality is impossible to maintain with annual major updates. One reason we love Snow Leopard now is that the baseline level of bugs in that era was lower, due to the equally relaxed schedules of the predecessors Tiger and Leopard.
If (for some strange reason) you want to mount a defense of Tim Cook, you might argue that Jobs was the one who was responsible for prescribing the annual release schedule, on the iOS side. And that's correct! However, I would argue that there are two mitigating factors. First, iOS was still a fairly immature platform under Jobs, thus necessitating more frequent major updates. Jobs resigned as Apple CEO only four years after the introduction of iPhone. We could say, comparing to the Mac, that iPhone was just starting its "Tiger" phase. Moreover, iOS software updates were tied to iPhone hardware updates in a way that Mac updates never were. Even the transition from PowerPC to Intel processors did not require a major Mac OS X update. The first version to support Intel Macs was 10.4.4, an otherwise minor bug fix update. At this point, sixteen years after the introduction of iPhone, it's unclear why iPhone still needs major iOS updates to go along with its hardware updates. Previous generation iPhone models get the latest iOS update too, so it doesn't seem to be much of a selling point.
My impression is that there's no reason now for Apple's major OS update schedule other than Tim Cook's preference for the schedule. He appears to love schedules! Or perhaps there's also an element of trepidation. Apple created the expectation of annual updates, and Apple has become the victim of its own expectations. Cook may fear that if Apple slows down the updates, the press—or worse, the AAPL stockholders—will skewer him for failing to "innovate". But I admit that this is purely armchair psychology. Regardless of the motivation, the annual updates are more of a burden than a blessing to many Apple customers, including myself. I wish that Apple would drop the artificial schedule and let the major updates come more naturally. This isn't just the attitude of a developer and so-called "power user". Many "normal" users", the proverbial moms, feel the same way. Actually, my literal mom told me she doesn't like the ceaseless annual major updates either. She's learned from hard experience that they're not necessarily safe to install. Major updates can be very disruptive, creating new problems and wrecking old workflows. The press is always excited by major updates, because they give the press a lot to write about, but the public is not as sanguine. We occasionally need a break of 23 months, or more, from computing disruption. That would be another Snow Leopard.
Jeff Johnson (My apps, PayPal.Me, Mastodon) Articles indexPrevious: Mac App Store receipt validation revisited