Introduction

I started working on the Web at the University of Illinois at Urbana-Champaign (UIUC) because of frustrations I had accessing University information through traditional media. Specifically, I was irritated at needing to simultaneously use three different paper documents in order to complete registration. This frustration lead to me develop hypertext versions of the courses catalog and the schedule of classes. The positive feedback that I received from those documents, an almost complete lack of a formal UIUC Web presence, and my utter delight in the technology lead me to take on the task of making the UIUC Web a valuable resource. My focus was on creating indices for UIUC resources, developing registration information, and creating navigational aids.

These efforts have been extremely successful. High-level administrative officials have taken an active interest, usage by students, faculty, staff, administrators, and people from off-campus is high, and a permanent, full-time position has been created just to coordinate the university-level Web efforts.

In this paper, I will describe the work that I did over three semesters towards developing the UIUC Web. In particular, I will:

Technology History and Background

For years, computers have held the promise of the "paperless office", and for years, "promise" has been the operative word. Computers have instead tended to increase paper consumption. Electronic communications technologies - from the telegraph to electronic mail - have greatly improved the ability of people to interact with others. However, until very recently, there were very poor tools for obtaining information without the active, co-temporal intervention of the information provider. This is not true in the paper-based information world: anybody can go into a library or bookstore and peruse a book, walk into a car dealership and pick up promotional materials, or turn on the radio and hear an opera.

Until a few years ago, the only tool available on the Internet for distributing information to an unidentified audience was ftp (File Transfer Protocol). Using ftp software, people could access documents on any computer in the world, as long as the remote computer was connected to the Internet and configured with the proper software.

The ftp transactions used a very simple version of what is called a client-server architecture. One piece of software would be used by the person who wanted to get the information (the client), and another piece of software would be continuously running on the machine with the information (the server). To give an analogy, the server is like a butler for the computer. When a request is presented at the entrance to the computer, the server examines the request and determines if that request is understandable and can be fulfilled. If so, the server gets the information and presents it back to the requester. Thus clients can get information from the remote computer without being able to "enter" the computer themselves.

A big advantage of a client-server architecture is hardware and operating system independence. If the interface between the client software and the server software is very well defined, client and server software can be written for several different types of computers. A Macintosh can use ftp client software to connect to a ftp server running on a Cray, or vice versa. No longer were computers constrained to only communicate with other computers of the same type.

Unfortunately, finding and retrieving interesting resources with ftp was complicated. To look at a graph of stock prices, for example, might take the following steps:

Needless to say, the appeal of such operations was limited. In 1991, the University of Minnesota began development of a different client-server system called gopher. Gopher clients had a text-based, menu-driven, hierarchical organization of files, and allowed users to examine plain text files with the same software that they used to navigate through the menus. Furthermore, gopher provided an ability to search through all of a server's files for user-specified character strings, and allowed connecting other gopher sites to menu entries. This allowed people to aggregate information based on topic, even for information that was geographically dispersed. @@@gateway to programs? - have a call in to check@@@

@@@ Unsure of next paragraph - am checking ---- However, gopher clients were unable to access ftp sites. The negotiation (called a protocol) that took place between the client and server was different enough that ftp sites couldn't understand gopher requests, and gopher clients didn't even allow the users to ask for information from an ftp site. To go back to the butler analogy, it was as if a courier speaking English went to the back door, while the Chinese-speaking butler was waiting at the front door. If a consumer or provider wanted to make sure of their ability to communicate with all others, they would need software for both protocols - essentially having two couriers or two butlers, one speaking English and one speaking Chinese.@@@

Meanwhile, at Europe's CERN physics laboratory, a very small team had been working for about a year on a hypertext system, dubbed the World-Wide Web, for sharing research information. Tim Berners-Lee and Robert Cailliau envisioned a distributed hypertext system for publishing documents over the Internet to allow for better communication and archiving of knowledge in their organization.

CERN has an interesting environment. Not only does it have heterogenous hardware, software, and data formats, as is true in many companies, but many researchers are there for relatively short periods. This large population of transients leads to a form of organizational amnesia. Important information is lost every time a researcher returns to his or her "home" institution.

Berners-Lee and Cailliau felt that a system to allow for easier publishing of information would help defray this continual disappearance of organizational memory. Because of the environment they were in, it was clear to them that they needed a system that would be extremely flexible, open, and extensible. The system they developed, the World-Wide Web had all of the features of gopher in this regard, plus three more.

While format negotiation is practically unused today, the fact that information was passed back to the client about the format meant that browsers could then start up "helper applications". A browser would not have to be capable of displaying e.g. chemical structure data if the browser were capable of starting another program that could display chemical structure data.

Because the specifications were an open standard, other people could and did develop WWW software. Two early browsers that came from outside CERN were Viola and Cello. Viola was developed by Pei Wei at Berkeley in January of 1993, and Cello was developed by Thomas Bruce at Cornell later in 1993. Both browsers used a page-oriented, multifont, point-and-click interface.

Meanwhile, two programmers at the University of Illinois' National Center for Supercomputing Applications (NCSA) developed a browser called Mosaic. Marc Andreessen and Eric Bina jointly developed this browser to not only have point-and-click capabilities, like Viola and Cello, but it also to display graphics in-line instead of spawning a separate image. This feature, good timing, and the resources available at NCSA to develop, publish, and support binary, ready-to-use versions for X Window, Mac, and PC clients made Mosaic far more popular than any of its contemporaries.

Rob McCool, who was also with NCSA, developed a web server, called httpd. Collaborating with the Mosaic team, McCool developed a mechanism that allowed a server to execute a program and send its outputs to the browser as if it were a static file. This Common Gateway Interface (CGI) allowed dynamic data to be transmitted over the web. Things as mundane as the local time in various places around the world, and as exotic as an interactive map of the world with arbitrary scale were placed onto the web using this CGI programs. Kevin Hughes, who was a student at Honolulu Community College, wrote an important CGI program that allowed for "clickable" images. regions could be defined inside an inline image; clicking in such an area would take the user to another URL. This was incorporated into NCSA's httpd distribution.

By this point, the Web had all the components needed for a universal user interface for unknown-audience document publishing. Independence of physical location, hardware, operating system, software, and transfer protocol for both servers and clients, and format independence for the data meant that practically anybody could easily publish and/or view information on the Web.

Furthermore, the Web being an open and extensible system meant that obsolesence would not be an issue for some time, if ever. New protocols and new data formats might spring up, but they would augment, not eliminate earlier versions. This, and the easy availability of free browsers, servers, and helper applications that were easy to install and use lead to a remarkable growth around the world in the Web.

History of the UIUC Web


Despite so much of the early Web development happening at the University of Illinois' National Center for Supercomputing Applications, the amount of material on the Web about the university was surprisingly minimal and ad hoc. NCSA had developed web pages for their organization and also a rich site for the Krannert Art Museum (mostly to demonstrate the graphic capabilities of Mosaic). In order to have some sort of university-level information for their demonstration site, NCSA had requested and received a publicity brochure from the Office of Public Affairs, and translated it into hypertext. This brochure was long on photos, but had only the most superficial information about the university.

The Computing and Communications Services Office (CCSO) had a server on-line with a web page for university-level information. However, the developer of that page, Ed Krol, was on leave at that time to promote his best-selling book, The Whole Internet User's Guide and Catalog. All that existed on the page was an image that changed automatically according to the current weather conditions, linked to the local weather forecast. This was technically a neat trick (requiring intelligent parsing of the local weather forecast), but limited in its utility.

There were also some UIUC sites with reasonable information that was restricted in scope. For example, Ed Kubaitis of CCSO had developed a rich set of indices to information available (mostly elsewhere on the web) of interest to the College of Engineering. The Departments of Electrical and Computer Engineering and Computer Science, the College of Agriculture and the Graduate College, and the student societies of Eta Kappa Nu and Association for Computing Machinery had pages available.

While there was a list of all the servers on campus, it was organized from a technology point of view - what computers hosted information instead of what information was provided. The sites also varied greatly in the amount and type of information served. The College of Agriculture, for example, used their web site mostly for training (e.g. how to use electronic mail) while the Department of Computer Science used its site to present reference material, centered around their advising handbook.

It was somewhat surprising how ad hoc and scattered the UIUC Web was. I believe that one reason why the UIUC Web was underpopulated was because so much Web development was happening at NCSA. Energetic computer science students who wanted to do something with the neat new technology were quickly hired by NCSA to work on Web tools, instead of playing on their own to develop Web content.

Another problem that was not unique to UIUC was that this technology landed in a gap between traditional departmental responsibilities. CCSO had the technical skills needed to publish on the Web, but were not chartered to do content development. The Office of Public Affairs and the Office of Publications develop documents for external and internal consumption, respectively, but had no experience with the Internet. To complicate matters, this medium needed to serve both internal and external consumers of information.

Furthermore, while at that time the technical underpinnings of the Web were complete, and Vice-President Al Gore had popularized the phrase "information superhighway", very few people had ever heard of the Internet. Even fewer had heard of the World-Wide Web. Of those who had heard of the Web, a significant number were certain that it would be at worst a mere fad, or at best quickly replaced by something more technologically advanced. The unfulfilled promises of multimedia and "the paperless office" had jaded many into a "wait-and-see" stance.

It was into this void that I jumped. I first developed pages for what was then my research group, the Illinois Genetic Algorithm Laboratory (IlliGAL). But what really got me started on university-level information was registering for classes in April of 1994. I got extremely frustrated at having to continuously move back and forth between the departmental graduation requirements, the course descriptions, and the schedule of when and where classes were offered. I recognized that this was a perfect application of hypertext, so developed a Web version of the Courses Catalog and Timetable, first for General Engineering classes and then for all classes in the College of Engineering and the Mathematics Department.

Because there wasn't a page for the General Engineering department where the lab's page and the registration material could be listed, I created a page for the General Engineering department. Because there wasn't a good place to list the General Engineering department or the college-level class information, I created a page for the College of Engineering.

At this point, I notified CCSO that the pages existed, and asked if they could perchance find some disk space available to me, as I was running close to my quota on my student account. This lead to my being offered, the next semester, an assistantship as Webmaster for the university. (As a graduate assistant, my salary was low enough that CCSO could easily afford to take a risk on this novel medium.) Thus, in August of 1994, I was given carte blanche to develop Web resources, with the explicitly broad directive, "Go do great things."

Objectives

I chose to interpret "great things" to mean "elimination of all paper documents at the University of Illinois at Urbana-Champaign". However, since it clearly would not be possible for one person to develop hypermedia resources for all aspects of a 35,000-student university, and as I wished to graduate in the twentieth century, I recognized that I would need to restrict my enthusiasm somewhat and work towards encouraging other people to add to the body of work.

Developing a well-developed framework was thus a high priority. Not only would a good, centralized index of university resources be useful to people seeking information, but done properly, would encourage people to develop resources. Any comprehensive list of organizational units - with only the units providing web pages hyperlinked - would make immediately obvious the groups without web resources. I felt this might goad individuals from laggard organizations to push for development of their own web resources.

It was also clear that some significant resources should be developed to pull people into using the Web, and to act as exemplars of what could be done. I felt that there were several important features for exemplars. They should be items of wide interest and provide a better presentation of the information than the paper version. If the items were visually interesting and/or unavailable on paper, this would also encourage Web usage and thus development.

The resources that I decided to focus on pertained to the registration information that I had already started and those pertaining to navigational aids. Almost everyone on the campus is involved in some way with classes. (It is, after all, the university's stated mission.) As for the navigational aids, the University of Illinois is a geographically very large institution, with ample territory for getting lost. While some navigational resources are available -- for example, a map printed in all the phone books -- more detailed and sophisticated navigational resources were simply not available. Navigational systems have the added benefit of being visually appealing.

This was the motivation behind focusing on my three main objectives:

Methodology

Because so little precedent had been set on the Web, the procedure for developing documents was of necessity quite experiential. I learned what I could from other web sites, developed pages and code, and revised them based on my own observations and the copious feedback received.

One thing to note is that the Web is very forgiving. Unlike paper documentation, the overhead associated with releasing a new version of the information is negligible. Furthermore, electronic feedback is very easy and very immediate. This tighter bond between publishers and readers means that if there is an error on a page, the maintainer will find out about it sooner or later.

Implementation Decisions

perl

For the sections of the UIUC Web that were dynamically generated (mostly the navigation system), the programming language perl was chosen as the implementation language. Perl is a scripting language particularly well suited to text manipulation. It is an interpreted language, and so is somewhat slower than a compiled language like C. However, at the commencement of the project, the demands on the computer running the web server were so minimal that this did not appear to be an issue. Furthermore, many of the scripts would only execute infrequently, with the results of the execution being stored for common retrieval.

Mosaic Compatible

The two most popular graphical browsers available were Mosaic and Netscape, a Mosaic spin-off. Netscape supports extensions to HTML that did not originate with the official standards body, and that are not recognized by Mosaic. In many places, this has caused no little soul-searching as people grappled with the decision of whether or not to use the Netscape extensions. Because Mosaic was developed at the University of Illinois, I had no such dilemma. The resources that I developed used no extensions specific to Netscape.

Design Principles

Conversion Not Creation

Given that by this point in the mid-90's, almost all documents start their lives on hard disks somewhere, and given the number of documents that exist, it was logical to decide to focus on converting existing documents instead of generating new documents, scanning documents using optical character recognition, or re-typing the text of old documents.

Text Over Graphics

For the early work, I used no decorative graphics. I knew that there were many users on campus who did not have particularly fast machines, and that many people from off-campus (and a few on-campus) accessed the Web using relatively slow modems. I thus made the conscious decision to avoid graphics unless the graphic was the item of interest, as is true for e.g. a map.

As time went on, and the site became more formal, decorative graphics were essentially mandated by the Office of Public Affairs. While I resisted initially, I now recognize that decorative graphics do add value: they are a form of conspicuous consumption that shows that an organization has adequate resources to be able to to devote some to artwork. Still, I fought to keep the artwork small and to make sure that users could still navigate adequately if they set their browser such that images would not be downloaded.

Strongly Cross-Linked

It would have been easy to put information on-line in its plain-text form. The information usually came from the providers in that form. However, raw text is less legible and hence less usable than the equivalent paper version. Related paper documents could instead be converted into cross-linked documents on-line, i.e. with hyperlinks connecting the two documents tightly. The ease of shifting between documents is thus a strong value added to the original text. Thus emphasis was placed more on making highly cross-linked documents than on sheer volume of documents.

Regular Addressing

To make it easy for subsequent users to link to documents, the Uniform Resource Locators (URLs) for documents were made as regular as possible. The URLs were in fact so regular that in some cases, it was possible to automatically create hyperlinks in raw text via a perl script.

Instrument Code

It was relatively simple to instrument the code so that if an error condition was detected, the program sent email to me with pertinent information. This gave far more and better diagnostic information than users tend to give.

Framework of the UIUC Web

It was important to create indices to information of use and interest to the campus community. Being able to find information easily would lead to more use of the Web, which I presumed would lead to more interest in publishing information.

At first, almost everything was linked to from the top page in the hierarchy, the university's home page. As the local Web grew, however, it was necessary to expand the indices (with the help of the Publications Department) to more levels. The UIUC home page can be seen in Figure 1; pages of the second level can be seen in Figures 2 through 9.

There are two interesting things to mention. The first is that not everything was hyperlinked initially. In particular, the Colleges and Instructional Units page had links to only about a quarter of the units (with two more added quickly only because I myself developed skeletal home pages for those colleges in order to be able to "plug in" departments in those colleges).

The other is that is that many pages that are now at the third level have been moved down. These pages are primarily ones that deal with either entertainment or references, and consist mostly of links to resources outside the UIUC Web. Initially, because the UIUC Web was so sparse, outside links and/or links to things outside the main function of the university were more prominent. In particular, the References page used to be very prominent, and a fair amount of effort was taken to develop the sub-categories of references. More local, relevant content displaced those pages.

The transition to more layers of hierarchy was not without pain. One of the more challenging aspects of my job after the restructuring was tactfully explaining to people why their Web site didn't rate a mention at the top level of hierarchy. There was also a conflict between keeping the page length short and providing enough information that people could figure out what was at lower levels.

In addition to the pages in Figures 1 through 9 and the sub-pages on the References page (language, government, scientific, research, periodicals, geographic, financial, and fun), I developed indices to Big Ten schools, classes with Web resources, arts and entertainment, news, people, career information, sports and recreation, research laboratories, and research papers.

Furthermore, I developed a number of skeletal pages. These were usually done for personal reasons - because I myself had an affiliation or need. For example, I had a BS in Metallurgical Engineering and a need for a job, which lead me to develop the Materials Science and Engineering home page and an on-line resume book. Sometimes, however, I would create a page out of a need for a "bridge" between information that became available and the existing indices.

For these reasons, I developed the original pages for: the departments of General Engineering, Mechanical and Industrial Engineering, and Materials Science and Engineering, the Colleges of Engineering, Liberal Arts and Sciences, and Fine and Applied Arts, the Illinois Genetic Algorithms Laboratory, the Dean's Student Advisory Committee, the Society of Women Engineers, International Programs in Engineering, the Engineering Placement Office, awards, the Engineering Handbook, the Guide to Services, campus computer laboratories, and syllabi for several of the courses I took.

These were not intended to be more than placeholders, there until the appropriate information provider could take them over. By the time I left campus, all but six (not counting the syllabi) had been expanded and updated by the responsible group.

Navigational System

Because the Web is able to deliver dynamic, graphic information, navigational information need no longer be an ad hoc affair, given in words by people whose spatial memory comes with no guarantees of quality. Most people still navigate by reading notes that they scrawled while on the phone, which seem to invariably leave out or get wrong at least one crucial piece of information. The directions won't note that the southeastern staircase must be used, or that a key is required after five o'clock, or that the building is not visible from any street.

My goal was to provide a usable navigation system, one that allowed people to not only easily find information that would help people navigate through the campus but to easily link to pages that would show others how to get to the location of interest. Thus people would be encouraged to make links to maps on their home pages showing the location of their office, seminar announcements, meeting locations, and classroom locations.

Towards that end, I built a navigational system consisting of many tightly interlocking pieces:

This section will describe these pieces and how they link together from a user's perspective.

Building Information

134 of the campus buildings now have information on the Web. What information exists varies, but all buildings have information on their street address, Operations and Maintenance identification number, and full name. Most of the more prominent buildings have a list of the organizations housed in the building (hyperlinked if the organizations have Web pages) and a photo of the building. 29 have latitude and longitude coordinates for the building. Two buildings have information on their architectural history, twenty-four have wheelchair access information, and seventeen have floorplans available. For an example of building information, see the Transportation Building information page (or lobby) in Figures 11A and 11B.

People used to ask me why I included latitude and longitude information. I used to say, "I don't know, but if I put it there, someone might find a novel use for it. If I don't put it there, nobody will find a novel use for it." There is now some talk, however, of using that information to estimate travel time between points. This travel time could be used to advise registering students of overly aggressive transfers between classes.

Maps and Floorplans

Eleven of the buildings that have floorplans also have occupancy information. For example, clicking on Textual Building Directory on the Transportation Building lobby page will take the user to a listing of all the rooms in the building, ordered by occupant, as seen in Figure 12.

Furthermore, occupancy information can be determined on a room-by-room basis by clicking on the appropriate room. For example, clicking on the floorplan at room 117 (on Figure 11A) will take you to the General Engineering Department's home page (Figure 13). (To get to different floors, the user can click on the stairs or the elevator.)

Once on the General Engineering Department's home page (Figure 13), clicking on the text 117 Transportation Building will take the user to a page showing the first floor of the Transportation Building with room 117 circled (Figure 14). This "zooming out" can continue for several more layers. Clicking on Where am I on campus? on this page will take the user to a map of the Engineering campus with the Transportation Building circled (Figure 15). Clicking on All-Campus Map at the bottom of this page will take the user to the all-campus map with the Engineering campus circled (Figure 16). Two more levels of "zooming out" are possible to show the location of the campus in relation to Champaign and Urbana, and the location of Champaign-Urbana in Champaign County.

"Zooming in" is also possible. From the all-campus map (Figure 16), clicking on the top rectangle will take the user to the Engineering campus map (Figure 15 but without the circle). From the Engineering campus map, clicking on the Transportation Building will take the user to the Transportation Building lobby (Figures 11A and 11B).

All 134 buildings with information can be "zoomed in" on in this manner, and all the buildings' locations can be found by "zooming out" from their respective lobbies, with circles surrounding the building of interest the appropriate map - one of four area maps, or on the all-campus map for those outside the main campus core.

The URLs for these maps and floorplans was very deliberately kept simple. It would have been relatively simple to write code that took the name of a GIF file and x-y coordinates from a URL and based all manipulations on that information. However, human beings don't think naturally in terms of pixels on an image. Humans think in terms of rooms numbers and buildings. Thus, extra work was done so that the information embedded in the URL would be the building and the room number instead of the location of the GIF file and the bounding box of that room.

Care was also taken to allow for appropriate fallbacks. If the location of a room in a building was requested, but no floorplans were ready for that building, the program would return instead the location of the building. This was done at the time of the access, so that people could make links to rooms that didn't have floorplans. Once the floorplans were made available for that building, the person's old link would suddenly show the room circled instead of the building. No intervention on the author's part would be required.

Virtual Walkthrough

A "virtual walkthrough" of the campus is available, allowing people to get a feel for the look of the campus without needing to visit in person. A photo of a scene is displayed with navigational directions surrounding the picture. For example, Figure 17 shows what someone would see if they were facing north just west of Mathews Ave at Green Street. Clicking on Enter Metallurgy and Mining Building, will take the user to the lobby for the Metallurgy and Mining Building. Clicking on Turn Right will take the user to a photo showing what the user would see if they turned right from their virtual standpoint, namely a photo facing east on Green Street just west of Mathews Ave (Figure 18). Clicking on Go Forward will take the user to a photo facing east on Green at Mathews (Figure 19), and so on. The sequence from Figure 20 to Figure 24 shows a continuation of this virtual stroll to the front of the Transportation Building. Clicking here on Enter Transportation Building will take the user again to the Transportation Building lobby (Figure 11A and B).

In all, there are 800 pages in the virtual tour - four compass directions at 200 geographical points. The points are, for the most part, a half a block apart, and cover the University property between University Ave on the north, Sixth Street on the west, Taft on the south, and Goodwin on the east.

The tour can be accessed in several ways. Aside from typing in a URL or selecting a link from the navigation index page, clicking near the entrance of a building on a floorplan can take the user into a tour. For example, clicking near the west door of the Transportation Building floorplan in Figure 11A will take the user to a view from the west door (Figure 25). (This is happens to be the same page that the user would come to by clicking on Turn Around in Figure 24.) Users can also click on a street in an area map, and for most locations on the Quad, Engineering campus, and Agriculture/Business maps, will be taken to the appropriate point in the virtual walkthrough.

Wheelchair Access

The wheelchair access pages, available from many of the building lobbies, list elevators, stairs, ramps, automatic door openers, bathrooms, and any other obstacles that people with mobility restrictions could encounter. Furthermore, because rooms could be circled via the above system, links to exact locations could be made in the text of the access page. (See Figure 26 for an example of access information for Altgeld Hall, a particularly confusing building.)

The wheelchair pages were definitely an afterthought, something that turned out to be easy to do once all the other pieces were developed. They ended up yielding the most emotional appreciation and an award from the disabled students organization. The wheelchair access information also has a much broader utility than I had originally thought: information about ramps and elevators is very useful when moving equipment between buildings, or even for freshmen trying to figure out the vagaries of old, confusing buildings.

Features Summary

The navigational system allows users to navigate easily through a wide array of information. Information on how to get to a room, how to get to a building, what will be seen on the trip, and what one will find once there is seamlessly integrated.

Navigation System Implementation

The navigation system, with its maps, floorplans, wheelchair access information, and virtual tour, required a substantial amount of code development, image translation, and information gathering. This section explains how the major subsystems of the navigational aids were implemented, broken out by subsystem.

Maps and Floorplans

The most complicated subsystem was definitely the maps and floorplans segment. Not only did maps and floorplans need to be found, but some translation had to be done to make them useful. Code then had to be developed to do inward and outward zooming, and occupancy data ferreted out.

Acquisition of Information

The length of time it took to find the source of floorplans was perhaps indicative of how inaccessible good navigational information is. It took four months of casual but steady investigation to find a set of floorplans at the Operations and Maintenance ftp site.

Occupancy information (needed for zooming in to rooms) was decentralized to the point of being inaccessible: I resorted to departmental phone lists and ambulatory inspections of the buildings.

The all-campus map was scanned in from a map developed by the Office of Facilities Planning and Management. The Engineering campus map was captured from a map developed by the College of Engineering's Office for Financial Programs. The other area maps were derived from blow-ups of the all-campus map.

Image Translation

Some manipulation was required for the maps, which were all originally in black and white. The buildings that had lobbies were colored blue, and the regions that had area maps were given blue boundaries on the all-campus map. Touchups were done on all the area maps, with labeling or relabeling of most buildings, coloring streets and sidewalks grey, and coloring grassy areas green. Various paint programs, such as xpaint and Photoshop were used for the map manipulations.

It was necessary to do quite a bit more translation to obtain useful floorplans.

AutoCAD was used to remove the drawing layer corresponding to the room numbers, resize, and rotate the drawing. The shareware program xpaint by David Koblas was used to put larger room numbers on the drawings. The color manipulation facilities of the shareware program xv by John Bradley were used to convert the image format and to change the colors of the drawing.

To ensure the accuracy of the floorplans, each building was subjected to an on-site inspection. While the accuracy of the floorplan was verified, the locations of bathrooms, department offices, conference rooms, classrooms, elevators, mechanical closets, janitorial closets, photocopiers, computer laboratories, and many other features were also noted.

Programming Implementation

The maps/floorplans system is glued together by two perl scripts: who_is_in and where_is. The former script takes the user to the home page(s) of the occupant(s) of the room or building requested. The latter script creates an HTML page and GIF-format image that show the user the location of the room or building requested. In other words, where_is is for zooming out; who_is_in is for zooming in to rooms.

who_is_in

There is a standard way of making "clickable maps" on the Web: images, that when clicked on in different coordinates, will take you to different pages. This "ismap" format is
URL	x1,y1	x2,y2
where URL is the URL of the page that should be returned if the user selects a point inside the box bounded by coordinates x1,y1 and x2,y2. It would clearly be convenient for the user to be able to click on the image of a floorplan and be given the home page of that room's occupant. It would also clearly be useful to have the room number associated with the coordinates, for use by where_is. The script who_is_in was developed to allow the room number to be attached to the coordinates while still returning the proper home page(s). A level of indirection is employed; instead of the map data file containing lines like
http://www.webfoot.com/ducky.home.html	123,456	321,654
the file instead includes lines like
http://www.uiuc.edu/cgi-bin/who_is_in?bldg=grainger&room=451	123,456	321,654
A separate data file for each building connects the room number to the occupant's home page with additional information:
ccso	451	http://www.webfoot.com/ducky.home.html	Sherwood, Ducky

Note that the image coordinates corresponding to the location of the rooms' walls, need only change when buildings are remodeled. This is usually an infrequent event. The occupancy information, which changes frequently, is arranged by room number. Segregating the rarely changing information from the frequently changing information simplifies maintenance; making the frequently changed information in well-understood terms eases maintenance even more.

The first field gives the "owner" of the room, so that buildings that are shared by more than one academic/administrative unit can be more easily updated. The second field gives the room number. The third field gives the URL of the occupant, and everything past that (a variable-length field) is the name of the occupant.

The script who_is_in determines which data file to use (based on the building name), then searches through it for the appropriate room number. Once that is found, it pulls out the URL and occupant. If there is more than one match for the room number, i.e. there is more than one occupant of a room, then an HTML page is generated with a list of all the occupants, with hyperlinks to each person's home page. If there is only one occupant, then the user is given that occupant's page directly.

If no room is specified, who_is_in notes all the lines and returns a listing of all the occupants in the building, as shown in Figure 12. The perl code for who_is_in is given in Appendix A.

where_is

The where_is script creates a page by looking in the ismap file for the coordinates of the room. This can be determined by doing a text search for the building and room, e.g. grainger&room=451, which would find the following line.
http://www.uiuc.edu/cgi-bin/who_is_in?bldg=grainger&room=451	123,456	321,654
From the coordinates of the box bounding the active region, the center point of the room and the radius of a circle containing the room or building can be determined. That information is passed to another script, where_is.gd written by Carlos Pero, which creates a temporary GIF of the relevant image with the appropriate room circled, as in Figure 14.

Note that care must be taken when dealing with temporary GIF files. First, because most browsers cache images, the name must be distinct enough that users are not likely to encounter a second image with the same name before the cache is cleared out. Second, the temporary image must be deleted at some point, but not before the completion of the script. Because most browsers do not download images until the text of a page has been fully downloaded, removing the image too soon will result in the browser not finding the image at all.

If the pixel-to-room data for the requested floor does not exist, or if a room is not specified, the code returns an image of the building circled on the appropriate map, as in Figure 15. Thus authors can link to a room in a building, even if the floorplan information does not yet exist, and give visitors to their pages useful information. When the floorplan becomes available, that hyperlink will switch from showing the building circled to showing the room circled.

Wheelchair Access Information

As an inspection of the buildings was done to check the floorplans for accuracy and to note locations of important rooms, it was a simple matter to also note the locations of wheelchair bathrooms, elevators, chairlifts, ramps, and automatic doors. This information was used to develop access information pages (see Figure 26). Additional information was gleaned from interviews with students with mobility restrictions.

In addition to a textual description of the buildings' obstacles, links to the floorplans were used when possible. Thus, the precise location of e.g. elevators could be shown on a floorplan.

Virtual Tour

A digital camera was used to take the photos for the virtual tour because of the speed of acquisition and low cost. Photographs were taken in all four compass directions at half-block intervals. Because the University of Illinois is located on topographically uninteresting terrain, the streets are in a near-perfect grid. By imparting some information about the order of the streets to a script, the locations of buildings, and the relationship of forward, left, right, backwards, north, south, east, and west to each other, it was relatively straightforward to write code that generated hypertext to frame the photos.

Student Registration Materials

The Courses Catalog, Timetable, and Programs of Study are the three primary documents that students use while on-campus. The Programs of Study contains graduation requirements, including lists of applicable courses. The Courses Catalog contains descriptions of courses available. The Timetable contains a list of classes available in a given term, including the time, location, and (when available) the name of the instructor. Thus, every semester, students must refer simultaneously to all three documents. It was felt that a hypertextually linked version of the three would be superior to the three paper documents separately. This section will show the features and implementation of the UIUC on-line registration materials.

Registration Materials Features

The Programs of Study contains a wealth of information about the university, including the graduation requirements. The amount of flexibility a student has varies widely from major to major, but usually is presented in a tabular form. The electronic form of the Programs of Study contains all of the information in the printed version. An example of the graduation requirements for the Curriculum in General Engineering is shown in Figure 27.

All of the course names in the Programs of Study are linked to further information about the course. For example, clicking on GE 221 takes the user to the course description, as seen in Figure 28. In addition to the brief summary of the course's content and hyperlinked prerequisites, there are links to schedule information.

Clicking on Fall '96, for example, gives the user a page with a list of all of the available sections, with the times, locations, and teachers of those sections, as seen in Figure 29. In addition to links back to the course description and to prerequisite classes, the class location and instructor are both linked. Clicking on the instructor pulls information about the instructor from the phonebook (ph) database, formats it nicely, and returns that information to the user. (Note that the ph database software predates my time at UIUC. Its discussion is outside the scope of this document.)

The class location is also linked. Clicking on 101 Transportation Building, for example, would bring the user to a page with the floorplan of the first floor of the Transportation Building, with room 101 circled. (See Figure 14, which differs only in the room that is circled.) This gives a complete entry into the navigational system described above.

Registration Materials Implementation

Programs Of Study

The Programs of Study unfortunately did not lend itself to automatic translation into hypertext. The document had a wide variety of notational conventions, as was perhaps to be expected from a document containing information gleaned from many sources. The document was also very long, and even the individual chapters were longer than is reasonable and customary for hypertext documents.

The document needed to be broken into many pieces, with appropriate cross-links to other sections. This required human intervention. In a hypertext document, it is meaningless to leave the phrase, "For more information, see the Office of Minority Affairs on page 59." I know of no computer program intelligent enough to translate "page 59" into the appropriate URL, especially when there can be two sections on page 59.

The manual intervention was not necessarily a large enough problem to make it a job not worth doing. By the time that this project was undertaken, campus awareness of the World-Wide Web was high enough that all of the colleges had information available on the web. I felt that it was quite possible that future versions of the Programs of Study would derive from colleges' online information instead of the other way around. I developed this version of the Programs of Study for the colleges to build upon; whether or not this will actually happen might not be known until long after I have graduated.

There was a great deal, fortunately, that could be automated. All courses that were in a regular format (i.e. the department abbreviations and three-digit call number) were automatically hyperlinked to the course description. In addition, room numbers coupled with building names were recognized automatically and linked to be navigational system described above.

Courses Catalog

To prove the concept, I typed in all of the course descriptions for the General Engineering Department, copying them from the university document called the Courses Catalog. The course descriptions looked like this:
221. Introduction to General Engineering Design. Fundamental
concepts in the analytical modelling, classical and computer-based 
analysis and design of structural and machine components 
and assemblies; external loads, internal forces and displacements 
in statically determinate and indeterminate configurations; 
kinematics of linkages, gears, and cams; static forces
in machines. Prerequisite: Theoretical and Applied Mechanics 
212 and 221, and Computer Science 101.                        
3 hours.    
At first glance, this does not look like machine-readable text. However, further examination showed that there was actually great regularity in the entries. The first four characters are the three-digit course number and a period. From there to the next period is the course title. Until "Prerequisite:" is the course description, and from "Prerequisite:" to the next period is the prerequisite list. After that is the credit received for successful completion.

The prerequisite list contains names of departments that are fully spelled out, not abbreviated. This meant that I had to create a translation table to generate the course abbreviations (used in the URLs for the class schedule pages, as seen below). Otherwise, it was straightforward to generate the HTML that presented the course description in a fully hypertext fashion.

I then went to the Office of Facilities Planning and Management (OFPM) to attempt to get an electronic version of all of the engineering and math course descriptions. After some resistance on their part towards giving a document with some legal weight to a complete unknown, they relented and gave me a plain-text section of the Courses Catalog for engineering and math courses. I turned those all into hypertext documents.

This turned out to be just a prototype. At the time that I did this, I had no official standing, which made it difficult to get access to good information. Thus, at the request of higher authorities, I turned over my scripts to the Computing and Communications Services Office, to Mike Grady.

As the paper version of the Courses Catalog is only published on a two-year schedule, OFPM did not have any internal mechanism for incremental changes. Working with Mike, they instituted changes in the way they compiled the information so that the online version of the Courses Catalog could be updated more often than once every two years.

Mike also made some changes to the layout of the course description. He found that there were certain combinations of browsers and operating systems that would crash when confronted with very long documents. While the engineering classes could all be printed in one file, the Music Department had so many classes that they could not be listed on one page. An example of the course descriptions as Mike rearranged them is in Figure 28.

Timetable

The Timetable information already existed online in a non-hypertext format through the ph facility. The ph database could be queried to give information about classes in a format similar to the following:
  ----------------------------------------
      name: music213 the history of music i
      text: fall92
          : prerequisite: music 110 or consent of instructor.
          : required of all music students.
          : 3 hours.
          : 05929 lect             1       m  w  f  2100  music bld
          : 05930 quiz       a     1        tu th   1180  music bld
          : 05931 quiz       b     9        tu th   1144  music bld
          : 05931 quiz       b     9        tu th   1144  music bld
          : 05932 quiz       c    10        tu th   1148  music bld
          : 05933 quiz       d     9          w  f  1184  music bld
          : 05934 quiz       e    11          w  f  1148  music bld
          : 05935 quiz       f     4        tu th   1161  music bld
    ----------------------------------------
 
I was able to write a script that parsed the record, saving important fields. The first word after "name:" is the department name and three-digit course number. The rest of the line is the course title. From "prerequisite:" to a period is a list of the prerequisites, with all words that are followed by three digits being the department, and the three-digit numbers being the associated course numbers. After the period of the prerequisites, a carriage return, and a colon is the credit given for the class. The rest of the lines pertain to the class times and locations, and are in a table based on column number.

Armed with this information, I could create am HTML document with the same information but formatted more nicely, and with a link to the course description.

At the same time that I turned the Courses Catalog script over to Mike Grady, I gave him the script to parse the Timetable. As he was a full-time, permanent employee of the Computing and Communications Services Office (CCSO), he could access to the up-to-date database maintained by the University's administrative computing department. Mike had to rewrite the scripts to deal with the different input format, but access to the database allowed him to create a new hypertext version every morning. For the first time, students and faculty had access to current information instead of a snapshot of the information as it stood on the day the Timetable went to press. One area that had been particularly wanting was the instructor. Most teaching assignments were made after the Timetable went to press, so never made it into print. Now the teaching assignments are reflected almost immediately in the on-line version.

In addition, enough information is in the database that Mike was able to link the instructor to his or her ph entry. And, when I finished the maps and floorplans segment of the navigational system, I suggested to Mike how the Timetable could link to the navigational system. An example of the final version of the on-line Timetable is in Figure 29.

Registration Materials Summary

Students now can examine all of the information they need to register from one source instead of three. The access is free to the student, while the paper versions of the Courses Catalog and Programs of Study must be purchased. The on-line information is more up-to-date than the paper documents. The on-line versions also benefit from being tightly coupled to information about the instructor and the navigational system.

Results

The University of Illinois Web has compiled an impressive number of firsts and honors.

The campus has the honor of having the second system to circle buildings on a map (after SUNY-Buffalo), the first to circle rooms on floorplans, the first to integrate floorplans and maps, the second to have a "virtual tour" (after Honolulu Community College), and the first to integrate maps/floorplans with a virtual tour.

The navigational system has been deemed useful enough that the Office of Facilities Planning and Maintenance has committed to furthering its development.

The navigation system was featured on Yahoo's What's Cool page, resulting in a large amount of virtual visitors to the campus.

The wheelchair access information, coupled with the maps, proved useful enough for the project to be recognized by the Disabled Student Organization with the Harold Scharper Service Award. Furthermore, DSO has committed to furthering its development.

The campus has the honor of having the second cross-linked courses catalog and timetable (after St. Olaf's College), being the first to integrate courses catalog, timetable, and graduation requirements, and being the first to integrate the timetable with floorplans.

The first version of the hypertext courses catalog and timetable was so appealing that the Communication and Computing Services Office specifically requested responsibility for it.

The Web version of the Timetable has been so successful and popular that the ph database is no longer maintained.

A paper on this project was accepted and presented at the 1994 Fall International World-Wide Web Conference. [1]

A chapter was devoted to this project in a best-selling computer book [2].

Future Work

The work is by no means done. There are over 200 buildings on the UIUC campus, and only a fraction of the information associated with the buildings is on-line. The Disabled Student Organization has committed to furthering the wheelchair access information. The Office of Facilities Planning and Management has committed to making more floorplans and occupancy information available, and expressed interest in publishing information about building hours and classroom occupancy limits and equipment availability.

When file uploading capabilities are built into browsers, a mechanism for departments to be able to maintain their own information about room occupancy would be prudent. The Computing and Communications Services Office is currently investigating such a system.

The Programs of Study is updated every two years. Doing a wholesale translation from the paper version to a hypertext version can be hazardous to the health. It is hoped, both by the project author and by representatives of the Office of Publications, that at some point in the future, the paper version (if one continues to exist) will be derived from on-line information published by the appropriate functional units instead of vice-versa. It is doubtful that this will happen before the next version of the Programs of Study is published, but the opinion is that the version after that will originate on-line. The Office of Publications would be the natural organization to lead and coordinate such an effort.

Conclusions

In the year and a half since this project began, the accesses to the University's top-level server have grown enormously. When this project started, there were essentially no accesses to the top-level server, but as of November, 1995, there were routinely over 100,000 non-image accesses per week. While not all of these were to the navigation or course documents, a substantial percentage are. (See Appendix A for a historical data on accesses to the major subsystems.)

Similar growth in the campus as a whole has been clear. An effort was made by Graham Lawlor in the summer of 1995 to quantify the size of the campus-wide web. The web's success unfortunately meant that he was unsuccessful. His tools broke after indexing 40,000 documents from 276 different servers. This is a far cry from the hundreds documents and tens of servers in existance on the UIUC campus at the beginning of the project.

As early examples of the capabilities of the World-Wide Web, the systems described in this project served to promote and publicize the use of the Web on campus. As innovative uses of Web technology, they provide publicity for the University. Most importantly, the information herein is useful in people's day-to-day life, as seen by the high number of accesses.

What is most valuable to me, however, is something that I happened to notice while walking across campus. I saw someone in a wheelchair stopped, examining a printout of Altgeld Hall with a room circled. On her lap was a printout of the map of the Quad. The accesses are nice, the awards are nice, but that student was the true verification for me that what I had done was being used as intended.

Acknowledgements

This was a collaborative effort. I could not have done this work without the help of many others.

Information

Code

Tools

Moral Support

There are many others whose name and/or contribution I have forgotten. I apologize the oversights.

References

[1] John December, editor, HTML and CGI Unleashed, Sams.Net Publishing, Indianapolis, 1995.

[2] Kaitlin Duck Sherwood, The University of Illinois College of Engineering Web, Proceedings of the Second International WWW Conference, October, 1994.