[Date Prev][Date Next][Thread Prev][Thread Next][Author Index][Date Index][Thread Index]

Re: "BackFollow", May it RIP.

> [] I think the term "Backfollow"
> needs to be changed (for outside purposes, at least). Since a 
> "backfollow" operation doesn't result in following anything, 
> the term is inaccurate and should be changed on this basis alone. 
> But when I think of how confusing the whole issue of link
> directionality 
> was to me when I first heard it described, I realize now that 
> "backfollow" contributed to this confusion needlessly.
> [] "Dereferencing a document" [] greater confusion would result []
> So then I thought about "BackReferencing a document", which was 
> equally descriptive but still bothered me for some reason. I 
> think it's the "back" reference (arrgh) that bothered me,
> unnecessarily 
> raising the issue of directionality again. And it sounds awkward.
> So how about something plain and simple, like "FindLinks"? The 
> advantages of this term are also its weakness: simplicity. Backfollow
> _sounds_ like something
> new and revolutionary. "FindLinks" doesn't inspire a similar 
> awe in me. Nevertheless, I've started using it. I'm keeping my 
> Search & Replace guns loaded, though, just in case.
> I'm interested in any thoughts people have on this subject. The 
> next
> revision of the Xanadu System Overview Document is likely to 
> be the one that developers first start reading, and I plan on 
> having a new term in place before that happens. 

I've been keeping quiet on this subject, because the last couple
times I said anything about it, it seemed like several hot buttons
got pushed.  That's not good for understanding, so I'll open up a bit.

As a long-time-hanger-on, relatively-recent-participant, I'll enter
my more-naive-than-most understanding of how "backfollow" came to be
used.  I will assert it as if it were gospel, but I want it clear that
I'm asking for corrections.  (Perhaps, if the corrections were edited
into it, it would become gospel?)


The Xanadu project arose from fundamental insights about text and
publishing, which occurred to and/or were collected by Ted Nelson.
Among these insights were the ideas that:

 - Literature is a debugged system. It does some VERY useful things
   VERY well.

 - Computers have the potential to do some useful things that
   paper-based literature DOESN'T do well.

 - Computers could also do the things it DOES do faster and better.

 - To be more than an add-on, a computer-based literature system
   must do BOTH, and do the important things paper-based literature
   does at LEAST as well as the paper system does.

This last is the ultimate target for the Xanadu project.

Because literature has evolved over a long period, an early task was
to examine what it actually did that was useful, and what related things
it didn't do that were so necessary that people did them manually.
These were analyzed into their components, to see how they could be
done on a machine.

Some of the useful things from literature:

 - Wide dissemination, at low cost, and
 - Preservation (through redundant storage of cheap copies) of:
    - Representations of ideas:
       - Text
       - Picutres
       - Exotic media (sound, motion pictures, scratch-n-sniff, pop-up...)
    - Representations of connections between ideas within a publication:
       - Captions
       - Marginal notes/aside-footnotes
       - Table-of-contents
       - Index
    - Representations of connections between ideas in different publications:
       - Citation-footnotes
       - Quotations.
    - Representations of deliberations over the truth of ideas:
       - Text
       - Citation-footnotes
       - Footnotes pointing to other arguments which are being refuted
       - Quotations
    - Collection in a convenient form of ideas from diverse sources:
       - Anthologies
       - Quotations
       - Citation-footnotes
    - Instructions for finding other related material:
       - Citation-footnotes
       - Footnotes pointing to other arguments which are being refuted

Upon analysis, it was found that all of these, and other useful
literature-like structures, could be built out of two fundamental

 - Original textural/graphic/exotic-media material ("documents")

 - Labeled connections between original material, other connections,
   and/or the labels of other connections.  ("links").

For example:

 - A quotation could be represented by a "pasted-in" copy of the
   quoted text, with a link between the quotation and the original
   appearance of the text, labeled to indicate that the text is a

 - A citation footnote could be represented by a link between the
   passage to be supported and some foreign text, with labeling
   indicating that the author of the passage made the link, and his
   intent was to claim that the foreign text supports his argument.

 - A marginal note or aside-footnote could be represented by a link
   between the main passage and the aside-comment.

 - A current-literature-like inquiry would be "Show me all the links
   equivalent to citation footnotes originating here."

 - A new, useful, literature-like inquiry (corresponding to the
   creation of an entry for a citation index) would be "Show me all
   the links equivalent to footnotes that CITE this text."

A link is an abstract representation of connectivity.  It consists of
(typically) two "endsets", designating the material it connects, plus
some annotation, (typically) explaining the connection.

The link itself distinguishes between the sets of connected material,
but has no inherent directionality.  The directionality, if any, is
just an interpretation of the USE to which the link is put.

Early in the project, links were visualized primarily as emulations
of aside-footnotes, citation-footnotes, and quotations.  Because such
paper-links were normally part of a document that also contained one
of the endsets of the link, the endsets were named from the viewpoint
of a reader that document.

A link was said to be "from" the place a reader of a paper document
would encounter one end, "to" the other end (where a paper link would
typically be invisible).  Thus, a footnote was "from" the place the
number or asterisk would appear, "to" the cited document, marginal
note, etc.  A quotation was "from" its appearance "to" the quoted

Similarly, link-following operations were named by analogy with the
normal behavior of a reader of a paper document.  To "follow" a link
was to go in the normal paper-reader direction.  Following a citation-
footnote to the cited work, following an aside-footnote from the text
to the marginal note, or following a quotation to the quoted work would
all be the normal direction, and would thus be called just "follow".

But with the Xanadu system, it is JUST as easy to go the other way.
You can ask the system to show you everything that quotes a particular
passage.  You can ask it for everything that cites a work.  You can
go from an aside to the place the asterisk was.  These are the reverse
of the easy direction for paper, so a new term was coined for doing
this.  The term is "backfollow".

"Backfollow" soon came to have a meaning slightly different from
"follow-the-reverse-of-the-paper-way".  This was because paper-emulating
links were expected to gang up on the "to" end, requiring some asymmetries
in their presentation to the user.  A quotation only quotes one passage,
but an interesting passage is likely to be quoted by many times.  The
flag of a citation-footnote only cites one thing, but an important
argument or piece of research is likely to be cited many times.

Following a link is actually done in two stages:
 - Finding the links to a given piece of text.
 - Traversing the links, to view what is on the other end.

User interfaces were expected to automatically do the "find" step for
quotations, citations, and asides "from" the text they were displaying,
so "follow" came to mean "traverse forward".

When looking for links "to" the text being viewed, the "find" would be
expected to find more than one link, (possibly MANY more), so the "find"
would not be done until the user asked for it, and the user would have
to select the link he wished to traverse before the "traverse" stage was
done.  (This stage would be done even if there was only one link, to give
the user some idea where he was going.)  Thus, "backfollow" came to mean
"find links 'to' where you are reading".

With time, however, confusion accumulated.  Xanafolk concentrated on
links as the purified essence of connectedness, and for some of them
the roots in paper literature became fuzzy prehistory.  Links were
envisioned that would express useful connections that DIDN'T correspond
to existing paper-document constructs, so "from/to" and "forward/backward"
stopped having well-defined meanings, even when the links had exactly
two ends.  Links and documents were analyzed into more fundamental atoms,
and simpler ways than links were found to express some interesting
properties of documents (such as "authorship" / "endorsement").  With
the loss of the model of the reader-of-a-paper-document, quote-links
became confusing, because the text was copied from the quotED document
to the quotING document, the reverse of a reader's library wanderings.
"Follow" and "Backfollow" took on additional meanings relating to internal
operations.  ("Follow": Navigate from a reference {doc, link, orgl, ...}
toward data.  "Backfollow": navigate from data toward a reference to the
data {link, quoting document, including document, ...})  Heated arguments
were held over whether, since the new sorts of links weren't necessarily
part of the document at one of their ends, NO links should be part of a
larger document.

And that's where we stand today, as Bob tries to explain this all to
people who think "Hypertext" is something that's written on a
HyperCard stack.


On the assumption that the above is correct, how about reserving
"follow" and "backfollow" for internal navigation, and use:

 - "traverse": Open a window on the stuff at the other end of a link
               (or highlight/bring-to-front/blink/move cursor to/etc.
		the stuff if a window is already open).

 - "find references": Find the links in the "hard-on-paper" direction.
 - "find (???)":      Find the links in the "easy-on-paper" direction.
 - "find links":      Find the links with no implication of direction.

	make any sense?