- From: Stefan Håkansson LK <stefan.lk.hakansson@ericsson.com>
- Date: Tue, 19 Nov 2013 18:04:07 +0000
- To: Jan-Ivar Bruaroey <jib@mozilla.com>, Harald Alvestrand <harald@alvestrand.no>, "public-media-capture@w3.org" <public-media-capture@w3.org>
On 19/11/13 16:56, Jan-Ivar Bruaroey wrote: > On 11/19/13 4:29 AM, Stefan Håkansson LK wrote: >> On 18/11/13 21:57, Harald Alvestrand wrote: >>> But I think I'll stop posting on this subject. Let's hear from >>> others. >> Well, as you asked for it: >> >> On the topic of gUM failing or not on unknown mandatory >> constraints >> =================================================================== >> >> I come to the same conclusion as Harald. If we take the example of >> "zoom" (which seems the one just outside mandatory-to-support >> according to slide 24 in >> http://www.w3.org/wiki/images/f/fd/Constraints20130406.pdf): Assume >> my app for some reason must be able to control zoom (so it puts it >> as a mandatory constraint for gUM). If the browser doesn't >> understand "zoom", I am not helped by a success CB because the >> browser can't control the zoom - and that was a mandatory >> requirement for me. >> >> On getSupportedConstraints ========================== This is a >> really good proposal I think, we should introduce (something like) >> this. > > Problem followed by remedy. > > Your example uses gUM constraints to infer whether a browser supports > zoom, just like Harald's did for thermal. That's exactly what > getSupportedConstraints() solves. I hope you agree you should call > that to learn what the browser supports and doesn't support. It is a > much simpler question to answer that doesn't need to involve gUM or > the risk of arousing a user permission prompt at all. Yes, I agree, and we should introduce getSupportedConstraints() IMO. > > As Adam pointed out, we should not assume that every constraint will > be useless without browser support. "zoomOnFaces" would presumably > not require browser support. But if we want the app to be able to control (turn "zoomOnFaces" on or off), surely it would need browser support? > > No matter how many turn out to be of one kind or the other, asking > directly is a better API anyway because now the app has better > information, and we can discuss fixing things so people can use > mandatory constraints for new constraints much sooner than they > otherwise would without risk of blocking legitimate sources in the > cases where we're not certain the app wishes shutoff in the unknown > case. Let the programmer turn it off explicitly, then people can yell > at the programmer. > > We've seen many examples of invariants, and not so many on false > negatives, so let me offer one: > > Our gUM constraint skeleton is riding the Firefox Aurora train right > now, but with almost no constraints implemented (facingMode being the > lone one). Pause and think about that. > > As a result, anyone using mandatory for ANYTHING is going to be > extremely sad, because their app will stop working on Firefox. We > know the group of programmers affected is not zero, because we are > already hearing from them: > https://bugzilla.mozilla.org/show_bug.cgi?id=927358 > > Sure you can pick at this example, and say the programmer thought > these were MTI, but A) that hasn't been clear until extremely > recently, and B) I might equally argue these programmers thought they > could describe their needs in relation to cameras, without having to > consider that the old-browser case would produce complaints from > valid users. > > Even if you disagree about blame in this example, you cannot refute > that this is exactly how it will go down in the future when something > works in one browser and not another. > > When I program something in JS, here's how I, nay I claim everyone, > thinks: > > Does it work in Firefox or Chrome? Yes = Blame that browser, not my > app. This may well be true. But the whole question revolves around the term "mandatory". It has been said over and over that "mandatory" should _only_ be used if the app developer prefers to not offer the service over not being able to fulfill this requirement. So I am sort of lost on the reasoning saying you should back off - if you're willing to back off from a mandatory constraint it should have been optional in the first place. Or am I missing something? If it is not really possible to get app developers to agree, and they will insist using mandatory constraints for things that are optional, then we have a problem, I would agree to that. > > I agree that ensuring a nice UX is great if you can avoid breaking > people. > >> Would it make sense to go with only optional constraints for the >> first version? > > See, now how is that preferable to what I'm proposing? > > .: Jan-Ivar :. > >
Received on Tuesday, 19 November 2013 18:04:32 UTC