“Writing the first 90 percent of a computer program takes 90 percent of the time. The remaining ten percent also takes 90 percent of the time and the final touches also take 90 percent of the time.”
— N.J. Rubenking
With all the focus on iOS at WWDC and the rollouts of the iPad and iPhone 4, Apple has conspicuously put Mac OS X development on hold. That has caused some to wonder why Apple, with all its financial resources, couldn’t fund both efforts. Here’s why it could have but chose not to.
Often, tough problems have easy, obvious answers, and they’re the wrong answer. That’s how Apple’s competitors get into trouble. For example, there are those who have said, to paraphrase, “With billions in the bank, why couldn’t Apple just go out and hire more Cocoa programmers, bolster the Mac OS X team, and keep 10.7 on track?”
Sure enough, there are plenty of Mac OS X/Cocoa programmers out there so that Apple could have achieved that. If Apple had done so, here’s what likely would have happened:
- The new engineers would have to be brought up to speed on the philosophy of Apple. Inevitably, the message wouldn’t get through to all of them.
- Time is critical when in heated competition, and there isn’t time to build a second OS team and remain inside the competition’s decision cycle.
- Of all the Cocoa programmers around, when you start expanding the group size, you invariably end up with some who are not so good. Right now, Apple has the cream of the crop. Best to keep it that way.
- When implementing changes to the Cocoa APIs, the (augmented) Mac OS X team would find itself in a communication problem with the current iOS team, a team that’s too busy to hand hold any newbies. As a result, initiatives to change and improve Mac OS X would become both fragmented from the iOS line and implemented by people relatively new to Apple. That’s asking for big trouble in River City.
- Worse, as the Mac OS X team finds itself increasingly isolated from the fanfare surrounding iOS, they would come to feel that they have a stake in the Mac and Mac OS X. That would result in subtle, insidious moves to preserve the Mac platform at the expense of iOS and even Apple in general. You had to have lived though the Apple II to Mac transition, as Mr. Jobs did, to appreciate this natural human tendency.
Many observers have surmised that Apple has good reason to merge Mac OS X and iOS so that, some day, Macs will morph into a better computer. That’s not so that Apple can seize and hold an iron grip on Mac OS X software development in the style of the App Store. That just isn’t going to happen, and Mr. Jobs has confirmed that.
The Eventual Merge of OSes
What must happen, however, if the Mac is to grow up, leave the PC world behind, and inherit the best of iOS is that there be a uniformity of vision so that the two OSes can merge gracefully, all the while leaving Mac OS X open and iOS, a very mobile OS, subject to the security and privacy provisions of the App Store.
Think of how it will go now. The iPhone 4 has shipped. iOS 4 has shipped. The only remaining significant task for the iOS team, which is basically all the people who were heretofore working on Mac OS X, is to bring iOS 4 to the iPad this fall. After that, there will be one, single, enthusiastic group of OS engineers at Apple who will be eager to return their attention to 10.7 and bring the best of what they’ve learned to the Mac OS.
Apple engineers got very smart about gestures and multi-touch in the last two years. They learned how to better use screen real estate on the iPad. They learned how the tactile feel of an iPad in the hands can create a hugely satisfying experience. But now, all that Apple has learned in iPhone OS 3 and iOS 4 needs to percolate back onto the Mac. If there were an already existing, separate, Mac OS X development team, built up in parallel, with vested interests to get in the way, that could not happen.
The very resources we envision that Apple could have brought to bear with its great wealth would have only served to inhibit further development for the overall good of the company. That’s because a separate iOS team would now have to fight, perhaps in vain, to get the cool things they’ve learned implemented on the Mac. A lesser company would have stumbled on this point.
Software Provincialism Equals Death
One should never underestimate provincialism in software development. I’ve seen this myself in my 30 years of commercial and scientific software development. One is always concerned that some new technology will come along and make our efforts obsolete. Then we’re out of work.
If Apple had hired additional programming talent, spawned off or augmented a separate Mac OS X group to keep work alive while the legacy team had forged onward with iOS 4, think how they would have felt at WWDC. They’d be fretting that the iPhone and the iPad were getting all the attention. Morale would be in the toilet. They’d be haunted by the spectre of Apple someday abandoning the Mac platform, and that all their efforts would go for nought.
Efforts to bring coherence to the two OSes, fold the best of iOS into Mac OS X, would be sabotaged by the Mac team.
Instead, thanks to the vision of Mr. Jobs, Apple maintains one coherent OS team that keeps the OS underpinnings in sync, maintains excitement about the future of the company, and that is ready and eager to bring the best of the iOS learning curve to the Mac platform, unhindered.
The Iterative Process
Not only does Mac OS X 10.7 need to benefit from what has been learned in iOS 4, but iOS 4 needs to grow up as well. All the things we complain about in iOS 4, no printing, no visible file system, the difficulties of moving and sharing files, the affordances we need for content creation, and so on will be part of the growth of iOS. It needs to gain that maturity before it can gracefully merge with Mac OS X.
As the single OS team moves back and forth, iteratively, it will become clearer how to both develop iOS to maturity as well as morph the Mac into a next generation powerhouse. I doubt that even Mr. Serlet and Mr. Forstall fully understand how this will happen. The dynamics of the market place, developer innovation, and customer natural selection may provide the final details of how we’ll keep the best of the Mac’s open architecture and facilities for creation, scientific research, business and servers in place while absorbing the best of iOS. Each year, we see the result of all those forces at WWDC. This evolution and merger won’t be a simple matter. Nothing is a done deal except serendipity.
This coherence of OS vision is just what Mr. Jobs needs to put the final nail in the coffin of Windows. That’s part of his genius. While other companies would have spent a lot of money and built two OS teams to keep both on track, on schedule, Mr. Jobs knows better than that based on experience.
One vision, one team, one goal for all.