#689: Viewport Segments Property

Visit on Github.

Opened Nov 9, 2021

Braw mornin' TAG!

I'm requesting a TAG review of the Viewport Segments Property after taking into account feedback (e.g. webscreens/window-segments#12) around integrating our original Window Segments API proposal (initial TAG review here: #492) with the Visual Viewport API.

Web developers targeting foldable devices want to be able to effectively lay out the content in a window that spans multiple displays. However, the web platform does not yet provide the necessary primitives for building layouts that are optimized for foldable experiences. The Viewport Segments Property will provide a list of logical segments of the viewport that web developers can use to target with different views, as appropriate based on size and configuration of those segments.

Further details:

  • I have reviewed the TAG's API Design Principles
  • The group where the incubation/design work on this is being done (or is intended to be done in the future): WICG
  • The group where standardization of this work is intended to be done ("unknown" if not known): Unknown
  • Existing major pieces of multi-stakeholder review or discussion of this design:
  • Major unresolved issues with or opposition to this design: N/A
  • This work is being funded by: Microsoft

We'd prefer the TAG provide feedback as:

💬 leave review feedback as a comment in this issue and @-notify [github usernames]

Discussions

2022-02-21

Minutes

Dan: I know there are multiple implementations. But all in Chromium. Different stakeholders are interested. Looking at S&P.. don't think theyre exposing any extra info. I think this is good, but I've been kind of working on it.

Peter: one concern is that the segments array is just a bunch of DOM rects. Comments between Ken and darktears that maybe it should have some embedded... should return objects, so room for expansion. Can leave comment. Other concern in general is that they seem to degrade very quickly into only dealing with one particular hardware situation, eg. screens are all the same size, or only two segments. This one doesn't suffer from that, the segments could be anywhere in space. No information aside from doing math with rectangles to figure out hwo they're oriented. Maybe there's metadata thtat can be added later.

Yves: related to second screen?

Dan: no

Peter: second screen is like casting. This is multiple monitors or foldable screens.

Dan: a few different hareware configurations this makes sense for. Gets very complicated if you start to hink about screens with multiple hinges.

Peter: I'm right now sitting in front of 3 monitors. There are existing groups of things that aren't just a foldable phone. I want it to not be treated as something different from a foldable phone. I think this one API is fine for that.

Dan: design is kind of born out of that concern. Intended to address that concern, to make sure whatever we do here is forward looking. Look again at plenary.

2022-02-28

Minutes

Rossen: both (689 & 690) are being experimented with

Dan: Peter asked a question about object vs DOM rect. No response yet.

Rossen: what would be the lifetime of such object? The beauty of rects is that they're immutable valid for the time being. If I return object now we're talking about bringing in the whole kitchen around the sink with events..

Peter: doens't need an event, doesn't need to be live, could be a snapshot. This isn't a blocker. Just a question. Negotiating API shape, overall happy with the feature.

Dan: Close with that question? Ping requester again?

Peter: worth completing the conversation

Dan: could close on wednesday if we get that feedback

2022-04-04

Minutes

Peter: pending feedback for something minor

Dan: bump it?

2022-05-23

Minutes

Dan: we left feedback on 21st Feb and haven't progressed. As far as I understand it isn't very controversial, it is being used.

Peter: last feedback I left was about API shape. No response.

Dan: should we ping some of the other people on here? does so

Rossen: I pinged them Feb 28th

2022-06-06

Minutes

Dan: happy to "pass" this.

Rossen: I am too.

Thanks folks - on the basis of this feedback we're happy to close this and we're happy to see this work move forward.  Looking forward to a foldable future.

closed