Re: [hybi] Extensibility mechanisms?

Simone Bordet <simone.bordet@gmail.com> Wed, 21 July 2010 08:06 UTC

Return-Path: <simone.bordet@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 CDEFF3A681E for <hybi@core3.amsl.com>; Wed, 21 Jul 2010 01:06:58 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[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 e9sp5mJTqATa for <hybi@core3.amsl.com>; Wed, 21 Jul 2010 01:06:57 -0700 (PDT)
Received: from mail-fx0-f44.google.com (mail-fx0-f44.google.com [209.85.161.44]) by core3.amsl.com (Postfix) with ESMTP id 55ECB3A6B66 for <hybi@ietf.org>; Wed, 21 Jul 2010 01:06:57 -0700 (PDT)
Received: by fxm1 with SMTP id 1so3673750fxm.31 for <hybi@ietf.org>; Wed, 21 Jul 2010 01:07:13 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:received:in-reply-to :references:date:message-id:subject:from:to:content-type :content-transfer-encoding; bh=cSECXU6UQhpGAVRlpG+rslHgk4iVgnplJmXISDIwLqg=; b=jcWeJF+4t8iMjS/j3UuHxQmomNJk5WZitDF8IzmIOS5141xdm+Cpomp5KGc4tpBnAe ajzxQ7f7z6nUZ85jODiLgXD0laJ0JoHt1WL3VMESEAfFzGwi2/tdG0/n9TjyvC8mThvu du7u0gxRWcY2JTTZRjsdHCzWkSeBjEGMgUuRQ=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :content-type:content-transfer-encoding; b=iJL7gXFInQAaxwd8oBCujbTy1hyu+5GM7mALvetEWw21+1S9De9sXOjbHVax9J8Zyx b7kDqIJa6adW6af5gkhun59Ev++Q23dBw7u6l4j3/V8SOmOGR6WQGxJefzDEftOhHlfG qlaPV/jhlwNw/5Q1FAGxWkoZnGjcAtb8780z0=
MIME-Version: 1.0
Received: by 10.239.144.140 with SMTP id o12mr531860hba.119.1279699632754; Wed, 21 Jul 2010 01:07:12 -0700 (PDT)
Received: by 10.239.158.68 with HTTP; Wed, 21 Jul 2010 01:07:12 -0700 (PDT)
In-Reply-To: <AANLkTinHpqMzGY--+KSpL_q0tw7hVxP8p1fL0MAd6XiF@mail.gmail.com>
References: <4BCB7829.9010204@caucho.com> <Pine.LNX.4.64.1004182349240.751@ps20323.dreamhostps.com> <4BCC0A07.9030003@gmx.de> <Pine.LNX.4.64.1004190753510.23507@ps20323.dreamhostps.com> <4BCC111C.90707@gmx.de> <Pine.LNX.4.64.1004190837570.23507@ps20323.dreamhostps.com> <4BCC204D.30004@gmx.de> <z2gad99d8ce1004190822ne4dd36b6v54d63efcc448e840@mail.gmail.com> <Pine.LNX.4.64.1007202204270.7242@ps20323.dreamhostps.com> <AANLkTimzWAkxG18mgfY_IUtKdsvgv4XLnzKVfsE1aC99@mail.gmail.com> <20100721005038.GA27243@shareable.org> <AANLkTinHpqMzGY--+KSpL_q0tw7hVxP8p1fL0MAd6XiF@mail.gmail.com>
Date: Wed, 21 Jul 2010 10:07:12 +0200
Message-ID: <AANLkTimdZW253NUVUxUYrULsKAdiRkSeb7KBorZhVvt0@mail.gmail.com>
From: Simone Bordet <simone.bordet@gmail.com>
To: Hybi <hybi@ietf.org>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
Subject: Re: [hybi] Extensibility mechanisms?
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: Wed, 21 Jul 2010 08:06:58 -0000

Hi,

On Wed, Jul 21, 2010 at 07:37, Roberto Peon <fenix@google.com> wrote:
> I have some experience with dealing with broken HTTP client implementations
> in nearly-impossible-to-update devices such as televisions, phones, etc.
> We're starting from scratch, so hopefully we won't have the confusion of
> poor implementations that HTTP does, but I'd end up really sad if I had to
> make my server not use advanced features of a *new* protocol because some
> clients identify their capabilities wrongly.
> Yes, we've had to do this. It is really, really, painful.
> To be clear: I'm not motivated to make it possible for amateurs to make
> servers or clients.
> I am motivated to ensure that the protocol *just* complex enough to do what
> we want, and otherwise as simple and unambiguous as possible.
> If that enables "amateur programmers" to write clients or servers that speak
> a subset of the protocol... great!
> If not, hopefully they can hack on a reference implementation!
> I strongly hope that we'll end up with a 100% functional reference
> implementation that we publish with the spec.
> I also strongly hope that we'll end up with a conformance suite (as a result
> of creating the reference implementation).

I could not have said it better.

Why cannot "amateur programmers" be exposed to WebSocket via an API
that is a higher level API than the socket API ?
This is already the way it is done in JavaScript where "amateur
programmers" do not need to care about HTTP headers during handshake,
nor to add 0x00 and 0xFF at start and end of their string messages.
The same can be offered on server side, making it easy for "amateur
programmers", but allowing the protocol to gain all the features
discussed.

I would stretch my luck even further and bet that even if an API will
not be designed for server-side, it will be eventually written, and
that "amateur programmers" will use that API in their applications
rather than dealing with sockets and having to read the protocol spec
to understand what to read/write from the socket streams.

Simon
-- 
http://bordet.blogspot.com
---
Finally, no matter how good the architecture and design are,
to deliver bug-free software with optimal performance and reliability,
the implementation technique must be flawless.   Victoria Livschitz