* * * * *
Musings on the problems of Transclusion
Mike Taht (Postcards from the Bleeding Edge) [1] would like transclusion. [2]
I don't think transclusion will truely ever come about.
Transclusion, one of the prime concepts of Xanadu [3] (43 years and still not
here!), is the ability to include quotes from other documents without having
to “cut-n-paste.” Instead, you give a reference to the portion you want
quoted in your document and the underlying Xanadu system will handle the
actual process of “cut-n-paste” for you when someone requests your document.
Sounds nice, but there are problems.
In a Xanalogical system, the actual reference contains a byte range of the
target document, such that if I wanted to quote Mike Taht's paragraph on
transclusion:
> **Transclusion for text:** Bloggers do manually what Ted Nelson wanted to
> do automatically—quote parts of textual articles—and while his goal was
> lofty, I've gradually come to the conclusion that he was right. All the
> mass duplication of partial texts, all the work that we do to ensure credit
> is given—would have been handled by Xanadu. The ability to quote partial
> texts exists in the http 1.1 protocol, but nobody uses it. (It's byte
> specific, and buried deep in the protocol). It's possible to use it just as
> easily as we copy and paste today.
>
All I need to do would be to specify the document [4] between bytes 13,226
and 13,791 inclusive, insert that reference into my document and when you
bring up my page, you'll see the portion I referenced from Mike embedded
within my document.
Now, here's the first problem: Mike makes a change to his document—perhaps he
fixes a typo, or slightly changes the style and layout of his page. That
could affect the byte ranges for that particular paragraph and what you see
is:
> **xt:** Bloggers do manually what Ted Nelson wanted to do automatically—
> quote parts of textual articles—and while his goal was lofty, I've
> gradually come to the conclusion that he was right. All the mass
> duplication of partial texts, all the work that we do to ensure credit is
> given—would have been handled by Xanadu. The ability to quote partial texts
> exists in the http 1.1 protocol, but nobody uses it. (It's byte specific,
> and buried deep in the protocol). It's possible to use it just as easily as
> we copy and paste today.
>
> Anyway, off to AA
>
Oops. Sorry Mike, didn't mean to make you attend AA there …
Now, as it stands, Xanadu has a solution for this problem: versioning. The
original idea was that not only would you grab a reference to a portion of
the page, but a reference to the version you are quoting. So, not only am I
quoting bytes 13,226 to 13,791 inclusive, but I'm quoting bytes 13,226 to
13,791 inclusive of the version dated 2003-09-03T23:21:42-08:00.
But there's still a problem.
What if the domain expires? If pages are moved or removed, then (the
hypothetical) versioning webserver will still have a copy of the original
page to serve up, but what if the domain goes away? Or is transfered to a new
owner?
I just now tried an experiment. I loaded up December, 1999 [5] of my journal
here, the first month I started, and decided to see just how many of the
pages I quoted were still around.
Not a single one.
If transclusion were a part of HTTP (HyperText Transport Protocol) and HTML
(HyperText Markup Language), then this Slashdot [6] post I quoted (December
10^th, 1999 [7]):
> Guess what? That's bunk. They haven't infected me. I'm merely using a
> library function in the way that library functions are meant to be used:
> they're an API (Application Program Interface), and you link to them. It is
> of no consequence whether it's statically linked at link/load-time,
> dynamically linked at start-up, or accessed at run-time during execution
> via any one of myriad forms of RPC (Remote Procedure Call). It's API only,
> not material inclusion. APIs aren't viral.
>
Would now come up as:
> We can't find a comment with that ID (282) in this discussion (2833 [8]).
> If this comment was posted moments ago, please wait 60 seconds for it to
> appear. Otherwise, if you got here through a link generated by Slashdot,
> please report this as a bug. But if you got here thanks to a silly user's
> comment text or journal entry or something, or from an external site, this
> link is just invalid—sorry.
>
Well, assuming the original byte ranges requested were ignored, otherwise we
end up with Slashdot going to AA …
And that's just the technical problems (which, given enough time, money and
man power to, anything can be done—we went from total surprise to Sputnik to
playing golf on the moon in a dozen years) but technical problems are easy to
solve compared to the political and social problems transclusion brings
forth.
Not everyone wants a permanent record of what they write. Or of the editing
changes they made [9]. Or even stand by their own words [10]. Or owe up to
their own history. And there are plenty of sites that hide their content
behind registrations and payment schemes and don't particularly care to be
quoted (and they wonder why they don't have good rankings in Google [11]).
Of course, Xanadu has a solution to that last problem, but it requires ACL
(Access Control List)s and micropayments, which is a whole other set of
problems both technical and political …
[1]
http://the-edge.blogspot.com/2003_08_31_the-edge_archive.html#106265648270585749
[2]
http://www.usemod.com/cgi-bin/mb.pl?TransClusion
[3]
http://xanadu.com/tech/
[4]
http://the-edge.blogspot.com/2003_08_31_the-edge_archive.html#106265648270585749
[5]
gopher://gopher.conman.org/1Phlog:1999/12
[6]
http://slashdot.org/
[7]
gopher://gopher.conman.org/1Phlog:1999/12/10
[8]
http://slashdot.org/comments.pl?sid=2833
[9]
http://weblog.burningbird.net/fires/001575.htm
[10]
http://www.tenreasonswhy.com/weblog/archives/2003/07/10/the_ethics_of_depublishing.html
[11]
http://www.google.com/
Email author at
[email protected]