I have waxed poetic about the reasons for optimism around the forthcoming SDK. Keeping things real, this post presents the reasons for (would-be developers) to exercise caution before taking the plunge.
You know the fable about the scorpion that needs a ride across the river so he asks the frog to carry him across on his back.
The frog is understandably fearful that the scorpion will sting him during transit.
The scorpion assuages the frog’s fears by telling him that stinging the frog would make no sense since the frog would sink and the scorpion would drown in the process. The frog agrees, only to be stung in mid-transport, dooming both.
As the frog dies, he asks the scorpion, “Why?” The scorpion coldly explains, “I’m a scorpion. It’s my nature.”
Such is the challenge that Apple faces in rolling out its iPhone SDK and creating a mobile platform that takes the company and the industry to greater heights.
Namely, will they recognize the importance of the ‘frog’ (developers) to their self-interest of crossing the proverbial river? Or, will they give into their nature, sting developers and drown themselves in the process?
Why should developers even contemplate such dark scenarios? To be blunt, Apple’s history with developers is a mixed bag.
On the one hand, the very success of the Mac is a by-product of third party developer innovations in desktop publishing, spreadsheets and the like, which opened up previously unforeseen HUGE market opportunities.
On the other hand, Apple has a legacy of co-opting third-party developer innovations, thus claiming new market opportunities for themselves and killing their partners in the process.
They have a history of announcing APIs and then promptly abandoning them, wasting third-party developers’ scarce resources. They do not have the richest tradition of listening to developers and being responsive to their needs.
(Disclaimer: my first tech company, Tribe Communications – circa 1994 - faced many of these issues first hand. Paradoxically, Apple was also one of our best customers.)
In the cold light of day, Steve Jobs himself would probably have to acknowledge that this difficulty in partnering is a core reason that Microsoft was able to outflank Apple during the PC era, despite Apple’s arguably superior technology, richer integration and better design – see the parallels to our current world?
So where does that leave us? To call a spade a spade, the iPhone/iPod touch platform is Apple's creation. They can and should be able to decide how open they want it to be.
Also, to be clear, one challenge in delivering an SDK is that applications on the iPhone/iPod touch need to be performance optimized. You don't want a developer’s cool slideshow app causing your music library to skip or phone calls being dropped. You don’t want mashups overwriting critical data.
That said, if Apple precludes even building such applications by failing to provide inter-application APIs for safe and structured read/write access to the address book, email, iPod library, photo library, and so forth, then they are hobbling the platform in ways that turn what could be a rocket ship into a mere vehicle, and something that could be insanely great to something that is merely interesting and useful.
Either way, perception has a way of becoming reality, and serious developers can and will go where they believe they garner the highest 'return' for their efforts. For some, return will be a monetary or user base construct. For others, it will be a creative one.
Thus, it is troubling to read articles that suggest (based upon review of the beta SDK and underlying developer license) that Apple will leverage its god-like control to anoint itself as the sole browser, contact manager, media player, and/or preclude mashed up applications that are a composite of these functions.
My hope is that, just as they iterated their original third-party developer world view -- from pushing a 'web application' development model -- to their current 'native application' oriented one, they are in the operational mode of 'groping' what it means to deliver a proper SDK and shipping the 'idea,' but will promptly fix it and then iterate until developers chant as enthusiastically as iPhone/iPod owners do.
If they embrace that approach and communicate their commitment religiously, with consistency and clarity, they and we will be okay. If not, an unhappy titanic-sized iceberg lies in the distance.
Hobbyists and tiny developers will accept whatever Apple gives them. For them, religiosity knows no bounds.
Winning the hearts and minds of serious developers, however, requires more than hope. After all, this is a multi-year commitment and they are being asked to Think Different once more.
UPDATE 1: Hank Williams wrote an excellent post on this topic, 'Apple’s iPhone SDK Prohibits Real Mobile Innovation'
UPDATE 2: Somewhat of an inflammatory post in ZDNet about bad feelings associated with form letters going out to new developer program requests telling them to check back later. When you have 100K+ developer downloads in such a short window, support resources are going to get pressed but underscores emotional nature of what's going on. A little scarcity may not ultimately be a bad thing.
UPDATE 3: Great post by Michael Tsai on Apple's lack of transparency with its constituency.
- iPhone 2.0 - What it Means to be Mobile: a detailed summary of my experience to date with the iPhone 2.0 platform.
- iPhone 2.0 - swinging for the fences: an analysis of the WWDC Keynote by Steve Jobs.
- iPod touch: the first mainstream Wi-Fi mobile platform?