iPhone App Store

July 18th, 2008 at 4:29 pm

The iPhone v2.0 firmware update has come and gone and a lot of people have now updated. There were some hiccups along the way, but - for me at least, and I imagine most people - it went pretty smoothly.

The biggest new feature is the inclusion of the App Store, finally allowing 3rd parties to sell and distribute their own software for the phone. The iPhone has gone from simply being one of the most intuitive (and expensive) cell phones around to being a computing platform in its own right.

On the whole, the App Store itself works great. It’s easy to browse for the software you want, download and use it. It’s remarkably well implemented, in my opinion.

I still have some concerns about the manner in which Apple is treating this as a closed platform, however. While I’ve written at some length about how Apple asserting itself as the platform’s gatekeeper severely limits the kinds of software people choose to install on their own phones, there is another aspect I had not considered: How it impacts 3rd party developers’ ability to write/test their own software and be responsive to end users.

In recent years, Mac software development has worked something like this:

You spec out a project and begin writing it, usually informed by a combination of perceived demand for certain functionality among potential end users as well as your own desires for a given type of program. You put feelers our from existing customers or early adopters asking for beta testers, eventually making these people an integral part of your development process. From time to time you may get stuck on a technical challenge or hurdle, at which point you visit on of the usual hangouts for Mac developers and ask for help. The Mac development community is pretty friendly, and odds are you’ll get sample code or suggestions in short order.

This is what Mac developers are used to.

iPhone developers - many of whom come from the Mac world and are used to the above process - are faced with an altogether different type of environment.

In order to develop software for the Mac you merely have to install a set of (free) development tools and start coding. By contrast, beginning iPhone development requires that you register with Apple and agree to abide by an NDA. This gives you access to the tools, but if you so much as even want to test your own software on your own phone (versus the emulator they provide, which works well but isn’t a substitute) you have to pay $99 and wait for someone at Apple to approve you as a developer.

Once approved - and, mind you, many people are still stuck at this point - you are still bound and gagged under that NDA. Want to ask for code snippets or assistance? Good luck with that. Want to gather a bunch of beta testers out of the more adventurous of your loyal customers? You can’t. You’re pretty much on your own.

Let’s assume, then, that you eventually finish developing your killer iPhone application and Apple approves it for addition to their App Store. While (if you’re lucky) the money will start flowing in, due to the lack of beta testing odds are that your customers will uncover a number of bugs that you missed or start suggesting all sorts of new features/changes that hadn’t occurred to you.

Most good developers are going to want to push out bug fixes and tweaks as soon as possible, but there is another barrier in place to be concerned about: Apple has an approval process for each and every single update you make, even if it just entails a single line of code.

A process that was presumably intended to ensure greater quality of software for the iPhone platform has - from the outset - resulted in more than a few buggy applications.

Take, for example, NetNewsWire, a RSS/Atom feed aggregator recently released for the iPhone. The desktop version for the Mac is a high quality piece of software engineering. The developer, Brent Simmons, has a long history of writing quality code and being responsive to end-users. He’s just the sort of developer any platform needs for long-term viability.

And, yes, the mobile version of NetNewsWire has only garnered a 3 star review in the App Store, with users complaining about performance and stability concerns. I’ve even held off on using it, though I’ve been consistently impressed with the desktop version.

In a recent post to his weblog, Brent laments his inability to get the latest versions of the application (which he says fix most of the problems) out to end users. He’s still waiting on v1.0.2 to complete its review, though he’s already finished v1.0.5 and has already begun work on v1.0.6. There’s no telling when these will be made available.

Even worse for Brent, once v1.0.2 gets pushed out he may well be working on much later versions. Stale bug reports and feedback from end-users will be of little utility, referring to issues he may have already resolved already.

This secrecy by Apple is even holding up books on iPhone development. What amounts to a public plea for help from Apple by The Pragmatic Programmers indicates that would could be a valuable resource to developers is being held back for no particularly good reason. One might be forgiven for thinking that Apple wants the iPhone platform to fail.

On a practical level the new App Store is well implemented, and in the last few days I’ve really enjoyed playing with the various tools people have written for my phone. But, even more than any technical glitches or blatant omissions, this “walled garden” philosophy that Apple is adhering to has the potential to kill the platform before it ever really takes off. There are, after all, other big players waiting in the wings with impressive technology of their own.

I’ve actually been a bit underwhelmed. The store itself works very well. And I’m impressed by how easily the store works via the iPhone itself.

However, the software is buggy as hell. And many apps are overpriced. Really, $10 for Tetris? $10 for Bejeweled?

This seems to be tied to Apple retaining too much of the bad behavior of the phone companies or something. This walled garden that you’ve described is doing more harm than good.

I was actually wondering how some of the applications made it out into the wild given how often I have crashed some of the apps and in some cases locked up my phone. I’ve had to delete and uninstall some of them a number of times. Others I’ve given up on completely. Now I understand– I’m actually one of the first real beta-testers for some of this. It’s worse to realize though that the process to fix bugs is ridiculously bottle necked to the point that I’ll be living with these bugs for awhile.

I’m going to hold off on spending any significant amount on money to see if Apple wises up. Though odds are still high they won’t and people will still pay to debug this software for me… but at least I won’t pay for that pain.

– Paul


> However, the software is buggy as hell. And
> many apps are overpriced. Really, $10 for
> Tetris? $10 for Bejeweled?

My guess is that the software will improve in quality. It’s still a new platform with minimal documentation, people have to get used to designing with the iPhone’s constraints in mind, and now at least developers can get feedback from end-users (delayed as it may be). Not optimal, but surely this will all help.

Price, though, is another story. The iPhone is seen as a boutique phone for people used to spending freely. I don’t see that changing any time soon.

On the plus side, I’ve found that as long as you authenticate with a single account, purchases can be shared between multiple phones (so Glenna and I can share our software purchases, for example).

What’s annoying is that the justification for the “walled garden” philosophy - which pisses me off for other reasons - was to ensure the stability of the platform. And yet, from what I’ve seen, it has had the opposite effect.

> I’m going to hold off on spending any
> significant amount on money to see if
> Apple wises up.

Some good software exists, for sure. One thing I have to give Apple a hand for is integrating product reviews so closely into the App Store experience. You can usually tell if something sucks by paying attention to what people have to say about it.

I do wish they made it easier for developers to distribute time-limited demos, though. I’d feel perfectly comfortable trying stuff out if I knew I didn’t have to buy it.

- Jeff


> Price, though, is another story. The
> iPhone is seen as a boutique phone for
> people used to spending freely. I don’t
> see that changing any time soon.

Oh I don’t mind spending more than really is necessary for something I really want. I just don’t want buggy software. This is one of the reasons I have so little loyalty for MS products. Sure, I buy a lot of stuff (e.g., MS Office, Xbox, etc), but you can pretty much assume anything they release and you PAY for is still just their latest beta release. I never buy anything new from MS for this reason. I wait.

There I said it… I just compared this new model of Apple’s to MS :-)

So Apple in my view is making a serious misstep here in damaging costumer loyalty. Sure, these bugs will be worked out over time. But make it an option to have a limited demo, free beta, etc. Just don’t make me pay a premium to be a beta tester.

> On the plus side, I’ve found that as
> long as you authenticate with a single
> account, purchases can be shared between
> multiple phones

Excellent! I just bought a bunch of games for Laura that Glenna recommended (though she probably doesn’t realize she recommended them to me… I just asked what she like playing on hers). They are on my phone. When Laura gets an iPhone, I can just be sure to keep it all on my existing account and she can retain all those games.

– Paul