040.31.3a Exploring Internet Gopherspace by Mark P. McCahill Internet Gopher is a simple protocol for building distributed information systems and organizing access to Internet resources. The design goal for Gopher is to make navigating the Internet and accessing distributed resources easy for naive and non-technical users. The Internet Gopher client software presents users with a virtual information matrix (gopherspace) that they can navigate by either browsing a hierarchical arrangement of items, or search by submitting queries to full-text search engines. For browsing in gopherspace, the gopher client software presents the user with lists of items from which the user selects an items of interest (typically by pointing and clicking with a mouse). For instance, at the University of Minnesota, a user might look for a salmon recipe by looking in the "fun & games" directory for the "recipes" directory which contains a "seafood" directory. Alternatively, the user can select an item called "Search lots of places at the University of Minnesota" to look for salmon; when this search engine is selected the user is prompted for what words to search for (salmon) and a full-text search is done by the server. The result of the search is a list of items that matched the search criteria. Although the Gopher protocol architecture supports distributed servers, access is transparent to the user. A gopher client is configured with the address of a single Gopher server. When the client is launched it contacts this server for an initial list of items to display to the user. Each item has a type associated with it so that the client software can differentiate between documents, directories, search engines, sounds, etc. The type descriptor also makes it easy to add functionality to the gopher protocol by defining new types. Each item also has a name (to be displayed to the user), a selector string (be sent to a server to get the contents of the item), and the port and domain name of the machine on which the item resides. Note that the machine name and port can easily be used to refer to other gopher servers; this makes it easy to construct links (pointers) to item that reside on other servers. Links to items that reside on other machines can be refer to individual documents, search engines, or directories (collections of items). Because there are gateways from gopher to other services, gopher clients can access information in WAIS, Archie, ftp, and USENET news. The gopher gateway to Archie translates ftp sites listed by Archie into items that a gopher client can access directly through the gopher to ftp gateway; this makes finding and fetching items via anonymous ftp seamless with a gopher client. The Internet Gopher software (clients: Macintosh, PC, NeXT, X-windows, VMS, VM/CMS, and Unix vt-100 terminal) (servers: Unix, NeXT, Macintosh, VMS, VM/CMS, and MVS) is available for anonymous ftp from boombox.micro.umn.edu in the /pub/gopher directory. Gopher is discussed on the gopher-news mailing list (send subscription requests to gopher-news-request@boombox.micro.umn.edu) as well as on the USENET newsgroup alt.gopher. For a quick look at gopherspace, you can telnet to consultant.micro.umn.edu and log in as "gopher"; for extended visits to gopherspace you will probably want to run a gopher client on your own machine. * Mark P. McCahill, gopherspace engineer, Computer and Information System University of Minnesota