v143 · capabilities (fugu)

Web Install API

Allows a website to install a web app. The API provides 3 signatures, with 0, 1, and 2 parameters, respectively. When invoked, the website installs either itself, or another site from a different origin, as a web app (depending on the provided parameters). All 3 signatures will be experimented with in parallel.

concepts

  1. Install Call

    Pick a signature (0, 1, or 2 args), inspect the call, then run navigator.install against your browser. Probes report support and the actual return / throw.

  2. Cross-origin storefront

    The 2-arg form's lead use case: a web-based PWA storefront that installs other-origin apps on the user's behalf. Real install buttons, real consent flow.

  3. Install Prompt Explorer

    All three signatures side by side, with a live prerequisite probe (feature support, secure context, web-app-installation permission policy, manifest link) and an activity timeline that reports the actual resolution / rejection from the browser.

  4. Install Flow Simulator

    A state machine diagram (not-installed → prompted → installing → installed → uninstalled, with dismissed branch) with active/visited node highlighting. Four transition buttons walk the flow, with per-state code panels showing matching navigator.install() and beforeinstallprompt JavaScript. Platform selector (Android, iOS, Desktop) shows per-platform mockups. A multi-app storefront with three mini-apps shows independent install state badges.

why it shipped

The web is currently unable to install web apps. The capability must be baked into the platform to allow for websites to distribute content without relying on proprietary protocols or invoking platform specific stores.

references