By John Gruber
Agenda is date-focussed note taking. Now with images and attachments.
I think a lot of us have lost our spirit, and that’s a problem for Apple. Apple may not think so — its financial statements would argue that it’s in great shape — but it’s being buoyed by an excellent run of hardware releases and a certain amount of inertia. Eventually, though, it runs the risk of becoming another Microsoft, with users who do more complaining than praising. When a company’s best users lose their spirit, it loses their leverage.
Every company’s downfall is different. Microsoft didn’t have a major update to 2001’s Windows XP until 2006’s Windows Vista, which was rejected by its customers. The “fix”, Windows 7, didn’t ship until 2009. I can’t help but wonder whether Apple’s recent focus on annual significant-but-not-hubristic (read: Longhorn) updates to Mac OS X is an attempt to do the opposite of what Microsoft did to lose its edge with Windows. The annual schedule keeps OS X from stagnating, and keeps Apple from biting off way more than it can chew, leading to a years-long death march that never actually ships. (See also: Copland and Pink from Apple’s own history.)
But in avoiding the problems of stagnation and hubris, it feels like Apple has run into a different problem: nothing ever feels settled and stable. If the pattern Apple has established the last two years holds, by the time the loose screws get tightened in iOS 8 and OS X 10.10, we’ll be getting developer betas of iOS 9 and OS X 10.11 at WWDC. And as Guy English has keenly remarked numerous times, the annual schedule means that by now — that is, January — a lot of engineering talent in Cupertino is being directed to next year’s OS releases, leaving less talent on the task of tightening the remaining loose screws in last year’s.
Apple’s decade-ago development schedule for OS X now seems downright leisurely.1 10.0 was a glorified public alpha — more of a proof of concept than a usable OS. 10.1 followed just a few months later in September 2001. 10.2 shipped in August 2002, 10.3 in October 2003, and 10.4 (Tiger) slowed things down by not shipping until April 2005. That schedule was close to annual, but in those years, Apple was just picking low-hanging fruit. Mac OS X was incomplete, inconsistent, and slow when it debuted. Those first few years were about making it more complete, consistent, and fast. It’s fair to say, in hindsight, that 10.4 Tiger was the first good release of Mac OS X, the first one that truly delivered on the promise of a union between Mac OS and NeXTStep.
And then 10.5 (Leopard) didn’t ship until October 2007, after having been promised for June of that year. That was the time Apple issued a decidedly Jobsian “Hotnews” post acknowledging that Leopard — which even if it had shipped on time would have appeared more than two years after 10.4 — would be delayed an additional four months because Apple had pulled engineering resources to work on the original iPhone release.
It was then another two years before we got 10.6 (Snow Leopard), which Apple proudly marketed as having no new features. That’s not true, of course — Snow Leopard had plenty of new features, including significant new technologies like Grand Central Dispatch, Apple’s solution to parallel computing. But it really was true that Snow Leopard didn’t introduce many new user-facing features. It was exactly what Apple billed it as: a shoring up of the OS’s technical foundations. It was then another two years before the release of 10.7 (Lion) in June 2011.
So from April 2005 through June 2011, Apple released only three major updates to Mac OS X, one of which had “no new features”. Again: an almost leisurely pace by recent standards. But this led to criticism that Apple only cared about iOS. Predictions that Apple would soon enough abandon the Mac were common.
It’s a hard balance to strike. When Mac OS X releases were roughly biannual, we complained that Apple was neglecting it. Now that the releases are annual, we’re complaining that they’re going too fast.
Guy English, earlier this week, regarding Marco Arment’s argument that “We don’t need major OS releases every year”:
Sure, it’s a pain in the ass for us at times. But “we don’t” is starting to echo through the people for whom iOS devices were a revelation. These devices made people believe in the magic of technology again. Now? I hear a lot about planned obsolescence and buggy software.
“No! I know these people and I swear that’s not at all their intent!”
That really only goes so far.
The worst thing is that it’s seldom anything big, onerous or serious. It’s just weird little things that don’t work that add up to create the impression that “computers” are incomprehensible.
I don’t regret upgrading from iOS 7 to 8, or from Mac OS X 10.9 to 10.10. I definitely don’t want to switch to Android or Windows. But I’d like to think that a year from now, I’ll be running new versions of iOS and OS X that don’t do much more than what today’s versions do — instead, that they just do those same things more reliably and consistently.
My hope is that the reliability issues we are seeing in iOS and Mac OS X in recent releases are largely the inevitable result of Apple going through numerous transitions simultaneously. Extensions, XPC, iCloud Drive, Continuity — these things require coordination between all three of Apple’s platforms (mobile, desktop, cloud). That what we’ve been seeing the last few years is this decade’s equivalent of the first few years of Mac OS X — rapid development and flux that precedes an era of relative stability and a slower pace of change. Let iPhone, iPad, and Mac settle in — and let the rapid change and flux flow through Apple Watch, CarPlay, a new Apple TV, and whatever else comes next.
iOS has always been on an annual schedule, with .0 major releases accompanying each new iPhone generation, but even there, some of those iOS releases weren’t very ambitious in terms of new features. Apple was busy picking low-hanging fruit — iOS 3’s biggest feature was Cut/Copy/Paste. (Seriously, we went two years without Cut/Copy/Paste — crazy, right?) ↩︎