Cyberborean Chronicles

The ancient tags museum

Something curious happened: Sam Ruby made a blog post which broke all browser-based RSS aggregators (the source: Sam Destroys the Internets by Tim Bray). See here, here and here for examples of demolitions (only if they aren’t fixed yet).

What did he do, indeed? He used some (oh, I’m afraid to repeat it on my blog page!) HTML tag which turns out to be an ancient, almost forgotten incantation sunken in a deepest genetic memory of the modern web-browsers. It was spoken and they go mad.

Well, ok, the name of horror was <PLAINTEXT> (my fingers are crossed). Has somebody ever heard about it? I’m in web-development for living since 1998 and I heard nothing. Nevertheless, this monster is defined (but as “deprecated”) in HTML 2.0 spec and even Firefox 1.5 still remembers it. This tag is similar to <PRE> but much more malicious – it has no closing tag and when a browser meets this tag, it must interpret the rest of file as a bare plain-text — all the tags, all formatting, even closing </BODY> and </HTML> will be displayed on a web-page “as is”.

I got curious (I love old and strange things, BTW) and moved my boots to dig for another HTML archeology. There are few relics I found in dusty HTML annals (alphabetically):

<APP>

A deprecated synonym of <APPLET> (which also had been deprecated in favor of more universal <OBJECT>).

<BGSOUND>

Plays annoying background sound (mostly a music of author’s taste) which cannot be stopped and without asking a visitor. It was kinda cool thing of first generation of “home page” creators but happily, was forgotten by their followers and almost obsoleted nowadays.

<BLINK>

Shows a blinked text. It was used when author didn’t want the text to be read. Another “coolness” of amateurish homepages at mid-1990’s (see <BGSOUND>, <MARQUEE>). Now it is mostly forgotten.

<COMMENT>

A commentary (ignored text). Almost synonym of standard <-- --> braces but had an “undocumented feature” (or bug?) – if another HTML tags were inside <COMMENT></COMMENT> block, their content was displayed.

<DFN>

Earliest HTML was a strange mix of “visual” (like <BLINK>) and “logic” tags. This tag is pure “logical” — it indicates a definition of a term. Nobody knows how it looked on the screen but supposedly, there was an italic font.

<HTMLPLUS>

There is a legend about mysterious forgotten language called HTML+. Some historicians think it was early HTML extended with few “advanced” concepts (such as forms, tables and frames) which were later brought back into the mainstream language. This tag indicates the bounds of HTML+ document.

<HYPE>

A mythical “easter egg” tag. They say it played some silly music in earliest Netscape versions for great fun of developers.

<KBD>, <VAR>, <SAMP>, <TT>

A plenty of tags for computer related concepts discloses the hackish roots of HTML. There are special tags for keyboard input, variable names, sample program output and abstract “teletype” text. Mostly, they had the same effect of switching to a monospaced font. For now, <CODE> seems to be a conventional element for this purpose, though some of them (especially <TT> because of shortness) are still in use.

<LISTING>, <PLAINTEXT>, <XMP>

Another hackish influence. They all for inserting the preformatted text blocks (program listings etc) into a document and escaping HTML markup (see about Ruby’s <PLAINTEXT> virus above). They were replaced by <PRE> element in modern HTML.

<MARQUEE>

A courtesy of MSIE developers for creating annoying scrolling strings. Yet another trick to make the text unreadable (an answer of MS to Netscape’s <BLINK>). Together with the blinked counterpart, it was popular among earliest homepage creators.

<MENU>

I have no idea how it was differed from <UL> (bulleted lists). Looks like another “hackerism”.

<MULTICOL>

A courtesy of Netscape developers for creating multicolumn “newspaper-like” page layouts without tricks with tables. It was an remarkable effort aimed to improve “web-typography” but it was not supported by standards and other browser vendors. It is entirely obsoleted now.

<NEXTID>

A mysterious tag from HTML prehistory. In the first known HTML spec (HTML 2.0, 1995) it already had been declared as “included for historical reasons only”.

The <NEXTID> element gives a hint for the name to use for a new <A> element when editing an HTML document. It should be distinct from all NAME attribute values on <A> elements.

Sounds like abracadabra for me. I suspect that the editors forgot its purpose themselves when they wrote the spec.

<SOUND>

A synonym of <BGSOUND> (see above).

<SPACER>

Most likely, it was introduced for legitimizing the conventional tricks with “invisible” GIF images to control width of table columns (a common practice of designing page layout in pre-CSS era). It makes the same as if you’d insert a transparent empty image with specific width and height.

<WBR>

It was used only inside the <NOBR></NOBR> (no line breaks) blocks and indicates the place where browser can break a line. Though being deprecated, <NOBR> tag is still in rare use but <WBR> seems to be completely forgotten.

Essays · ,
Share

No Responses to “The ancient tags museum”

  1. Andy · April 1, 2008 at 6:12 pm · Reply
  2. NJL · April 1, 2008 at 10:29 pm · Reply

    Google still uses WBR to force long URLs to break at the /.

  3. Shii · April 2, 2008 at 12:42 am · Reply

    Since the original WorldWideWeb program was both a browser and an editor, it required a little cue to figure out what to name the next anchor. The NEXTID was incremented by 1 ever time someone made a new A tag. So, if NEXTID was 18, the next link you made would have “name=18” and WorldWideWeb would increment NEXTID to 19.

    Example here: http://www.w3.org/History/19921103-hypertext/hypertext/WWW/TheProject.html

  4. Shii · April 2, 2008 at 12:44 am · Reply

    Also, BGSOUND stuck around for a hell of a long time, thanks to HTML illiterates telling their friends how to include music on their pages.

Leave a Reply