Software Development Blog

Progressive Web Apps

You may never heard of a Progressive Web App (PWA) before but they are being talked about as a serious alternative to native mobile apps.If you read our previous blog about the pros of developing both native mobile apps and responsive web apps then understanding why PWAs are getting more and more attention. Simply they are a solution that takes all the benefits of a Web Application and adds a lot of the benefits of native mobile apps. PWAs have the improved user engagement and performance of a mobile app without the cost and complication of maintaining one.

Google outlined the 10 characteristics of what a PWA should be back in 2015. These are:

Progressive:
Pretty obvious right? This means that a PWA will work for every user, regardless of browser choice, because they are built to progressively add more features to the application as the user (or browser developer) upgrades their browser. So for example a user with an old browser on their phone may get a very standard web application experience but one with the latest version of chrome will get a much more native app like experience.

Responsive:
Fits any screen size on any device that is capable of running a browser.

Offline:
The app should be able to work in areas of low connectivity or offline. This doesn’t mean that it has to be fully functional offline although in some cases it can be, it does mean that it has to at least have meaningful content available offline. There is a hidden benefit here, you can store some or all of the app locally on the mobile device and this has a massive benefit in performance.

App-like:
On a mobile device it should look like a native mobile application, this includes using interfaces that mobile users expect (touch, swipe, pinch etc).

Discoverable:
We discussed this a little in the previous blog but it is another big benefit of PWAs, especially in the B2C world. It is at heart a web application and as such it will be indexed by search engines making it much easier to find than a native app amongst the millions of apps on the various app stores.

Safe:
This is true of almost all apps but the way PWAs work means that it is vital that is hosted on an HTTPS environment.

Linkable:
Another benefit of being based on web applications is that it is based on URLs so easy to find and share with others. Certainly it is less complicated than having to build the feature into a native mobile app or sharing through the app stores.

Re-engageable:
Engagement has always been more possible on mobile apps and it is a feature that PWAs can (and should) use in their design. The push notifications alone are a massive way of reminding your users that you exist and that they should open the app again.

Fresh:
The PWA will stay up to date with the latest version and content at any time it has internet access.

Installable:
Yes, you read it correctly, a web application that the user can decide to install on your phones home screen and with the added benefit of not having to go through your phones app store.

So with such an impressive list of characteristics why are they not everywhere? After all 2015 is a long time ago in the world of software development. The biggest reason is an old favourite, browser support. This is a fairly jargon free blog and I am not going to spoil that now but if you read more about PWAs you will eventually come across your first bit of technical jargon in “service workers”. These are fundamental for PWAs but Safari was very late to the game, only in the last 6 months kind of late to the game.

There are still reasons to develop a native mobile app, the biggest is that if you need access to something on the phone that is not currently available in browsers, some phone features may never be available and others are in the pipeline.  The reasons are diminishing though.

Page top