What is Progressive Web App
In simple terms, progressive web apps are a culmination of best of the web world and best of the apps world to address some of the challenges mobile application space is facing today because of large number of apps trying to come through the app store channel every day. Another key advantage of PWA is the provision to convert existing web apps into an installable app format with minimal effort to provide a similar experience of having an app downloaded from the app store.
What makes PWA
In a nutshell, a PWA app consists of HTTPS, a Jason based manifest file and a service worker running in the background.
Web App Manifest
This is a Json based information catalog about the web app/ PWA app. This file will have an application icon, app name to be displayed once it is installed on the device, short name and other information like background color etc.
Offline support is a key functionality to develop something that is equivalent to a native app. Service worker programmatic way to cache app resources which helps in the faster launch as well as supporting features during low or no network areas. Unlike any other mobile web app, PWA app with offline support will have full user interface capabilities, it renders and scrolls complete web page without any additional loading based on the implementaion logic. Also, the PWA does not need to ping server for every request, hence this saves big time on the data usage, unlike normal mobile websites.
The browsers like Chrome supports <6% of the free space and Safari you need to restrict the offline storage to <50MB. The storage management APIs(cache APIs & IndexdDB APIs)provides the storage status. One need to be very careful about managing the offline storage and cache considering the fact that downloading and keeping a big fat application and its metadata all the time may kill the experience and the purpose.
Pros and Cons of PWA
- App discoverability is decentralized. You can’t go to app store find an app you are looking for; you need to know the URL or vendor website to access or download the PWA to the home screen
- Overall raw performance sometimes lower than the native app
- Not all the platforms like Windows, Google and Apple are putting a similar kind of effort in promoting or enabling features to support PWA.
- Data sharing between apps or leverage another app as a quick tool is presently out of question.
- There are some studies shows that battery usage on PWA apps is higher compared to the native app because of the use of web code.
- Offline support is kind of limited and it varies based on platform as well.
- In some cases, not all browsers behave in the same way for PWA.
- PWA Supports all kinds of devices including devices like Chromebooks.
- Native app like security wherein user needs to provide independent privileges to access any hardware features
- Being website, providing offline storage feature is a big gain to avoid having to have connectivity for every launch or transactions. Ex: Flipkart kind of websites can store the catalog information downloaded unless there are any changes
- Support for push notification kind of native app features.
- Service worker kind of components helps apps to load quickly
- Apps that are PWS candidates, money saved on development as well as for maintenance
Some of the major companies who either moved from native app to PWA or who built PWA app from the grounds up and some companies have converted their existing web apps to PWA apps.
One of the business needs for Pinterest was to make a good mobile website which can be accessible by the people who live in the low network area. More than 50% of Pinterest users are outside the USA.
Weekly active users on mobile web increases by more than 100% with more than 300% in rapidly growing countries like India
Over 45% increase in user-generated ad revenue
More than 40% increase in time spent on the site
When you go through PWA materials on the web, you would hear about BookMyShow and MakeMyTrip names everywhere. Even though over more than 80% of BookMyShow transaction happens on mobile devices, there were concerns raised on memory usage, load time etc., were not optimal for users. That’s when they decided to redesign their mobile web to have a PWA and solve some of the problems their native app users have as well as mobile web users.
After they released PWA version of the mobile web app, they saw an increase in the ticket purchase conversation rate by 80%
Size of the PWA which sits on the user device is 50 times smaller than the native mobile app
It takes below 3 seconds to load and 30 seconds to check out from their PAW app.
There are other companies like Twitter, Flipkart, Trivago, Starbucks, Virgin America etc. where heavy user interactions and on time transaction is a key, they are all moving to PWA. In countries like India, where Flipkart users are uninstalling the native app and starts having PWA app shortcuts stored on their device.
Enterprise Mobility current state
App is still a need
Why do we still need an app? Still, the apps are key interface for people to get things done on the go, be enterprise user or a common man. Also, mobile is still a focal point of data collection, quick workflow execution. A device which everyone carries today! So, the app is still a necessity for everyone, be it for enterprise tasks or for personal work. The challenge has moved from building an app to how do you market it and how easy for people to find an app and install it on the device. Once it is installed, it depends on how quickly it launches and how easy the user interface is for someone do their task and get out of the app. These are all the factors I think Progressive web app carefully addresses to a larger extent today even though the platform is still evolving, and major OS/ device manufacturers are making it easy for Progressive web app to run on their platforms.
From a developer point of view or an enterprise point of view, maintaining an app is a key parameter they need to consider before making a decision on the platform in which they want to build the app or suite of apps.
Native being the safer option which still a lot of enterprise app developers opts for, as an organization, one needs to do the assessment on what types of an app we are going to build? Is there an absolute necessity for native apps which needs a different skill set to support different mobile operating systems? Is there an alternative which can do the same task as native app in the context of their enterprise and the kind of they want to build? If there is an alternate platform which can provide the same results in areas like security, offline storage, performance and development & maintenance cost to the company? If some of these questions are addressed by another cross-platform easy to build and maintenance platforms like Progressive web apps can address, then organizations should definitely consider it seriously. There are other alternatives as well, likes of Xamarin, react native etc. which are worth exploring too.
According to some of the studies done recently, the data indicates that the majority of the users don’t download a single app from the app store in a month. App store is just becoming the graveyard of apps which people really don’t use the app store to find a certain type of app unless there are some external links provided by vendor or marketing channels pushes users to download it from the app store. Overall, as an app developer, you don’t need to submit an app to the app store or build and market it as another channel. The PWA app URL can be shared as a secured URL and save it onto phone’s home screens to use it like any other app be it offline or online.
Since it’s an URL, unlike apps, the PWA websites can be easily indexed which can increase online footprint through different channels. SEO processes are applicable as for any websites.
Enterprise Mobile — Is PWA the right candidate?
Overall PWA may not be the perfect solution yet but like any hybrid app, they are getting popularity in the enterprise space addressing some of the concern’s enterprise had in terms of performance, offline support and security while adopting a non-native platform. Another advantage that enterprises are looking at is, converting their legacy websites to a PWA app and slowly migrate users to PWA and then eventually move out of native app support.
If an enterprise wants to start PWA right away? The answer is mostly yes because you can start building some of the enterprise capabilities to either to your existing websites or build a mobile PWA app from the grounds up. All that it needs in HTTPs services, good responsive web screens, maybe mobile notifications and eventually service worker when you decide to go live with PWA.
The skills required to build a PWA app are very common among the developer community. You need HTML, CSS and JS developers to make a decent PWA app up and running. Most of the enterprise already has some of these developers in their IT teams.
The strategy that most of the companies are adopting is to keep maintaining the existing native mobile apps while testing the water by either converting the existing websites to PWA or building a smaller set of features and measuring the transition and security aspect of PWA to see if it fits their enterprise need.
Overall, a good well designed PWA app can replace the company’s mobile website, native app and eventually desktop website as well. If you are an enterprise and still thinking about mobile strategy or in the process of reviewing the existing mobile strategy, then you should seriously consider PWA as your option.