Contact emails
luigo...@microsoft.com, liahisc...@microsoft.com

Explainer
https://aka.ms/webinstall

Specification
https://github.com/w3c/manifest/pull/1175

Design docs
https://docs.google.com/document/d/12nSXJLm8mW0gWZ_yjlXfrV8r9gwJliVt4WVa-209-KA/edit?tab=t.0

Summary

The Web Install API allows a web site to install a web app (same or cross 
domain). This functionality allows the creation of web based catalogues 
that can install PWAs directly from the web and into multiple platforms. 
https://aka.ms/webinstall


Blink component
Blink>AppManifest 
<https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EAppManifest%22>

Search tags
web install <https://chromestatus.com/features#tags:web%20install>, install 
<https://chromestatus.com/features#tags:install>

TAG review
Spec review not yet completed but the design review has been completed. TAG 
was satisfied with part of the API, but the other part is still being 
discussed and experimented on, which is why the review was closed as 
unsatisfied.
(brand new ✨) Web Install API · Issue #1051 · w3ctag/design-reviews 
<https://github.com/w3ctag/design-reviews/issues/1051>

TAG review status
Pending

Risks

Interoperability and Compatibility

Interop - Low risk. This is a new API that installs web apps, which are 
supported by other browsers. The no argument version of the API (current 
document install) has enough support to be merged into the W3C web app 
manifest spec - https://github.com/w3c/manifest/pull/1175. Current document 
has also been reviewed favorably by TAG - 
https://github.com/w3ctag/design-reviews/issues/1051. While background 
document installation is still under discussion, it will be further 
incubated in WICG, we have no reason to believe there will be interop risk. 
Compatibility - Low risk. This is a new API that requires explicit 
developer action to use.


*Gecko*: No signal (
https://github.com/mozilla/standards-positions/issues/1179)

*WebKit*: No signal (
https://github.com/WebKit/standards-positions/issues/463)

*Web developers*: Positive (
https://github.com/w3ctag/ethical-web-principles/issues/120#issuecomment-2285348765
) 
https://github.com/w3ctag/ethical-web-principles/issues/120#issuecomment-2285431557

*Other signals*:

Ergonomics

This could be used in conjunction with the 
navigator.getInstalledRelatedApps API, which tells a developer if any 
related web apps are installed for their site, before attempting to install 
with navigator.install. There is overlap between navigator.install and the 
BeforeInstallPrompt event. navigator.install is more ergonomic, and we 
think developers will prefer its declarative install. See this thread - 
https://github.com/MicrosoftEdge/MSEdgeExplainers/issues/1055


Activation

No.


Security

https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/main/WebInstall/explainer.md#privacy-and-security-considerations


WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that 
it has potentially high risk for Android WebView-based applications?

None


Goals for experimentation

Gauge usage frequency for each of the 3 API signatures, as well as any 
expected or unexpected failures. We're also specifically looking for 
feedback on the permissions model.


   - Unexpected failures: fetch manifest timeout, no manifest found, app 
   installation failed for any reason
   - Expected failures: permission prompt rejected by user, profile doesn't 
   support installation, installation prompt rejected by user 
   - Developer-caused failures: invalid API arguments (especially around 
   the manifest id requirements for the install_target). 
   - Success: app installed, app launched


Ongoing technical constraints

None


Debuggability

Existing DevTools support for promise-based JS APIs. No new DevTools 
support is needed.


Will this feature be supported on all six Blink platforms (Windows, Mac, 
Linux, ChromeOS, Android, and Android WebView)?
No

Windows, Mac, Linux, and ChromeOS will be shipped first. Android will be 
supported later, due to significant technical deviation in the web app 
ecosystem - https://issues.chromium.org/issues/424497410. As of now, no 
plan to support Android WebView.


Is this feature fully tested by web-platform-tests 
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
?
No

Web app installs are not supported in WPT, but we will add a WPT manual 
test.


DevTrial instructions
https://microsoftedge.github.io/Demos/pwa-web-install-api

Flag name on about://flags
web-app-installation-api

Finch feature name
WebAppInstallation

Requires code in //chrome?
False

Tracking bug
https://issues.chromium.org/issues/333795265

Measurement
We will implement a JS UseCounter, as well as Chromium-specific 
UMAs/histograms.

Estimated milestones
DevTrial on desktop
139

Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5183481574850560

Links to previous Intent discussions
Intent to Prototype: 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/DB9PR83MB05184F25E5FEE4595055FE34CC042%40DB9PR83MB0518.EURPRD83.prod.outlook.com


This intent message was generated by Chrome Platform Status 
<https://chromestatus.com/>.

-- 
You received this message because you are subscribed to the Google Groups 
"blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to blink-dev+unsubscr...@chromium.org.
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/92dce955-d9f1-4de3-9fb8-ad37388b15den%40chromium.org.

Reply via email to