- From: Jan-Ivar Bruaroey via GitHub <sysbot+gh@w3.org>
- Date: Mon, 16 Dec 2019 21:22:06 +0000
- To: public-webrtc-logs@w3.org
jan-ivar has just created a new issue for https://github.com/w3c/mediacapture-main:
== In-content device selection a mistake. Too complicated, leaks info ==
In hindsight, in-content device selection was a mistake. It's
* **Too permissive**—assumes all devices granted up-front to work effectively (wo/reprompt)
* **Too complicated**—having every site write a decent picker compatibly has been a failure:
* Exhibit A: Changing camera **_or_** mic in [webrtc samples](https://webrtc.github.io/samples/src/content/devices/input-output/) re-prompts **_both_** in Firefox; flickers
* Mobile devices typically can't open more than once device at a time ("stop-then-pick")
* Stop-then-pick is an inferior user experience on desktops
* Dealing with different browser permission models severely limits design (no previews)
* **Leaks private info**—fails PING review https://github.com/w3c/mediacapture-main/issues/640
* **Too limiting**—no path to privacy (can't avoid redundant re-prompts *after* user selection)
The PING outlines the way forward in https://github.com/w3c/mediacapture-main/issues/640#issuecomment-549540203:
> Privacy-by-default flow:
>
> Initially site has access to no devices or device labels
>
> 1. site asks for category (or categories) of device
> 2. browser prompts user for one, many or all devices
> 3. site gains access to only the device, and device label, of the hardware the user selects.
That's an in-chrome picker (_"in-chrome"_ = implemented in the browser). In-chrome pickers
* **Are proven successful**—in [getDisplayMedia](https://jan-ivar.github.io/dummy/gdm.html)
* **The way forward**—for speakers https://github.com/w3c/mediacapture-output/pull/86
* **Remove the need to grant all devices** ❤️
* **Let UAs solve mobile** platforms that can’t open multiple devices (mute temporarily)
* **Let UAs solve camera previews** maybe even in a (non-creepy) Brady Bunch grid!
https://github.com/w3c/mediacapture-main/pull/644 is my proposal for reshaping `getUserMedia` to serve this need, as well as solve https://github.com/w3c/mediacapture-main/issues/648.
Please view or discuss this issue at https://github.com/w3c/mediacapture-main/issues/652 using your GitHub account
Received on Monday, 16 December 2019 21:22:08 UTC