To Gemini or not to Gemini?

By Kaze4 minutes read


I've been going back to Gemini lately, simply browsing on other's capsules. Every time I do so, I am shocked by it. Everything is so snappy, pages are loading instantly, and they all focus on their content. No need to worry about trackers too, as the protocol does not support running code on browsers. If you don't know gemini, let me set the table...

The ever-growing web

Have you ever wonder why, despite having powerful computers and ultra-fast internet connections, web pages still takes time to load. Sure, now the content loads fast, but some videos, images or advertisements have not. This usually leads to pages changing their "geometry" after their main elements are displayed. The experience, despite all this speed and power is still really similar to the internet of the early 2000, just with more data-tracking. Why are we accepting this? Is there a point where computers will be good enough to experience a pleasant internet, or it will always continue to grow and require more powerful processing power?

A simpler web, Gemini.

Gemini aims to revive and modernize a 90s internet protocol named Gopher. It implement SSL by default but outside of this requirement, it is a very lightweight internet. No Javascript, no CSS or styling, only textual content. That leads to pages loading as fast as your internet could allow it! It also means, no data collection, no pixel tracking or no crypto-miner while you browse. It's actually refreshing! Pages are also really easy to do, as it uses a format inspired by Markdown.

Wait, no CSS?

No that's right! It's both a curse and a blessing. On one hand, the personalization options are (very) limited. You cannot add a small cat following your mouse cursor, or no background. The limits are brutal. On the other hand, it's the client that dictate how the page is displayed. Viewing a Gemini capsule on a e-paper display? Your client can render the whole capsule with pages instead of using scrolling to view long content! There are even some clients that generates icons and colors based on the domain name, so you can quickly tell two capsules apart.

So it's a one-way internet?

You would think so! But no, there's even an equivalent of Reddit written for Gemini! You can't create client-side code, but you can absolutely create server code. Most clients have the possibility to send data to a Gemini server. In fact, there's two things that most clients can send to a server, user-input in the form of a client-generated form and an 'identity'.

Identity? You said there was no tracking! Liar!

Actually, this is a really ingenious implementation in Gemini. You own your identity and you decide to whom you give it! If you take the popular browser Lagrange (now available on the Apple app store!), you can create one or more identities in the shape of a key-certificate pair. You also decide to whom you serve this identity. That's how the login works in Gemini, no password and username. You give your ID to a website, and this website will store your ID alongside any other information you give them. It's an interesting take on the identity problem!

That's Gemini for you!

Now, as you can guess, the Gemini community is far from being large. It's the exact chicken-and-egg problem, you need content to bring people, but it's hard to find motivation to create content if there's no users. I've faced the same dilemma and ended up moving my blog from Gemini to a 'simple' static site generator. My Gemini Capsule was also available over Http, but images were not loading. You had to use the Gemini version to have the images loading. Because.. what is the difference between a static HTTP website generated from Markdown pages and a Gemini capsule?

The appeal, the community. That is what's different. That's why I have that itch to rejoin the Gemini community. It's such an amazing project that tries to get back ownership of the web to the enthusiasts. An internet fuelled by passion, with a sane architecture and content-centric.