Can we replace our mobile native apps with PWAs? I have tried it…

Gianluca Guarini
4 min readApr 24, 2021

Introduction

There are plenty of articles online about PWAs, and therefore I will not describe what they are nor dig about their implementation details. I will only present my personal experience as a Software Developer, trying to stay away from biased opinions.

Migrating from Native to PWA

All started as a challenge to myself:

Being an Android user, the first apps I wanted to replace were the Google ones. With my big surprise Google Maps, Calendar, Gmail and Youtube don’t have PWAs!

Google calendar on a mobile device
The Google calendar UI seems to come directly from 2010
Google Maps on mobile wants you to install their native app

Google seems to push only their native apps. That's sad, considering the incredible effort they put promoting web standards and developing new javascript APIs to fill the gap between native and web. Google gives us mobile web applications barely resembling what their respective native apps can do.

At this point I had to ignore the Google apps and focus on the others I use regularly: Twitter, Spotify, Instagram and Facebook (FB was more a test, I don’t use it anymore).

The steps to install a PWA are really straight forward

  1. Open Chrome
  2. Browse to the site you want to install (for example: www.twitter.com)
  3. Open the browser settings to tap “Install App”
  4. (optional) Delete the native app if installed on your device
Chrome PWA installation Call to Action

My First Impression

Twitter and Spotify are really well crafted (kudos to their Dev Team), but Facebook and Instagram immediately showed up some problems.

To me it seems clear that Facebook wants you to install their native apps exactly like Google does. Indeed m.facebook.com doesn’t even bother removing the browser address bar while instagram keeps prompting you with their native app installation.

I have just installed the Instagram PWA! Why are you asking me to install the native app?

The Facebook PWAs are too minimal and can’t compete with their respective native apps. They lack many features, and it seems no effort has been made to improve the user experience on mobile web devices.

On the other hand Twitter and Spotify work really well. Spotify can play music in the background and switch songs also when my phone is locked while Twitter pushes notifications like a native app without any perceivable drawback.

Even if Twitter and Spotify SPAs look exactly like native apps, I noticed that some UI elements don’t feel smooth like when they were native (I expected it a bit as well): animations, loaders, and transitions between views are a bit raw and clunky.

One Month After the Migration

One month after my migration I am still using regularly all the PWAs mentioned above without big concerns. I got somehow used to them and I don’t miss the native apps at all. Instagram and Facebook are a bit painful to use, but I don’t use them that often to complain much about it.

I am really happy with Spotify though. Often the native app used to crash when the internet connection was bad and I had to completely restart it. This issue was really annoying especially while driving my auto.

Using the PWA, in case of issues, I can simply fix them by reloading it (with a “pull to refresh”).

In the meantime Twitter feels so good that I can’t understand why someone should ever need to install it as native app.

Conclusion

It has been really fun to test such a new technology. I have learned a lot and think that PWAs represent really the future for many products previously developed as native apps (of course that's not always the case).

These PWAs features are too good to be ignored in 2021:

  • no updates needed (you load always the latest app version)
  • ease of use and distribution (no marketplaces)
  • good performance (no performance issues were noticed)
  • portability (no need to create several versions of the same app)

I am a bit disappointed that companies like Facebook and Google, having so many resources to invest on their web products, still force users to use their native apps.

I believe the future for web developers will be bright and inspiring and I am happy that the community is moving forward in the right direction.

--

--

Gianluca Guarini

I code stuff for living — Riot.js Maintainer — I like javascript, haskell and golang