Re: [hybi] WebSockets feedback (Was: Bayeux / Jetty perspective.)

Paul Prescod <paul@prescod.net> Fri, 03 April 2009 16:20 UTC

Return-Path: <prescod@gmail.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 9C6C63A6D94 for <hybi@core3.amsl.com>; Fri, 3 Apr 2009 09:20:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.326
X-Spam-Level:
X-Spam-Status: No, score=-1.326 tagged_above=-999 required=5 tests=[AWL=0.650, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001]
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 tEetAf1dapKk for <hybi@core3.amsl.com>; Fri, 3 Apr 2009 09:20:35 -0700 (PDT)
Received: from rv-out-0506.google.com (rv-out-0506.google.com [209.85.198.234]) by core3.amsl.com (Postfix) with ESMTP id B52A328C166 for <hybi@ietf.org>; Fri, 3 Apr 2009 09:20:35 -0700 (PDT)
Received: by rv-out-0506.google.com with SMTP id k40so1064332rvb.49 for <hybi@ietf.org>; Fri, 03 Apr 2009 09:21:38 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:sender:received:in-reply-to :references:date:x-google-sender-auth:message-id:subject:from:to:cc :content-type; bh=AFzKt0jWhN6HDCHqHFXP0kQ4rEvpm8teYDuCMPs/Jv8=; b=ZofK3p1is+kuDttlOmwnnudJdYSS7+AHxaKvTW/wn9ofl3pLrbWteFOU/lxlU6f6hL N8i4VnLAjYB7jIOWFwPjUuc+xMMn4ln3uexfOL4kFajp1rPthrqsRArch3JzbHxvoFie 77rSibOxHareJd2ZnQAMzzErAfvgdFswHwMKc=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:date :x-google-sender-auth:message-id:subject:from:to:cc:content-type; b=GD0npJoeM4VzxIeDmLxrSptc0oUpLmdLj+8qufF/4AaG2kRlDy9pN6SfvX9nn4jJPi b05b6nDMDLXjPX82ZkU3knaslrjJ/WYSeziHaPDuhwlDYtUB1EWiSETfaVO4pN6fIy0u W7GztkfshwXzZB73quklKGm33NumKAjJlZ1ZU=
MIME-Version: 1.0
Sender: prescod@gmail.com
Received: by 10.141.198.9 with SMTP id a9mr636959rvq.7.1238775698487; Fri, 03 Apr 2009 09:21:38 -0700 (PDT)
In-Reply-To: <Pine.LNX.4.62.0904030757200.25082@hixie.dreamhostps.com>
References: <49D1AE22.1080409@webtide.com> <Pine.LNX.4.62.0903310624180.25058@hixie.dreamhostps.com> <49D5AA5F.8030503@webtide.com> <Pine.LNX.4.62.0904030757200.25082@hixie.dreamhostps.com>
Date: Fri, 03 Apr 2009 09:21:38 -0700
X-Google-Sender-Auth: 4ed698ab0ed9079f
Message-ID: <1cb725390904030921p3f51c230kc14455064cc317d8@mail.gmail.com>
From: Paul Prescod <paul@prescod.net>
To: Ian Hickson <ian@hixie.ch>
Content-Type: multipart/alternative; boundary="001517503d8676fa0c0466a8f17e"
Cc: hybi@ietf.org
Subject: Re: [hybi] WebSockets feedback (Was: Bayeux / Jetty perspective.)
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: Fri, 03 Apr 2009 16:22:10 -0000

In general, the benefit of using an existing protocol is that you take
advantage of a lot of infrastructure and in particular of protocols built ON
TOP of that protocol. Maybe that doesn't matter for train control, but it
matters a lot for webchat, which as far as I'm concerned is the single
biggest application of a "server->client" protocol. To me, this strongly
suggests Jabber, but I'll make the case for HTTP because I'm more familiar
with it:

 * new specification is very short and simple (e.g., not much more than [1])

 * client-libraries and intermediaries are more easily adapted (e.g. Curl,
httplib, ...)

 * domain knowledge is easily applied ("it's just like writing a PHP script
except you use Javascript and listen to Firefox rather than Apache")

 * standards built on HTTP will work more easily (cookies, AtomPub, WebDAV,
Subversion, etc.)

 * in general, the information system called "the Web" will have fewer
protocols and will be simpler, which will help it evolve and survive in the
long run. For example, if we add message signing to HTTP then we get it "for
free" in both directions. If we add a reliability protocol to HTTP then we
get it "for free" in both directions. ("for free" from a specification point
of view...from an implementation point of view it is "for cheap" because you
can reuse C code between Firefox and Apache if you like, or IIS and IE,
etc.)

That all said, my current feeling is still that Jabber is the best choice
because it is already the dominant protocol for the asynchronous
bi-directional use cases we're talking about. But I really cannot see the
advantage in inventing a new protocol from scratch. The Web and Internet are
complicated enough as they are without a proliferation of framing protocols.

 Paul Prescod

[1] http://www.ietf.org/internet-drafts/draft-lentczner-rhttp-00.txt