Flaky Goodness

Native Mobile or HTML5

November 25, 2012

You're building a new web-based application or service and you want to offer a mobile solution to your users. Do you build a native app or tailor your website to mobile clients using responsive HTML5 and JavaScript?

It's tricky.

If you agree that native apps will offer the better user experience (and I believe that, with practically zero exceptions, they will), the gut instinct is to build out native apps for your chosen mobile platforms. But which platforms? Well, you need an iPhone and iPad app, and you need to support both the retina and non-retina versions of each, and yeah, Android support is pretty important these days, and maybe a lot of your target uses Windows on the desktop so you want to cover your bases with a Windows RT client.

Ruh Roh.

You've just signed up for about 10 developer-years of extremely expensive effort. If your business is still in the "if we build it they will come" stage, this is probably ill-advised.

The TimeTiger web client running in mobile Safari

The TimeTiger web client running in mobile Safari

So maybe for now, you can put optimal user experience on the back-burner and develop a nice mobile-friendly responsive web site. This comforting idea is a dangerous illusion, as:

  1. Cross-platform responsive web development is incredibly difficult and fiddly, and can actually take longer than native app design using decent tools.
  2. Even when you get it right, the average user's mobile web experience will be significantly worse than an equivalent native experience.
  3. Once your business is off the ground, you will eventually want to make native clients anyway, so much of this effort will be wasted.

Your choices boil down to diving into the bottomless pit of native mobile development or sacrificing your app at the altar of crappy user experience. Not ideal.

The only way forward is to consider, deeply, your users. What are they using now, what are their expectations and what are they willing to accept in order to gain the functionalty you're offering?

"What you tolerate defines your community." - Heather Champ at Web Directions South 2012

If you are developing an app targeted at a design-conscious, consumer audience whose attention you need to grab and hold, it is absolutely essential that you provide a magical and delightful experience. Don't trick yourself into believing that HTML5 is enough: learn from Facebook's mistake.

On the other hand, if you're providing a hard-core business tool where the appeal is in the actual functionality or data you're offering, you can probably get by with a responsive web solution for now. If your users are thankful just to be able to get what you've offering on their device, no matter the form, you're good. If your users are typically not very design conscious, in that they don't care whether you have nice smooth transitions between pages and maybe can't even tell whether they're looking at a retina device or not, you're good.

Good for now because everybody likes to use great software, even when they aren't consciously aware of what makes the software great in the first place. All things being equal, a competitor will eventually develop a native experience that, even if it provides less functionality, will still start pulling users away from you. Unless and until browser technology improves and converges, providing your mobile experience in the form of responsive HTML5 is a shunt: good enough for now, but that's it.