↩ go back to index
gemini isn’t meant to do everything
february 14, 2021
very vaguely in regards to makeworld’s toot (it’s more addressing the last time gemini was posted on “““““hacker””””” “““““news””””” though)
Despite the marketing of Gemini as:
You may think of Gemini as "the web, stripped right back to its essence" or as "Gopher, souped up and modernised a little", depending upon your perspective.
gemini faq, §1.1
If you know about Gemini’s early developmentᵃ then you know that Gemini evolved from /Gopher/, not from HTTP! As such, Gemini attempts to capture Gopher-era sentiments about the web. Gopher is absolutely not a “do everything” protocol, it can serve like 8 types of media and text files. It was designed with how the internet at that time was designed, you have separate, specific protocols to do things. Want a forum? NNTPᵇ is the choice for you! Send some emails? POP/IMAP/SMTPᶜ are the protocol suites for you! Want to streamᵈ something? Use RTSP (negotiation), RTP (content streaming), and RTCP (stream controls)! Realtime chat? IRC of course! Want to have a hyperlinked menu of resources in a variety of formats? /Then/, and only then, you should use Gopherᵉ. Gemini is also meant to fit into that latter segment (while still /not/ replacing Gopher!). Gemini is not meant to be used for everything, it’s meant to be a cleaner and more modern way to deliver text content, while allowing linking to other resources. Thanks to the wonder of URIs, you can link to any other source you want on any protocol! Everyone seems to approach Gemini from the “stripped down” web perspective, but they miss out on all the ideology that comes behind Gophers and Gemini’s founders (who are Gophers, and therefore adopted those ideas).
This isn’t to say that experiments like forums on Gemini are bad, and in fact creativity like that is essential to Gemini IMO. What I mean to say is that Gemini should take on everything that it can, but shouldn’t be tailored to anything other than the main goal of serving static text files that /happen/ to have links. A full-fledged text adventure in Geminiᶠ is an amazing thing, but that doesn’t mean we need to turn it into a Z-Machineᵍ protocol. Why should we change it to accommodate an image galleryʰ just so you can make an Instagram™ cloneⁱ? Gemini is /very/ good at what it does (superior to Gopher IMO), and it requires some creativity to make it do anything else.
[a]: a few months before my time, but i’ve read solderpunk’s phlog posts when they were creating gemini (linked here)
[b]: otherwise known as usenet
[c]: notice how even for one thing you still have multiple protocols. they do similar things (transfer emails from one place to another), but they’re still different enough to justify having separate protocols for each.
[d]: hope you have t1. maybe it’d be better to have your friend just bring the tape over.
[e]: just a simple observation, but notice how all of these protocols listed focus on transferring pure content, and they let the end user agent choose how to display it. http is one of the few protocols that gives the sender inordinate control over its presentation to the viewer. probably a coincidence, but i wouldn’t be surprised if it turned out not to be.
[f]: the site seems to be broken but the source code is still good.
[g]: the z-machine is a virtual machine that was developed by joel berez and marc blank in 1979 and used by infocom for its text adventure games.
[h]: lack of inline media is surprisingly enough the most common, universal complaint about gemini. i host my images on my gemini capsule perfectly fine, and i even rewrite them to be inline in my gmi→html converter for my website, but with a good browser like lagrange you can still view images inline without making a bunch of unauthorized requests. also, i’m pretty sure people lived without inline images for a very long time, even when printing plates for images came about you would only use them when absolutely necessary because you’d need to hire an engraver, then have to specially go through after printing the type and print the image, a lot of extra work and expense.
[i]: idea: activitypub but it’s an actual protocol instead of some shitty http layer, and you can then make non-web activitypub clients, have leaner and customized requests, etc.
Now, just because I’m addressing misconceptions with Gemini, it’s amazing how many people don’t bother to read the FAQ despite the fact that that’s almost always what’s linked when it’s submitted some place. “Why doesn’t it have inline images” they ask while ignoring the very clear statement saying that the user should always know when a request is being made. They also don’t bother to look at one of the most popular Gemini clients, Lagrange, which has the ability to display media inline (upon clicking a link, not automatically). I too believe that having to navigate to a new page to view media, then navigating back is an undesirable pattern, but I believe that having dozens of unknowable web requests on page load is not desirable either. The second biggest complaint is that you can’t control the styling of the site, but that almost invariably comes from web devs and I wouldn’t expect them to understand why the user should have control any more than I would expect salmonella to understand why humans cook food before eating itʲ.
[j]: in case you can’t tell i don’t really hold web devs in high regard
↩ go back to index
like this post!
view likes and comments
-- © 2021 nytpu - CC-BY-SA-4.0