Gemini is kinda bad
I wrote previously about why I hate the web and why I converted my website to a Gemini site.
The Web is Evil
What is Gemini?
But after some time using it, my opinion of Gemini has decreased a lot. I'm not going to move back to HTTP because that would be a lot of work, but if I still had my HTTP setup, I think I would not move to Gemini. I think Gemini (really Gemtext) took minimalism too far.
Things I think a document format should definitely have:
- A way to put arbitrary content in preformatted blocks. (In Gemtext you can't have a preformatted line with the content '```'.) This is a complaint I've been raising since I first found out about it.
Things I think a document format should probably have:
- Inline formatting: italics, bold, code spans maybe.
- Spoilers (also useful for trigger warnings). Lacking these is painful to me because I write story reviews, for which I had to come up with some ugly workarounds to switch to Gemini, such as putting spoilers after my footer.
- Nested block structure: for example, a preformatted block inside a quote. I hate to say it but this suggests that something like XML is appropriate.
A friend of mine argued that there are lots of other desirable features in documents, like math stuff and tables.
You might say, "Yujiri, you're wrong to diss Gemini for most of these, don't you know that Gemini is agnostic to the text format you serve?" The agnosticism is only in theory because all Gemini clients only support Gemtext. Of course, because that's all that's in the spec. I would love to see - and this is something I used to think about even before I heard of Gemini - a world where the transport protocol is divorced from the content format, where people could have a Gemini browser that would embed a Gemtext viewer or an HTML viewer or a whatever viewer based on the mime type. But we don't live in that world.
Aside, but I think part of the reason we don't live in that world is because HTML, unlike Gemtext, is hard to reconcile with it. HTML pages need to be able to reference other URLs that are downloaded as part of the same page, so you can't just have an HTML viewer that's separate from an HTTP client.