Apps: Native or Web?

Three decades in the computing industry, the last half solely in web software, do not make me an expert but I have observed a lot over that time. I’ll share a conclusion I came to a couple of years ago related to apps… applications… those things you install on your internet-connected devices.

A software development dream has always been a world where you can create a program once and deploy it everywhere. Much effort has gone into building an actual foundation for this worthy goal. Pains have been taken to avoid the silo and increase portability.

Back in the day, application software was pretty much tied to hardware. If you wanted a pre-written program for a particular task, you bought the system it was designed to run on. Or if it was decided that a particular brand of hardware was in your future (IBM, anybody?), then you could pick only from those programs created for it. Or write your own.

The idea of acquiring the best software AND the best hardware for any given project was recognized as a good one, but not the way things actually worked.

Browser capabilities are starting to deliver on many of the promises of a common platform. It’s truly amazing what CAN be done TODAY across a wide range of devices… phone, notebook, tablet, phablet, desktop, TV, car dash and viewed on watch or big screen… made by myriad manufacturers, connected via different networks, all without unusual technical skills.

CONCLUSION: Lean strongly toward WEB APP unless there is a truly compelling reason to “go native”. And even then, think twice… the landscape changes, sometimes quickly.

Here’s my perspective:

  • Native apps installed on personal devices disclose a lot more about YOU than you may think. Not that the web is a whole lot better.
  • My gut estimates that 68.3% of the time an app you are installing asks for SO MUCH ACCESS — you know what I mean — it is NOT because it actually requires deep device access to deliver its solution.
  • Native apps cost more to create and maintain. At least in certain niches.

The native app process feels too much to me like the splintered approach of the past. While probably good for the iTunes and Android stores, I’m convinced it is not in the best long term interests of users in general.

Somehow, many have the notion that the only way to “stand out” is via the app store. There may be some initial visibility gained but most soon get lost in a large crowd of apps.

Whether a native or web, what really works is having a useful application. If it does the job, most will not care how it was created. Or in what language. Or anything else. They just want to use it, just do it efficiently so the cost is minimized.

Up until recently, a native app was the ONLY practical alternative.

An entire ecosystem evolved, originally controlled by Apple. Then Android joined the mix. And there are still others. Fragmentation is especially problematic when trying to provide horizontal solutions.

While some view these “stores” as “quality assurance”, others see “gatekeepers”. At best, they slow processes down.

To a product developer, the last thing you’d CHOOSE to do is create multiple side-by-side versions of a program. Aside from being illogical and a nightmare, it is horribly expensive. PLUS history says the death of one or more of the hydra heads is certain.

Oh, and what is this with apps that no web interface at all?

So what changed?

  • Browser technology has advanced sufficiently to deliver “app” functionality. HTML5, CSS3, Javascript, JSON, etc.
  • Mobile device power, available connectivity, and transfer speeds have steadily increased… and will continue to do so.

The means you can realistically deliver apps by “simply” creating an application website, or “one page web app”.

I say “simply” only because it is easier,not easy. Cheaper, not free. Better, not the “final solution” for all time.

Are native apps dead? Certainly not… native has a place. But far fewer situations than most have been led to believe.