- From: Daniel Murphy <notifications@github.com>
- Date: Thu, 09 Jul 2020 08:42:47 -0700
- To: w3ctag/design-reviews <design-reviews@noreply.github.com>
- Cc: Subscribed <subscribed@noreply.github.com>
- Message-ID: <w3ctag/design-reviews/issues/530/656202142@github.com>
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