August 30, 2018

PWA vs INSTANT APPS

Since many of you wanted to know more about the specifics on PWA and INSTANT APPS, here is a quick review on the two, we will look at the 3 basic componential parts.

  • Speed
  • Build complexity
  • Branding

But first it makes sense to do a bit of googling and wikipedying.

First PWA, what is it and why does everyone talks about it?

Google as usual is the one standing behind popularising this concept. While you will see a lot of bold words like: fast, reliable, engaging. Esseintially it is a web app built with typical tools like HTML, CSS, JS and that has a nice caveat around it that can utilise something like service workers that stay in between your web app and the server. This allows PWA to have something that normal web sites won't provide - ability to work offline.

You can easily try telegram, instagram, facebook as web apps and pin them to your mobile home page. So in short, it will provide you the typical app's functionality and will work fine.

Don't confuse it with responsiveness though. While it does inteconnect, your Bootstrapped web site will not be considered as PWA just because it adapts to your user's screen. It will simply be a responsive site.

There is only 1 problem with this: since it is not an app, it is hard to get to phone's functionality like Bluetooth, Flashlight etc.

Then what the hell is Android Instant Apps (AIA) and why not use normal apps?

The AIA is in short is a real app the has access to all your phone functionalities. At some point Google realised that people are sick from dowloading stuff from App Stores and thought on how to make it usable without downloading software to your phone. The picture above nicely represent the concept and main difference from the typical apps you see. It is frankly just a lighter version of an app.

If you have a news app, you can create a lighter component of the app and Google will catch it automatically, show it in the search, but instead of linking it to the Google Play, it will load a lighter component directly in the browser and you can use the app.

Now the fun part.

Speed

Let's try to find a random AIA and PWA to compare. For the last there is a nice website that has a list of PWAs - https://pwa.rocks. And for the AIA - anything that Google retrieves can work.

PWA Financial Times.

It will open in a perfectly responsive form, suggesting to add this web app to the home page (nice addition as you can later launch it from home). Loads pretty fast, the drawbacks are the search bar (which does dissapear if you launch from home screen) and the fact that it is not an app - you can feel that your experince is not as smooth as the typical app will provide.

However it does the job, loads very quickly and some other examples (e.g. telegram) can work offline - will take your message and send it as soon as there is an internet connection, which is similar to the app.

Taking meduza.io news website as an alternative.

It actually does offer both PWA and AIA. When checking it out we can see that the main page loads without significant differences for both. However if you open meduza.io for the first time - you will notice that the AIA starts downloading something (which looses in the speed battle) - that is that ligher app's component that can be used in the browser.

The good part is that in the further launches it will be instant and will outperform PWA.

Meduza AIA:

The AIA will even create an 'instant app' that you can launch in the future right away:

But news web sites are something simple to compare - let's dive deeper.

Take a financial manager tracker or a messenger as an example. The PWA will launch fine, will work offline, can be added to the home screen BUT you will definetly say that it is not an app. The speed, animations will be like what you see in the web.

The messenger's AIA will be different. But the question is - does it actually exist? Which part of the messenger can be considered light? Shall we remove ability to record audio or send stickers? That is the main AIA's problem - it is unlikely to even challenge this problem and only cope with news apps, info apps, online shops where PWA can do it all (unless you need to access a flashlight in your app).

Build Complexity

This one is tricky. On one hand, to build a proper PWA you will have to first make a responsive web site, differentiate between all devices (tablets, phones), allign your components so that it can be seen nicely on all devices. Add to those the fact that you have to add service workers (and learn how to use them) - and building PWA doesn't look like a 3 min deal anymore.

AIA subjectively is easier. You are building an app anyway and just by specifying in the app which component to load (e.g. only news retrieval) - you can hit two birds with one stone. But you also should remember that AIA is not as popular and iOS users won't be able to use it yet.

So while AIA does offer a nice, more native experience, you can simply loose iPhone users because of this and well people also won't use your instant app on PCs for obvious reasons.

Branding

It became too popular to shout out that we are PWA, we are modern, smart and reliable. Or also - we are AIA, which most people will think you are speaking Chinese.

The reality though, is that if you are building PWA - you can be considered trendy, a huge proportion of users can start using your service without downloading uneccessary stuff.

Check mitty as an example, it is an iOS app built in Swift, but that has a selection of PWA apps like uber, skyscanner, airbnb etc - so instead of downloading all of them you can download 1 app and have access to the rest. One could argue however, that you can also just pin uber, telegram, facebook, airbnb to your home screen and then there is no need to download apps at all.

On a personal note, I have a belief that both conepts are here to stay - and those who master both PWA and AIA will rule the world. Development of full native apps will be displaced by PWA, and AIA's responsive sites and web services like online shops will be able to compete with PWA by providing a light component of the app.

Finally, if you read it all the way till here, take a minute and think about this:

Why is it mainly Google that tries to push the industry to the new standards? Why does Apple stay aside and doesn't invest into industry's evolution? What would happen with its App Store revenue if suddenly everyone moves to PWA?

Liked the article, disagree or want to discuss?

Join @thefrontend in telegram