guide to progressive web apps

Mobile Apps are big, but still, people use their mobile browsers on their phones to access most of the content online instead of using just the mobile app alone. Why? You can’t possibly download every app – one, because you won’t always use them, and second, because you only have so much space on your device to hold them. So it makes sense to get on to mobile browsers and pull up what you need, as it requires less from the user. But obviously, mobile apps have a better experience than website / web apps and you’ll always prefer a mobile app experience than a web. Not any more.

Every couple of years some new technology comes along that changes the way that similar technology in the same category will be viewed. These new technologies follow in the game-changing footsteps of other technologies that shook up the way web browsing is done, such as native mobile apps. What’s the next technology to shake it up? Progressive Web Apps.

An idea originally conceived by Google in 2015, Progressive Web Apps take the best parts from both web and mobile applications, their API, and then bind them together. Progressive Web Apps are basically a website that is built to function and look like a mobile app. Progressive web apps take the already established web platforms, add ons and plugins, and user base, and then combine that with the simplicity and ease of use of a mobile app, to great success.

Progressive web apps also make great use of the fact that updating a website is generally easier, and much faster, than creating or updating a web app. The PWAs make app development less necessary as your mobile website becomes your app, reducing the need to spend on development of a standalone app.

The Terms

When it comes to progressive web apps, or any new technology idea for that matter, it’s important to note what the terms of the technology mean. Here are the important terms, as provided by Google, who pioneered the concept:
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 whatever is next.

Connectivity independent – Enhanced with service workers to work offline or on low quality networks.

App-like – Feel like an app to the user with app-style interactions and navigation because they’re built on the app shell model.

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 share via URL and not require complex installation.

Now that the terms that relate to progressive web apps have been established, let’s look at what progressive web apps do.

What Can PWAs Do?

Unlike a traditional mobile web app, that is to say a website that is optimized for mobile, progressive web apps offer much improved functionality in the spirit of a mobile app. This functionality includes things like push notifications, the ability to work in offline mode, and updates to the homepage when applicable. To oversimplify it, the progressive web app is a smarter, higher level mobile web app.

Progressive web apps achieve this functionality by combining the platform of websites with the design concepts of mobile apps and web APIs that work like mobile apps to provide a similar experience. It’s progressive, because as your device improves from a technology specifications point of view, the functionality of the progressive web app will also improve. For instance, opening a website built as a PWA on an older android phone will offer a more stripped down version of the site, as opposed to a the same PWA site opened on a brand new iPhone 7. The newer phone will offer better app-like features, it’ll be more…progressive.

A great example of a progressive web app and it’s functionality is The Billings Gazette:

Billings Gazette

The Billings Gazette website looks much like a mobile app, and due to the PWA aspects of it, it can run the articles in an offline-mode which leaves them readable even when not connected to the internet. The site’s design is set to look like a mobile app as well, combing the aesthetics that people have come to expect from them.

How It Works

When it comes to PWAs, there are two major pieces that form how they work: service workers and application shell architecture. According to Google (once again, the pioneers of PWAs), application shells are the minimal HTML, CSS, and JavaScript powering a user interface. The application shell should:

  • Load fast
  • Be cached
  • Dynamically display content

The application shell is the glue that keeps everything in your app together. It’s what helps your interface and affects the content in the API of the progressive web app. The application shell is what loads the site nearly-instantly in front of the viewer, and then behind the scenes loads the content up next. This is what helps PWAs look like they’re so responsive and quick.

Service workers, not to be confused with fast food workers, are the scripts and working parts of the PWA code that make the website do the things that resemble an app. These scripts include the use of push notifications for alerting the users of something, finding the geographical location of the user for the apps purposes, caching the data from the site, or retrieving data for the user. Service workers are the parts of the code that do all of the intuitive, app-like functions.

The Future

Progressive web apps are very much in their infancy as a technology and concept. With time, the PWAs should become more of the standard for web applications than just the interesting idea, which they are now. PWAs are starting to become more of a desired feature, with development companies being hired to update a website to match the new standards needed.

While they currently lack some of the SEO qualities that Google and other search engines use, such as Accelerated Mobile Pages getting search precedence over them due to faster load times), these limitations should eventually be removed as the technology evolves and the search algorithms improve to grade better for the added functionality they bring. Additionally, the PWAs currently don’t have any opportunities for websites to monetize their ad space, but this is something that is quickly being worked on.

At the end of the day though, progressive web apps offer many great and intuitive features that eliminate the need for companies to have a dedicated mobile app, instead making their mobile website easier to use, and without the hassle of even downloading an app if it exists. The benefits of them could be extraordinary, and ice the technology further expands they should become a regular addition to every site.

Contact Snyxius