Home

Logs


August 6, 2022

About the Gemini Protocol


This is my thoughts on the Gemini protocol, a new thing (actually not quite new, it has been existing for over 3 years now since this was written) to serve as an alternative to the bigger WWW and Gopher (yes, people still use that thing) and also my real first content on the protocol itself.


Most of the stuff here isn’t new, if you’re a follower of the protocol you probably known all of these already, but if you’re coming from the big vast ocean of the Interwebz (where I’m more known at), and don’t know what’s all this stuff for, apparently for some people the web’s too distracting and privacy invasive, so they decided to abandon the ship and work on an alternative instead, and thus the Gemini protocol was born. It is meant to be more simple than HTTP (so people doesn’t put ads or JavaScript to it), but support more features than Gopher (let’s be real here, that thing is super old now, it’s over 20 years old!), such as automatic line wraps and very basic formatting (I do mean it’s very basic, you can’t even make text bold or italics).


Also a quick heads-up: I’m not an English-native person so I don’t guarantee I’ll say anything 100% correctly, if you have anything to say you can always contact me, but I’m more active at platforms that the majority of people here will deem to be “too proprietary”, “lack of freedom”, et cetera.


The pros


It’s human-friendly (both to users and to programmers)

The whole thing is designed to be extremely simple, so that anyone who has coding knowledge (or not at all) could probably make a server or client in a day or two. Now compare that to HTML, where coding a web browser from scratch today is literally the equivalent of coding an operating system, since nowadays webpages can be as complex as entire standalone computer programs, up to the point where the web browser is the only program you’ll need to have on your computer. If you haven’t know already, you can now run these on a web browser:


It’s easy to make a perfect gem page

Since the protocol is - by its nature - very simple, there is very little job you need to do to make your gmi pages to be as perfect as it can get: display its content to the screen, maybe as your style. Making a webpage on the other hands, there is just so many different standards and hidden surprises that trying to support them all is a really time-consuming task. For example, these are some of the hassles you might encounter while you create a web page:

That’s just some of a few that I personally encountered, who knows what problems other programmers might encounter for themselves?


The cons

As far as things go, Gemini isn’t a one perfect solution to any problem you have on the Internet or something, so here are some drawbacks with the protocol:


Lack of content

Because of its small community, the Geminispace doesn’t have that much content for the outsider to consider getting into (like I don’t know anyone here who have an interest for incremental games, quite odd interest, I know) so the project only has the attention of mainly Unix/Linux/terminal geeks who want to stay away from the sins of Internet but just recently find Gopher too limiting, and such the variety of content are only limited to be dominant of computer related stuff. And for your information the majority of people doesn’t even know Unix/Linux is a thing.


To be honest, it’s kinda niche

Like for real, it doesn’t solve the problems the majority of the normal people are facing. People are pretty much get used to the way the Internet works now, and if one want to be privacy awared they would install privacy extensions and ad blockers instead of switching to a completely different version of the Internet with less features and less content. And if you’re complaning about Gopher being too restrictive, remember people didn’t invent HTTP/HTML and move away from Gopher for completely no reason at all.


It’s not gonna completely avoid the pitfalls of the Internet

Despite the maker of the protocol not wanting to add new features for it, people have created quite a few of non-standard quirks, like Titan uploading, ANSI escapes, paywalled content, etc… so in the future the protocol might trip into the trap it desperately wanted to avoid. It’s not quite as HTML-proof either - no one is gonna stop you from hosting a HTML website over Gemini, it’s just the Gemini client won’t be able to read it so it passes the file to your web browser and oh that just completely destroy the purpose of the thing, why don’t you just use the WWW instead?


Conclusion


I think the project has its charm, it’s fun to come up with something to contribute to it, but it isn’t really a thing that normal people is going to devote to it long-term. It’s nonetheless a nice social platform/experiment to see how much people can get at creating something that isn’t as bloated as the modern-day web.



/logs/