Part I: The Fundamentals
A brief history
Progressive Web Applications. They’re a hot topic these days, yet it seems like we’ve been hearing about them for years. And we have. In fact, the first high profile mention of the concept came from none other than Steve Jobs at Macworld 2007.
“The full Safari engine is inside of iPhone. And so, you can write amazing Web 2.0 and Ajax apps that look exactly and behave exactly like apps on the iPhone. And these apps can integrate perfectly with iPhone services. ”
Web apps that look like native apps: the roots of the PWA concept are right here in this 11-year-old quote. Simple, right? The irony is that Apple’s concept for these “proto-PWAs” never quite took off, probably due to the massive success of one of their next developments: the App Store. Apple’s App Store is a central repository of applications; it has the added bonus of allowing Apple to vet and approve what you are able to install on your phone. This keeps things safe, stable, and predictable. It also generates a few bucks for Apple on the side. So, looking back at the smash hit Apple had on its hands with the App Store, it’s easy enough to see why the PWA concept was brushed aside.
Why is it back now? Google resurrected the idea of progressive web apps in 2015 as a way to enhance the web experience. However, the true answer may lie in a development which occurred with very little fanfare and yet represented a seismic shift in the mobile app landscape:
Apple finally decided, as of March 2018, to support the technology (service workers) that makes progressive web apps possible.
From that day forward, with Safari users part of the target market for PWAs, they became more than and Android-only tool.
What’s so great about PWAs? Why should I care?
PWA vs. App Store
PWAs are a radical departure from the app store mentality. They are essentially an extended, enhanced version of a website you might already be using. When you visit a PWA-enabled site, you are offered the option to install the “app” to your home screen. In fact, you are giving permission to the site in question to install a few extra bits of code which enable all of the extra functionalities that a PWA offers.
How can a PWA Help you? The good..
Highlights of potential advantages of PWAs over normal web and native apps.
- Streamlined codebase- maintain a single version for all platforms
- Converging (iOS/Android/Web) dev teams = lower development and maintenance costs
- Offline functionality in cases of poor mobile connectivity
- Potential performance increases (caching, offline browsing)
- Extra functionalities(e.g. push notifications) without breaking the site for users without PWA support
- Automatic updates
- Ease of distribution (publish without the need for approval from Apple or Google)
- Quick Installation (easy to ‘Add to Home Screen’)
- Search-engine friendly(ier) – although this may create a new challenge – helping users find your certified PWA app
- Continues to work (minus some extra features) if loaded on unsupported browsers (becomes a shortcut link rather than a full PWA)
And some things to consider….
- Inconsistent access to hardware features – sensors, faceID, fingerprint, GPS (some are supported on Android now, less on iOS as of today) [link]
- 3rd-Party authentication can be tricky (login with Google, Facebook) [link]
- No easily-accessible central repository for installation e.g. App Store (the downside of decentralization is potential difficulties finding your app)
- Good browser support as of June 2018, but not 100% coverage (e.g. iOS 11.3 or newer)
- Getting users to take the extra step of ‘add to home screen’ could be a challenge (promotion, education)
- Spoofing a troubling possibility [link]
- No automatic carry-over on users upgrading to new phones
- Requires iOS 11.3 or newer on Apple devices
- No push, Siri, voice, payment, background code execution support on iOS yet [link]
The present… and the future
So, that’s the theory behind progressive web apps. As you can see, there’s a great deal of promise in this new approach to engaging users on the web; there are also some tricky kinks to iron out before PWAs are ready for universal adoption. If you’re currently evaluating PWAs for your organization, you might keep in mind this research nugget:
Gartner has stated that 50% of all native apps will move to be progressive web apps by 2020.
Check back soon for part 2 of this series where we’ll take a closer look at how PWAs are actually being used by companies today. What benefits are being seen by early adopters, and how are they dealing with the (present day) challenges of the tech?
Want more on PWA? Check out some other resources: