๏ปฟ# Asynchronous offline and distributed gemini content, by email.

If you are using a screen reader, or if this "decorated" text is not rendering correctly on your client follow the link below.

Article version without text decorations

Prelude

๐•ณaving recently discovered the ๐˜Ž๐˜ฆ๐˜ฎ๐˜ช๐˜ฏ๐˜ช protocol, I am still exploring and discovering new and interesting things. It is an exiting trip that made me realize a few things about the state of the internet, and my relationship with it.

Although I always despised the commercialization of the internet, and was looking for an alternative way, ๐˜Ž๐˜ฆ๐˜ฎ๐˜ช๐˜ฏ๐˜ช and ๐˜Ž๐˜ฐ๐˜ฑ๐˜ฉ๐˜ฆ๐˜ณ seemed to me, too niche to be relevant.

I was looking for ways to make the web work for me, with privacy add-ons, ad blockers, and hardened browsers.

A couple of months on Gemini, though, have made me realize, that it was actually ๐—™ear ๐—ขf ๐— issing ๐—ขut that was keeping me back.

There is enough content on Gemini, to keep me interested and occupied. More than I can handle on my limited free time actually.

I have come to love the long form text, and slow pace of interaction that prevails in this part of the internet. It is overall a better way of human interaction.

Not that ๐˜Ž๐˜ฆ๐˜ฎ๐˜ช๐˜ฏ๐˜ช does not have shortcomings of its own, or that the web is of no value any more.

But the internet in totality is a bit too much of a distraction as I have come to realize.

It is a wonderful window to the world that I couldn't do without since I have discovered it, and also a great way for information and knowledge to be exchanged.

But one should not stay all day looking out the window, afraid they might miss something interesting. This way nothing interesting will actually happen to them, or they will not actually do anything interesting.

Ploum expressed that thought in his article.

Offmini, My Dream of Making Gemini Offline and Distributed

And also, our brains are a bottleneck in the case of the internet. We are simply not intellectually capable of handling information, in such a rapid pace.

๐—œ ๐—ป๐—ฒ๐—ฒ๐—ฑ ๐˜๐—ผ ๐˜€๐—น๐—ผ๐˜„ ๐—ฑ๐—ผ๐˜„๐—ป!

I need to limit my access to so much information, so that I can ingest what I read, ponder on them, and turn them into knowledge.

Knowledge, that will shape my thoughts and opinions on things. Knowledge that will further my seek for wisdom.

My grivances with internet in general

๐•ฟ๐–e World Wide Web is not really optimal to serve the role of interconnecting people. It relies on ISPs, and can be brought down, censored and controlled.

The cost and complexity of running your own server makes entry to self hosting your content, almost impossible for most people. At least those that are not into the technicall aspect of computing.

Thus the content of internet is centralized into silos of mega corporations.

๐˜Ž๐˜ฆ๐˜ฎ๐˜ช๐˜ฏ๐˜ช, ๐˜๐˜ช๐˜ฏ๐˜จ๐˜ฆ๐˜ณ, ๐˜Ž๐˜ฐ๐˜ฑ๐˜ฉ๐˜ฆ๐˜ณ, and probably all the other new protocols like ๐˜š๐˜ฑ๐˜ข๐˜ณ๐˜ต๐˜ข๐˜ฏ, ๐˜•๐˜ฆ๐˜น, ๐˜›๐˜ช๐˜ต๐˜ข๐˜ฏ โ€“ I think there is also ๐˜š๐˜ค๐˜ณ๐˜ฐ๐˜ญ๐˜ญ now โ€“ make things easier by reducing the complexity, and the cost.

But the underlying problem is not really addressed In My Honest Opinion.

When I decided to make my own capsule, I was in no way prepared or willing to deal with the hassle of optaining a static IP from my ISP, or having a machine running on my basement 24/7, and dealing with security, and maintenance; just to serve a few stupid ideas, that come through my mind.

I meanโ€”I don't even know if it is worth the electricity consumed here!

It's not that I am some big thinker or anything โ€“ I am just an average guy!

So I hosted my capsule on the midnight.pub, and Im really grateful for their services.

Plenty of options for hosting on ๐˜Ž๐˜ฆ๐˜ฎ๐˜ช๐˜ฏ๐˜ช and ๐˜Ž๐˜ฐ๐˜ฑ๐˜ฉ๐˜ฆ๐˜ณ exist. Like pubnixes, the rawtext club smoll.pub, the tildeverce etc, that make things easy and affordable โ€“ and that is probably due to the simplicity, that is a feature on those protocols.

But still as solderpunk put's it:

Protocols like Gemini and Gopher are an effective salve against many of the miseries inflicted by the modern web, but by no means do they solve *all* the web's problems. All three systems share the same big picture architecture, namely that the default pattern of usage is that content lives in exactly one place, a server which is online 24/7, 365 days a year and accessible from anywhere on Earth, and that to consume this content you request a copy of it at the instant of consumption, render it to the screen and then discard it (perhaps after a relatively brief cache lifetime), leaving no persistent copy, with the understanding that if you want to read something again next week or month or year you'll just request a fresh copy and do all this again.

My ideal internet

๐•ธ๐–ž ideal internet is a mesh network of computers , of ๐—ฒ๐—พ๐˜‚๐—ฎ๐—น nodes that share the load of distribution, and storage of all information, without being able to know anything about any other node, or who is viewing that.

Sure there are a lot of projects out there that attempt to do just that. And if I was a developer, I would be all over those, trying to put my piece of stone in building them.

But looking at the complexity of those things makes my not technical head hurt.

People need to write their content, send it to the internets, and then it should stay there available to everyone else, untill entropy turns every hard drive into loose fundamental particles.

Solderpunk in this article, proposes git as an easy way of making Gemini more distributed, and available offline.

Low budget p2p content distribution with git

And after reading this, I was wondering, why not Zoidberg? ๐Ÿฆ‘โ€”I mean why not email?

Why not email?

๐•ปloum in the offmini article states:

But wait, thereโ€™s more! By putting encrypted files in a capsule, you could send messages to the owner of that capsule. Oh My Goodness! Being able to communicate without that awful mail stack (IMAP/SMTP/MIME are insane protocols and, as a result, no software handle them correctly).

I guess the email protocol is not universally loved, and really I can't claim to understand the technical aspect of those things, but hear me out.

Email is probably the ๐—ผ๐—ป๐—น๐˜† ๐˜ฅ๐˜ฆ๐˜ค๐˜ฆ๐˜ฏ๐˜ต๐˜ณ๐˜ข๐˜ญ๐˜ช๐˜ป๐˜ฆ๐˜ฅ protocol in existance that is widely and universally adopted.

Everybody and their dog, have an email address.

Sure โ€”google has managed to dominate it, but in no way does it have control over it.

Various attempts are under way to create something new and better, but we should make no mistake. In the current state of the world, we are ๐—ป๐—ฒ๐˜ƒ๐—ฒ๐—ฟ going to have something decentralized like email โ€” ๐˜๐—ต๐—ฎ๐˜ popular!

And this is probably because email developed before the web was even conceived.

Mailing lists existed long before the web, forums, or social media, And still exist to this day.

Implementation

โš ๏ธ Disclaimer. Anything I write here, are just thoughts with limited technical knowledge. I can not claim of having a well thought out blueprint of the thing that I am proposing.

I have possibly made assumptions that are not technically feasible or just plain stupid. Feedback is welcome, and if I wasted your timeโ€”Apologies โš ๏ธ

๐—ช๐—ถ๐˜๐—ต ๐˜๐—ต๐—ฎ๐˜ ๐—ผ๐˜‚๐˜ ๐—ผ๐—ณ ๐˜๐—ต๐—ฒ ๐˜„๐—ฎ๐˜†; ๐—ต๐—ฒ๐—ฟ๐—ฒ ๐—ด๐—ผ๐—ฒ๐˜€:

๐•ด๐–‹ ๐˜Ž๐˜ฆ๐˜ฎ๐˜ช๐˜ฏ๐˜ช was a mailing list, anyone could just bundle their ๐˜ค๐˜ข๐˜ฑ๐˜ด๐˜ถ๐˜ญ๐˜ฆ in a zip file, sign it with pgp, and send it as an attachment to everyone else.

And anybody could send a message to the group requesting the latest version of the ๐˜ค๐˜ข๐˜ฑ๐˜ด๐˜ถ๐˜ญ๐˜ฆ.

The url of the ๐˜ค๐˜ข๐˜ฑ๐˜ด๐˜ถ๐˜ญ๐˜ฆ whould just be the file name, and the authors email, followed by a unique ๐˜ฉ๐˜ข๐˜ด๐˜ฉ ๐˜ฏ๐˜ถ๐˜ฎ๐˜ฃ๐˜ฆ๐˜ณ.

Someone that has the latest version stored, could just serve the request, when they receive the message.

Redundancy

๐•ฟ๐–” achive redundancy of the content, every posted document should be downloaded and kept by a minimum number of ๐˜ฉ๐˜ฐ๐˜ด๐˜ต๐˜ด. Let's say 5*.

Those ๐˜ฉ๐˜ฐ๐˜ด๐˜ต๐˜ด would assume the responsibility of serving the content, to anyone that requests it by email message.

So, for a user to access the content, they would need to send a request by email to the documentโ€™s ๐˜ข๐˜ถ๐˜ต๐˜ฉ๐˜ฐ๐˜ณ, with CC to the known ๐˜ฉ๐˜ฐ๐˜ด๐˜ต๐˜ด. The first one available should serve the request, with a reply, and CC to the other ๐˜ฉ๐˜ฐ๐˜ด๐˜ต๐˜ด (and ๐˜ข๐˜ถ๐˜ต๐˜ฉ๐˜ฐ๐˜ณ).

To update the docunent, the ๐˜ข๐˜ถ๐˜ต๐˜ฉ๐˜ฐ๐˜ณ, should send an email to the known ๐˜ฉ๐˜ฐ๐˜ด๐˜ต๐˜ด, with the latest version of the document attached, as well as any subscribers to the document, and also update the ๐˜ช๐˜ฏ๐˜ฅ๐˜ฆ๐˜น. (more about this later)

The index

๐•ฌ๐–“ ๐˜ช๐˜ฏ๐˜ฅ๐˜ฆ๐˜น of every known ๐˜ค๐˜ข๐˜ฑ๐˜ด๐˜ถ๐˜ญ๐˜ฆ, or ๐˜ฅ๐˜ฐ๐˜ค๐˜ถ๐˜ฎ๐˜ฆ๐˜ฏ๐˜ต hosted on the mailing list; should be kept, and available to any user on request. The ๐˜ช๐˜ฏ๐˜ฅ๐˜ฆ๐˜น should be updated every time one of the capsules have been changed,

The index โ€” Format

๐•ฟ๐–e ๐˜ช๐˜ฏ๐˜ฅ๐˜ฆ๐˜น should begin with an introduction, containing the date of last modification, the version number, and the email addresses of the ๐˜ช๐˜ฏ๐˜ฅ๐˜ฆ๐˜น ๐˜ฌ๐˜ฆ๐˜ฆ๐˜ฑ๐˜ฆ๐˜ณ๐˜ด. (more about them later)

Also brief instructions on how to request or host a document on the ๐˜ฎ๐˜ข๐˜ช๐˜ญ๐˜ช๐˜ฏ๐˜จ ๐˜ญ๐˜ช๐˜ด๐˜ต, and the rules of use, should be included.

pandion's-lair@pandionkarystios@protonmail.com
hosts="host1@mail.com;host2@mai.com;host3@mail.com;host4@mail.com;host5@mail.com"

This text file can be wrapped, by text editors for ease of viewing. Performing searching and shorting commands, should be straightforward.

The index โ€” Keeping the index

๐•ฟ๐–e index should be kept and curated by a minimum number of ๐˜ฉ๐˜ฐ๐˜ด๐˜ต๐˜ด. Let's say 10*

The responsibilities of the ๐˜ช๐˜ฏ๐˜ฅ๐˜ฆ๐˜น ๐˜ฌ๐˜ฆ๐˜ฆ๐˜ฑ๐˜ฆ๐˜ณ๐˜ด will include:

Reciprocation

๐•ฟ๐–e whole system should be based upon ๐˜ณ๐˜ฆ๐˜ค๐˜ช๐˜ฑ๐˜ณ๐˜ฐ๐˜ค๐˜ข๐˜ต๐˜ช๐˜ฐ๐˜ฏ.

For someone to have their content hosted, they will need to host a number of ๐˜ฅ๐˜ฐ๐˜ค๐˜ถ๐˜ฎ๐˜ฆ๐˜ฏ๐˜ต๐˜ด themselves.

The number of ๐˜ฅ๐˜ฐ๐˜ค๐˜ถ๐˜ฎ๐˜ฆ๐˜ฏ๐˜ต๐˜ด should be more than the number of ๐˜ฉ๐˜ฐ๐˜ด๐˜ต๐˜ด of their own ๐˜ฅ๐˜ฐ๐˜ค๐˜ถ๐˜ฎ๐˜ฆ๐˜ฏ๐˜ต. Let's say 7.

So, how does someone publish a ๐˜ฅ๐˜ฐ๐˜ค๐˜ถ๐˜ฎ๐˜ฆ๐˜ฏ๐˜ต on the ๐˜ฎ๐˜ข๐˜ช๐˜ญ๐˜ช๐˜ฏ๐˜จ ๐˜ญ๐˜ช๐˜ด๐˜ต?

Hosting a ๐˜ฅ๐˜ฐ๐˜ค๐˜ถ๐˜ฎ๐˜ฆ๐˜ฏ๐˜ต, does not mean endorsing โ€“ so one should not be concerned about the content.

But in the case that someone feels they can not host a particular document for moral, ethical, religious etc reasons, they can request from the ๐˜ช๐˜ฏ๐˜ฅ๐˜ฆ๐˜น ๐˜ฌ๐˜ฆ๐˜ฆ๐˜ฑ๐˜ฆ๐˜ณ๐˜ด to be reallocated to an other ๐˜ฅ๐˜ฐ๐˜ค๐˜ถ๐˜ฎ๐˜ฆ๐˜ฏ๐˜ต.

But in no case are they to refuse serving the ๐˜ฅ๐˜ฐ๐˜ค๐˜ถ๐˜ฎ๐˜ฆ๐˜ฏ๐˜ต before that, or to attempt to hinder the ๐˜ฅ๐˜ฐ๐˜ค๐˜ถ๐˜ฎ๐˜ฆ๐˜ฏ๐˜ตโ€˜๐˜ด circulation in any way.

Reciprocation โ€” Responsibilities

The archive

๐•ฟ๐–e ๐˜ข๐˜ณ๐˜ค๐˜ฉ๐˜ช๐˜ท๐˜ฆ should be kept by a minimum amount of ๐˜ฉ๐˜ฐ๐˜ด๐˜ต๐˜ด, the ๐˜ข๐˜ณ๐˜ค๐˜ฉ๐˜ช๐˜ท๐˜ฆ ๐˜ฌ๐˜ฆ๐˜ฆ๐˜ฑ๐˜ฆ๐˜ณ๐˜ด. Let's sayโ€” 10.

Health report.

๐•ฐvery first day of every month, all groups should report to each other, to make sure that contact is maintained, and everyone is available, and willing.

So the ๐˜ช๐˜ฏ๐˜ฅ๐˜ฆ๐˜น ๐˜ฌ๐˜ฆ๐˜ฆ๐˜ฑ๐˜ฆ๐˜ณ๐˜ด, the ๐˜ข๐˜ณ๐˜ค๐˜ฉ๐˜ช๐˜ท๐˜ฆ ๐˜ฌ๐˜ฆ๐˜ฆ๐˜ฑ๐˜ฆ๐˜ณ๐˜ด, and the ๐˜ฉ๐˜ฐ๐˜ด๐˜ต๐˜ด and ๐˜ข๐˜ถ๐˜ต๐˜ฉ๐˜ฐ๐˜ณ of every ๐˜ฅ๐˜ฐ๐˜ค๐˜ถ๐˜ฎ๐˜ฆ๐˜ฏ๐˜ต, should email one another to report presence.

If contact is lost by someone, a replacement should be found in due time.

The time of absence for anyone to be replaced, should be set beforehand.

It could be something like:

When contact with an ๐˜ข๐˜ถ๐˜ต๐˜ฉ๐˜ฐ๐˜ณ is lost for the time interval specified, the ๐˜ข๐˜ถ๐˜ต๐˜ฉ๐˜ฐ๐˜ณโ€˜๐˜ด ๐˜ฅ๐˜ฐ๐˜ค๐˜ถ๐˜ฎ๐˜ฆ๐˜ฏ๐˜ต is moved to the ๐˜ข๐˜ณ๐˜ค๐˜ฉ๐˜ช๐˜ท๐˜ฆ.

If someone Is going to be unable to carry out their duties for a period longer than the prearranged, they should notify the interested parties of their absence, so they may decide how to best deal with the situation, like looking for a temporary replacement.

Aggregation

๐•ฟ๐–e aggregators issue on ๐˜Ž๐˜ฆ๐˜ฎ๐˜ช๐˜ฏ๐˜ช has been discussed quite a bit, and there seems to be no clear cut solution.

On the one hand, aggregator sites introduce a form of centralization, that is not in line with the ๐˜Ž๐˜ฆ๐˜ฎ๐˜ช๐˜ฏ๐˜ช intentions and philosophy, (๐—œn ๐— y ๐—›onest ๐—ขpinion), but on the other hand, they do work really well in content discoverability.

And there is also the issue of moderation โ€“with all the power and responsibility that it entails.

In a ๐˜ฎ๐˜ข๐˜ช๐˜ญ๐˜ช๐˜ฏ๐˜จ ๐˜ญ๐˜ช๐˜ด๐˜ต, aggregation should not be a real problem though โ€“ since this is the primary function of the medium.

A couple of methods for this to be accomplished without the need for a central authority, are:

Management

๐•ธanagement of the ๐˜ฎ๐˜ข๐˜ช๐˜ญ๐˜ช๐˜ฏ๐˜จ ๐˜ญ๐˜ช๐˜ด๐˜ต should be done with no central authoriry. Because aurhority gives power, and power corrupts.

I propose a poll system that would make use of the ๐˜ข๐˜จ๐˜จ๐˜ณ๐˜ฆ๐˜จ๐˜ข๐˜ต๐˜ช๐˜ฐ๐˜ฏ method, for decisions about the organization of the ๐˜ฎ๐˜ข๐˜ช๐˜ญ๐˜ช๐˜ฏ๐˜จ ๐˜ญ๐˜ช๐˜ด๐˜ต, and general meta discussions.

I have not really come up with a method for the voting to be anonymous though.

If any interest on this whole theoretical idea manifests itself, I will have to come up with something.

Or someone might have a better idea. I would love some feedback!

Moderation

๐•บbviously, there should be some method of moderation, because unfortunatelyโ€”people suck!

But I am strongly against the existance of some moderator, because moderators are people too; and people suck!

And people with power, suck even more!

So probably, the poll method should decide for every moderation action, case by case.

Links

Relative links on the same ๐˜ค๐˜ข๐˜ฑ๐˜ด๐˜ถ๐˜ญ๐˜ฆ, should work fine; same goes for on-line links on the general internet.

But a link to an other ๐˜ฅ๐˜ฐ๐˜ค๐˜ถ๐˜ฎ๐˜ฆ๐˜ฏ๐˜ต that is stored on the hard drive, should be a bit more challenging.

for example, if I were to make a link to a ๐˜ฅ๐˜ฐ๐˜ค๐˜ถ๐˜ฎ๐˜ฆ๐˜ฏ๐˜ต named foo-bar.gmi that is on a ๐˜ค๐˜ข๐˜ฑ๐˜ด๐˜ถ๐˜ญ๐˜ฆ named example-capsule@author@mail.com, the link should look something like:

=> ../example-capsule@author@mail.com/foo-bar.gmi check out this awesome link!

However I have not managed to make it work in ๐˜“๐˜ข๐˜จ๐˜ณ๐˜ข๐˜ฏ๐˜จ๐˜ฆ because it uses a cache folder as a root for navigation, and not the actual folder, where the ๐˜ฅ๐˜ฐ๐˜ค๐˜ถ๐˜ฎ๐˜ฆ๐˜ฏ๐˜ต is located on disk.

I don't know if it would work with an offline client like ๐˜–๐˜ง๐˜ง๐˜ฑ๐˜ถ๐˜ฏ๐˜ฌ.

It works wonderfully with a markdown viewer like ๐˜”๐˜ข๐˜ณ๐˜ฌ๐˜ฐ๐˜ณ though. The link can be something like:

[External link](../example-capsule@author@mail.com/foo-bar.md) 

Epilogue

Epilogue โ€” Advantages

๐–€sing a ๐˜ฎ๐˜ข๐˜ช๐˜ญ๐˜ช๐˜ฏ๐˜จ ๐˜ญ๐˜ช๐˜ด๐˜ต to host content, has the advantage.

Epilogue โ€” Drowbacks

I recently realized that Solderpunk's ๐˜จ๐˜ช๐˜ต ๐˜ช๐˜ฅ๐˜ฆ๐˜ขยณ, has started being implemented.

I hope this goes well, and I was wondering if a mailing list proposal like this, could be complementary to a git based gemini.

I am not familiar with git, but I have the impression, that git could operate over emailโ€”or I could be completely wrong!

One thing I would like to point out about git though, that probably most people on Gemini do not realize, is that the average user, does not know how to use it.

It is a tool for programmers. Sureโ€”other people can find uses for it, like note keeping etc, but I feel that it is kind of intimidating for some average person; even if they love technology, like I do.

I have thought about looking it up; but I kind of never thought of a use for it.

I am just mentioning It, because it seems that everybody in this space is a coder of some kind, and naturally, git would seem quite trivial to them.

Anyway this post has turned out quite long, so I will put it to rest for now.

It is still in early stage, and I plan to update it, if I see any interest in It.

[1]: Lufi
[2]: Guerilla mail
[3]: gwit implementations

Relevant links

Offmini, My Dream of Making Gemini Offline and Distributed
Low budget p2p content distribution with git

Document's changelog

2024-04-20 Added a screen reader friendly version or the article, for accessibility reasons.

โ‡๏ธ โ‡๏ธ โ‡๏ธ

๐Ÿงญ Site navigation

๐Ÿ”™ Back to my blogposts
โช Back to the main page