Progressive Web Apps are Not a Google Only Thing
Something needs to stop and stop now:
Progressive Web Apps Are Not a Google Technology!
I keep reading articles and watching videos trying to explain progressive web apps and so many of them say it is a Google technology or something that works in Chrome or on Android.
- Progressive Web Apps Are Based on Web Standards, Not a Company or Browser or Operating System
- Why Does Google and Chrome Get All the Credit?
- Is Google Chrome Controlling the PWA Messaging Too Much?
- Progressive Web Apps Are For Every Browser and Every Platform
Yes, PWAs work on all those things, all things Google owns, provides, develops, etc.
But progressive web apps work great on iOS, Windows and in all browsers.
Yes, the Google Chrome team created (more like branded the term,). The phrase was created by Alex Russell and his wife specifically. And that was smart. Alex and the Chrome team could see an emerging new class of web experience built on top of a new web standard, service workers.
They could see service workers combined with best practices would be a new level of online experience. They also wanted to take advantage of this opportunity to raise the bar of expectations on the web. I mean Google's business is the web and they know the quality of online experiences is terrible with bloated, outdated web sites.
The content that sparked me to write this article fails to understand is progressive web apps are really a class of web apps with a higher quality user experience that leverage the best and modern web platform capabilities, blended with proven architectural best practices.
Whew, that was a mouthful!
Let's dive deeper into the subject.
Progressive Web Apps Are Based on Web Standards, Not a Company or Browser or Operating System
First, user experience matters more than anything in the front-end.
But PWA is based on implementing modern capabilities, specifically a service worker and a web manifest file.
At least that is where most focus. Meanwhile they tend to overlook the real emphasis, great user experience.
This starts with speed, good navigation, clean design and good online etiquette. Basically, deliver an online experience customers want to use.
The three foundational technical requirements give a baseline for defining a PWA. If you take time to read through Google's Progressive Web Application Checklist you will notice there are dozens of items that go beyond just using HTTPS, a web manifest file and registering a service worker.
Some items that stand out to me:
- Proper META data in the page's HEAD
- No Janky Experiences
- Smooth Page Transitions
- Allowing the User to Control Push Notifications
- Mobile First/Responsive Design
- Easy to Use Forms, even on small, touch enabled devices
Many things I have preached as best practices over the years.
I have some other content explaining these concepts in the over. In the meantime, I have several dozen pages explaining and demonstrating PRPL and RAIL in my Progressive Web Application Development by Example book.
The PWA checklist is a minimal set of guidelines, and most fail at meeting them. Just run a Lighthouse audit from Chrome's developer tools to see how well you do. Hint: Anything short of 100 means you have work to do.
Ultimately, ask yourself would you think your site conveys trust and ease of use if you did not own the site or was a developer on the site? If you find any holes then fix them.
Implementing good user experience is not Google specific, it is just what any business, government or organization should provide to engage with its customers. Google does provide some guidelines, but they are based on their educated experience. But they are in no way the end of what classifies as good user experience.
Why Does Google and Chrome Get All the Credit?
Simply put Google has the money and manpower to spread the word better than anyone else.
Seriously there are a few independant PWA advocates like me. I can think of Maxim Salnikov, Max Firtman, Henrick Joreteg, Jeremy Keith, Jason Grigsby and just about anyone who truly is a web development subject matter expert.
Microsoft and specifically the Microsoft Edge team is passionate about PWA as well. You just don't see them as much and it is not their fault. They have a team of evangelist, but it is smaller. Microsoft serves a different core market than Google, enterprise.
The problem the Edge team has is more of a customer demographic one than anything else. They spend more resources engaging with larger, corporate customers about reaching their needs with their products and services. Google focuses more on the consumer market.
Consumer and enterprise are very, very different. This is why you see things like Microsoft pushing progressive web apps through their store more than you see them touting the consumer benefits.
The Edge team simply does not have the marketing budget Chrome does for the consumer market. And they are more than happy to let Chrome invest the resources in the market.
Well maybe not 100% happy, but they realize it is not worth their financial and time investment for the potential return.
This is my opinion here: I don't really know how much more the Edge team could add to the messaging around the concept of progressive web apps that Google has not already shared.
Mozilla is even more constrained. They are also PWA advocates, but you rarely see any of their team members publicly. From time to time one appears at a conference or on a content site somewhere. But they are funneling marketing dollars touting some of their great new features, and I don't blame them.
Another voice in the PWA community is Samsung. Yes, they have a browser too and it is used by millions. I would say they probably push some of the best content about progressive web apps out there and don't get the credit they deserve.
And here is the best evidence progressive web apps are more than just a Google specific technology: Microsoft, FireFox and Samsung have all had the stage at major Google developer events to talk about service workers and progressive web application technology.
You may not be aware that Googlers, FireFox team members and Samsung guys have all been at Microsoft sponsored events as well.
Because they all have a common goal, make the web better.
Google was just the first big mover. And they have earned the first mover advantage in the progressive web app space.
I know my first experience with service workers came at Velocity 2015 when Patrick Meenan, former Googler, demonstrated them just before my session on single page apps, remember those?
But just remember, while Chrome was coming up with the term, Microsoft already had Hosted Web Apps (HWA), sadly no one knew it. These are progressive web apps without the service worker (the spec did not exist at the time) that were submitted to the Windows store for download. The exact same thing Microsoft is doing today with PWAs.
You can also look at the different web specifications important to driving progressive web apps. Sure there are Googlers everywhere in the W3C documents. But you will also find Microsoft, Samsung, AT&T, Mozilla and many other companies with editors and authors on just about every specification.
This is a common effort, not just a Google thing.
Is Google Chrome Controlling the PWA Messaging Too Much?
Anytime you have a single source getting the credit for a specific technology it runs the risk of being too opinionated.
A good example of where this is happening is expectations of how the Add to Homescreen experience works.
Because Chrome on Android (and desktop too if you have it enabled) works, the consumer is eventually prompted to add a qualified PWA to their homescreen. On Android it is then elevated to pseudo-native app status.
Because they were perceived to be first in this space, this is how most assume all browser's add to homescreen experience should work.
There are two problems with this assumption:
- Add to Homescreen is not a Web Standard
- iOS shipped the first add to homescreen experience, back in 2007
While the web manifest file format and some basic rules around the way the web manifest works, the specification DOES NOT include anything about an add to homescreen experience.
The user experience is left completely to the browser and platform vendor to create. This is why we have not seen this delivered by Microsoft. To them it is a lower priority (again catering to enterprises) than other platforms.
FireFox and Samsung Internet both have an add to homescreen prompt, but it is just an icon in the address bar. I suspect they will eventually add the ability to become a webApk like Chrome does, but for now they produce a glorified bookmark on the Android homescreen.
Apple has always had a native add to homescreen capability. It is simple and driven by custom, mobile web app capable META tags. You can specify the homescreen icon, a splash image, if you want to render in fullscreen or with some browser chrome and what color the status bar is (black or grey you choose).
Apple does not prompt users, you still have to guide them along. For not they don't seem interested in improving this experience.
Personally, I like the browser giving us a workflow we can control, like Chrome does with the 'beforeinstallprompt' event. But at least I know what to expect on other platforms and I can detect and drive something on my end to increase engagement.
The fact that Google pushed the expectations here is good and bad. It's good that we have a bar of expectations. It is bad because now it is difficult for us to think outside the box to consider what might work better to increase visitor engagement with your brand.
For the record the Microsoft Edge team seems to want to create something better. I and they just don't seem to know what that will look like.
Progressive Web Apps Are For Every Browser and Every Platform
If by this point you don't understand that PWAs are supported by all major browsers and platforms I don't know how to help you.
Once Apple and Microsoft shipped service worker support to general consumers earlier this year we had what I consider a complete set of PWA capable browsers.
Even if a browser or operating system does not have service worker support or knows how to read a web manifest file it does not matter. The web sites will just work!
And if you create your progressive web application correct you will increase customer engagement.
Because when created according to the PWA best practices web sites deliver superior user experiences to everyone.
Progressive web app technologies are additive, not integral. They add value without breaking what already exists. This is why I shipped a few simple demonstration games earlier this year. I took existing web projects, and upgraded them to PWAs. They still work just as they did before, but now they work offline and can load a little faster.
This is one of the two advantages the web has over native, cross-platform and the ability to load a specific page without wading through in-app navigation. The first one is the big one, cross-platform.
Progressive web apps are not any one company's technology, they are everyone's technology.
Don't give Google and Chrome all the credit for PWAs. Give the other guys some love too.
At the same time, thank Google (and the other guys too) for what they have done to make the web a better place.