Monday, March 4th, 2019
Imagine there's no "i" (it's easy if you try)
Solderpunk yesterday published his phost about something between
Gopher and Web. At first it was not exactly clear, whether he's
proposing a new Gopher protocol version or something completely new,
which brought me to start typing this phost. As he then explained that
he was more was talking about a new protocol, not an incompatible
Gopher modernization, my post lost most of its relevancy as a reply.
I'm however still publishing it as a standalone thought.
I like the Gopher exactly the way it is. I have this relationship with
many old things - I use old computers, old transceivers, old cell
phones, old Palm PDAs, I even listen to old music, read old books and
watch old movies. I don't enjoy any of this _because_ it's old, but
_despite_ that. I didn't find anything better among the new stuff, if
I did, it would be quite a lot easier to stick with what's still fresh
There is a whole bunch of network protocols I never stopped to use (or
started to use them again as soon as they were again a bit alive) -
telnet, finger, FTP, HotLine, KDX and of course Gopher. These
protocols are old and I remember times when every single of them was
"doomed to die", just because there was some modern fancy stuff
supposed to replace it. And they're still here, not because they're
old, but because they're simple, stable and compatible.
It's near to impossible to browse any modern web page from plain Amiga
600, an i386 laptop, old Psion 5mx handheld computer etc. Browsers on
these platforms are stuck in early 2000's (at best) with no support
anything newer or even crash while trying not to ignore it. Two years
ago I moved my Czech blog from Tumblr to my own server, where I
created it as a single Perl script with HTML/CSS templates. I tried
really hard to make it readable from any 1995+ machine able to connect
to the Internet. It took a lot of time and I did it, but still the
page does not look the same on all platforms, it just can be accessed
from them without errors. And that's just the HTML/CSS side of the
problem - add HTTPS to the equation and you'll have problems even in
something as modern as Windows 2000.
But you can query graph.no via finger and/or browse gopherspace from
any of them, with the original tools that were distributed with them,
just like you could do it twenty five years ago. You'll still get the
nice plaintext output, that these machines can process and display
even with the limited computing power, they have. I do this all the
time. Any serious change in the protocol would break this state,
exactly the same way as numerous changes in HTML/CSS and introduction
of HTTPS did with web.
One tiny illustration: Gopher users already significantly changed it
and the only thing needed was non-standardized menu item "i".
Gopher was originally meant to be uniform system of menus, that were
supposed to look exactly the same, no matter on which server you were
and their purpose was to point you to the file-oriented content, much
like regular file system. Before Gopher Internet consisted of several
hundred servers. These servers offered shell accounts, mail, FTP, etc.
but there was no way to get from one to another or at least to get the
information, that there is some other server, if anyone didn't tell
you the address and login info. Gopher changed this, you could leap
from server to server by just going through menus, returning back,
opening and downloading files as you pleased. I remember that there
was a client for Windows 3.1, which displayed Gopherspace as a tree
and you opened menu items by clicking (+) next to them. You could do
this almost forever, because menus contained many different servers,
paths split, crossed, circled, etc.
But as soon as WWW started to take of this began to look too simple.
That's why people started to use "i" menu item on their servers and
clients started to display "i" menu item as a plain text. It made the
gophermaps/gophermenus to look more like simple plain-text webpages
and the illusion of never ending hierarchy was gone. Now there are
even gopherholes serving most of the content in the form of map.
I'm deliberately not putting this on "bad"-"good" scale, it simply
happened and it happened long time ago. But as RFC 1439 says, that
unknown menu items can be either displayed or ignored, back in the
mid-90's there were many clients simply ignoring the "i" menu item.
Most were updated, some were not. And that's just one menu item, but
imagine that there was no client for you, that can display it - what
would you see on most of today's gopherholes?
Fortunately when it happened in time, when both gopher and what we
today consider "retro" computing platforms were still in use and
relevant for many. The situation today is different, any change to the
protocol will render any old client unusable and nobody will ever
repair it. That's why I will always oppose any changes to the protocol
residing on port 70. On the other way, I'm all in for a new
gopher-inspired protocol, that will combine it's simplicity with what
we learned since then. But it won't stop me from using the Gopher.