Today I found another press release in my inbox telling me that HTML5 and Web Apps are the future for mobile devices. Again. I'm pretty sure I got an almost identical press release about two years ago, but this time they mean it, I guess? It's also the number one prediction in the article '10 Predictions for the Mobile Industry in 2013' online at Forbes.
What's kicked off the latest round of Web App championing is that this year a number of Open Source operating systems for mobiles are being released, including Firefox OS, Tizen, and Ubuntu. All these operating systems will run HTML5 apps natively, without them having to even be in a browser. Of course, with almost 90% of the mobile market in the US running iOS and Android it's still the browser-based Web Apps that matter right now.
Web apps, also known as 'Web-based apps', or 'mobile sites' (imagine apps that run inside your web browser, but for all intents and purposes look and feel like native apps) do have some natural advantages over native apps that run only on the platform they were coded for. For a start, they're 'code once, run everywhere' solutions. No longer do you need to learn two (or more) entirely different programming environments to get your app out on different platforms. They work across tablets, phones and desktops. As a developer this will obviously cut down on development time (and cost), and get your product out to more people. There's also no need to get your app approved by an official App Store - once its written you can literally just go live by uploading your app to the web.
Sounds great, doesn't it? Except it all falls apart when you start to think about the implications. Forget about the fact that native apps have a performance advantage over HTML5 ones, my main problem with Web Apps is this: Where's the money? In theory it's there - HTML5 apps already support web-based advertising, so there's a much larger pool of advertisers waiting to pay money for them. I can see why people think this - Apple's own iAds (adverts that appear in iOS apps) haven't really taken off, finishing 2012 with only 2.9% of US Mobile advertising market because of their limited reach, iAds are a very hard sell to advertisers, who probably have a large budget earmarked for 'online' and zero budget earmarked for 'apps.' Yet, what this neatly glosses over is that there's no way for customers to buy Web Apps that matches the convenience and ease of use of Apple's App Store - that means we'll most likely just have to put up with them being funded by advertising. If the success of Apple's App Store has taught us anything it's that if you make the payment system easy, insist on a decent level of quality and make it easy for developers to create beautiful, ad-free apps that surprise and delight us then they will, and people will buy them, in their thousands. The Mums and Dads, kids and Grandparents browsing the App Store from their iPad don't care about the difference between 'closed' and 'open' methods of delivering apps - they just want a system that works, and that's what Apple is delivering right now.
As I mentioned, there are ad-supported apps on the App Store, but have you used them? It's a terrible, frustrating, user experience. The ads are intrusive, your children click them by mistake all the time, pinging you off to the App Store or websites to buy something you don't want. I'm convinced the chief motivator for paying full price for a game on the App Store is the remove the intrusive ads from the Lite version! If Web Apps are forced to use advertising as their only revenue generator then good luck with that. The customer experience will be terrible and the revenue generated will be tiny compared to the App Store model.
That doesn't make your development costs cheaper - it actually destroys the revenue base for your product. Until Web Apps can properly address this problem the App Store model will be here to stay.
Graham Barlow will be treading the floors of Mobile World Congress in Barcelona in February. If you'd like to show him your latest Web Apps, get in touch.Suggest a correction