Are Progressive Web Apps the Future?

There’s been a lot of talk lately about Progressive Web Apps. For those readers who haven’t heard of them, progressive web apps aim to bridge the gap between the mobile web and native apps by providing things like the ability to install, run background processes (even when the app isn’t open) and send push notifications. This effort is being pushed by Google, and works on Android, but currently not backed by Apple – so no iOS support at the moment.

Some recent commentators think progressive web apps represent huge progress for the web , while others are less convinced. In this week’s Slack chat, members of the Telerik Developer Relations team discuss their views regarding progressive web apps.


brian: Let’s chat about whether we see progressive web apps as the future of the mobile web or another stalled effort.

TJ: I might have literally referred to progressive web apps as “the future of the web” before (see What Progressive Web Apps Mean for the Web), so I’ll have a hard time backing away from that claim 🙂

brian: TJ, You and plenty of other folks.

jen: The big progressive web app success story currently being cited is FlipKart

burke: My big question would be, what is the end goal for Progressive Web Apps? Is it to simply bring some native features to web apps, or ultimately to supplant native apps entirely?

I worry that we keep trying to shoehorn the web into places it just doesn’t really fit. It’s like we can’t get enough square pegs into round holes. Then people get angry because things don’t work like they expect them to, and they feel lied to.

jen: What is a strong use case for developing a Progressive Web App vs. a plain ole-fashioned Mobile App?

brian: Well, the thought is that you aren’t stuck building for proprietary platforms (you build it once, it works anywhere…in theory) and it allows an easier conversion from web user to app user (which is a difficult nut to crack).

jen: Could it be that people feel that the downloadable mobile app doesn’t work as advertised, so they are reverting?

burke: I think we have plenty of stats that show that people don’t download apps. I know I don’t. I visit a lot of sites though.

TJ: I certainly understand the desire behind progressive web apps. And there are certainly tons of apps the world doesn’t need, that work perfectly fine on the web.

jen: It’s still surprising to me that Flipkart would have more success with a progressive web app rather than a nice e-commerce app available cross-platform. Granted, they are an Indian company so they are working with a particular demographic with particular needs.

burke: TJ Sure! But I don’t get why the web all of a sudden needs a home screen icon or push notifications. I never did use the home screen icons before, so why the push?

brian: For: Findability. Re-engagement.

todd: Easy to use, single place to go to, instant updates, it’s a win for me!

Oh, and single codebase 😉

TJ: Burke, the same reason native apps need those features really.

burke: Apps have different reasons for having icons since there isn’t a web of apps you can browse to and instantly load – although that would be awesome. Some part of me wonders how much of this Progressive Web Apps thing is motivated by something ulterior. As long as apps are in stores, you are out of the reach of Google, and that is not necessarily good for their business model of ads.

jen: I believe strongly that Apple will never ever ever buy into this.

brian: Well, Apple’s resistance is also, largely, based on money. The app store is a big revenue generator nowadays – this could challenge that. Plus, they lose a degree of control…maybe that’s a bigger issue for Apple than money – who knows? It’s Apple after all.

jen: Right, why would Apple buy into something that bypasses their own monetization model, e.g. the app store? Also this won’t work for the indie developer who relies on IAP (in-app purchases).

brian: All that being said though, I think the idea here is that they can get buy in because it uses progressive enhancement. You can support Android without breaking your site for iOS.

…and I know I am the only Android user here, but there’s actually a lot of us out there 😉

burke: Everyone’s motivations are based on what’s best for their business, and that’s totally legit. That’s why we all come to work every day.

todd: Doesn’t Google have a model similar to the App Store? What would be the motivator there?

jen: It seems like everything’s free on the Google Play store…and Indies have a horrible time there because of seemingly rampant piracy. Plus, Google play doesn’t even charge a yearly fee unlike Apple.

brian: Todd, Google’s revenue is almost entirely driven by the web. I’m sure their app store makes money, just not enough to matter.

todd: I see, I’ve always been iOS, thought I’d ask the question 🙂

burke: The appeal of the web is just so strong. Being able to develop for all platforms with one app is just something too good for any developer to pass up at least considering.

jen: So is Google’s motivation to oblige people to make more web things so as to track people? and sell ads?

burke: At the end of the day, yes, it’s ads.

jen: TJ, you built a progressive web app, what was your experience in a nutshell?

TJ: Well, that gets into my biggest problem with progressive web apps — the title. Google loves putting grandiose titles over a few features of the web, and I’m not exactly sure why. For example, why does it have to be “web components” and not custom elements, templates, shadow DOM, and HTML imports? Why “progressive web apps” and not just service workers and installable web apps? We’re really just talking about two major features here.

You use HTTPS. You add a service worker. You add a manifest file.

burke: For now… Don’t we expect more features under the banner of progressive web apps?

TJ: Those fall under the umbrella of service workers (push notifications, offline, etc), at least to my knowledge. And WebKit does have service workers listed as “under consideration”.

But to Brian’s earlier point, the biggest appealing thing here is these features were really built with progressive enhancement in mind. Unlike, some other web features (​cough​ ​cough​ web components). So you really are enhancing your Android experience without harming your iOS experience.

brian: And they take advantage of the web’s most powerful tool – the link. I can just link someone to the site rather than have to direct them to a store for a download.

jen: It’s really interesting that in the US we are so obsessed with working offline. This is such a big selling point, but in many countries like Korea with a thriving web/app community, this is a moot point. But ‘offline usage’ is a huge thing pushing progressive web apps, at least here.

brian: I’d argue that it is potentially even more of a selling point overseas where data is often charged by usage. Korea may be an exception (I have no idea).

TJ: I’m going to go back to agreeing with Burke and quote Luke Wroblewski:

“The Web is for audience reach and native apps are for rich experiences. Both are strategic. Both are valuable. So when it comes to mobile, it’s not Web vs. Native. It’s both.” – Mobile Web vs. Native Apps or Why You Want Both

Part of me thinks that these web APIs are somewhat reactionary to mobile’s success and trying to replicate that model too much. I think we’re forgetting that one of the reason the app store model works is because it’s a curated list based on reviews, which the web doesn’t have. Good luck finding a good progressive web app via a Google search.

brian: This is definitely a problem. Micheal Mahemoff mentioned this as a challenge in his post on the topic.

But, keeping in mind that Google has and has recently used its power in the search category to try to change the behavior of sites.

TJ: (was just typing that) 🙂 For example with interstitials

brian: And, it worked, for the most part. Those app interstitials are much fewer and further between.

burke: Ads are annoying, no doubt. And BTW, every time I go to Gmail on the mobile web, to this day, it asks me to install the app using an interstitial. Somewhat ironic.

jen: “Good luck finding a good progressive web app via a Google search.” – Are progressive web apps not searchable? I’d think they have the SEO of a regular web site?

TJ: They are, however, if you build a progressive web app, today you’re going to be stuck behind decades worth of ad-ridden crapware that’s risen to the top of the SEO pile. Progressive web apps are inherently non-SEO friendly too.

jen: Wow, that is really unfortunate. I’d think that would need to be fixed if this model is to succeed, as it’s trying to solve the problem of discoverability.

burke: So now the web becomes like the android app store?

jen: Apple = selling devices / Google = selling ads. Different type of company.

brian: Jen, actually, I think Apple is more about selling their ecosystem lately – the devices being a large part of that. But so is iTunes and other services.

jen: An ecosystem that requires a pretty rose-gold device to play on…

brian: Yes, it’s your membership card!

TJ: A ​gorgeous​ rose-gold device 🙂

brian: However, I am going to argue that with the whole searchability we are making a mountain our of a molehill. We find the app because someone or somewhere sent us the link. The only reason we ​need​ App Stores with “searchability” (is that a word?) is because there is no easy way to link you to an app that works everywhere. In this case, the link works for you on desktop, mobile, wherever.

There’s no need for a PWA “app store” experience.

jen: That really depends on the type of mobile app. Mobile games need very strong searchability; utility apps usually have a business backing them so are more easily found.

brian: Well, I don’t see the app stores going away…that being said, the App Store model is terrible for game developers, so it’s ripe for disruption. (And, as a gamer, it’s terrible for users too…don’t get me started on in app purchases in games)

jen: But they do have more resources in general

TJ: In the end, companies/services are going to have a hard time being found either way—Google searches, app stores, etc.

brian: Agreed!

TJ: I think one part of this conversation we’re missing is that there’s still a ton native can do that the web can’t, and progressive web apps only fill a small part of that gap. Brian, to build on your game example, those in-app purchase games, as horrible as they are, pay the bills for a lot of companies.

Taking money is so much easier in native apps.

jen: ^ what TJ said

brian: Yes, definitely. The monetization problem is something the web has not yet solved.

TJ: That being said, I do think progressive web apps address some of the common limitations of the web, so I think there’s a new class of apps that are “good enough” as web apps. I think eventually if we continue down this route there’s going to be an odd conflict between native and web apps. Native is always going to be able to do things the web can’t; therefore, native isn’t going anywhere. If I have a compelling reason to build a native app, as many companies do, then it would be somewhat confusing for me to build an installable web app. I think the best fit for installable web apps is for those companies and services that have no need to have a native app, and we could spend another hour debating where that line is. 🙂

brian: I would agree with that. I don’t think this needs to be either/or – it just offers another option (one that only works on Android at the moment, but still).

jen: It’s an interesting concept, that the enterprise might jump on this bandwagon for internal installable apps faster than the ‘regular folks’. May be true!

TJ: So, to wrap this up, let’s make some predictions: 3 years from now, where are we with the concept of progressive web apps?

jen: I think they will be adopted by those organizations that need a strong Android experience, and will be especially attractive for internal usage, but will not replace the downloadable app store experience, especially for Apple users in the near future.

brian: I like the idea of progressive web apps (in case it wasn’t obvious). I generally favor the web over apps – just as a personal choice, not out of some moral objection or anything. That being said, not to sound like a downer, but the state of the web is a mess and I don’t see Apple and Google’s competing visions coalescing neatly anytime soon. So, I think it’ll be like web components…in 3 years, we won’t be significantly further along than we are today.

TJ: I think service workers and installable web apps are both beneficial features for the web, but I don’t necessarily think they’re revolutionary. I do think Apple will eventually get around to implementing service workers, so I think we’ll start to think of offline as a thing that web apps can inherently do. I think the best path for Google if they want this to succeed is to leverage their search engine monopoly. If “web apps” start showing at the top of Google searches I think a bunch of companies will find the resources to write to these APIs, and it might even force Apple’s hand.

brian: I agree, that’s the only way this changes.

jen: It all boils down to searchability!

todd: Service workers are incredible, though we are having this debate about ads amongst other things, but the amount of free apps I download with ad banners, I’m used to it. In my opinion, the web will always be lagging behind native experience, but to get the web to “do” native things is a huge feat considering the time and acceleration the web has had in recent years – I’m not a huge “I won’t use this because of X business model” type of person – if it’s awesome, has powerful features and helps be deliver better end products, so be it!

burke: Two final thoughts here: I do think that service workers are the future of the web – no doubt. But these amazing features seem to sometimes get prioritized over some of the more fundamental issues that still plague the mobile web. Chris Thoburn had this terrific article where he describes just how frustrating Chrome on Android is for developers and how we’ve begun to prioritize features over performance. I worry that will only foster disillusionment in the long run. However, we can’t stand still! Onward to a better web for everyone. If that means Progressive Web Apps, let’s do it. Um, so I guess that was only one final thought.

Header image courtesy of Addy Osmani

Comments

  • Pingback: Dew Drop – April 12, 2016 (#2228) | Morning Dew()

  • We briefly mentioned monetization in this article, but I think it plays a huge role in this discussion, especially when it comes to the little utility apps that mostly indie developers build—calculators, timers, and so forth. I would argue that the overwhelming reason people build these apps is to make money for their effort, and it’s still an order of magnitude easier to do that with native iOS and Android apps than it is on the web. Just look at how polished Google and Apple’s advertising pages are—https://developer.apple.com/iad/ and https://developers.google.com/ads/. Given that, put yourself in the shoes of a developer building a utility app—are you going to build a native app with clear monetization options, or for the web where your best option is filling a page with bloated AdWords that don’t have anywhere near as good of returns? I think until the web has a better option for making money, there’s going to be a shortage of high-quality utility apps that a platform needs in order to succeed.

  • For Burke: You never used home screen icons? At all?

    For Jen: Wrt in-app purchases, there will be a Web Payments API (coming later this year to Chrome, I think) which will enable frictionless payments.

    For TJ: Wrt the lack of a web app store, read Remy Sharp’s latest post on discoverability; tl;dr the web has “install via URL” which works seamlessly and ultimately provides a superior UX: Users discover web apps naturally (social networks, advertising) and install them based on engagement; compare that to native app stores, where users have to install one of literally hundreds of similarly-looking apps, in the hopes that they’ll like it.

    • (Here’s Remy’s post for anyone else that wants to follow along https://remysharp.com/2016/04/11/the-webapp-discovery-problem)

      Hey Šime,

      I think there’s a distinction to be made between apps that users find organically, and apps that users proactively seek out.

      I think the web really shines on organically found apps, and in situations where users know the exact name of the app you want—aka Remy’s Magic radio app example. But, I think the web will struggle when the user knows they want a certain type of app, but doesn’t know how to find it.

      Native mobile operating systems have established the expected user behavior for this scenario—you go to the App Store or Google Play, you run a search, you pick an app near the top, you read a few reviews, and ultimately you try installing an app or two. It may not be the ideal user experience, but it works, and it’s a behavior that users know.

      What do users do today to find web apps? They Google search terms. Which is ironic, because Google searches are a horrible way to find well written progressive apps. But I think Google has a real opportunity to capitalize on their search engine monopoly to change this. What if Google’s crawler detected the existence of a manifest.json and a service worker and placed those apps in a special section of the screen? Or, what if installable web apps were listed in Google Play? After all, web apps are starting to be seen as first-class citizens on Android anyways.

      Overall I think the web’s biggest fight will be against user’s expectations, and I think Google—because of their search engine monopoly and control of Google Play—is in a unique position to help change that. I don’t think a third-party app listing will ever be able to take off at any large scale. Users will want something that seems official, and Google can provide that.

      • Yup, Google Search is pretty much expected to integrate a web app store. But don’t forget the other big players, like Microsoft Store (which is nicely integrated on Windows 10) and Steam (very popular for games). I think, there will be at least 3–4 successful, new web app stores in the next few years.

  • Jen Looper

    Thanks Šime! I feel like I am the money-grubber of the group. Web Payments API sounds good to me!! Look forward to giving it a try.

  • Pingback: Dew Drop – April 12, 2016 (#2228) | Tech News()

  • Michael Nnamdi Onubogu

    All valid points. All things I discuss on a daily basis with colleagues. There’s a huge part of the conversation that may have been omitted (I’m sorry to say I didn’t patiently read through all comments before writing this – please excuse my over-zealousness to share my feedback :P). The Internet of Things.

    There will be – at some point in time we surmise – at least 5 connected devices around individuals at “all times”. There are already about 2 for every person currently. There are even now a vast number of connected IoT devices that perform a myriad of tasks – floating devices in the ocean that broadcast GPS location, Parking meter beacons that broadcast space availability, devices that will talk to other devices, etc. There are just too many now, how much more 2, 3, or even 4 years from now.

    Think about it. We need to “interface” with these devices – to communicate with them, so they can relay information to us – until we develop some unified artificial intelligence, the most viable means of doing this is via apps. We are seeing the beginning of this already, there are just too many apps to download now, how much more when there’ll be apps that for instance allow you to monitor the temperature, water level, soil pH of your potted plants for instance.

    The model of downloading possibly limitless numbers of apps, to do and monitor what will become trivial tasks via connected devices is a model that I don’t see working out well. If you follow beacon-ing technology i.e. Eddystone, iBeacon, WiFi aware, etc. You can pretty much guess where we are heading with this.

    Space and device capacity is finite – the web is the only seemingly infinite platform we have, it makes sense to follow the progressive web app approach if you consider the potential problem the IoT revolution will create. Take a look at Google’s Eddystone and iBeacon as well. They are following the same paradigm. Eddystone urls are broadcast by beacons over BLE. These urls take you to simple web pages that convey information from a connected device. It’s a simpler and much more scalable model than downloading an app to interface with that connected device.

    • Jen Looper

      Michael, you hit close to home! I”m so excited by the potential of beacons, especially Eddystone, and their bypassing of mobile apps in favor of … something else. I have an article forthcoming here on just this topic 🙂

  • Pingback: Are Progressive Web Apps the Future? – MatiWeb()