« Vancouver Gas Price Scam | Main | Shipbreaking »

The Web: Poster-child for success of extensibility and the Must Ignore unknowns rule

I thought I'd summarize the history of extensibility, the "must Ignore unknowns" rule, and a couple of the greatest extensions in html, images and forms. I used the W3C early ideas for HTML page.

HTML Version 1.0 in 1992 didn't have forms or images. It did allowed for their future development because it contained the extensibility and must ignore unknowns rule in
"WWW parsers should ignore tags which they do not understand, and ignore attributes which they do not understand of tags which they do understand."

There was no official HTML 1.x version of HTML, but there is HTML Version 1.2 in 1994. It contains the image tag, though no mention of extensibility or forms. My understanding is that Tim Berners-Lee didn't want images because of bandwidth concerns, but that Marc Andreesen put them into Mosaic anyways. Maybe an example of where extensibility *in spite* of the central authority is a good thing? As for the missing extensibility rules, my bet is that people were effectively following the "must ignore unknowns" rule but it simply hadn't made it into the draft specs.

During the same time, HTML+, though not widely deployed, added forms and how text flows around images.

HTML Version 2.0 in 1995 contains images, forms, extensibility and the "must ignore unknowns" rule. As it says,
"To facilitate experimentation and interoperability between
implementations of various versions of HTML, the installed base of
HTML user agents supports a superset of the HTML 2.0 language by
reducing it to HTML 2.0: markup in the form of a start-tag or end-
tag, whose generic identifier is not declared is mapped to nothing
during tokenization. Undeclared attributes are treated similarly. "

Notice the way to allow "forwards compatibility" is to allow the future version of a language to be a superset of the current version of the language. HTML 2.0 also acknowledges the evolution of the specification in
" Since 1993, a wide variety of Internet participants have contributed
to the evolution of HTML, which has included the addition of in-line
images introduced by the NCSA Mosaic software for WWW. Dave Raggett
played an important role in deriving the forms material from the
HTML+ specification."

Now imagine a Web in which HTML 1.0 has said something like "WWW parsers must catch fire and die if any unknown elements or attributes are found." and the browsers had faithfully done that.

We see the main reason for building extensibility into languages in version 1.0: To allow experimentation and innovation in languages outside of a central authority. And HTML and the Web are conclusive proof of the merits of building extensibility into V1.0.

About

This page contains a single entry from the blog posted on September 24, 2004 2:20 PM.

The previous post in this blog was Vancouver Gas Price Scam.

The next post in this blog is Shipbreaking.

Many more can be found on the main index page or by looking through the archives.

Powered by
Movable Type 3.34