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

Roman Shpount <> Fri, 19 July 2013 17:37 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id D95B021E80C7 for <>; Fri, 19 Jul 2013 10:37:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.882
X-Spam-Status: No, score=-2.882 tagged_above=-999 required=5 tests=[AWL=0.094, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_LOW=-1]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id WHYm0Ej8Aw-2 for <>; Fri, 19 Jul 2013 10:37:41 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 5E0A021E8108 for <>; Fri, 19 Jul 2013 10:37:36 -0700 (PDT)
Received: by with SMTP id t59so4325699wes.34 for <>; Fri, 19 Jul 2013 10:37:35 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:x-gm-message-state; bh=y6HFwPjrd2JYT8Lx5dTu+sebBuwzjJ5+ior62uPE2pY=; b=nBXCA54ZCB7u6xy8/qj7UMlZtRUGJRyCJP8ApBZNYMiSsV9Hy8loPB7RaZLttmQv/g hV6ZwTFWsWaftunSr3b7ZnUBp5GNJfqQpuusMskv6dDEtr344LBGLWm9d1NhdtRj01gP cN8BZBE59s47+KTFGEQYpUb3+fjQCdTWpgoXzdR6Ehy0ZTl+J0p06Nxw6k0KpKtRyKrJ 6HTYaBZhX+MmxF66MTV3RSHsjeadeGDgoD5FByJfvmB9j12O35UvIGgc8N01gfsnEGei QC2tH4NXEb6imRFDPiffA6hR2enAqtxVM3ktb6RHhwdc+culFIO5CSdWxnbR3qVoJM0f 0N1A==
X-Received: by with SMTP id s3mr13092913wjy.82.1374255455516; Fri, 19 Jul 2013 10:37:35 -0700 (PDT)
Received: from ( [2a00:1450:400c:c00::230]) by with ESMTPSA id b20sm24460029wiw.4.2013. for <> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Fri, 19 Jul 2013 10:37:34 -0700 (PDT)
Received: by with SMTP id f11so4234535wgh.27 for <>; Fri, 19 Jul 2013 10:37:34 -0700 (PDT)
MIME-Version: 1.0
X-Received: by with SMTP id bi7mr12898105wjc.2.1374255454006; Fri, 19 Jul 2013 10:37:34 -0700 (PDT)
Received: by with HTTP; Fri, 19 Jul 2013 10:37:33 -0700 (PDT)
In-Reply-To: <>
References: <> <> <> <> <> <> <> <> <BLU401-EAS386F88B3FE140492B39B59693610@phx.gbl> <> <> <> <> <> <> <>
Date: Fri, 19 Jul 2013 13:37:33 -0400
Message-ID: <>
From: Roman Shpount <>
To: Adam Roach <>
Content-Type: multipart/alternative; boundary="089e0112cf9a2ad3f304e1e0c8ce"
X-Gm-Message-State: ALoCoQlPbxa0Sc3mmGRbZXDT6yj8oBnGPvI7fKFyV5MuiMhFlXjSy9EIY+UKYKwyKQj91MuHEw2J
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:37:47 -0000

On Fri, Jul 19, 2013 at 1:25 PM, Adam Roach <> wrote:

>  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
> version.
> 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.

You cannot be more wrong. Each application deals with predictable set of
scenarios (ones it produces) and interfaces with predictable set of non
webrtc devices. These external devices are under control of the application
developer. Application developer is responsible for interop with these
devices. What is needed is predictable media and signaling generated by
webrtc devices running the same application. With negotiation and SDP
backed into the webrtc device it is very hard to achieve. So, for me as
webrtc developer let me develop a negotiation scheme that works for me and
make sure it stay working regardless of the browser type or version. Right
now controlling webrtc application feels like driving the boat down the
river by tickling the captain.
Roman Shpount