This specification defines a JSON-based manifest, which provides developers with a centralized place to put metadata associated with a web application. This includes, but is not limited to, the web application's name, links to icons, as well as the preferred URL to open when the user launches the web application. The manifest also allows developers to declare a default orientation for their web application, as well as how the application is to be displayed by the user agent (e.g., in fullscreen).
Using this meta data, user agents can provide developers with means to create user experiences that are more comparable to that of a native application.
Support in other browsers:
Chrome: implemented on desktop and Android
Firefox: Partially implemented in Firefox for Android)
Edge: public support
WebKit (specifically, Mobile Safari on iOS) has previously been a leader in allowing web developers greater customisation over the add to homescreen experience. This included the ability to setup a custom splashscreen, something that has broken in recent versions of mobile safari (per https://gist.github.com/tfausak/2222823#gistcomment-1730484). Rather than focusing on older, non-standards track implementations I think there's great value in shifting to a standards-track application manifest as a source for this type of data. It would allow web developers to ensure a high-quality web app experience is delivered on iOS as well as other platforms supporting this feature.
Is there anything left to do here? There was a big update to our manifest support in iOS 11, which all happened in Safari code, not WebKit code.
I might close this and someone can re-open a new bug if there are specific features missing.
Thanks for working on this. It seems like icon support is still completely missing. Here’s a test app: https://ios-a2hs-demo.glitch.me/. Safari still uses the screenshotted mini icon, but none of the provided ones. Please note that maskable icons are a thing now: https://w3c.github.io/manifest/#purpose-member. This makes it possible to specify an icon that can be masked, for example with iOS’ rounded corners without risking to lose important details.