The Gopher protocol has long been a source of curiosity and fascination for the Somnolians, myself obviously included. A brief staple of the very early internet, Gopher is enjoying something of a renaissance at the moment. Yet, I don't think the reasons why Gopher is so useful have been satisfyingly codified. Many of even Gopher's supporters consider it only in terms of the Web, completely ignoring why Gopher is so useful by its own merits. I'd like to offer my own take on a Gopher manifesto, and why, even as people proclaim it long out of date, Gopher stays successful.
For context: Gopher is a very, very old internet protocol codified around 1991 or so in dcb's neck of the woods, fittingly enough, at UMN. It's a highly-structured document retrieval protocol—in layman's terms, it's built for letting you download a ton of files quickly and efficiently. All Gopher servers work the same, and all Gopherholes are built the same; the focus is entirely on what you can download on it.
Gopher is structured enough to be quick and easy to browse, but flexible enough for clients to get creative with how they render it. Netscape 4.5 here goes the simple route.
Any file can be hosted on a Gopher menu, and Gopher menus are so stripped down, finding what you're looking for is practically instant. Its closest analogue is the world wide web, but the two are vastly different. The web appeals for the experience of browsing itself, the presentation of graphics and information all mixed together, while Gopher appeals for its no-nonsense, no bullshit approach to serving files. On the web, you're there for the menu; in Gopherspace, you're there for what's on the menu.
For these reasons, Gopher will succeed.
Gopher is one of the most efficient, low-overhead, high value protocols you could possibly implement. We all, on a daily basis, download things. Music. Drivers. Program binaries. Assignments and syllabi. Gopher makes finding what you need almost trivial. What you need is there on the page in plain sight, in the place you expect, always.
Writing a new Gopher client or even a server is dead simple. For a hobbyist looking for a new toy to play with, Gopher is ideal. The simplicity of the protocol means that there's a million ways to implement it on the client, all while retaining full compatibility with all Gopher servers in existence. I'll get back to that shortly.
All Gopher menus are plain text lists of selectors—either links to other Gopher servers or links to files for download. A menu can be pertain to one subject (say, level editors or trainer programs), but still contain links to other menus, additional information on modding the game in question, or a URL to a website for further details if necessary. All of this amounts to a no-frills file-focused approach to producing content. No worrying about looks, about HTML and CSS—it's all about your content.
In some cases, creating a menu is as simple as throwing files into the right folder; the original gopherd
worked almost exclusively on generating Gopher menus using that method. If more customization is desired, writing a custom menu using a gophermap is dead simple and can be done in any text editor.
For a way to reinvigorate an old computer, browsing Gopherspace is possible, even comfortable, even on 486-class machines. In a similar vein, phones, PDAs, and tablets both new and old are all equally fast in the simplicity of Gopherspace. Gopher is the rare piece of technology to have something to offer both retrocomputing and modern computing enthusiasts. Gopher might have its roots in early 90s internet, but it's not outdated. Not by a longshot.
The modern internet is defined by noise. Always-on connections, graphics, colors, and constant updates to steal your attention away, what you need hidden behind mandatory account creation and paywalls and clunky website layouts. Tracker and beacons watch you from site to site. The modern internet fatigues us.
Gopher menus all look and act identical, with no support for autoplaying sound and video, garish colors, animation, scripting and tracking, or even inline images. While this means Gopher isn't ideal or even useful for every use (and I am by no means claiming it is), for any scenario where you just want to grab the odd file or two from an archive? Gopher will run rings around any other method by which to do it.
By no means have Gopher enthusiasts even begun to exhaust the possibilities for the protocol. With its simplicity comes much room for client authors to experiment. Images and videos can be displayed in a subwindow, for example, offering a browsable art gallery without the overhead of a bloated art portfolio site. Even small interface tweaks, such as a "download all files on this menu" button or browsing using the keyboard instead of the mouse, could have a major impact on interacting with Gopherspace.
Gopher clients have so much latitude in how they display menus that the fact that many simply display a list of files seems ridiculous. There's nothing preventing a Gopher client from integrating with the user's OS, letting them browse menus in the same way they browse folders on their own hard drive. On the other end of the spectrum, one of the most wild uses for Gopher is GopherVR, which turns Gopher into a first-person adventure into the video for "Money for Nothing".
The ways to interact with Gopher are all up to the imagination; as long as the client plays by the rules of the protocol, every Gopher server in existence will work with it.
Gopher seems easy to laugh at, but its value starts to become most apparent when compared with the web's failures, bloat, and potential for abuse. Gopher is rock-solid. Gopher is rigid, orderly, and prioritizes finding what you need. Similarly, the web's value becomes apparent when you compare it to Gopher's shortcomings. For apps, forums, communication, and documents where styling and presentation is key, obviously the web comes out ahead, but none of that is a fair comparison, I'm afraid.
For browsing an archive like Project Gutenberg, what would you rather have? Pages of options scattered about with no easy way to simply browse the collection and download an .epub
, or a clean, pleasant menu with what you might want all in plain sight? In situations like these, Gopher still has plenty to offer.
To truly appreciate Gopher, you should take it from the perspective of it being a useful tool in a toolbox full of them. It's not the "proto-web" it's been fabled to be, nor is it some strange alternate reality that competes with the web. You should use both, and celebrate where both are each most useful.
And as long as you have that mindset, Gopher will succeed.
The information I've provided above is provided as-is. Errors may be present. You can contact me at mariteaux@somnolescent.net for corrections.
Last updated 7/18/2020.