- From: Jan-Ivar Bruaroey <jib@mozilla.com>
- Date: Fri, 06 Dec 2013 14:40:46 -0500
- To: cowwoc <cowwoc@bbs.darktech.org>, public-media-capture@w3.org
- Message-ID: <52A2283E.20309@mozilla.com>
On 12/6/13 11:56 AM, cowwoc wrote: > On 06/12/2013 2:59 AM, Jan-Ivar Bruaroey wrote: >> >> The only reason I can see to pick it would be to keep what I call the >> footgun, the default behavior where webdevs who don't think about the >> complicated unknown case, make apps that (perhaps inadvertently) >> block everyone indiscriminately, including both legitimate and >> illegitimate users, until a browser is upgraded with a new >> constraint. Since the webdev can flip the default and the user >> cannot, I think we should default to the way that doesn't block the >> user. I already have evidence that webdevs aren't thinking ahead when >> they use mandatory. >> > > I almost understand this point, but not quite yet. Can you please give > a concrete example/scenario of this taking place? I already included https://bugzilla.mozilla.org/show_bug.cgi?id=927358 which shows the footgun. The introduction of getGumKnownConstraints() will not cure this syndrome, since the footgun is what happens by default for people who do NOT bother or know the right procedure of calling getGumKnownConstraints() to handle unknowns properly. The lesson is that people don't think twice about using mandatory, probably because constraints are too complicated. They test until it works, and expect browsers to "do the right thing" from there. You and I disagree about what "the right thing" is for unknowns. I argue the current default, while logically sound, is too harsh, and un-webAPI-like. I further argue that only webdevs like you who care about unknowns, will call getKnownConstraints(), and even then probably only if you have a strong incentive to (you dislike the default). Defaults for dummies. Since you asked, let me try to imagine another example: * Someone adds an "auto-night-detection" constraint to IANA (or wherever), and Chrome Canary implements it. * Sometime later (I'm not saying when) someone adds { mandatory: { auto-night-detection: true } } to their existing app (I'm not talking about people who add optional). Question 1: when is this ok to do? * Now their app stops working on anything but Chrome Canary. How is this useful? * Say for argument's sake that 50% of web-cams out there already have auto-night-detection built in as an inherent property that doesn't even need to be turned on. * Now the UA is blocking 49% of legitimate users at nighttime, and everyone during daytime (user can't tell the difference). I don't want the UA to do that. You, the app can do that. As I've stated before, this only applies to inherent properties, since the minute you try to control a camera, you learn from getCapabilities() if it's not supported. .: Jan-Ivar :.
Received on Friday, 6 December 2013 19:41:15 UTC