By John Gruber
GravityView: Don’t write code. Blow minds.
“A complex system that works is invariably found to have evolved from a simple system that worked. The inverse proposition also appears to be true: A complex system designed from scratch never works and cannot be made to work. You have to start over, beginning with a working simple system.”
If there’s a formula to Apple’s success over the past 10 years, that’s it. Start with something simple and build it, grow it, improve it, steadily over time. Evolve it.
The iPhone exemplifies this strategy. There’s a long list of features many experts and pundits claimed the original 1.0 iPhone needed but lacked. Ends up it didn’t need any of them. Nice to have is not the same thing as necessary. But things the iPhone did have, which other phones lacked, truly were necessary in terms of providing the sort of great leap forward in the overall experience that Apple was shooting for.
Gall’s law raises hard questions. Where do you start? How small? How simple? Where do you draw the line between simple enough to make it work and complex enough to be interesting? That’s the magic. The one and only mind-blowing iPhone announcement was its debut on stage at Macworld Expo 2007. They nailed the initial system, absolutely dead-on nailed it. Everything since — and there has been quite a lot since, especially when including iPhone OS 3.0 developer betas Apple started seeding earlier this month — has been evolution and hard work. (Cf. Edison’s description of genius.)
One obvious but wrong answer would have been for Apple to start with a phone. That’s what most companies in the mobile handset industry have done and it’s led them to a dead end. The problem is that while successful complex systems evolve from simple systems that work, not every simple system that works can support additional complexity. It’s not enough just to start simple, you have to start simple with a framework designed for future evolution and growth.
Consider that none of the major new features in the iPhone OS 3.0 software is related to the telephone. MMS comes closest, but even that doesn’t pertain to phone calls. The “phone” in “iPhone” is much more about ubiquitous always-on wireless TCP/IP networking than it is about the 20th century conception of telephony.
The other obvious path Apple could have taken would have been to start with what we then knew as an iPod. That wouldn’t have supported this sort of evolution, either.
Apple started instead with the idea of a general-purpose pocket-sized networked computer. It no more has a single main purpose than a desktop PC has a single main purpose. Telephony is simply one feature among many, whereas on most other phones, the features are attached to the side of the telephone. They sold 30 million iPhone OS devices in the first 18 months after 29 June 2007, but 13 million of those were non-phone iPod Touches — proving that the platform is clearly appealing even when the “phone” is entirely removed. (Consider too that the iPhone’s two strongest competitors are BlackBerry and Android, neither of which started as phones.)
The problem with Apple in the ’90s was that they stopped doing this. The Mac had a great run from its debut in 1984 through the end of the ’80s, where both the hardware and software improved every year. Then that stopped. Apple became too much concerned with the Next Big Thing and not enough concerned about steady evolutionary improvement to what they already had. While Microsoft was going from Windows 3.0 to Windows 95 (a massive improvement), the Mac barely moved, going only from System 7.0 to System 7.5. That might have been OK if any of Apple’s Next Big Things had turned into Actual Big Things, but none did.
If Apple had sold even close to 30 million Newton OS devices in its first 18 months, Apple would not have been “beleaguered”, they would not have bought NeXT, and Steve Jobs never would have been brought back. Instead, IDG reported that Apple sold a grand total of only 60,000 Newton units in all of 1996, the Newton’s third year on the market. That’s about how many iPhone OS devices Apple sold per day — per day! — for the first 18 months after the iPhone went on sale.
The iPhone was not conceived merely as a single device or a one-time creation. It’s a platform. A framework engineered for the long-run. The iPhone didn’t and doesn’t need MMS or a better camera or a video camera or more storage or cut/copy/paste or GPS mapping or note syncing, because the framework was in place so that Apple could add these things, and much more, later — either through software updates or through new hardware designs. The way to build a complex device with all the features you want is not to start by trying to build a device with all those features, but rather to start with the fundamentals, and then iterate and evolve.
There’s no better example than background tasks. The problem isn’t that the iPhone OS isn’t technically capable of pre-emptive multitasking, like the old Mac OS. Some of Apple’s own apps — like MobileSafari, the phone app, the audio player, the new-to-3.0 Voice Memos — already continue running when in the background. In fact, because it’s built on the same Unix underpinnings as Mac OS X, Apple had to do more work to create the upcoming push notification system than they would have had to do to just enable background processing for third-party apps. Scott Forstall said as much on stage during the iPhone OS 3.0 special event. The problem is not the software but the hardware — the current CPU is too slow, there isn’t enough RAM, and battery life is already stretched thin. Apple could do it now, but they couldn’t do it well, so they will wait.
There’s not much I’d say I’m certain about regarding future Apple products, but I’m absolutely certain that eventually there will be an iPhone with a combination of CPU, RAM, and battery life that Apple deems suitable for third-party app background tasking. All they’ll have to do is turn it on.
iPhone OS 3 is an impressive year-over-year improvement over iPhone OS 2, which itself was an impressive year-over-year improvement over iPhone OS 1.
But we ain’t seen nothing yet.