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 was 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? 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 have 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.

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.

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.