A common discussion that comes up in client meetings is on the topic of “Mobile Web vs App”.

The primary driving force in the discussion is the fear of having to develop the app for multiple platforms, instead of having to develop it just once and have it run in any smartphone’s browser. The question can be put in many ways, but essentially there are two main perspectives:

  • “Should we build a mobile version of our web site or build an app?”
  • “Should we build the app as a mobile web app, so the user can use it though the phone’s browser, or should we build native apps?”

Here is my advice.

Web Site vs App

If you want your functionality to be used, if you want to provide a rich user experience and the best user interface, then you should build an app. The app phone user prefers an app over a web site. App download and app usage data is very clear. Users rather transact and consume using apps.

However, if your site has a large volume of information that is often referenced, such as articles and posts, or other types of information such as time tables and reference tables, then you will want your web site to render nicely when users visit your site using their phone’s browser.

A typical scenario is when the user reads an email, a tweet or a Facebook post, using the phone, and there is a link to your web site. If the user follows the link, then you will want the page to render nicely. It’s a disappointment if the page renders as if the screen is a big desktop screen, forcing the user to scroll and zoom all over the page to make anything out of it.

This means that in Web Site vs App, you are likely to want to do both:

Position the app for the scenario when the user specifically chooses to interact and transact with your business.

Position the web site for the scenario when the user is taken to your site from other places, or just want to read something that is out of the app’s functional scope. In fact, the app could itself redirect the user to the site in such scenarios.

Also, for the non smartphone users out there. Even though we haven’t seen any relevant amount of web traffic data driven by these the past ten years, it is still not a bad thing to cover this base, too.

Mobile Web App vs Native App

Before addressing this question, I need to clarify one point: the user doesn’t care.

It is entirely possible to use web technologies to design app functionality, package it as an app, distribute the app through app stores/marketplaces, and the user won’t be able to tell if it is native app or web app. Note, however, that the context is the app format (design and distribution) when we discuss. As soon as the discussion implies that it is expected by the user to first start the browser, browse to a specific URL, and then use the web app, then this is not user friendly and the user does care.

So, when comparing two apps, one is native and one is web, it is possible in many types of apps to make it really difficult to tell which is which. This is key, however: don’t sacrifice user interface and user experience on the web altar. An iPhone app should look like an iPhone app, and an Android app should look like Android app. Make sure your web app looks like an app should look on each platform. If you can achieve this, then choose whatever path that suits you best (based on overall strategy, developer productivity etc).

If you want to optimize user experience and user interface, then you should build a native app. If you want to leverage the phone’s capabilities as much as possible, then you should build a native app. If your developers haven’t built an app yet, then you should build a native app. Don’t take any shortcuts if you don’t what you are short cutting. Short cuts are allowed only for those who do.

This is where cross platform vs native comes in. I don’t believe in cross platform frameworks. We’ve struggled with them for more than 20 years and they have three things in common: a least common denominator punishment, over promise and under deliver on “write once, run everywhere”, and they rarely address the user interface differences between platforms. These three issues are the primary reasons why cross platform makers are quick to state: “content is king and information is what matters”, knowing that user experience and user interface is their Achilles heel.

The most interesting development on the cross platform horizon is HTML5. With the industry wide support (Microsoft, Apple, Google, etc), we are bound for a future where some types of apps will be developed in HTML5 and related frameworks, and being able to run on more than one platform. This is, however, not an option that is mature enough yet. We are still waiting for tools and technologies enabling stable development and production.

In short: learn native, know native, build native first. If you choose to go web, package the app as an app, use HTML5 based options and make sure you never sacrifice user experience and user interface.

Summary

  1. Build native apps
  2. Make your web site look good in the smartphone’s browsers
  3. Keep you eye on the developments in HTML5 and if you choose to go web, don’t leave the app characteristics