Skip

Predictable app updating

By Dibyajyoti Pal (Google) and the Web Applications Working Group

Predictable app updating aims to provide developers with consistent control over PWA updates, minimizing user interruptions and wasting of network resources through redundant icon downloads. Non security sensitive fields are silently updated, while an UX is shown for security-sensitive changes, and only triggering icon updates when the icon URL changes, similar to Cache-Control:Immutable behavior. This approach seeks to bridge the gap between PWAs and native apps by making the update process more deterministic and user-friendly.

Skip

Video

Transcript

So, here I am demoing the predictable app updating feature on Chrome running v143.

To enable this feature, please turn on the predictable app updating flag, from Chrome flags, if you want to test it out.

So how does this feature actually look? Let's find out.

So I will be loading a test site that I created for demoing app updates. It allows you to change the name icon and the theme color of a manifest that's sort of served for the app, and the resultant manifest being there. You can see that there are icon URLs and each icon pointing to a different resource.

So, let's install this app. Let's see what happens. The app gets installed. All pretty good. Before this however I kind of want to demo what happens when we change a non security sensitive field like the theme color. So let's say I change it to sky blue.

I refresh the page and there you go. The theme color got changed. The user was notified because it's not security sensitive.

What happens if we want to update icons but the icons are not really that different from before or after? In this use case, I'm going to choose alt icons. And as you'll notice, the source URLs have changed. Now they're pointing at different URLs.

Now, this is what we are sort of basing our whole app updating flow on. As you can see, because the icon URL have changed, the app update has been applied. We did not, you'll notice that we didn't really tell the user about this because we kind of don't want to tell them if the icon difference is not that much.

But what happens if you have a big update? So we show the chip and then we show the dialogue to the user. We say ‘hey, the apps icon and name is changed. Do you want to ignore, install or update?’ And what happens when you click on update? It gets applied to the chrome and anywhere on the operating system. So this is predictable app updating.

Developers have the option of triggering app updates only by changing the icon URLs or their names. Everything else is updated silently and the users now have the option of either accepting or not accepting the update if they do not want to and thus both the developer and the user have control over their PWAs.

Thank you.

Skip

Sponsors

Be a Community Engagement Champion or support TPAC 2025 (PDF) and get great benefits as a sponsor.
For further details, contact sponsorship@w3.org.

Emerald Community Engagement Champion

GoDaddy

Network sponsors

NTT DOCOMO BUSINESS Cisco

TPAC 2025 Gold

Microsoft AWS

TPAC 2025 Silver

Igalia

Supported by

Kobe Convention Bureau 公益財団法人中内力コンベンション振興財団 (Tsutomu Nakauchi Foundation)

The Inclusion and Invited Experts Funds are proudly supported by W3C, GoDaddy, Igalia, Microsoft and individuals’ donations.