Gemini, Gophers, and Fingers. Oh My! Alternative Internets Beyond HTTPS · brennan.day
🌻 Welcome to brennan.day! I respect your decision to not use JavaScript. You can read here for more information about what functionality is disabled and why.
Skip to main content
Prodromus Astronomia, volume III: Firmamentum Sobiescianum, sive Uranographia, table DD: Gemini' by Johannes Hevelius. 1690 | Wikimedia Commons | Gemini badge by uoou
In my last post, I announced that I created a bash tool for easier blogging in the terminal, inspired by the tildeverse. Today, I want to continue my discussion on visions of alternative Internets that are already being created.
I want to talk about Uniform Resource Identifier (URI) schemes.
Sounds boring, right? Or at least complicated, but it really isn't. URIs are just the protocols set for browsing the Internet. There are many, some official (as per the Internet Assigned Numbers Authority) and some unofficial.
One of the biggest draws of the IndieWeb for me is the decentralization of the Internet. The entire point is to stop the erosion of the Internet from being a handful of bad-faith, extractive corporate social media platforms.
But at the end of the day, we're still all using the same Internet, aren't we? The same handful of browsers, the same frameworks and engines. We can take this a step further, and we can interface with the Internet in ways that don't involve going to websites that start with https://
The Colour of What We Call the Internet
Chrome alone controls roughly 73% of global desktop browser market share. If you add in Edge, Brave, Opera, Vivaldi, which all are built on Google's Chromium engine, that accounts for over 80% of desktop browsing worldwide. Mozilla, which still maintains one of the only independent rendering engines (Gecko), is the only viable competitor. Everything else is Blink and Google.
More and more, the webdevs of the world test and develop for Chrome only. Agriculture teaches us how dangerous and fragile monocultures like this are.
It doesn't need to be this way. https:// is not the only way to connect and interface with the Internet. Some that you may know are ftp:// for file transfers, mailto: for email composition, ssh:// for secure shell access, irc:// for Internet Relay Chat, or magnet: for peer-to-peer downloads. The majority of Internet browsers do not play nicely even with these protocols, handing them off to other applications.
But what I want to write about today are three protocols that have their own ecosystems, their own communities, and their own aesthetics. finger://, gopher://, and gemini://. Two predate the World Wide Web entirely, but one was created in 2019, the same year the first black hole photograph circled the planet. None of them require a GUI. None of them require JavaScript. All three of them run in a terminal.
Finger (1971)
Let me start with the deep past, when the ARPANET was less than two years old. In 1971, users wanted to know who else was logged into their small networks, and where they were. The existing tool, called WHO, gave a list of user IDs and terminal line numbers which was cryptic, technical, readable only if you already knew what you were looking at. Researcher Les Earnest at the Stanford Artificial Intelligence Laboratory watched people literally run their fingers down the WHO printout, scanning for recognizable names. He named his new program after that gesture.
The finger daemon runs on TCP port 79, serving a small, human-readable file about you. Your name. Your email. Whether you're logged in. And the contents of two files: .plan and .project.
The .plan file was originally meant to contain a user's current and future plans, a professional status update before status updates existed. But as the informal culture of the early Internet evolved, .plan files became random musings, personal manifestos, and links to things you were thinking about. A broadcast of who you were to anyone who cared to ask. In ways, it was the first social media profile.
I have a .plan file in my tilde home directory right now. I'm not going to tell you what it says, for the point is you have to go looking. finger brennan@tilde.pink and you'll find out what I'm working on right now. And yes, of course the verb "to finger someone," is designed to make you snicker.
It's opt-in, low-infrastructure presence. A plain text file and a TCP connection.
Bombadillo, the terminal-based non-web browser I'll mention more below, supports Finger natively alongside Gopher and Gemini. You can run your own finger server on any Linux machine. The protocol is so simple it fits in your head.
Gopher (1991)
Now let's move forward twenty years, to another problem at another university.
In 1991, the University of Minnesota wanted a campus-wide information system. The project became, as these things do, a design-by-committee monstrosity. A group of programmers, Mark McCahill, Farhad Anklesaria, Paul Lindner, Daniel Torrey, and...