without loss of information.
This facility makes it possible for such documents to be supplied to
a user over electronic mail, in such a way that he or she can browse
them at his or her own site. This may be appropriate where the user
does not have a direct connection to the Internet. It will also be
useful for printing the hyperdocument.
Authoring
It is essential that a multimedia information system should have
adequate authoring tools which make it easy to prepare and publish
hypermedia information. Such tools need similar power to existing
commercial multimedia authoring software for stand-alone multimedia
applications.
3. Existing Systems
This chapter describes some existing distributed information systems
in sufficient detail to reveal how they handle multimedia data, and
analyses how well they meet the requirements outlined in the
preceding chapter.
3.1. Gopher
The Internet Gopher is a distributed document delivery service. It
allows a neophyte user to access various types of data residing on
multiple hosts in a seamless fashion. This is accomplished by
presenting the user with a hierarchical arrangement of nodes and by
using a client-server communications model. The Gopher server
accepts simple queries, and responds by sending the client a node
(usually called a document in this context).
Client software is available for a large number of systems,
including:
o UNIX (character terminals)
o X windows
o Apple Macintosh
o MS DOS
o NeXT
o VM/CMS
o VMS
o OS/2
o MVS/XA
Servers are available for systems such as:
o UNIX
o VMS
o Apple Macintosh
o VM/CMS
o MVS
o MS DOS
Gopher was developed at the University of Minnesota.
Gopher User Image
A Gopher client offers an interface into "gopherspace", which appears
to the user as a hierarchy of menus and document nodes, similar in
some ways to a file system hierarchy of directories and files.
Selecting an entry from a menu node causes a further menu to appear,
or causes a document to be retrieved and displayed.
As well as "ordinary" document nodes, Gopher has "search nodes" when
one of these is selected from a menu, the user is prompted for one or
more words to search on. The result of the search is a "virtual"
menu, containing entries for document nodes (within some subset of
gopherspace) which match the search. A special type of Gopher search
server called "veronica" provides access to a database of all
directory nodes in gopherspace. This allows a user to construct a
virtual menu of all Gopher menu items containing a particular word.
WAIS databases may also be located at Gopher search nodes, since some
Gopher servers understand the format of WAIS index files.
Gopher Protocol
Gopher uses a client-server paradigm. The Gopher protocol runs over
a reliable data stream service, typically TCP, and is fully defined
in RFC1436. The following paragraphs give an overview which is
sufficient for understanding how multimedia data is handled in
Gopher.
A Gopher client opens a TCP connection to a Gopher server (defined by
machine name and TCP port number), and sends a line of text known as
the "selector" to request information from the server. The server
responds with a block of data, and then closes the connection. No
state is retained by the server. A null (empty) selector tells the
Gopher server to return its "root" menu node, containing pointers to
other information in gopherspace.
A menu is returned from a Gopher server as a sequence of lines of
text, each corresponding to one entry in the menu. Each line (which
is sometimes called a "Gopher reference") contains the following
data, which can be used by the client software to retrieve and
display the corresponding node in gopherspace.
o A single character which identifies the type of the node.
Possible values of this type ID are given below.
o A human-readable string which is used by the client software
when it displays the menu entry to the user.
o The selector which should be used by client software to
retrieve the node. It is treated as opaque by the client
software.
o The domain name of the host on which the node is held.
o The port number to use for the TCP connection.
A document node is sent by a Gopher server simply as lines of text
terminated by a dot on a line by itself, or as raw binary data, with
the end of the data indicated by the server closing the TCP
connection. The choice depends on the type of node.
The currently-defined type IDs are as follows:
0 Node is a file.
1 Node is a directory.
2 Node is a CSO phone book server.
3 Error.
4 Node is a BinHexed Macintosh file.
5 Node is DOS binary archive of some sort.
6 Node is a UNIX uuencoded file.
7 Node is a search server.
8 Node points to a text-based telnet session.
9 Node is a binary file.
T Node points to a TN3270 connection.
Some experimental IDs are also in use:
s Node contains -law sound data.
g Node contains GIF data.
M Node contains MIME data.
h Node contains HTML data.
I Node contains image data of some kind.
i In-line text type.
The process for defining new data types and corresponding IDs is not
clear.
Gopher+ Protocol
The Gopher+ protocol is an extension of the Gopher protocol. Gopher+
is defined informally in [4]. It is designed to be downwards
compatible with the original protocol, so that old Gopher clients may
access Gopher+ servers (without being able to take advantage of the
new facilities), and Gopher+ clients may access old Gopher servers.
Gopher+ is still at the experimental stage, and is liable to change.
The most important new feature is the introduction of "attributes"
associated with individual nodes. The client may retrieve the
attributes of a node instead of the node contents. Attributes
defined so far include:
INFO Contains the Gopher reference of the node.
Mandatory.
ADMIN Contains administrative information, including
the mail address of the server administrator and
the last-modified date of the node. Mandatory.
VIEWS Contains a list of one or more "view
descriptors", each of which describes an
alternate view of the node. For instance, an
image node may contain a TIFF view, a GIF view,
a JPEG view, etc. The client software (or the
user) may choose which view to retrieve. The
size of the view is also (optionally) available
in this attribute. The Gopher+ Attribute
Registry (see below) defines the permitted view
types.
ABSTRACT This attribute contains a short description of
the item. It may also include a Gopher
reference to a longer abstract, held in a
separate Gopher node.
ASK This attribute is used for the interactive query
extension. The interactive query facility in
Gopher+ is used to obtain information from a
user before retrieving the contents of a node.
The client fetches the ASK attribute, which
contains a list of questions for the user. His
or her responses to those questions are sent
along with the selector to the server, which
then returns the contents of the node. This
facility could be used as a very simple way of
querying a database, for instance. Using the
interactive query facility to supply a password
for access control purposes is not a good idea -
there are too many opportunities for
masquerading.
The University of Minnesota maintains a registry of Gopher+ attribute
types. For the VIEWS attribute, the registry contains a list of
permitted view types. Note that these view types have a similar
function to the type identifier described in the preceding section.
The general format of a Gopher+ view descriptor is:
xxx/yyy zzz: <nnnK>
where xxx is a general type-of-information advisory, yyy is what
information format you need understand to interpret this information,
zzz is a language advisory (coded using POSIX definitions), and nnn
is the approximate size in bytes. Possible values for xxx include
text, file, image, audio, video, terminal.
(It now appears that the University of Minnesota Gopher Team accepts
the need to be consistent in the use of type/encoding attributes with
the MIME specification. The Gopher+ Type Registry may thus
eventually disappear, together with the set of xxx/yyy values it
currently contains.)
No view descriptors for directory nodes are currently registered.
In order to make use of the information available in attributes, it
is necessary to fetch the attributes before fetching the contents of
a node. Gopher+ provides a way of fetching the attributes for each
entry in a menu at the same time as the menu is retrieved. This
saves having to establish two successive TCP connections to fetch a
single document, at the expense of some additional client software
complexity.
Gopher Publishing
The procedure for making data available using the Unix Gopher server
"gopherd" is very straightforward. The hierarchical nature of the
Unix file system closely matches the Gopher concept of menus and
documents. The gopherd program exploits this - Unix directories are
represented as Gopher menu nodes, and Unix files as Gopher document
nodes. The names of directories and files are the entries in Gopher
menus. This can lead to awkward file names containing spaces, so
gopherd provides an aliasing mechanism (the \.cap directory) to get
round this.
To represent menu entries pointing to Gopher nodes on other servers,
special "link" files (starting with a dot) are used.
The type ID for a document node is determined from the extension of
its Unix filename. If a client requests a file containing a shell
script, the script is executed and the output returned to the client.
The Gopher+ version of gopherd is similar, but the .cap directory is
replaced by a configuration file gopherd.conf. This file is used to
specify administration attributes, and the mapping between filename
extensions and view descriptors. Some limited access control (based
on the client's IP address/domain name) is also provided by the
Gopher+ version of gopherd.
Published Non-text Data
There is already some useful non-text data published on Gopher almost
exclusively image data. See for example the Vatican Library
Exhibition at the University of Virginia Library, the ArchiGopher at
the University of Michigan, the weather machine at the University of
Illinois. Some of these are described in the User Requirements
chapter of this report.
There seem to be rather fewer sound archives in gopherspace, but
interested users may access the Edinburgh University Computing
Service Gopher server on gopher.ed.ac.uk, where the Testing Area
contains 20 or 30 short audio files in Sun audio format. Note - the
availability of this archive is not guaranteed.
Advantages
The main factor in favour of Gopher is its widespread penetration.
There are over 1000 Gopher servers world-wide. This popularity is
due in part to the ease of setting up a Gopher server and making
information available on it, particularly on a Unix platform.
Limitations
It is unfortunate that the relatively well-defined MIME types were
not adopted in Gopher+. As mentioned above, this may yet happen,
although there appear to be reasons for keeping the set of MIME types
small whereas Gopher requires a wide range of types to offer to
clients. The latest word is that the MIME registry will be expanded
to include the types which the Gopher+ developers want.
Gopher is inflexibly hierarchical in nature. Hypertext or hypermedia
it is not - links to other nodes from within document nodes are not
possible. There is a suggestion in the Gopher+ specification that
alternate views of directory nodes could be used to provide some kind
of hypermedia capability, but this does not yet exist, and it is
unlikely that it could be made to work as easily as the WWW hypertext
model.
There is no access control at the user level - anyone can retrieve
anything on a Gopher server. There is no provision for charging for
information.
3.2. Wide Area Information Server
The Wide Area Information Server (WAIS) system allows users to search
for and retrieve information from databases anywhere on the Internet.
WAIS uses a client-server paradigm, and client and server software is
available for a wide range of platforms. Client applications are
able to retrieve text or other media documents stored on the servers,
by specifying keywords. The server software searches a full-text
index of the documents, and returns a list of documents containing
the keywords (ranked according to a heuristic algorithm). The client
may then request the server to send a copy of any of the documents
found. Relevant documents can be fed back to a server to refine the
search. Successful searches can be automatically re-run, to alert
the user when new information becomes available.
WAIS was developed by Thinking Machines Corporation of Cambridge,
Massachusetts, in collaboration with Apple Computer Inc., Dow Jones
and company, and KPMG Peat Marwick. The WAIS software has been made
freely available; however Thinking Machines has announced that they
will stop support for their publicly-distributed WAIS as of version
8b5.1. Future support and development of the publicly-distributed
WAIS has been taken over by CNIDR (Clearinghouse for Networked
Information Discovery and Retrieval) in the USA. Future CNIDR
releases will be called FreeWAIS. A new company, WAIS Inc, has been
formed by Thinking Machines to take over commercial exploitation of
the Thinking Machines WAIS software.
WAIS server software is available for the following platforms:
o UNIX
o VAX/VMS
Client software is available for the following platforms:
o UNIX (versions for X, Motif, Open Look, Sun View)
o NeXT
o Macintosh
o MS DOS
o MS Windows
o VAX/VMS
There are currently over 400 WAIS databases available on the
Internet. WAIS is also the basis of some commercial information
services on private networks.
WAIS User Image
In order to ask a question, the user must first select one or more
databases in which to look for the answer. (The list of all
available databases is available from a number of well-known sites.)
The next step is to enter one or more keywords as the basis of the
search. The search will return a list of documents (the "result
set") which contain any of the keywords. Each document is given a
ranking (a number between 1 and 1000) which indicates how relevant to
the user's question the server believes the document to be. The size
of each document is also shown in the list. The user may limit the
size of the result set - the default limit is typically 40 documents.
The user may then choose to retrieve and display one or more
documents from the list. Alternatively, he or she may designate one
or more documents in the list as "relevant", and perform another
search to find "more documents like this". This is called "relevance
feedback".
The user may retrieve general information about the database, and may
examine the catalogue of all documents in the database. There is
also a "database of databases", which may be searched to identify
WAIS databases which may be relevant to a subject.
WAIS Protocol
The user interface (client) talks to the server using an extended
version of a standard ANSI protocol called Z39.50. This is now
aligned with the ISO SR (Search and Retrieval) protocol for
bibliographic (library) applications, which is part of OSI. The
present WAIS protocol does not utilise a full OSI stack - APDUs are
transferred directly over a TCP/IP connection. The WAIS protocol is
described in [5].
WAIS does not, at this time, implement the full Z39.50-1992
specification - in particular, WAIS does not permit Boolean searches
(e.g., "find all documents containing 'chalk' and 'cheese' but not
'green'"). However, Boolean search capability is being added to the
FreeWAIS implementation. There are facilities in the Z39.50 protocol
for access control and charging, but these are not currently
implemented in WAIS.
The WAIS extensions to Z39.50 are mainly to provide the relevance
feedback capability.
Note that the Z39.50 protocol is not stateless - the result set may
in some circumstances be retained by the server for the user to
further refine or refer to. However, the subset of Z39.50 used by
current WAIS implementations mean that server implementations may be
stateless.
Document type is determined by the server from information in the
database index (see below), and is sent to the client as part of the
result set.
WAIS Publishing
The first step in preparing data for publishing in a WAIS database is
to use the 'waisindex' utility. This takes a set of text files, and
produces an index file which contains an occurrence list of words of
three or more letters in every file. This index file is used by the
WAIS server software to resolve search requests from clients.
The 'waisindex' utility indexes files in a wide range of text
formats, as well as postscript and image files in various encodings
(only the file name is indexed for image files). Some of the text
formats involve a file as being treated as a collection of documents
for the purposes of WAIS access. Note that there appears to be no
formal "registry of types" - just whatever the waisindex program
supports. There is no distinction between media type and encoding
format.
Published Non-text Data
There is relatively little non-text data available in WAIS databases.
o URL=wais://quake.think.com:210/CM-images is a database of
TIFF images from the Connection Machine.
o URL=wais://mpcc3.rpms.ac.uk:210/home/images/pathology/RPMS-
pathology is a database of histo-pathological images and
documentation on mammalian endocrine tissue.
o URL=wais://starhawk.jpl.nasa.gov:210/pio contains GIF images
from NASA planetary probe missions, together with their
captions. The presence of the caption index information
makes it difficult to construct a search which returns
images in the result set increasing the maximum result set
size may help.
Advantages
WAIS is ideally suited for its intended purpose of searching
databases of textual information on the basis of keywords. It
appears to have the potential to satisfy the requirements of some of
the "database" category of applications mentioned in Chapter 1.
Limitations
WAIS is not (and does not pretend to be) a general-purpose
information system, as Gopher and WWW are. WAIS does not have
hyperlinking, and offers a purely flat structure.
A limitation which is particularly apparent is the way that the
current version of FreeWAIS indexes non-text files - using only the
filename! However, it does seem that simply changing the indexing
program to allow a list of keywords to be attached to non-text files
would suffice to allow sensible indexing of non-text data. The
commercial (WAIS Inc) version of WAIS allows several files to be
associated together for indexing and retrieval purposes.
Furthermode, the UCSF Centre for Knowlege Management is modifying the
FreeWAIS code to support the indexing of multiple content types. The
document returned by WAIS will be an HTML document containing
pointers to the multimedia data. Contact dcmartin@library.ucsf.edu
for further information.
WAIS is not a fully-featured query/response protocol such as SQL. It
has no concept of fields, or numeric data types.
It appears to be impossible to retrieve a document from its catalogue
entry in many of the existing databases.
3.3. World-Wide Web
The World-Wide Web project (also known as WWW or W3), started and
driven by CERN, is a large-scale distributed hypertext system. It
uses the standard client-server paradigm, with client "browser"
software responsible for fetching and displaying data. Originally
aimed at the High Energy Physics community, it has spread to other
areas.
Browser software is available for a large number of systems
including:
o Line-mode dumb terminal.
o Terminal with Curses support
o Macintosh
o X/Motif
o X11
o PC/MS Windows
o NeXT
There is server software available for:
o VM mainframes.
o UNIX
o Macintosh
o VMS
WWW User Image
The WWW world consists of nodes (usually called documents) and links.
Links are connections between documents: to follow a link, a reader
clicks with a mouse on a word in the source document, which causes
the linked-to document to be retrieved and displayed. (On systems
without a mouse, the user types a number instead.)
Indexes are special documents which, rather than being read, may be
searched. To search an index, a reader supplies keywords (or other
search criteria). The result of a search is a "virtual" document
containing links to the documents found. All documents, whether
real, virtual or indexes, look similar to the reader.
The WWW addressing mechanism means that an interface to Gopher and
anonymous FTP information sources may be established, in a way which
is transparent to the user. Thus, the whole of gopherspace is part
of the Web. Transparent gateways to other systems, including Hyper-G
and WAIS, are also available.
URL
All nodes on the Web are addressed using the "Universal [or Uniform]
Resource Locator" (URL) syntax, defined in [6]. This is an Internet
Draft produced by the IETF URL Working Group.
A URL is a name for an object (which may be a document or an index)
on the Internet. It has the general form:
<scheme> : <path> [ # <anchorid> ]
The <scheme> identifies an access protocol or method for the object.
Some of the schemes are HTTP (the native WWW protocol), anonymous
FTP, Andrew file system, news, WAIS, Gopher. The <path> component
locates the document in a way significant for the access method.
Thus for instance for anonymous FTP, the path includes the fully
qualified domain name of the host on which the document resides, and
the directory and file name under which it may be found. For some
schemes, the <path> may include a search string (or combination of
strings) which is used to address a "virtual" object formed by
searching an index of some kind. The HTTP, WAIS and Gopher schemes
can use search strings, which usually follow the rest of the path,
separated from it by a ?.
The optional <anchorid> is used for addressing within an object. Its
interpretation is not defined in the URL specification.
"Partial" URLs may be specified. These are used within a document on
the Web to refer to another "nearby" document - for instance to a
document in another file on the same machine. Certain parts of the
URL (e.g., the scheme and machine name) may be omitted, according to
well-defined rules. This makes it much easier to move groups of
documents around, while maintaining the links within and between
them.
A URL locates one and only one object on the Internet. However, more
than one URL may point to the same object. Given two URLs, it is not
in general possible to determine whether they refer to the same
object. Furthermore, there is no guarantee that a single URL will
refer to the same object at different times (the object may change
incrementally, or it may be completely replaced with something
different, or it may indeed be removed).
HTTP
HTTP (HyperText Transfer Protocol) is the protocol employed between
server and client. It is defined in [7]. The protocol is currently
being revised (see the Future Developments section below), and will
eventually be proposed as an Internet standard.
The original protocol is extremely simple, and requires only a
reliable connection-oriented transport service, typically TCP/IP.
The client establishes a connection with the server, and sends a
request containing the word GET, a space, and the partial URL of the
node to be retrieved, terminated by CR LF. The server responds with
the node contents, comprising a text document in the Hypertext Markup
Language (HTML). The end of the contents is indicated by the server
closing the connection.
HTML
HTML (HyperText Markup Language) is the way in which text documents
must be structured if they are to contain links to other documents.
Non-HTML text documents may of course be made available on the Web,
but they may not contain links to other documents (i.e., they are
leaf nodes), and they will be displayed by browsers without
formatting, probably using a fixed-width font. Like HTTP, HTML is
also undergoing enhancement, but the original version is defined in
[7], and is being submitted as an Internet draft.
HTML is an application of SGML (Standard Generalized Markup
Language). It defines a range of useful tags for indicating a node
title, paragraph boundaries, headings of several different levels,
highlighting, lists, etc. Anchors are represented using an <A> tag.
For instance, here is an example of HTML containing an anchor:
The HTTP protocol implements the WWW <A NAME=13
HREF="../../Administration/DataModel.html">data model</A> .
The location of the anchor is the text "data model". It is a source
anchor, with a target given by the URL in the HREF attribute, so the
text would appear highlighted in some way in a client's window, to
indicate that clicking on it would cause a hyperlink to be traversed.
It is also a target anchor, with an anchor ID given by the NAME
attribute. A source anchor referring to this target would specify
#13 at the end of the node's URL. Traversing a hyperlink to this
node would cause the entire node to be retrieved, but the target
anchor text would be displayed in some emphasised way - for instance
if the retrieved text is displayed in a scrolling window, it might be
positioned such that the target anchor appears at the top of the
window.
Another attribute of the <A> element, TYPE, is also available, which
is intended to describe the nature of the relationship modelled by
the link. However, this is not in extensive use, and there appears
to be no registry of the possible values of such types.
Future Developments
HTTP and HTML are currently being extended in a backward-compatible
way to add multimedia facilities. [8] describes the HTTP2 protocol.
The revised HTML is defined in [9]. Both documents are subject to
change (and indeed the HTML2 specification has changed substantially
during the preparation of this report).
The revised HTML contains many enhancements which are useful for
multimedia support. Some of the most relevant are listed below.
o "Universal Resource Numbers" are a proposed system for
unique, timeless identifiers of network-accessible files
presently being designed by IETF Working Groups. URNs must
be distinguished from URLs, which contain information
sufficient to locate the document. URNs may be allocated to
nodes and may be represented in source anchors. This saves
client software from retrieving a copy of something it
already has - allowing sensible caching of large video
clips, for instance. The disadvantage is that when
something is changed and given a new URN, the source anchors
of all links which point to it must be changed (and the URNs
of these documents must therefore be changed, and so on).
Therefore, it makes sense to allocate URNs only to very
large documents which change rarely, and not to the
documents which reference them.
o The title of a destination document may be included as
anattribute of a source anchor. This allows a client to
display the title to the user before or during retrieval,
and also allows data which does not itself contain a title
(e.g., image data) to be given one.
o There is provision for in-line non-text data (e.g., images,
video, graphics, mathematical equations), which appears in
the samewindow as the main textual material in the node.
o The concept of the relationship expressed by a hyperlink is
expanded. Both source and target anchors may contain
relation attributes which point forwards and backwards
respectively. Possible relationships include "is an index
for", "is a glossary for", "annotates", "is a reply to", "is
embedded in", "is presented with". The last two are useful
for multimedia - for instance, the "embed" relationship
could cause a retrieved image to be fetched and embedded in
the display of a text node, and the "present" relationship
could cause a sound clip to be automatically retrieved and
presented along with a text node.
The HTTP2 protocol maintains the same stateless
connect/request/response/close procedure as the current HTTP
protocol. Data is transferred in MIME-shaped messages, allowing all
MIME data formats (including HTML) to be used. As well as the GET
operation, HTTP2 has operations such as:
HEAD Fetch attribute information about a node
(including the media type and encoding)
CHECKOUT/CHECKIN/PUT/POST
These allow nodes to be checked out for updating
and checked back in again, and new nodes to be
created. New node data is supplied in MIME
shape with the request.
The request from the client can contain a list of formats which the
client is prepared to accept, user identification, authorisation
information (a placeholder at present), an account name to charge any
costs to, and identification of the source anchor of the hyperlink
through which the node was accessed.
The response from the server may contain a range of useful attributes
(e.g., date, cost, length - but only for non-text data). The server
may redirect the query, indicating a new URL to use instead. It may
also refuse the request because of authorisation failure or absence
of a charge account in the request.
The protocol also contains a mechanism which is designed to allow the
server to make an intelligent decision about the most appropriate
format in which to return data, based on information supplied in the
request by the client. This may for instance allow a powerful server
to store the uncompressed bitmap of an image, but to compress it on
request using an appropriate encoding, according to the decoding
capabilities announced by the client.
An HTTP2 server and client are currently under test. Some HTML2
features are already fitted to the XMosaic browser.
Mosaic
The Mosaic project, located at the US National Centre for
Supercomputing Applications (NCSA) at the University of Illinois, is
developing a networked information system intended for wide-area
distributed asynchronous collaboration and hypermedia-based
information discovery and retrieval. Mosaic, which is specifically
oriented towards scientific research workers, has adopted the World
Wide Web as the core of the system, and the first Mosaic software to
appear was the XMosaic WWW client for UNIX with X. Other clients of
similar functionality are under development for the Apple Macintosh
and the PC with Windows.
The capabilities of the XMosaic browser include:
o Support for NCSA's Data Management Facility (DMF) for
scientific data.
o Support for transferring data with other NCSA tools such
asCollage, using NCSA's Data Transfer Mechanism (DTM).
o The ability to "check out" documents for revision, and to
check them back in again.
o Local and remote annotation of Web documents.
Future planned functionality includes:
o In-line non-text data (in addition to images).
o Information space graphical representation and control.
o Hypermedia document editing.
o Information filtering.
NCSA intends to make the entire Mosaic system publicly available and
distributable.
The XMosaic browser was used extensively for finding and retrieving
information used to prepare this report.
Web Publishing
Making a web is as simple as writing a few SGML files which point to
your existing data. Making it public involves running the FTP or HTTP
daemon, and making at least one link into your web from another. In
fact, any file available by anonymous FTP can be immediately linked
into a web. The very small start-up effort is designed to allow small
contributions.
At the other end of the scale, large information providers may
provide an HTTP server with full text or keyword indexing. This may
allow access to a large existing database without changing the way
that database is managed. Such gateways have already been made into
Digital's VMS/Help, Technical University of Graz's "Hyper-G", and
Thinking Machine's WAIS systems.
There are a few editors which understand HTML - for instance on UNIX
and on the NeXT platform.
Published non-text data
See the multimedia demo node on:
http://hoohoo.ncsa.uiuc.edu:80/mosaic-docs/multimedia.html
This contains links to images, sound, movies and postscript media
types. The media type is determined by the filename extension in the
URL specification of the target node. The (XMosaic) client uses this
to invoke a separate program appropriate for displaying the media
type, or in some cases it can be displayed embedded within the source
document. The latter method uses an <IMG> tag, which is part of
HTML2.
Advantages
WWW is a hypertext system and its underlying technology is thus
richer than Gopher. The use of SGML, which is of increasing
importance in hypermedia systems, allows a great deal of
expressiveness and structure, and enables text to be presented in an
attractive way. The facilities for multimedia data in the extended
versions of HTTP and HTML are excellent. It also seems that QOS and
management issues identified in Chapter 2 are to some degree catered
for in these extensions.
Limitations
There is no indication in the source anchor of the media type of the
destination node, or of its size (this has been ruled out on the
argument that the information is likely to degrade with time). It is
necessary to perform a HEAD request (in HTTP2) to deduce this.
Link source anchors must be in text documents, so non-text nodes must
be leaf nodes. However, with HTML2 using the <IMG> tag, an embedded
bitmap may be used as a source anchor, and the position of the mouse
click within the image is passed to the server, which can then choose
to return a different document depending on where in the image the
mouse was clicked.
WWW is much less prevalent than Gopher, partly because of an
(erroneous?) perception that setting up an HTTP server is more
complex than setting up a Gopher server. There are only about 60
servers world-wide; however the growth in the use of WWW is much
faster than the growth in the use of Gopher. The availability of
sophisticated WWW clients such as XMosaic is fuelling this growth.
3.4. Evaluating Existing Tools
This section compares the capabilities of the Gopher, WAIS and
WorldWide Web systems (abbreviated as GWW) to the informal
requirements defined in section 2.3.
Platforms
The table below gives the names of the most important client software
for each of GWW on the three most important platforms of interest.
WWW is the weakest, with clients for the Macintosh and the PC still
under development. The main PC Gopher client is "PC Gopher III",
which is a DOS program, not a Windows program.
CLIENTS Gopher WAIS WWW
Macintosh TurboGopher WAIStation (No name)
(beta version
available)
PC with HGopher (two WAIS for Cello (beta
Windows others also Windows, WAIS version
available) Manager available),
Mosaic (beta due
3Q93)
UNIX with X Xgopher, XWAIS XMosaic
XMosaic
At present, multimedia support in most of these clients (where it
exists) is limited to the invocation of external "viewer" programs
for particular media types. The exception is XMosaic, which supports
in-line images in WWW documents.
Media Types
The GWW tools can all handle multiple media types well.
o Text is very well supported by all three tools. WWW offers
facilities for displaying "richer" text, supporting
headings, lists, emphasised text etc., in a standardised way.
o Image data is also well supported, using either external
viewers (e.g., the TurboGopher client software on a Macintosh
might invoke the JPEGView program to display an image); or
in-line display within a text document (WWW with XMosaic on
UNIX).
o There is little direct support for application-specific
data, but most systems allow data of a nominated type to be
passed to an external viewer or editor program. This tends
to be a function of the client software rather than being
built in to the protocol or server. There has been
discussion in the WWW community about using TeX for
representing mathematical equations, and about providing
"panels" within a text document where a separate application
could render its application-specific data (or indeed any
data which can be represented spatially). This latter
suggestion fits well with the OLE (Object Linking and
Embedding) approach used in Microsoft Windows.
o Sound can be supported through the external "viewer"
concept. Some platforms don't have readily-available
"viewers" with "tape recorder"-style controls for replaying.
There is no single commonly-accepted sound encoding format.
o Video data can be handled using external viewers. MPEG and
QuickTime are the most common encodings.
One essential capability of a client/server protocol is the ability
for the client to determine the type of a node (and a list of
available encodings) before downloading it. WAIS and Gopher transfer
this information in the result set and menu respectively. WWW
clients currently determine this information either from analysing
the URL of a target node, or by the occurrence of the <IMG> tag. The
new WWW HTTP2 protocol allows the media type and encoding of a node
to be determined through a separate interaction with the server.
The GWW systems all use different methods for expressing type and
encoding. WAIS does not distinguish the encoding from the media
type. WWW is moving to the MIME type/encoding system. Gopher does
not distinguish type and encoding, but Gopher+ does, and is also
moving to the MIME type/encoding system.
Hyperlinks
Only the WWW system has hyperlinks. Source anchors may be text,
images, or points within an image. Target anchors may be entire
nodes of any media type, or points within (with HTTP2, portions of)
text nodes.
Gopher+ could potentially be enhanced to include hyperlinks, but
there seems to be no development effort going towards this - those
who need hyperlinking are using WWW.
Gopher menus can be constructed to allow alternative views of
gopherspace. For instance, a geographically-organised menu tree of
gopherspace is in place, but a parallel subject-based menu tree could
be added as an alternative way of access to the same data. (There
are in fact moves to set this up.) Since WWW offers a superset of
Gopher functionality, these comments also apply to the Web. In fact,
the Web already has a rudimentary subject tree.
In both Gopher and WWW, non-textual data may be used in different
information structures without having to maintain more than one copy.
Presentation
There is little support in GWW for controlling the presentation of
non-text data.
o Backdrops are not supported by GWW.
o Buttons are supported in a limited way - typically, a node
is retrieved by clicking on a highlighted text phrase, or on
an entry in a list. In XMosaic, bitmap images can be used
as buttons. However, there is no support for different
styles of button. Client software may have generic
navigation buttons (e.g., "Back", "Next", "Home") which are
always available and don't form part of a node.
o Synchronisation in space is not supported by GWW, except
that WWW supports contextual synchronisation of images using
the <IMG> tag.
o Synchronisation in time is not supported by GWW.
Searching
WAIS supports keyword searching, and is very well suited for that
task. The Gopher+ protocol could potentially support multimedia
database querying applications through the ASK attribute, but there
is as yet no server implementation which supports such database
applications. In the WWW project, there are ongoing discussions on
how best to extend HTML to cope with database query applications - an
<INPUT> tag has been suggested - but no consensus has yet emerged.
Both Gopher and WWW can make use of WAIS-type keyword searching:
either by incorporating WAIS code into the server (enabling WAIS
index files to be searched); or through WAIS gateways, which run
searches on remote WAIS servers in response to queries from non-WAIS
clients.
Interaction
XMosaic allows users to make text (or on some platforms, audio)
annotations to any text node. The annotations appear at the end of
the text display.. They are held locally - other users of the node
do not see the annotations (but a recently added facility allows
globally-visible annotations held on an "annotation server"). Text
annotations may include hyperlinks to other nodes (provided the user
knows how to use HTML). Other clients do not provide such
facilities.
There is a move to add an "email" address notation to URL. This
would allow WWW client software to invoke a mail program when a user
selects an anchor with such a URL.
There are plans to allow WWW users to delineate a rectangular area of
interest within an image for use in an HTTP request.
There is no support in GWW clients for interacting with sequences of
images in the way described in section 2.3.6.
Quality of Service
The user expectations for responsiveness mentioned in section 2.3.7
are difficult to meet with currently-deployed wide-area network (or
even LAN) technology, particularly for voluminous multimedia data.
None of the GWW systems currently exploit the emerging isochronous
data transfer capabilities of protocols such as RTP and technologies
such as ATM. None of them make serious attempts to alleviate the
problem in other ways (except for WWW, which defines some mechanisms
in HTTP2 for format negotiation based on size and available bandwidth
considerations).
Management
The following table shows the support for three key management
facilities in the GWW systems. The first two facilities require
support in the client/server protocol, the third requires support in
the server, but depends on authentication being available.
Gopher WAIS WWW
Access control No No1 Yes, in
and HTTP2
authentication
Charging support No No Yes, in
HTTP2
Monitoring for No No No
statistical and
assessment
purposes
Note:
1. "Access-control-facility" is a feature of Z39.50 which is not used
by the current WAIS implementations.
Scripting Requirements
None of the GWW systems have facilities for the execution of scripts
by the client, because of security issues (it would be too easy for a
malicious "trojan" script to be executed). Gopher and WWW servers
have the ability for a UNIX script to be run by the server, with the
script output returned to the client. Scripting as understood in the
context of stand-alone multimedia applications does not exist in GWW.
Bytestream Format
None of the three GWW systems use a bytestream format for
interchanging collections of material. There has been some talk
about setting up a system akin to the "Trickle" mail server, for
retrieving single document nodes from GWW using mail. Such a system
has been implemented for WWW.
Authoring tools
Gopher is sufficiently simple to set up that no special authoring
tools are required. WAIS requires only an indexing program (as
discussed in section 3.2) for preparing material for publication.
WWW, because it uses a sophisticated authoring language (HTML),
benefits from the availability of authoring tools. There are HTML
editors for UNIX (using the tk toolkit) and the NeXT system. There
are no authoring tools designed specifically for exploiting the
multimedia capabilities of WWW, mainly because these capabilities are
still evolving.
4. Research
This section describes some current research projects in the area of
distributed hypermedia information systems.
4.1. Hyper-G
Hyper-G [10] is an ambitious distributed hypermedia research project
at a number of institutes of the IIG (Institutes for Information-
Processing Graz), the Computing and Information Services Centre of
the Graz University of Technology, and the Austrian Computer Society.
It is funded by the Austrian Ministry of Science. It combines
concepts of hypermedia, information retrieval systems and
documentation systems with aspects of communication and
collaboration, and computer-supported teaching and learning.
Unlike WWW, Hyper-G supports bi-directional links. This enables
users to see which other documents reference the one they are using,
and also allows the system to avoid dangling pointers when a linkedto
document is deleted. Another difference from WWW is that links are
kept separately from their source and target nodes, to allow easy
linking of read-only documents and for ease of link maintenance. In
addition to manually defined links, Hyper-G supports automatic static
and dynamic (i.e., view-time) generation and maintenance of links.
Hyper-G has a concept of generic "structures" - an additional layer
of relationships imposed on (and orthogonal to) the web of documents
and links. A document can be part of more than one structure, and
structures may be hierarchically related. Types of structure
include:
o "Clusters" are a set of documents which are all
presentedtogether.
o "Collections" are unordered sets of documents or other
structures, and can be used as query domains or to construct
gopher-like menus.
o "Paths" are ordered sets of documents or structures, which
must be visited sequentially.
One application of the structure concept is the provision of "guided
tours" through the information space.
In addition to hypernavigation, the collection hierarchy and guided
tours, another strategy for interaction with the system is the use of
database queries. Two kinds of query are supported: keyword
searching in a user-defined list of databases; and collection
specific form-filling queries. In the latter case, the answer to the
query may appear dynamically as the form is filled out.
Four modes of user identification are supported: "identified", where
a userid is publicly associated through name and address information
with a particular individual; "semi-identified", where a userid is
associated by the system with an individual, but the user is only
known to other users through a pseudonym; "anonymously identified",
where the userid is not associated by the system with any individual;
and "anonymous", where there is no userid (or a generic userid such
as "guest"). Possible operations in the system depend on the user's
mode of identification. Users may access the system in any desired
mode, and switch to other modes only when necessary.
Hyper-G contains specific support for multilingual documents and
document clusters. Users may specify an ordered list of preferred
languages, for instance. There are plans to experiment with
automatic translation programs.