If Apple meets its self-imposed deadline, we can expect the release of an iPhone Software Development Kit by week’s end. The release of that SDK is probably one of the most anticipated iPhone-related events since last June’s launch of the phone itself, and it’s easy to understand why: the SDK will officially open up the iPhone to third-party application development.
“Officially” is the key word in that sentence. Because, as we’ve documented here before, the iPhone has been unofficially able to run third party apps since roughly one month after launch. It was shortly after that, in fact, that my iPhone left its factory stock state, never to return. I decided last fall that, rather than lose out on all the great third-party apps I had found when installing iPhone updates, I would hold off on upgrading my iPhone software for as long as I could.
Now, nearly six months after I wrote that linked article, my iPhone does everything—and more—than my Palm Treo ever did, and it’s become my perfect portable computing device. In fact, there are times I literally forget it’s also a telephone and an iPod, as it handles its role as my ultra portable technology tool so well. I thought it might be interesting, then, to take a quick look at the state of third-party applications on the iPhone on the eve of the release of Apple’s official SDK.
Much has changed in the world of iPhone modifications in the last seven months. What started as something that required a high level of technical knowledge has become amazingly simple to do with the 1.1.3 version of the iPhone software. As before, I held off on upgrading my iPhone until third party application support was back—and until at least a few friends had tried the process for themselves and proven it works. The good news is that enabling third-party application support on the iPhone is now quite simple (though there are some complications based on which version of the iPhone you have).
I’m not going to go into great detail here, but the basic process is to let iTunes back up your iPhone, tell iTunes to “restore” it to the new 1.1.3 firmware, and then use ZiPhone to enable third-party application support. The process takes a few minutes and a few button clicks. There were a couple minor issues with two third-party apps (Apollo, a chat app, and Term-vt100, a Terminal app), but the fixes were easily found (Apollo; Term-vt100).
And now, the standard disclaimer any time we talk about modifying your iPhone in this manner: Enabling third-party application support on your iPhone may void your warranty, expose you to security holes, allow malicious software to be easily installed on your iPhone, and potentially cause your hair to fall out. Proceed at your own risk.
After restoring my iPhone’s contacts, movies, music, and e-mail, I set about the task of repopulating my collection of third-party applications. It was during this process that I realized the pending release of the official Apple SDK isn’t nearly as exciting to me as it once was—in the short term at least. Yes, it’s very important to the long-term future of the iPhone, and I think it’s going to push this platform in ways that even Apple hasn’t considered. And I think we’re going to see some truly amazing native iPhone applications as a result of the SDK.
But as of today, really, I have everything I need to make my iPhone a complete tool, and I wonder just what the SDK will offer (aside from the quality and security that will come with Apple’s stamp of approval). For instance, as seen in the image at right, the installer available today works great over wireless or EDGE connections, includes a built-in update mechanism, as well as an easy uninstaller.
Will Apple’s official SDK work that way, too? Or will it instead require an application running on your Mac or PC to purchase programs from an “iPhone Store?” Will it work over wireless, or will it need a wired connection, as is required to sync songs and movies? Until the SDK is released, of course, we just don’t know. But it’s hard to imagine anything running more smoothly than the NullRiver Installer.
While I covered some third-party programs in my article from last September (including a tool to access my Mac’s GUI on the iPhone, some games, chat applications, and more), the quality and variety of programs available has continued to grow. Many of the apps I mention below are available via the Installer.app; you can find others at ModMyiFone.
As of this writing, I’d estimate that there are more than 300 separate things you can install on your iPhone—many of these are themes that customize the look of your iPhone (using an app named SummerBoard). Here’s just a small example of some of the “skinning” you can do:
Then, of course, there are the games. Nothing helps ease those long airline journeys more than some relaxing games. The games scene was already quite robust last September, and it’s done nothing but improve. Two of my recent favorites are backgammon and iPinball. There’s more, of course, including “Tap Tap Revolution,” Sudoku, a PSX emulator, and Labyrinth, which is perhaps the most unique game on the iPhone, as seen in the image at right.
Labyrinth is a modern take on a game you may have played when you were younger—or seen your parents playing when you were but a tot! The old version was physical, with a steel marble on a rocking wooden play table filled with holes. Rock the table, and the ball moves towards the final target. In the iPhone version, you just tip your iPhone on its axes to play—the game uses the accelerometers in the iPhone to move the ball. It’s harder than it may appear, and more addictive than I imagined it would be when I first saw it.
Beyond the visual and the fun, though, the solutions available have become quite amazing in both their breadth of coverage and in many cases, the professionalism of the end results. The screenshots in this article, for instance, were captured with a command line utility called
snapngo—this command is run on the iPhone, after connecting via
ssh from my desktop Mac. It snaps a picture of the iPhone’s current screen, then publishes it via Bonjour. On my desktop Mac, a program called FileCatcher is running, and it then sees the new screenshot and grabs it. For those who write about the iPhone, this is a huge timesaver.
There’s also a Search program, for searching your calendar and contacts. A web search front-end, which greatly simplifies searching various web sites: instead of having to load the site, find its search engine, and then entering your search, you run WebSearch, pick the site to search (you can customize the list), and enter the search term in a pop-up window. WebSearch then sends the search request to the chosen site, and loads Safari to display the results. Much faster.
There’s a dictionary application with a number of different dictionaries, encyclopedias, and thesauri; CameraPro adds more features (burst mode, self timer, silent shutter, digital zoom, auto rotation) to the iPhone’s camera; there’s even an app that does nothing more than add a Contacts icon to your iPhone’s screen—without this, you have to go through the Phone interface to browse your contacts. VoiceDial and VoiceNotes both do what you’d expect based on their names. A zip code application puts zip codes and related city information at your fingertips. If you’re a developer, you can install Perl, PHP, Python, Ruby and TCL on your iPhone—and even the Apache web server.
There’s an eBook reader and assorted books. A media server will stream music from your iPhone to your computer. Queue managers for NetFlix and Blockbuster, along with an eBay auction watcher. Quite a few programs to listen to internet radio. Utilities to make it easier to send pictures to people. Mobile RSS readers and money management tools (for tracking expenses while on company travel). A unit conversion tool. Various HP calculators (HP-11C, 12C, 15C, and 16C). There’s even a golf scoring application if you’re the type who can’t ever put your iPhone away, even when on the course.
As you can see, there’s a huge variety of software available; I’ve only touched on some of the more interesting applications. It will be interesting to see how Apple handles these smaller applications with their SDK—most of these apps are distributed for free or as donationware. Will Apple’s official solution—which we know will require some sort of Apple approval for developers to put their applications on the iPhone—offer the same variety of solutions, and access for smaller developers with simple but useful programs? Only time will tell—perhaps as little as 24 hours of it, but the answer is certainly coming in the short term. It will be most interesting to see how this all plays out. As with prior upgrades, however, I don’t think I’ll jump right in—I’ve grown quite used to my iPhone and its current level of functionality.