Re: [hybi] Extensibility mechanisms?

Pieter Hintjens <ph@imatix.com> Mon, 19 April 2010 16:17 UTC

Return-Path: <pieterh@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 44D8E3A6B5E for <hybi@core3.amsl.com>; Mon, 19 Apr 2010 09:17:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.144
X-Spam-Level:
X-Spam-Status: No, score=-0.144 tagged_above=-999 required=5 tests=[AWL=-0.767, BAYES_50=0.001, FM_FORGED_GMAIL=0.622]
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 8Tg3E6bka4TM for <hybi@core3.amsl.com>; Mon, 19 Apr 2010 09:17:14 -0700 (PDT)
Received: from mail-px0-f172.google.com (mail-px0-f172.google.com [209.85.212.172]) by core3.amsl.com (Postfix) with ESMTP id 007B728C39A for <hybi@ietf.org>; Mon, 19 Apr 2010 08:57:34 -0700 (PDT)
Received: by pxi19 with SMTP id 19so109934pxi.31 for <hybi@ietf.org>; Mon, 19 Apr 2010 08:57:23 -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:from:date:x-google-sender-auth:received:message-id :subject:to:cc:content-type; bh=wW0C9V5wFDeshDZ7XKQ6gNLajx6/4lIzjRzd5quseh8=; b=HDtB3dKpVZB7OoriyFbqL+jaEYuiD2VAA4jZS2LbLNE0/ImELUGzY95ICQT9lHiYGy s6lxjNOHdw8k28clYgM9l9SUpNyQFdatfTCwiJjPPirULycWZXBXlLyMVo8cZAC3y+JJ flu3DXiVoDx/ftUipguDjlwu/jtr/RLIvVku8=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:sender:in-reply-to:references:from:date :x-google-sender-auth:message-id:subject:to:cc:content-type; b=cM6mXTqNk4NoHpY8K/ywDGXruk8WTGDXNknf24sLYTm0WcAcWovF88RHrkw8QL0IrC b7Kefv9tg6FdRGSk7TBFhPgDuq4uUI4SyDq5MUcc/rVXfqNhvN3nLqJZtEJswp/cDsjZ Oz3QHE732zRQiSwTYiMt9PNSGjDx/gWxQuw94=
MIME-Version: 1.0
Sender: pieterh@gmail.com
Received: by 10.140.225.18 with HTTP; Mon, 19 Apr 2010 08:57:03 -0700 (PDT)
In-Reply-To: <Pine.LNX.4.64.1004190837570.23507@ps20323.dreamhostps.com>
References: <h2w5c902b9e1004152345j992b815bz5f8d38f06a19181a@mail.gmail.com> <Pine.LNX.4.64.1004180246380.751@ps20323.dreamhostps.com> <4BCAB2C1.2000404@webtide.com> <B9DC25B0-CD21-44E7-BD9B-06D0C9440933@apple.com> <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>
From: Pieter Hintjens <ph@imatix.com>
Date: Mon, 19 Apr 2010 17:57:03 +0200
X-Google-Sender-Auth: ba1cafb7e9477522
Received: by 10.141.108.2 with SMTP id k2mr4408107rvm.125.1271692643211; Mon, 19 Apr 2010 08:57:23 -0700 (PDT)
Message-ID: <r2j5821ea241004190857g5917afa1t5ebdd37cd69b8ec9@mail.gmail.com>
To: Ian Hickson <ian@hixie.ch>
Content-Type: text/plain; charset="ISO-8859-1"
Cc: Hybi <hybi@ietf.org>
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: Mon, 19 Apr 2010 16:17:15 -0000

On Mon, Apr 19, 2010 at 10:48 AM, Ian Hickson <ian@hixie.ch> wrote:

> I think we can get orders of magnitude more complete implementations of
> Web Sockets than of HTTP if we keep the protocol trivial.

This is a meaningless goal.  "Number of complete implementations" does
not measure success.

>> The main reason we see two server implementations rule the market isn't
>> necessarily because of protocol complexity, but because one of them
>> ships with a popular server platform, and the other one is free and
>> "good enough" for almost everything.
>
> That is one possibility. I do not personally think it is the real reason.
> Unfortunately, I don't know of any way to test these hypotheses.

As CEO of Wikidot.com, I can explain exactly how we chose our web
servers as our service grew to 0.5M users.  We used FastCGI to avoid
dependency on any specific server.  We started with Apache for obvious
reasons (natural monopoly in skills, it's the default server in
Linux).  We then switched to lighttpd because Apache did not scale.
We then switched to nginx because lighttpd would crash.

Nowhere does protocol complexity come into it.  We have more than
enough choice of excellent implementations.  However we do not choose
randomly but start with the default server.  We then change only when
there is an issue we cannot resolve otherwise.

Imagine a simpler protocol (that magically provides as much value as
HTTP) that has 1M complete implementations... it's so easy that every
student coder writes a complete implementation before breakfast, for
fun.

You will still find a market dominated by two implementations: the
default Windows one, and the default Linux one.

Protocol complexity has precisely zero to do with usage patterns, and
platform defaults have everything to do with them.

-Pieter