A couple of weeks ago I was walking through Barnes & Noble when I saw an ad for their Bookstore iPhone app, which lets you search for books, get recommendations, find your closest store – you get the idea. So why, I asked myself, is this a native app at all, when all that functionality can easily reside on a web site that can be formatted for the iPhone?
And that’s a question I’m increasingly asking myself, now that the App Store has topped 65,000 applications and rising. You can build an amazing amount of functionality into a web app for the iPhone. You can interpret gestures, link to maps, address book items, include photos or videos, etc. You can do fancy animations and transforms. You can even have off-line functionality.
And web apps have the advantage of being available on desktops and other mobile platforms (though, granted, not all the other platforms understand all of the pieces of html 5 and iphone specific features).
So why is everybody rushing to build native apps?
There are two reasons I’ve come up with:
The first is the marketing advantage of having an app in the iTunes App Store. Even though Apple does have a site that highlights iPhone web apps, it doesn’t have anywhere near the mindshare of the app store. But one has to wonder how much attention any individual app is going to get in the app store now as the size of the store grows ever more huge.
The second (that David Morton pointed out to me) is that the App Store makes it easy for app writers to handle payment for apps. That’s not trivial, though many of the apps, including the B&N Bookstore app, are free.
All this was brought to mind by the recent flap over Apple not allowing Google Voice applications into the App Store, and subsequent reports that Google will build all the same functionality into a web app.
I’m sure that there is some functionality you can build in a native app that can’t be done in a web app, but if Google can pull off building all of the voice functionality into a web app, it seems to me that will be a powerful demonstration of what can be accomplished in current web apps.