Microsoft didn’t promote Progressive Web Apps (PWAs) as heavily this week as Google did. But there is some great information to be had.
Looking this over, there is only a little new information once you get past the “here’s what PWAs are”-type sessions, like Designing for Everyone: Building great web experiences for any device, which is worth watching if you’re still not sure what PWAs are all about. There are a handful of sessions featuring the developers who created certain PWAs, like Starbucks, Twitter, and Cboard. And then there are a handful of Windows developer-specific sessions, like Building Progressive Web Apps for Windows devices.
I think the issue here is that Microsoft is still trying to communicate what PWAs are, exactly, to developers. Meanwhile, Google is already moving on to describing new features.
Microsoft’s developer base needs to get on board with this technology. According to Microsoft’s Aaron Gustafson, “mobile ate the desktop back in October 2016.” I would move the needle back almost a decade: As I’ve noted in the past, the iPhone was released in 2007, and it was the asteroid that killed the Windows dinosaur. And Windows 8, released in 2012, put the final nail in that coffin.
What he’s referring to, of course, is the point in time at which mobile web traffic overtook desktop web traffic. That’s a subset of the “mobile first, cloud first” trends that define the current generation of personal computing by my own measure. And to be clear, this is just the web. Actual usage on mobile devices—and engagement—is much higher than is the case on the PC desktop.
But his point is sound: When you compare web traffic across platforms, you see that mobile doesn’t beat desktop by a wide margin. And in some important sub-markets—like news and finance—desktop traffic actually remains on top. And desktop users tend to spend more time on websites than do mobile users. The engagement is actually higher for PWAs than for mobile apps, something each of the PWA developers noted above mentions in their respective sessions.
Put simply, when it comes to the web, the desktop matters. And that explains, in part, why Microsoft has embraced PWAs.
As for Windows developers specifically, Jeff Burtoft’s Building Progressive Web Apps for Windows devices is the key session. (I met Jeff in person briefly at Build and we tried to connect later, but failed. I’m hoping to speak to him again soon.)
Skipping past all the important but oft-repeated information about PWAs, Jeff’s session provides a few interesting details about the future of the platform on Windows 10.
Microsoft wants Windows to provide the best PWA experience of any OS platform. PWAs are natively supported in Android and Chrome OS today, and they will see some form of native support on macOS and iOS soon. But Microsoft wants Windows 10 to offer the best possible experience for running PWAs of any of these OS platforms. This is consistent with Microsoft’s goals for Windows apps, generally. Native apps on Windows should always be more powerful, more usable, and more feature-rich than the same or similar apps on other platforms. The progressive nature of PWAs makes this possible: Microsoft can extend the capabilities of PWAs with Windows-specific features.
Windows 10 provides PWA with support for a number of native features. Today in Windows 10 version 1803, developers can add native OS features like password integration, Share integration, notifications and Action Center integration, Start tile pinning, jump list support, Store reviews/feedback integration, Timeline support, and protocol handling. Yes, that last one means that an email PWA could be configured as your default email client in Windows 10.
PWAs can access native code on Windows 10. This one is very much developer-focused, so I’ll dumb it down a bit. One of the jabs against PWAs is that they’re not really “native” apps and thus won’t perform as well as apps that are written in languages like C# and C++. That’s mostly nonsense, actually, but Microsoft also PWAs on Windows 10 to call C# and C++ code (via a bundled WinRT object or portable class library) in order to improve performance where necessary or, more likely, in order to reuse software code you’ve already written. Burtoft calls this “PWA with a splash of native.” And this is how Microsoft built its PWA Teams app, by the way.
They’re not done. The initial release of PWA support in Windows 10 is just the start, Burtoft says. Additional PWA features are coming in future releases of Windows 10. Including, yes, the ability to install PWAs from the web using Microsoft Edge. (This is expected in Redstone 5.) Microsoft is also exploring something called Fluent Web, which will bring the Fluent Design System to PWAs.