2018-01-05 Why Gopher

OK, remember the good old days of text browsers? Neither do I. Those days were always weird. The first browser I used was Mosaic and it used the X Window System. But text browsers did and do exist.

The first text browser I used was Lynx:

lynx screenshot

However, my favorite text browser used to be w3m. I liked how it rendered tables. The screenshot doesn’t show any tables, though.

w3m screenshot

Emacs also had a web browser, Emacs/W3, but it hasn’t been maintained in a long time and when I tried to get it to work, it didn’t look good.

Emacs/W3 screenshot

Emacs can also use w3m for rendering, Emacs/w3m:

Emacs/w3m screenshot

And recently Emacs acquired yet another browser, Emacs/eww:

Emacs/eww screenshot

And then there are alternatives like Edbrowse. «Edbrowse is a combination editor, browser, and mail client that is 100% text based. The interface is similar to /bin/ed, though there are many more features, such as editing multiple files simultaneously, and rendering html.»

alex@sibirocobombus:~$ edbrowse https://alexschroeder.ch/
no ssl certificate file specified; secure connections cannot be verified
{Recent Changes}

Search: <> Filter: <> Language: <> <Go! secure>



This is both a wiki (a website editable by all)
and a blog (an online diary about the stuff {Alex Schroeder} reads and does).

(I could not bring myself to make an actual screenshot of this. I hope you understand.)

What’s my point? I’m thinking along the lines of Gopher: Remembering the web that wasn't. «The modern web is an ugly, massive, broken mess. This isn’t a secret or a new take or a controversial opinion. We stuff our webpages so full of tracking cookies and bitcoin mining advertisements and javascript apps that monitor your every move that it’s no wonder that modern web browsers are less effecient than ever. Pages are huge (many MB per page, easy) and they spy on you.»

  1. In order to get rid of all of this, you need to prevent your browser from executing Javascript, from keeping cookies, and all these other things. Remember the long list of settings from Firefox (about:config) privacy modifications. And the end result for me was a browser that was so locked down, it wasn’t practical anymore. And these days I install Decentraleyes, HTTPS Everywhere, HTTPS by default, Privacy Badger, uBlock Origin and uMatrix when I set up my browser.
  2. The problem is that the net expects us to use not a simple browser to access it but one of the most formidable pieces of software. Modern browsers are big and complex, and with that come bugs, maintenance, security upgrades and all of that. Just think: I was unable to build Edbrowse on my Mac because it required Duktape, an embeddable Javascript engine.
  3. Note that even if you wanted to write a simple web client, you wouldn’t want to limit yourself to HTML 1.0 and HTTP 1.0, right? And then you need HTML parsers, and you need to deal with content negotiation, chunked encoding, caching, and all the other things. It’s a lot of work, even if you just want a simple web client.
  4. Consider the Gopher client for Emacs, though. It was simple enough for me to understand in a day so that I could add a call to HTML rendering for the HTML item type (using the HTML renderer that comes with Emacs, the same one being used for Eww). I was able to add support for the write item I need for my Gopher Wiki. And that Gopher server is just a thin wrapper around my wiki code, so I was basically able to write or contribute both client and server in a very short time.

I think this simplicity is worth going back to.

Here’s Lynx showing the Gopher version of my site:

Lynx/Gopher screenshot

And here’s my patched Gopher Mode for Emacs, showing my site, with support for the write item “New Page”.

Emacs/Gopher screenshot

OK, enough screenshots for today.



I’m leaving this comment using this chain of links: 2018-01-05 Why Gopher → Comments on 2018-01-05 Why Gopher → Add to Comments on 2018-01-05 Why Gopher.

– Alex 2018-01-05 09:39 UTC

Gopher is not dead. I caught the bug when I kept running into the #gopher tag on my Mastodon instance, Octodon Social.

– Alex 2018-01-05 20:11 UTC

Text-only news sites are slowly making a comeback. Here's why. Talking about low bandwidth and disaster areas.

– Alex 2018-01-05 21:21 UTC

Great one, thanks for sharing. And since this is good old HTML, I will use # like this: hasthtag gopher && hashtag greatsite && hashtag thumbsup

Peter Kotrcka 2018-02-18 08:35 UTC

Hahaha! 😁

Of course your comment is also available via Gopher.

– Alex Schroeder 2018-02-18 09:02 UTC

The Website Obesity Crisis: «Everything we do to make it harder to create a website or edit a web page, and harder to learn to code by viewing source, promotes that consumerist vision of the web. Pretending that one needs a team of professionals to put simple articles online will become a self-fulfilling prophecy. Overcomplicating the web means lifting up the ladder that used to make it possible for people to teach themselves and surprise everyone with unexpected new ideas.»

– Alex 2018-02-21 17:09 UTC

An argument by C-Keen on his phlog post, What about a simple degrading web.

– Alex Schroeder 2018-03-15 09:21 UTC

Please make sure you contribute only your own work, or work licensed under the GNU Free Documentation License. Note: in order to facilitate peer review and fight vandalism, we will store your IP number for a number of days. See Privacy Policy for more information. See Info for text formatting rules. You can edit the comment page if you need to fix typos. You can subscribe to new comments by email without leaving a comment.

To save this page you must answer this question:

Please say HELLO.