« Apple's Application Store: Not Just For iPhones? | Main | AirPort Express Goes N: One Down, Three To Go »

March 17, 2008

The iPhone SDK: Promises Broken, Promises Kept

Back when the iPhone was originally announced at MacWorld San Francisco, much was made of the fact that the iPhone wasn't just a phone, but a software platform in its own right.

Build on OS X we were told, Apple would be able to quickly and easily add applications and extend existing functionality.

But in reality, this never occurred.

Sure, a few enhancements and bugs fixes were made, but from a functional standpoint the iPhone is the same phone demonstrated by Steve over a year ago.

It gained one primary application in iTunes downloads, allowing users to buy music and songs directly from the online Apple store (imagine that). But most applications remained stagnant, and expected functionality never materialized.

For example, the iPhone camera software is virtually unchanged, offering no exposure controls or color settings, and no video. Nor can we send photos via SMS (MMS).

Voice recording was an expected "no brainer" feature, especially since even the lowly iPod nano has the software needed to support that functionality... even though the nano doesn't even have its own microphone!

We still can't sync notes back to Mail, still can't tether our phones, can't search contacts, can't copy and paste, can't manage calendars, can't use Bluetooth for anything but phone calls, can't wirelessly sync, can't beam contacts, can't... you get the idea.

What happened?

Well, the biggest fly in the ointment was OS X Leopard. I've already written about how the iPhone was one of Apple's saving graces, giving them a ready-made excuse to "delay" Leopard in order to meet the iPhone's stated June ship date. Apple, it was said, needed to "borrow" some Leopard engineers and put them to work on the iPhone.

Of course, once the iPhone shipped things flip-flopped the other way, as Apple had yet another flagship project behind schedule: Leopard itself. All of those "borrowed" engineers had to return to OS X development, as, no doubt, did many of the iPhone software engineers. Getting Leopard out the door was a "all hands on deck" corporate-wide project.

Even still, Apple ended up shipping Leopard before everything was quite nailed down.

Why? Simple. They needed the bump in sales to end out the quarter, and also to keep from sabotaging the remainder of the holiday shopping season. They'd also thrown too many stones in Vista's direction, publicly laughing at its repeated delays. Missing their own already delayed schedule simply... wouldn't... do.

And once shipped, Apple had to keep the momentum going, as the big cat had plenty of "issues" that would need many, many group therapy sessions.

Which left iPhone development starved for resources and in the proverbial limbo.

Meanwhile, out in the real world, developers were chomping at the bit to develop "real" applications, and not the web-based toys that Apple was passing off as all that users really needed. Apple already knew this, of course. They simply didn't have the resources to do anything else.

So developers found ways to "jailbreak" phones and to create and install their own applications. Apple halfheartedly patched the system. Hackers broke it once again, and kept on going.

So the question was once again, what to do?

The answer was the iPhone SDK.

First, an official SKD would give all of those hackers an approved outlet for their efforts, and provide them with an supported API with which to do development. Continually breaking user's applications, even unauthorized ones, simply wasn't cool.

Second, and most importantly, it would let Apple leverage their developer base. The iPhone/Leopard debacle clearly illustrated that Apple just didn't have the development resources it needed to do everything in a timely fashion.

The iPhone, and it's cousin, the iPod Touch, are envisioned as the founders of an entirely new line of products. A technology and a platform potentially as important as the Mac itself. But Apple's internal development teams simply aren't going to be able to make that happen on their own.

Third, an SDK tied to an "application store" would give Apple a measure of control and ensure that applications met as least some level of quality and security.

Fourth, it would give Apple yet another revenue stream. Even more significantly, it would give iPhone developers a potential revenue stream. Shareware, donations, and paid approaches haven't done well, simply because many people don't know that third-party applications and solutions exist, or don't bother paying for them even when they do.

The Application Store solves those problems.

And fifth, a flotilla of available applications would let Apple finally keep it's promise.

So Apple announced, and then delivered, a true iPhone SDK. Many, including myself, were expecting little more than a widget-based system that would let you do Dashboard-style applications but little else.

Apple confounded those expectations, delivering an API that gives developers access to nearly anything and everything that the phone can do. Yes, there are a few restrictions, but in truth the majority of those are dictated by current hardware and network requirements.

As just one example, for all its power, the iPhone has just 128MB of internal RAM. The VIDEO card on my iMac has twice that much, and a lowly Mac mini has EIGHT times as much.

To date, over 100,000 developers have downloaded the iPhone SDK.

Figure that half of them were just curious, half of the remainder have some vague idea about this or that but never get started, and that half do, but never finish. Toss in Sturgeon's Law, which says that 90% of everything is crap.

And we're still left with over a thousand cool applications, coming soon to an iPhone near you.

I can't wait.

Comments

quote:
"Fourth, it would give Apple yet another revenue stream."

According to the US law, a public company's main objective is to get value to their shareholders... So, Apple is doing what it has to do! (I would say "money", but they keep the cash!)

quote:
"They simply didn't have the resources to do anything else."

Apple has around 25K employees of which 15K are in retail...
The other 10K during 2007 "also" developed the iPod touch (OK, almost an iPhone), the Air, new versions of Aperture and Final Cut, continued building stores and dealing with the labels... OK, they did not ship Final Cut Pro Server and did left orphan Xserve RAID.

If I would be my own company, I would be very proud of its performance.

But you are right, it has not enough resources to make you happy!

Luis, everything you said only reinforces my point. Apple is not really a large company in terms of head count, and as such often has to pick and choose what development resources to allocate and where to place them. Development triage, if you will.

But it's not about having enough resources to "make me happy", but having enough to fulfill commitments publicly made to their customers.

Post a comment

If you have a TypeKey or TypePad account, please Sign In

Sponsors



Related Links

Additional Sponsors