Message-Id: <9206242304.AA04497@pixel.convex.com> To: davis@willow.tc.cornell.edu (Jim Davis) Cc: www-talk@nxoc01.cern.ch Subject: Re: Raisch's Attention link In-Reply-To: Your message of "Wed, 24 Jun 92 12:02:25 EDT." <9206241602.AA13181@willow.tc.cornell.edu> Date: Wed, 24 Jun 92 18:04:27 CDT From: Dan Connolly <connolly@pixel.convex.com> ><paragraph> >In a previous message, R. Raisch proposed a number of interesting >link types. One of them was the attention link, which I want to >discuss here. I am uncertain about the need for this link, the >technical ability to provide it, and the definition. > [side note: Jim: what did you use to compose richtext? Ez?] While all these ideas are very interesting, I sometimes get lost in a haze of ideas and scenarios. I'd like to get a handle on just what application we're developing here. The pie-in-the-sky seems to be a distributed, hypermedia CSCW (computer supported collaborative work) platform, where multiple authors discover, research, read, reply, refute, annotate, author, and otherwise exchange information. Features of such a system might include: - distributed access to documents, i.e. a document can be processed by a client on another host - fulltext searching of large bodies of information - direct manipulation query, i.e. point-and-click at the information that you're interested in - hypertext, i.e. random-access both within documents and between documents - direct manipulation editing, i.e. editing a representation of the end product rather than the source format (WYSIWYG) - multimedia documents (formatted text, raster images, line drawings, audio, video, structured enclosures) - hypermedia (just a term for multimedia hypertext) In order to refine the model behind such an application and explore the functionality different models support, let's have a look at some existing applications and an abstract of the model they present. (terms introduced by _underscores_ are objects defined by the model.) Internet mail: distributed text message interchange With _user agent_, a user composes a _message_, which is delivered by a _transfer agent_ to a _mailbox_, possibly in another _domain_, where another user can read the message. MIME defines various _types_ of messages, including text, images, audio, video, included messages, and multipart (complex) types. The recieving user may forward the message or reply to the message by composing a new message including part or all of the original. USENET news: distributed bulletin board An _article_ is a special kind of message, addressed to a _newsgroup_ rather than a _mailbox_. _Posting software_ enters the article into a _repository_. A _news reader_ is a variant of a mail user agent that helps a user navigate the articles in the repository. It maintains a record of which articles the user has read. (Transfer agents fit in somehow, and NNTP adds a client/server separation between the news reader/poster and the repository). WAIS: distributed fulltext search and multimedia retrieval With a _wais client_, a user composes a _question_ consiting of some relavent text and some _sources_ to consult. The wais client contacts the _server_ for each source and makes a _query_ using the relavent text. The servers respond with a scored list of _document identifiers_. The user can select a document identifier and instruct the client to _retrieve_ the corresponding _document_. The user can then refine the question by adding relavent documents or _chunks_ of relavent documents. FTP: distributed file exchange A user invokes a _client_ on one _host filesystem_. The client logs into a _server_ on another _host filesystem_ using a _username_ and a _password_. The user indicates a _mode_ and a _directory_ to the server through the client. The user can request that the client display a _directory listing_ from the server, or transfer a _named_ _file_ from the server's filesystem to the client's. archie (prospero, really): a distributed file system A user indicates a _host_, _search term_, and _search mode_ to a _client_. The client contacts the _server_ on that host, issues a query, and displays the resulting list of (host|dir|mode|date|seq|size|name|type) _items_. Gopher: distributed hierarchical information browser The _client_ connects to a _server_ (a _port_ on a _host_) and sends it a _selector_. The server either sends back a _document_ or a _directory_, depending on the _type code_ corresponding to the selector (the null selector is defined to be the root directory of the server). A directory is a list of _items_. Each item consists of a type code, a _name_, a selector, a host, and a port. The client displays the names for the user, and the user chooses one. The client sends the selector to the server indicated by the corresponding host and port, and depending on the type code, 0) display the resulting document, 1) display the resulting directory, 4-6) decode the resulting archive 9) save the resulting document to a file. Codes 2, 7, and 8 request services from CSO phone book servers, fulltext gopher servers, and telnet hosts respectively. The client maintains a _stack_ of the directories the user has visited, and the user can choose to "go back" in addition to choosing a directory item. WWW: a distributed hypertext browser a WWW _client_ parses an _address_ into a _scheme_, a _server_, a _path_, an _anchor id_, and some _search terms_. The client retrieves a _document_ from the server using the path and search terms (using one of several protocols), and displays the document, indicating the _anchor element_ indicated by the anchor id. Documents contain _structural elements_ such as headings, lists, etc. The user requests the next document by either a) choosing one of the anchor elements of the document (which specifies an address), or b) if the document is an _index_, the user can request a search by supplying search terms. The client combines the address of the document with the search terms and begins again. Otherwise, the user can choose one of the anchor elements and instruct the client to use the corresponding address for the next document. GNU Info: online hypertext documentation for applications and products An info _browser_ displays the root _node_. A user indicates another node to display by choosing _up_, _next_, _previous_, choosing a _menu item_, or indicating a _note_ to follow. Unix manual: structured text documentation for unix commands and fuctions A user may request _formatted text display_ of a _page_ by its _name_, and _section_, or they may request display of all _permuted index entries_ (containing names of pages) that match a _string_. The database is defined on a per-user basis as a list of _trees_, each contatining a permuted index and one or more sections containing one or more pages. Frame: direct manipulation hypermedia editor, hypermedia browser FrameMaker supports point-and-click editing of _documents_ composed of _frames_ containing _objects_ (geometrics graphics and raster images) and _textflows_ of _paragraphs_ of formatted text and _markers_, including _link sources_ and _link destinations_. FrameViewer displays a _page_ frame of a document, and allows point-and-click access to the link sources. Every document has an implicit firstpage and lastpage link destination. Every page has an implicit link to the next and previous page. Compare and contrast objects: Mail messages vs. WAIS documents vs WWW documents vs FTP files (unique id's? writable?) WAIS source vs. news group WAIS server vs. NNTP server vs. gopher server vs HTTP server Message-ID vs WAIS docid vs WWW UDI WAIS chunk vs. WWW anchor vs. FrameMaker marker Info node vs. FrameMaker page vs. WWW document Compare and contrast features - distributed access to documents mail: no news: NNTP allows retrieval of headers by newsgroup or date wais: - fulltext searching: WAIS vs. WWW vs. gopher - direct manipulation query: xwais vs. xgopher vs. NeXT WWW - hypertext: WWW vs. GNU Info vs. FrameMaker - direct manipulation editing: FrameMaker vs. Andrew vs. Interviews - multimedia documents: FrameMaker vs. Gopher vs. MIME vs. WAIS vs. WWW I'm formulating a model that will hopefully put all these features and objects into one framework for discussion, at least. Dan