15:02:01 RRSAgent has joined #mediacap 15:02:01 logging to http://www.w3.org/2014/05/21-mediacap-irc 15:02:03 RRSAgent, make logs public 15:02:03 Zakim has joined #mediacap 15:02:05 Zakim, this will be MCAP 15:02:05 I do not see a conference matching that name scheduled within the next hour, trackbot 15:02:06 Meeting: Media Capture Task Force Teleconference 15:02:06 Date: 21 May 2014 15:02:12 stefanh has joined #mediacap 15:02:13 gmandyam has joined #mediacap 15:02:19 Dini has joined #Mediacap 15:02:22 s/Teleconference/F2F 15:02:25 adambe has joined #mediacap 15:02:27 Chair: hta, stefanh 15:02:36 burn has joined #mediacap 15:02:38 fluffy has joined #mediacap 15:02:42 The same recording session and hangout as rtcweb will be used 15:02:49 scribe: dom 15:02:51 scribenick: dom 15:03:44 Topic: constraints (bis repetita placent) 15:03:49 -> https://www.w3.org/wiki/images/7/78/Possible_Constraint_Syntax_Compromise.pdf Peter's slides 15:04:27 Agenda: https://www.w3.org/wiki/May_19_2014 15:05:11 HTA: Peter will present a new compromise proposal on everyone's favorite topic, constraints 15:05:57 Peter: this is about the constraints syntax 15:06:04 ... we were stuck on Monday on some disagreement 15:06:22 ... so got to talk to a lot of people to under the real issue 15:06:40 ... which turned out to be the list of required properties at the top of the constraints object 15:06:47 ... so tried to look into how to get rid of it 15:06:56 ... first, looking at why we have it in the first place 15:07:14 ... which ties to WebIDL requirements combined with the "must fail on unknown mandatory constraints" 15:07:38 ... 3 options: toss WebIDL, hack around it (current), use JS to check what's supported 15:07:54 ... [showing before / after example illustrating new proposal] 15:08:43 ... pros: prettier, no fiddling around required but unspecified constraint 15:08:51 q+ 15:09:08 ... cons: JS developers might be surprise of not getting failure on stuff marked as "required: true" if they didn't check the constraint is recognized 15:09:25 ... all the people I've asked were happy with this proposal 15:09:33 ... would like to see if we have broader consensus of the TF 15:10:00 gmandyam: looking at the after example 15:10:10 ... {video:true} would still be possible? 15:10:11 Ted_ has joined #mediacap 15:10:16 JimB: yes 15:10:28 burn: correct 15:10:42 ... this is looking only at how this differs from the current draft 15:11:53 dom: why a static method rather than a static property for supported constraints? 15:12:02 q- 15:12:05 peter: you can't have a dictionary as an object property 15:12:14 dom: oh right. Good work, thanks! 15:12:21 JIB: I support this proposal 15:12:36 ... JS developers get more info this way than they had before, so they have more choice 15:12:56 martin: getSupportedConstraints — why is that dictionary? 15:13:29 peter: it's simpler to check a dictionary, and makes it easier to extend 15:14:14 martin: you could use an interface to avoid that issue 15:14:32 ... Another question is how do you distinguish constraints linked to audio and video? 15:15:38 Cullen: this is about what the browser understands (and thus can fail on it), not what the browser will successfully negotiate 15:16:01 q+ 15:16:11 richt has joined #mediacap 15:16:51 q? 15:17:06 hta: kind of orthogonal to this — MST.getSupportedConstraints reminds me of a discussion on a navigator.managedDevices — should we move it there. 15:17:21 gmandyam: having it on MST, does it mean you need to have an MST to get access to this? 15:17:23 Many: no 15:17:43 HTA: the name exists independently of instances 15:17:58 q- 15:18:06 juberti: I would prefer avoid static method as well; a hook on a devicemanager would be better 15:19:08 cullen: this solves the issue I had with the earlier proposal. Thank you 15:19:31 hta: let's see if we have rough consensus in the room 15:19:54 Note from my end: it looks like getSupportedConstraints() is part of the MST prototype. That was not clearly expressed as part of the proposal. 15:20:03 ... alternatives I'm suggesting: 1. peter (or someone) comes up with a carefully written up change proposal; 2. let's not do this change 15:20:18 hta: we have consensus on alternative 1 15:20:22 ... in the room 15:20:39 stefanh: when can we have a proposal? 15:21:01 peter: in a couple of weeks? 15:21:05 hta: June 7 then 15:21:51 gmandyam: I suggest we remove the existing text with its advanced stuff 15:22:02 hta: we haven't discussed (let alone agreed) such a change 15:22:30 ... advanced is the equivalent of what we have had as "optional" before 15:23:26 gmandyam: if we want to document baseline consensus in the spec, "advanced" shouldn't be in there 15:23:55 cullen: we could have a consensus call on "current + getSupportedConstraints + ideal" 15:24:38 peter: have additional proposals 15:24:51 ... we could make "required: true" the default 15:25:15 ... to avoid the "do what I said" flag 15:25:28 ... and as I'll show this plays nicely with "ideal" 15:26:06 ... if we have "required" the default, then adding "ideal" to mark something as optional (in addition to using "advanced") 15:26:32 ... this leads to the notion of defining "ideal" in terms of "advanced" 15:27:08 JonathanLennox has joined #mediacap 15:27:33 ... this forms a consistent additional proposal that we could discuss as a direction 15:28:54 martin: I wonder if "ideal" could be the default instead of "required" 15:29:08 ... where "width:640" would be "width:{ideal:640}" 15:31:39 peter: the idea of making "required" the default is that this reduces the surprise for developers 15:31:52 adambe: I'm with martin on this — we should make "strictness" harder to get to 15:32:17 juberti: likewise; failures should be the exception 15:32:41 ... would still want to be able to set "ideal" in addition to "min" / "max" 15:33:09 martin: looking at the "do what I said flag" example 15:33:25 ... if you don't get 640x480 when asking for it, the browser had good reasons not to 15:34:07 ... I think "required" should default to true, but the bare number should be "ideal" 15:34:31 peter: how does it apply to enum values? 15:34:48 cullen: the same 15:34:53 martin: doesn't work 15:35:19 ... a possible way would be have e.g. "required":"front" 15:35:52 JimB: in enumerated cases, there are cases where you would want a range of required acceptable values, with one preferred 15:36:23 hta: we're now in design mode, I don't like that 15:36:41 ... a year ago or so, we discussed making required harder to use 15:36:48 ... and making it the default doesn't do this 15:36:54 ... I'm sceptical 15:37:07 ... it's attractive that min and max are hard limits 15:37:12 ... and the simple way is "ideal" 15:37:39 ... but this starts to be complicated; let's make simple things simple, harder things possible 15:38:03 ... this is confusing me, so it will be even more confusing to others 15:38:19 ... failing because e.g. one of the dimension is not what you exactly asked for seems wrong 15:38:29 ... we should take a soft approach by default 15:38:49 peter: martin's proposal would solve this 15:39:04 adamr: I agree that we don't want hard limits to be surprising 15:39:26 ... I wonder if having "exact" would usefully replace "required" 15:40:02 ... with the value the developer actually wants 15:40:11 JIB: originally I was also against falling by default 15:40:21 ... we have removed a major footgun though 15:40:39 ... and the simplification of syntax is beneficial 15:40:52 ... I'm not sold on the meaning of the bare value as "ideal" 15:41:27 peter: 2 different topics: getting rid of "required:true", and the meaning of the bare number 15:41:47 cullen: we should not forget about the strings in our designs 15:41:54 ... AdamR's "exact" sounds good for that 15:41:57 burn: +1 15:42:17 ... at this point, it's worth sending another proposal with s/value/exact/ and with bare numbers meaning "ideal" 15:42:28 ... we seem to be getting close to consensus 15:42:48 martin: requiring wrapping within an object for anything that is strict seems the right thing to do 15:42:56 ... while keeping the "ideal" label 15:43:06 ... let's do that 15:43:19 ... it's urgent 15:43:56 burn: I think we're managing to get through some of the hard ramifications (hopefully) 15:44:08 ... we haven't looked at the exact semantics of "ideal" 15:44:41 cullen: if we can have a written up proposal of this discussion for rough consensus estimate after lunch, would be great 15:45:09 hta: so Peter has agreed to do so 15:45:30 Hta: giri raised an issue about "advanced", suggesting its removal 15:45:52 ... its basic purpose is to tell the browsers what is the most important 15:46:21 martin: there are cases where you have co-dependent variables and you need a way to specify a fallback path for alternatives 15:46:42 q+ 15:46:52 JimB: advanced ties variables, and defines a backoff strategy 15:47:05 ... it is intended for high-end entreprise software where developers want a great deal of control 15:48:13 gmandyam: I read through the spec, one of its annoying aspects is that in absence of required constraints, the algorithm doesn't impose anything to the browser 15:48:24 cullen: I and the other editors don't believe this is true 15:48:50 JimB: if the browser can satisfy a rule, it must; if it can't, it won't fail 15:49:02 gmandyam: I think this introduces a lot of complexity without clear use cases 15:49:11 JimB: we have just reiterated the use cases 15:49:46 stefanh: we have had this functionality in the spec for ever as "optional" 15:50:28 gmandyam: I think I don't like the algorithm; I'm waiting for feedback to my email on what I don't like 15:50:52 hta: verifying the consensus of the group: 2 options 15:51:06 ... raise your hand if you're happy with leaving "advanced in" roughly as is 15:51:17 ... raise your hand if you're not happy 15:52:31 s/happy/OK 15:52:31 s/happy/OK 15:52:33 happy with leaving it in 15:52:47 ... rough consensus to leave it in 15:53:47 [adjourning MediaCap] 15:53:51 RRSAgent, draft minutes 15:53:51 I have made the request to generate http://www.w3.org/2014/05/21-mediacap-minutes.html dom 15:56:05 Ted_ has left #mediacap 16:02:43 jib has joined #mediacap 16:32:06 richt has joined #mediacap 16:52:12 hta has joined #mediacap 16:52:29 everyone please move over to #webrtc - that's where the next session will be scribed 17:01:06 jib has joined #mediacap 17:03:26 [unadjourning mediacap for a little bit] 17:03:48 Topic: update to constraint syntax promise 17:03:59 Peter: we heard that "required: true" be removed 17:04:07 ... "min", "max", "exact" are required 17:04:11 lgombos has joined #mediacap 17:04:12 ... "ideal" implied by bare number 17:04:31 ... "ideal" means not required 17:04:50 ... as proposed changes beyond baseline consensus 17:05:00 Travis has joined #mediacap 17:05:02 ... [before/after example] 17:06:16 ekr: how do I say that something is required? 17:06:44 peter: "exact" for enumerated values 17:06:50 ekr: I can't have min/max as optional stuff? 17:06:57 martin: you'd have to use advanced 17:07:29 ekr: so min/max/exact are now hard requirements? 17:07:41 ... this seems pretty baffling 17:08:23 JimB: when does "ideal" apply vs "advanced", "required"? 17:08:30 peter: as in the current algorithm 17:09:14 ekr: "exact" for a floating number hurts me 17:09:21 juberti: likewise; we can find a better name 17:09:37 jib: so for numerical values, min=max is equivalent to setting exact? 17:10:30 jubert: notions of "framerate" and "exact" aren't really logically compatible 17:11:03 ekr: the difference between ranges and enumerated values and their implication between hard and soft requirements are a recipe for disaster 17:11:52 cullen: is it that you don't want to use bare numbers? 17:12:34 ekr: I don't want different semantics for ranges and @@@ 17:13:32 ... mixing soft/hard values is bad 17:13:55 ... I want things to be clearly labeld as soft or hard req 17:14:28 s/labeld/labeld/ 17:14:58 jib: I agree with ekr that the mix is a bit confusing 17:15:15 ... if we had the default to be required, then ideal would be the marker for soft 17:15:41 ekr: I want things to be clearly marked as hard/soft 17:15:45 burn: when it's in a structure, it's hard 17:15:49 ... when it's not, it's soft 17:15:54 ... with the only exception of "ideal" 17:16:10 MaryB has joined #mediacap 17:16:55 Cow_woC has joined #mediacap 17:16:57 Hi 17:17:10 jubert: naked values are shorthand for ideal=x 17:17:22 ... everything is mandatory, except obviously for ideal 17:17:29 Who is currently speaking? 17:17:36 Is it Martin? 17:17:40 ekr is speaking 17:18:00 ekr = Eric? 17:18:03 ekr: aspect ratio has to be expressible as two values 17:18:16 ekr = Eric Rescorla (Mozilla) 17:18:22 Got it. Thanks. 17:18:50 ekr: how do you add a structured value in this model? this is what you would need for aspect ratio 17:18:55 dom: For future reference, https://www.w3.org/wiki/May_19_2014 should mention the channel name. I went to #webrtc by mistake. 17:19:24 jib: the point is this model will only work for bare numbers 17:19:34 q+ 17:19:53 cullen: on any on these examples, you can change numbers with a structure 17:20:03 ... this is orthogonal to the problem at hand 17:20:40 ... removing the short form doesn't seem an improvement to me 17:20:58 gmandyam: I'm ok with this structure interpreting min/max as required 17:21:26 ... the current spec has 3 examples; I would suggest expanding these to clearly explain the model 17:21:48 MaryB: Is it possible to q+ from IRC and speak over Hangout and have them hear me remotely? 17:21:56 stefanh: I'm also OK with it; we can consider removing the shorthand if it creates too confusion 17:21:57 q- 17:22:01 Lagerway has joined #mediacap 17:22:07 Lagerway: welcome 17:22:44 @@@: if we move something to "advanced"; what is the impact? 17:22:45 burn_ has joined #mediacap 17:22:45 peter: nothing in "advanced" is ever required 17:23:08 @@@: how would this work "unknown" facing mode? 17:23:19 peter: however it works in the current model 17:23:42 cullen: I don't know if we have something for that 17:24:01 q+ 17:24:23 ekr: this is repulsive, but I don't care 17:24:38 FYI, Cow_woC is "Gili" 17:25:08 Cow_woC: I have 2 concerns with the current proposal 17:25:20 ... it requires us to learn a whole new language just for the sake of getting it to work 17:25:27 ... just using a JavaScript APi would be simpler 17:25:40 ... unknown constraints will be ignored by the browser and will fire the success callback 17:26:17 hta: for unknown constraints, you can check via the previously-agreed method to get the list of known constraints 17:26:43 Gili: ok; still, I don't find the syntax very intuitive, and I don't see the benefits of using that syntax 17:26:50 q- 17:26:59 hta: we have an existing consensus on using constraints as the mechanism 17:27:06 ... we're not revisiting this 17:27:58 hta: let's try to see if there is rough consensus to switch to what has been presented 17:28:04 jib has joined #mediacap 17:28:44 hand up 17:28:47 ... [everybody raise their hands in support] 17:28:58 My hand went up against the new proposal. 17:29:03 (not for) 17:29:10 err no, not speaker queue, was in favor of last vote 17:29:15 hand down 17:29:33 [Gili expresses his rejection of this proposal] 17:29:40 dom: thanks 17:29:49 Gili - yesterday if I'm remembering properly. 17:29:50 [MediaCap TF ajourned for real we swear this time] 17:30:02 RRSAgent, draft minutes 17:30:02 I have made the request to generate http://www.w3.org/2014/05/21-mediacap-minutes.html dom 17:30:10 Lagerway has left #mediacap 17:34:52 lgombos has joined #mediacap 18:05:04 richt has joined #mediacap 18:34:21 Dini has left #mediacap 18:49:46 richt has joined #mediacap 18:58:56 JonathanLennox has left #mediacap 19:42:22 Zakim has left #mediacap 21:35:34 richt has joined #mediacap 21:40:22 richt_ has joined #mediacap 22:25:44 richt has joined #mediacap 22:30:18 jib has joined #mediacap 22:34:43 richt has joined #mediacap 22:35:15 richt has joined #mediacap 22:56:42 jib has joined #mediacap 23:02:38 jib_ has joined #mediacap 23:35:57 richt has joined #mediacap 23:48:56 jib has joined #mediacap 23:57:34 lgombos has joined #mediacap