Skip to content

The new definition of "installable web application" is inconsistent with the normative text of the specification #1168

Open
@benfrancis

Description

@benfrancis

This is a follow-up to #1164.

PR #1163 added a definition of installable web application which says:

Any website is an installable web application.

However, as the specification is currently written a web site can only become an "installed" web application if it links to a web application manifest. This is because an "installed" web application is one where a web application manifest has been [or will be] applied to a top level browsing context to create an application context. The algorithm for processing a manifest takes a manifest URL as a required input, and therefore a manifest can not be processed unless a website links to a manifest URL. Therefore I assert that not every website is an "installable web application".

I proposed a fix to this issue in #1164 by modifying the definition of an installable web application such that:

  • What differentiates an installable web application from other websites is that it links to a web application manifest
  • A manifest is applied when an installed web application is launched

Other members have pointed out that in some existing implementations any website can be "added to the homescreen" and that in order to do that a "default manifest" is assumed. Whilst this may have become an assumption for some implementers, the concept of a default manifest is not defined anywhere in the specification and (as also highlighted in #1111) the algorithm for processing a manifest requires a manifest URL.

My suggestion is to modify the (non-normative) definition of "installable web application" in order to resolve this issue, as above.

However, if the consensus of the Working Group is that all websites are "installable web applications" (which also implies that all websites are web applications BTW), then normative changes will be needed to the specification to deal with the situation where a website does not provide a manifest.

Edit: @marcoscaceres also points out that for the current definition to stay, a fix would be needed in the HTML specification as well.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions