Re: [hybi] [Fwd: Comments on draft-hixie-thewebsocketprotocol-35]

Salvatore Loreto <salvatore.loreto@ericsson.com> Mon, 07 September 2009 08:21 UTC

Return-Path: <salvatore.loreto@ericsson.com>
X-Original-To: hybi@core3.amsl.com
Delivered-To: hybi@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id E6EA43A67E7 for <hybi@core3.amsl.com>; Mon, 7 Sep 2009 01:21:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.742
X-Spam-Level:
X-Spam-Status: No, score=-4.742 tagged_above=-999 required=5 tests=[AWL=0.267, BAYES_00=-2.599, HELO_EQ_SE=0.35, RCVD_IN_DNSWL_MED=-4, SARE_LWSHORTT=1.24]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Bn+mVhdQrlAS for <hybi@core3.amsl.com>; Mon, 7 Sep 2009 01:21:34 -0700 (PDT)
Received: from mailgw3.ericsson.se (mailgw3.ericsson.se [193.180.251.60]) by core3.amsl.com (Postfix) with ESMTP id 002983A6407 for <hybi@ietf.org>; Mon, 7 Sep 2009 01:21:33 -0700 (PDT)
X-AuditID: c1b4fb3c-b7b6eae000001984-f9-4aa4c2a744a1
Received: from esealmw127.eemea.ericsson.se (Unknown_Domain [153.88.253.125]) by mailgw3.ericsson.se (Symantec Mail Security) with SMTP id 8E.7B.06532.7A2C4AA4; Mon, 7 Sep 2009 10:21:59 +0200 (CEST)
Received: from esealmw127.eemea.ericsson.se ([153.88.254.175]) by esealmw127.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.3959); Mon, 7 Sep 2009 10:21:59 +0200
Received: from mail.lmf.ericsson.se ([131.160.11.50]) by esealmw127.eemea.ericsson.se with Microsoft SMTPSVC(6.0.3790.3959); Mon, 7 Sep 2009 10:21:59 +0200
Received: from nomadiclab.lmf.ericsson.se (nomadiclab.lmf.ericsson.se [131.160.33.3]) by mail.lmf.ericsson.se (Postfix) with ESMTP id E7C9824C0; Mon, 7 Sep 2009 11:21:58 +0300 (EEST)
Received: from nomadiclab.lmf.ericsson.se (localhost [127.0.0.1]) by nomadiclab.lmf.ericsson.se (Postfix) with ESMTP id B07EB21A17; Mon, 7 Sep 2009 11:21:58 +0300 (EEST)
Received: from localhost.localdomain (localhost [127.0.0.1]) by nomadiclab.lmf.ericsson.se (Postfix) with ESMTP id 526DE219CB; Mon, 7 Sep 2009 11:21:58 +0300 (EEST)
Message-ID: <4AA4C2A5.7000506@ericsson.com>
Date: Mon, 07 Sep 2009 11:21:57 +0300
From: Salvatore Loreto <salvatore.loreto@ericsson.com>
User-Agent: Thunderbird 2.0.0.23 (X11/20090825)
MIME-Version: 1.0
To: Graham Klyne <gk-ietf-hybi@ninebynine.org>
References: <4A9A3255.90408@gmx.de> <4A9B5BC7.8000205@webtide.com> <4A9E2F41.2020109@ninebynine.org>
In-Reply-To: <4A9E2F41.2020109@ninebynine.org>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-Virus-Scanned: ClamAV using ClamSMTP
X-OriginalArrivalTime: 07 Sep 2009 08:21:59.0142 (UTC) FILETIME=[44EB5860:01CA2F94]
X-Brightmail-Tracker: AAAAAA==
Cc: hybi@ietf.org
Subject: Re: [hybi] [Fwd: Comments on draft-hixie-thewebsocketprotocol-35]
X-BeenThere: hybi@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Server-Initiated HTTP <hybi.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/hybi>
List-Post: <mailto:hybi@ietf.org>
List-Help: <mailto:hybi-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/hybi>, <mailto:hybi-request@ietf.org?subject=subscribe>
X-List-Received-Date: Mon, 07 Sep 2009 08:21:36 -0000

Hi Graham,

as a first tentative to put some order in the discussion about how to 
"PUSH" information to a client and/or browser application,
we have write down a draft that focuses on best practices for 
bidirectional HTTP in the context of HTTP as it exists today.
The document envisions also possible additions to HTTP that could enable 
improved mechanisms for bidirectional HTTP
(for what we call, the short term solution to the bidirectional 
communication, where the long term is supposed to be something
like WebSocket or BWTP)

here the link: http://www.ietf.org/id/draft-loreto-http-bidirectional-00.txt

it would great if you have time to review it and provide 
comments/suggestions.

Moreover as we are now working on a new version where we are trying to 
more clearly describe the design space, including
the programming environments (client, server, library, etc.), deployed 
infrastructure (routers, proxies, etc.).
Any help coming from your implementation experience is welcome.

cheers
Sal

www.sloreto.com


Graham Klyne wrote:
> Greg,
>
> [Julian kindly forwarded my comments to this list, as I have been 
> having trouble getting messages through (maybe it will work this time)).]
>
> Your comments about viewing this specification as a requirements 
> document is fair enough, except that I have no idea from reading the 
> document what requirements it is trying to address.  But I do agree it 
> would be helpful to have an articulated set of requirements and 
> problems to be avoided to assist evaluations.
>
> Although I mentioned BEEP as an example, I can also see why it would 
> be a hard candidate to sell.  It seems to me that easy browser-side 
> implementation using Javascript would be a requirement, and my 
> intuition is that BEEP requires quite a lot of state management that 
> might make a solid browser implementation hard to achieve.
>
> BTW, while candidates are being tossed around, I have done some 
> implementation work in this area that is entirely open source.  I know 
> it has many shortcomings.  The project is at 
> http://code.google.com/p/webbrick-events/.  The main use-case for this 
> was using a browser as a real-time control and monitoring interface 
> for home automation, etc., which I think is rather like a presence 
> protocol. I have aimed for the simplest content model that would 
> support the protocol requirements, which is described at 
> http://code.google.com/p/webbrick-events/wiki/EventModel.  Mainly, I 
> think that if a requirements document were being assembled, I might be 
> able to fillet out some thoughts to contribute.
>
> FWIW, my favourite candidate to date is BOSH, mainly as it focuses on 
> protocol requirements without imposing much content model, *and* that 
> it works over unmodified HTTP.  But I haven't properly reviewed the 
> alternatives.
>
> I took a quick look at your BWTP and my immediate off-the-cuff 
> thoughts are:
>  * the spec seems quite easy to read and follow :)
>  * it doesn't really indicate the requirements or use-cases it aims to 
> satisfy (but it does say that it's intended to provide bi-directional 
> transfers, so maybe that's enough, though I'd like to see asynchronous 
> delivery to the client explained).
>  * I'm not sure that there's an easy migration path from unenhanced 
> HTTP for applications that need bidirectional data capabilities.  For 
> example, I'd need to think a lot harder than I have time for right now 
> to decide if this could be implemented using Javascript in a browser.
>
> Cheers,
>
> #g
> -- 
>
> Greg Wilkins wrote:
>> Julian Reschke wrote:
>>
>>> I think the specification, in its current form, completely fails to 
>>> present
>>> itself as such a solution.  To me, it reads less like an open protocol
>>> specification, and rather more like a programming team internal design
>>> memo.
>>
>> Julian,
>>
>> I too have been very critical of the websocket protocol.
>> But I think that the IETF and specifically the hybi group should not
>> get become "captured" by trying to correct short comings of this
>> protocol and it's specification.   It is very difficult to critique
>> the protocol and/or proposal as the authors find it very suitable for
>> their specific purposes.
>>
>> Instead, I believe that the websocket protocol should be viewed as just
>> one  use-case for a bidirectional protocol coming from the whatwg 
>> efforts
>> on HTML5.  I think it should consider it more of a requirements document
>> than a real proposal for an open protocol specification.
>>
>> If the IETF were to move forward on a real open protocol 
>> specification that
>> met the use-case of the websocket proposal (among others), then surely
>> all parties would be content with the result.
>>
>>
>>
>>> but I find myself asking:  why not just specify a hand-off extension to
>>> HTTP
>>> that allows bidirectional communication to proceed using a protocol 
>>> such as
>>> BEEP?  I fear there's a certain amount of reinvention going on 
>>> here.  But I
>>> could be wrong.
>>
>> I previously advocated BEEP as a possible protocol for the 
>> bidirection web.
>> See the thread "Is there a traffic jam?" in the hybi list, which briefly
>> discussed BEEP before going off topic.
>>
>> The argument that eventually convinced me that BEEP was not entirely
>> suitable, was that while BEEP framing is simple and suitable, the 
>> channel
>> management of BEEP is rather complex and requires XML.
>>
>>
>> So I draw your attention again to the BWTP draft proposals.  The first
>> of these http://bwtp.wikidot.com/main:proposal, was very much influenced
>> by HTTP - but the feedback received was that it too was a bit too 
>> complex
>> for the features that it provided.
>>
>> The second BWTP proposal: http://bwtp.wikidot.com/main:proposal1 is 
>> modeled
>> more off BEEP than HTTP.   I believe it provides a rich bidirectional
>> feature set, which maintaining the simplicity of BEEP style framing.
>>
>>
>> But even if you find BWTP inappropriate, I believe that the IETF
>> should be working from known successful protocols and protocol
>> experience to design, test and specify an new bidirectional protocol.
>>
>> Surely the IETF should build from it's existing knowledge base
>> rather than adopt a binary protocol proposal for a very
>> specific purpose that is a radical departure from the style
>> and substance of past IETF protocols!
>>
>>
>> cheers
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>> _______________________________________________
>> hybi mailing list
>> hybi@ietf.org
>> https://www.ietf.org/mailman/listinfo/hybi
>>
>
> _______________________________________________
> hybi mailing list
> hybi@ietf.org
> https://www.ietf.org/mailman/listinfo/hybi