Re: [rtcweb] RTCWeb default signaling protocol [was RE: About defining a signaling protocol for WebRTC (or not)]

Matthew Kaufman <matthew.kaufman@skype.net> Wed, 05 October 2011 04:28 UTC

Return-Path: <matthew.kaufman@skype.net>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id D21DC21F8BBC for <rtcweb@ietfa.amsl.com>; Tue, 4 Oct 2011 21:28:48 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.814
X-Spam-Level:
X-Spam-Status: No, score=-5.814 tagged_above=-999 required=5 tests=[AWL=0.785, BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id gOumXavkuaNS for <rtcweb@ietfa.amsl.com>; Tue, 4 Oct 2011 21:28:48 -0700 (PDT)
Received: from mx.skype.net (mx.skype.net [78.141.177.88]) by ietfa.amsl.com (Postfix) with ESMTP id D01E821F8BB0 for <rtcweb@ietf.org>; Tue, 4 Oct 2011 21:28:47 -0700 (PDT)
Received: from mx.skype.net (localhost [127.0.0.1]) by mx.skype.net (Postfix) with ESMTP id 62A5216F6; Wed, 5 Oct 2011 06:31:53 +0200 (CEST)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=skype.net; h=message-id :date:from:mime-version:to:cc:subject:references:in-reply-to :content-type:content-transfer-encoding; s=mx; bh=/ci6zo/XW6qV4W LIrhMrvrp3tEs=; b=GiXuFggNkMwAA7FdrGTwV3L1pVtdbWY09s8P5raMdz/Kb2 w/QtgBBfZHk9MXE8txBQT+LwweKCsM6fqplD2bQPZ9QDLIUKjmH2n0qAaBYdSzK1 GhSOdrzVHw7r8xZcp2gkOTHFdUnXQTiK180im4yDzPWNn38+2jCRVjwwBmTao=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=skype.net; h=message-id:date:from :mime-version:to:cc:subject:references:in-reply-to:content-type: content-transfer-encoding; q=dns; s=mx; b=XGfVk0THgilqcGrmd7td+x GBSU32VdUgkbnBS2jSyDFg5rLQ5OkLcqDiT1M1iAU5iLi7J7sgJ49JiJN3zYZEVq f/Kr3yVDn9mFA2fiUBeymR5lkkggC9NlHe33lhW3rZVdQNUKiWhofWdAIpdIqm75 qP6ITys+1AemYpbUYSDBQ=
Received: from zimbra.skype.net (zimbra.skype.net [78.141.177.82]) by mx.skype.net (Postfix) with ESMTP id 60E9B7FC; Wed, 5 Oct 2011 06:31:53 +0200 (CEST)
Received: from localhost (localhost [127.0.0.1]) by zimbra.skype.net (Postfix) with ESMTP id 3A926350735C; Wed, 5 Oct 2011 06:31:53 +0200 (CEST)
X-Virus-Scanned: amavisd-new at lu2-zimbra.skype.net
Received: from zimbra.skype.net ([127.0.0.1]) by localhost (zimbra.skype.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QhSaoAM74-9m; Wed, 5 Oct 2011 06:31:51 +0200 (CEST)
Received: from [10.10.155.2] (unknown [198.202.199.254]) by zimbra.skype.net (Postfix) with ESMTPSA id 7239A3506EF4; Wed, 5 Oct 2011 06:31:51 +0200 (CEST)
Message-ID: <4E8BDD6D.5030706@skype.net>
Date: Tue, 04 Oct 2011 21:30:37 -0700
From: Matthew Kaufman <matthew.kaufman@skype.net>
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:7.0.1) Gecko/20110929 Thunderbird/7.0.1
MIME-Version: 1.0
To: Randell Jesup <randell-ietf@jesup.org>
References: <CALiegfnOCxyTo9ffQ272+ncdu5UdgrtDT-dn10BWGTZMEjZoCg@mail.gmail.com>, <2E239D6FCD033C4BAF15F386A979BF510F0C0A@sonusinmail02.sonusnet.com>, <05CAC192-E462-421F-B1E5-B78DC8F60306@ag-projects.com>, <2E239D6FCD033C4BAF15F386A979BF510F0C93@sonusinmail02.sonusnet.com>, <16880306-5B3A-4EFD-ADE4-1201138D9182@acmepacket.com>, <2E239D6FCD033C4BAF15F386A979BF510F137B@sonusinmail02.sonusnet.com>, <226C9800-9791-465A-B519-40935E2D135F@phonefromhere.com>, <4E8B1B86.2080805@jesup.org> <BLU152-W476B3866CE31803056E3C93FB0@phx.gbl> <4E8BD7B8.3080408@jesup.org>
In-Reply-To: <4E8BD7B8.3080408@jesup.org>
Content-Type: text/plain; charset=ISO-8859-1; format=flowed
Content-Transfer-Encoding: 7bit
Cc: rtcweb@ietf.org
Subject: Re: [rtcweb] RTCWeb default signaling protocol [was RE: About defining a signaling protocol for WebRTC (or not)]
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 05 Oct 2011 04:28:48 -0000

On 10/4/2011 9:06 PM, Randell Jesup wrote:
> On 10/4/2011 2:19 PM, Bernard Aboba wrote:
>> [BA] I think this is the main point. If we finish RTCWEB 1.0
>> expeditiously, this will in all likelihood
>> spawn a number of browser-independent signaling libraries, as well as
>> developing a wealth of experience
>> with the limitations of RFCWEB 1.0, to inform future efforts.
>>
>> The alternative is to "load up the camel" until it collapses under the
>> weight of (largely irrelevant) use
>> cases. Since the realtime web has been around for over a decade, we have
>> a pretty good idea of what
>> native realtime capabilities would be used for -- and PSTN connectivity
>> has never been high on the list.
>
> Well, I'd say that's mildly debatable - VoIP companies chew a lot of 
> bandwidth on the net, and it's almost all going to the PSTN - though 
> it's not in browsers generally.  Skype completes a lot of on-net calls 
> - but they make a lot of money (almost all?) from PSTN calls.
>
> That said, I don't consider the Skypes of the world a problem here - 
> they can and will roll their own.  Same for PBX vendors I suppose, 
> though they'll try to leverage more existing examples.
>
> I think there will be a lot of small-to-medium users adding chat, 
> building games, etc, who care little or not at all about the PSTN. 
> Those are the ones who I worry about; they wouldn't realize there are 
> issues with glare (totally ignoring PSTN) or that forking can be 
> complex.  They want a simple, one-stop-shopping solution for adding 
> voice/video/data to their sites and games, etc.

Ok, so they don't know there's issues with glare or that forking is 
hard. Does that mean that we solve forking in the browser?

>
> Yes, people will build JS apps to provide that.  I'm worried about the 
> quality of those apps, and that the likely model will be the author 
> downloads a random version when they develop their service, and they 
> never update it.  This is a real problem; it is a real problem today 
> with other JS modules.

It can also be really simple JS modules and most of the complexity up at 
the server.

Or even more likely (see all the various mashups of the world already), 
simple JS modules and most of the complexity at a third party server 
that you use via its REST APIs.

>
> Does this mean we *have* to bake in some sort of signalling?  No, it 
> doesn't.  It is an _argument_ for providing some type of signalling as 
> a baseline default; or if not, then for starting a project to provide 
> that.
>
> Note that I said "baseline".  I did *not* say "can handle all the 
> intricacies of the PSTN well".

So does "baseline" include handling the fact that "forking is hard", or 
does baseline not address forking either?

> It could be something far simpler than
> SIP or XMPP, etc, or it could be a very dumbed-down version of one. 
> These small users (as noted) need something to provide the basics, and 
> to handle certain complexities that simply arise from normal usage 
> patterns and features (like forking).  Being able to access the PSTN 
> at all using this would be a plus - but it would not be critical in my 
> mind.

This still doesn't mean that the browser needs to become a SIP phone, 
any more than it needed a map rendering engine for Google Maps to exist 
or an IMAP client for Gmail to exist.

>
> And, as I mentioned, it could be external JS - but then it has be more 
> solid to start with.  For these simple uses - say chat with other 
> users on someones special-interest website, 2 and multiplayer gaming, 
> etc - we should try to pull together the minimum things any 
> app/service developer would need to be prepared for.  I think any 
> service that allows someone to log in from multiple devices has to 
> handle forking in some manner. Glare is always possible.  What else?  
> I'd like to see simple conferencing.  Perhaps the minimum is simple 
> enough that it makes more sense to develop a new, very simple 
> signalling JS module, and use it in examples. This would limit the 
> downside from not updating.

Or create a good *platform* for building RTC apps and let the developers 
build things you've never imagined. I think that's a far better outcome 
than building a SIP phone into the browser and then discovering that 
most people don't want to just make phone calls.

>
> The advantage of basing it on something known is that the basics of 
> all these protocols are well-understood.
>
> I'll paraphrase Harald (and many others in other contexts): make 
> simple things simple, make complex things possible.

The latter is far more important than the former. If making simple 
things simple makes complex things significantly harder or impossible, 
you're not building a platform for innovation.

Matthew Kaufman