Progressive Web Apps

Emin Akkoç
Commencis
Published in
4 min readFeb 27, 2017

As native app users, people usually have an unbreakable prejudice on web applications. Most of them even think that it makes no sense to use the web applications if it also has a native application and they seem quite right.

Main reasons behind that idea seems pretty legit.

They want it to be their own, which means that they want to access their applications via their own phone and their own menu. This argument is one of the psychological reasons, -which in my opinion, the greatest reason- behind using native apps. In this aspect we can say that people are growing emotional bonds with the thing that they own. In a market scenario, people go to a store, choose what they want to buy, pay for them and after that its theirs. The scenario is the same with the native app purchase. They want to see that icon on their own menu which makes them feel like having their own shoes in their own bags. Web sites, which can only be accessed from a browser does not give the same effect on users.

This “emotional bond” is also achieved with features like sending notifications, which makes users to feel like the native app cares about them or maybe they are there and living their owners.

Beside those psychological ones, there are also some other important reasons.

  • Native apps are usually faster than web apps and accessible offline. You can not open your browser if you do not have access to internet but you can at least open your native app (they are here with you and will not leave you alone).
  • Native apps work seamless due to the fact that they are designed for the specific device that they are going to be work with.

All these reasons have build a wall between users and mobile web apps which is to be demolished by progressive web apps.

Beside those reasons which make users to live happily with their native apps, there are also some concerning issues like, [2]

  • Not feeling comfortable about installing lots of applications.
  • Worrying about permission demands.
  • Worrying about space that those apps are using.
  • Concerning about privacy (you do not know what the applications are doing all the time). Which makes web applications to earn a significant reputation in all of those areas.

Progressive web apps add more reputation points by also including the advantages of native apps which were mentioned earlier.

There is also a research made to prove that on each click made before getting the value from an app, will cost nearly 20% of the users. Keeping that in mind, we can easily calculate the amount of people who gave up during the native app usage process.

[1] Only 262 users out of 800 who decided to use native apps are using them

Progressive Web Apps are not downloaded from a store. They can be accessed from a browser and if the user spends enough time on that app, an “add-to-home-screen prompt” appears to ask if the user wants this app to be accessible from the Home Screen. If it is accepted, then the icon which was defined at the manifest, is pasted to the Home Screen. This process can also be triggered by user manually.

Progressive Web Apps are defined as a user experience which is; [3]

  • Reliable — Load instantly and never show the downasaur (offline image at chrome), even in uncertain network conditions.
  • Fast — Respond quickly to user interactions with silky smooth animations and no janky scrolling.
  • Engaging — Feel like a natural app on the device, with an immersive user experience.

Reliability is achieved by a newly introduced concept called “Service Workers”. Those workers enables app to work offline by hijacking network requests and serving responses from a local cache when the user is offline.

Enabling Progressive Web Apps to behave like native apps and is achieved by manifest files. Those files have definitions of icons, names, orientations, colours which are used in home screen icon, splash screen and so on.

Even though iOS has no support for manifest format and service workers for now, those can be overcame by Apple’s proprietary meta tags and service worker polyfill for Cordova (to be used in hybrid apps) [4]

Main parts of the view

PWAs consist of two main parts in the view: Application Shell and Content. Shell is designed to be shown instantly every time the user opens the app no matter what happens [2].

With all of those features that PWA has, users are going to have the same “my own” feeling for them as they had for the native apps, also without the concerns that they had like,

  • High click numbers to install,
  • Storage issues, and
  • Permission demands

Combining all those advantages of PWAs with its development costs compared to native apps, and with the strength of the web, we can easily say that there is no reason that those apps are not going to overwhelm the huge share of native apps in the future.

Some popular frameworks and API’s such as Angular2 and React have libraries and tutorials for developing PWAs like Angular Mobile Toolkit [5] and Polymer Library [6].

Sample applications can be found at: https://pwa.rocks/

[1] Every Step Costs You 20% of Users http://blog.gaborcselle.com/2012/10/every-step-costs-you-20-of-users.html

[2] Progressive Web Apps (Chrome Dev Summit 2015) https://www.youtube.com/watch?v=MyQ8mtR9WxI

[3] Progressive Web Apps — https://developers.google.com/web/progressive-web-apps/

[4] Why Native Apps Really are Doomed: Native Apps are Doomed pt 2 https://medium.com/javascript-scene/why-native-apps-really-are-doomed-native-apps-are-doomed-pt-2-e035b43170e9#.6rzir8fww

[5] Angular Mobile Toolkit https://mobile.angular.io/

[6] Polymer Library https://www.polymer-project.org/1.0/docs/devguide/feature-overview

--

--