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

Ian Hickson <ian@hixie.ch> Thu, 03 September 2009 11:15 UTC

Return-Path: <ian@hixie.ch>
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 EDE903A6B15 for <hybi@core3.amsl.com>; Thu, 3 Sep 2009 04:15:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.737
X-Spam-Level:
X-Spam-Status: No, score=-3.737 tagged_above=-999 required=5 tests=[AWL=-1.138, BAYES_00=-2.599]
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 w8nsKVwExytE for <hybi@core3.amsl.com>; Thu, 3 Sep 2009 04:15:58 -0700 (PDT)
Received: from looneymail-a2.g.dreamhost.com (caibbdcaaaaf.dreamhost.com [208.113.200.5]) by core3.amsl.com (Postfix) with ESMTP id 103693A6B04 for <hybi@ietf.org>; Thu, 3 Sep 2009 04:15:58 -0700 (PDT)
Received: from hixie.dreamhostps.com (hixie.dreamhost.com [208.113.210.27]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by looneymail-a2.g.dreamhost.com (Postfix) with ESMTP id 4CFE816D3CA; Thu, 3 Sep 2009 04:12:52 -0700 (PDT)
Date: Thu, 03 Sep 2009 11:16:00 +0000
From: Ian Hickson <ian@hixie.ch>
To: Graham Klyne <ietf-discuss-apps@ninebynine.org>
In-Reply-To: <4A9A3255.90408@gmx.de>
Message-ID: <Pine.LNX.4.62.0909031042230.6775@hixie.dreamhostps.com>
References: <4A9A3255.90408@gmx.de>
Content-Language: en-GB-hixie
Content-Style-Type: text/css
MIME-Version: 1.0
Content-Type: TEXT/PLAIN; charset="US-ASCII"
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: Thu, 03 Sep 2009 11:15:59 -0000

On Sun, 25 Aug 2009, Graham Klyne wrote:
>
> I'll try and make a few suggestions, which I don't claim are best or 
> complete:
> 
> 1. Provide some context and motivation.  Start the introduction by 
> stating the problem that is being solved, and why it is not solved by 
> existing standard protocols.

Done.


> Also, along the way, it might be worth mentioning efforts like 
> cometd/bayeux and BOSH and saying how this proposal is similar and/or 
> different.

I'm not really sure what I would say here.


> 2. Indicate some specific types of applications for which the problem 
> exists (my favourites include: real-time web page updates, 
> synchronization of displays between multiple web pages, on-the-fly 
> persisting of user interactions, ...).

Done.


> 3. [nit] Abstract: talk about "graceful fallback" instead of "intended 
> to fail"

No, it's really intended to fail in those cases, not fall back to 
anything.


> 4. Introduce key concepts before delving into details about them:  I 
> don't mean in textboook fashion, but indicating how they relate to the 
> problem at hand (e.g. why is framing an issue, how does it relate to 
> Unicode bvs binary data?).

I've reordered the introduction sections a bit to help with this.


> 5. Move most of the current "introduction" text into a high-level 
> protocol description section.

Is the new introduction section ok?


> 6. Provide a protocol state diagram or similar overview.

I'm not sure I understand what that would look like for this protocol.

Do you mean something like this?:

   HANDSHAKE --> FRAME TYPE <-------------------------.
                      |                               |
                      +---0x00---> DATA --> 0x00 --->-+
                      |                               |
                      `---0x80---> LENGTH -> DATA -->-'


> 7. Section 3:  why is this based on [WEBADDRESSES] rather than 
> [RFC3986]?  I can't offhand tell if [WEBADDRESSES] is acceptable as a 
> normative reference.

RFC3986 doesn't define how to handle errors when parsing URIs.


> I have not read sections 4 and 5 in detail, as they seem to be concerned 
> entirely with very low-level and rather wordy protocol processing 
> descriptions, 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.

BEEP is about six orders of magnitude too complicated for what we're doing 
here.

Cheers,
-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'