- From: Gili <cowwoc@bbs.darktech.org>
- Date: Thu, 21 Nov 2013 11:54:55 -0800
- To: Jan-Ivar Bruaroey <jib@mozilla.com>, public-media-capture@w3.org
- Message-ID: <528E650F.805@bbs.darktech.org>
On 21/11/2013 7:11 AM, Jan-Ivar Bruaroey wrote:
> On 11/20/13 8:43 PM, Gili wrote:
>> I guess I agree with Martin here. I don't mind A and C so much as B.
>> There is a trade-off between troubleshooting and fingerprinting and I
>> have yet to be convinced that the only solution is to remove
>> important diagnostics information. WebRTC applications are already
>> very difficult to troubleshoot, and this is going to make it even harder.
>
> Are you saying you need to probe the user's system without their
> permission for diagnostic reasons?
Yes and no. If a tree falls in a forest and no one is around to hear it,
does it make a sound? More on this below.
>
>> We need to find a solution that does not require us to choose one or
>> the other. We should be able to get both.
>
> To me, gUM is about getting access, not probing. Get access first then
> probe all you want. Anything else is a privacy intrusion IMHO.
I hope we can agree that there is no privacy concern in a developer
probing their own system. I'll compare this to health care... Providing
a mechanism for a user to detect their own medical conditions is a good
thing (even if the webapp came off a remote server). No privacy
violation takes place unless said data is shared with a 3rd-party
without the user's permission.
I think someone mentioned in the past an example where the application
didn't know what resources to access until it saw what was available. It
went something along the lines of: "If earphones are plugged in, I want
to open camera 1 but if earphones are not plugged in I want to open
camera 2" or maybe it was "If a headset is plugged in, I want to use its
microphone but if no headset is plugged in I'd like to use the default
microphone". Having to specify this through a non-executable list of
text constraints sounds difficult if not impossible.
Javascript is a great example of executing dynamic code within a sandbox
to prevent it from (for example) accessing arbitrary files on disk. I'm
advocating for a similar mechanism with an even more restrictive
sandbox. The passed-in function that:
1. Indicates which devices it is interested in, vs which should be
filtered out.
2. Log messages to the developer console for debugging purposes.
The dictionary approach is a fixed AND/OR structure. Dynamic code allows
developers to express more sophisticated constraints in a more readable
manner.
Gili
Received on Thursday, 21 November 2013 19:55:32 UTC