How progressive web applications (PWAs) are revolutionizing user experience

PWAs are unquestionably the latest chapter of web development, and the possibilities for businesses are extensive. Developers and testers need to be prepared

web development

What if web apps behaved the same way native apps do? There’s been a lot of chatter recently about progressive web applications (PWAs) as companies like Google, Microsoft, and Mozilla are all working on this new, modern web application standard. Last fall, Microsoft announced plans to offer support for PWAs on Windows 10 with a new edition of Edge, while Google has been at the forefront of PWAs. Apple has finally jumped on the mobile web train too, making service workers, a key component for supporting progressive web apps, available in Safari 11.1 for iOS 11.3 and MacOS 10.13.4. 

Many believe that these installable apps that live on a user’s home screen, without the need for an app store, are the key to delivering amazing user experiences regardless of the platform.

PWAs offer several benefits that ultimately improve user experience—think websites will load faster and be more engaging, will work without a network connection, and will even notify you when a new message arrives. The ability to work with a progressive web app even when you are offline is a huge benefit to users, and a big step forward from responsive web design (RWD), which only work when you’re connected to the internet. This capability makes the app faster and more available. In addition, with PWAs can also include features like cameras, data storage, GPS and motion sensors, and push notifications. These new capabilities are all the paving the way for delivering great AR and VR experiences right on the web.

Although PWAs are a bit behind native apps here, providing only basic mobile capabilities, the gap is closing quickly, and PWAs are for many pretty compelling. However, PWAs aren’t perfect yet, and it is important for web development teams to know how and when to leverage them. Let’s explore further how developers and testers can effectively make the move to PWAs, what skills are required for each, and what the uprising of PWAs means for RWD.   

The skills required to develop PWAs

With Google—the masters of simplicity—behind the development, it’s perhaps no surprise that PWA is relatively easy to adopt. The good news for developers is that PWAs have one common source code base to develop for all platforms (web, Android, and iOS)—making them easy for developers to maintain and fix while also supporting the new capabilities that provide a much richer user experience beyond traditional responsive websites.

What’s more, PWAs are relatively easy to adopt and do not require developers to gain new skills. Instead, they will need to learn new APIs and see how they can be leveraged by their websites. PWAs apps leverage two main architectural features for developers to use: service workers and web app manifest. Service workers give developers the ability to manually manage the caching of assets and control the experience when there is no network connectivity, while web app manifests provide metadata specific to the app like icons and splash screens. Both of these offer new opportunities for developers to increase their knowledge and expand their capabilities.

What testers need to know about PWAs

On the testing side, PWAs are still JavaScript-based apps, meaning tools like Selenium and Appium will continue to work effectively in most cases, though I have experienced limitations on the mobile testing side. Luckily, Google is offering developers and testers a set of tools to validate such PWAs on Chrome browser through the Lighthouse tool.

However, as cross-browser testing on desktop and mobile platforms is becoming more complex, PWAs do introduce a new level of difficulty especially when compared with RWD. As with any development of this type, new tests—both manual and automated—need to be developed, executed, and incorporated into the overall pipeline. As I outlined in “5 ways to implement a continuous testing plan for responsive web design,” the primary challenge with RWD is the visual changes driven by form factor.

PWAs introduce additional complexities due to more unique mobile-specific capabilities such as the ability to operate with no network operation, sensor-based functionality, and cross-device functionality as well as dependency on different test frameworks like Selenium and Appium. There may also be a need to instrument the mobile side of the PWA to better interact with the UI components of the app on the devices. Testers must be aware of what PWAs can access and how to keep quality assurance high at the top of their priority list.

Pivoting from RWD to PWAs

Despite the advantages PWAs offer, they do present a big disruption to an already-transient market. Many teams are just getting to grips with RWD and are now pivoting to also focus on PWAs. Web development teams now need to think about things like new baselines for app responsiveness, assuring the offline experience, interactions with on board sensors (camera, mic, etc.)—and more.

Forward-looking developers will look to overcome the challenges this kind of innovation brings and use PWA as an opportunity to deliver a better user experience. If you’re a developer just starting to move from a .com or an site to a cross-platform web environment, PWAs are a compelling option. It is new, gaining traction, and likely to here to stay. A mass exodus from RWD isn’t likely just yet, so web developers should base any plan for change around an appropriate product or business milestone. For example, a next big website release or a complete rebrand are good opportunities to implement a change. Ensure the move to PWAs makes sense and isn’t just a jump on the latest and greatest bandwagon.

PWAs are unquestionably the latest chapter of web development, and the possibilities for businesses are extensive. They will make it simpler for retailers to develop websites that are significantly faster than responsive mobile web experiences. As PWAs are likely to increase usage and present new opportunities for businesses to better engage customers, developers and testers need to be prepared. Developers need to ensure that they’re geared up for the shift, and testers need to prepare to deliver an even more comprehensive program for continuous testing across multiple platforms.

Copyright © 2018 IDG Communications, Inc.

How to choose a low-code development platform