1. 47
    1. 30

      I agree with what @gerikson wrote. My personal take, big-picture, is that Gemini just represents a creative bankruptcy in our industry; we only look backwards, not forwards. We’ve failed to think how things could be better, and our supposed brightest thinkers resort to eating ourselves at our supposed peak. (Perhaps that’s something of society in general, but that’s out of scope for here.)

      1. 8

        I’ve called this “Hacker conservatism” before.

        Actually, this kind of thinking isn’t even super uncommon: “change X sucks, therefore we need to not change anything at all”, or “situation X sucks, therefore we need to go back to situation Y of the past”.

        A lot of the times the observation that X sucks is perfectly reasonable and valid (not always though) and doing something is (often) perfectly reasonable, but a lot of times maintaining the status quo or going back to a previous situation isn’t really the answer. There’s probably a reason things are the way they are ya know. In my own country we have entire political parties whose entire program consists of this and nothing but this kind of reasoning (on both the left and right).

        There ought be a name for this fallacy, if there isn’t one already.

        But hey, if people want to muck about with Gemini or Gopher then that’s cool, and I’ll be the last to crap on that. I’ve done a lot of stuff that’s useful just for me personally or a small group of people and pointless for anyone else. And to be fair, the Gemini website at least is pretty clear that Gemini “will not replace either [the web or Gopher]”. The problems begin when you start thinking this is somehow a feasible alternative or that it will solve anything, as I’ve seen some claim, and it clearly won’t.

        1. 6

          There ought be a name for this fallacy, if there isn’t one already.

          I’ve resorted to using ‘simplicity as narcissism’ as a form of reductio to “only the shit I currently care about” Simplicity is Systemic, often a retrocomputing pipedream.

          Of course there is a lot of common grounds that can be reorganized in the web and so on to make solutions that are comprehensible and mutated / instrumented by much smaller groups than the mass that is needed now, but that’s not what is going on - suckless, gemini etc. are all in this other bin – “If feature x is not a member of the set of features that I need here and now, it is bloat and should not be included or considered” as knee-jerk reaction converging on “oh if things just looked like windows 98 again” (except for the 95% of it that was terrible to the ones that used to live it).

          Just now this comment reply is on a potential candidate (as was phpBB, …) for a different “usenet” – the stack is perhaps not, but the society built around it, and the interest in that society.

          1. 3

            I’ve resorted to using ‘simplicity as narcissism’ as a form of reductio to “only the shit I currently care about” Simplicity is Systemic, often a retrocomputing pipedream.

            I don’t it’s that simple, because a lot of instances clearly aren’t self-centred (especially if you look at e.g. politics, where it’s often not even about simple vs. complex). Sometimes it’s perhaps a certain selfishness, but other times it’s just looking to the past with rose-tinted glasses, or a simple failure of imagination, or something else.

            Also, this is essentially an appeal to motive and a fallacy in itself :-)

    2. 23

      I used to be a Gemini enthusiast before it hit me: if this is really a content-focused markup language, where the client gets to decide how to present the content, then why must I used ASCII art (or worse, a separate CSV file) to display an inline table? ASCII tables are terrible for screens that are either short or wide, don’t have line wrapping, don’t have column alignment, and have absolutely abysmal accessibility.

      Not to mention that typography styles that have existed for positively centuries (italics, bolding) aren’t included in the .gmi format.

      Is this really the price we have to pay to get a simpler document-focused version of the web? Did the Gemini creators really have to keep features off just to ensure that the goal of having a “basic but usable” client in less than 50 lines of code? 50 lines of code? Really?

      tl;dr Gemini took its goal of “simplicity” (for some definition of “simplicity”) way, way too far.

      1. 7

        There are quite a few things that interest me and that I write about, let’s take three: programming, math, music. Only the first one is possible on Gemini: I can post raw, un-highlighted code snippets. I cannot post formulas or sound and score snippets. So, I’m not using Gemini. ;)

        What if we can re-introduce the plugin system in a safe way? Can a hypothetical FireChrome browser VM automatically download a MusicXML snippet rendering plugin from my site when a user visits it and ask the user if they want to run it (license: GPL, signed by dmbaturin’s key, wants access to: current page). That’s something I’d be happy to use, something that gives me and visitors more opportunities, not less.

        1. 1

          downloading, safely, – rendering plugins associated with the content, is certainly a possible approach. But perhaps, somewhat, challenging to build given the variety of the devices.

          What if those rendering plugins that you mentioned above, in a way, will become part of the protocol that help to ‘convert’ the source content into something that best suited for the target device?

          Given, that any viewing device that hosts a browser, already runs a sophisticated OS with windowing systems, layout managers, etc – why not leverage that, instead of building those into a browser.

          So that the transplier in the protocol (at the source) – knows how to convert the ‘markup’, ‘layout’ and ‘accessibility’ definitions of the source onto the destination rendering subsystem (that, underneath leverages the target OS’s UI subsystem).

          The transplier underneath, would leverage a number of plugins, that understand the source and know how to transfer it to the representation, consumable by the target device.

          I realize that a web browser does that in a way. But, may be, separating the markup/layout/accessibility converters out of the browser and into a ‘protocol’, would simplify creating web browsers (since the approach would leverage OS native UI framework), while maintaining functional capabilities of richer rendering models.

          With the same approach, for the ‘active’ part of the content (that is JS) – may be it should be transplied into the ‘actionable’ language of the target OS (rather than into a ‘webassembly’ – unless the target OS asks for ‘webassembly’)

          The audio streaming works this way – the source content gets translated into a representation that’s best suited for a given client device , before sending it it over.

          1. 3

            I remembered that about half a year ago I made a rough draft of a spec for a “post-web” system that adopts good ideas from Gopher and forgotten web technologies and extends them. In particular, it has machine-readable resource maps and the markup language is extensible with plugins that resemble “user scripts on steroids”—element tree transformers.

            If anyone is interested to read it: https://gist.github.com/dmbaturin/211e1a8a7e69ea1899f98f3b2010c7c3

            1. 1

              Is this inspired by “indieweb” inclusion of specific (X)HTML snippets to denote stuff like addresses, friend relationships etc? Edit they’re called microformats.

              I first came in contact with this (well, RDF) in the early 2000s (c.f. https://en.wikipedia.org/wiki/FOAF_(ontology)) and I’ve seen it flare up now and again since then.

              1. 1

                That, but also the idea that XHTML would provide extensible DTDs, that was never used in practice.

            2. 1

              I like the “foreign transports” section, clever. I’d like to see this developed more.

              1. 1

                I can make an actual repository for that, if you want to make pull requests or have an extended discussion.

                1. 1

                  Please do!

                    1. 1

                      Awesome thanks, I’ll check it out in the AM!

    3. 18

      I like to think of Gemini as an art project combined with a social group. It’s a response to the web, a place where you might enjoy some relatively random writing and check out from all that JS-augmented noise for a while. OP’s not wrong, authoring gemtext is clunky and regressive. If it’s frustrating, don’t force it. The web is pretty good at this after all.

      On a more meta level, Gemini cops a little more criticism than it deserves because many people do want to improve on the status quo, to somehow have a user agent that really feels like the agent of the user. They look to Gemini as a possible solution and leave disappointed that they’re “solving it wrong”. Collaborators on the protocol mailing list had goals, and suitability as a web replacement was never one of them.

      1. 4

        I expanded this comment in a blog post: Beyond Gemini?. I believe commenting a link is the correct lobsters etiquette for a reply post; otherwise let me know.

        1. 3

          Thanks for posting this, it’s very interesting.

          I’d like to comment a bit on the conclusion:

          There is a gaping chasm between Gemini and the modern web where something like this could be created.

          I believe that chasm can be filled with semantic HTML4, coupled with CSS and (judicious) use of Javascript (first party, on the server).[*]

          The problems of the modern web aren’t technological, they’re economic. Ad networks don’t track people and invade their privacy because Javascript exists, they do that because it’s profitable to do so. The technology is merely a means to an end.

          [*] not coincidentally this is the “tech stack” I use on my site, although not from any sense of ideological purity, more because I don’t know any other way.

    4. 11

      a bespoke hairshirt protocol

      Yup. I really don’t see the point, besides a weird nostalgia for a past I’ll bet most of its adopters never really experienced. I get it, the Web stack has become super complicated and advancing it isn’t the kind of thing you can do as a fun hobby. But there are genuinely novel and different network things that aren’t Google-sized that people could put their resources into instead of recreating Ye Olde Gophere Browser for some kind of 90s RenFaire. Some that I think are cool are Dat, IPFS, Aether … hell, even Urb*t is doing something new even if it’s batshit crazy (ok, and possibly evil.)

      1. 5

        Hell, if you’re going to be a revanchist, at least be for something that’s interesting like say, Xanadu.

        1. 3

          You’re not gonna believe this but Xanadu is still as alive and kicking as ever*: the homepage ( https://xanadu.com/ ) even includes a Youtube link!


          * This is either a compliment or not, depending on how you read it :P

      2. 4

        Completely agree. And I’d also argue that the Fediverse has been a massive new development. Sure it didn’t solve world hunger or anything, but it’s here, used by many people actively, and has lots of developer enthusiasm behind it.

      3. 4

        I think that Gemini makes sense if you understand it as a fundamentally techno-skeptic or techno-phobic project (whether all the people associated with it would admit this or not). There is a lot more possible on the web than there was in the 1990s, and it seems that the only drive is to put computers and the web in more places, making them consume an ever-greater amount of our social and psychic lives. Gemini proposes an alternative relationship with computers and the internet: one focused on moving slowly, where computing is a much smaller part of your life, as well as the content you produce. One that is focused on small networks and directories curated by humans, not algorithms or big tech companies. One that is completely resistant to commercial exploitation due to its insane and impractical simplicity, and one that is designed, from its outset, for longevity and stability.

        The problems Gemini and those other protocols are trying to solve are fundamentally different (based on my limited understanding of them). These other protocols focus on privacy, anonymity, decentralization. Gemini (in as much as it is a political project) is focused on resisting commercial exploitation and aimless technological growth.

        1. 9

          That’s why the term hairshirt is so appropriate for this stuff. It’s an ascetic gesture of renunciation, so you can feel good that you’re sacrificing and rejecting the sins of worldliness … without actually having to do anything to make the world better.

          Gemini is not going to do a damned thing about these problems people whine about. It’s still running on complicated capitalist networks, still dependent on servers, and will deliberately never become popular enough to make the world any better. Meanwhile, a bunch of smart people are using this to distract themselves from the possibility of actually making a difference.

          1. 2

            That’s why the term hairshirt is so appropriate for this stuff. It’s an ascetic gesture of renunciation, so you can feel good that you’re sacrificing and rejecting the sins of worldliness … without actually having to do anything to make the world better.

            I don’t really disagree, but perhaps I am more cynical than you – I don’t see anything that “smart people” can do to fix the web from a purely technological perspective – I have no reason to believe any of the alternative protocols you listed will make the world a better place. The problems with the internet and their solutions are purely political, and that’s a totally orthogonal question, it’s not like the existence of Gemini is somehow suppressing activism around privacy regulations or right-to-repair initiatives, etc.

    5. 6

      The solution is widespread legislation that makes using people’s personal data for targeted advertising illegal or very expensive. (This is not limited to Gemini. A great many influential Internet people are convinced politics is utterly broken, so “technical solutions” are all that’s left).

      I don’t disagree with this, but I don’t really see Gemini as a “solution” to any political problem, nor do I have any reason to believe it was conceived as such. Rather, it is a space in which one can choose to go to opt out of the modern web – it’s a subculture, a niche, not trying to take over anything. Using Gemini in 202X is very different from using the web / gopher in 199X, the social and technological conditions are completely different. To use Gemini is to consciously reject the modern web and its trajectory – there is no money in it, no power, no real reason to use it except out of curiosity and interest. So much of social media is about metrics, engagement, advancing your career, etc – here is a space where you can explicitly reject that.

      https://alex.flounder.online/gemlog/2021-01-08-useless.gmi

      Gemini’s killer feature is that its extreme simplicity means that you can do these things with complete independence, knowing that every piece of software (client, server) is free software, easily replaceable, and created to serve the interests of the community, with no ulterior profit motive. 1 person working alone could write a basic client and/or server in a weekend, which means that production of the software ecosystem doesn’t have to be centralized. Again, I want to clarify – this isn’t to say this is the only way that software should be written, but it is allowing a space to exist that is genuinely novel and interesting.

      Many Gemini users are CS students in college, who are young enough to not directly experience the web as it was before “web 2.0”. Gemini is not a return to web 1.0, but a revitalization of something that was lost in the web 1->2 transition.

      proportionally even more white dudes.

      I run https://flounder.online (gemini://flounder.online), and I haven’t done a demographic survey, but from reading people’s self-descriptions on their pages, I have no reason to believe it is less diverse than tech spaces like this forum, GitHub, etc.

      1. 7

        I came here to write this. I wrote Gemini off for many of the reasons @gerikson did at first, but after actually using it, I came to realise the value wasn’t necessarily in the protocol or markup tradeoffs (which I have mixed feelings about, as a user and implementer), but in the subculture that’s developed there. I use Gemini every day, for a few different reasons, and what’s there is lovely to me.

      2. 3

        Note that the article used “proportionally even more white dudes” to describe “the halcyon days of the Internet” as compared to “today’s internet”. It wasn’t saying the Gemini community has proportionally more white dudes.

        1. 2

          My bad, I slightly misread that paragraph.

    6. 4

      From my perspective, it is not an improvement over the established Gopher protocol.

      It is even a downgrade, when it comes to supporting low spec (and retro) hardware. Where Gopher was and continues to be fine.

      1. 9

        This is my impression as well; as a Gopher successor it makes little sense because Gopher enthusiasts like something they can implement at a low level and without TLS libraries they don’t have on very restricted or old systems. For others, it’s far more restricted than even HTML 1.0 (you know, half the fun of hypermedia is inline links) with little benefit other than posturing.

        1. 4

          In defense of Gemini, it doesn’t pretend that it can replace the web, or Gopher so I wouldn’t tag it as a Gopher successor. I think these are among the project goals. I can only understand this in the context of someone who would be forced to chose between HTML, Gopher, or Gemini, but are we?

        2. 3

          Are there Gopher projects that don’t require a TCP stack? I do understand the point about TLS, but I feel the same goes for TCP.

          I’d love to one day write a client for any social protocol that runs on bare metal but that seems horribly complicated even for Gopher.

          1. 2

            It’s certainly possible to write a gopher server without using TCP, at least on Unix. To do so, just write the server using stdin and stdout and have inetd handle the network connections, but aside from that, I don’t really understand what you actually want.

            1. 2

              So if someone wrote tlsinetd, you could also implement a Gemini server just using stdin and stdout.

              I like to understand things well enough that I can implement them. You can do a lot with a microcontroller without an operating system with relatively minor effort. Say, connect a small monochrome display and run graphics demos. But networking is really, really complicated. Very few people have implemented TCP.

              So the argument that TLS is too hard to work with basically just means that we have so good, easy-to-use TCP implementations available that we don’t even realize TCP is complicated.

              1. 3

                So if someone wrote tlsinetd, you could also implement a Gemini server just using stdin and stdout.

                And some have done just that. I don’t recall exact details, but that is very possible.

                I like to understand things well enough that I can implement them.

                I can relate. I wrote my own Lua bindings instead of using pre-existing modules (mainly to learn Lua, but also, most of those modules don’t meet my expectations). But at some point, it becomes prudent to use preexisting work. IP is pretty easy; it’s TCP that’s fairly involved.

                So the argument that TLS is too hard to work with basically just means that we have so good, easy-to-use TCP implementations available that we don’t even realize TCP is complicated.

                And there is a very good, easy-to-use TLS implementation, libretls. It’s a shame it isn’t more popular.

              2. 2

                So if someone wrote tlsinetd

                There’s an inetd mode in stunnel

        3. 2

          And there are a subset of gopher enthusiasts who want to add TLS to gopher. And there are some gopher sites right now that support TLS. There are gopher clients that attempt to do TLS to gopher servers (I know—I run a gopher server and see the requests). If you add TLS to gopher, you get something close to Gemini. At least with Gemini, you get better error reporting.