We're quickly closing in on the beginning of a new chapter in the history of the iPhone, one that could signal just how far Apple can take its maiden voyage into the smartphone world.
This is supposed to be the week that Apple makes honest coders out of all the software developers who have been busy creating unofficial applications for the iPhone almost since the day it was released last June. Back in October, Apple CEO Steve Jobs announced that the company planned to release an official software development kit (SDK) in February that would allow third parties to create applications that would run directly on the iPhone.
Now it's the last week of February, and anticipation is building to see just what Apple has in mind for third-party iPhone and iPod Touch software development. We might have to wait a little longer, however: over the weekend, Business Week reported that the SDK would be delayed into March. And on Monday, The Unofficial Apple Weblog predicted the initial SDK will be just an alpha or beta release, with a full version coming later this year at Apple's Worldwide Developer Conference. An Apple representative said Monday the company had no updates to the plan to release the SDK in February.
Apple loves to make announcements on Tuesdays, so keep your ears and eyes peeled tomorrow for any sign of the SDK or any of the 15 other things rumored for introduction this month. Whether or not Apple releases the SDK this week, the more important subject is how the company plans to treat third-party application development: is it a necessary evil, or a welcome catalyst for the product?
(Editors' note: As of mid-morning Tuesday, Apple's announcements for the day seem limited to some updates to the MacBook and MacBook Pro lines.)
When Jobs announced the plan to release an SDK, he explained the four-month gap between the announcement and the planned release as necessary "because we're trying to do two diametrically opposed things at once--provide an advanced and open platform to developers while at the same time protect iPhone users from viruses, malware, privacy attacks, etc."
Developers will either be thrilled, annoyed, or perplexed depending on how Apple decides to define "an advanced and open platform." The company has a few choices: it can allow unfettered access to the iPhone to anyone, it can allow anyone to develop applications for the iPhone but only those applications that have been digitally signed by Apple or a certification authority can be installed on the iPhone, or it can be the sole arbiter over who can create applications and what can be installed on the iPhone. There are also shades of gray within those scenarios, which leads to a lot of speculation on what exactly Apple has in mind.
To this point, the company has chosen the most restrictive policy possible, in that only Web applications that don't have full access to the iPhone's underlying technology are authorized. Security and reliability concerns seemed to drive Apple's conservatism in the early days of the iPhone, in that the company didn't want its prize product sullied by poorly written or unsecure applications just as it was trying to build momentum.
Still, Apple was aware that the promise of the iPhone would be quite limited if that was the full extent of access of the iPhone. There's just no way Apple can anticipate--not to mention create--every possible application that might convince someone to buy an iPhone. "We are excited about creating a vibrant third party developer community around the iPhone and enabling hundreds of new applications for our users," Jobs wrote in October.
In that letter, Jobs hinted that Apple was considering an application development model used by other members of the smartphone community, notably Nokia. This model would require any application bound for an iPhone to carry a digital certificate that would verify whether the application was created to meet certain standards for security and reliability. In this system, if you tried to install an application on the iPhone, the iPhone's OS X operating system would check for that digital certificate and either allow or prohibit the application from being installed.
Symbian, the world's largest smartphone operating system developer owned in large part by Nokia, offers application developers three options (click for PDF) based on different factors such as cost, proliferation, and access to core operating system technology.
For example, smaller developers have a no-cost option to get their applications onto Nokia handsets running Symbian, but they face restrictions on how many phones can install their application and users are warned when installing the application that it has not been verified by Symbian. If they cough up more money, there are no limits on how broadly their application can be distributed but it has to pass tests to guarantee quality, which has the benefit of making their application appear safer to the end user.
Microsoft offers several different options for Windows Mobile smartphones, depending on the requirements of the phone manufacturer or carrier. There's no requirement on Microsoft's part to obtain a digital certificate for an application, but the company will help promote applications that have either been certified to participate in Microsoft's logo certification process, or that have taken the further step of obtaining a digital certificate.
And interesting moves are taking place in Silicon Valley as mobile developers evaluate Google's Android SDK. Android is being billed as the most "open" operating system ever created for mobile phones, as it would appear that there is no requirement for digital signatures and any application can be created for the operating system. Of course, Android is not a shipping product, and things may change once the wireless carriers get their hands on Android phones.
Most wireless carriers have historically frowned on the notion of completely open applications for phones on their networks. In fact, until recently Verizon was notorious for controlling almost every single piece of software that ran on devices that connected to its network. The carrier recently changed that stance to permit outside applications to run on phone connecting to its network, and plans to outline its requirements during a developer conference in March. It has yet to say exactly how it will implement that goal, but it would be somewhat surprising for Verizon to veer from a complete lockdown to total openness in the space of a year.
So, expect Apple to implement some sort of digital-signature requirement on iPhone applications. This would be for two reasons: to control the quality of applications that run on the iPhone, and to allow AT&T a chance to approve or deny applications that might compete or hinder its own services.
But if the requirements are too heavy-handed, don't expect developers to cheer that news. Any kind of restriction may be very frustrating to many developers, because while Apple has been hard at work developing the SDK, the iPhone became an open development platform.
One of the biggest stories in the early days of the iPhone has been the hard work of an army of coders in "jailbreaking" the iPhone to run all sorts of independently developed applications that natively access the phone. This includes everything from games to mapping to camera software, and if you think iPhone unlocking is widespread, iPhone jailbreaking is much, much more common.
Since July, a whole set of best practices, and even an "unofficial" software developers kit have been created from scratch by an enthusiastic community of coders looking to unlock the iPhone's potential. Apple has half-heartedly tried to fight this growing tide, releasing firmware updates that wiped applications off iPhones and making changes to the way the iPhone loads applications, but the hackers have managed to stay one step ahead of the company to this point. The latest firmware update to the iPhone, released in January at Macworld, has already been cracked.
An SDK that's seen as less than satisfactory by this crowd might result in two different iPhone development paths: the officially sanctioned model that larger companies might choose to follow, and the unofficial model already in place that will appeal to small developers unwilling to cough up the certificate fee or adhere to Apple's guidelines. Presumably, Apple will update OS X to lock out unofficial applications when the SDK is officially released, but previous updates haven't proven to be a deterrent yet.
And what of the iPod Touch? Will there be two separate SDKs, one more restrictive model for the iPhone that addresses the concerns of wireless carriers, and one more open one that's designed for the Wi-Fi-capable iPod Touch? A more restrictive SDK for the iPod Touch would be a tough sell and would hold back the development of the iPod Touch, which Apple hopes is the model for the future of the iPod lineup.
What might this mean for you, the iPhone owner? A tough development policy could wipe your favorite unofficial application off the home screen and force you to pay for a similar application from an official developer. A lenient one could hook you up with anything you desire, but open you up to security problems.
And a more balanced model could offer you access to powerful applications that dramatically improve your iPhone experience, such as having access to your corporation's BlackBerry e-mail server if RIM decides to get on board. Or Flash-based Web pages with Adobe's support, or cool games that use the iPhone accelerometer and touchscreen to crazy ends.
Apple is walking a fine line between throwing the iPhone wide open to development and locking it down to the point where only a select few friends of the company get to play. The consequences of that decision could play a huge role in determining whether Apple hits its sales targets for 2008, and addressing the larger question of whether Apple really has changed the future of mobile computing with the iPhone.