Why you should care about the iPhone SDK

Last week, Apple made a somewhat understated announcement of the coming of their new iPhone software, version 2.0, and the software developer's kit in late June. While this wasn't a Steve Job-sian big media event, it was covered by technology and Mac press in detail.

Unfortunately, the analysis that I've read from most sources isn't really deep enough. The announcement and new features on the iPhone, along the potential SDK is a fundamental shift of Apple's stance on the use of the iPhone. No longer a consumer device, it's going to burst upon the business world in a matter of months - and that will have significance for everyone: Mac users, business users looking for a superior mobile device, and for the future of Apple in general.

Layer 1: New Features

Part of "version 2.0" is some very extensive additions of "push" technology - the ability for your phone to be made aware of when new changes are made to your contacts, email, and calendars - at least for those of us lucky enough to be running Microsoft Exchange server in our companies (TSP does not).

This is a huge announcement, since it means that iPhones will be greeted not with the suspicion and sneers of "consumer devices" on corporate networks, but rather with open arms - at least in the organizations that take the time to test the devices. I can give you a list of our clients that would want to have this functionality: Bose, the Boston Celtics, ISM Advertising, and many, many more. Basically - most large companies have Exchange and most of them have iPhones in the mix.

By the looks of the demo, the integration is top-notch - for once, Apple users will have a device that will sync reliably with their Macs and that has the same capabilities as Blackberry's and Windows mobile devices.

Layer 2: A fundamentally different strategy?

So the obvious question is: What happens to people that don't have Exchange - like all of our Mac-only customers? Will Apple made 'push' technologies available to Mac Leopard server users as well - or is it - strangely - a Microsoft-only solution for the iPhone? Think about that statement for a second.

I always thought that push technology would come to the iPhone as part of a larger push to make Apple serious in the enterprise. Apple would package some part of Leopard server with push technologies on the iPhone, thus pushing smaller and mid-size companies to consider the Leopard server + iPhone as their mobile solution. That sells Leopard server, gets the Mac some more traction, and also solves some of the criticism of the iPhone not being a business solution. It's also the traditional way that someone would think at Apple to sell more Macs and sell more software.

Steve and company, it seems, have decided to take a different strategy - and like the iPod, it's not focused on creating an "Apple only" ecosystem - it takes all comers, presumably because Apple sees that the opportunities that lie ahead are more lucrative than simply selling more Leopard server licenses.

That strategy is to try to storm the category with the industry-leading solution - in interface, capability, and value for your money. Once you've pinned the category, then you can begin to monetize the massive market that you've created - like the iTunes store once the iPod had enough traction. So basically, they've declared full, open war against all other smartphone providers, taking shots at RIM (the makers of Blackberry) and Windows Mobile all at once.

They'll worry about selling Macs later.

Layer 3: Xcode is the secret

The significance of the announcement goes beyond the simple idea of putting an iPhone in everyone's pocket.

Perhaps the reason that Apple is fine with not having a Mac-based "push" technology on the iPhone is that they know that the SDK, in other ways, will help the Mac ecosystem - and this time, in ways that might be even more significant in the future.

The core of the iPhone SDK is Xcode, Apple's development environment for OS X. This is, I think, one of the most amazing coding environments out there - because it combines simplicity with amazing flexibility.

A quick tangent: when I was a kid and I my dad got an Apple II+, I loved the fact that I could program in BASIC on that machine. It helped me understand programming, but more importantly, it gave me a great outlet to be creative with new ideas - programs, games, and crazy algorithms. It was the start of my background in coding that got me through MIT and gave me a passion for this work.

When my dad got a Mac, I was pissed that it didn't come with a built in programming language like the Apple II+. I didn't understand this world of closed applications that I couldn't even try to emulate - programming became something that I could no longer do on my home computer. Eventually, I bought 3rd party software (Pascal) to program, but the separation of the OS from the development environment actually sorta killed my passion for programming.

Xcode has brought that passion back, although I have a lot less time to spend on programming nowadays, running a business on two continents... It is exactly the same concept as BASIC on the Apple II+: an accessible programming language that allows anyone with 1/2 a brain and interest in programming to make applications for the Mac - and now, the iPhone and iPod touch.

The SDK will be ultimately successful just because it will bring Xcode to the masses. Because there are will be millions (10?) of iPhone users by the end of year - this is huge.

Compare this to Apple's last quarterly results for 2008:

"Apple shipped 2,319,000 Macintosh® computers, representing 44 percent unit growth and 47 percent revenue growth over the year-ago quarter... Quarterly iPhone™ sales were 2,315,000."

Uh, so Apple sells around 9 million Macs a year and now, around the same iPhones. Think of every Mac as not a Mac, but as a piece of equipment that runs programs running in Xcode.

Apple will sell close to 10 million iPhones in 18 months. Add to that all the iPod touches that they sell - millions.

Suddenly, in a matter of a year, the rate of growth of Xcode-enabled devices has doubled. Doubled - think about that. The conclusion is obvious: Apple's foray into the mobile space will result in double the number of programmers familiar with the fundamental coding environment for the Mac.

You do the math. The SDK is means incredible things for the platform. Innovation, new applications, and a whole lot of new enthusiasm. I can't wait.