A question that is circulating on the web and that I’m hearing ever more often from clients is the following:
“Will HTML5 kill native apps?“
Having developed mobile websites, mobile webapps and native mobile apps since the technologies first came out naturally I’ve an opinion about this. Not that I care either way. If native apps were superseded by HTML5 apps i would be the first to join the bandwagon. But i feel this question is being asked for the wrong reasons and by the wrong people. And without much knowledge of the subject matter or the forces at play in the mobile development arena.
The question in this post assumes you already know what HTML5 is, which of course you do, right? …. well just in case:
What is HTML5?
That depends who you ask. HTML5 is a buzzword that refers to a bunch of modern web technologies. The HTML5 working group WHATWG (Web Hypertext Application Technology Working Group) defines HTML5 as the next evolution of HTML4 (duh!). There is a part of the HTML5 specification that is stable and a large part that is in development. That makes HTML5 a moving target for mobile (web)app developers. Many of the specifications of HTML5 that are relevant for mobile browsers are “awaiting implementation feedback”. Which means awaiting feedback from Apple, Google, Microsoft or whoever about whether the specification is good enough to build a browser.
On a more practical level; for some people HTML5 is being able to swipe a webpage. For others its using the database in the browser. And so on. If you are still not sure what HTML5 is, I think the single most impressive demonstration of what HTML5 could be is Google’s Gmail webapp for iOS and Android. When a Google vice president stood up at the Mobile World Congress in 2009 and did a live demo of the mobile Gmail webapp in front of a couple of thousand people he justly received a standing ovation. So everything points to HTML5 being a promising technology. There are even some brave people who are using tools like PhoneGap to package their webapps for upload to the App Store, but the basic technology is the same so that really has no bearing on the rest of this article.
If you have ever written a modern mobile website you will know that each mobile browser vendor has a slightly different interpretation of the HTML5 specification that their competitors. Usually the really cool stuff like geo-location or touch events are where the (undocumented) differences are.
So given that it’s not exactly clear what HTML5 is, what forces are pushing for HTML5 instead of native apps?
I think its safe to assume that App developers are not asking for HTML5.
Businesses see the cost of mobile web and mobile apps. As consumers start to expect that businesses have a mobile presence, businesses see the rising cost to develop for fragmented mobile platforms. As if the fragmented technology wasn’t bad enough; every two years one of the technologies disappears so your investment is wasted. The promise of HTML5 is: write once, run everywhere. In the same way the Internet provided a reasonably cost effective way to distribute software through a single medium, HTML5 promises to save them from writing native code on a bunch of platforms and distributing it through App stores. And they have a workforce of web developers who would love to get into mobile. But the reality of any mobile development effort is that you write once and test everywhere. HTML5 on an iPhone is not the same as HTML5 on a Windows Phone or an Android phone. As much as we would like browser technologies to converge, that has not happened yet, Anywhere. Not on the desktop and definitely not on mobiles. So HTML5 will still bring fragmented solutions, albeit that the developers have the same skill set for all devices.
Consumers do not really care how much it costs to make an app or how many hoops a developer has to jump through to get an app to them. If the app provides a cool experience they will like it, and if it adds value to their life they will use it more than once. If installation and use is too fiddly, consumers will give up. So consumers are definitely not asking for HTML5 apps. As far as they are concerned a world full of native apps is a good one.
And now some numbers…
The popularity of native apps on iOS and Android makes it unlikely that mobile webapps will ever oust them. The sheer number of apps available on the App Store is a testament to this:
Over 330000 apps in the App Store, over 240000 apps in Android Market. How many HTML5 apps are out there? I doubt that its even 5% of the number of available native apps. And i sincerely doubt that users are finding the HTML5 apps.
To conclude, web developers and (some) businesses are the driving force behind the HTML5 buzz. But for the foreseeable future consumers want the cool native apps that app developers can provide. That said, i expect all HTML5 browser variants to co-exist in good mobile fragmentationist tradition and bug us with their quirks and incompatibilities for years to come.