Collaboration with HyperNews
Abstract
HyperNews is a package of software that supports conferencing on the
World-Wide Web. HyperNews lets readers add responses to existing WWW
pages. Furthermore, responses to each of those responses are
displayed to an arbitrary depth, thus supporting a threaded style of
conferencing. Notification by email when there is a new response
draws users into this new forum. Reorganization of the tree of
responses adds longevity to the collaboration archive.
Base Articles and Responses
A HyperNews forum is rooted at a "base article". The base article is
assigned a URL that uses a CGI script to fetch the body of the article
given an arbitrary HTTP URL for the HTML body document. The script
also appends the tree of responses using a pregenerated list which
recursively includes sublists.
It is often important to show the tree of responses rather than only
the top level direct responses to give readers more of the context of
each thread of discussion. On the other hand, it is also important to
not show readers too much that might not be interesting. Only the
titles and authors of each response are shown in the tree display; an
optional way to embed the body of each response might be useful in
some circumstances. HyperNews may be configured to limit the depth of
the tree displayed, although the actual depth is not limited. We will
experiment with other limits on the amount shown and the organization
of the display.
The author of a response may specify a "relationship", selected from a
list, that the response has to its parent. Each relationship is
represented graphically by an icon; the icon is displayed along with
each response.
When a a reader selects a response from the tree to display it, the
list of ancesters back to the base article is prepended to the
response body and the subtree of responses to that response is
appended. The list of ancestors provides some minimal context, and
the subtree of responses gives the appearance that the response is its
own base article.
A reader adds a response to a page by first selecting that page and
then clicking on the Respond link at the bottom of the page, hopefully
after having read the existing responses. On the form for entering a
response, the body may be entered in one of several formats, including
"HTML". One novel format is "URL" which lets the author point to
another existing page as the response.
Multiple Parents
Each response in the tree has a single parent. Because a message may
be in response to several things, it makes sense to allow multiple
parents. We plan to experiment with this, but the usual multiple
inheritance conflicts must be delt with, as well as several user
interface issues. Also, if there were more than one parent, for each
parent a different relationship might apply. For example, a response
might be in support of the argument given by one parent and also a
contrary argument for another parent.
Reorganization
Conversations frequently diverge from their original starting point,
or occasionally they start in an inappropriate place. Also, similar
conversations start multiple times in different places. One way to
avoid some of these problems and aid future readers, is moderation,
which HyperNews will eventually support. Currently, the maintainer of
a HyperNews forum can reorganize the forum in a couple different ways.
Of course, new base articles may be created. A subtree may be deleted
or moved to another base article; a placeholder for the subtree may
be left behind referring readers to the new location, if any. If a
reader requests a URL for a response that has been moved, the CGI
script will attempt to find the nearest existing response or the base
article above the response requested.
Security
HyperNews may be configured with several security constraints so the
administrator(s) of a HyperNews system may tailor it to the desired
community of users, from public anarchy to private correspondance.
The owner of each base article is also considered an administrator for
the article and all its responses. Each of the following functions
may be constrained: becoming a member, reading, creating base
articles, adding responses, deleting or moving responses, and
subscribing. For each function, there are three ways it may be
constrained: not at all, only members may do it, or only
administrators may do it. Also, if a function would modify
information owned by a member, then only that member or an
administrator may invoke it.
We are adding support for multiple, hierarchical groups in which
members of a subgroup are considered members of the containing
group(s). Each base article will be administered not just by an
individual but by a group. Each base article will list which
groups are permitted to perform which functions.
Notification
When a new response is added, other readers may wish to be notified
rather than forcing them to repeatedly poll the page to see if there
are new responses. Notification by email uses a dynamically
constructed list that is dependent on where in the tree the response
was added. The author of each ancestor of the new response is
automatically added to the list. Additionally, the base article and
each response has its own list of subscribers who have requested to be
notified of any responses below it. Alternatively, one may subscribe
at a high level and explicitly unsubscribe at lower levels. The form
for subscribing or unsubscribing to a particular response shows the
current subscription state for the response and for each of the
ancesters up to the base.
We are adding support for incoming email to automatically add
responses to the HyperNews archive. Eventually all HyperNews
functions will be available via email as well as the web. Similarly,
gateways to Usenet news and other asynchronous collaboration systems
are feasible.
Multiple Sets
We are adding support for multiple, hierarchical sets of HyperNews
articles. Properties that apply to articles in a set will also apply
to containing articles, unless overridden. These properties include
display customizations, security constraints, and subscription lists.
Annotations
The HyperNews system has been adopted for use as an annotation server
in which readers may add annotations to any document. The display of
annotations requires changes to the browsers so they may request the
annotations for the document being viewed. Our code works with NCSA
Mosaic for X, but getting the changes in other browsers is a
deployment problem. We are planning to use downloadable Java applets
or similar technology in the future.
Usage
As of August 1995, HyperNews has been set up on a couple dozen
servers, and there are active discussions on several of these. There
are perhaps as many installations behind firewalls or for a controlled
group of participants. There are over a hundred people subscribed to
receive HyperNews version updates.
Implementation
HyperNews requires no changes to Web clients since the scripts return
standard HTML documents. HyperNews uses standard CGI instead of
server-side includes, so it works with most servers. It uses the
internal security mechanisms of NCSA's httpd if available, or
alternatively, a form-based security mechanism may be used. URLs are
not affected by embedded passwords.
The HyperNews source is available via the source page.
Daniel LaLiberte
(liberte@ncsa.uiuc.edu)
Last modified: Mon Sep 4 13:12:38 CDT 1995