Developing for the iPhone
Sunday, July 8th, 2007 at 3:25 pm #
Why we have just seen the beginning of the iPhone third party application story, and what comes beyond sweet.
First let me describe what I understand to be a real iPhone app (as opposed to a “sweet” iPhone app, which is simply a website):
Icon on the home screen
As long as you cannot access it from the home screen it is not on par with the built-in apps. The launchpad for apps on the iPhone is the home screen, not the bookmarks in Safari.
Access to full screen mode
It should have control over the whole screen, as every built-in app has, and it should react to changes in the phones orientation.
Notifications of UI events
This is most important, but least visible to the user. A real event driven app model. Reacting to taps, zooms, “sleeps” (i.e. user hits home button or phone call comes in), orientation changes, etc.
Finally, which is why real iPhone apps are so ticklish for Apple:
Access to the phones resources
This includes full IP network access (not just fetches of webpages), initiating phone calls, access to the contacts, but also mundane things as access to the filesystem.
Because of this last point there was never a realistic chance of an SDK at the launch of the iPhone. What Apple has done so far in this timeframe is already incredibly much, and I do not see how they would have been able to create a solid, future-proof SDK on top of that. A phone is not a Mac. It needs more security, because it is less clear what it does, and iPhone users deserve something better than “Application X wants to Y? Cancel or Allow?”, where Y may be something the user does not even understand.
But I do not think that “sweet” (i.e. web based apps only) is the final word on developing for the iPhone. I think third party apps will be “one more thing” on a Stevenote in the future, because they add value. Tremendous value. Imagine a Mac with software from Apple only. How lame!
Third party apps could even become another competitive advantage of the iPhone! Why that? Because Apple could make this process very easy, like the rest of the experience with the iPhone, by selling and installing the apps over iTunes. Like they already do with games for the iPod. Like selling songs. Really easy.
Imagine the traditional model of selling software for a phone: Find the software on the web, go to that website, download a package, drag this to a sync application, then sync to install it on the phone. And this is only the install, you haven’t bought the software yet. Compare this to browsing apps inside iTunes, click on a buy button, look at the progress bar, done.
Now if you ask me if I as a developer like this, I am not totally sure, because it gives Apple total control over the sale to the customer. Though this is not as bad as some developers may think, because that is what most sales are like: Normally companies creating the goods do not have direct access to the customers at the point of sale. On the other hand, if this improves the experience for the customer, and it will then lead to more customers, I do like this model!
So what are the things to be solved by Apple before this “one more thing” could become reality? (Except creating a funny punch-line around the words “even sweeter”):
1. Security model
What they need is a security framework that defines access to resources in a way that goes beyond the current model on Mac OS X. This is not only a technical issue, but also an issue of how to expose this to the user in an easy and understandable way.
2. Business model
How will this work from the business point of view? Will Apple test apps before selling them, and will this cost something? Will listing apps cost something, or is Apple’s cut simply a percentage of the sales price? What about freeware and open source applications?
When these two things are defined, the issue of the interface guidelines will be worked out on the way. Don’t expect every app to be perfect. Even Apple included the Notes app that is a duck, don’t expect developers to deliver only brilliant apps, or that any guidelines would guarantee they will.
The kind of developers who could do great iPhone apps are the existing Mac developers. Apple, let us do it, and I am shure we would add great value, that would make the iPhone even more successful.
Oh, BTW. don’t you think that Frenzic would be a wonderful game for the iPhone? Then read this! If you haven’t done so already then download and try it on your Mac today — and then think of how much fun this would be on an iPhone with its touch interface.