- From: Justin Uberti <juberti@google.com>
- Date: Tue, 25 Mar 2014 17:02:38 -0700
- To: cowwoc <cowwoc@bbs.darktech.org>
- Cc: "public-media-capture@w3.org" <public-media-capture@w3.org>
- Message-ID: <CAOJ7v-3RV4vUnWvsGE+Go1W1cUsuj8BQW_yWXnuw1G49M_TXhA@mail.gmail.com>
I am now of this opinion as well. But if we're not going to be able to get there, I prefer "Constraints 2014" as a slimmed-down version of constraints that can be implemented more readily. However, I am opposed to the C2014 pattern of dumping both audio and video qualifiers into a single bag of options. sourceId already points out the danger in doing so; I think we should avoid future trouble and scope qualifiers to a media type, e.g. var constraints = { video: { require: ["width", "height"], width: { min: 640, max: 1280 }, height: { min: 480, max: 768 }, aspectRatio: 16/9, frameRate: 60, } }; On Mon, Mar 24, 2014 at 8:41 AM, cowwoc <cowwoc@bbs.darktech.org> wrote: > +1 > > For what it's worth, I agree with Martin that developers should be able to > enumerate device capabilities instead of jumping through all these silly > hoops. This will result in a much cleaner API. > > Gili > > > On 23/03/2014 8:27 PM, Martin Thomson wrote: > >> (No argument with the rest of it. However...) >> >> On 23 March 2014 14:52, Jim Barnett <1jhbarnett@gmail.com> wrote: >> >>> The lengthiest dispute/discussion was over whether the application >>> should be >>> notified which mandatory constraints failed. Some people felt this made >>> fingerprinting too easy, others felt that information was important for >>> intelligent applications. The latter group has prevailed. >>> >> I have no idea about what is the prevailing attitude here. However, I >> will observe that if we permit the use of immediate errors that >> include information on what mandatory constraints could not be met, >> then the difference between that and a complete enumeration of device >> capabilities is effectively nil [1]. >> >> If we do provide an error indication like this, then I will - again - >> repeat that we should instead be enumerating device capabilities >> completely. That enumeration should expose capabilities as affected >> by other users of the system. (For the fingerprinting averse, this >> means that you get to learn about some combination of the system, and >> the other users of the system, probably both over time.) >> >> [1] If you are clever, you can almost protect a single capability by >> ordering enforcement, forcing the app to risk asking the user to probe >> its state, though that's also trivial to avoid. For instance, if you >> a protecting resolution by enforcing its constrain last, the app can >> ask for something implausibly large. This allows it to safely probe >> all other capabilities. Then, if the app is willing to take the >> chance that the browser asks the user, it can reduce resolution one >> pixel at a time until the user prompt appears, thus revealing >> resolution capabilities precisely. Protecting an unordered capability >> with many states could reduce the chance that the app successfully >> probes its state without triggering a user prompt. >> >> > >
Received on Wednesday, 26 March 2014 00:03:25 UTC