The Apple iPhone's Rich Future
Last Thursday, Apple held an announcement on their campus that detailed some of their plans for the future of the iPhone. Although not much was surprising, many Apple fans and developers alike will be very happy with the amount of concerns that were answered by Apple. The only major concern for some people that was not answered was when the 3G-enabled iPhone will be coming for those faster speeds over cell networks, but with all the new capabilities with today's data speeds, developers should have plenty of projects to work on. Most of what Apple revealed will not be available to the public until June when iPhone software version 2.0 comes out, but both developers and corporations worldwide are looking forward to the future.
After a brief introduction by Steve Jobs, Senior VP of Worldwide Product Marketing Phil Schiller talked about the solutions for the corporate customers. Apple decided to license Microsoft's ActiveSync technology to enable corporate customers to get e-mail delivered to their iPhones directly. In a jab at RIM's BlackBerry services, Schiller explained that Apple's service does not rely on an intermediate service such as the one RIM has, but instead the iPhone communicates directly with the corporate server, and optionally via the Cisco VPN tool that will be built into the iPhone. Some commentators have said it less reliable than the system that RIM currently uses, but it seems more secure to me and less prone to system-wide outages because there's no intermediate service to go down like happens all too often for BlackBerry users. They performed an impressive demo where Schiller created a new contact on his Exchange-enabled phone and then some Exchange administrator in the audience added it immediately. Apple is even giving Exchange administrators the ability to reset the iPhone to factory settings whenever they want. For most corporations who already have an Exchange server, it seems like the iPhone will fit into the corporate environment with very little work.
The main portion of the presentation was done by Scott Forestall, Vice President of Platform Experience. Forestall announced the immediate availability of the iPhone SDK to developers and proceeded to show off the iPhone's ability in a number of ways. The SDK they released is the exact same as the one they used internally to develop all the apps standard on the iPhone, so it should be some incredible access to the phone's innards. Forestall reminded us that the iPhone is a stripped-down version of Mac OS X through and through, and therefore development will be much the same. For the Mac OS X, Apple has previously released their Cocoa API for developing applications, and now they're releasing an API called Cocoa Touch with functions for interacting via a multi-touch enabled screen. Tools include graphics layers, access to location-based awareness, accessing contact information and the photo picker, as well as data storage via the SQLite database.
Some of the funnest parts of the presentation for me was Forestall showing off the API. It seems like it might even be fun to develop for the iPhone (or maybe my Mac, as well). It seems that iPhone development will only be able to be done a Mac, which is not surprising. But, never having used the included Mac developer tools before, I was amazed at all the helpers they give. First, there's helpful apps such as an Interface Designer that allows the user to graphically layout and an amazing debugging application called Instruments. Forestall created a "Hello World" application and loaded it onto the iPhone connected to the computer and Instruments collected live information on how fast the program was running. He just clicked on an underperforming part of the graph and was able to see what parts of the code were running just then. And finally, the iPhone Simulator allows developers to run an iPhone on their desktop even if they do not own one. I had a bit of fun playing around with my virtual iPhone for a bit, although the Mobile Safari didn't want to bring up iPhone-specific versions of web pages - just the standard ones.
Forestall quickly showed off a couple demo apps for the iPhone and iPod Touch. First, they put together a simple photo editing program that uses the touch controls. Scott put his finger over the photo and the part under his finger bulged out. He then took two fingers and pinched another part of the photo together much like fun little photo editing programs do. The most exciting part, though, was the idea of just shaking the iPhone like an Etch-A-Sketch to reset the phone. They also made a little Starfox-like game called Touch Fighter. Just tap on the screen to shoot, and to move around, actually move the iPhone from side to side. You might look a bit like a dork jerking your iPhone around to dodge bullets, but it's probably pretty fun.
For the next section, Forestall introduced several application developers, mostly game companies, who got to spend only two weeks playing with the iPhone API. In most cases, they came up with some amazing stuff. First, a couple EA developers showed a basic port of this year's most anticipated game, Spore, which will be releasing for iPhone this fall. They were able to demo basic gameplay and species modification using the touch controls of the iPhone. Sega also showed a version of Super Monkey Ball that is only controlled by banking your iPhone from side to side and the developer claimed it was a very fluid, intuitive motion. It looks like a blast and it certainly looks like the games will abound on the iPhone.
Non-gaming apps were represented as well, with AOL Instant Messenger, Salesforce.com and Epocrates making appearances. The AIM client looked great and easy to use, and is great confirmation that Apple and AT&T aren't going to be sticklers about using lots of data services. Salesforce had an interesting application that would certainly help salespersons manage their bottom line and follow up on sales from anywhere. Epocrates, a healthcare information provider, had an extensive database of drugs loaded into the iPhone's database and made it really easy for doctors to search for drugs and find all kinds of information about conflicting drugs and even see hi-res photos of what the drug looks like. All these applications look just as nice as the ones Apple provide with the phone and provide plenty of features. Rumors over the last couple days have been saying that programs are not given the ability to run in the background or as a scheduled event, so that may be a hurdle to overcome with some developers. Also, at least on the phone, your application has to be ready to stop at a moment's notice in order to answer a phone call, so that may be a bit hard to account for.
Steve Jobs return to the stage of Apple Town Hall to tell us that developing your own applications for the iPhone is entirely free as long as you're just testing on the iPhone simulator. However, to load it onto an iPhone, you need to purchase a $99 certificate from Apple to verify you're a trackable, reputable devloper. You can test it on your own iPhone and then upload it to the iTunes App Store, where iPhone and iPod Touch users will be able to download applications. Developers will be able to sell their apps for any price they like, including free, but Apple will take 30% of the sale price for the hosting and listing of the program, which is comparable to similar centralized stores for Palm or Windows Mobile. Apple will test your program and verify that it's not malicious and then will post it online. The App Store will also be available directly on the device, so users don't have to get to a computer to download and install new applications, which is crucial, although you could if you like. This seems to be a good balance between security and usability of applications and doesn't seem overly expensive for developers.
In a somewhat odd announcement for the fabled "One more thing...", Steve Jobs and Kleiner Perkins, a large Venture Capital firm, announced the "iFund", which is $100 million that is set aside for startups who want to develop for the iPhone. I guess this is supposed to spur development for the iPhone and give the little guy a chance for iPhone development. This move doesn't sound bad, but it's just a bit odd.
Overall, it seems like the iPhone is headed firmly in the right direction, even if some of us wanted it about a year earlier. Still, it's not surprising, as Apple doesn't like to lay all its cards on the table - they'd rather stagger them over time as the market for the original product slows down. If the development for the iPhone is anywhere close to what Apple and most people are expecting, I'll be itching to get an iPhone for my next phone when my contract expires in 18 months.