Why do we write standards?
rev-bob at gotc.com
rev-bob at gotc.com
Mon Nov 8 22:58:37 GMT 1999
Perhaps I'm coming at this from a different angle than you are, but in the current context
(Web development and standards), I must disagree with just about everything you say
here. Specifically:
> When you standardize, the benefits that you hope to achieve stem
> mainly from the network effect -- lower development costs and greater
> interoperability spring immediately to mind. These benefits are so
> powerful (and so tempting) that they often lead people to rush to
> standardization.
The Web is supposedly all about interoperability and platform independence. For either
of these to be possible, we have to have some way to ensure the following:
1. Web authors must be able to develop pages with some expectation that they can be
read...no matter what UA a given visitor is using. The number of UAs and platforms is
already so diverse that "test the page on everything" is impossible for the average author.
2. UA authors must be able to develop UAs with some expectation that they will
properly interpret Web pages...no matter what site a given user visits. The number of
web pages is up in the millions; "test the UA on everything" is flat-out impossible.
By setting a standard, both sides (theoretically) gain a huge advantage, and thus the third
side of the discussion - Joe Average, who uses a UA to visit pages - sees a benefit right
along with 'em. Web authors can code to the standard, UA authors can code to the
standard, and Joe Average can use a standard-compliant UA to visit standard-compliant
pages and see them at least roughly as intended. That's the goal, right?
The problem comes in when we see incomplete standards, incomplete implementations,
crude authoring hacks, and old UAs. For a prime example, take what I was working on
this weekend and some of last week. Way back in the HTML 3.0 proposal, a tag named
Q came along, to demarcate inline quotations. Q got accepted into the 3.2 spec, and
carried over into 4.0. Fine and dandy. From a rendering viewpoint, Q is extremely
simple to handle except where the CITE attribute is concerned: put quotes around the
contents, alternating as needed when one Q tag is nested inside another. Considering
how long this tag's been in the specs, this should be almost universal by now, right?
Wrong; the only currently-available browser I can find which handles Q properly is
Lynx, starting with version 2.6. Netscape and Microsoft have both utterly ignored this
part of the specs, making them noncompliant. (To be fair, the Gecko build I have
correctly handles Q - but as Gecko is still pre-alpha, I can't really count that.)
> On the other hand, standardization has many costs, of which the most
> obvious are the initial cost of implementing more than you need to
> (since standards are necessarily a superset of the needs of any
> specific set of users) and the risk of committing to an inappropriate
> solution prematurely and squashing real innovation.
And here I thought the whole reason for a standards ratification process and a
Consortium to oversee it was to address exactly those points. By the time a specification
gets to the status of a Recommendation, it has been hashed over much more thoroughly
than most federal laws; we can hardly consider this result a rash, premature conclusion.
> If a standard is successful, the network effect can more than
> compensate for the negatives, but most standards simply fail and leave
> the early implementors out of pocket. The problem is that,
> traditionally, standardization has solved existing problems: everyone
> had trains but they could not run on the same rail gauge, or there
> were many different phone companies but customers from one could not
> call customers from another another, or every public house used a
> different sized glass so it wasn't possible to compare prices.
And now, everyone has a browser but they can't view the same Web pages. To return
to that Q concern, I can solve it with some relatively easy server-side logic - but
compared to Joe Average Author, I'm the exception. Most authors don't have that tool
available, and many of those who do aren't willing to expend a great deal of effort in
tuning the code that closely. ("Serve a quotation mark entity to everybody except Lynx
and Gecko users, and serve the Q tags to everybody except old browsers - does that
work?" Yeah, that work...too *much* work.)
> Now that we're trying to standardize in *advance* of implementation,
> we run an enormous risk of messing up: our industry simply lacks any
> real, large-scale implementation experience to guide the process, so
> we're just publishing our own wild speculations and stamping them as
> W3C Recommendations or ISO standards or what-have-you.
Hey, we've seen the damage done by leaving innovation in the hands of the browser
authors - the Web still hasn't recovered from that fragmenting, and the current state of
affairs is at least partly due to people like myself crying out "Enough!"
> The solution is to standardize incrementally to minimize the risks,
> and to concentrate initially on the areas that will bring the most
> benefit for the least effort.
Keep in mind that once a UA is released, it never goes away - and people like me who
actually want to communicate instead of just writing "k00l pagezzzz" will have to keep
developing pages to accomodate it. "Fix it in the next release" may work inside a
company, but the general public is justifiably sick of it. Witness the general public's sour
reaction to Microsoft's "fix it next time out" attitude with Windows....
Rev. Robert L. Hood | http://rev-bob.gotc.com/
Get Off The Cross! | http://www.gotc.com/
Download NeoPlanet at http://www.neoplanet.com
xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo at ic.ac.uk the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)
More information about the Xml-dev
mailing list