As the person who personally ran 10.6 v1.1 at Apple (and 10.5.8), you are wrong(ish).
The new version of the OS was always being developed in a branch/train, and fixes were backported to the current version as they were found. They weren't developed linearly / one after another. So yeah, if you are comparing the most stable polished/fixed/stagnant last major version with the brand new 1.0 major version branch, the newer major is going to be buggier. That would be the case with every y.0 vs x.8. But if you are comparing major OS versions, Snow Leopard was different.
Snow Leopard's stated goal internally was reducing bugs and increasing quality. If you wanted to ship a feature you had to get explicit approval. In feature releases it was bottom up "here is what we are planning to ship" and in Snow Leopard it was top down "can we ship this?".
AFAIK Snow Leopard was the first release of this kind (the first release I worked on was Jaguar or Puma), and was a direct response to taking 8 software updates to stabilize 10.5 and the severity of the bugs found during that cycle and the resulting bad press. Leopard was a HUGE feature release and with it came tons of (bad) bugs.
The Apple v1.1 software updates always fixed critical bugs, because:
1. You had to GM / freeze the software to physically create the CDs/DVDs around a month before the release. Bugs found after this process required a repress (can't remember the phrase we used), which cost money and time and scrambled effort at the last minute and added risk. This means the bar was super high, and most "bad, but not can't use your computer bad" bugs were put in v1.1...which was developed concurrently with the end of v1.0 (hence why v1.1s came out right away)
2. Testing was basically engineers, internal QA, some strategic partners like Adobe and MS, and the Apple Seed program (which was tiny). There was very little automated testing. Apple employees are not representative of the population and QA coverage is never very complete. And we sometimes held back features from seed releases when we were worried about leaks, so it wasn't even the complete OS that was being tested.
A v1.1 was always needed, though the issues they fixed became less severe over time due to larger seeds (aka betas), recovery partitions, and better / more modern development practices.
Do you mean Mac OS X 10.6.8 v1.1? Otherwise, I don't know what you mean by "v1.1".
In retrospect, I'm guessing that you meant N.1, e.g., 10.6.1. But 10.6.1 certainly didn't solve all of Snow Leopard's problems. Like I said before, the "stable" Snow Leopard everyone loves was the result of almost two years of minor updates.
> you are wrong(ish).
> So yeah, if you are comparing the most stable polished/fixed/stagnant last major version with the brand new 1.0 major version branch, the newer major is going to be buggier. That would be the case with every y.0 vs x.8.
In other words, as you admit, I'm 100% right. ;-)
Every new major OS update introduces new bugs, that didn't exist in the previous OS, some of them horrible, and Snow Leopard was no exception.
Sorry, I thought I was using your terminology. I ran pretty much all the updates (switched between majors and security updates and others with my team) as well as helped with the custom OSes for hardware released between. I was talking about 10.6.1, which included any fixes in a 1.1 respin. Apple's updates could be versioned (so, for example, you can have the 10.5.8 update v1.0, v1.1, etc.)...I am specifically talking about the first software update to the new OS.
I still believe you are right and wrong (which is why I put the "ish" on wrong).
"Every new major OS update introduces new bugs, that didn't exist in the previous OS, some of them horrible, and Snow Leopard was no exception" is not what folks are noticing when talking about Snow Leopard. People don't say Snow Leopard was great because it had no bugs, they say it was great because it had fewer bugs they experienced at release and converged quickly to something that was very stable, much more quickly than previous releases (and Leopard was a particularly long stabilization cycle right before it).
I do remember that bug you link, and I remember is was via migration assistant and required some convoluted steps to get in that state (IIRC it largely cropped up with people migrating their home from extremely old versions continuously, which was one of the QA tests we actually did but this issue was missed). There was much debate as to just how widespread it was (Apple didn't have telemetry at the time and had to rely on forums and apple care reports). The majority of people had no issues with SL, which was not the case with Leopard. Leopard's development internally was also more chaotic FWIW.
During that time period my team and I triaged every single Mac OS X bug coming into the company every morning. Trust me, SL was of higher quality than Leopard.
Nowadays, shipping is less of a major event due to CI, automated tests, betas, no CDs/DVDs, recovery partitions, etc. We're in a much better world!
> I ran pretty much all the updates (switched between majors and security updates and others with my team) as well as helped with the custom OSes for hardware released between.
Could you clarify what you mean by "ran"? Originally I thought you meant that you were the manager in charge of the 10.6.1 and 10.5.8 releases: "the person who personally ran" is singular. Whereas now I'm getting the impression that you were just one of many engineers who installed and used internal builds of the updates?
> People don't say Snow Leopard was great because it had no bugs, they say it was great because it had fewer bugs they experienced at release and converged quickly to something that was very stable, much more quickly than previous releases
That's precisely where we disagree. My impression is that people are just looking back fondly at the later versions of Snow Leopard.
> (Apple didn't have telemetry at the time and had to rely on forums and apple care reports). The majority of people had no issues with SL, which was not the case with Leopard.
These two sentences seem a bit contradictory. ;-)
> Leopard's development internally was also more chaotic FWIW.
Externally too. Leopard was infamously delayed for iPhone.
> Trust me, SL was of higher quality than Leopard.
Well, from my perspective, "Leopard" and "Snow Leopard" are a bit amorphous. They are brand names, not specific pieces of software. 10.6.0 was definitely not higher quality than 10.5.8, as I think you've admitted already. And that's precisely why I object whenever people say, "We need another Snow Leopard". It's never the major releases that create quality, stable software but rather the long train of minor bug fix updates that occur afterward.
By the way, I also remember an NSURLConnection crasher that was introduced in 10.6.3 and IIRC plagued us for a number of 10.6.x versions until it was finally fixed. https://openradar.appspot.com/7841731
I certainly admit that Snow Leopard was less ambitious than Leopard, and thus 10.6.0 likely introduced fewer new bugs than 10.5.0. If you have to ship a major update, then obviously fewer new features is going to create less disruption than more new features. But the fundamental quality problem today is that Apple forces itself to ship new major updates every year. That's completely unnecessary, a self-inflicted wound. If you look back prior to the annual schedule, the major Mac OS X releases came 14, 18, 30, 22, and 23 months apart. That's much more reasonable.
> Nowadays, shipping is less of a major event due to CI, automated tests, betas, no CDs/DVDs, recovery partitions, etc. We're in a much better world!
You cannot be serious! As far as I see, Apple software quality is worse now than ever.
And just to compound the problems, we never get a "stable" version anymore, because Apple continues to ship new features throughout the year, even in "minor" updates, so even 11 months after the .0 release, we still get the bugginess, and after every .0 release Apple has to turn around relatively quickly and start work on the next major version in order to be ready for the next WWDC in June. It's a vicious cycle.
If anything, CD/DVD installers were good, because only the most eager users ran to the retail stores to buy them and jump onto the bleeding edge new versions, and bugs could be fixed before the majority of users eventually installed the major updates, whereas now Apple is pushes users hard to install major updates over the air immediately at .0.
The new version of the OS was always being developed in a branch/train, and fixes were backported to the current version as they were found. They weren't developed linearly / one after another. So yeah, if you are comparing the most stable polished/fixed/stagnant last major version with the brand new 1.0 major version branch, the newer major is going to be buggier. That would be the case with every y.0 vs x.8. But if you are comparing major OS versions, Snow Leopard was different.
Snow Leopard's stated goal internally was reducing bugs and increasing quality. If you wanted to ship a feature you had to get explicit approval. In feature releases it was bottom up "here is what we are planning to ship" and in Snow Leopard it was top down "can we ship this?".
AFAIK Snow Leopard was the first release of this kind (the first release I worked on was Jaguar or Puma), and was a direct response to taking 8 software updates to stabilize 10.5 and the severity of the bugs found during that cycle and the resulting bad press. Leopard was a HUGE feature release and with it came tons of (bad) bugs.
The Apple v1.1 software updates always fixed critical bugs, because:
1. You had to GM / freeze the software to physically create the CDs/DVDs around a month before the release. Bugs found after this process required a repress (can't remember the phrase we used), which cost money and time and scrambled effort at the last minute and added risk. This means the bar was super high, and most "bad, but not can't use your computer bad" bugs were put in v1.1...which was developed concurrently with the end of v1.0 (hence why v1.1s came out right away)
2. Testing was basically engineers, internal QA, some strategic partners like Adobe and MS, and the Apple Seed program (which was tiny). There was very little automated testing. Apple employees are not representative of the population and QA coverage is never very complete. And we sometimes held back features from seed releases when we were worried about leaks, so it wasn't even the complete OS that was being tested.
A v1.1 was always needed, though the issues they fixed became less severe over time due to larger seeds (aka betas), recovery partitions, and better / more modern development practices.