Re: [rtcweb] On babies and bathwater (was Re: Summary of Application Developers' opinions of the current WebRTC API and SDP as a control surface)

Adam Roach <> Fri, 19 July 2013 17:25 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 4C29911E8174 for <>; Fri, 19 Jul 2013 10:25:22 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -102.527
X-Spam-Status: No, score=-102.527 tagged_above=-999 required=5 tests=[AWL=0.072, BAYES_00=-2.599, HTML_MESSAGE=0.001, SPF_PASS=-0.001, USER_IN_WHITELIST=-100]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id Och8k-CRL2+c for <>; Fri, 19 Jul 2013 10:25:21 -0700 (PDT)
Received: from ( [IPv6:2001:470:1f03:267::2]) by (Postfix) with ESMTP id 09F2F11E8147 for <>; Fri, 19 Jul 2013 10:25:20 -0700 (PDT)
Received: from Orochi.local ( []) (authenticated bits=0) by (8.14.3/8.14.3) with ESMTP id r6JHPG1T074495 (version=TLSv1/SSLv3 cipher=DHE-RSA-CAMELLIA256-SHA bits=256 verify=NO); Fri, 19 Jul 2013 12:25:18 -0500 (CDT) (envelope-from
Message-ID: <>
Date: Fri, 19 Jul 2013 12:25:11 -0500
From: Adam Roach <>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/20130620 Thunderbird/17.0.7
MIME-Version: 1.0
To: Ted Hardie <>
References: <> <> <> <> <> <> <> <> <BLU401-EAS386F88B3FE140492B39B59693610@phx.gbl> <> <> <> <> <> <>
In-Reply-To: <>
Content-Type: multipart/alternative; boundary="------------090605080100040702020800"
Received-SPF: pass ( is authenticated by a trusted mechanism)
Cc: "<>" <>, "" <>
Subject: Re: [rtcweb] On babies and bathwater (was Re: Summary of Application Developers' opinions of the current WebRTC API and SDP as a control surface)
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Fri, 19 Jul 2013 17:25:22 -0000

On 7/19/13 12:07, Ted Hardie wrote:
> On Fri, Jul 19, 2013 at 9:54 AM, Martin Thomson 
> < <>> wrote:
>     Negotiation is a hole.  A vast, soul-sucking, waste of time.
> Even if you have the same javascript application downloaded, you will 
> have disparate capabilities in the environments into which it is 
> downloaded (browser/os/codecs/media sources/available network 
> capacity).  Getting set intersection and preference order for those 
> capabilities is something that applications actually want. You may be 
> able to move the pain of that around, but it isn't a waste of time.

I can't +1 this hard enough. I certainly don't want every javascript 
application that makes use of the WebRTC API to independently discover 
that mobile terminal Foocom A1 runnning MobileOS 3.1.7(a) bogs down to 
unusable if you try to send it more than 320x200 video, and then try to 
solve that problem.

Again and again, for every permutation of phone and operating system 

Yeah, someone has to do this kind of characterization, and some of it 
can be done real-time if you're interacting directly with the operating 
system. So... maybe we could add yet another API to WebRTC to allow 
applications to build this functionality themselves rather than counting 
on them characterizing the systems they care about and blowing up on the 
ones they don't.

But, honestly, any course of action that relegates this to the 
applications seems to have the dual properties of forcing it to be 
implemented hundreds of thousands of times while making the actual user 
experience worse.