Re: [w3ctag/design-reviews] "display_override" field addition to the Web Manifest (#530)

Ah! Ok, so this is a case where I don't think I'm explaining things well enough.

For the minimal-ui example:

* Browser A support:
  * [x] `display`
  * [ ] `display-override`
  * [x] `standalone`
  * [x] `minimal-ui`
* Browser B support:
  * [x] `display`
  * [ ] `display-override`
  * [x] `standalone`
  * [ ] `minimal-ui`
* Browser C support:
  * [x] `display`
  * [x] `display-override`
  * [x] `standalone`
  * [x] `minimal-ui`
 
The developer wants to use `minimal-ui`. If they set:
```json
{
  "display": "minimal-ui"
}
```

A: WebApp supported, with `minimal-ui`
B: WebApp NOT supported. `minimal-ui` is not supported, so it falls back to `browser`, which means it is not a webapp.
C: WebApp supported, with `minimal-ui`

The developer says "Hey - Browser B supports WebApps, why can't I just be `standalone` there?" The answer is because the spec defines `minimal-ui` AFTER `standalone`, so a developer either has to:
 * Not use that display mode at all, or
 * Not support browser B.

with `display_override`:
```json
{
  "display": "standalone",
  "display_override": ["minimal-ui"]
}
```

A: WebApp supported, with `standalone`
B: WebApp supported. with `standalone`
C: WebApp supported, with `minimal-ui`

In this case, now the WebApp is possible with all browsers.


The other examples highlight other problems - for example, the new Tabbed mode proposal. Without `display_override`, where would this fall in the fallback chain? What if the browser doesn't support it? That could mean either the developer:
* is forced to support other display modes they don't want, if it's high on the fallback chain, or
* is forced to not have a webapp if it is low on the fallback chain & `tabbed` mode isn't supported.
Basically, the defined-by-spec fallback chain is the difficulty here, and it would be better if the developer could customize it. The `override` nature is to help with backwards compatibility.

If I have some time I'll try to update the explainer with a more thorough explanation of what various browsers would do for various display settings. I'm also happy to do a quick VC here to have higher bandwidth - I might not be understanding something you're saying.


-- 
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/w3ctag/design-reviews/issues/530#issuecomment-656202142

Received on Thursday, 9 July 2020 15:42:59 UTC