Are progressive web apps ready for prime-time? Learn about their benefits, limitations and figure out whether they are the right option for you.
In the past, web apps couldn’t compete with native apps reliability, speed or user engagement. I’m here to tell you that’s a thing of the past.
The web is becoming a platform for accessing lightweight apps on-demand. A platform where you can install and update without any friction. In this new web, your browser is the new store. These new apps can work on a mobile device as if they were native applications.
Progressive web apps bring the best of apps and the web. They have most of the capabilities of native apps, while being easier to discover and install. You’ll no longer need to worry about the app store gatekeepers. Nor will you have to pay anybody 30% tax on app sales for the privilege of being in an app store.
But before we dive deep into progressive web apps, let’s take a step back and look at the current App market.
Your customers will not download your app
Ever feel like striking gold in the App Store is like winning the lottery?
If you do, then you are not alone. The app store has become a giant repository where great, good and unfortunately bad apps go to die. As of January, 2017 there are over 2 million apps in the Apple app store!
Ready to hear the bad news?
Half of all smartphone users download zero apps per month (8). And according to Google 60% of apps in the Google Play store have never been downloaded.
I haven’t touched on user retention and active users yet either. The truth is many people abandon or never use apps they download. The average app user has 36 apps installed on their smartphone, but only uses one in four of those apps daily. A fourth of those apps are never used.
It’s no wonder it feels like a herculean task to strike gold in the app store. But why is it so hard to succeed with Native apps?
Apart from been able to find your app in the millions of apps out there, the app store has a lot of friction for the user. To download an app, an average user goes through a series of steps. What might that look like?
Find potential apps that solve my problem through search
Figure out which are best by judging reviews and screenshots
Determine which will actually fit my current need
Determine whether I have enough space and/or bandwidth to download it
Click to install app and enter password.
Figure out whether the permissions are "normal"
As you can see, it's not so simple. Unlike with a native app, a user is just a click away from using a web app.
Android seems to have noticed this and tried to address this problem through Instant Apps. Android Instant Apps allows users to run apps instantly, without installation. Instant apps gives developers a way to share part of their app with their users. An example for this, is Ticketmaster recently made it possible to purchase tickets using a native app without having to visit the Play Store.
What if there was a way for users to bypass the app store and try your app first without installing it. Enter progressive web apps.
What is a progressive web app (PWA)?
According to Google (5):
Progressive Web Apps are experiences that combine the best of the web and the best of apps. They are useful to users from the very first visit in a browser tab, no install required. As the user progressively builds a relationship with the app over time, it becomes more and more powerful. It loads quickly, even on flaky networks, sends relevant push notifications, has an icon on the home screen, and loads as a top-level, full screen experience.
Building Blocks of a progressive web app
There are 3 main components that make up a progressive web app.
App shell architecture
A service worker is a script that runs in the background. It responds to events, and processes them. They sit between the app and the server and serve as a proxy that allows data to be stored locally. It also helps retrieve data based on different events such as notifications.
Web app manifest file
The web app manifest is a simple file that gives you the ability to control how your app appears to the user. For example, in a mobile home screen. It also allows you to dictate what the user can launch and how they can launch it.
For more details about these and how to create them, please see google’s how to create your first progressive web app.
The benefits of progressive web apps
The major advantages of native or hybrid apps is that they are responsive, fast and can work offline. Progressive web apps can have the same benefits and more!
They are fast!
They respond quickly to user interactions with smooth animations. Also they load instantly regardless of network conditions (3).
Twitter light is an example of one of the largest and fastest progressive web apps out there. Through small continuous improvements they’ve been able to optimize their user experience. As a result, they been able to maximize speed and responsiveness (4).
One of the new developments in progressive apps it’s their offline capabilities.
They are lighter
Using a web version of an app can help users save battery, data and storage (2). By using progressive web apps, users could free up some much-needed space by deleting the app. They can also dodge the data costs that come with downloading the app in the first place.
Lastly, having an app install will consume a lot of the phone's batteries. For example, Instagram app consumes the 4th most amount of battery.
Always up to date
Another great feature of progressive web apps, is that they are always up to date. No need for users to update the app. You no longer have to make sure you are making the app backwards compatible either. Everyone is on the same version which simplifies things a lot.
The main benefits of web apps is that they are ubiquitous. They work in any supported browser using a single codebase.
Again one of the main benefits of a web app is that they are easy to access, and easy to distribute. Users can get to your site with one click. Progressive web apps also allow users to save the app to their home screen and have the app open full screen. A totally app-like and immersive feature!
Reach a wider audience
Companies like Facebook and Instagram have been trying to deliver the same full experience regardless of what device a user is on or what network. "Facebook Lite" and "Instagram Lite" help people in developing regions use the service without having to download the app (1).
Native apps can be huge to download especially over a slow network. To add to that, In some countries apps install only happen when they first get their phone.App downloading is rare because Wifi is hard to find and networks are expensive. Updating and installing apps are expensive.
Making the app available online makes it compatible with all devices that have modern browsers.
Easy to find
About 50% of people still search for apps in the app store. But web search is also a major source for app discovery. One in four app users discover an app through search. One of the characteristics of progressive web apps is that they registered and identified as apps which make search engines able to find them (6).
Are we there yet? Progressive web apps browser support
One of main obstacles in front of progressive web apps is its support across all the major browsers.
To determine whether PWA is an option, you will need to assess your target audience and browser support requirements. When looking to implement PWAs, it's good to know upfront what to expect in the foreseeable future. What features will be available in the feature across the browsers that we can use to enhance our apps?
So what’s the browser support for progressive web apps? (last updated 2017-07)
Status: Working Draft
Chrome Supported on Chrome for Android and for Desktop release 39
Opera Supported on Opera and Opera for Android release 26
Edge In development
Firefox Supported on Firefox and Firefox for Android release 48. Firefox supports "Add to home screen" experimentally.
WebKit/Safari Under consideration
Status: Working Draft
Chrome Supported on Chrome for Android and for Desktop release 40
Opera Supported on Opera and Opera for Android release 27
Edge In development
Firefox Supported on Firefox (Gecko) release 44
Safari Under consideration
Status: Working Draft
Chrome Supported on Chrome for Android and for Desktop release 42
Opera Supported on Opera and Opera for Android release 37
Edge In development
Firefox Supported on Firefox release 44 and Firefox Mobile release 48.
Safari No plans to implement feature yet.
Note For all these browsers, support does not include iOS versions.
What does this mean?
Due to the lack of support, iOS is one of the main obstacles in front of progressive web apps. Although it is under consideration, it is unknown when it’ll be ready. It’s understandable why they would be apprehensive in releasing these sort of features. The app store is a big money maker for Apple so anything that might lure people away from it might be bad for business.
For now, the main work around is to still publish hybrid apps through the traditional app store. This way users will still be able to find and install your app even if their respective browsers don’t support progressive web apps.
Although some browsers have already embraced PWAs (see above), they have various level of support when it comes to Web APIs. Proceed with caution when utilizing cutting-edge web APIs if you need cross-browser compability.
What are successful examples of progressive web apps?
Twitter has over 80% of users on mobile. They wanted their mobile web experience to be faster, more reliable, and more engaging. They developed Twitter Lite, a Progressive Web App. Twitter Lite is fast and responsive. It uses less data, takes up less storage space, and supports push notifications and offline use in modern browsers. It became the default mobile web experience for all users globally in April 2017. Twitter developed Twitter Lite to deliver a more robust experience, with explicit goals for instant loading, user engagement and lower data consumption.
65% increase in pages per session
75% increase in Tweets sent
20% decrease in bounce rate
According to their lead engineer:
Twitter Lite is now the fastest, least expensive, and most reliable way to use Twitter. The web app rivals the performance of our native apps but requires less than 3% of the device storage space compared to Twitter for Android.
Forbe’s goal was to revamp mobile experiences. The way they started was understanding how different mobile experiences are. Up to 60 percent of Forbes’ audience comes from mobile — and they expect that to reach 80 in the near future. With the delivery of a new progressive web app site tests showed that the new site:
Increased the average user session by 2X
Resulted in six times the completion rate
Had 20% more viewable impressions than its previous mobile site.
Alibaba.com is the world’s largest online business-to-business (B2B) trading platform. It serves over 200 countries and regions.
Building great mobile experiences is an indispensable part of Alibaba’s success. Mobile is their user’s primary form for discovery. What they found though was that users didn’t want to download nor jump to a native app to complete the transaction.
Alibaba looked at the mobile web as a platform to shift non-app users to the app, but many preferred to stay within a browser. So they decided to upgrade their site to a progressive web app (PW) and saw benefits like
76% higher conversions across browsers
14% more monthly active users on iOS; 30% on Android
4X higher interaction rate from Add to Homescreen
- Ola drives mobility for a billion Indians with Progressive Web App
- Lancôme rebuilds their mobile website as a PWA, increases conversions 17%
- MakeMyTrip.com’s new PWA delivers 3X improvement in conversion rates
- Infobae more than doubles time spent on mobile site with a Progressive Web App
- Housing.com increases conversions and lowers bounce rate by 40% with new PWA
All these examples are very exciting and show great promise for the future. Within our company we’ve been applying some of these concepts to our apps with great results.
Progressive web apps open up a new frontier for web developers to create new web experiences that are accessed on demand and rival native ones.
Where to go next?
Looking to get started with progressive web apps?
Getting Started with Progressive Web Apps by Addy Osmani
Test and check how well your app meets the requirements for a PWA using Lighthouse a Chrome extension. The extension gives you total score and tips on how to fix things.
Working with services workers might be the biggest hurdle to overcome. Learn more about working with service workers below
Service Workers: an Introduction by Matt Gaunt
Service Worker Cookbook by Mozilla
The Offline Cookbook by Jake Archibald
Using Service Workers by MDN
One of the main components of PWAs is the manifest file. Get started with some of the links below.
Bruce Lawson wrote a Manifest Generator
Mounir Lamouri has a handy Web Manifest validator worth checking out.
What about working with Push Notifications?