WorldWideWeb: Proposal for a HyperText Project

To: P.G. Innocenti/ECP, G. Kellner/ECP, D.O. Williams/CN
Cc: R. Brun/CN, K. Gieselmann/ECP, R.€ Jones/ECP, T.€ Osborne/CN, P. Palazzi/ECP, N.€ Pellow/CN, B.€ Pollermann/CN, E.M.€ Rimmer/ECP
From: T. Berners-Lee/CN, R. Cailliau/ECP
Date: 12 November 1990
The attached document describes in more detail a Hypertext project.

HyperText is a way to link and access information of various kinds as a web of nodes in which the user can browse at will. It provides a single user-interface to large classes of information (reports, notes, data-bases, computer documentation and on-line help). We propose a simple scheme incorporating servers already available at CERN.

The project has two phases: firstly we make use of existing software and hardware as well as implementing simple browsers for the user's workstations, based on an analysis of the requirements for information access needs by experiments. Secondly, we extend the application area by also allowing the users to add new material.

Phase one should take 3 months with the full manpower complement, phase two a further 3 months, but this phase is more open-ended, and a review of needs and wishes will be incorporated into it.

The manpower required is 4 software engineers and a programmer, (one of which could be a Fellow). Each person works on a specific part (eg. specific platform support).

Each person will require a state-of-the-art workstation , but there must be one of each of the supported types. These will cost from 10 to 20k each, totalling 50k. In addition, we would like to use commercially available software as much as possible, and foresee an expense of 30k during development for one-user licences, visits to existing installations and consultancy.

We will assume that the project can rely on some computing support at no cost: development file space on existing development systems, installation and system manager support for daemon software.

T. Berners-Lee R. Cailliau

WorldWideWeb:

Proposal for a HyperText Project
T. Berners-Lee / CN, R. Cailliau / ECP

Abstract:

HyperText is a way to link and access information of various kinds as a web of nodes in which the user can browse at will. Potentially, HyperText provides a single user-interface to many large classes of stored information such as reports, notes, data-bases, computer documentation and on-line systems help. We propose the implementation of a simple scheme to incorporate several different servers of machine-stored information already available at CERN, including an analysis of the requirements for information access needs by experiments.

Introduction

The current incompatibilities of the platforms and tools make it impossible to access existing information through a common interface, leading to waste of time, frustration and obsolete answers to simple data lookup. There is a potential large benefit from the integration of a variety of systems in a way which allows a user to follow links pointing from one piece of information to another one. This forming of a web of information nodes rather than a hierarchical tree or an ordered list is the basic concept behind HyperText.

At CERN, a variety of data is already available: reports, experiment data, personnel data, electronic mail address lists, computer documentation, experiment documentation, and many other sets of data are spinning around on computer discs continuously. It is however impossible to "jump" from one set to another in an automatic way: once you found out that the name of Joe Bloggs is listed in an incomplete description of some on-line software, it is not straightforward to find his current electronic mail address. Usually, you will have to use a different lookup-method on a different computer with a different user interface. Once you have located information, it is hard to keep a link to it or to make a private note about it that you will later be able to find quickly.

Hypertext concepts

The principles of hypertext, and their applicability to the CERN environment, are discussed more fully in€ [1], a glossary of technical terms is given in [2]. Here we give a short presentation of hypertext.

A program which provides access to the hypertext world we call a browser. When starting a hypertext browser on your workstation, you will first be presented with a hypertext page which is personal to you : your personal notes, if you like. A hypertext page has pieces of text which refer to other texts. Such references are highlighted and can be selected with a mouse (on dumb terminals, they would appear in a numbered list and selection would be done by entering a number). When you select a reference, the browser presents you with the text which is referenced: you have made the browser follow a hypertext link :

(see Fig. 1: hypertext links).

That text itself has links to other texts and so on. In fig. 1, clicking on the GHI would take you to the minutes of that meeting. There you would get interested in the discussion of the UPS, and click on the highlighted word UPS to find out more about it.

The texts are linked together in a way that one can go from one concept to another to find the information one wants. The network of links is called a web . The web need not be hierarchical, and therefore it is not necessary to "climb up a tree" all the way again before you can go down to a different but related subject. The web is also not complete, since it is hard to imagine that all the possible links would be put in by authors. Yet a small number of links is usually sufficient for getting from anywhere to anywhere else in a small number of hops.

The texts are known as nodes. The process of proceeding from node to node is called navigation . Nodes do not need to be on the same machine: links may point across machine boundaries. Having a world wide web implies some solutions must be found for problems such as different access protocols and different node content formats. These issues are addressed by our proposal.

Nodes can in principle also contain non-text information such as diagrams, pictures, sound, animation etc. The term hypermedia is simply the expansion of the hypertext idea to these other media. Where facilities already exist, we aim to allow graphics interchange, but in this project, we concentrate on the universal readership for text, rather than on graphics.

Applications

The application of a universal hypertext system, once in place, will cover many areas such as document registration, on-line help, project documentation, news schemes and so on. It would be inappropriate for us (rather than those responsible) to suggest specific areas, but experiment online help, accelerator online help, assistance for computer center operators, and the dissemination of information by central services such as the user office and CN and ECP divisions are obvious candidates. WorldWideWeb (or W3 ) intends to cater for these services across the HEP community.

Scope: Objectives and non-Objectives

The project will operate in a certain well-defined subset of the subject area often associated with the "Hypertext" tag. It will aim:

The project will not aim

Requirements Analysis

In order to ensure response to real needs, a requirements analysis for the information access needs of a large CERN experiment will be conducted at the very start, in parallel with the first project phase.

This analysis will at first be limited to the activities of the members of the Aleph experiment, and later be extended to at least one other experiment. An overview will be made of the information generation, storage and retrieval, independent of the form (machine, paper) and independent of the finality (experiment, administration).

The result should be:

This analysis will itself not propose solutions or improvements, but its results will guide the project.

Architecture

The architecture of the hypertext world is one of data stored on server machines, and client processes on the same or other machines. The machines are linked by some network (fig. 2). Fig. 2: proposed model for the hypertext world A workstation is either an independent machine in your office or a terminal connected to a close-by computer, and connected to the same network. The servers are active processes that reply to requests. The hypertext data is explicitly accessible to them. Servers can be many on the same computer system, but then each caters to a specific hypertext base. Clients are browser processes, usually but not necessarily on a different computer system. Information passed is of two kinds: nodes and links.

Building blocks

Browsers and servers are the two building blocks to be provided.

A browser

is a native application program running on the client machine:-

A server

is a native application program running on the server machine:-

Operation

A link is specified as an ASCII string from which the browser can deduce a suitable method of contacting an appropriate server. When a link is followed, the browser addresses the request for the node to the server. The server therefore has nothing to know about other servers or other webs and can be kept simple.

Once the server has located the requested node, it will know from the node contents what the node's format is (eg. pure ASCII, marked-up, word processor storage and which word processor etc.). The server then begins a negotiation with the browser, in which they decide between them what format is acceptable for display on the user's screen. This negotiation will be based only on existing conversion programs and formats: it is not in the scope of W3 to write new converters. The last resort in the negotiation is the binary transfer of the node contents to a file in the user's file space. Negotiating the format for presentation is particular to W3.

Project phases

Provided with resources mentioned below, we foresee the first two phases of the project as achieving the following goals:

Phase 1 -- Target: 3 months from start

At this stage, readership is universal, but the creation of new material relies on existing systems. For example, the introduction of new material for the FIND index, or the posting of news articles will use the same procedures as at present. we gain useful experience in the representation of existing data in hypertext form, and in the types of navigational and other aids appreciated by users in high energy physics.

Phase 2 -- Target: 6 months from start

In this important phase, we aim to allow The ability of readers to create links allows annotation by users of existing data, allows to add themselves and their documents to lists (mailing lists, indexes, etc). It should be possible for users to link public documents to (for example) bug reports, bug fixes, and other documents which the authors themselves might never have realised existed.This phase allows collaborative authorship. It provides a place to put any piece of information such that it can later be found. Making it easy to change the web is thus the key to avoiding obsolete information. One should be able to trace the source of information, to circumvent and then to repair flaws in the web.

Resources required

1. People

The following functions are identifiable. They do not necessarily correspond to individuals on a one to one basis. The initials in brackets indicate people who have already expressed an interest in the project and who have the necessary skills but do not indicate any commitment as yet on thier part or the part of their managers. We are of course very open to involvement from others. We foresee that a demand may arise for browsers on specific systems, for specific customizations, and for servers to make specific existing data available online as hypertext. We intend to enthusiastically support such widening of the web. Of course, we may have to draw on more manpower and specific expertise in these cases.

2. Other resources

We will require the following support in the way of equipment and services.

Future paths

References

[1] T. Berners-Lee/CN, HyperText and CERN . An explanation of hypertext, and why it is important for CERN. A background document explaining the ideas behind this project.
[2] T. Berners-Lee/CN, Hypertext Design Issues . A detailed look at hypertext models and facilities, with a discussion of choices to be made in choosing or implementing a system.
[3] Other documentation on the project is stored in hypertext form and which leads to further references.

Intended Uses

Here are some of the many areas in which hypertext is used. Each area has its specific requirements in the way of features required. The CERN requirement has a mixture of many of these uses, except that there is not a requirement for distribution of fixed hypertext on hard media such as optical disk. Evidently, the system will have to be networked, though databases may start life at least as personal notebooks.

For looking up data bases, the user should be able to refer to already prepared complex queries by simple UDIs. A moe advanced user should also be able to prepare a complex query himself, store it (interpreted language!) in his local filing space, and use it through a simple UDI.

[The (paper) document "HyperText and CERN" describes the problem to be solved at CERN, and the requirements of a system which solves them. That information is not repeated here.]


Availability on various platforms

The system is to be available (at CERN) on many sorts of machine, but priorities must be decided. A list comprises: The order above does not imply a priority. It may be that the implementation on one system will lead more easily to an implementation on one of the others, and this would in practice change the order of porting. The requirement for 80 column terminals to be useable (emphasized by M. Goossens) follows from low budgets of many of our users.

The order of implementation of special browsers at CERN is a function of what manpower available.