Written by: Melissa Knightes and Chad Johnston

You’re looking at your product roadmap and realize that you’ve reached a crossroads with your mobile app. Development costs are up. User engagement metrics are slipping. Your UX researchers raise the alarm that your users are frustrated with their experiences – slow load times, limited platform support, and frequent updates from the app store top the list. Meanwhile, you know your development teams are stretched to the limit and can’t take on more tech debt. A rebuild is in the cards; you’ve heard a lot about how progressive web apps can solve these problems (and more). But you’re just not sure if they’re right for you.

Seems familiar? You’re not alone. Leaders in nearly every industry are being challenged to boost mobile engagement while reducing maintenance overhead. And the usual playbooks need some fresh approaches.

Progressive Web Apps (PWAs) are trending as an alternative to native mobile applications or responsive web applications, with their popularity growing as the technology evolves and big players like Apple take notice and begin to add support. With all this buzz, you might wonder: is a PWA right for my software development initiative?

Whether you’ve experimented with progressive web apps or are new to the approach, something as simple as a checklist can help you zero in on what you need from your app and whether a PWA can deliver it. In this post, we’ll share eight criteria to help you decide.

But First: What’s a Progressive Web App?

PWAs are web applications designed to provide a native-like experience to users, even though a web browser delivers the PWA. Thanks to their fast load times, offline functionality, and app-like experience, PWAs can offer a more engaging and immersive user experience than a traditional responsive web application. PWAs also have the advantage of being cross-platform vs. native applications. This lightens the load on development teams, who only need to develop and maintain one version. 

For most PWAs, the service worker is the real power under the hood. Service workers run in the background, separate from the main web page, and can handle events such as network requests, push notifications, and caching. They run independently of the main thread of the web page, allowing them to perform tasks in the background, even when the web page is not open. While service workers are not strictly required for PWAs, the ability to operate offline is only possible with service workers in the mix.

The Progressive Web App Decision Checklist

1. Your users need to access your app offline.

One of the most significant advantages of a PWA is its ability to function without an internet connection. Once a user visits a PWA, it can cache the required files and resources, allowing the app to work even when the user is offline. This offline ability is a huge advantage over traditional web apps that require an internet connection. For example, a user who needs to travel to an area without a reliable internet connection can preload reports and other data for reference later.

2. You need optimal performance with minimal data usage.

The same service worker functionality that enables offline support can also enhance the performance of PWAs by caching frequently used resources, such as images and scripts, and serving them from the cache instead of making a network request. They can also pre-fetch resources in the background, further increasing performance. 

Is data usage a concern? No problem! Because service workers cache resources, they can limit the amount of data the application consumes – helping users save on data usage and preventing them from reaching data limits.

3. Your users want an app-like experience without the hassle of downloads and installs.

The look and feel of an installed PWA creates a more app-like experience by launching in full-screen mode. Users can easily add a PWA to their home screen via a much simpler and more streamlined process than downloading and installing a native app from an app store, and the app will appear and function like a native app. While PWAs can also be packaged and made available in various app stores, this more streamlined process reduces the barrier to entry for getting an app on your user’s device.

4. You want to send push notifications (and don’t mind them being server-side).

Push notifications allow PWAs to provide users with real-time updates and alerts. By sending notifications directly to the user’s device, PWAs can help increase engagement and keep users informed. Push notifications are also a feature commonly associated with native apps, so it helps to build on the impression that the PWA is a native app.

It’s important to note that on iOS devices, PWAs can only send device-initiated push notifications when the app is open, while native apps can send notifications anytime. Due to this limitation, we recommend implementing server-side notifications. While this will add to the overhead of the application, it will result in notifications that are obvious to the user, maximizing their value. It is also a good practice to store any notifications presented to the user and make the notification history accessible within the app.

5. You need your app to work across many devices.

PWAs work on various devices and platforms, including desktops, laptops, tablets, and smartphones. This versatility makes them a great choice because they allow engineers to create a single PWA that works across all devices rather than having to develop separate web or mobile apps for each platform. 

6. You want to leverage well-known technologies.

Developing a PWA can be more cost-effective than developing a native mobile app. Why? Because PWAs use web technologies like HTML, CSS, and JavaScript, allowing developers to use the same skills and tools they already know to create a PWA. This reuse of knowledge can save time and money compared to developing a native app, which requires specialized knowledge and tools.

7. You aren’t dependent on SSO for authentication.

PWAs may have difficulty integrating with some single sign-on (SSO) solutions, complicating user authentication. Furthermore, authentication must happen for applications that require it while the application is online. Users can take advantage of the offline benefits only after they have successfully logged in and for the length of time that their authentication token is valid, or your app must be specifically set up to allow users to work in an offline mode.

PWAs are self-contained when installed on a device. This limits linking to external websites and sharing credentials between the PWA and another destination application, especially on iOS (vs. Android or desktop). While this may be acceptable for your use case, make sure to clearly understand your user base and the devices they will be using and take that into consideration.

The verdict?

Think back to the scenario at the beginning of this post. If you’re like many leaders, you’re facing many challenges (and a lot of opportunities) related to your mobile experience. Rather than doubling down on what you’ve done before, the first step toward your most ambitious goals may be to revisit your use of native applications and responsive web apps altogether.

If you answered YES to the criteria in our checklist, progressive web apps might be the refresh your mobile playbook needs. As more and more users turn to mobile devices for online activities, PWAs will become an increasingly important part of the web landscape. It pays to stay ahead of that curve.

Let’s talk about your future.

LET’S TALK