NODE 135a1495myths of software "standards" (long)
"Vladimir Z. Nuri" <vznuri@netcom.com>Sat, 6 Apr 1996 15:49:40 +0800
this is an essay on some ideas that have been swimming around in
my head about "software standards" and the various pervasive
myths associated with them, unleashed on this motley crowd
for your viewing pleasure or distaste.
there is tremendous amount of angst and anguish spent on software
standards by designers. I'm going to try to point out some of the ways that
software standards are fundamentally different from hardware standards
and the implications this has for their use.
with a hardware standard, we are talking about "atom configurations".
if a given computer is manufactured in a given way, there are zillions of
standards that are implicit in the design. there is a standard in
the way that cards interface to the bus, in the ways that chips fit
in sockets, in screw sizes, component sizes (such as the power supply), etc.
obviously it is virtually impossible to refit a component that does
not adhere to some "physical configuration standard". if the power
supply does not have the right footprint, good luck filing down the
edges to the point that it fits. <g>
another point to make about physical components is that it is possible
to "own" them. in our system, we are even allowed ownership of the
abstract standards used to design their atomic configurations; we
call these things "patents".
however, notice that software standards are sometimes thought of in
the same way as hardware standards. I want to make a point about how
fundamentally different they really are.
==
software standards ultimately govern the "configuration of bits". to
borrow Negroponte's lovely distinction, bits are far different than
atoms. foremost of the difference is what might be called
the fundamental "malleability" or "fluidity" of bits in contrast to
atoms. atoms are expensive to move around and to manipulate. bits
can be moved around and manipulated at such an infinitesmal cost
as to be almost free.
here is the chief myth that I want to address, and I'm going to
borrow web concepts here especially, because the public is misapplying
the concepts of hardware and software standards especially in this
area.
now suppose that Netscape comes up with their own unique HTML "extensions"
which they have done. if you want to think of this "standard" in the
old paradigm of atoms that are expensive to move around etc., then
what netscape has done is pretty outrageous. one might assert, as
the press and public tend to do, that Netscape is trying to "own"
the standard and "impose" it on the rest of the world, so that they
can "control" it.
but what is this "imposition"? if they were saying that particular
hardware components had to be designed in their way, indeed this would
be an onerous and suspicious demand. it would be reminiscent of
industry outrages like IBM's "microchannel" architecture.
but the fundamental distinction here is that Netscape is *not* designing
a standard that refers to atoms, but one that refers to bits. and
standards that refer to bits have fundamentally different properties.
first of all, if they are good standards, then it should be easy
to manipulate the bits between the different standards, and the cost
of doing so should be close to negligible. we are only talking about
straightforward algorithms easily implemented by even 1st year
CS students, typically.
when you think about it, the concept that a company can "own" a
software standard in the way that hardware configurations are "owned"
is pretty obtuse and incongruous. because bits are so readily converted
and manipulated, it actually becomes the case that companies that
create bit standards are almost doing a public service in devising
orderly systems of bit arrangements not previously established. if
bits are interchangeable, then the key is to get them into an orderly
form first, and then just twiddle them into the format that you want.
==
all this sounds a bit vague and nebulous
but is extremely significant. it demonstrates
how radically different the information revolution is from the
industrial revolution. in the information realm, "interchangeable
parts" takes on a whole new meaning. all that is necessary is that
the bits be in some standard form to start, and then they can easily be
transformed into some other form.
a very important point to make is this: what becomes more valuable with bits i
s *not* that everyone pick and agree on *the*same*standard*. this is
applying "atom" type prejudice to a new problem. if everyone wants to
have compatible hardware, then indeed we need to have the kinds of standards I
described. but software (bit) standards work differently. you only want
to have *any* kind of a standard that is well designed. you want standards
that are not necessarily *universal* as with atoms, but instead are *orderly*.
if they are *orderly* or "well designed", then it should be easy to convert
any "bit configuration" standard to any other standard on the fly with
algorithms.
there is tremendous ranting and raving in the Web world about how
the HTML standard is fragmenting because of Netscape etc., and there
is so much angst about trying to devise a *single* cohesive, unified
standard that "everyone" follows. people talk as if Netscape is
trying to "hijack" the standard, when in my opinion they are performing
a valuable public service of trying to hammer the bits into useful
form. everything they have proposed could not be handled by the
earlier standards-- and if it could have been, chances are they would
have used that standard.
a unified standard in software realms is a total fantasy to achieve,
and in my opinion the dramatically wrong & specious goal.
==
instead, I taking into account the above ideas, what we need are a
*variety* of different standards, all of them in themselves cohesive
and fully functional, which can be *translated* readily between each
other. the key goal is not *unified* standards that try to entail
"everything", but instead collections of complementary standards
that are in themselves nice unified "pieces" of the whole. (somewhat
like original Unix design philosophy).
the various image formats such as DVI, postscript, TIFF, etc. is an
example of this. they all are decent standards for what they
attempt to standardize, and it is silly to lament that there isn't
a single image standard-- it misses the point.
(one tricky thing with bit standards is the goal of trying to
go "backward" in converting a very complex format into a simpler
format. trying to have text-based web browsers with all the complex
images and formatting out there is an example of this.)
in other words, some people seem to imagine that in the future some
massive HTML language is going to be devised that all browsers support.
many web design discussions seem to implicitly talk as if this is
the goal.
instead what I imagine is that many different substandards will
be devised, and will *continue* to be devised-- the point when there
is a global, unified "web formatting language" will *never* come and this
is an illusionary, impossible, and *unnecessary* goal. what
we need are browsers that are extremely flexible and can support
on-the-fly translation between different formats, and which try to
support the capability that at any time in the future, someone may come up
with a new language that could drive browser formatting and display
characteristics. the idea of having different layers over the network,
such as "conversion servers" which might convert between all the
more common formats and requests, is another interesting idea to pursue.
netscape 2.0 "plugins" are a first step in this direction.
imho, the web of the future is going to have not one but a *zillion* different
languages describing all of the data that is out there. the goal should
not be unification under a single standard, but of ease of conversion
between existing standards that are modular and complete in themselves.
in this view, the complementing (not competition) of different formatting
languages is glorious and to be encouraged, not something to be dreaded,
avoided, and stamped out. the diversity and "complementarity"
is the key to the power.
==
I've been making all my points relative to the Web, but I think the
ideas apply equally well to *computer*languages*. there are all kinds
of silly holy wars fought over about what are the *best* computer
languages, and everyone that designs a new language seems to be
implicitly trying to incorporate the features of every other language
in existence and then some, i.e. a new "unified" or "complete" or
"ultimate" language (I recall a long flamewar out in the newsgroups
between Stallman, espousing Lisp, and Wall Perl fanatics).
to me this is all ridiculous, because in the
future the goal will be the ability to *convert* between languages
in automated ways, such that the same problem can be automatically
reformulated in another form to gain its particular idiosyncrasies.
imho, new computer languages are going to be invented as
long as human beings exist-- because what they really are is a
"component library".
for example, C is very low level but fast-- why can't I just convert
my Perl code directly into C whenever I want to? or vice versa?
in fact that is exactly what a compiler does, and I am suggesting
that the compilers of the future will allow conversions between
all kinds of languages, not merely a high level language to machine
code. in this sense the idea of fighting over different languages
as "ultimate" is ridiculous as the religious wars over who is the
"one true god"!! all algorithms are in principle interchangeable, and
I believe this theoretical concept will be increasingly applied
directly in the future.
==
anyway, this is my contribution-of-the-moment in trying to dispel
some of the "standards myths" that are extremely persistent out
there esp. in regard to Web software and language extensions.
NODE 6f030cbdRe: myths of software "standards"
Steve Reid <steve@edmweb.com>Sat, 6 Apr 1996 22:30:57 +0800
> there is tremendous ranting and raving in the Web world about how
> the HTML standard is fragmenting because of Netscape etc., and there
> is so much angst about trying to devise a *single* cohesive, unified
> standard that "everyone" follows. people talk as if Netscape is
> trying to "hijack" the standard, when in my opinion they are performing
> a valuable public service of trying to hammer the bits into useful
> form. everything they have proposed could not be handled by the
> earlier standards-- and if it could have been, chances are they would
> have used that standard.
Sure, the Netscape extensions are nice. And it's nice to have an operating
system (M$-DOG) pre-installed on every hard drive. But Net$cape, like M$,
was trying to esablish a dominant "follow-us-or-die" position in the
industry.
Yes, the Net$cape extensions allow people to do stuff that they wouldn't
otherwise be able to do. But, the extensions *could have* been
implemented in such a way that using them wouldn't be detrimental to
non-Net$cape browsers. Instead, they've altered the World Wide Web in
such a way that it can only be viewed "correctly" with Net$cape.
The rest of your post was quite interesting. I *do* think it would be
good to have multiple, interchangeable formats like we do for graphics.
What we really need to make that happen are DETAILED SPECIFICATIONS.
NODE 4f95948cRe: myths of software "standards"
"Vladimir Z. Nuri" <vznuri@netcom.com>Sun, 7 Apr 1996 16:19:07 +0800
SR:
>Sure, the Netscape extensions are nice. And it's nice to have an operating
>system (M$-DOG) pre-installed on every hard drive. But Net$cape, like M$,
>was trying to esablish a dominant "follow-us-or-die" position in the
>industry.
that was exactly the view I was trying to discredit us in my post.
did Netscape protect their creations with patents? no. what did they
do that prevents other browsers from immediately latching onto
their keywords?? we are talking about *bits*!!! oh, do they have
too much PRIDE or something to use an idea that somebody else
innovated? I think in all this ranting is lost the basic fact
that Netscape did what they did to be *innovative* and this
innovation is what is driving the net. can you indicate to me
why or how they were trying to squelch competition? what kind
of squelching is possible in a world where the next version of
anybody's software can immediately incorporate their own features?
>Yes, the Net$cape extensions allow people to do stuff that they wouldn't
>otherwise be able to do. But, the extensions *could have* been
>implemented in such a way that using them wouldn't be detrimental to
>non-Net$cape browsers.
you seem to be suggesting that they intentionally tried to screw
up non-netscape browsers, which I find laughable.
> Instead, they've altered the World Wide Web in
>such a way that it can only be viewed "correctly" with Net$cape.
this was by the choice of people who wrote web pages, who made
the collective decision to follow netscape. you are not criticizing
netscape, you see, you are simultaneously criticizing every person
who has made the decision to go with their standard. which is
a rather unenlightened way to look at the way that standards on
the internet work, imho-- they are not "handed down by anyone".
netscape could have been roundly ignored, and a zillion standards
die every year for this reason. but netscape made a positive
contribution, and this is reflected in the agreement of every
person who voluntarily, under total free will and no coercion,
picked their standard. can you tell me how netscape
twisted a single person's arm to put netscape tags in their
web pages?
NODE a4b685a5Re: myths of software "standards"
Steve Reid <steve@edmweb.com>Sun, 7 Apr 1996 17:23:27 +0800
> >Sure, the Netscape extensions are nice. And it's nice to have an operating
> >system (M$-DOG) pre-installed on every hard drive. But Net$cape, like M$,
> >was trying to esablish a dominant "follow-us-or-die" position in the
> >industry.
> that was exactly the view I was trying to discredit us in my post.
> did Netscape protect their creations with patents? no. what did they
Of course not. If they "protected" their creations with patents, a lot
of people would be less likely to use them. If the Net$cape extensions
weren't used, everything would look fine on other browsers and there
would be no pressure on the remaining non-netscape users (25%?) to switch
to Net$cape.
> why or how they were trying to squelch competition? what kind
> of squelching is possible in a world where the next version of
> anybody's software can immediately incorporate their own features?
The "Why" can be answered very easily: $$$. Netscape is not some
not-for-profit thing like PGP, Netscape is a COMMERCIAL CORPORATION. Keep
that in mind while I explain the "How"......
I think it is not unlike what Micro$oft did in the early 80s... They put
out a good OS (it was considered good at that time) and sold it really
cheap, and they obtained a large market share. Since they had such a large
market share, most of the software developers wrote for M$-DOS. Since
practically everyone was writing for MS-DOS, the public bought MS-DOS.
Other OS developers could write M$-DOS clones, but they would be just
that- clones. They would have no reason to write in new features, since
very few people would be bold enough to write software that wouldn't run
on M$-DOS. The OS makers would be condemned to forever follow Micro$oft
and try to maintain compatability. To this day, the mass market still
centers around the MS operating system.
With Netscape, it was similar... They put out a good browser (And I'm not
arguing there- IMHO it's the best browser currently available) for really
cheap, for many people it was even Free. They've obtained a large market
share. Since they have such a large market share, everyone writes web
pages for Net$cape. Since there are now so many "Get Netscape!" web pages,
even more people are switching to Netscape. Sure, other browsers could add
their own extensions, but if they won't work on Net$scape, nobody will use
them. And every non-net$cape browser will be OBSOLETE as soon as the next
version of net$cape comes along with it's new extensions.
> picked their standard. can you tell me how netscape
> twisted a single person's arm to put netscape tags in their
> web pages?
No arm twisting was necessary, once Net$scape had their large market
share. Just as there was no arm twisting to get people to write software
for MS-DOS and Windoze. Once a software company has a large enough market
share that they can define the standards for everyone else, they are
extremely difficult to "de-throne". At least Net$cape isn't abandoning
the *official* HTML standards.
Before I sign off, I will say that Netscape is a good browser. It may well
be that they simply created the extensions to make the WWW better. But,
since Netscape *IS* a commercial company, I tend to believe that they did
it to ensure their own profits. Really, there is no Real Proof either
way, so this tends to be a rather controversial (and opinionated) topic.
Some good might yet come from this... If Netscape and Microsoft start
battling over the "Web As An Operating System" market, Net$cape and
Micro$oft might chip away at each other enough to let the smaller
companies catch up. (Wishfull Thinking)
I guess this is kinda off the topic of the Cypherpunks list... I think we
should just "agree that we disagree" and let the matter be.
========================================
[This email signatu
r
e file is best
viewed with the FooBar
Mailer Program]
========================================
;)