Gemini is a relatively new internet protocol, aiming to offer a much lighter-weight, text-oriented experience than the modern web. Gemini pages can make use of only very limited formatting: three levels of headings, lists, blockquotes, links (one per line only), and raw/unformatted text. On the bright side, this makes Gemtext formatting straightforward and intuitive. You also can’t browse “Gemini space” with a normal web browser (except via proxy); for that, you need a Gemini client. It’s the client (not the server) that determines the styling of a page, so you as the reader (through your client) get to decide what colour scheme and font you prefer to browse with. The protocol also has TLS built in, for encrypted browsing like HTTPS – there’s no unencrypted HTTP equivalent for Gemini.

I don’t think I could ever shift my primary internet presence over to a protocol like Gemini; the limitations are just too big for that (for me). But it does do a lot of interesting things, and I can see myself experimenting with it for fun. I mean, why not? Not everything in life has to be “productive” or “profitable”.

One thing that’s cool is that it kind of harkens back to the days of “ye olde webbe” (or at least the idealised version of it many people think of now – my own memory of browsing the web in the late 90s was that it was full of glaring colour schemes, marquees and blinking things, haha). People have homepages where they introduce themselves and then just link to stuff. Sometimes they have dated posts (a “gemlog”), but also things like hobby projects, lists of links to other Gemini sites, etc. As I mentioned the whole protocol is very text-oriented, so it’s good if you like reading things (particularly things about coding projects or the bloatedness of the modern web/preferableness of lightweight alternatives, for obvious reasons).

It’s also a protocol that simply doesn’t allow for tracking scripts or most forms of advertising (I mean, you could type out a slab of text explaining why such-and-such product or store is so great and provide a link, but you know what I mean). It is precisely a space for hobbyists and not for business dealings or marketing. You can carve out these spaces on the regular web too, obviously. But Gemini is inherently that way.

Gemini pages also load really fast. This is mostly because of the lack of unnecessarily heavy script includes and the like, but not only that: you can’t even embed images into your pages, you can only link to them, so you can’t even make your page slow by embedding loads of original-size images. Some clients (like Lagrange, which I’ve been using) do allow you to load images inline, but you still have to take further action beyond just loading the page (either click the link to the image to load it inline, or change your settings for Lagrange to load images automatically as you scroll down pages). If you create content on Gemini, though, you can’t count on your reader to be using such a client. The community also seems to discourage linking to high-filesize images; the few people I’ve found who do link to images, link to small ones (like 400px across). Overall, this means that the protocol is really, really well-suited for people with low data limits or a slow download speed (but not really connections that cut in and out, because the protocol lacks a mechanism to send an “ok, this page is done loading” signal to the client). I think this is a cool outcome, too.

There are more things that I think are cool: you as the user can also generate TLS certificates, and then use that to identify yourself to different Gemini sites (instead of creating user accounts on them, for example). This probably won’t be useful for most sites, but Gemini does allow for CGI to make some kinds of web apps, and could be useful for those. Then this might be a Lagrange-specific thing, but it includes an inbuilt feed reader, so you can subscribe to Gemini sites you like (so long as they offer a feed, of course).

I had tried to get a Gemini server running on my domain, but neither of the two softwares I tried worked as expected for me, and I’m not technical enough to debug them. Instead, I decided to sign up for Gemlog.blue to cautiously dip my toes into “Gemini space”. If you have a Gemini client, you can find my gemlog (with all of one post) at gemlog.blue/users/jayeless. I make no guarantees about how much I’ll update it or how long I’ll keep it going, but it’s there 🙂 (EDIT 13/1: My Gemini capsule is now instead at gemini.jayeless.net, hosted on Flounder.online.)

Naturally, looking into Gemini has caused me to reflect on whether I could just implement the benefits of Gemini into my normal, “HTTPS space” site(s) – especially since hosting my own Gemini site seems much more difficult. I mean, I already don’t use trackers or load vast, heavy Javascript libraries. Both Micro.blog and my root domain are built on Hugo, which makes them lightweight and static at the point of viewing. Most of the filesize bloat of my site comes from images, I’m pretty sure – could I find a better way of dealing with those? (I do already resize them to not be the like, 4000x3000px size that they are when my phone takes them, but is there more I could do?) Then the other benefit of Gemini – being able to quickly iterate text content on hobbies, etc. – is stuff that Hugo is able to do quite well, I’ve just been kinda lazy about actually getting content up 😅

Ultimately, there are many ideas and potential solutions for how we can work towards a friendlier, more respectful Small or IndieWeb. Gemini is one concept, and it’s a cool one, but we can run lighter, cleaner sites on the HTTPS web too. I like the idea that all these different projects compliment each other, giving differing weights to different priorities, but contributing to an exchange of ideas and offering an array of options that ultimately benefits the end user. I’ll be interested to keep an eye on Gemini, just as I am on other projects looking to help us improve the internet.