Why Web Apps Are The Future Of Augmented Reality

The debate on whether to build mobile web apps or native apps is as old as the technology itself. A good analogy for the battle between Native and Web apps is Desktop vs. Cloud applications. It seems the distant past, but until around 2004 the vast majority of applications ran on your desktop. You had to buy software in the store (or online), install and use. As bandwidth increased, and GUI standards improved, more and more applications moved to the cloud.

The Arguments

Better access to device resources, the ability to store user settings (and payment information), offline access and a better UX flow are among the most cited arguments for Native Apps. Instant access without the need to download 100MB’s, being platform agnostic and the ability to push new content without app updates are the best arguments for Web Applications.

But there are other trends, both related and unrelated to Augmented Reality, which makes us believe that Web Apps is the future of Augmented Reality applications.

Hardships Of User Acquisition

In the past 3 years, it has become increasingly hard to get people to install and keep apps on their phones:

  • Cost per Install (CPI) — has been increasing rapidly in the past few years. In 2015, Android CPI grew 40% from $1.83 to $2.57, while iOS grew 35% from $2.97 to $3.99. Although there are many nuances here, the overall trend is that it is becoming more expensive to get users to download your app.
  • Discoverability — 2.8M apps on the Play Store and 2.2M apps on the Appstore are great news for Google and Apple, but it making it increasingly harder for companies/developers to break through the noise.
  • Attention — Nearly 85% of our time on mobile is spent in our top 5 apps, according to a recent study. That means that even if your app gets downloaded, you are competing for 15% of people’s time (unless you’re FB, Twitter, LinkedIn, Snap, etc.)
  • Retention — 38% of apps get deleted within an hour (!) from install, 68% within 30 days. Users have very little patience and very high quality standards for app.

The Technology Gap is Closing

There are good reasons to believe that web apps will begin to look more and more like native apps due to these technology trends:

  • Progressive Web Apps (PWA) — PWA are a website building methodology that enables website to be treated by the browser like an app, rather than an old school website. It enables web sites to have live updates, push notifications, launch the web site from the home screen, SEO discoverability, offline usage and more. This circumvents many of the reasons why users prefer apps, which will make it easier for publishers to engage users without the high friction need for app download. Some notable companies who shifted to PWA are AliExpress, The Financial Times and Lyft. Check out the video below to learn more about PWA.
  • WebGL 2.0 — A javascript graphics API that enables rendering of high quality 3D graphics content on the browser. It is built on top of OpenGL ES (Embedded System) which allows it to use the mobile device’s GPU, which is a massive improvement compared to running it on the CPU. WebGL is supported by all major browsers which helps standardize web content creation.
  • WebAssembly — This is a new low level, Assembly-like, programming language that enables code written in non-javascript to run in the browser. It is efficient, lightning fast, and backward compatible with asm.js. Why is this so important? Wasm enables to leverage code written for native environment and run it in the browser. So the web can reuse native code and run it faster than normal javascript. Game Engine companies, such as Unity or Unreal are obviously interested and are actively collaborating with browsers makers to make it happen.
  • WebRTC — Web Real Time Communication is a well established standard that allows browsers to perform real time communications (in our case, access to the device’s camera and microphone). It works on all mobiles (IOS11 just added getUserMedia) and allow for a standardized way for developers to use Javascript libraries such as three.js and ar.js to enable real time AR experiences within a web app environment.
  • Shared Memory and Multi-Threading — WebWorkers is a way to run code on multiple CPU cores at the same time. A Typical modern smartphone has 4 CPU’s, and to leverage all of them would greatly increase the CPU available to the application. WebWorkers has been around for a long time, but recently shared memory and atomic was added, which greatly helps computer vision applications. We can now use all CPU cores, avoid unnecessary copy and handle shared resources efficiently with atomic locks.

Why Is It So Important For AR?

Today, we are only dipping our toes in Augmented Reality. We believe that in the next 5–10 years, a fully (or semi) transparent device that will be worn as glasses, will replace the mobile device as our personal computer.

The most important difference between smartphones and smart glasses is the promise of access to contextual information. Today, we only see glimpses of value on our smartphones (mainly with location based information, e.g your iPhone now knows when you are parking your car and saves the location), but in the future, we will see our exercise data on the road while we jog, log food information when we look at it (or a menu), instantly translate a language we don’t speak, see information on people we meet and much much more.

Reading foreign languages will soon be a seamless experience

It is impossible to foresee all of the services and applications we could use along our daily lives, especially when we go outside our daily routine (e.g travel). We need to have the ability to access contextual data instantly, without the need to install an app for that. Sure, there will still be applications that we will take a significant portion of our usage time, but the power of contextual data “on the go” has immense potential.