Bug 158205

Summary: Implement Web Application Manifest
Product: WebKit Reporter: Addy Osmani <addyo>
Component: PlatformAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: 709922234, 7raivis, adele, agomez, anssi.kostiainen, bburg, beidson, bfulgham, cormac.bonner, daytonlowell, dev, dino, dvpdiner2, frederic.soumare, gilbertoc, kngan, kris, lewispham, mjs, nekr.fabula, nicolas, onderceylan, rniwa, robin.thunell, sam, simon.fraser, toakes, tomac, webkit-bug-importer
Priority: P2 Keywords: InRadar
Version: WebKit Nightly Build   
Hardware: All   
OS: All   
See Also: https://bugs.webkit.org/show_bug.cgi?id=183937

Description Addy Osmani 2016-05-30 07:36:57 PDT
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.

Specification: https://w3c.github.io/manifest/

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.
Comment 1 Radar WebKit Bug Importer 2017-10-24 14:19:34 PDT
<rdar://problem/35159189>
Comment 2 BJ Burg 2017-10-24 14:21:51 PDT
rdar://problem/27661063
Comment 3 Dean Jackson 2019-12-04 16:42:04 PST
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.
Comment 4 Thomas Steiner 2019-12-04 16:54:29 PST
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.
Comment 5 Thomas Steiner 2019-12-04 17:01:17 PST
Related: https://bugs.webkit.org/show_bug.cgi?id=183937.
Comment 6 onderceylan 2020-12-10 12:49:33 PST
The Web App Manifest API development on WebKit feature status is moved from "In Development" status to "Partially Supported": https://webkit.org/status/#?search=web%20app%20manifest

Is there any plan for the further development of this standard?
Comment 7 Ryosuke Niwa 2020-12-10 13:46:15 PST
(In reply to onderceylan from comment #6)
> The Web App Manifest API development on WebKit feature status is moved from
> "In Development" status to "Partially Supported":
> https://webkit.org/status/#?search=web%20app%20manifest
> 
> Is there any plan for the further development of this standard?

Yes. It's tracked individual bug reports at this point.