Re: [hybi] Protocol simplicity and the "amateur programmer" standard

Micheil Smith <micheil@brandedcode.com> Mon, 26 July 2010 11:58 UTC

Return-Path: <micheil@brandedcode.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 112CB3A69B3 for <hybi@core3.amsl.com>; Mon, 26 Jul 2010 04:58:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.949
X-Spam-Level:
X-Spam-Status: No, score=-1.949 tagged_above=-999 required=5 tests=[AWL=0.650, 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 6TCBZOkaKqdF for <hybi@core3.amsl.com>; Mon, 26 Jul 2010 04:58:33 -0700 (PDT)
Received: from mail-pz0-f44.google.com (mail-pz0-f44.google.com [209.85.210.44]) by core3.amsl.com (Postfix) with ESMTP id DE7F63A680A for <hybi@ietf.org>; Mon, 26 Jul 2010 04:58:33 -0700 (PDT)
Received: by pzk6 with SMTP id 6so1299323pzk.31 for <hybi@ietf.org>; Mon, 26 Jul 2010 04:58:55 -0700 (PDT)
Received: by 10.142.169.12 with SMTP id r12mr8921345wfe.38.1280145534839; Mon, 26 Jul 2010 04:58:54 -0700 (PDT)
Received: from [192.168.46.181] (124-170-55-41.dyn.iinet.net.au [124.170.55.41]) by mx.google.com with ESMTPS id y16sm4070314wff.2.2010.07.26.04.58.50 (version=TLSv1/SSLv3 cipher=RC4-MD5); Mon, 26 Jul 2010 04:58:52 -0700 (PDT)
Mime-Version: 1.0 (Apple Message framework v1081)
Content-Type: text/plain; charset="us-ascii"
From: Micheil Smith <micheil@brandedcode.com>
In-Reply-To: <4C4D760A.9060906@opera.com>
Date: Mon, 26 Jul 2010 21:58:46 +1000
Content-Transfer-Encoding: quoted-printable
Message-Id: <C1B1A36F-55E1-4526-B535-3F9CF27F1EB7@brandedcode.com>
References: <ECF0E97F-1DA2-4662-BA48-F68B65AA8179@apple.com> <4C4D66AF.9030905@opera.com> <DAA95AEE-300E-4C2D-BBCA-02D0385EE482@apple.com> <4C4D760A.9060906@opera.com>
To: James Graham <jgraham@opera.com>
X-Mailer: Apple Mail (2.1081)
Cc: hybi@ietf.org
Subject: Re: [hybi] Protocol simplicity and the "amateur programmer" standard
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, 26 Jul 2010 11:58:35 -0000

On:

> I think one browser shipping doesn't create an ecosystem that depends on WebSockets not undergoing incompatible changes (although I note that I have seen multiple people ask how to make their servers compatible with both -75 and -76 handshakes in order to work with both Safari 5 and Chrome). I think that many browsers shipping compatible implementations is highly likely to create such an ecosystem. Therefore I would say that the timescale for substantial changes to websockets is soemthing like the release timescale of the next generation of browsers minus the stabilization time and the time needed to implement changes. It seems to me that that timescale could be rather short.

The current way I do it in my project, Node WebSocket Server ( http://github.com/miksago/node-websocket-server ) 
is to switch between draft -75 and -76 based on the existence of the Sec-* headers and Key3. I also have an option 
where by a developer, if they so choose, can force the server to only use one version of the WebSocket protocol, 
and all other requests will be rejected (this is still not implemented quite right, but it's not really a super high priority 
on the project just yet).

Yours,
Micheil Smith
-- 
BrandedCode.com