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.