Last week Steve Jobs took the stage at the Apple Town hall meeting and announced two major things for the iPhone: 1) support for Microsoft Exchange and 2) the iPhone SDK. The Exchange support was a relatively unexpected move, but in retrospect it makes perfect sense. In order to unseat Blackberry as the number one wireless player in the US, Apple needed to have an enterprise story. What’s more, Apple has realized that the days when people carried two phones are over.
With support for the enterprise (one device for both home and business use), together with its utility as a music player, camera, and web browser, the iphone is well positioned now to be that ‘one phone’.
No matter how cool the exchange support and the enterprise play is, that news is dwarfed by the other, much more important announcement – the iPhone SDK. The powerful platform that Apple uses to create beautiful applications for MacOS and iPhone is now completely open. Over a decade in making, this Objective-C based stack is complete with interfaces for operating system, sockets, graphics, audio, motion control and UI components; just to name a few. The platform comes with complete iPhone simulator, XCode development environment and 1-click compile/build/deploy process. This platform is a game changer.
A premier venture capital firm, Kleiner Perkins, agrees. They sent John Doerr to announce the 100 million dollar iFund, a fund to focus on iPhone startups. Mr. Doerr is one of the most well respected venture capitalists ever. He called the release historical and even claimed that the iPhone is bigger than the PC. Think about this, he said: a device that travels with you everywhere and brings the world’s information and applications to your finger tips. It is indeed a powerful thought.
It’s the libraries, stupid!
Let’s be clear. It is not the language, but the libraries that matter. Every time I hear developers talk about a new language and say it is by far the best one, I just shake my head. A new language is not going to be usable in today’s world unless all of the libraries are in place. As the complexity of our software increases, so do demands on libraries. Microsoft learned it the hard way with years of set backs when it rolled out .Net. Had it simply embraced and optimized Java, it could have been years ahead instead.
Apple choose a different path. For the last decade Apple has been wowing the crowds and investors with its flawless and lightening quick execution. Every new Apple announcement, we keep thinking that they won’t top it. But every time, Jobs and his crew pulls another trick out of the hat. Clearly, Apple is a well-oiled machine that has perfected the art of execution. But beyond that, Apple’s secret sauce has been its software. While others have been inventing new languages and frameworks, Apple kept perfecting and building up its code.
Since the early days, Apple embraced a language called Objective-C – an object-oriented flavor of the popular procedural language. When Jobs returned to Apple, one of the early smart decisions was to ditch the old operating system in favor of Unix. This moved allowed Apple to instantly tap into serious programmers while retaining a beautiful and simple UI. When Java came along, Apple was unmoved, because it was just too slow. In general, over the years Apple has ignored new languages and just stuck with its platform. Smart, disciplined and mature.
The iPhone Platform
The Apple iPhone platform shares a lot with the MacOS developer stack. Brilliantly, Apple made its operating system run on iPhone, instantly leveraging its entire code base on a new device. The one exception is the UI libraries, which had to be designed specifically for multi-touch screen, motion, unique graphics and sound on iPhone.
Beyond rock-solid APIs, developers get an end-to-end set of development tools. XCode is the studio for developing applications (not free) and it includes a modern editor, debugger and source code integration. It also features a drag-and-drop UI builder, which has all the standard iPhone controls available as widgets. For profiling and diagnostics of iPhone, Apple offers a set called Instruments. And the most impressive piece of the tool set is a fully-fledged iPhone simulator. Developers can write and immediately test the code right on their Macs, without deploying it to iPhone.
Apple’s platform is so good that a bunch of companies were able to develop demo applications in just two weeks. Some of the companies sent developers that were not even familiar with Objective-C – the core language for writing the platform code. The platform is so easy to use and so complete, precisely because Apple developers use it themselves to build iPhone applications. Much like Amazon uses its Web Services, Apple’s has embraced the ‘eat your own dog food’ strategy and it is about to pay off in a big way.
Why This Platform is Different
We have been hearing a lot about platforms and APIs recently. But not all platforms are made equal. First compare this offering with what Microsoft offered for Windows a while back. Redmond’s convoluted APIs, COM, OLE, and ActiveX still make developers shake their hands. Instead of cultivating elegance and simplicity, Microsoft pushed for complexity. Why? Because it kept exclusivity, kept people learning new weird stuff, kept people getting new certifications. But Apple’s culture and code is rooted in elegance and extreme simplicity.
In a lot of ways, web applications have been playing catch up with Desktop apps. Now, a handheld device has lept forward, years ahead of what is available inside any modern browser. The sheer power of Apple’s graphics, motion and sound APIs just opened the door for things that have not been possible before on the web.
A DIFFERENT Road Ahead
Apple has made this play flawlessly. The enterprise and SDK solutions will go hand-in-hand to propel the iPhone to be THE handheld device of the future. Ironically, the PC just got its final blow not from a MacBook (which has been on the rise too!), but from a small new computer. Apple got its revenge elegantly, relentlessly and creatively. The next era of computing will be dominated by Apple. Is this a good thing? Likely yes, and it is surely better than one dominated by Microsoft.