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

Greg Wilkins <gregw@webtide.com> Mon, 26 July 2010 01:25 UTC

Return-Path: <gregw@webtide.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 BAE373A6831 for <hybi@core3.amsl.com>; Sun, 25 Jul 2010 18:25:53 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.82
X-Spam-Level:
X-Spam-Status: No, score=-0.82 tagged_above=-999 required=5 tests=[AWL=-0.703, BAYES_20=-0.74, 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 2Wscx7XNM1r7 for <hybi@core3.amsl.com>; Sun, 25 Jul 2010 18:25:52 -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 D5D033A67EC for <hybi@ietf.org>; Sun, 25 Jul 2010 18:25:51 -0700 (PDT)
Received: by fxm1 with SMTP id 1so6472590fxm.31 for <hybi@ietf.org>; Sun, 25 Jul 2010 18:26:11 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.223.122.195 with SMTP id m3mr5648381far.86.1280107571743; Sun, 25 Jul 2010 18:26:11 -0700 (PDT)
Received: by 10.223.112.129 with HTTP; Sun, 25 Jul 2010 18:26:11 -0700 (PDT)
In-Reply-To: <ECF0E97F-1DA2-4662-BA48-F68B65AA8179@apple.com>
References: <ECF0E97F-1DA2-4662-BA48-F68B65AA8179@apple.com>
Date: Mon, 26 Jul 2010 11:26:11 +1000
Message-ID: <AANLkTiki8YBPgoiUAKDM-NQ0UKGTa=Jwrb5v3LDJZpgq@mail.gmail.com>
From: Greg Wilkins <gregw@webtide.com>
To: Maciej Stachowiak <mjs@apple.com>
Content-Type: multipart/alternative; boundary="001636c5b142168d95048c40455a"
Cc: Hybi <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 01:25:53 -0000

On 26 July 2010 10:43, Maciej Stachowiak <mjs@apple.com> wrote:
* Keep the protocol as simple as possible to limit the number of bugs that
professional programmers make.

Maciej,

thanks for trying to find a way around this road block.

However, the problem with your revised requirement is that simplicity is not
an requirement in itself.  Simplicity is only a relative measure that can be
used to evaluate solutions other requirements.

When faced with a choice of multiple solutions for a particular requirement,
obviously simplicity is high up there on the list of attributes to consider
when evaluating the alternatives.  However it is not the only attribute and
matters such as performance, extensibility, compatibility, etc. are also
considerations.  In such circumstances, favouring simplicity is pretty self
evident.

My feeling is that what Ian really wants is that if we are faced with a
choice between the simplicity of no-feature vs  a complex non mandatory
featured (eg content negotiation), that we will opt for simplicity.   Ie, he
is after a requirement to try to limit rampant featurism in the protocol.  I
do not disagree.

So I'm wondering if the requirements document should contain text about
minimalism rather than simplicity:

   it is not the intent of this protocol to provide all the features that
could possibly be needed on
   bidirectional web communication.  Rather it is the intent of this
protocol to provide the minimalistic set
   of features required to achieve secure and efficient bidirectional
communication without causing
   unreasonable complexity and transport concerns within the application
layer. All aspects of the
   protocol must be motivated by specific identified requirements.

regards