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.

Mosaic

X Window System

The first text browser I used was Lynx:

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

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

Emacs/W3 screenshot

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

Emacs/w3m

Emacs/w3m screenshot

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

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.»

Edbrowse

alex@sibirocobombus:~$ **edbrowse https://alexschroeder.ch/**
no ssl certificate file specified; secure connections cannot be verified
54102
31824

{Home}
{Diary}
{SiteMap}
{Recent Changes}
{About}
{Contact}

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

{Diary}

Welcome!

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.»

Gopher: Remembering the web that wasn't

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.

Firefox (about:config) privacy modifications.

Duktape

Gopher client for Emacs

Gopher Wiki

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.

​#Gopher

Comments

(Please contact me if you want to remove your comment.)

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*.

#gopher tag

Mastodon

– 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.

Text-only news sites are slowly making a comeback. Here's why.

https://lite.cnn.io/

https://thin.npr.org/

http://www.theage.com.au/text

– 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

Peter Kotrcka

---

Hahaha! 😁

Of course your comment is also available via Gopher.

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.»

The Website Obesity Crisis

– Alex 2018-02-21 17:09 UTC

---

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

What about a simple degrading web

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