In October 2017, I spoke with Microsoft’s Jeff Burtoft and Aaron Gustafson about the company’s plans to bring Progressive Web Apps (PWAs) to Windows 10. Since then, a lot has changed: Microsoft incorporated PWA support into the platform, as planned, allowing users to install these more sophisticated web apps directly from the Microsoft Store. And more recently, of course, Microsoft announced its audacious plan to adopt Chromium for the next version of its Edge browser, a move that will dramatically change—and improve—how PWAs work in Windows.
So I was curious about the timing of things—did the need for better PWA support drive the decision to adopt Chromium?—and about how well PWAs have performed in the Store, since there’s no easy way for a user to understand the origins of the apps they install. So I reached out to Jeff and Aaron ahead of Build, and we met at the show with a few other folks from the Edge team to see how things have, ahem, progressed.
Paul: Let’s pick up where we left off.
Paul: When we last spoke, the thing that stuck out for me most was that you [Microsoft] were bringing apps to the Store while your contemporaries at Google were doing apps through the browser. And you both were looking at doing what the other was doing as well. I’m curious if that played any role in [the move to Chromium for Edge].
Jeff: We made a big bet on the Store, and the web app tech we had so far made that make the most sense to implement first. And we have some really great stories to tell about that. We talk about Twitter a lot, but Pinterest recently finished their roll out on PWA. And Hulu, which was a UWP, switched to PWA. So for us, it was kind of a point where we had made some technology choices, and they [the app makers] made some technology choices, and they are finally aligned. So there was a lot of collaboration …
Paul: Between you and Google?
Jeff: No, I’m thinking about the partners. For example, Pinterest had not been on the platform, but they were building a PWA. So when we started supporting PWA, it was really natural for them to get on board and put their app in the Store as a Progressive Web App. So we’re confident that we made a good choice there. That said, there are some benefits to Google’s approach [where PWAs are installed through the browser] as well. And frankly, those partners, the feedback they gave us as well was that there’s not enough continuity with the browser. And so if you look at how Google implements this, they have shared cookies. So if you’re already logged in, you don’t have to re-login. And we hear that time and again.
Paul: I’ve seen that myself.
Jeff: The other thing is, when you have a password manager, having [your passwords] automatically available in the app is a big deal for them. [If you manage passwords in Chrome, these passwords are pushed to apps in both Chrome/Chrome OS and Android.] So for us, whenever we think about how we’re going to take the next step, I don’t think that we can say that PWA lead the decision on the browser [in switching to Chromium]. But once we did make that browser choice, it was a really natural decision to re-baseline and meet those needs. It was a lot easier for us to figure out how to get that into the Store than it was to rebuild what we had in the Store into the browser.
Kyle Pflug (Senior PM Lead, Microsoft Edge): PWAs follow the logic in the browser. Whether it’s installing web apps, organizing tabs, we started experimenting in the previous version of Edge. But now that we have the chance to start over, we’re being a little more thoughtful about those experiments and start fresh. It’s kind of an opportunity to solve the same problems but in new ways.
Jeff: Yeah. We can’t put words in Google’s mouth but …
Aaron: I think throughout the process we [Microsoft and Google] were both looking at what the other was doing, seeing what’s working, what’s not working, looking at how our customers are reacting. We’re all in these different orgs, trying to work together to realize the same vision. They have the same thing going on there at Google. They’ve now gone the Store route using Trusted Web Activity, which in many ways borrows on what we had been doing with the Store. Because ultimately it is about serving our partners and allowing apps to be distributed as broadly as possible through as many avenues as possible. For some users, that’s going to be the browser, for some it will be the Store. For ten years, we’ve taught users, on mobile, that the Store is where you go to get software. But we’re just trying to create as many opportunities as possible for people to find what they’re looking for.
Paul: So if you look at the [pre-release versions of the new Edge, web apps and pages can be installed/pinned from the Settings and more menu or through an icon in the address bar].
Aaron: I don’t think we’ve come to an official stance in terms of the install prompt event. We’re looking at what Google’s done, talking to their developers a lot about what’s worked and what hasn’t, and to our partners about what they’ve liked or not liked about the approaches that Google has taken. And just try to figure out what’s right.
Jeff: I would say that the Google desktop implementation [for app install] is now very mature. And getting in there, and working on the same code base, was actually very good timing for us. What they had done so far, there wasn’t a whole lot to it, it was buried in a menu, had to be the right type of web page, and it would say “install” instead of “pin.” I don’t think they intended it as a good way to do it, and there is still a lot of work to do to refine that and make that experience make sense to both users and partners. We talked to some of the folks who are in the Store today and asked them about how to handle that [app install] through the web. Do we use the term “PWA”? And they said, no, that’s not a term consumers understand. We do use those words that Google does, like “pin to home screen” or “install.” But I think there’s still a lot of experimentation to do. Developers know what a PWA is. But in the real world, it’s not something that people understand.
Paul: It shouldn’t matter to users how an app was made.
Jeff: Right. It shouldn’t matter, it’s an app. Users understand apps. They understand that this is a browser and this is an app. A website may tell they use that they should use the app. And we just need to figure out how that makes sense in the browser.
Aaron: The other thing is that sometimes it’s different depending on the audience. End users in India would very much prefer for something to feel web-like as opposed to app-like because it’s smaller and lighter. The same thing happens in rural America, or anywhere that there are lower-end devices or pay-as-you-go data networks. They’re going to suffer in app-land. Finding the right balance and serving the audience correctly is important. It’s all about options.
Jeff: Who was it that had this app where the PWA version was x-percent smaller?
Aaron: It was Tinder. Their PWA is 90 percent smaller than their app and it offers the same basic functionality.
Jeff: Those are the types of things where the web really makes sense.
Paul: So how are things going to work going forward. Today, you have PWAs in the Store and I assume they run on [the current Edge backends].
Aaron: We’re trying to find a path forward for app developers. That path forward will likely be the WebView. If they need to have access to native [Windows 10] functionality that we’re not bringing to the web. But at the same time, we’re very standards-focused and looking to see what are the high-usage and high-value APIs in Windows. Things like jump lists and potentially live tiles. What makes sense to bring over to the web as standardized APIs. And that’s where we’ve really gotten tucked in with the Google folks because they’re looking at this for Chrome OS as well. They want file system access, and more. And so we’re starting to work with them on those standards to help empower the next generation of web apps and PWAs. Ideally, we’d like for the web to be the path forward for existing PWAs in the Store. But for the few apps here and there that do require specialized Windows functionality for one reason or another, we want a path forward for them as well.
Kyle: We will not break PWAs.
Aaron: Right. WebView 2 is an Anaheim [Chromium-based Edge]-based version of the WebView. It would either be evergreen or you could package it with a specific version of Edge. [In the past, there was a different version of Edge and the WebView with each version of Windows. But WebView 2+ is tied to the Chromium schedule now.]
Jeff: I’m going to predict the transition a little more favorably. When we actually looked at how many people we were going to hurt in moving to the web context. Because we lose that WinRT API layer that we were able to provide in PWAs previously. Aaron came up with a list of maybe a dozen APIs that were really being used, even though we provided thousands of them.
Paul: What were a few of the top APIs? Push notifications…
Jeff: Push notifications were already being provided. Share target was a big one, and is coming. Media controls. Jump Lists is coming soon. All this stuff, these high-value APIs, we’re trying to bring them over. But I think most of them [apps/app developers] will just move to what’s already available in PWA in Anaheim [the new Edge]. There will be some who really need a certain API. And we will work with them. They can use a WebView and still have the same APIs. But it’s only a matter of time before they’re available the FUGU or W3C APIs, so that they can just go back to being a PWA. For example, we’re actively working now with Google on native file access.
Paul: Aren’t jump lists Windows only? How will they be added to a standard?
Aaron: No, there are things like jump lists on other platforms. Long press on iOS, Force Touch on Mac, etc. There’s parity across all these platforms. The APIs we’re taking as our first crack at this, the low-hanging fruit, are things that exist on all platforms [in some way]. Once we get our sea legs, we start pushing forward on some of the harder stuff. There are a bunch of things under the FUGU umbrella in the Chromium project that Intel and other partners have been tackling too. They’ve openly asked us for help. [FUGU is a subsection of the bugs on the Chromium tracker that are basically a catchall for device integration capabilities.]
Paul: OK, so at some point, you realize that this [the move to Chromium] is happening or might happen. Was there anything, like, Yikes horrible on the Chrome side?
Aaron: I’ve known a lot of the Chrome developers for years, so I should not have been surprised, but I am still a little surprised by how welcoming the reception has been. It’s been super-gracious. Everybody is collaborating, and I don’t feel even a tinge of, like, competitive worries, like we or they are holding anything back. We obviously have our own partners that we are dealing with, NDAs we need to work around, and so on. But relationship-wise, we have a really good rapport with the Chrome team. They’re very excited to have us onboard.
Jeff: We’ve been collaborating with Google on PWAs for years. We anticipated that we would have it pretty easy. And this has given us a bit more official platform to communicate. Chromium is becoming a more public channel to see the collaboration that’s happening. Which is pretty cool. In the past, it was just us talking about something or them [Google] talking about something. But now there is a forum where anyone can see that there are conversations actually happening. It’s official. So for us, it’s a really natural step up. Both parties understand that if it’s going to work, there has to be a lot of collaboration. And that we have to approach this in a very open source-minded way.
Paul: The last time we talked, I got the vibe from you guys that you had good relationships with Google at that level. But [with the Chromium-based Edge], has that relationship moved uplevel at all?
Jeff: Yeah. Now, our bosses are talking to their bosses. For whatever that’s worth. I don’t think they actually get anything done.
Jeff: But they’re talking. It’s not as grassroots as before.
Aaron: We’ve always tried to have coordinated messaging because we all ultimately want PWAs to succeed. We want the web to succeed. But yeah, it’s nice to see everything out there and we’re all working together. There was … some degree of community concern when we announced that we were going to Chromium. Especially from the web standards world. But I think people now see that we’re not just going to take Chromium and do our own thing. We’re here to participate and to so in an open way.
Paul: I think the fear is that Google, one day, will say no to something.
Aaron: Maybe, maybe not. I hope not. But one day at a time.
Paul: OK, back to PWAs. You mentioned some specific apps earlier. How do we gauge the success of PWAs, especially in the Store? There’s no way to really how apps are made. PWAs make a lot of sense to me. Has the uptake been better or worse than you expected?
Jeff: The trajectory is rising. One of the things we’re going to do for you and others in the community who want to know these things is to start showcasing partner apps in our PWA Builder tool. This is an opportunity for partners who do build PWAs to have a place where they can say, yes, I’m a PWA. When we do have a conversation like this, I can mention Pinterest because they went public with it. But there are hundreds of others that I can’t discuss because it’s not my place to call out the technologies they’re using. There are two levels to this: The front runners, or key players, that are in the Store, and we have clearly seen that rise. In the next couple of months, you will find out about players you hadn’t anticipated that are on board with PWAs as well. Thanks to Web Assembly, there are these traditional power apps that can utilize it to handle low-level code. And even for the legacy foundations of their applications. Then they can build the front-end of their apps on web technologies, and they are PWAs that will be delivered and maintained like PWAs. So we’re going to see that rise. And then I would anticipate that, after that, we’ll see more of the community. The numbers, I think, will follow after that. Once we see more big names announcing that they’ve [chosen PWA], others will follow as well.
Aaron: We’re also starting to see more, sort of, bespoke tools that developers are building for themselves as PWAs. In some ways, that kind of thing is what lit the fire on iOS app development back in the day. People would say, oh, I need a tip calculator. Now people are starting to do the same thing, but turning to web tech to do it in the mobile space. It’s really interesting. And that gets me excited about how apps are evolving.
Paul: So what’s going on with the Edge developer tools?
Brendyn Alexander (Senior PM Lead, Edge Developer): The developer tools strategy ties in nicely with the point they made about being customer-centric. We went out and did a lot of investigations with developers using HTML dev tools. And the first thing they all said was, just make the tools like the Chromium dev tools. So we moved Chromium, and joked that we were done. But we’re not really done. Now we have a consistent set of tools that look like Visual Studio Code and Visual Studio and feel like a cohesive set of tools across platforms as well. Our big view was to go where the customers are and to make them more productive. And we’re contributing most changes back to Chromium, including accessibility fixes, localization, keyboard navigation, screen reader, high contrast mode, contrast ratio support, and more. Inclusivity is a big part of our first push, and I think we’ve made 400+ commits into Chromium so far. So we hit the ground running. And in terms of partnership, we have a great working relationship with the Chrome Dev Tools team as well. We submit PRs to them and collaborate with them on the best ways to get them done. For accessibility and localization, we’re doing a lot of the heavy lifting in terms of the sheer number of engineers we have working on that.
Jeff: One of the best things is that the F12 [developer] tools now work in PWAs too.
Brendyn: Yeah, it’s really cool.
Note: Apologies if this is a little rough. I wanted to get it published before I flew home from Seattle. I’ll try to pretty it up when I get home. —Paul