Let's say I want to build a WebRTC app and allow users to enumerate and select 
media devices in the page.  I want this UI as consistent as possible across 
browsers.

Right now, the situation is not good in Firefox.  After an initial gUM call (so 
I have labels for my enumerated devices), the user flow looks like this:

1. Webpage has UI for enumerating, selecting devices
2. User changes mic or cam
3. User did not select "always allow", so gUM dialog shows again, with its own 
selection options
4. User must click share to share a second time.

This is klunky and weird for users--they made a selection, so the secondary gUM 
dialog showing up is really confusing.  If the user did select "always allow" 
then this custom selection works how you'd expect: their changes are reflected 
immediately.

You'd think a workaround would almost be for the web page to simply have a 
button to change mic/speakers, so the gUM dialog shows and user can select them 
there.  However, that breaks down if the user DID select "always allow" because 
then gUM shows no dialog and there's no way to change devices at all.

Chrome doesn't suffer from this problem, because after an initial gUM request 
on the page, it allows unprompted access to that page--basically, "always 
allow" being the default.  

My question is whether or not there's any work scheduled in Firefox to resolve 
this ambiguity?  Even if they didn't select "always allow," does it really need 
to prompt with every change?  Could it just prompt once when the page is loaded 
instead?  It is great to be able to enumerate mic/camera and select the ones 
you want, but that feature is extremely hard (bordering on impossible to 
communicate clearly to users) to implement in a sane way with how gUM currently 
prompts in Firefox.

You can test all of this at 
https://webrtc.github.io/samples/src/content/devices/input-output/
_______________________________________________
dev-media mailing list
[email protected]
https://lists.mozilla.org/listinfo/dev-media

Reply via email to