What are Progressive Web Apps, and why would you want to build one?
I just read Progressive Web Apps, by Jason Grigsby. If you want an overflight of progressive web apps (PWAs), including a definition, what their capabilities are, and why you should consider creating or upgrading your website to one, this is a great book. If you are looking for a step by step technical tutorial on how to build PWAs as a developer, this book is not for you, though there are pointers throughout the book to other resources for doing so.
The main reasons to consider progressive web app over a native app depend on your needs, but key differentiators are:
- you can use well known discovery mechanisms like search engines to let users find your app
- making your website progressive will make things better for your current users because of security and speed
- someone can use a PWA without the barrier of app installation (which fewer people are doing) and on whatever browser they want
- a user can benefit from PWA features like offline support and notifications without ever installing the PWA on their homescreen
- should a user decide to install your PWA on their home screen, they can have an app like experience (how “app like” depends on the engineering effort)
Progressive Web Apps is a quick read, only 150 pages long, but the author covers a lot. Topics like as “what is a PWA” and why you should modify your website to be one are covered in depth. He also covers related topics such as push notifications and your PWA on a home screen. The coverage of the siren call of push notifications and how you must think deeply about usability of this feature is especially eye opening and should be required reading for all sites that ask for push notification permission. You can tell that there was a lot of hands-on research done for the book, as there are multiple screenshots and much detail around browser support.
The browser support issue is a big one, because one of the promises of PWAs is easy multi platform support and installability while still delivering a great user experience. Different browsers support different levels of different features. In depth, thorough discussion of feature support is not something a book is great at because it is changing rapidly as new browser versions roll out. But the author gives a lot of context about how to think about what your app should look like, which can help you decide which features really matter. Some questions to consider:
- Do you want to rebuild back button support?
- What should the user be able to do offline?
- What are the reasons you might want to use the different types of display modes?
- Will trying to replicate native app look and feel backfire if you don’t match it perfectly?
The author also dives into non PWA features such as AMP and payments, though again with the PWA landscape changing rapidly I imagine this will be out of date soon. The author discusses various ways to architect a PWA and the ramifications that might have on your existing site if you don’t have a greenfield project. He’s obviously been through this before and provides some useful anecdotes, such as the fact it took a client six months to move their website to SSL due to existing infrastructure (having worked at a BigCo or two, I believe it!). There’s also some discussion of PWA app stores though unless you are focusing on Windows users, there’s not much ‘there’ there at present.
The author also makes reference to the difficulties of PWA implementation. There are offhand references to the challenges of creating a full blown PWA (which may or may not be technical). He also lays out a game plan of iterative implentation of a PWA, including items that just the web development department may be able to do. As part of that chapter, he also talks through the real world example of his company, Cloud Four, converting their website to a PWA. By letting us see the decision poitns, features and choices that a real company made, even for a website as simple as cloudfour.com, the reader can grasp some of the challenges. I finished that chapter excited to explore convert the Culture Foundry site.
If you are in the web development world, understanding the place of PWAs is helpful. I hadn’t looked at this world seriously since the old app manifest days (though I do subscribe to Dion Almaer’s blog, which covers a lot of these topics). This book is the a digestible length and has plenty of great information. Highly recommended for an introduction to this topic for developers and non developers alike.