Links and Type

Robert Raisch (
Thu, 21 May 92 12:50:19 EDT

First of all, hearty congrats to the WWW people. It's a great tool, and
since it is based on SGML, it has the broadest scope of any solution I have
yet seen.

To others, see the current issue of Byte magazine regarding "Info-Glut" and
SGML. Interesting.


I have a few recommendations regarding new link types in WWW. This is based
on thinking about hyper-applications for almost 15 years, (ever since I
first had the pleasure of hearing Ted Nelson speak in 1977.)

First though, there are a few ideas which I feel should be mentioned to 'set
the stage' for my list.

Transparent Documents --

a transparent document is one which a user creates locally,
and that is a new representation of an existant document.
Transparent documents are used to create new local links on
a document which I do not have permission to modify.

Transparent documents can then be made available to others,
(published) just as a "regular" document is, thus facilitating
the creation of new works from old.

User Documents --

a user document is where I keep my "bookmarks", links to
local documents, links to messages from others, links to
my "attention" links, (see below). User documents are where
we, as navigators of the docuverse, are defined as individuals.

They are also where we can keep links to other user documents
which have been permitted to view/modify my own local documents.

Another function of the User document is to collect users into
an abstract group. (Thus, based on my membership in user
document 'Research Group', I am permitted access to materials
'owned' by that group. Of course, messages sent to an abstract
group then become available to all members of that group.)

(Please note that a User Document is nothing more or less than
a collection of links, (as all documents are).)


Now, on to my list of link types....

There are 4 'minimal' link types which, I believe, a useful h-app *must*

1. Replacement
-- when activated, replaces the current document
with a new document.

2. Annotation
-- when activated, overlays a new document on the
current document, partially obscuring the original.

3. Inclusion
-- when the document is created, elements from other
documents are collection to be included in the
representation of the current document. (Quotes)

4. Expansion
-- when activated, new information is added to the
current document, expanding the original scope.
(Think of outline processors, and the collapse
of detail.) This is also a reflection of
Nelson's concept of 'stretch text'. (Stretch text
is where a sentence is constructed in such a
way that when it is collapsed it states it's thesis
in simple terms, and when expanded adds detail to
further express itself.

There are 3 further types which I believe are necessary to complete the
function paradigm.

6. Execution

-- when activated, some arbitrary function is performed.
The point that was mentioned about the lack of an
ubiquitious scripting language is well made. Lisp
is too arcane for most. Shell languages are too
platform specific. What is needed is a simple
to understand, freely available scripting platform.
Although I hesitate to mention it, REXX might be
a reasonable choice due to it's broad availability.

5. Attention (a specialisation of the Execution type)

-- when the current document is modified (a link is
added, or removed, or the document is merely read)
a message is sent to the 'owner' of the attention
link. This message creates a new link in the 'user
document' of the individual who placed the attention.

In this way, I could place a link onto a document I
had interest in, and when it was changed or accessed in some manner, I would be informed.

7. Collection (a non-local specialisation of the Execution type)

-- when activated, a collection link leaves the current
document, and 'travels' the docuverse, in search of
other documents which satisfy it's internal criteria.
This is the concept of a 'knowbot'.

Collection links can be activated based on day and
time, much like the WAIS questions in the MAC
WAIS interface, WAIS-Station. They could also be
activated based on external events, such as the
activation of an attention link.

Collection links would be written in the ubiquitious
scripting language, and would only be allowed to
operate on documents which were EXPLICITLY permitted.


One of the missing pieces here is the ability of creating new h-texts, and
adding new links to old h-texts.

Hypertext, and like systems, are of limited use if they do not support
collaboration. I feel that this is a VERY important point.




I start my session with my h-app, and open my user

I notice that 17 of my attention links have been activated
in the last day.

I select the most interesting and activate the link which
it created in my personal user document.

I am now reading an article which I previously linked, and
see that an annotation which I made some time ago has been
added to, by a colleague.

The comments are pertinant to my current work, so I create
a new local 'transparent' document to mirror the original

On this new document, I make a few new annotations and decide
to made this new work available to the research group of which
I am leader. I place a link to it in the user document which
represents my working group.

I also send a new document link to the colleague who made the
original comments, so that he can see how I have interpreted
his ideas, and included them into my own research.

I move ever onwards...


Ok, I hope that that fuels a little discussion, and I would *love* to hear
from others regarding these ideas.

(Yes, some of what I have talked about here exists, in various forms, on my
own personal system, but I would be *very* interested in hearing from
developers who might be interested in making something real and useful from
it. I, sadly, have too little time to make these ideas real. My ultimate
goal would be to make the realisation of these ideas available in the public

Regards, /rr

"knowledge is the *only* weapon"