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!
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
- Open Chrome
- Browse to the site you want to install (for example: www.twitter.com)
- Open the browser settings to tap “Install App”
- (optional) Delete the native app if installed on your device
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.
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.
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.