The emergence of Progressive Web Apps

Why you might not need a Native App

An article by Lee Walters 05-09-2018

Native experience and the need for speed.

We all love our phones - a bit too much if we’re honest. We love to read, write and perform tasks on the go like never before. Gone are the BlackBerry days with keypad and mini-stylus pens for working on the go.

Your modern phone, the pocket-sized black mirror, is a glossy window into the internet and the world of cloud computing. Once activated in your hand the installed software can trigger a range of emotions. But, what makes an app great?

It’s proven that user-testing and research provide the basis for a successful app, but it’s also the invisible user-interface: sounds, transitions and speed of the app that provide the “surprise and delight” element when you complete a task, maybe even triggering a happy hit of dopamine to the brain.

Until now, engineering such finely crafted experiences has predominantly been the domain of mobile developers, giving iOS or Android developers access to the gamut of device resources and features through native software.

Native mobile developers have been the avant-garde of software development, but recent developments within Google, W3C and the web community at large have paved the way for a for a paradigm shift in app development.

Enter the Progressive Web App

Progressive Web Applications or PWAs are web applications that utilise new offerings by modern browsers for working with offline access, push notifications and device hardware.

This combination of open standards coupled with advancements in web animation benefits a rich mobile experience normally coded exclusively with native programming languages.

For users, PWAs are more discoverable and quite a lot easier to visit than native apps which require installation.

For developers, PWAs remove the lead time for bundling and submitting an app to the App store and eliminate the need for acceptance of an App store’s End User License Agreement (EULA).

A PWA is, at its simplest, an enhancement of existing web technology published on the WWW which can run everywhere (mobile, tablet, desktop).

App-like philosophy

As coined by Google Developers, characteristics of a PWA are identified as:

  • Progressive - Work for every user, regardless of browser choice because they’re built with progressive enhancement as a core tenet.
  • Responsive - Fit any form factor: desktop, mobile, tablet, or forms yet to emerge.
  • Connectivity independent - Allow work offline, or on low quality networks.
  • App-like - Feel like an app to the user with app-style interactions and navigation.
  • Fresh - Always up-to-date thanks to the service worker update process.
  • Safe - Served via HTTPS to prevent snooping and ensure content hasn’t been tampered with.
  • Discoverable - Are identifiable as “applications” thanks to W3C manifests and service worker registration scope allowing search engines to find them.
  • Re-engageable - Make re-engagement easy through features like push notifications.
  • Installable - Allow users to “keep” apps they find most useful on their home screen without the hassle of an app store.
  • Linkable - Easily shared via a URL and do not require complex installation.

Under the hood

There are 2 key architectural features that define a PWA: Service Workers and the Web App Manifest file.

For the more technical among us, Service Workers (a subset of Web Workers) are JavaScript scripts which run separately to the main program and enable applications to take advantage of persistent background processing which does not interfere with the main program.

The Web app manifest is a simple JSON file that lets the browser know how the app should behave when installed. It also works to enable the ‘Add to the home screen’ prompt that browsers support.

These two features are baked into a PWA’s app “shell” that decouples content from function and allows the app to start-up fast and offline if necessary.

For the non-technical among us this all leads to a smooth mobile experience you can quickly access on your device.

In summary PWAs can:

  • Be visited within the mobile and desktop browser
  • Be added to the home screen with a single prompt
  • Provide push notifications even if the app is closed
  • Deliver fast loading times and offline access
  • Access device features, eg camera
  • Be indexed with Google

To see how PWAs are being used successfully out in the wild, go check out how both Twitter and Pinterest recently embraced a PWA approach and increased engagement, lowered data usage and gained huge increases in their app usage.

The right tool for the right app

As always, here at Edo we strive to be technology agnostic with an emphasis on selecting the right tool for the job within budget constraints. Progressive Web Apps certainly provide an efficient approach to mobile app development and as such we’ll continue to watch and support their evolution as a software methodology.

What are your app requirements? To find out if a PWA approach could benefit your upcoming project, get in touch today.

Get in touch

Contact us