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.
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.
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.
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.
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.
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.
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.
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.
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.
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. Please see http://union.ncsa.uiuc.edu/~liberte/hypernews/overview.html.