- From: Stefan Håkansson LK <stefan.lk.hakansson@ericsson.com>
- Date: Tue, 5 Nov 2013 19:11:08 +0000
- To: Jan-Ivar Bruaroey <jib@mozilla.com>, Eric Rescorla <ekr@rtfm.com>, "Harald Alvestrand" <harald@alvestrand.no>
- CC: "Mandyam, Giridhar" <mandyam@quicinc.com>, Martin Thomson <martin.thomson@gmail.com>, "public-media-capture@w3.org" <public-media-capture@w3.org>
On 05/11/13 17:39, Jan-Ivar Bruaroey wrote: > On 10/30/13 2:35 AM, Eric Rescorla wrote: >> On Tue, Oct 29, 2013 at 10:04 PM, Harald Alvestrand >> <harald@alvestrand.no <mailto:harald@alvestrand.no>> wrote: >> >> On 10/30/2013 01:14 AM, Mandyam, Giridhar wrote: >> > Referring back to Example 2 >> (http://www.w3.org/TR/mediacapture-streams/#examples), in existing >> implementations the permissions UI is presented as soon as the gUM >> call is made. >> > >> > If I'm to understand you correctly, the permissions call would >> instead only be presented when when applyConstraints() is invoked >> on the VideoStreamTrack to change "noaccess". >> > >> > So the user opens up the webpage and gets to see a camera >> preview image initially. But the application is blocked from >> invoking canvas.getContext('2d').drawImage() or >> canvas.getContext('2d').getImageData() at this point because the >> "noaccess" constraint has not been changed. >> > >> > What other operations need to be blocked until the 'noaccess' >> constraint is modified? >> >> According to what Martin said earlier, the call to >> canvas.getContext(....) would not be blocked, it would simply >> render black. >> >> >> This is one point that's critical to clarify in the description of the >> constraint, if this is what we want; the current text EKR proposed >> reads >> as if the operation is not permitted, preventing the scenario above. >> >> >> I could live with either, but I think Martin is probably right to suggest >> black, > > I agree as well, on black over blocking. > > At this point I'd like to re-iterate my suggestion from 9/6/13 12:20 PM > to do the same for user-permissions. Modern browsers don't block on > permission prompts, so neither should our API. What's the difference > between 'noaccess' and a stream which the user has yet to grant access > to? - In my mind, very little. > > In my mind, a 'noaccess' stream and a stream awaiting user-permissions > are similar and could work the same: > > 1. getUserMedia returns quickly. > 2. If the website shows the user a local view of their stream at all > (and many sites will not), the user sees either: > * Black, > * Local video, with dimming or water mark or "Relax, not live!" > don't-show-me-this-again warning workflow, > o (or any other fancy way to communicate audio/video-muting, > as browsers are good at innovating UX) > * Local video, > * "Click to play?" I don't really understand if there would be a difference in the consent dialogue if the app shows a local view or not - is "Click to play" the same dialogue on both cases? > > And this would depend on /browser settings/ and user comfort > level (let browsers handle defaults here). > > 3. If stream is 'noaccess' then stay here. If app ever lifts > 'noaccess', goto 4. > 4. If browser ever returns that user-consent has been granted, then > unmute/promote stream to full access. I sort of like this. If it also came with the info that also a "noaccess" MediaStream can be attached to a PeerConnection (but would never let any RTP packets, or only silence/black-RTP, go out on the net) it could be used to get the negotiation going immediately (since gUM returns quickly). > > > A one-size wont fit all. I agree with Adam that some (like me) will balk > at the browser turning on the camera light under any circumstance > without consent (I don't trust bits, so don't force me to unplug my > camera or put my tinfoil hat over it). > > It bothers me to hear 'noaccess' use-cases where the sole goal seems to > be to affect the user's permission-dialog experience. Why would we trust > web-sites with this? The browser is the best shepherd of the user's > privacy UX experience - The more we decouple it and diversify here, the > harder it becomes to socially engineer around. > > See my original post for other benefits: > > * Synergy with over-constrained and mute/un-mute. > * Solves the double permission-dialog sucky UX. > * Speeds up call-setup in common cases (by not blocking on user). > * Simpler API, because the browser owns the permissions UX piece. > Better behaved/non-contorting apps. > > > .: Jan-Ivar :. > >> >> -Ekr >> >> Surveillance is pervasive. Go Dark >> >
Received on Tuesday, 5 November 2013 19:11:39 UTC