Re: API design

On 6/28/2013 8:00 PM, Roman Shpount wrote:
> On Fri, Jun 28, 2013 at 7:49 PM, Adam Roach <adam@nostrum.com 
> <mailto:adam@nostrum.com>> wrote:
>
>     On 6/28/13 18:28, Roman Shpount wrote:
>
>         Looking at the amount of code reuse I am not sure we can count
>         Chrome and Firefox as two implementations. Maybe one and a half.
>
>
>     You're very confused on this point.
>
>     The code we share in common is pretty much limited to the media
>     processing (e.g. codecs), which isn't really the subject of the
>     standardization that is currently underway.
>
>     Firefox's implementation of the two major specs -- PeerConnection
>     and getUserMedia -- is completely independent of Chrome's, as is
>     our network transport (e.g., ICE and DTLS).
>
>
> I am aware of the code differences and the fact that Mozilla is not 
> using libjingle. This statement was intended as a bit of a joke but it 
> does point at an important issue -- weather these two implementation 
> can be considered truly independent. My question is if PeerConnection 
> was implemented in both browsers based on spec or based on looking at 
> each other's source code. I think the original point was that provider 
> API specification is only valid if you have three independent 
> implementations that work with each other. Building two implementation 
> by looking at each other's source code does not count for me as two 
> independent implementations.

We did not implement the JS (or network) APIs by looking at each other's 
implementation, as can be witnessed by the number of disagreements we've 
had to paper over until the spec is more stable (and we agree on what it 
means).  See the polyfill layer in apprtc as an example; if we were 
cribbing off each other to the degree you imply, we'd never have 
something like that.

We do test against each other (now that we can).  But we're very much 
implementing to the spec (or what each of us believes the spec is/will-be).

-- 
Randell Jesup
randell-ietf@jesup.org

Received on Monday, 1 July 2013 04:47:43 UTC