With the Windows 10 April 2018 Update now available to download, everyone should soon be able to discover a new type of Windows 10 app called Progressive Web Apps. PWAs are web apps on steroids that look and work just like native apps. This is possible thanks to standards-based technologies such as push notifications and service workers, which are supported on Windows 10 version 1803.
In some ways, PWAs are bringing back a pretty old debate: should developers continue to develop native apps for the most popular computing platforms, or can cross-platform PWAs be good enough for the majority of use cases? This is still a hard question to answer, but it’s already clear that PWAs could have a big impact on the Microsoft Store and the company’s app strategy.
PWAs have some undeniable advantages
Thanks to service workers, cache and push APIs, PWAs can support push notifications, background tasks and even limited offline functionality. As we’ve seen with the new Twitter app, which is probably the best PWA you can use on Windows 10 today, devs can also add support for Live Tiles, Jump lists, and even pull to refresh.
As Microsoft explained in its documentation about PWAs, these apps work just like standard UWP apps and they can leverage the following features over running in the browser:
When installed on Windows 10, PWAs run as Universal Windows Platform apps and gain these technical advantages over running in the browser:
- Standalone window
- Independent process from browser (isolated cache, less overhead)
- No storage quota (for IndexedDB, local storage, etc.)
- Offline and background processes
- Appearance in “app” contexts such as the Windows Start menu and Cortana search results
Because PWAs are built on web technologies, they should also be always up to date. In general, Windows 10 users shouldn’t have to download a new version to enjoy new features, though app updates may still happen for some of them. There are a lot of advantages for developers, especially since a well-built PWA should work the same across browsers and different. platforms. Charlie Croom, Web engineer at Twitter recently pointed out that supporting a PWA is much less work for app developers.
A strong core app means we don't duplicate effort making each feature for every platform. Leveraging PWA support per-platform means add-on enhancements when you install the app. It might surprise you how small the web team at Twitter is; PWAs multiply effectiveness + reach.
— Charlie Croom (@CharlieCroom) May 1, 2018
Is Microsoft right to publish PWAs to the Microsoft Store?
Since the launch of Windows 8 back in 2012, Microsoft has struggled to get developers to supports its Windows Store. To be fair, Apple also has its own problems with the Mac App Store, but so far the Cupertino giant has refused to prioritize quantity over quality.
The fact that Microsoft intends to publish PWAs on the Microsoft Store on its own seems to be problematic for a couple of reasons. The company detailed its plans back in February:
We’ve been using the Bing Crawler to identify PWAs on the web for nearly a year, and as we’ve reviewed the nearly 1.5 million candidates, we’ve identified a small initial set of Progressive Web App experiences which we’ll be indexing for Windows 10 customers to take for a spin over the coming weeks…Throughout this process, we’ll continue to vet our quality measures for PWAs, to make sure we’re providing a valuable, trustworthy, and delightful experience to our mutual customers on Windows devices… Once in the Store, the publisher will have the option of claiming their apps to take complete control of their Store presence.
We gave these PWAs published by Microsoft a try, and they’re nothing like the excellent new Twitter app. In short, they seem to be basic web wrappers that don’t leverage service workers and other PWA features. And despite Microsoft saying that PWAs would require the Windows 10 April 2018 update, all these apps require Windows 10 version 1507 or newer, and they also work on Windows 10 Mobile. However, it’s really not a good look when you see pop-ups asking you to download an Android app.
In the end, these “PWAs” don’t offer much value, and there are also some UI/UX issues worth mentioning:
One issue with some PWAs is the lack of a progress indicator after you click a hyperlink. It just pauses and then jumps, but it's unclear to the user if that's normal or the app/site is stuck.
Not the most exciting PWAs either, and pop up ads are as usual hard to dismiss. Meh.
— Daniel Rubino (@Daniel_Rubino) April 7, 2018
We’re not sure it makes sense for Microsoft to continue pushing such low-quality apps to the Microsoft. It doesn’t look good at all, and despite Microsoft saying that publishers can take control of these apps to improve them, we doubt many will care.
What does this mean for native apps?
Native apps usually have the advantage of close-to-the-metal code, but while this is generally true for Win32 apps, it obviously doesn’t apply to all UWP apps. Indeed, some of Microsoft’s own UWP apps have terrible performance such as OneDrive or the Xbox app, so PWAs certainly make sense for some use cases.
However, PWAs being added to the Microsoft Store means that users can now find three types of apps over there: bridged desktop apps (such as Spotify or iTunes), UWP apps and PWAs. Microsoft is still investing in its UWP platform, but it’s hard to see developers ever embracing it in a big way.
In a blog post titled “Microsoft and the UWP Enterprise Delusion,” Dean Chalk, a former Xamarin developer who recently switched to Google’s Flutter alternative summed up all the issues with Microsoft’s UWP platform:
UWP is a mobile-first platform. Its designed for small devices that are being used by people touching a screen with sausage-shaped fingers. Yes, you can have the app adapt to different screen sizes but its still the same issue — powerless and simplified, with low levels of information density — if that’s all you needed, then you’re going to build a web app instead anyway.
Chalk isn’t convinced that we’ll ever see any serious PWAs being developed either. “Web apps have been done where required, and PWA’s aren’t on any enterprise roadmap,” he explained, adding that Microsoft should rather focus on its strength, which is desktop software.
It’s probably too early to tell if developers will jump on the PWA bandwagon, but we already know that Microsoft has dedicated many Build 2018 sessions to the topic. One of them will feature the Twitter team explaining how they re-built their Windows app as PWA, leaving the previous UWP version behind.
In some way, it’s been weird to see Microsoft promote both the new Twitter PWA and iTunes finally coming to the Microsoft Store this past couple of days. iTunes is pretty much the type of app that could have become a web app a long time ago, but for some reason, Apple still thinks that having a desktop app for Windows remains valuable. The debate between web and native apps is still ongoing, and so far Microsoft wants to welcome all types of apps in its Store. Whether this can lead to more developers and Windows 10 users embracing the Microsoft Store remains to be seen.