A Gemini capsule and astronaut in space

The very early 90s were a simpler time. Not just because wars could be finished neatly in a matter of months rather than decades, and cryptocurrencies didn’t even exist in the fever dreams of sci-fi writers, but because the web looked like shit.

Hold up - did we just say “the web?” Sorry, we meant to say the internet - because the web, famously invented by notorious CERN staffer, Tim Berners Lee, was only one of several standards competing to bring the wonders of instant connection to the great unwashed horde of heroes who could afford a dial-up modem.

The Gopher protocol was an alternative to the HTTP web we all know and love today. Launched in 1991, it died probably because the university of Minnesota charged licensing fees for gopher servers, while CERN didn’t for WWW servers. You can read the brief history here if you’re interested.

Gopher could have been it. It was the Betamax to WWW’s VHS. The minidisc to CERN’s cassette tape. In our opinion it should have won the race just because of the puns. (“Gopher” / “go for” etc).

For better or for worse, it wasn’t to be. The unimaginatively titled World Wide Web won out, leaving gopher enthusiasts digging in the dirt for whatever it is that gophers eat.

There are untold millions of HTTP servers across the world, but as of 2020, only around 400 Gopher servers survived. That’s not a population that can be resurrected even with a captive breeding program.

So... it's not the web. What's the difference?

So glad you asked!

The big difference was that addresses started with gopher:// rather than http://. Oh - and Gopher didn’t support HTML, or security certificates (which was, admittedly, not a huge deal in the 90s). Pages were menu driven, with an item selected from a menu opening either another menu, or a document.

Microsoft’s late lamented Internet Explorer used to support Gopher - but not for very long. It’s a shame, because Gopher had a nice, clean interface, didn’t support tracking the living shit out of you, and didn’t come with a quarter of the useless and intrusive bells and whistles of the internet we know and love today.

Gemini is Gopher’s spiritual successor

Gopher never truly died. Despite a dwindling userbase and the fact it was totally and catastrophically eclipsed by the World Wide Web, hardcore fans kept the spirit alive - ensuring that Gopher clients were compatible with the latest operating systems, and keeping their sites (burrows?) sporadically updated.

Gemini first appeared in 2019, and with it, a new and enthused core of adopters who are ready to innovate and to carry on where Gopher left off.

Visit any Gemini page, and you’ll be shocked at how sparse and utilitarian it appears. There’s a plain monocolour background, some text, some menus. No pictures.

The lack of visual clutter is shocking - in a good way. It’s like being back in the 90s again. This means that the amount of bandwidth, storage and resources need to either run a server (They’re called capsules) or to visit one is virtually zero.

You could probably run a Gemini capsule on a pocket calculator and access it with a McDonalds toy freebie.

One huge advantage the Gemini protocol has over its predecessor is in supporting requiring self-signed security certificates. It’s unlikely that anyone would be snooping on your traffic over a niche and arcane protocol, but you never know. Otherwise, from a user’s point of view, it seems exactly the same as Gopher. stripped back. Bare.

The same goes for browsers. We’re using the Kristall small internet browser right now. It supports gopher:// and gemini:// and it looks like it’s stepped straight out of a Delorean. The only concession beyond bare functionality is the little heart shape which allows us to bookmark a site.

Desperately seeking something

Gemini has a search engine, accessible at gemini://geminispace.info. Don’t try and type it into Firefox or Chrome - it’s accessible only through dedicated Gemini browsers, and can usually be accessed by typing a query directly into the address bar.

Here’s what you see if you type “The Crow”:

Search results for "The Crow" on geminispace.info

When we said 'no frills' we were absolutely not messing with you.

It looks OK. We guess. The Crow’s actual capsule gemini://thecrow.uk isn’t listed as we only submitted it an hour ago.

All of the links work, and will take you through to similarly formatted pages. Neat, although inline images are not supported.

We’re fine with that.

The low tech appearance is deliberate, and there are no plans to make it any more like the web than it is now - although to say that is a little disingenuous. There isn’t any set standardisation as of yet, so we suppose everyone can do what they want.

What we really love about Gemini is that it is small. It’s currently enthusiasts only and these tend to be people who are interested in the same kinds of things as us. The noise of the web recedes when we use Gemini, leaving behind only the adventure of finding new content.

SEO optimised monetisation content isn’t a thing, thankfully. It’s worth the effort just for that.

Making our own Gemini capsule

Yesterday morning, we got it into our heads to create our own Gemini Capsule. It was easy. We followed a tutorial, set up an Agate server listening on port 1965 of our Raspberry Pi and let rip with the obligatory “Hello World” demo page.

We’d be lying if we said we weren’t a little underwhelmed with the results.

Posts are written in markdown - which, again, is fine - our main site is written in markdown and then converted to HTML by Jekyll.

Unfortunately, simply changing a markdown document’s extension to gmi and serving it up resulted in a mess. Gemini’s markdown is a little different to what we’re used to.

HTML links didn’t work. Formatting was wonky. It looked horrible and didn’t fit with the lovely, clean Gemini aesthetic at all.

We also couldn’t find a way of automagically generating a Gemini Capsule in parallel with our main site. This meant that producing the main page would entail adding links by hand. What is this bullshit?

Searching for “gemini” within the Jekyll site and documentation yielded no results, and while there were individual repositories on Github for converting a variety of formats to the Gemini standard, they weren’t quite right. md2gemini came closest to what we were after and with a raft of options, we were able to strip away all of the nasty front matter, non-functional HTML links and everything else which was ruining the look of the piece.

Additionally we wrote a quick and dirty script to help create a functional gemini capsule from our Jekyll _posts directory. It’s on Github if you want to use it.

It uses md2gemini to strip the posts of everything which won’t display well in Gemini, with .gmi files outputted (if that’s even a word) into the output folder.

Next, it creates an index page of all the files in the output folder - in reverse order, before copying the index.gmi file to the output folder.

That’s it - all done. all we need to do then is to scp the contents of the output folder to our Gemini capsule folder on the Pi.

This is as bare bones as it gets. It’s an index of Gemini URLs and the associated files. Directories are hidden.

If you’re viewing the web version, the Gemini Capsule version looks like this:

The Crow's Gemini Capsule as viewed through Kristall

Where do we go from here?

For starters, we’ll be looking into using markdown properly so it displays correctly on the Gemini capsule. To date, we’ve been writing in a mix of markdown and HTML, that will have to change.

Otherwise, The Crow is going to carry on as it always has done. We’ll trigger our little script when we build the site for web, and scp the lot over to our Raspberry Pi. Fire and forget.

Except not.

Having a presence in Geminispace means that we need to go in and check in from time to time and see if things are displaying correctly.

It’s an excuse to get away from the noise and the hustle of the web, and into an idealised quieter time which never truly existed, and which has now been artificially recreated.

It’s far from the Madding Crowd. No - it’s Downton Abbey.