This is What Google Said About Progressive Web Apps at I/O

Posted on May 21, 2017 by Paul Thurrott in Android, Cloud, iOS, Mobile with 23 Comments

This is What Google Said About Progressive Web Apps at I/O

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.

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.

 

Tagged with , , , ,

Join the discussion!

BECOME A THURROTT MEMBER:

Don't have a login but want to join the conversation? Become a Thurrott Premium or Basic User to participate

Register
Comments (23)

23 responses to “This is What Google Said About Progressive Web Apps at I/O”

  1. HellcatM

    I use an android phone and its a good os. Where it fails though are the java apps. I hate java, id almost rather have flash apps and thats bot saying much. I gave up on java on my pc years ago.


    I think if devs switched to web apps which are more secure and probably take up less memory and quicker to load, it would be better.


    I'm not sure if google would push for this because then Microsoft could easily use Android web apps with little or no coding changes.

  2. siko

    What happens when you click backspace in a pwa after you entered data into a form?

    I still think web technology sucks for more dataentry!

  3. lezmaka

    Paul,


    Just an FYI, Safari on iOS can give a app-like experience with no browser chrome if Twitter wanted to. All they would need to do is add a line.

    <meta name="apple-mobile-web-app-capable" content="yes">

  4. Shel Dyck

    So how will ServiceWorker support in Edge change the Office web apps?

  5. lordbaal1

    So a mobile web site, or a mobile responsive site.

    This is nothing new. Mobile responsive sites have existed for years.

    • Waethorn

      In reply to lordbaal1:

      You're not paying attention. Responsive UI is just a screen-scaling & resizing trick. PWA's offer offline capabilities and notification options within the OS, so they aren't confined to the browser (at least not from a UX point of view). Chrome Web Apps with offline capabilities do this already. If you have a site/web-app that has notification support on Chrome OS, the notification from the page goes right into the OS notification panel. Google is just bringing more Chrome OS tech to Android, which, of course, they said they would.

      • lordbaal1

        In reply to Waethorn:

        In the end of the day, it's a mobile responsive site.

        • Tim Lavelle

          In reply to lordbaal1:

          You really are missing the point mate. PWAs are not 'just' responsive websites... Do a little research into the benefits of PWAs then come back to this thread.


          @OP - great article!

        • nbplopes

          In reply to lordbaal1:

          Its so simple isn't it? If that was true here is a joke that could be said about UWP: "tree guys that were trying to put a bulb in the ceiling and decided to rotate the house to attach it instead of the bulb" That's UWP for most apps. But we all know that is not quite true isn't it? So let's not go that way:

          Otherwise "hey look, an UWP adapts to the display form factor, yeah right that is a responsive app, we have been doing that for years with the web.

          So no, you are not paying attention.

          Just saying'.

  6. skane2600

    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.


    Consider the growth rate formula:  g= (Present) - (Past) / (Past). 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.


    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.

  7. Luka Pribanić

    I just wonder, if we would to ever really get to the "PWA only" future, OS would really just become a shell like Chrome OS was at first. Isn't that a "bit" negative for Microsoft? I mean, people already spend most of their time in a web browser... and not one that Microsoft made. So users like many of us that already use Chrome on Win10 and Android would be able to painlessly migrate and be OS agnostic. Good for users but IMHO - bad for Microsoft and Windows. Though there is still a bit time left before all native (specially desktop) apps will be PWAs... If ever.


    And as both user and a dev, I mirror the concerns of the fellow commenter about all of those apps heavily relying on JavaScript... While hardware resources are large, I still preffer native and optimised apps vs HTML+JavaScript+engine+shell just to get to the same point. Just take Chrome and scroll FB Home feed for a while on Desktop, and look at it go to 2GB easily... Terrible...

    • nbplopes

      In reply to Luka Pribanić:

      Don't think that will ever anytime soon. PWAs are good enough for most apps today but there is a large number of kinds of apps was not built to cope with. Take a look at https://electron.atom.io/apps/ for PWA examples.

      Microsoft itself has Visual Studio Code there. I honestly suspect that the desktop app of Microsoft Teams was built using tech like this.

      But something more sophisticated like Photoshop don't think that is possible for the time being.

      Is this negative for Microsoft? It depends. How negative it can be if it does not lead this and instead follows? I think Nadella its a brilliant man. He was spot on with mobility of experiences, mobility of code and other stuff. But this needs to happen not just inside Windows. If he is serious with this line of thinking and think he is, than pure UWP tech either needs to catchup really fast with this stuff or get out of the way. I think it is more the second that will happen. Eventually pure UWP tech can be used to augment PWA's with specific Windows features, that is interesting I think.

      I wonder if we will have soon an UWP Javascript Platform with special Service Workers running on Edge, Chrome, Safari, or even totally native like drawing into a canvas ....

      Here is an impressive PWA:

      https://www.canva.com


    • Jules Wombat

      In reply to Luka Pribanić:

      The platfrom is irrelevant now, its about who owns and delivers web/mobile services now. Microsoft, Google and Amazon understand this. Its about time Windows fans start to understand.

  8. nbplopes

    Hi,

    I think a lot of times MS thinks too far into the future where things are still very immature for a technological perspective and neglects the near future. This happened for instance with Tablet PCs and UWPs. I'm afraid this is happening the same with Mix Reality.

    Why am I saying this? If you actually look deep on what is going on, we a step into the Multi OS era. The thinking is still very much OS centric but the usage is not. This happened for instance in the with smartphones. The thinking was still vert much PDA centric yet the usage was not. People used PDA's because Smartphones where not on par yet. Than came one that understood this and unlocked the potential and BOOM.

    What this Multi OS means is that developers are far more interested in technologies that solve this challenge rather than technologies that solve the challenges that UWP's seam to address. That comes next. Yes there always be applications that target the specific advantages of an OS in such a way that it is not possible to make it Multi OS, but that IMHO will be a niche.

    Things like Xamarin are not the solution, for this. The challenge is not just in smartphones because mobility is not defines by smartphones only.

    This weekend I have been test driving MS Teams on the Mac. I can almost bet this is a PWA. Both the Web Application and the Desktop Application are exactly the same. This basically shows the power of PWA. The developer is able to write once and deploy in any OS while leveraging the elasticity of the Web and the speed of a "desktop" application.

    The challenges we face are today too complex for the OS to be in the way more than it should.

    I think the Azure team understood this, the Windows team did not. Yes UWP apps an be built with any tech, including say with Javascript, Angular, React, so and so forth. Still it is done is such a way that quickly the app becomes Windows dependent. Stuff like Modernizr be able to go further, is crucial.

    This piece of code for instance:

    if (Windows.Foundation.Metadata.ApiInformation.IsTypePresent(apiName))
    {
      Windows.Phone.UI.Input.HardwareButtons.CameraPressed +=
        HardwareButtons_CameraPressed;
    }
    

    Breaks in anything but Windows. Yes it is adaptive code as per device feature set, but is totally OS/Platform dependent.

    This article: https://msdn.microsoft.com/en-us/magazine/mt632270.aspx

    Is totally anti-PWA reinforcing the need of an OS/Platform centric approach in this case Windows.

    I really hope that MS understands deep down that we are in the Multi OS era. The company that cracks this in a sensible way will collect the benefits ... That is my bet.

    Google is ahead as it seams. But one thing that is not clear with Google approach is the issue of security. For instance, clearly if Google allows the installation of PWA outside Playstore, I wonder how it is dealing with security. What stuff is Google extending to the Web Tech (non standard) that ties the application to Chrome in this cases.

    Pining a web site to the desktop is not what PWA is. People have been doing that for ages. Google can go as far as removing the browser frame in these cases, but its still a simple bookmark. They must be adding stuff that only Chrome mobile can interpret to go as far as they go.

    I really wish MS get that we are in the Multi OS era. Google is ahead, it will more ahead driving the developers community focused on Web technologies, facing Multi OS challenges, soon if MS does not realize how important is this for developers today.

    EDIT: Strangely Microsoft Teams does not run on Safari in OS X, only Chrome. We have to download the app. It has been ... well never since I saw a Web page not run on Safari.

    • skane2600

      In reply to nbplopes:

      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.

      • nbplopes

        In reply to skane2600:

        Don't understand why the down vote. Clearly considering your answer I communicated my point really, really badly.

        Rules? Nothing I said has to do with the need to comply with rules or not. MS can establish the rules they want but if developers do not see the value in following them they don't matter. You see, developing for Windows is not a value anymore. At least for now. Should I say, that developing for iOS, Android, or the Web seams to be much more valued nowadays generically speaking.

        Most application aren't technologically demanding from a UI perspective. Take for instance Microsoft Teams or Slack. Technologically neither is very demanding. Take twitter, take Facebook. Its the idea, the features and the problems they solve, their approach, that are of interest.

        Furthermore, a lot of complex line of business applications, aren't really UI demanding considering today's standards.

        All I'm saying is that Microsoft should champion PWA deep, really deep. For instance, make UWP work cross OS while promoting the use of known open Web driven technologies. That is the deepest they can probably go. This or join forces with Google deep in this context.

        PWAs in build was mostly a side-note.

        Cheers.

        PS: Soon MS will say that UWP are a success because of Project Centennial (a set of tools to package x32 apps to be deployed on the App Store). If even x32 are UWP's what is the value in the name? None! No one will care really. No one will rebuild a massive x32 app to UWP, there will be nothing Universal in the application.

        Take for instance Photoshop Elements. Can you look at me with a straight face and say that its a UWP as we know it? As Microsoft promoted UWP's? In the Apple App Store Photoshop Elements is there for ages. No one wastes time with technical marketing around this, simply put there is no value in it per si!!!! . The signal to noise ratio in MS technological marketing is highest in the market.

        Why doesn't MS say look now you can packaged your x32 application to be deployed in the App Store and Windows 10 supports it? It needs to pick on UWP stuff, give a staggering name to it "Project Centennial" and talk about it for two years!!!!!!!!

        https://channel9.msdn.com/Events/Build/2015/2-692

        EDIT: I would not be surprised if Apple pushes a Macbook in line with Windows S, with the exception that it its cheaper and aligns its business model along the App Store for those devices. Just a though that occurred to me. They already have plenty of apps in their App Store without the UWP mess to make the decision harder.

        • skane2600

          In reply to nbplopes:

          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.


          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.

          • nbplopes

            In reply to skane2600:


            Thank you for clarifying.

            My point is simple: Today when we develop an a digital service or automate some process we consider for UI: The Web, iOS, Android, Windows, Linux, OS X, Chrome OS. It used to be fundamentally Windows, than it became Windows and Web, than Web and iOS, than ...

            Apple technological approach to the Smartphone was highly disruptive. I don't remember seeing something like that ever so fast. It was so disruptive that changed culture in less than 5 years. So disruptive that change the technological gravity to the point that shift attention from Web / Windows to Web / iOS and Android ... Something like this will not happen anytime soon. That is for now quite clear.

            The only way one can deal with this is focus on the problems and approach them differently. In terms of OS the world is uncertain. We don't know what will be champion in the end, problem all of them together.

            What I do know today, is that unless one has very specific requirements that is only offered in some OS in terms of UI, having to decide for one platform or the other is not what developers want to do.

            Take for instance, pen input. Yes, it true that Windows 10 is ahead. But look at what is happening in less that 2 years every OS is supporting pen input (except Linux but its the kernel that is most interesting here), meaning that a Muti OS app supporting pen input in very short is a given. Take Bots, or Agents like Cortana, Siri, Google Now. This is an indication that whatever is the stuff vendors put on top of their platform, quickly is available across platforms one way or another.

            I'm not thinking that there isn't a value in developing for something so specific such as the likes Surface Studio, say an app for designers taking Pen input to another level. Still the amount of problems that need to be solved and can be solved with less technological specific demands its is huge, really huge. Take for instance the comparison between the new MS Photo/Video Editing and compare with Googles approach to the problem. Both use AI, yet the second solves the problem faster and less demanding in terms of UI, actually the user barely needs to do anything to get something fun and acceptable. The more AI one puts to solve a problem the less stringent are the demands in UI technology. Yes there will always be cases where one needs more control over the output as such more UI, but that is not where most innovation is occurring right now.

            So to me, any of the big platform / OS vendors that target solving the challenges around the UI supporting Multi OS applications is right now the one that understands challenges that developers face. Yes, they might want you to develop only for their OS but that is creating more problems than it solves.

            Today technology is emerging that allows developer make standalone apps with sophisticated user interfaces and native performance that is deployed simultaneously across Web, Windows, OSX, Linux, soon Chrome OS. All this backed by Web technologies and open source projects. The next step is making them deployable on Smartphones using well known Responsive UI techniques. This is something that was not possible 5 years ago.

            If developer on top of this decide to use some specific advantage of an environment an decide to use it is totally understandable. What is less understandable is for a developer to use some advantage that is not sure it will be needed or not in the future, it needs to compromise all things it needs to solve right now. That is jus bad engineering decision that developers are being pushed to do otherwise.

            It does not matter so much the name. Calle it PWA's or whatever. What matters is what can do with it. The companies that push for this I think are closer to developers challenges and problems than companies that don't. Technological marketing will not be enough to keep this stuff at bay.

            The 20/80 rule always applies. UWP is really not taking this into account for most UI demands considering the above challenges that developers face today IMHO since inception.

            Cheers.

  9. skane2600

    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.

  10. Jules Wombat

    So basically HTML5.2. <As a developer rather depressing that we end up in a JavaScript dominatd world.>

    Anyways this is Microsoft only hope, as it depreciates the 'Apps Gap', and renders the platform irrelevant. As Satya has stated on numerous occsaions its now about delivering services to mobile and not the platform itself. [ One Day Windows Phone Fan boys will understand, and stop fawning over any Surface Phone myths.]

Leave a Reply