The recent flurry of interest over the appearance of purple numbers has obscured that their original purpose was for assisting with transclusion.
Transclusion involves quoting text from another page by reference instead of by duplicating the text. It can only be achieved in current web browsers using clunky mechanisms such as frames, which are not suitable for granular quoting at a paragraph level.
Today, quoting is usually achieved by copying the text inside a blockquote element. Examples of this usage can be seen all over the web — just look for one of the million blogs that consist of an obsessive stream of quotes. The blockquote element is widely used for good reason: it is more efficient, more reliable, safer and more expressive than transclusion can ever be.
Transclusion is inefficient
A web page that quotes sections of other pages using transclusion will require multiple HTTP requests from the browser to assemble it. The pipelining features of HTTP are of no use in this case, as the requests must go to different servers, requiring multiple TCP connections with the associated latency.
Blockquotes, on the other hand, are streamed to the browser inline over a single HTTP connection. Web sites that care about efficiently serving users should use blockquote, not transclusion.
Transclusion is unreliable
Web links break; this is an axiom of the web architecture. Web links used for transclusion will also break, but the consequence of a broken transclusion link is far more irritating: in many cases the resulting page will make no sense at all. Imagine a lengthy critique that interleaves paragraphs transcluded from an article with paragraphs of commentary. If the article disappears, the page will turn into a solid block of commentary about nothing.
Blockquotes can also have links, but they are informative and not mandatory. If the link breaks, the reader is at worst unable to verify that the source has been accurately quoted, but at least the quote is still there to be read.
Transclusion is dangerous
Transclusion is a security and legal risk for any web site that uses it. Content from web sites that are not under your control is fundamentally untrustworthy. Even web sites under the control of a trusted operator can easily be spoofed, cracked and defaced. By transcluding content from other web sites, a web site makes itself vulnerable to being hijacked with cross-site scripting attacks, libellous or illegal content, or a simple denial of service attack on its readers.
Transclusion is not expressive
Blockquote is based on a rich typesetting tradition that has developed concise and expressive visual markup for quoting blocks of text. For example, consider the following paragraph quoted from a fictious manuscript of Pride and Prejudice:
It is a truthe [sic] universally acknowledged, that a single man in possession of a good fortune must be in want of a wife. However little known … he is considered as the rightful property of some one or other of their daughters.
This quote marks an unlikely spelling mistake in the original text, elides some text with an ellipsis and highlights a particular phrase for effect. All of this is typical practice, but how could it possibly be done using transclusion?
While it might be diverting to concoct ever more elaborate linking schemes that are capable of annotating, eliding and adding markup to text, authors would balk at such ridiculously complex tools, since they can already achieve the same result using cut and paste and blockquote.
Transclusion belongs behind the scenes
Transclusion could be put to good use behind the scenes, in content management systems, technical documentation and knowledge-bases. Wikis could make good use of it, so could collaborative whiteboards and other groupware. Transclusion should only be used to assemble pages within closed-world systems, it does not belong on the web.
Update:
Chris Dent posts in defense of transclusion.
Copyright © 2004 Michael Day, mikeday@yeslogic.com