The following text is copyright 1998 by
Network World, permission is hearby given for reproduction, as long as
attribution is given and this notice is included.
Complexity as a weapon
By Scott Bradner
Network World,
11/16/98
For years I've
lamented the growing perceived and actual complexity
of things.
The engine
compartment and the dashboard of my 1998 Dodge
Caravan are a far
cry from the ones in my 1917 American LaFrance
and in the
late-1970s van I once owned. In spite of this, operating the
Caravan is actually
easier than operating the LaFrance or the Ford.
The operation is
simple in spite of the underlying complexity. That
does not mean the
underlying complexity is not a worry. I used to be
able to repair the
engine on the Ford, but did not even bother to get
the owner's manuals
for the Caravan.
Sometimes there
seems to be no reason for the complexity. One of
the most common and
frustrating examples of this is setting the time
on a VCR. It seems
vendors go to great lengths to ensure that VCRs
will blink 12:00
whenever they are powered up.
In the past, I've
assigned blame for such complexity to interface
design engineers who
have no human factors training. But there may
be more to the
complexity than that.
Two weeks ago
someone at Microsoft leaked an internal document
discussing
strategies that the company could use to counteract the
push by some
organizations and companies toward an open source
software (OSS) model
of software development. An annotated
version of the memo
has now been posted on the World Wide Web
under the somewhat
pejorative name "The Halloween Document."
Most of the document
discusses assertions that Microsoft could make
to blunt the appeal
of the open source process used by many Internet
developers,
including Netscape. But a small section of the document
refers to the danger
that simple systems represent.
The memo says,
"OSS projects have been able to gain a foothold in
many server applications
because of the wide utility of highly
commoditized, simple
protocols. By extending these protocols and
developing new
protocols, we can deny OSS projects entry into the
market."
This is scary, not
because it is a Microsoft person saying this, but
because it could
explain all too much of what we are now seeing in
the standards
development world. Many of the standards proposals
are far more complex
than problems would seem to require.
Once upon a time,
simplicity was a design goal for IETF protocols,
best expressed in
RFC 1958, "Architectural Principles of the
Internet." It
says, "Keep it simple. When in doubt during design,
choose the simplest
solution."
We now seem to have
purposeful complexity, designed to make it
difficult for small
organizations and individuals to implement
protocols. This is
not good.
David Isenberg, the
author of The Stupid Network, the other day
asked me, "How
many IETF working groups are trying to make the
'Net simpler?"
The only working group I could point to was the one
for Differentiated
Services. It's time to get simplicity back as a
design goal.
Disclaimer:
Harvard's organization is anything but simple, so the
above must be my own
thoughts.