I really enjoyed messing around with Gemini a while ago! But after the "messing around" stage with the protocol itself, the restrictions inherent to gemtext sapped my excitement around it.
It's a mark up language squarely focused on those that write text, but arduous to use if you want to share things you've illustrated, which is most of what I share online that isn't tech related. There's of course the argument that inline images/a spec'd way to expose an image directory listing with thumbnails/etc would only serve to distract or exploit you... but that also ignores the fact that people make art for your eyeballs too. Text is certainly the first class citizen, where images/music/video are all tied for second class, accessible only by downloading them 1 by 1.
That does mean it's perfectly fit for purpose! I wouldn't say it's bad just because I don't get my specific needs met. Someone who's needs are met by Gemini will love it.
There are Gemini clients that can inline images, so visitors to a site could decide to enable that if they wanted to see for instance a list of thumbnails.
Are clients permitted/expected/tolerated to run off and fetch the contents of image links for inline display, once a page containing such links is retrieved?
Agree. I don't think Gemini plugs any hole that Gopher could've left open. As it is, it's just a motherfuckingwebsite.com, except it's trying to take itself seriously.
Maybe this is just me showing my age, but I don't understand why reinvent everything when you could just go back to something like HTML 2.0 or even 3.2 with some minor changes. I probably hate what happened with the "modern web" as much as the Gemini developers, but going full NIH is unlikely to be a good solution when there's an existing "unmodern web" to develop for, and as a bonus, can be experienced even with a modern browser.
Gemini is a reaction to all the negative changes that happened to the web. Their premise is that the design of the web was fundamentally flawed because it was extensible. You see this in both the protocol and the community where the dominant idea is basically, make it super hard to ever extend or change Gemini. HTML is clearly a failure from this perspective, because HTML changed.
Personally I don't have much use for this attitude, the main problem I have with the web is when faced with the choice of empowering the publisher vs empowering the user, we kept on choosing to empower the publisher. The standards and browsers were owned by the web publishers, no one represented the user, and now instead of having a "user agent" installed on your machine to browse the web, you have a piece of spyware, better referred to as "Google's agent."
I don't really need to trade Google's Agent for Drew DeVault's Agent, give me software that does whatever I want it to do, fuck the publishers. But what do I matter, I'm not building any of this stuff.
Gemini is technically extensible. The only reason servers and clients don't add "unofficial" features which eventually become official, like HTML did, is because of the community.
But a community could form around early HTML, make clients and servers that only support early HTML, and vow to never support later HTML features. Such a community wouldn't be much different from Gemini's. Psychologically, they would have more difficulty rejecting new features (that have already been implemented), be less exciting initially (since they have less novelty), and have more trouble distancing themselves with mainstream HTML. But psychologically, Gemini is apparently reinventing the wheel without any advantages over HTML...and that disadvantage, at least to me, feels worse than the aforementioned advantages.
EDIT: I actually think gatekeeping a community with a different protocol may be a good idea. But I haven't heard about any technical advantages of Gemini (e.g. a protocol design that would be especially hard to extend, like a bloated spaghetti protocol on purpose) and I think that's a wasted opportunity. Nor have I heard about anything particularly interesting in the Gemini community, which makes me think the psychological benefit of a separate protocol isn't enough for an effective community, Gemini's community would need some other advantage, then perhaps a separate protocol wouldn't be necessary.
If you reinvent something then people get to be a part of it. They get to help with implementation and maybe design. People like being a part of stuff.
The advantage of a separate protocol is that you know that every available site will be limited. If you use a search engine, it will give you a result your limited browser can read. If you use an old or limited web browser (Dillo, e.g.), then you will still have the problem of discovery of Smolweb content.
Interesting outro. Interoperability is presumably one very big reason for this protocol.
As for why, all I can say is, download Lagrange, go to gemini://bleyble.com/cgi-bin/random, and see for yourself. It's one thing hearing about it and a completely different experience browsing the geminispace.
The different experience is largely thanks to different content, not different protocol. The protocol just serves a gatekeeping role to keep the community small enough.
That was a terrible experience. For a start that site has an expired certificate, as do many of the pages it suggested, and of the pages that worked it was mostly people that dipped a toe in a few years ago and never came back or other broken function.
Are they? On client side, technically it is easier not to execute scripts then to do so (despite the UX of https://addons.mozilla.org/en-US/firefox/addon/noscript/ might let you think the opposite). Technically, with DOM inspection one can also easily filter out elements you don't like, both on client and server side. It is literally one XQuery/XPath away.
The problem is that most modern "apps" stop working once you prevent them from exchanging data with third parties or using nowadays-standard APIs such as XHR or Websockets. This is why a radical cut was chosen by Gemini.
I built and run a search engine and a "Wayback Machine" for Gemini:
gemini://kennedy.gemi.dev
There are ~4K hosts and ~1M documents/images/files which make for nice playground with experimenting with crawlers, indexers, and more. Its a nice hobby. Lots of primarily static sites, and CGI is used to add some interactivity:
The protocol supports query strings so the server can generate content based on the string, which can be used for an in-Gemini Gemini search engine. It doesn't have to be all static content. People could also build out a directory (like the now defunct DMOZ and similar directories for the Web).
It's an alternative to HTTP and HTML (primarily). With the protocol sitting, in terms of complexity, somewhere around the early HTTP/1 protocol and gopher, and the geminitext format being suited for a variety of displays and more text oriented rather than for interactive or multimedia use.
And its simple implementation (client and server) comes from the simple protocol that doesn't seem to need much code to implement. The content seems to be in something similar to Markdown but fewer features. So if one wanted one could achieve the same with simple HTML over HTTP. My guess this is also a community thing.
Agree, that was exactly my reaction. What a terrible introduction, wasting many words on such platitudes as telling me that the idea isn't new but it isn't old fashioned either, or that they want to provide "some respite for those who feel the internet has been disrupted enough already."
Jesus, god forbid someone share their motivation for a project for longer than it takes for a tiktok to play...
The link to the FAQ and spec is right there. If you have the attention span of a fruit fly (many such cases) I personally suggest trying to fix it, not feeling proud about it.
If this were an utterly pedestrian """deep dive""" about some AI thing it could have rambled as much as it liked that there wouldn't be this comment near the top, I assure you.
Reminds me of a commercial where an artist attempted to convince their friend in excited terms how amazing their new masterpiece was, only to reveal its a blank canvas and they ran out of paint.
It's in the FAQ which you can get to on one click:
>Gemini is an application-level client-server internet protocol for the distribution of arbitrary files, with some special consideration for serving a lightweight hypertext format which facilitates linking between hosted files. Both the protocol and the format are deliberately limited in capabilities and scope, and the protocol is technically conservative, being built on mature, standardised, familiar, "off-the-shelf" technologies like URIs, MIME media types and TLS. Simplicity and finite scope are very intentional design decisions motivated by placing a high priority on user autonomy, user privacy, ease of implementation in diverse computing environments, and defensive non-extensibility. In short, it is something like a radically stripped down web stack. See section 4 of this FAQ document for questions relating to the design of Gemini.
> Gemini is a new internet technology supporting an electronic library of interconnected text documents. That's not a new idea, but it's not old fashioned either. It's timeless, and deserves tools which treat it as a first class concept, not a vestigial corner case. Gemini isn't about innovation or disruption, it's about providing some respite for those who feel the internet has been disrupted enough already. We're not out to change the world or destroy other technologies. We are out to build a lightweight online space where documents are just documents, in the interests of every reader's privacy, attention and bandwidth.
Those words don't communicate much about Gemini at all. Gemini could be a webring for all this says (it's not, but you could build one on it), or it could be something entirely different. It turns out that Gemini is a protocol and a text format, but those 100 words don't say anything about either of those things.
It does a really bad job of explaining what it is. They could have said "modern gopher" and that would have conveyed way more information (for people who know what gopher is, which is probably 90% of the people ever reading it).
I've had a Gemini Capsule (what Gemini calls a 'website/blog' since about 2021. It gets very little traffic, but it's fun to have. Browsing the smallweb is nice in the evenings when I want a high signal-to-noise ratio of interesting content.
It's a mark up language squarely focused on those that write text, but arduous to use if you want to share things you've illustrated, which is most of what I share online that isn't tech related. There's of course the argument that inline images/a spec'd way to expose an image directory listing with thumbnails/etc would only serve to distract or exploit you... but that also ignores the fact that people make art for your eyeballs too. Text is certainly the first class citizen, where images/music/video are all tied for second class, accessible only by downloading them 1 by 1.
That does mean it's perfectly fit for purpose! I wouldn't say it's bad just because I don't get my specific needs met. Someone who's needs are met by Gemini will love it.
Never underestimate interoperability.
Personally I don't have much use for this attitude, the main problem I have with the web is when faced with the choice of empowering the publisher vs empowering the user, we kept on choosing to empower the publisher. The standards and browsers were owned by the web publishers, no one represented the user, and now instead of having a "user agent" installed on your machine to browse the web, you have a piece of spyware, better referred to as "Google's agent."
I don't really need to trade Google's Agent for Drew DeVault's Agent, give me software that does whatever I want it to do, fuck the publishers. But what do I matter, I'm not building any of this stuff.
But a community could form around early HTML, make clients and servers that only support early HTML, and vow to never support later HTML features. Such a community wouldn't be much different from Gemini's. Psychologically, they would have more difficulty rejecting new features (that have already been implemented), be less exciting initially (since they have less novelty), and have more trouble distancing themselves with mainstream HTML. But psychologically, Gemini is apparently reinventing the wheel without any advantages over HTML...and that disadvantage, at least to me, feels worse than the aforementioned advantages.
EDIT: I actually think gatekeeping a community with a different protocol may be a good idea. But I haven't heard about any technical advantages of Gemini (e.g. a protocol design that would be especially hard to extend, like a bloated spaghetti protocol on purpose) and I think that's a wasted opportunity. Nor have I heard about anything particularly interesting in the Gemini community, which makes me think the psychological benefit of a separate protocol isn't enough for an effective community, Gemini's community would need some other advantage, then perhaps a separate protocol wouldn't be necessary.
As for why, all I can say is, download Lagrange, go to gemini://bleyble.com/cgi-bin/random, and see for yourself. It's one thing hearing about it and a completely different experience browsing the geminispace.
Well, I did, and I see "Expired Certificate - ... TLS certificate has expired" :(
The problem is that most modern "apps" stop working once you prevent them from exchanging data with third parties or using nowadays-standard APIs such as XHR or Websockets. This is why a radical cut was chosen by Gemini.
I think there is benefit in having multiple approaches available, and that is one of them, but the other one is the other benefit.
gemini://kennedy.gemi.dev
There are ~4K hosts and ~1M documents/images/files which make for nice playground with experimenting with crawlers, indexers, and more. Its a nice hobby. Lots of primarily static sites, and CGI is used to add some interactivity:
gemini://gemi.dev/cgi-bin/moon.py
Gemini is a new internet protocol which:
- Is heavier than gopher
- Is lighter than the web
- Will not replace either
- Strives for maximum power to weight ratio
- Takes user privacy very seriously
Deleted Comment
Can't say I'm surprised that it hasn't taken the world by storm, but it's still a cozy part of the Internet.
The link to the FAQ and spec is right there. If you have the attention span of a fruit fly (many such cases) I personally suggest trying to fix it, not feeling proud about it.
If this were an utterly pedestrian """deep dive""" about some AI thing it could have rambled as much as it liked that there wouldn't be this comment near the top, I assure you.
Edit: Ah, found it. https://youtu.be/11EwyJ5fcBI?si=d4IxlsNADvl4zeG9
>Gemini is an application-level client-server internet protocol for the distribution of arbitrary files, with some special consideration for serving a lightweight hypertext format which facilitates linking between hosted files. Both the protocol and the format are deliberately limited in capabilities and scope, and the protocol is technically conservative, being built on mature, standardised, familiar, "off-the-shelf" technologies like URIs, MIME media types and TLS. Simplicity and finite scope are very intentional design decisions motivated by placing a high priority on user autonomy, user privacy, ease of implementation in diverse computing environments, and defensive non-extensibility. In short, it is something like a radically stripped down web stack. See section 4 of this FAQ document for questions relating to the design of Gemini.
Deleted Comment
> Gemini is a new internet technology supporting an electronic library of interconnected text documents. That's not a new idea, but it's not old fashioned either. It's timeless, and deserves tools which treat it as a first class concept, not a vestigial corner case. Gemini isn't about innovation or disruption, it's about providing some respite for those who feel the internet has been disrupted enough already. We're not out to change the world or destroy other technologies. We are out to build a lightweight online space where documents are just documents, in the interests of every reader's privacy, attention and bandwidth.
Those words don't communicate much about Gemini at all. Gemini could be a webring for all this says (it's not, but you could build one on it), or it could be something entirely different. It turns out that Gemini is a protocol and a text format, but those 100 words don't say anything about either of those things.