A Progressive Roadmap for your Progressive Web App

Written by Jason Grigsby on

One of the hidden benefits of Progressive Web Apps is that you can start right now and roll out features incrementally. We took this approach when building our own Progressive Web App last year.

Our planning started at the beginning of our recent redesign project. We knew we wanted to make the site into a Progressive Web App eventually so we did a little extra work during the redesign.

Jul 13: Our redesign launches

When the new design launched in July, we also moved the site to HTTPS and added a manifest. Both are required for a Progressive Web App.

Cloud Four's Redesign

These additions benefited our visitors immediately. HTTPS made the site more secure and protected visitor privacy. A manifest is used by Android devices to decide what icons to use if someone bookmarks your site to the home screen.

Oct 3: Service worker added

A couple months after the redesign launched, we added a service worker. Our first service worker was fairly simple. It cached items to provide a faster experience and provided a fairly plain offline fallback page.

At this point, our site was technically a Progressive Web App. But we weren’t finished.

Oct 18: More offline functionality and faster performance

We modified the service worker to cache recently read pages automatically. We also added a new indicator when someone was offline.

Our offline notification banner.

We polished the offline fallback page and added an animation.

Our offline fallback page.

Finally, we determined that font loading was one of the biggest bottlenecks for page rendering, so we inlined a subset of our font so that it was available immediately while the full font loaded in the background.

Nov 22: Web notifications

The next bit of functionality was web notifications. We spent extra time making sure we used notifications responsibly and figuring out how to integrate the service worker our notifications vendor used with our existing service worker.

Screenshot of our options to subscribe to new articles via either web notifications or email.

While we were at it, we added Link Preconnect HTTP headers now that our host had added support for HTTP/2.

Dec 7: Small tweaks and “launch”

After notifications were added, all that was left were a few performance tweaks and writing an announcement.

Screenshot of our announcement article.

Putting together a roadmap

As I mentioned earlier, the great thing about Progressive Web Apps is that we can incrementally build towards them.

Building a Progressive Web App incrementally isn’t only a benefit for your development plans, but it is also a boon for the people who visit your site. With each feature we rolled out, our visitors benefited.

It’s a Progressive Roadmap to a Progressive Web App!1

Our Progressive Web App journey converted into a roadmap.

As the arrow in the graphic illustrates, finishing the Progressive Web App wasn’t the end of our journey. We continue to make improvements to our website.

Pick a good starting point

There is one caveat to progressively building your Progressive Web App. You need a decent starting point from a usability and performance perspective.

If your site currently takes over 20 seconds to download on a Fast 3G connection or has a design that doesn’t work well on mobile devices, adding service workers and making it a Progressive Web App won’t be enough. It will help, but you won’t see the sorts of big returns that we document on PWA Stats.

So depending on the performance of your current site, you may need to do a little house keeping as part of your Progressive Roadmap.2

Every little step

Following a Progressive Roadmap3 is a blast because you get to see results along the way.

Person holding an iPhone with the camera looking at train tracks heading into the distance
Source: Kaique Rocha

You don’t have to wait to bundle up a binary, submit it to an app store, and wait for approval before your customers benefit.

Every step on the path to a Progressive Web App makes sense on its own. What are you waiting for?


  1. What can I say? I’m a father. Bad Dad jokes are part of the job description. 
  2. That’s right! I’m sticking with that pun. Stop groaning. 
  3. Toldja. 
Jason Grigsby

Jason Grigsby is one of the co-founders of Cloud Four, Mobile Portland and Responsive Field Day. He spends far too much time obsessing over mobile and the web. Follow him at @grigs.

Never miss an article!

Get Weekly Digests


Comments

Add a comment

Hİ there, how did you handle the safari support issues for service workers?

Leave a Comment

Please be kind, courteous and constructive. You may use simple HTML or Markdown in your comments. All fields are required.


Let’s discuss your project! Email Us