Re: [rtcweb] Summary of Application Developers' opinions of the current WebRTC API and SDP as a control surface

On 18/07/2013 8:46 PM, Silvia Pfeiffer wrote:
> This captures exactly the kind of questions and concerns I had. Excellent work!
>
> However, I don't fully agree with the conclusion of the slide deck.
> I'd prefer we extended the constraints and other browser APIs that set
> the SDP parameters rather than (or: in preference to) fully specifying
> what SDP the browser has to support. I do like the ability to get the
> low-level access to mangle the SDP as a means of experimenting with
> new functionality or as a means to try and connect to devices that
> don't have a WebRTC API. But I see the full definition of the SDP
> parameters that browsers have to support as less important and
> potentially just a by product of creating the higher level APIs.

     As much as I'm also focused on high-level APIs, I'm going to have 
to agree with Matthew here. No matter what we do, the signaling layer 
must be fully specified.

     A high-level API allows us to change the signaling protocol without 
breaking existing applications, but you still need to fully specify the 
signaling protocol else vendors/integrations cannot ensure compatibility 
between different implementations.

     I think we really need to differentiate between use-cases and 
implementation details. You said "I do like [...] to mangle the SDP as a 
means of experimenting with new functionality". The use-case is: "I want 
to be able to access experimental functionality" not "I need to be able 
to mangle SDP". I hope you appreciate the difference :)

> What does it take for us to get focused on defining such an API that
> is independent of SDP for the JS developer, and for now requires
> browsers to do the mapping to SDP for them? Is the extension of the
> constraints that a JS dev can manipulate enough for this?

     Short answer: yes.

     Long answer: if we're going to go with an Object API I recommend 
going a lot further than the current Constraint API. Populating a 
key-value map is not an API in my book; it's also the reason I think SDP 
is a poor match for end-users. We can (and should) do a lot better by 
exposing an imperative API.

Gili

Received on Friday, 19 July 2013 02:04:28 UTC