From: thomsen@spf.trw.com (Mark Thomsen)
Subject: The Role of 'Standards' (longish)
Organization: TRW Inc., Redondo Beach, CA
Date: Fri, 24 Jul 92 19:26:58 GMT

NeXT has selected some technology that existed and invented more. The fact
that they are inventing technology seems to upset people, mainly because
the technology is not 'standard'. (Infrequently people claim the tech-
nology is inferior ... infrequently). I offer my simple view.

A 'standard' is not a universally agreed upon correct technology. Where
parts must interact there has to be agreed upon abilities that allow
interaction - like protocols, file formats, interface specifications,
and such. Standardizing on basic specifications allow the parts to work
together. Defining these standards comes from de facto situations or
from committees. It appears that most standards came from de facto
situations (e.g., DOS, TCP/IP) that perhaps later committees ensured
were documented with versioning recorded.

There are other situations where something is difficult to build and
it is easy to pick up someone else's work. I offer X-Window as a good
example of this.

There are situations where we foresee (correctly or incorrectly) a new
technology and someone wants to define it before it happens. DVI and
MPEG are examples - we will see digital video and groups are standard-
izing formats with compression.

So there are many types of standards. We have all heard of a vendor
touting a technology as a standard, and offering a list of other
vendors who 'support' it. I suggest that there is a confidence game
at work in many cases. Every vendor would like to be the one that
others attempt to be compatible with --- it creates more market and
opportunities (and reduces R&D needed to become compatible with the
others). So they want some technology to be the standard. Calling it a
standard gets people to face whether it is or is not --- some will
accept the definition immediately. Others will want to know whether
other vendors will comply --- offering the list of support (which does
not necessarily imply that the vendors are not doing something else
to compete as well) will convince others. Some will want to see volume
as some kind of indication --- the vendor's past volume may be the
closing arguement (see IBM and Microsoft for this ploy).

Whether NeXT adopts a 'standard' or not gets brought up here and the
arguement always ends up going into either a) the 'standard' is not
definitive, b) the 'standard' sucks, or c) the 'standard' was something
unpalatable to NeXT. I suggest there are far fewer standards than one
would think. NeXT can plug into a network, exchange basic files, play
Internet, plug into common Mac and PC nets (with 3.0), interact with
fax machines, and basically work as a well-behaved part in a modern
environment. That is the essential definition of whether NeXT adopted
standards. On that score NeXT is pretty standard.

Beyond that NeXT has added true value in some areas and made a few
decisions that perhaps could have gone differently (like Objective-C
over C++, though I still doubt it would be as easy to build NeXTSTEP
and InterfaceBuilder in C++).

I think the new NeXT approach is the correct one. Offer support for
standards (C++, X-Window, et.al.) that can be run on NeXT but stick
with the higher value intrinsic offerings (Objective-C, NeXTSTEP
Window Manager, et.al.). Suns and PCs have done this for years and
they succeed. If there is a 'standard' that is not fundamental to
the system operation then provide support through a third party or
as a second tool/interface bundled. It will knock down most
objections, keep the specialness and visionary edge, and provide more
value (real or potential, depending upon the actual use) to the users.

Mark R. Thomsen
Newsgroups: comp.sys.next.advocacy