Vous êtes sur la page 1sur 6

Chimera: An Athena-Based World-Wide Web Browser

John Kilburg
Technical Report 95-01
Information Science Research Institute
University of Nevada, Las Vegas
March 1995

Abstract
This paper describes Chimera, a World-Wide Web browser for UNIX-based systems.
Like other browsers for the Web, it provides a uniform interface to various Internet
protocols. But unlike some other browsers designed for UNIX-based systems, Chimera
does not require Motif, a commercially available widget library built on top of the X
toolkit. Instead, Chimera makes use of the freely available Athena widget set. For this
reason, and others that stem from Chimera's design, several sites around the world
employ Chimera as their World-Wide Web browser.

 Email: john@isri.unlv.edu.
1 Introduction
Browsers, also called clients, are windows to the World-Wide Web (W3)[4]: the culmination
of information sources available on the Internet. Browsers are the tools that give users the
ability to access these various forms of information in a consistent and uncomplicated way.
Chimera is a W3 browser for UNIX-based workstations running the X Window System.
It can access information from FTP[9], Gopher[1], and HTTP[6] servers and browse local
lesystems.
Work on Chimera started in November 1993 to create a W3 browser that did not re-
quire the commercial Motif widget set[8] which was required by the W3 browser, called
Mosaic, from the National Center for Supercomputing Applications (NCSA). Instead of
Motif, Chimera was written using the freely available Athena widget set[2]. Chimera was
also written with simplicity and small size in mind.
Although originally built for local use, interest in Chimera was expressed at non-UNLV
sites; Chimera eventually made its way to other sites on the Internet. It has been downloaded
from ftp.cs.unlv.edu 12,718 times since May 1994. This count does not include downloads
from sites that mirror the Chimera archive (of which there are at least seven) around the
world.1

2 Features
Like other W3 browsers, Chimera features a large window where data retrieved by the user
is displayed using the HyperText Markup Language (HTML). Chimera uses a version of the
NCSA's HTML widget [3] compiled for use with the Athena widgets to display HTML. If a
non-HTML document is downloaded then Chimera can convert other formats, such as plain
ASCII text, to HTML so that it can be displayed in the main window. Properly written
HTML documents allow the user to select important words or images and automatically
download the appropriate document.
Chimera improves performance by caching downloaded documents on the local lesys-
tem. This feature signi cantly speeds access to documents for Internet users during hours
of peak usage. However, the largest performance gain is realized when the network link is
very slow (i.e. modem connection). Once the document is cached it can be recalled very
quickly because it is retrieved from the local lesystem instead of being retrieved from its
source over a slow network link. The cache is extremely con gurable. It can be con gured
to survive multiple invocations of Chimera or it can be purged when Chimera terminates.
Also, multiple caches can be created with di erent time-to-live values. This feature is useful
because access to a local server's data is usually very fast. Frequently accessed data from
slow servers can be stored in a persistent cache with an in nite time-to-live value so the
information can be retrieved at a later time. The user can also limit the size of the caches
to prevent them from lling the disk. Figure 1 shows an example user cache con guration.
Chimera is able to use other programs to extend its capabilities. This feature allows new
protocols, data handlers, and viewers to be added to Chimera at run-time.
Chimera also has a facility for keeping track of documents. Bookmarks can be assigned
to a Uniform Resource Locator (URL)[7]. The user can retrieve the URL later by selecting
the bookmark instead of retyping the URL. The bookmark facility can easily be extended
by the user to read and write the bookmark les of other W3 browsers or other programs.
1 For a list of these sites see Chimera's Home Page at http://www.unlv.edu/chimera.

2
#
# ~/.chimera_cacheinfo
#
# directory domain size TTL clean
#
/sd1/chimera_cache *.isri.unlv.edu 2000000 7200 0
/sd1/chimera_cache *.unlv.edu 5000000 28800 0
/tmp *.cern.ch 1000000 86400 1
/tmp *.w3.org 1000000 86400 1
/tmp * 10000000 86400 1

Figure 1: Example user cache con guration.

Chimera can also accept information from other programs by listening for HTTP con-
nections. For example, a program was written to send Zephyrgrams[5] to Chimera as they
arrive.

3 Design Goals
The most important design goal of Chimera was to use the Athena widget set so that sites
without Motif would be able to use a W3 browser. Two other attributes that have become
important goals as Chimera developed were simplicity and exibility.

3.1 Simplicity
Chimera's simplicity is re ected in its user interface. It was designed to be very easy to use.
Figure 2 is ISRI's home page displayed by Chimera. Note rst that most of the window is
reserved for the document being displayed. By default, there is a single row of command
buttons for essential functions along the top of the main window. Below these buttons is a
box that contains the title of the current document, and a box displaying the URL for the
document. There are no pull-down menus. Besides the fact that the program source code
is simpler, a less elaborate interface uses less screen space which can better be used by the
data display.

3.2 Flexibility
Chimera gives the user the ability to extend data types, making it extremely exible. Since
new types of data are constantly becoming available, it makes sense to allow Chimera to
quickly adapt to new access methods. Chimera allows other programs to translate the new
methods to HTTP, a protocol that Chimera understands. Thus Chimera can be \taught"
how to access new data sources. For example, the ability to access USENET news was
accomplished by writing a program that could retrieve network news and convert it to
HTTP. The number of di erent methods that can be supported in this way is practically
in nite as long as the response can be sent via HTTP. Chimera is the only browser that
allows external protocol handlers to be written by the user. External protocol programs
can be speci ed using a protocol le which lists protocol/program pairs. When Chimera

3
Figure 2: ISRI's home page viewed with Chimera.

4
nds a protocol it doesn't know, this le is checked and the program corresponding to the
protocol is run.
Chimera can use other programs to convert one data type to another. For example,
Chimera cannot directly decode TIFF image les for inline images. It can, however, use
an external program to convert TIFF to GIF, a format Chimera can decode. A le called
a convert le is used to describe to Chimera how to use converters when it encounters
unknown data types.
Chimera's interface is easy to modify to suit the user's taste. The size and colors of the
windows can be changed at run-time. Also, the command buttons can be rearranged, split
into two rows, or omitted entirely at run-time if that is what the user wants. This makes
it easy to adapt Chimera to di erent environments. One operational example of Chimera's
exibility is the UNLV's College of Engineering account registration system accessed by the
public. By changing two X resources, Chimera's \unsafe" command buttons can be removed
so that the user cannot perform destructive actions.
Chimera's bookmark facility is also con gurable. The bookmark widget is able to use
other programs to read and write foreign bookmark le formats.

4 Portability
A number of design decisions make Chimera portable. First, time has been spent making
Chimera simple to compile and install. Chimera does not require an ANSI C compiler.
Also, there are provisions in the code that take into account di erent UNIX environments,
such as BSD and System V. Also, code used to make the Tcl distribution more portable
has been incorporated for use on systems that do not have a complete set of the standard
C functions. And again, portability is re ected in the use of the freely available Athena
widget set.

5 Conclusion and Future Modi cations


Although Chimera began as a hobby it has evolved into a useful tool for people around the
world. It is relatively small, simple to use, and reasonably easy to install on any UNIX-based
machine that runs the X Window System. While it has not seen the widespread use of other
WWW browsers such as Mosaic and Netscape, it has a small, loyal following.
Future modi cations to Chimera will focus on security, user control, and performance.
Chimera is currently able to handle basic authentication (transmission of plaintext username
and password) as speci ed in http://www.w3.org/. Future versions will include Kerberos
authenticated HTTP connections. A secure hash function will be used to prevent the sending
of passwords in plaintext when Kerberos is not available. Both additions will require server
modi cations.
Chimera will allow the user more control over operating parameters directly through the
interface instead of requiring the con guration to be speci ed with cryptic con guration
les.
To improve performance, Chimera will allow multiple simultaneous downloads. It will
also support more ecient protocols as they are adopted for use in the World-Wide Web.
Also, POSIX compliance will be a goal as development continues.

5
6 Acknowledgments
First, this report owes its existence to Julie Borsack. Allen Condit also provided much
appreciated help. Chimera owes its existence to many people. Code from aXe, xloadimage,
NCSA's HTML widget, and Tcl has been used when convenient or when it was unlikely
that the author could do a better job in a reasonable amount of time. The subscribers to
the bug-chimera mailing list have provided many patches, bug reports, and suggestions.
Their assistance has been invaluable. The name \Chimera" was suggested by Greg Wohletz.
Encouragement and bug reports during Chimera's early development were provided by Jay
Nietling, Robert Cray, and Je Gilbreth. Development of Chimera versions 1.63-1.65 was
funded by ISRI.

References
[1] F. Anklesaria et al. The internet gopher protocol. RFC 1436, March 1993.
[2] Paul J. Asente and Ralph R. Swick. X Window System Toolkit. Digital Press, 1990.
[3] NCSA Software Development Group at the University of Illinios at Urbana-Champaign.
HTML widget. http://www.ncsa.uiuc.edu:80/SDG/Docs/htmlwidget.html, 1993.
[4] Tim Berners-Lee et al. The world-wide web. Communications of the ACM, 37(8):76{82,
August 1994.
[5] C. A. DellaFera et al. Section E.4.1: Zephyr Noti cation Service. M.I.T. Project Athena,
Cambridge, MA, December 1987.
[6] Internet Engineering Task Force. Hypertext transfer protocol (HTTP) working group.
http://www.ics.uci.edu/pub/ietf/http/, March 1995.
[7] Internet Engineering Task Force. Uniform resource identi ers (URI) working group.
http://www.ics.uci.edu/pub/ietf/uri/, March 1995.
[8] Dan Heller, Paula M. Ferguson, and David Brennan. Motif Programming Manual, vol-
ume 6A. O'Reilly and Associates, 2nd edition, February 1994.
[9] J. Postel and J. Reynolds. File transfer protocol (FTP). RFC 959, October 1985.

Vous aimerez peut-être aussi