Debunking The Top Misconceptions About Progressive Web App Disadvantages
If you bounce around the web researching progressive web applications you most likely will or have stumbled across an article or three pontificating disadvantages, limitations or drawbacks of Progressive Web Apps.
Hopefully this has not scared you away from this great technology. Progressive web apps are designed to allow your business to deliver a great user experience or make your employees more productive doing their day to day work.
PWAs do this by utilizing many modern web features, especially service workers, but there is more, so much more.
Unfortunately there are many trolls on the Internet that write about disadvantages and their messages get shared by others, often word for word.
Today I thought I would take some time to address the most common false assumptions about progressive web applications so you can understand why they are wrong and hopefully keep from deterring you from making a mistake by choosing a native solution when a PWA is a much better choice.
I see this message propagated by both the marketing and developer communities. Both are wrong.
A progressive web app can be any website served via HTTPS, has a valid web manifest file and registers a service worker with a fetch event handler.
There is nothing about requiring 3MB of React, Angular or Vue in those items.
Personally, I argue against using these fast food frameworks ever because they create slow user experiences, which of course is contrary to the goal of PWA, which is to deliver amazing user experiences using the web.
PWAs Do Not Increase Battery Usage
I don't know why this has begun spreading around the Internet. The theory is PWAs rely on 'high-level' programming languages that require more CPU, which translates to more battery usage.
Sure, if you use a fast food framework your site does require more CPU to process all their excess code. But as I demonstrated in the previous section a progressive web app does not need to use these frameworks.
The service worker does run in the background, but browsers limit the idle time a service worker has before the process is terminated. This is by design to limit their ability to consume battery life.
PWA Devices Access is Not That Limited
It is sad that many pro-native app advocates will use this argument. Sure, there are some platform specific APIs or features the web does not support, but there are very few native apps that use these features.
I have personally built PWAs in the past 2-3 years that rely heavily on the device camera, microphone, video streaming, scanning photos and bar codes. I have also built sites that access the device's USB ports and Bluetooth connectivity.
The web has also had access to the Geo-Location API for over a decade. This means you can get the exact location of the user right from their machine, not an inaccurate IP database.
The Media Capture API, video and audio playback have been built into browser so long I forgot when they were not available. You can even stream live calls through these APIs. Skype has had a web client for several users based on WebRTC.
Native push notifications are supported by most browsers these days. Apple is the lone holdout. But for Safari you can detect support and fall back to SMS and email as an alternative.
In the past year biometric authentication has also been added. This is where you can login to an application by swiping your finger or looking at the device. The authentication APIs are FIDO compliant, which means you can also use external authentication keys or require the user insert a USB key before they can be authenticated.
And if you are wondering just about every major browser supports these features. Safari is currently lagging behind but shows it will ship for desktop and iOS soon. The early versions of iOS 12.2 had support for the Web Authentication API (biometric support) behind the experiments flag.
Basically if your banking app has used a feature you thought was limited to native, it can all be done in the browser and a progressive web app.
Those making a case the web does not support various features probably have not studied the web in over a decade because they typically list features that are supported and have been for years.
If you are wondering many brands are in the process of phasing out native apps by creating PWAs with 100% feature parity to the native version. Twitter is one of the first, high profile, brands to do so. Today their native apps are just a hybrid app that wraps their PWA. Netflix has been a PWA on Windows for years.
Secure by Default is Not a Negative
This is another argument I just shake my head at, requiring a TLS certificate and serving a site using HTTPS is not a bad thing.
I think everyone, well not bad guys, is all for security and encryption, especially when it is free and easy to install on every website.
I have written about how HTTPS works in the past, but basically it secures your communication between the browser and the server by wrapping the regular HTTP packets in a layer of encryption only your browser and the server can decrypt.
Many modern APIs, like service workers, push notifications and more are gated behind HTTPS. This is because they either send user sensitive information across the web or in the case of a service worker needs to have its scope limited to deter bad actors from exploiting the technology.
Progressive Web Apps Do Work on Older Hardware & Browsers
This I think is just assuming the web is not elastic. The reason 'progressive' is part of the name is to imply the site progressively enhances as features and functionality are available.
This means if the user visits using an older, let's just say obsolete browser no one should be using any longer, the site should just work.
Sure, the user will not get the benefits of the service worker and maybe they can't access the USB port, but does it really matter?
I work on the assumption someone with these limitations is doing so by choice these days. They are, let’s say, used to those limitations and don't expect these enhanced features. I hate to sound biased against these folks, but you really have to go out of your way to use a browser that does not support the majority of PWA features today.
Just make sure you give them sort of level of success and don't leave them with a blank screen or some insulting message conveying they can't read your content because their browser is out of date.
The Web Can and Has Supported Pretty Amazing Animations for a While
Another incorrect assumption is the web does not support animations or at least smooth animations. This is false and has been for a long time.
Browsers began supporting CSS animations, transitions and key-frame based over a decade ago. They also put the processing for these animations on the device GPU, not the CPU.
This means the animations you get in native apps is the same as you can achieve on the web.
PWAs Don't Need a Closed App Store, They Have Organic SEO and Hyperlinks!
Another closed-minded argument from our native only friends. They cannot imagine a world without curated platform app stores and a 30% sales tax.
Consumers don't imagine a world outside these stores either, they live there!
In 2015 we passed peak app, this was the point where the average adult stopped downloading apps. The average mobile user does not download an app within a given month anymore and have not for years.
What is more is limited is discoverability, especially in the Apple App Store. Recent research shows how they have been stacking search results with Apple apps, pushing competing brands so far down the results list they can no longer be found.
Apple has also been tightening its app guidelines and enforcing them more and more. They are rejecting more apps than ever and removing existing apps by the hundreds of thousands, even those with large customer bases.
With Progressive Web Apps you can leverage multiple marketing channels, especially organic search engine optimization, pay per click, email newsletters and more to drive traffic, cheaply, to your site.
Additionally, links from other sites help your content be discovered as well as driving more traffic.
It is still up to you to drive those visitors through a funnel to convert them to buyers, but that goes without saying.
I have written extensively on this site and a few others about PWA benefits. I even have a short eBook on why you should upgrade to a progressive web app available.
Somehow many still have not gotten the memo and are sharing fake news about progressive web apps and like most things on the Internet it scales, quickly.
I tried to address almost all the arguments against progressive web apps. As you can see, they are all wrong, based on inaccurate information or started by those with a vested interest in developing native apps.
Yes, I have a vested interest in the adoption of PWAs, but I try as much as possible to be honest about the limitations. There are not many.
What is still a common limitation are developers that understand proper web development and what the platform can do. That is one reason why I wrote my PWA by Example book and produced a course to train developers on progressive web application development.
If you are a business stakeholder and need more guidance about progressive web applications and how your business can use them instead of native apps, please contact me and I will be glad to answer questions for you.
Lastly, just because it is on the Internet does not make it true, especially when you read about disadvantages of progressive web apps.