-
Notifications
You must be signed in to change notification settings - Fork 56
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
Early design review: Document Picture-in-Picture #798
Comments
This is an exciting proposal! Some questions:
|
|
Dialpad would benefit if this feature would be available in the browser. Is there a demo available? |
(I have PR'ed the Document Picture in Picture API into this Pomodoro Timer app.) |
Previous related reviews: |
@steimelchrome have you updated the explainer to clarify these issues? (And by the way, thanks @slightlyoff!) From our review in today's TAG breakout, this looks like a generally useful feature. A few other questions:
Also just noting: we're going to bring more CSS expertise to bear on this review so expect some further questions. Thanks! |
@torgo Yep, I've just updated the explainer to clarify those (and the spec should also be clear on them).
CSS expertise sounds good. I believe @liberato-at-chromium was talking with some CSS people a while back about it Thanks! |
I think we meant: In the popover api, you have a window that sits on top that can have arbitrary content.. However I think one difference is that the Popover is only visible in the current browsing context whereas the PiP floating window is visible in other apps, etc... is that correct? |
@steimelchrome there was also a concern raised in the Mozilla Standards Position thread about this being misused by advertisers or other actors that want to interrupt the user experience - that this could become another popup. Can you elaborate on how this concern has been addressed? In the response to this question I'm reading from @liberato-at-chromium "However, I don't believe that Document PiP makes the situation any worse." We're trying to push spec developers to "leave the web better than you found it." See our design principle on this topic. So I think we'd like to understand how Document picture-in-picture makes things better for end users on this front. On a related note, is a permission request to the user currently necessary in order to invoke document picture-in-picture? |
The spoofing section is giving hints and should use stronger wording to avoid, for example, payment website spoofing, or as stated in the document System UI used to gather user passwords. |
Since you can render HTML content to a video that you can then PiP with the traditional API, I don't think a proper API as proposed here causes new spoofing surface—arguably even less, since the UA per encouragement in the spoofing section renders UI such as a title bar, at least as implemented in Chrome. As an example, here's my custom-built solar system PiP dashboard that I like to keep an eye on: Compared to a traditional PiP window with no UI: Update: to be fair, you can't interact with a video PiP window much and with a document PiP window you can, but there's more to come for video. |
Document PiP makes the web better because we've seen a lot of (legitimate, not abusive) demand for always-on-top arbitrary content. My comments earlier were just trying to say that we aren't introducing a new vector for abuse in the process of providing those improvements, because it's not more abusable that what's already there. I might be able to make the case that it's actually less so. For example, the site can't move or resize a document pip window via scripting. However, I don't think those differences are a reason we'd do any of this. |
I'm still concerned that this feature doesn't appear to be widely implementable across platforms, as discussed in the WebKit standards-positions issue on this. |
Hi @steimelchrome can you feed back on any updates to this proposal? Matthew asked a question above regarding Lea's feedback that looks like it's still pending. Thanks! |
Sorry for the delay.
I don't think we have any written-down outcome/resolution I can point to. I just sent an email to Domenic to discuss further and I'll post a resolution here.
For Android (and possibly iOS, but I'm less familiar with iOS), with current system APIs we could implement a non-interactive version of document picture-in-picture (allowing the website to populate it with arbitrary HTML elements, but not actually allow input). There are some potential issues (e.g. a pip window that has an active media session would show media controls, which may or may not be appropriate depending on the use case), but we haven't seen any demand for this so we haven't pursued it. But you're right that arbitrary interactive HTML would not be implementable without new Android/iOS APIs to support it. Otherwise, I'm not sure what changes we could make to the API to support these use cases on desktop while remaining 100% implementable on mobile. Do you have any ideas? |
We're also proposing allowing user gestures in the document picture-in-picture window to be usable in the opener window and vice versa. This makes it more ergonomic to use user-activation-gated APIs, since often event handlers in the document picture-in-picture window are actually run in the opener's context, so the opener's context needs access to the user gesture. This essentially makes the document picture-in-picture window act the same as a same-origin iframe inside the opener as far as user gesture propagation is concerned. PR: WICG/document-picture-in-picture#117 |
For info, Spotify folks are using the Document Picture-in-Picture API for their Miniplayer. |
Hi folks, We (@plinss @matatk and I) discussed this again during a breakout today. Overall, we see why the current
We understand that improving The video-specific use cases appear to be covered already by |
The TAG revisited this issue today, and have decided to close this review as unsatisfied. We would prefer enhancing (Personally, I also remain concerned with adding a feature like this to the Web platform without a clear strategy for making it available on entire classes of very popular, Web-capable devices.) |
Wotcher TAG!
I'm requesting a TAG review of Document Picture-in-Picture.
There currently exists a Web API for putting an HTMLVideoElement into a Picture-in-Picture window (HTMLVideoElement.requestPictureInPicture()). This limits a website's ability to provide a custom picture-in-picture experience (PiP). We want to expand upon that functionality by giving websites the ability to open a picture-in-picture (i.e., always-on-top) window with a blank document that can be populated with arbitrary HTMLElements instead of only a single HTMLVideoElement.
Further details:
We'd prefer the TAG provide feedback as (please delete all but the desired option):
🐛 open issues in our GitHub repo for each point of feedback
The text was updated successfully, but these errors were encountered: