Why Gopher Will Succeed

Happy May, everyone. I’d like to mention before we begin that April was by far the busiest month for the Scratchpad, with 18 posts made versus a rough average of 12. Really neat, busy month.

18 posts in April!

Here at Somnolescent, May has been declared Gopher Month. If March was for our personal sites and April was for overhauling the bulb mecca, May is the month where Somnolescent takes over Gopherspace for real this time. We used to have an instance, but a combination of less-than-stable hardware and a less-than-stable living situation in my life made hosting it untenable. Soon, we return.

To kick things off, and as an explanation for what exactly we’re doing, I’d like to rave a bit. Gopher is both a punchline and a flourishing internet protocol. Gopher is both inherently useful and a fashion accessory for contrarian nerds. Gopher is obvious and incredibly misunderstood all at once. What it is is lesser to its fans than what it represents. Yet, in all the contradictions, we at Somnolescent are staid fans of the possibilities of Gopher. And so, like digital chloramine, it lingers. Here’s my attempt at explaining why.

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.

A Gopher menu with a variety of photos and metadata for download
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 analogy is the world wide web, but the two are vastly different. The web appeals for the experience of browsing itself, the presentation of graphics, video, sound, 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 will succeed because of its simplicity. 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.

Gopher will succeed because producing content for it is easy and fast. 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 would take not ten minutes to create with the right tools, while a similar webpage would take much longer.

Any ordinary text editor will do for writing a Gopher menu, and with modern servers supporting globbing (or automatically populating a menu based on filename), populating a menu with hundreds or even thousands of files is as simple as 9*.jpg. Better yet, if someone wanted to write a tool for generating a Gopher menu through drag-and-drop or detecting files in folders or some other paradigm, it’d be a cinch to do so.

Gopher will succeed because of the 30 years of software and countless computer platforms behind it. 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.

Gopher will succeed because it’s peaceful and ordered. 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.

Gopher will succeed because it has room to grow. 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, and as long as the client plays by the rules of the protocol, every single 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.

As we go forward with Gopher Month and the Somnolescent Gopher comes back online, 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 where people who’ve quit the web have gone. You can use both. In fact, you should use both, and celebrate where both are each most useful.

And as long as you have that mindset, Gopher will succeed.

Leave a Comment