Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[mediaqueries-5] Move the definition of "display mode" back to Manifest spec #7306

Closed
mgiuca opened this issue May 25, 2022 · 12 comments · Fixed by w3c/manifest#1039
Closed

Comments

@mgiuca
Copy link
Contributor

mgiuca commented May 25, 2022

(Attn: @frivoal @marcoscaceres )

In #6343, two sections of the Web App Manifest spec were moved into the CSS Media Queries 5 spec:

  • "Display modes"
  • "The 'display-mode' media feature"

The resulting negative diff on Manifest can be seen here: https://github.com/w3c/manifest/pull/1022/files

I believe the first of these moves was a mistake and would like to move the "display modes" section back to Manifest where it belongs. Moving the "The 'display-mode' media feature" section to CSSMQ was correct.

(Apologies that I've just noticed this now. It happened in December as I was planning to go on leave and I have been absent since then.)

Background

This started from an off-hand comment by @marcoscaceres in w3c/manifest#975:

While the CSS crew is here, somewhat unrelated, but related, could we move "display mode media feature" to MQ5?

I believe the intention here was to move just the "display mode media feature" to MQ5 (which is correct). However what ended up happening was that both the "display modes" and "display mode media feature" section got moved. Essentially, the "display mode media feature" was "remotely" injecting new content into the CSS spec, and I believe the intention was always to move it into CSS when it was ready. But I think moving the entire definition of "display mode" was a mistake.

Proposal

Move the "display modes" section (including the definition of the four display modes: browser, minimal-ui, standalone and fullscreen) back to the Manifest spec.

Keep the "The 'display-mode' media feature" section in the CSSMQ spec, referencing the definition of "display mode" in the Manifest spec.

Rationale

The "display mode" section, which defines display mode and provides the definition of the four display modes (browser, minimal-ui, standalone and fullscreen) is one of the core concepts of the web app manifest. The Web App Manifest spec is concerned with what it means to be a web app, and largely this revolves around being displayed in a non-browser display mode.

The Web App Manifest spec defines the "display" member which can be one of the four display modes, and allows the web app to control which display mode it should be presented in. So far, this is all self-contained within the Manifest spec and has nothing to do with CSS whatsoever. The definition of the display modes is critical to the manifest spec (hence the phrase appears 30 times in the spec).

In addition to this, we defined the display-mode CSS media query, which allows pages to query which app display mode they are in. While this is a useful feature, it is ancillary. We could delete the display-mode media query and the entire web app system would continue to function, albeit it would be harder for pages to determine which mode they're in.

Having the entire definition of "display mode" be in the CSS spec makes no sense, because it is a manifest concept that happens to have a CSS media query associated with it, not a CSS concept that happens to be referenced by the manifest spec. It doesn't make sense that the Manifest spec defines the "display" member by saying "see the CSS spec".

My practical concerns over this are that it will unnecessarily complicate future discussions around display modes. We (Manifest authors) have plans to add at least two new display modes (tabbed mode and window controls overlay), and those discussions should take place in the Web Apps WG, around the Manifest spec. We should not be discussing proposals about new Web App functionality in the CSSWG.

mgiuca added a commit to mgiuca/manifest that referenced this issue May 25, 2022
Closes w3c/csswg-drafts#7306.

This text was moved out of the Manifest spec into CSS mediaqueries-5 in
w3c/csswg-drafts#6343, along with the display-mode media feature. The
actual definition of display mode belongs here, while the display-mode
media feature remains in CSS mediaqueries-5.
mgiuca added a commit to mgiuca/csswg-drafts that referenced this issue May 25, 2022
.

This text was moved out of the Manifest spec into CSS mediaqueries-5 in
w3c#6343, along with the display-mode media feature. The
actual definition of display mode belongs in Manifest, while the
display-mode media feature remains here.

Added some more text explaining how the display-mode media feature works
given that this is in a separate spec to where web apps are defined.
@mgiuca
Copy link
Contributor Author

mgiuca commented May 25, 2022

Created pull requests on both sides to resolve this:

Before landing either, both should be approved, and there maybe should be a more deliberate lockstep than just landing both at the same time.

@alancutter FYI

@marcoscaceres
Copy link
Member

I agree, we should move the definitions back into manifest for the reasons that @mgiuca outlines above.

@ewilligers
Copy link
Contributor

A couple of proposals involving new display mode values:
https://wicg.github.io/window-controls-overlay/#addition-of-new-window-controls-overlay-display-mode
https://github.com/WICG/manifest-incubations/blob/gh-pages/tabbed-mode-explainer.md
Standards discussions for these will occur in the WebApps WG.

mgiuca added a commit to mgiuca/csswg-drafts that referenced this issue Nov 4, 2022
.

This text was moved out of the Manifest spec into CSS mediaqueries-5 in
w3c#6343, along with the display-mode media feature. The
actual definition of display mode belongs in Manifest, while the
display-mode media feature remains here.

Added some more text explaining how the display-mode media feature works
given that this is in a separate spec to where web apps are defined.
mgiuca added a commit to mgiuca/manifest that referenced this issue Nov 4, 2022
Closes w3c/csswg-drafts#7306.

This text was moved out of the Manifest spec into CSS mediaqueries-5 in
w3c/csswg-drafts#6343, along with the display-mode media feature. The
actual definition of display mode belongs here, while the display-mode
media feature remains in CSS mediaqueries-5.
@atanassov atanassov added this to Agenda+ in November 30 2022 Nov 16, 2022
@ewilligers
Copy link
Contributor

Screenshots for various display modes.

@css-meeting-bot
Copy link
Member

The CSS Working Group just discussed [mediaqueries-5] Move the definition of "display mode" back to Manifest.

The full IRC log of that discussion <astearns> topic: [mediaqueries-5] Move the definition of "display mode" back to Manifest
<chris> s/???/F2F
<astearns> github: https://github.com//issues/7306
<dandclark> Erik: The motivation is the webapps wg will be writing definitions for more display modes. Makes sense for them to vote on modes and their positions.
<florian> q+
<dandclark> Erik: ???
<astearns> s/???/uncontroversial in webapps wg/
<dandclark> florian: There's editorial and substantive aspects to this. Substantive aspect is that while most dipslay modes are only invokable by app manifest, there's at least one that iIm not sure if should be. that's fullscreen.
<dandclark> florian: If you invoke UI to switch viewport to full screen, should this be recognized as full screen?
<dandclark> florian: When you're in full-screen mode, you're in full-screen mode regardless of how you got there. If you want full-screen mode to be stricly about the manifest, can do what was suggested.
<tantek> +1 I think I'm agreeing with florian, which is to keep the more abstract (non-manifest-specific) definitions in MQ5
<dandclark> florian: But if you want media queries to be generalized, we can move the bulk of what's here to the spec but might need to leave a bit behind in media queries.
<dandclark> Erik: Manifest might say fullscreen but you're not in that mode at the moment ??? This would be similar to standalone. I think uncontroversial that if you start in browser and go to fullscreen, it should go to fullscreen. Don't think there's a problem. Distinction between what manifest says and what the browser's doing.
<dandclark> florian: Two nuances, we agree on first but not sure on second. If you have manifest but mode isn't active, what counts is what's actually active. If you don't have manifest, and you put browser in full-screen, I think you're saying you agree full screen mode should apply . We agree. But PR to put it back to the webmanifest spec doesn't agree.
<dandclark> erikwilligers: We can quickly resolve htis afterward, test what the browsers do.
<dandclark> florian: Do we want to generalize this to be more applicable broadly?
<tantek> +1 worth generalizing
<dandclark> florian: IF we accept PR as is, applies to webmanifest only, but it's worth generalizing
<dandclark> erikwlligers: I don't see any problems
<dandclark> florian: We need some things in both specs. IF only need this to apply to webapp manifest, almost everythign should move there. ONly need cross-referencing.
<dandclark> florain: To apply more broadly, need some definition in media queries.
<dandclark> astearns: Do we resolve to accept PR now?
<dandclark> astearns: ...and then track remaining work in this issue or another? Or not accept PR yet?
<dandclark> erikwilligers: Resolve to have remainder here
<dandclark> florian: Not sure, e.g. definition of display-mode itself. If this notion is broadly applicable, not sure if should move.
<dandclark> rossen: This conversation suggests this isn't ready to merge. Close but not quite. Take this extra time with florian and come back when it's ready?
<dandclark> erikwilligers: I guess we can do that
<tantek> +1 Rossen. Iterate on the PR and re-review next week?
<dandclark> astears: Take the time to hammer it out and we'll take it up again
@mgiuca
Copy link
Contributor Author

mgiuca commented Nov 17, 2022

Thanks for discussing this at the CSSWG.

It looks as though the main issue is that the "fullscreen" display mode media query applies when an ordinary browser page is in fullscreen mode, irrespective of what the manifest says, and therefore it should be described here as well. I will take it on to try and reword it so that this fullscreen logic is fully described in CSS so you don't have to read manifest to learn that. But I still want the core definitions of what these display modes mean to move back to Manifest, since they are the core concept being defined by the manifest spec.

I will update these PRs.

Would it be possible to resolve this on GitHub without further resolution at the CSSWG? The WG meetings seem to happen at inconvenient times for both myself and @ewilligers so it would be good if we can resolve this offline.

@frivoal
Copy link
Collaborator

frivoal commented Dec 5, 2022

@mgiuca If you do want to attend a CSS meeting, and it's merely a matter of inconvenient time, note that we do have an APAC timed call. The next one is on January 5, 0:00 UTC.

But we can certainly try and iterate here as well. I have been a little short on time recently to come up with an edited PR myself, but if you find time to do it, I'm happy to review.

mgiuca added a commit to mgiuca/manifest that referenced this issue Jan 20, 2023
Closes w3c/csswg-drafts#7306.

This text was moved out of the Manifest spec into CSS mediaqueries-5 in
w3c/csswg-drafts#6343, along with the display-mode media feature. The
actual definition of display mode belongs here, while the display-mode
media feature remains in CSS mediaqueries-5.
@css-meeting-bot
Copy link
Member

The CSS Working Group just discussed [mediaqueries-5] Move the definition of "display mode" back to Manifest spec.

The full IRC log of that discussion <TabAtkins> florian: Can't take to a great depth. Display Mode is defined by another spec. They have some MQs for it, and proposed we should move some of it to MQ 5.
<TabAtkins> florian: Looks like we moved too much, might want to move it back
<TabAtkins> florian: we had a discussion, don't want to just introduce syntax without behavior defined
<TabAtkins> florian: Like, Web App Manifest has a fullscreen mode but other things can too
<TabAtkins> florian: So they were gonna do a PR to see if their idea of balance matches ours, and i don't see it
<TabAtkins> florian: So I think the action's on them
<TabAtkins> Rossen_: Looks like they ended up closing the other repo's issue
<TabAtkins> florian: There's a comment on the issue in a fork of the repo...
<TabAtkins> Rossen_: Okay, progress don't suggest enough maturity
<TabAtkins> florian: Right, so should we wait for progress or be the one driving it?
<TabAtkins> Rossen_: Looking at you for suggestions
<TabAtkins> florian: I wrote the current text and not too dissatisfied with it.
<TabAtkins> florian: I can guess what they want, but would prefer an actual suggestion. Maybe should ping again.
<TabAtkins> Rossen_: Sounds like the move.
<TabAtkins> Rossen_: So action is on you to ping them
@frivoal
Copy link
Collaborator

frivoal commented Feb 2, 2023

@mgiuca the CSSWG was expecting to review a PR from the Web App Manifest WG to see how much of this you were planning to move back to the Manifest spec, so that we could discuss and iterate from there. Is that your understanding as well? Should we set up a meeting of some kind to discuss it? Are you expecting us to make a proposal?

@mgiuca
Copy link
Contributor Author

mgiuca commented Feb 2, 2023

Thanks for checking in @frivoal . I was considering the ball to be in my court on this, I have just had a lot of things going on and this wasn't a top priority for me. Sorry for not making that clear. Still planning to get to it and I think it's important that we eventually have this text in the right place.

@astearns astearns removed the Agenda+ label Feb 7, 2023
mgiuca added a commit to mgiuca/manifest that referenced this issue Apr 21, 2023
Closes w3c/csswg-drafts#7306.

This text was moved out of the Manifest spec into CSS mediaqueries-5 in
w3c/csswg-drafts#6343, along with the display-mode media feature. The
actual definition of display mode belongs here, while the display-mode
media feature remains in CSS mediaqueries-5.
mgiuca added a commit to mgiuca/manifest that referenced this issue Nov 16, 2023
Closes w3c/csswg-drafts#7306.

This text was moved out of the Manifest spec into CSS mediaqueries-5 in
w3c/csswg-drafts#6343, along with the display-mode media feature. The
actual definition of display mode belongs here, while the display-mode
media feature remains in CSS mediaqueries-5.
mgiuca added a commit to mgiuca/csswg-drafts that referenced this issue Nov 16, 2023
.

This text was moved out of the Manifest spec into CSS mediaqueries-5 in
w3c#6343, along with the display-mode media feature. The
actual definition of display mode belongs in Manifest, while the
display-mode media feature remains here.

Added some more text explaining how the display-mode media feature works
given that this is in a separate spec to where web apps are defined.
@mgiuca
Copy link
Contributor Author

mgiuca commented Jan 15, 2024

Hi @frivoal

Just checking if you saw my update to #7307. If you want to discuss this in a CSS-WG session, could it be scheduled. Otherwise I would like to proceed to merge this (and the counterpart PR on the Manifest side).

mgiuca added a commit to mgiuca/csswg-drafts that referenced this issue Feb 26, 2024
.

This text was moved out of the Manifest spec into CSS mediaqueries-5 in
w3c#6343, along with the display-mode media feature. The
actual definition of display mode belongs in Manifest, while the
display-mode media feature remains here.

Added some more text explaining how the display-mode media feature works
given that this is in a separate spec to where web apps are defined.
mgiuca added a commit to mgiuca/manifest that referenced this issue Feb 26, 2024
Closes w3c/csswg-drafts#7306.

This text was moved out of the Manifest spec into CSS mediaqueries-5 in
w3c/csswg-drafts#6343, along with the display-mode media feature. The
actual definition of display mode belongs here, while the display-mode
media feature remains in CSS mediaqueries-5.
@grorg grorg closed this as completed in e8cc514 Apr 12, 2024
marcoscaceres added a commit to w3c/manifest that referenced this issue Apr 12, 2024
…1039)

* Move the definition of display-mode back to APPMANIFEST.

Closes w3c/csswg-drafts#7306.

This text was moved out of the Manifest spec into CSS mediaqueries-5 in
w3c/csswg-drafts#6343, along with the display-mode media feature. The
actual definition of display mode belongs here, while the display-mode
media feature remains in CSS mediaqueries-5.

* Apply suggestions from code review

Co-authored-by: Aaron Gustafson <aaron@easy-designs.net>

* Tidy.

* display-mode: Rewrite note about display-mode media feature to helpfully point towards the CSS spec.

Also linkify display-mode properly.

---------

Co-authored-by: Marcos Cáceres <marcos@marcosc.com>
Co-authored-by: Aaron Gustafson <aaron@easy-designs.net>
@mgiuca
Copy link
Contributor Author

mgiuca commented Apr 12, 2024

Thank you so much @grorg !

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment