2018 State of Progressive Web Apps (PWA) - Part 1

2018 State of Progressive Web Apps (PWA) – Part 1

/, Progressive Web Applications, User Experience/2018 State of Progressive Web Apps (PWA) – Part 1

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?

If you’re not a developer who’s already up to speed on the details, you might be asking “Why ‘progressive’? What’s that all about? Are these apps with a social conscience?” Well, in this case, “progressive” simply means “new features.” Specifically, the new features in modern browsers that allow PWAs to work are manifests and service workers. The manifest is a simple JSON file that defines the fundamental parameters of the PWA- what it’s called, relevant icons for the app, and other basic characteristics such as colors, fonts, screen orientation, etc. Service workers, on the other hand, are the real key to the enhanced experiences that a PWA can offer. They essentially act as a proxy between the user and the network, little javascript helpers that do the cool things that allow PWAs to work, such as caching data (and deciding when and how to use the cached info- say, to overcome a bad network connection), event triggers, taking care of push notifications, organizing updates, etc. These are the things that allow a web page to feel like a native app. In adding service worker functionality to the latest iOS, Apple has opened the door for PWAs to reach, for all intents and purposes, the whole mobile market.

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:

 

Eran Kinsbruner is the Lead Technical Evangelist at Perfecto and Author of the Digital Quality Handbook and Continuous Testing for DevOps Professionals books. He is formerly the CTO for mobile testing and Texas Instruments project manager at Matrix, Eran has been in testing since 1999 with experience that includes managing teams at ADT, Sun Microsystems, General Electric, and NeuStar. You can find Eran on Facebook, Twitter @ek121268, LinkedIn, and on his professional mobile testing blog at https://continuoustesting.blog/.

Leave A Comment