Gemini Is A Little Gem


Little space capsules make me happy

Little space capsules make me happy

I’m writing this post as a commentary about the usual criticisms of Gemini Protocol. The most recent post on that topic I read was マリウス . Gemini is Solutionism at its Worst. Instead of simply commenting on Hacker News like I did in previous similar posts, I thought I’d write a little blog post I could link there and in future discussions.

There is a motif that recurs in most criticisms about Gemini that annoys the hell out of me. When you zoom out from the day-to-day reading of such complaints and move away from the phrase to phrase arguments into the big picture, you’ll see that they approach Gemini as if every person on that ecosystem is using Gemini for the same reasons. These arguments usually boil down to “someone is fed up with the web but guess what?! Gemini is not better than the Web!!! Win!!!”.

In this brief blog post, I’ll talk about Gemini from a different point of view. Not attacking these arguments individually, but trying to talk a bit about what attracts me to the protocol and how I see it. I hope that by the end of this post, you’ll have a different approach to reasoning about Gemini. And, if you decide to write criticism about it, that you’ll take what is written here into account.

Gemini is more than a protocol

The protocol is just the gateway to Gemini. Once you have a client that supports it, you’re free to enter the ecosystem. Once there, you’ll notice that it is composed of many vibrant communities. There are artists creating cool experiments, writers and essayists pouring their hearts and brains out, etc. You can find a tribe for you or start a new thing.

Since the markup language is so simple, it lowers the barrier of entry for those wanting to produce content. There is no need to learn web design and have a pretty site (nothing against those, I like them but they add friction to newcomers). One can learn all about Gemtext in less than an hour and be happy.

All that experience can be had on the Web as well. Gemini is not a replacement for the Web. It is just another option in your toolbox. The Web is your orchestral music, Gemini is low-fi chiptune. You can enjoy both. There is a ton of joy in working with simple tools that are easy to understand.

Most critics of Gemini focus their arguments on the protocol. How HTTP + HTML can be tweaked to work on a similar vibe. They are not wrong; the Web is retrocompatible with itself. HTTP/1.1 requests and serving very simple HTML work just fine. People are not using Gemini because the Web can’t do simple hypertext serving. Many using it because Gemini can only do simple hypertext serving. Also, focusing on protocol only makes one miss the rest of Gemini, which is the ecosystem and people who are having a great time using it. Sometimes, it feels to me like someone is at a party ranting about the music not being good enough while there is a smiling crowd dancing and having fun.

Gemtext is just another Markdown

People who think that Markdown is easy are often thinking in terms of using it as a writer or importing it from a library as a developer. Writing a Markdown parser is not trivial. Gemtext parsing is quite easy to implement on the other hand. A novice developer can do it from scratch with minimal understanding of their chosen language string manipulation features. Gemtext is easy for writers to use and for computers to parse it too, making it suitable for writing long-form text and for usage in underpowered machines.

Gemini is definitely biased towards textual content. You can still serve images and artwork from it, but the ethos of one document, one request prevents clients from auto-loading and inlining images. Non-textual content is not a first-class citizen in most clients when compared to Gemtext. That just means that you’re either willing to do it anyway, or that you’re better served by the Web. The Web is great and it can serve anything from simple hypertext to complex games. Depending on your interest, the Web might just be the best solution. You’ll get no points by trying to pass the community as saying that Gemini is the best solution for everything, and then showing it isn’t. Every one can see that there are different solutions for each need.

Creating Gemtext converters to Markdown or HTML is also trivial, thus enabling hosts to serve the same content to different ecosystems if needed. It just depends on what kind of content you’re interested in making, and what kind of trade-offs you’re willing to put up with. If the answer to the last question is none, maybe the Web is a better solution for you.

You can hold Gemini in your head

I think we can all agree that it is completely impossible for a single human being to hold all the specifications for the Web in their head. The Web grew so much that it is no longer a collection of technologies that can be understood easily and tackled by a single developer. Yes, you can know the big picture, the index card version of how the web works, but I doubt that a single developer can keep all of CSS, HTML, JS and HTTP specs in their head. I don’t mean as a user of those specifications and protocols; I mean as a developer who needs to implement that stuff from scratch.

Gemini, on the other hand, is dead simple. A developer can keep all of Gemini Protocol and Gemtext markup in their head. It is easy to implement and understand. Many people are into Gemini because they enjoy tinkering. Gemini-based software is easy to build and useful for the community. I’m on that camp. I enjoy building little Gemnini toys, some just for my amusement.

Constraints shine a spotlight on features

Gemini protocol has many constraints. Each of those constraints has been put into place to make a feature more powerful. Lack of cookies helps those who are interested in privacy. No scripting helps those who want documents instead of apps. Simple markup helps those who want to focus on content. You get the gist. Each constraint helps shine a light into some Gemini feature or principle. Of course, there are a gazillion ways to circumvent any of these features.

An example I often see is people criticising the privacy aspect of Gemini. I think those writers cannot grasp that Gemini in its default configuration is often more private than the Web. The key word is more. It doesn’t mean you can’t create specialised servers that track people, of course you can do that. Being able to do that doesn’t mean that all the privacy aspects of Gemini are moot. Gemini Protocol was not designed to be InfoSec Ambrosia. It was designed with some privacy constraints to help mitigate privacy abuse, and that is it.

Gemini is not perfect. It is not even close to perfect. It is a little gem with flaws. We look at it and marvel at how those flaws make it even more beautiful.

The replacement rhetoric is boring

Thinking that everyone who is into Gemini is doing it because they want the Web to die is quite boring. Homogenisation of a whole ecosystem never works. Of course there are people who want the Web to die, who cares? The Web will continue living just fine. It is not going anywhere.

Just remember that Gemini is an archipelago and not a single island. Each one of us is into it for a different reason.

Framing Gemini enthusiasts as people who are shouting to the four corners that the Web is dead, and that Gemini is better, is a complete disservice to the community IMO.

Gemini is old-school-ish

The original post linked above makes an argument that Gemini is not bringing anything new to the internet. That it is not based on new trends such as decentralisation technologies such as IPFS and Hyper. No blockchain either (thank the Gods for that). The author says it feels like old technology.

Well, that is a feature! A DAW can feel like space-age musical technology, but people have been enjoying Kalimbas for probably more than a thousand years and they’re having fun. Old technology doesn’t mean it is bad. This mindset that progress and innovation should be valued above everything else is not useful. See, I’m quite active in one of the decentralisation protocols community: Secure Scuttlebutt. I’m more active there than in the Gemini community (where I’m mostly a reader and developer of a small client). I can see all the innovations that SSB brings to the smol web, and yet appreciate Gemini for what it is.

I make a Racket-based Gemini browser called Fafi.

I make a Racket-based Gemini browser called Fafi.

Coffee is old technology, many of us drink it every day and we’re happy with it.

Gemini is old-school distilled for the current day. It keeps a lot of the feel of writing old-school networked software while still improving the experience with some modern features such as TLS. Do not think of Gemini as something that has value just because of nostalgia. Old-school paradigms have their place. They’re easy to grasp and implement. Because of how approachable Gemini is, it becomes easy to tinker and experiment. Old-school tech is boring, it fades to the background so that you can focus on what matters: content.

A hypertext distribution protocol without users and content is mostly useless (unless it serves as an inspiration for a new protocol that ends up with users and content). Gemini grasped the attention of enough people to create a critical mass of original content.

Gemini is an exclusivist community

The argument that unless you serve things on the Web, you’re making the world less inclusive is just wrong. There are a ton of older machines out there that have a hard time participating in the modern web. They can be a part of Gemini (or its simpler cousin Mercury) instead. Gemini and Mercury enables those with older machines, those who can’t afford recent computers, retrocomputer enthusiasts, and many others to take part in a Web-like experience at a fraction of the cost of being in the normal Web (both in terms of money and computing resources).

I procrastinate by making an alpha quality Mercury client for MacOS 8.6+

Gemini is easy to understand and implement, because of that there are lots of proxy services bridging the Web and Gemini. You can easily browse Gemini capsules from the Web. One loses very little by leveraging those services. If you like the ecosystem well enough, you’re free to decide if you should keep using a proxy or install a client. It is up to you. Believing that you can’t see Gemini-exclusive content from the Web is just wrong.

Final words

The world is not made richer by having less options for hypertext networks. Gemini is not the Web, and it doesn’t want to be the Web. Gemini is its own thing that will co-exist with the Web. There are many reasons to enjoy participating in the smol web, you should find yours.

Did you enjoyed reading this content? Want to support me?

You can buy me a coffee at ko-fi.

Comments? Questions? Feedback?

You can reach out to me on Twitter, or Mastodon, Secure Scuttlebutt, or through WebMentions.