💾 Archived View for geminiprotocol.net › docs › faq-section-7.gmi captured on 2023-11-04 at 11:33:30. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2023-09-28)
-=-=-=-=-=-=-
Have fun!
That's okay, we don't mind.
Many people loudly dismiss Gemini as being so radically minimalist as to be useless, often a few minutes after first learning it exists and without making any good faith effort to actually use it. That's a shame.
It's true that Gemini isn't capable of doing everything the modern web can - that's kind of the point. But "less useful" is not the same thing as "useless" (and "less capable" isn't even necessarily the same thing as "less useful"). If a predominantly text-based internet that didn't spy on you all the time or actively try to distract you from what you want to be doing was genuinely useless, then the internet would never have taken off in the first place, because for years and years that's the only kind of internet there was. If Gemini were genuinely useless, it would go without saying that Gopher, which is a similar technology but which has even fewer features, would be even more useless. Instead, not only was Gopher successful in its day, it is probably enjoying more popularity today than it has at any other time this century. Clearly at least some people find it useful for at least some things. Maybe you are not one of them. That's okay! It doesn't mean you're a bad person. But it doesn't mean Gemini is a bad technology, either. The internet is plenty big enough for multiple protocols and for different people with different needs and priorities to use different tools for different purposes. Gemini has never claimed to be a "one size fits all" technology and doesn't aspire to be one.
If you are imagining that Gemini was designed by sitting down with a long list of all the features and capabilities of the modern web and asking one by one whether each should be kept or thrown out, and answering "thrown out" in 99% of cases, then certainly that seems heavy handed and extreme and you might wonder "gee, couldn't we have kept something like the best 25% or 10% of the web, instead of just the best 1%?". But that's not how it happened. The real process was much closer to starting with what's in Gopher and asking "what very small number of additional things can we add to make real, substantial improvements without causing too much collateral damage?". Most of the people asking this question had been using Gopher, mostly happily, for many years. Most of them missed things like URLs and UTF-8 a lot more than they missed, say, inline images. Nobody was really concerned by the prospect of Gemini ending up being too limited. After all, it was guaranteed to be *less* limited than their familiar point of reference! We were a lot more concerned about going too far.
Of course, most people discovering Gemini for the first time don't have this point of reference. Most of them have never heard of Gopher, let alone used it for years. If all you've ever known is the modern web or smartphone apps, then Gemini can certainly seem overwhelmingly spartan, and it might be hard to imagine giving up inline links, inline images, CSS, etc. Maybe in the end you won't want to give those things up, which is fine, but you'll never know for sure whether you can live without something if you don't at least try giving it up for a while. It doesn't cost you anything to try! Maybe you'll find it refreshing once you get past the initial awkwardness. A lot of people do, even people who go in doubting that they will.
At the end of the day, the simple truth is that the expressive power of a Gemini document is often entirely adequate to reproduce a great many newspaper columns or magazine articles, scientific journal articles, novels, biographies, interviews, poetry books, recipe books, diaries, etc. Nobody would claim with a straight face that those things are useless.
There are a lot of people who totally "get" Gemini, who hate all the web misfeatures that it tries to free them from, who think it is totally worthwhile to sacrifice some functionality to attain and keep that freedom, and certainly don't think the result is too limited to be of real value. They just think that it's one teeny tiny extra feature short of absolute perfection, surely it's okay if we just add that one more little thing to the spec?
The problem is that each one of these people has a different idea of what the one missing piece of the puzzle is! And while one person thinks a particular feature is the last thing we need to add to create perfection, another person thinks that same feature is awful and would completely ruin Gemini forever. If one or two of these features were added, there would be no substantial net change in community satisfaction; if all of them were added, then everybody would find something to be upset about. Meanwhile, the spec would get longer and longer and clients would have to be updated again and again, all without an obvious payoff.
It would be different if one of these features would obviously solve a really important, concrete problem. But these sorts of requests have been coming in for years and years, and over those same years Geminispace has continued to grow and diversify and win adherents despite none of these "missing" features being added. This makes it hard to take seriously the notion that any of them is genuinely a fatal flaw.
It feels petty and mean to say "no" to polite requests for simple, reasonable seeming features from enthusiastic fans of the project over and over again. It really does. It's not fun. But a line has to be drawn somewhere, even if it's ultimately arbitrary, otherwise the expansion continues forever.
That's because Gemini is an amateur project!
Not in the sense that it's low quality or that the people behind it aren't proud of it or trying to make it as good as they can. But the whole thing was launched in a small and obscure internet community, on the basis of enthusiasm and passion for niche ideas about what the internet can be, and powered by rough consensus and running code without the expectation that it would ever be adopted by people for whom the underlying values and assumptions weren't obvious and axiomatic. The level of interest and adoption has exceeded anybody's wildest expectations and everybody was caught by surprise. We tried our best to roll with it while staying true to the original spirit and vision. It wasn't easy!
But Gemini certainly isn't and certainly won't ever be the result of a small group of veteran internet engineers sitting down with an explicit list of design criteria and a precisely formulated objective function whose value was carefully maximised over a series of all day in-person meetings in front of whiteboards, resulting in a production grade protocol which can effortlessly handle all the needs of millions of users, while making verifiably mathematically optimal trade-offs between competing interests, maintaining all the while a sense of beautiful intellectual elegance.
It's not that we hate the idea of professionalism, but in 2019 the very notion that there might be anywhere near enough demand to justify an approach like the above to a technology that deliberately constrained its scope to exclude most of what people have come to expect from the internet would have seemed a laughable fantasy. A lot of people also would likely have felt that the protocol getting complicated enough that a process like the above would really pay off would have been a clear sign that it had become too complicated. People would have been quoting C. A. R. Hoare and Antoine de Saint-Exupér all day long.
If there's a group of people who really think Project Gemini had some great ideas or ambitions but really missed the mark, and that they can begin with a clean slate, aim a little higher and produce something clearly better, which will cure ten times as many woes for a hundred times as many people, then they are sincerely and genuinely welcome to give it a try, no hard feelings! But there's not much enthusiasm in the existing Gemini community for trying to disruptively change course at this point in time and make big changes to either the protocol or its management structure in the name of professionalism. We don't think what we have is perfect, by any means, but it is clearly working well enough to support a larger and more vibrant community than we ever hoped to attract. We'll continue to buff out the rough edges, but we're pretty content with our little amateur world.
There's a degree of truth in this complaint, but the extent of the problem is generally overstated. There are in fact plenty of non-technical people in Geminispace writing about non-technical things. The perception that things are otherwise comes from the fact that many of the quickest and easiest ways to find large quantities of recent content in Geminispace reveals a skewed perspective. Lots of the biggest and most popular aggregators, for example, are big and popular because they've been around for a long time. That means they aggregate content from a lot of early adopters of Geminispace, and the early adopter demographics are, unsurprisingly, "skewed techy".
Aside from encouraging more people to write about non-tech subjects (and writing it yourself is more help than complaining!), the obvious solutions are for people to rely less on big public aggregators and curate their own reading experience by subscribing to the capsules of people who write about things they want to read about and don't write about things they don't. It also wouldn't be difficult for somebody to set up an aggregator which used some simple keyword detection in the titles of posts to filter out the vast majority of tech content.
This claim is very strange in two regards.
First, it seems to pre-suppose that web browsers are some kind of universal computer interface where all new technologies work by default unless their creators deliberately design them not to, but that's not true at all. Browsers are no different to any other piece of software. They can only speak the network protocols and open the file formats they are designed to speak and open. You can't use Chrome or Firefox to browse Geminispace for exactly the same reason you can't use Microsoft Excel to listen to MP3 files or use Adobe Photoshop to play Minecraft. They are tools for different jobs.
Of course, nothing at all would stop Chrome or Firefox from adding Gemini support. Until relatively recently it went without saying that web browsers also spoke FTP, and Firefox even spoke Gopher well into this century, so this would hardly be without precedent. But the ball is squarely in their court, not ours. Don't hold your breath...
Second, the idea that installing a specific piece of software to access a specific network is somehow beyond the average computer user's ability or comprehension is an odd one in the present day. The "poster child" non-technical user in 202x accesses the internet almost exclusively via a smartphone and/or a tablet. That's an approach to computing which is entirely dominated by the idea of installing single purpose applications for each thing you want to do. If you want to use Twitter on your phone, you install the Twitter app. If you want to use Skype on your phone, you install the Skype app. Well, if you want to use Gemini on your phone, you need to install a Gemini app. It's hard to see that as an insurmountable barrier.
There are more than a few providers of Geminispace hosting where the publication experience almost exactly mirrors that of publishing a website in the 90s or early 00s; you create your files on your own computer with the text editor of your choice and then use (S)FTP to upload them to a server using some account credentials. While the early web is by no means some kind of gold standard of ease of use and accessibility, it's also an empirical fact that an awful lot of people did, in fact, figure it out. Not just hardcore geeks, either. Geocities was definitely not filled exclusively with sites put up by professional programmers and system administrators who just used their sites to talk about the nitty gritty technical details of how they made their sites. That's quite a modern affliction.
Publishing to the web got easier over time as more and more people got interested in doing it. Programs like Microsoft FrontPage and Netscape Composer helped people create HTML files in a WYSIWYG manner, and programs like FileZilla helped people upload those files. None of these programs existed when HTTP or HTML were first specified, and these programs were not written by the people involved in specifying HTTP or HTML. They appeared only years later, once there was sufficient demand from enough people who wanted them. The fact that similar tools for Gemini haven't existed since the very beginning of the project cannot be taken to mean that they can't or won't exist.
Gemini is still a pretty young project in the grand scheme of things. The current ecosystem does assume an above average level of computer literacy, but that's a natural consequence of the fact that a lot of the current userbase discovered the project when it went viral on networks populated by computer geeks. But the userbase is still expanding and is still diversifying in this regard, and that diversification is being fuelled in part by some of the attempts which Geminauts have already made to make posting easier (see 2.5.1). That diversification will increase demand for easier tooling. This feedback process is still ongoing and it's grossly premature to assume that Gemini has reached anything like its peak ease of use. On the contrary, we've only just lightly scratched the surface of possibilities. It's true that Gemini's lack of anything resembling a POST request means it will never get to the point of being able to offer a user experience like, say, Wordpress. But that doesn't necessarily mean usability will peak somewhere too difficult for most people who want to publish in Geminispace to be able to that.
Many people are confused as to why it's worth creating a new protocol to address perceived problems with optional, non-essential features of the web. Just because websites *can* track users and run CPU-hogging Javascript and pull in useless multi-megabyte header images or even larger autoplaying videos, doesn't mean they *have* to. Why not just build non-evil websites using the existing technology?
Of course, this is possible. "The Gemini experience" is roughly equivalent to HTTP where the only request method is "GET", the only request header is "Host" and the only response header is "Content-type", plus HTML where the only tags are <p>, <pre>, <a>, <h1> through <h3>, <ul> and <li> and <blockquote> - and the https://geminiprotocol.net website offers pretty much exactly this experience. Clearly we know that it can be done.
The problem is that deciding upon a strictly limited subset of HTTP and HTML, slapping a label on it and calling it a day would do almost nothing to create a clearly demarcated space where people can go to consume *only* that kind of content in *only* that kind of way. It's impossible to know in advance whether what's on the other side of a https:// URL will be within the subset or outside it. It's very tedious to verify that a website claiming to use only the subset actually does, as many of the features we want to avoid are invisible (but not harmless!) to the user. It's difficult or even impossible to deactivate support for all the unwanted features in mainstream browsers, so if somebody breaks the rules you'll pay the consequences. Writing a dumbed down web browser which gracefully ignores all the unwanted features is much harder than writing a Gemini client from scratch. Even if you did it, you'd have a very difficult time discovering the minuscule fraction of websites it could render.
Alternative, simple-by-design protocols like Gopher and Gemini create alternative, simple-by-design spaces with obvious boundaries and hard restrictions. You know for sure when you enter Geminispace, and you can know for sure and in advance when following a certain link will cause you leave it. While you're there, you know for sure and in advance that everybody else there is playing by the same rules. You can relax and get on with your browsing, and follow links to sites you've never heard of before, which just popped up yesterday, and be confident that they won't try to track you or serve you garbage because they *can't*. You can do all this with a client you wrote yourself, so you *know* you can trust it. It's a very different, much more liberating and much more empowering experience than trying to carve out a tiny, invisible sub-sub-sub-sub-space of the web. It's like riding a bike through a park instead driving a tank through a minefield. You should try it!
We would indeed be phenomenally lucky! We do not realistically expect to achieve even 1% adoption. We persevere nevertheless. This really shouldn't be surprising, or confusing, or seem pathetic. "Success at any cost" is a terrible way to run just about any project, but especially one which is supposed to *mean* something. Life is absolutely full of things which some people find useful, or interesting, or rewarding, or uplifting, or just plain fun, which most other people don't see the appeal of. Chances are good that you or somebody you care about really enjoys one or more of these things! Would you tell a birdwatcher they are wasting their time because their neighbours and co-workers are never going to get excited about birds? Would you belittle somebody for writing a pen-and-paper letter to their friend instead of having a video call, just because it makes them both happy?
Because Gemini is still best known and most widely discussed within computer geek circles, chances are excellent that many of the people levelling this criticism at Gemini have at some point in their own past really enjoyed installing an obscure operating system or learning an unusual programming language that the vast majority of their computer using peers wouldn't see the appeal of. Small, opinionated technical projects that go against the grain of mainstream computing are not at all new, or unusual, or bad. Many of them have persisted for decades, perpetuating loyal, enthusiastic userbases despite never becoming household names or making their founders rich and famous.
Normally other geeks feel kind of warm and fuzzy about these projects, especially the ones perceived to be "fighting the good fight", even if they don't actually use them much themselves. Nobody tells the passionate volunteers behind them to give up and stop wasting their time, cut their hair, install Windows and learn how to write scalable, agile Node.js apps for the Real Enterprise World, not in polite company at least. That'd be crass, and would get you downvoted, or whatever, by the wise geeks who know well that computers have utility and value beyond their vulgar commercial applications.
Apparently this well-established norm doesn't apply, though, when the weird, quixotic geeks have sufficiently crazy and outlandish ideas. You know, truly bizarre notions, like that the highly successful five thousand year old technologies of reading and writing actually constitute a minimum viable product in and of themselves; that software monopolies are bad, that surveillance capitalism and attention economics are even worse, and it makes all the sense in the world to just stop using the monopoly technologies that enable them for any tasks which can be successfully completed using technologies that don't, and to build those technologies ourselves; or that internet users should actually have a degree of autonomy in deciding what kind of content they consume, when and how, rather than being forced to just hand totally unfettered access to their eyes and ears over to an unbounded number of unknown-in-advance random third parties every single time they click on a link. Those people clearly ought to be ridiculed.