Why We Chose HTML5 over Native Apps

My company recently had a tough decision to make. It was a decision that many developers are facing these days. Our sports news application LockerPulse hadn’t been updated since 2010 and were due for an overhaul. In the time that had passed since our last major update, the mobile web had exploded.

Consequently, we observed that an increasingly higher percentage of traffic was coming from phones and tablets. Should we continue to build just on the web? Should we abandon the web and build strictly for iOS and Android? Should we do both? Should we use a framework like PhoneGap or Ionic? After doing our due diligence, we built and released one single HTML5 app to support all users on all devices. Here’s why:

We’re a Small Team…of Web Developers

A little background on our company. We’re a small team of six full-time employees, most of whom spend most of their time on our e-commerce company that pays the bills. We had one developer (myself) and one designer to dedicate to this project.

Neither of us has had any experience deploying a commercial iOS or Android app, whereas we have both been developing commercial websites (including our own e-commerce software from scratch) for many years.

iveseenthefutire-html5

We work hard to keep ourselves up to date on the latest in the rapidly changing web design, web development, and web marketing communities. That, in and of itself, takes a lot of work. It would be naive to think that we could just jump in to building native apps and create anything near the quality of product that we expect from ourselves in any reasonable amount of time. We’d also be at the risk of spreading ourselves too thin – becoming capable at a lot of things but not exceptional in anything. We wanted to focus on what we do best, and that’s building for the web.

The Business of Building Once, Deploying Everywhere

HTML5 apps offer tremendous business advantages. We were able to reduce development time and cost, both up front and for the future. We can literally build once, deploy everywhere, as opposed to having to update several platforms at once. When there’s a bug fix or a new feature, we can release it as soon as it’s ready. It’s deployed to all of our users instantly, without having to wait for app store approval.

We’re allowed to show whatever ads we want or to accept whatever form of payment we choose without giving app stores a cut. HTML5 apps keep overhead low. It allows for us to spend more time on marketing, customer service, and all of the other aspects involved in running a business.

It’s a Better User Experience

Every other advantage in the world wouldn’t matter if HTML5 apps didn’t create a better user experience. The modern web browser is an incredible platform. For our service, it lacked nothing. Unless you need to access native functionality of a device like the camera or GPS system, or you’re building a game, there is no inherent need to go native.

Native apps might even create a fragmented experience where the user has to re-orient themselves to the app on each platform (Twitter is a great example of this inconsistent experience, although it’s getting better).

Comparatively, LockerPulse just "feels" the same whether you’re on an Android phone, iPad, or a Windows computer with a high-resolution monitor. The responsive design scales in a way that feels both familiar to the other experiences and custom to your current experience, something that’s easier to achieve in the browser than from platform to platform.

Browser fragmentation on the web is disappearing as well. The majority of our visitors (roughly 75%) use a WebKit based browser. WebKit is used for Safari on iOS, Chrome on Android, Safari and Chrome on the desktop, and even Internet Explorer 6 -8 using Google Chrome Frame.

With HTML5, responsive design using CSS3 media queries, and jQuery and other modern Javascript libraries, it’s possible to build a web app for a service like LockerPulse that does everything a native app could. The META tags recognized by both iOS and Android enable you to easily add an additional "native feel" to any web app. One of the simplest examples is creating a home screen icon so that users can launch the web app as if they’re launching a native one (we use the iOS Add to Home Screen script to prompt users to do this on their first log in on an iOS device).

The browser also just makes practical sense for any app like ours that does a lot of linking to stories on the web. We feel it’s a far better experience to switch browser tabs than it is to toggle between apps or to build a half-baked browser into a native app. Having our site indexable by search engines also ensures that each site we link out to gets the credit it deserves in the search results.

A Belief in the Future of the Open Web

As a company we’ve been fortunate enough to make our living on the web. We feel a strong sense of appreciation for all that the open web has to offer, along with a belief that the best is still to come.

We believe that the world is a better place with a free and open web, as opposed to the corporate controlled, walled gardens that are our current app stores. Whatever we lose in distribution and publicity of being in app stores is well worth the trade-off to us.

official HTML5 shirts

We’ve supported the W3C by buying our team the official HTML5 shirts that say “I’ve seen the future. It’s in my browser.” That’s not just an expression; it’s something we believe to be true. I think that the native app is a temporary solution.

Once connectivity becomes more ubiquitous, and the browser’s capability to access native resources expands beyond desktop notifications and launching default email programs, it’s my belief that the native app will cease to exist. That might be two years from now, it might be ten years from now, but I think that it will eventually happen.

When you start to ask yourself what skills to invest in for your career, and what platforms to build your business on, developing HTML5 apps seem like a pretty attractive choice.

(1 Posts)

Adam McFarland is the co-founder of Pure Adapt, Inc, a web development and e-commerce company located in Albany, NY.

Comments

  • Jon Procter

    Using HTML5 means you can support Windows Phone as well instead of having to spend even more time and money on that as well as the time and money spent on Android and iOS.

  • Matthew Laver

    Awesome thanks Adam. Really made me rethink our future plans for a simple app for our little organisation.

    Just wondering if you used any localstorage and what options you went with. Or have any further comments regarding local and remote storage.

    Thanks

  • Carlyle McCullough

    Well thought out and well written – thanks!

  • Yes that’s very true Jon.  I should have mentioned more than just iOS and Android.  Windows Phone could end up with a huge market share in a few years…and you never know Blackberry could make a comeback.  To your point, the great thing about HTML5 is that it’s supported everywhere so you’re future-proofing yourself.  Regardless of which mobile or desktop OS becomes dominant, you’ll still have something that works great on it. 

  • Good comment Brennan. I didn’t realize that Windows Phone had that poor of support for HTML5.  I would hope that with the release of Windows Phone 8 that will be improved.

    PhoneGap is REALLY intriguing.  We looked in to it quite a bit before deciding not to use it.  I dug in to the documentation and read every blog post and post on Stack Overflow that I could find to get a feel for what other developers thought about it.  The consensus seemed to be that it was buggy when porting from one platform to another, and that people had a hard time really getting it to work the way they wanted to.  Most ended up suggesting it was easier just to learn and build in the native languages.  Now, I have not used it so I can’t speak beyond what I read.  That was also ~6 months ago so there could be improvements. .

  • I’ve recently built a Mobile centric app using HTML5 and while we chose a path similar to your’s – using only HTML5 rather than native apps – the truth is that it was anything but smooth sailing. Mobile browsers behaved vastly different especially when it comes to mobile specific events and touch related features. Even rendering in a mobile-first design proved problematic for many situations. The same was true for a number of libraries and their behaviors on mobile devices.

    I think HTML5 and on is the future for development no doubt, but I wouldn’t say that we’re even close to having arrived at a stable platform that makes for a consistent developer/user experience just yet. To build truly outstanding Mobile Web apps you still need to be well above average in both design and client coding skills to get it right.

    It shouldn’t be this hard and until we get better consistency there will continue to be a strong market for device dependent platforms IMHO.

  • Worst of all Windows Phone has no mobile browser touch event support which is a total fail.

  • HTML 5 build apps can be run Android,iPhone,Blackberry platform too…. its very demanding these days…