In the last week, Apple has released a major update to the iPhone, including a second generation of the iPhone hardware and a new version of the operating system that runs both the iPhone and the iPod touch.
Yet for all this talk of second-generation hardware and updated software, one of the most important components of the new iPhone is definitely still at version 1.0.
With the release of the updated iPhone software, Apple flung open the doors of its new App Store. On its first day, the App store was populated with more than 500 programs, and that number is growing rapidly.
Think about that: 500 programs, all of them at version 1.0. On a device that had never before supported software written outside of Apple. Itâ€™s exciting, seeing the birth of a brand new software ecosystem. But itâ€™s also scary. If people were worried about the first-generation iPhone hardware and software (many vowed they wouldnâ€™t buy an iPhone until the second version arrived, for fear of buying a buggy 1.0 product), how should they feel about more than 500 programs on a brand-new platform, all at version 1.0?
For Beta or Worse
Writing software is a complicated thing. Itâ€™s easy for bugs to slip in, but hard to track them down. Over the years, programmers have come up with some solid methods for making sure that even the initial releases of their software are relatively stable. Unfortunately, many of those methods werenâ€™t available for the first generation of App Store programs.
Take beta testing. These days, lots of people have heard of it: pre-release versions of software or Web sites are made available for users to try out; those users can then discover the bugs that slipped past the programmers. When people use software in ways (and, in the case of iPhones and iPod touches, in places) that programmers never envisioned, bugs surface that would otherwise not have been spotted until the program was put into general release in the cold, cruel world. (I participate in pre-release product tests myself, and I find bugs all the time. The system works pretty well.)
Unfortunately, there was no way for iPhone programmers to beta-test their products before the App Store launched. The software used to create iPhone programs was a secret. And only a select group of programmers were able to run their programs on real hardware, rather than in a Mac-based simulator. Developers in countries without iPhones could only test their programs on the iPod touch.
Even worse, Appleâ€™s cloak of secrecy around the iPhone software programming tools prevented programmers from sharing tricks they had picked up during their work. The programming community, especially on the Mac, is remarkably collegialâ€”programmers post blog entries detailing things theyâ€™ve learned all the time, and the quality of all the programs in the Mac ecosystem benefit as a result. Without blogging and Google searches, the only way iPhone programmers could share what theyâ€™d learned was through the old, inefficient medium of one-on-one conversations.
Some programmers figured out how to test one anotherâ€™s work, figuring it was better to have a few fellow developers test their programs than to have no testing at all. But the kind of robust pre-release software testing that we are used to with Mac software simply wasnâ€™t possible for cutting-edge iPhone developers.
As a result, the first batch of iPhone software entered the world, delivered by a bunch of programmers collectively holding their breath and crossing their fingers. And there have been plenty of bugs to be found, much to the frustration of the programmers.
App Store Albums
Then thereâ€™s the App Store itself, which Apple has based on its existing iTunes infrastructure. Itâ€™s a proven system that has reliably sold tens of millions of songs over the years. But it hasnâ€™t been used to sell a lot of software before, other than a handful of iPod games. As a result, itâ€™s definitely at the 1.0 stage of development as well.
Unlike music, which is pretty much done as soon as itâ€™s been uploaded to the store, software is in a constant state of flux. The App Store has a mechanism that enables users to receive updates to the programs theyâ€™ve downloaded. But as I write, one week into the App Storeâ€™s life, several developers have reported that they had fixed major bugs in their software, only to wait for days without any sign that those updates would ever surface in public. (Apple has to approve each program that gets released on the App Store.) The developer of the fitness utility Fit went to the extreme of noting on the App Store that the current version of its program (since fixed) contained a crashing bug. Other developers saw their programs added to the store, then mysteriously removed, then added again.
And from the userâ€™s side, thereâ€™s confusion too. An individual program can have a different name on the store, in the iTunes application on your computer, and on your iPhoneâ€™s home screen. If youâ€™ve got two very similar programs (Sudoku comes to mind, for some reason), it can be almost impossible to tell them apart.
And then thereâ€™s the reviews mess. iTunesâ€™ user-reviews system is based on the idea that people will write short reviews of music albums. On the software side, it took less than a week for that system to be exposed as utterly inappropriate for software. Users post questions or misperceptions about products, and developers have no way to respond. Others post rated reviews despite saying in their review that they havenâ€™t actually used the product.
Brave New Frontier
The world of iPhone software is an exciting place. But itâ€™s also a bit like the Wild West: a little lawless and slightly dangerous. (When I use add-on software heavily, my iPhone crashes far more often than it ever did before.) Itâ€™s definitely not for everyone. But it is exciting to be out there on the forefront, using innovative new programs and playing whizzy games on a device that once was used just for phone calls, e-mail, and Web browsing.
Iâ€™m sure that Apple will eventually get its act together and fix the process of developing, debugging and selling iPhone software. In the meantime, though, you might want to venture into the App Store cautiously and with great care.