Like Microsoft a week earlier at Build 2017, Google hosted several sessions at its own I/O conference about Progressive Web Apps, or PWAs. The theme at this show, however, was different, and of course Google doesn’t suffer from the same app platform ambivalence as does Microsoft. So there was a different vibe.
A couple of quick recaps.
Sign up for our new free newsletter to get three time-saving tips each Friday — and get free copies of Paul Thurrott's Windows 11 and Windows 10 Field Guides (normally $9.99) as a special welcome gift!
"*" indicates required fields
Progressive Web Apps (PWAs) are the future of web-hosted apps. They overcome the inherent limitations of the web—performance, quality, and poor/unavailable Internet connections—and provide “native-ish” experiences on mobile and PC platforms. PWAs are so powerful, they can and will often replace truly native apps, and because they can run on any modern platform, they present an interesting solution for both developers and users alike.
In Microsoft’s case, I feel that PWAs are particularly important because the software giant hasn’t fielded a truly popular new native apps platform in decades. And with the personal computing market turning to non-Microsoft mobile platforms like Android, iOS, and Chrome OS, those of us on Microsoft’s platforms are being left behind. Windows phone is dead, and Windows on PCs is declining. So PWAs offer hope in an era where most developers are looking elsewhere.
But Google does not have Microsoft’s problems.
Today, Android is dominant in the mobile world, with over 2 billion active users—compared to 500 million on Windows 10—and roughly 85 percent market share in mobile overall (smartphones, tablets, hybrids). Chrome OS, likewise, is growing rapidly as well: Chromebooks control over 50 percent of the US education market today, but they’re also huge for consumers: Sales of these devices to end users grew 20 percent YOY at retail during a time in which PC sales fell overall. And Chromebook sales leapt 50 percent YOY during the holiday sales weeks around Thanksgiving 2016.
Given these healthy personal computing ecosystems, PWAs are in a different place on Android and Chromebook. And they play a different role. That is, Google doesn’t need to look to PWAs to make Android or Chromebook better, as I believe Microsoft does. Instead, PWAs are just one item in a long list of benefits of Google’s platforms.
Furthermore, PWAs are more mature on Android and Chromebook. Where Microsoft is now vaguely promising to bring PWAs into Windows 10 with the Fall Creators Update in September, these apps are already well established on Google’s platforms. And developers are using familiar toolsets to create and adapt PWAs to Android and Chromebook. (The latter, which started as a web-only platform, is perhaps particularly well-suited to this future.)
Anyway, if you look through the Google I/O 2017 session list on YouTube, you’ll find several PWA-related sessions and events.
Among them are:
Some general points.
As the session names suggest, much of the PWA content at I/O involved helping developers use whatever web-based technologies they already use to transition to PWAs. This makes sense, and it neatly highlights where this community of developers is, compared to, say, the .NET-focused Microsoft developer audience at Build.
And the potential reach of PWA is staggering. I mentioned the Windows 10 and Android user bases above, but the size of the web audience—over 5 billion devices are connected to the web now—dwarfs both. This is the biggest platform in the world, and it’s bigger than any device platform. By far.
But engagement is an issue. Looking at the top 1,000 mobile apps and mobile websites in the US by usage, the apps contribute 4 million unique monthly visitors, while the mobile websites hit 11.4 million. But engagement tilts heavily towards the apps, which get 188.6 average minutes per user each month, compared to the mobile web, with just 9.3.
PWAs are aimed squarely at the opportunity that is exposed by those numbers: Give the much bigger audience of web users the engaging native-like experiences that app users now get. The technology is now there to make this possible. It’s just a matter of developers making it happen.
As with Microsoft, Google touted the Twitter mobile web app, which is implemented as a PWA, as an obvious example of a web app that looks and feels like a native app. To test this, I visited Twitter.com with Safari on my iPhone and then used the Share > Add to Home Screen functionality to save a shortcut that lets me launch the site as if it were an app.
Safari doesn’t do as good a job as does Chrome on Windows of hiding the web browser “chrome”, but the Twitter website does indeed otherwise look and work like a native app. Here it is on Android.
In fact, it looks pretty good on Windows, too. (Using Chrome.) If it supported multiple columns, I might even consider using this “app” for Twitter. Hm. It even supports notifications.
Google touted other examples, too. The Financial Times long ago dropped their native apps and now only uses a single PWA that works across platforms, for example. Forbes and Lyft were also touted as offering full-featured PWAs in addition to native apps.
But the big question here is what Google is doing to enhance the experience of using PWAs on Android and Chrome OS. And the firm is offering up the following enhancements (mostly to Android).
Improved home screen experience. As with Safari on iOS, Chrome provides an “Add to Home screen” option so you can access web apps as if they were native apps. This is already available, and as is the case on Windows, you get a clean, “chrome-less” UX, which provides a native look and feel.
App launcher integration. Today, PWAs can be added to the Android home screen, as noted above, but they are not added to the Android apps drawer. Google has now enabled this functionality, though I don’t see the Twitter PWA in there, even on the Android O beta.
Android Settings integration. Likewise, PWA makers will be able to add their web apps to Android Settings, just like native apps, so that users manage them using familiar tools.
Search integration. PWAs will show up as suggestions in the Google Search widget on Android, just like native mobile apps.
Android intents integration. On Android, a system-level service called intents is used to determine which app opens when a user selects a certain kind of item. For example, a photo (*.JPG) might open in a particular app (Google Photos). On Android, PWAs are compatible with intents, and will soon work with the full-screen PWA experience and not just open in a Chrome tab. Users who add a PWA to their home screen will thus get a native experience.
New display modes. In addition to the chromeless app experience you can get today (in addition to a normal browser tab experience), Android will soon support additional PWA display modes, including a minimal UI mode that offers an address bar but is otherwise full screen.
Links to other sites. PWAs on Android will soon display a URL bar if the user tries to jump to a new page that is outside the web app. This will allow you to copy the URL, open it in a new Chrome tab, and more.
Banners. PWAs can display banners at the bottom of the screen that work like notifications and are often used to ask the user to pin the app to the Home screen. This is implemented already, but Google is adjusting how it works based on engagement studies. And is adding an “Add to Home screen” dialog mid-screen when the PWA first loads.
New capabilities. Chrome already provides PWAs with native capabilities on both Android and Chrome OS, but more are coming soon, including image capture, improved web share, shape (faces, QR codes, etc.) detection, and more.
Most of these changes are coming to Chrome on both Chrome OS and Android “later this year.” But remember that Chrome already supports PWAs in sophisticated ways, so these platforms are already much more mature than Windows 10/Edge when it comes to the modern web.
But take heart, Microsoft fans: In the session Progressive Web Apps: Great Experiences Everywhere, Google specifically calls out their “friends at Microsoft” for the work they are doing to integrate PWAs into the Windows Store, the first time such a thing will be implemented. It is perhaps notable that Google has not been touting the ability to add PWAs to its Play Store or Chrome Store experiences. And one area where, yes, Microsoft is actually ahead of Google.
I know. It’s amazing. And it nicely highlights why adopting open technologies can benefit everyone, and in this case, provide consistent experiences that work across platforms.
More to the point, Google’s PWA push at I/O 2017 has only strengthened my belief that this platform is even more important to Microsoft, and to Windows 10, than Microsoft’s own native platforms.
<p>It's rather meaningless to compare growth rates between a recently introduced platform with a relatively small number of users and an established platform with a much larger population of users. </p><p><br></p><p>Consider the growth rate formula: <span style="color: rgb(34, 34, 34);"> g= (Present) – (Past) / (Past). </span>Then consider the growth rate when a single new product is purchased on the first day: g=1-x/x. As x approaches 0 (the past value), g approaches infinity. </p><p><br></p><p>The point is that early growth rates are always high due to the relatively small numbers involved. It's only when the new product approaches the same magnitude as an existing product, does the comparative growth rate become truly significant.</p>
<p>As with all "runs on everything" ideas, I'm skeptical. I'm sure a lot of developers were embrace it, but I doubt it will deliver the benefits the hype suggests. </p>
<blockquote><a href="#118481"><em>In reply to nbplopes:</em></a></blockquote><p>You mean developing a Windows app requires a dev to follow the rules for developing a Windows app? Shocking! Seriously, there is no such thing as a sophisticated application that is totally OS independent. </p>
<blockquote><a href="#118505"><em>In reply to nbplopes:</em></a></blockquote><p>My response was poorly worded (and I didn't downvote you). I meant a developer considering Windows shouldn't have any expectation that it going to run on other platforms. Same for any other platform (and a browser is just another platform, however incompatible different vendors' implementations might be). Perhaps that wasn't your point. </p><p><br></p><p>Just to be clear, I'm not a believer in UWP as the future of windows but I'm not a believer in Progressive Web apps being the future of apps either. At least not the future of effective apps. I'm not really an Apple fan either although I believe they made the correct decision in creating a new OS for the iphone rather trying to make an one-size-fits-all OS. </p>
<blockquote><a href="#118578"><em>In reply to Jules Wombat:</em></a></blockquote><p>You could speculate that the platform will be irrelevant in the future, but to say it's irrelevant now isn't credible. There are many applications on Windows and other platforms that cannot be done via the web and never will be.</p>
<blockquote><a href="#118822"><em>In reply to siko:</em></a></blockquote><p>It's kind of amazing what web apps can do in a browser considering that the browser and web protocols weren't originally designed for apps. Having said that, the limitations do occasionally leak through.</p>