Progressive Web Apps on Android
If you’ve been paying attention to the latest developments with Android, you know there is something new coming down the pipe.
Progressive Apps. Or, to be exact, Progressive Web Apps (PWAs)
What are PWAs? Essentially they are a strange combination of web apps and regular apps. The PWA highlights include:
- Works for every user, regardless of browser choice
- Fits any form factor
- Works offline (or on low-quality networks)
- Feels like an app
- Always up-to-date
- Uses HTTPS for security
- Enjoys W3C identification as an “application”
- Enjoys features like push notifications
- Can be easily saved to home screen
- Can be easily shared, via URL
Prior to PWAs, any site that offered a web app for use, had no choice but to present that app through a web page. A user could pin a URL to the home screen, but that icon would still only open the link within a browser. Thanks to PWAs, those web apps can be presented more like regular apps. The process is simple: You find a PWA you like, add it to your home screen (or your App Drawer), and the next time you run the PWA, it will behave almost exactly like a standard app.
How to use PWAs
Let’s walk through the process of “installing” a PWA on your Android device. I’ll demonstrate using the wikiHow web app. In order to do this (as of this writing), you must have either the beta or dev version of Chrome (as it will not work on the stable release yet). With either of those versions of Chrome installed, open it and point the browser to the wikiHow site. Tap the menu button in the upper right corner (three vertical dots) and then tap Add to Home screen (Figure A).
You will then be prompted to give the wikiHow PWA a name (Figure B). Do that and the icon for the wikiHow PWA will appear on your home screen.
At this point, wikiHow will load as a stand-alone web app (as opposed to a web app within a browser); the launch will happen much faster than it would have previously and the app functionality will behave more smoothly. This is due to the help of “service workers” which cache key resources (allowing the PWAs to launch and behave as if they were natively installed).
The first, and obvious, caveat is that not all web apps are progressive. And some apps will run from the home screen as if they are PWAs (and even run smoothly), but will not offer the deeper integration (such as push notifications and settings) found with true PWAs.
The second caveat isn’t quite as obvious. When I first read about Progressive Web Apps, my first thought was of security. You see, with standard apps, you go to the Google Play Store and trust those apps have been vetted and are safe. Conversely, anyone can design a web app (with or without malicious intent) and place it on a web site. Say, you stumble across what seems like a really useful PWA and add it to your home screen. The PWA gains access to push notifications and settings…so what’s to say that app cannot be built in such a way as to bypass security features and serve as, say, a ransomware? I cannot help but consider this a possibility.
Although I do have faith in Google’s ability to lock down this service in such a way that it would be very difficult for a developer of malicious PWAs to circumvent built-in protections, with more and more sensitive data being transmitted via mobile devices, it concerns me that this is a dangerous floodgate about to be opened. I could be wrong, but developers of malicious code are always in search of new routes to success. Could this be one of them?
I like the idea of Progressive Web Apps. They can make for a much more immersive experience for users, without having to take up precious space on a device and without requiring company developers to spend crucial time developing mobile apps (on top of all their other duties). I have my fingers crossed that one caveat will not haunt Google (and users) in the end.
What do you think? Are PWAs a good idea? Or will they wind up a massive security nightmare for Google and Android users?