Links and Type (Robert Raisch)
From: (Robert Raisch)
Message-id: <>
Subject: Links and Type
Date: Thu, 21 May 92 12:50:19 EDT
X-Mailer: ELM [version 2.3 PL11]
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"