[14:34] == dlibby [~dlibby@public.cloak] has joined #multiscreen [14:34] == myles [~textual@public.cloak] has joined #multiscreen [14:34] == zghadyali [~zghadyali@public.cloak] has joined #multiscreen [14:34] == Dongwoo [~uid10661@public.cloak] has joined #multiscreen [14:34] == jmann [~jmann@public.cloak] has joined #multiscreen [14:34] present+ [14:34] == jihye [~uid138255@public.cloak] has joined #multiscreen [14:34] 💻🖥📱 [14:35] == mdrimages [~mdrimages@public.cloak] has joined #multiscreen [14:35] scribe: jmann [14:38] present+ [14:38] present+ myles [14:39] present+ [14:40] https://docs.google.com/presentation/d/18rZXbz7T2yFNIZFZTuZuz-jQNemHtlSFzCg6UbmYP40/edit#slide=id.p [14:40] Daniel: The Edge team recently published an explainer on multiple screens / foldable devices. Looking for feedback to the proposal or other use cases that need to be consiered. [14:40] == diekus [~diekus@public.cloak] has joined #multiscreen [14:41] https://github.com/MicrosoftEdge/MSEdgeExplainers/blob/master/Foldables/explainer.md [14:44] Daniel: Developers want to take advantage of multiple screens, whether its foldable devices or multiple screens. The Windows Segment concept describes partitions of the layout viewport. [14:46] ... designed to be used reactively. Not trying to solve declaratively right now. Includes information about regions that may be occuled on the viewport so developers can work around it. It's possible to construct some of this information with unionizing is possible, but want to build an ergonmic API that supports different form factors [14:47] ... API surface consists of getWindowSegment API and event [14:48] ... A couple of examples. If you have a foldable device, you may want to layout content on different windows. Occlusion can happen if there are software keyboards or a hinge. Given there's no support for a L shape viewport where the viewport is hidden. [14:49] ... There are a number of other proposals in the space of showing which screens are connected (Screen Enumeration, Window Placement, PResentation API), but these don't feel like they support the case for cases where viewports span physical or logical windows. [14:49] Mike: Do you have information when postures change? [14:50] Daniel: You'll get a resize and segment change so you can change how things are layed out. [14:51] Mike: Would this API expand to multiple displays? Foldable is still a single display. [14:51] Daniel: The proposal is flexible enough to cover those multiple scenarios as long as the operating system's window management gives that information. [14:51] q+ [14:52] Miles: Since this is an opt in API, the ones opting in can make their sites better. What about all the other pages? What would browsers do there? [14:53] Daniel: Likely nothing special. The pages that don't use this information will just look like a single window page. [14:53] s/Miles/Myles/ [14:54] Stephanie: Are the two halves exposed as separate displays? [14:55] Daniel: Looking for feedback. E.g., if there's a bexel between screens, should that be exposed as separate displays or a single? [14:55] Myles: Is there a reference device that we can look at? [14:55] Daniel: Samsung Fold is one example. There are other OEMs with devices. [14:56] q+ [14:56] Daniel: Without this information, it may be very difficult for libraries to build the right experience. [14:58] Myles: We should look at reference devices. If this is just for a fold, maybe we should have a simpler API? [14:59] Ben: You're assuming two panels joined physically, a single screen with folding capability, vs. multi-screen which possibly has a different set of concerns. [15:00] Daniel: Part of the intent of this discussion was to see where there's overlap between multiscreen scenarios and single screen (but foldable). [15:01] Myles: There are operating systems where you can drag windows between monitors. As windows drags across boundaries, these segments will change. If this is a polling API, the site's going to have to continuously need to ask. You'll need an eventing model. [15:01] Mike: As a part of Window Placement, developers can get window resize, but not necessarily when the content is moved. If the last time I opened this site, the site had an arrangement of windows, that API will help notify. [15:02] Myles: Even if movement doesn't cross monitor boundary? What's use case? [15:02] Mike: Imagine a site trying to present to one display or notes on another display. The site could remember the location of those displays. [15:03] Myles: How does this work with fingerprinting? [15:03] Mike: Is that information accurate or faked? [15:03] Ben: Pixel size of viewport will change. window.width can choose to fake it. [15:04] Daniel: We've been thinking about this around restrictive window managers [15:05] Mike: Can content span displays for dual screen phone devices? Are there segments of single display? How's that information exposed to native [15:06] Dongwoo: I should brought a fold device. When folded is one display. You can think of it as phone or tablet. When you go from phone to tablet, the browser gets a window resize event. [15:06] Daniel: Can you get multiple windows on the tablet? [15:06] Dongwoo: Yes. [15:06] == msw_ [~msw@public.cloak] has quit [Client closed connection] [15:07] Myles: When you're in big screen, is it designed to be a single screen or two separate screens? [15:08] Daniel: It depends on what the window manager wants to expose [15:09] Myles: We really need better reference examples, because this API doesn't help with the Galaxy Fold [15:09] Jatinder: Good feedback. There are OEM reference devices that have single or multiple screens. We should add examples to the explainer. [15:10] Daniel: We may want to expose a grid if different form factor devices show up. [15:11] Mike: If there's an occlusion, you can't just expose a two dimensional array. [15:11] Daniel: Good feedback. [15:11] Mike: Going back to case of actually having multiple displays, does Samsung folks have details on what Android exposes? Can you have one activity window expanding two displays? [15:11] Dongwoo: Fold is one big screen device. [15:12] Jihy: LG has some models with two screen devices. Operating is one display. [15:12] Myles: Can we see the device? [15:13] Stephanie: Do you know if there's any use cases for wanting to know a fold? Like casting a shadow. [15:13] == msw_ [~msw@public.cloak] has joined #multiscreen [15:13] Daniel: There's a link to a CSS WG issue where they were looking at some examples of wanting to style around the occlusion region. [15:14] Foldable phone by LG: https://www.lg.com/uk/mobile-phones/lg-LMV500EM [15:14] Myles: In the CSS WG, there was a very long discussion on round displays. [15:14] ... CSS support for regions where you don't drag content [15:15] Jihye: We proposed for round watches, so CSS can detect regions to avoid. Author will have to make two different CSS, one for regular display, one for round [15:16] Myles: Feedback that I would give is you gave a feedback is re-layout as you move across fold. If that's the case, a CSS solution would seem more logical. You may want to reach through that discussion, because lost of topics were covered. [15:18] Diekus: I'd like to understand how this API is better than Screen Enumeration API? What are some of the things that I can't do [15:19] == christianliebel [~christianliebel@public.cloak] has joined #multiscreen [15:19] Ben: It can become a tricky problem for every app trying to keep track of all of the different possible geometries. A media query or CSS may be better. [15:19] Shameless plugs from Mike Wasserman (msw@google.com), I'd greatly appreciate this group's feedback to our related proposals currently in explainer drafting stage (currently undergoing heavy iteration): https://github.com/spark008/screen-enumeration/blob/master/EXPLAINER.md and https://github.com/spark008/window-placement/blob/master/EXPLAINER.md [15:20] Mike: Like feedback on many different operations provided by OS, like scaling, screen resolution, color depth.