blog

Personal blog
git clone git://git.laack.co/blog.git
Log | Files | Refs

commit f5db1a4412d7fca99f747efecee004face24f969
parent bc116080f20ad3646ca0874facc1322fa2d11a59
Author: Andrew Laack <andrew@laack.co>
Date:   Tue, 28 Apr 2026 02:15:24 -0500

Added new blog post

Diffstat:
Aposts/entries/easily-hostable-protocols-over-applications.md | 45+++++++++++++++++++++++++++++++++++++++++++++
Aposts/gemini/easily-hostable-protocols-over-applications.gmi | 50++++++++++++++++++++++++++++++++++++++++++++++++++
Mposts/gemini/index.gmi | 1+
Aposts/site/easily-hostable-protocols-over-applications.html | 51+++++++++++++++++++++++++++++++++++++++++++++++++++
Mposts/site/feed.xml | 9++++++++-
Mposts/site/index.html | 1+
Dposts/wip/easily-hostable-protocols-over-applications.md | 46----------------------------------------------
7 files changed, 156 insertions(+), 47 deletions(-)

diff --git a/posts/entries/easily-hostable-protocols-over-applications.md b/posts/entries/easily-hostable-protocols-over-applications.md @@ -0,0 +1,45 @@ +# Easily Hostable Protocols Over Applications + +## Date: 2026/04/25 + +Motivated by Joshua Blais' blog post about using the internet like it's 1999 [1] I wanted to discuss an application and a protocol with characteristics that make them bad from a user freedom perspective. I also want to discuss solutions. + +## Zulip + +Zulip [2] is an instant messaging program that looks like a bastion of freedom. I thought it was because it is free software which ought to be the epitome of user freedom, but it is not that simple. Free software is necessary but not sufficient for appropriate user freedom. + +Try to find a third party Zulip client for GNU/Linux. You will not. This frequently happens when you use applications and not protocols. Let's consider three alternative protocols that facilitate instant messaging: + +1. IRC +2. XMPP +3. Matrix + +Look for third party clients for any of these and they will abound. These protocols were sensibly designed to give users the freedom to decide how they interact with their data and the data others show them. + +Nothing is stopping you from creating a third-party client for Zulip. The problem is applications aren't designed with this in mind, but protocols are. The main reason applications generally have so few clients is they frequently change their interfaces in breaking ways. Quality protocols are designed from the ground up to ensure consistent interfaces, often with backwards compatibility in mind. + +## AT Protocol + +The AT Protocol [3] is used by the social network Bluesky. This is a common way people introduce the protocol, and it should give you pause that a protocol is frequently associated with a singular company and social network. + +Choices in the design of the AT Protocol have led to it being too costly for individuals to run full-fledged servers (see [4] for details). This results in most AT Protocol users being entirely dependent on the Bluesky organization [5] (this link is worth following). Having a strong reliance on a VC backed social media company [6] is a good way to become the product when investors demand returns. This also limits freedom by having a centralized authority with the ability to censor speech [7]. + +An alternative to the AT Protocol is ActivityPub. Mastodon [8] uses ActivityPub to facilitate microblogging, and the software can be hosted on cheap hardware without a reliance on a third-party. Proponents of the AT Protocol may claim the two perform different functions, and I agree, but the centralized feed functionality the AT Protocol can provide but ActivityPub can't is something I consider to be deeply problematic from a human psychology perspective. As such, while ActivityPub can't directly replace "your" BlueSky feed, it will give you a healthier microblogging experience. With that said, I think the case for microblogging is lacking, and individuals should consider if microblogs, both their own and those of others, are worthwhile (my answer is emphatically no). + +## Proposition + +Host your own services for the dissemination of information, ensuring the services you host implement protocols designed for the type of information you are disseminating. + +I use Git (not GitHub) for software distribution, RSS, Gemini [9], and HTTP for broadcasted textual information, email for bidirectional individual or small group communication, and XMPP or IRC for larger group communication. These are the protocols built for these use cases, and they should be used as such. + +## Citations + +[1] - [https://joshblais.com/blog/using-the-internet-like-its-1999/](https://joshblais.com/blog/using-the-internet-like-its-1999/) +[2] - [https://zulip.com](https://zulip.com) +[3] - [https://en.wikipedia.org/wiki/AT_Protocol](https://en.wikipedia.org/wiki/AT_Protocol) +[4] - [https://dustycloud.org/blog/how-decentralized-is-bluesky/](https://dustycloud.org/blog/how-decentralized-is-bluesky/) +[5] - [https://arewedecentralizedyet.online/](https://arewedecentralizedyet.online/) +[6] - [https://bsky.social/about/blog/03-19-2026-series-b](https://bsky.social/about/blog/03-19-2026-series-b) +[7] - [https://bsky.social/about/support/community-guidelines](https://bsky.social/about/support/community-guidelines) +[8] - [https://joinmastodon.org/](https://joinmastodon.org/) +[9] - [http://geminiprotocol.net/](http://geminiprotocol.net/) diff --git a/posts/gemini/easily-hostable-protocols-over-applications.gmi b/posts/gemini/easily-hostable-protocols-over-applications.gmi @@ -0,0 +1,50 @@ +# Easily Hostable Protocols Over Applications + +## Date: 2026/04/25 + +Motivated by Joshua Blais' blog post about using the internet like it's 1999 I wanted to discuss an application and a protocol with characteristics that make them bad from a user freedom perspective. I also want to discuss solutions. + +=> https://joshblais.com/blog/using-the-internet-like-its-1999/ Josh's Blog Post + +## Zulip + +Zulip is an instant messaging program that looks like a bastion of freedom. I thought it was because it is free software which ought to be the epitome of user freedom, but it is not that simple. Free software is necessary but not sufficient for appropriate user freedom. + +=> https://zulip.com Zulip + +Try to find a third party Zulip client for GNU/Linux. You will not. This frequently happens when you use applications and not protocols. Let's consider three alternative protocols that facilitate instant messaging: + +1. IRC +2. XMPP +3. Matrix + +Look for third party clients for any of these and they will abound. These protocols were sensibly designed to give users the freedom to decide how they interact with their data and the data others show them. + +Nothing is stopping you from creating a third-party client for Zulip. The problem is applications aren't designed with this in mind, but protocols are. The main reason applications generally have so few clients is they frequently change their interfaces in breaking ways. Quality protocols are designed from the ground up to ensure consistent interfaces, often with backwards compatibility in mind. + +## AT Protocol + +The AT Protocol is used by the social network Bluesky. This is a common way people introduce the protocol, and it should give you pause that a protocol is frequently associated with a singular company and social network. + +=> https://en.wikipedia.org/wiki/AT_Protocol AT Protocol + +Choices in the design of the AT Protocol have led to it being too costly for individuals to run full-fledged servers. + +=> https://dustycloud.org/blog/how-decentralized-is-bluesky/ Architectural Discussion + + +This results in most AT Protocol users being entirely dependent on the Bluesky organization. Having a strong reliance on a VC backed social media company is a good way to become the product when investors demand returns. This also limits freedom by having a centralized authority with the ability to censor speech. + +=> https://arewedecentralizedyet.online/ Decentralization Metrics +=> https://bsky.social/about/blog/03-19-2026-series-b BlueSky Funding +=> https://bsky.social/about/support/community-guidelines BlueSky Community Guidelines + +An alternative to the AT Protocol is ActivityPub. Mastodon uses ActivityPub to facilitate microblogging, and the software can be hosted on cheap hardware without a reliance on a third-party. Proponents of the AT Protocol may claim the two perform different functions, and I agree, but the centralized feed functionality the AT Protocol can provide but ActivityPub can't is something I consider to be deeply problematic from a human psychology perspective. As such, while ActivityPub can't directly replace "your" BlueSky feed, it will give you a healthier microblogging experience. With that said, I think the case for microblogging is lacking, and individuals should consider if microblogs, both their own and those of others, are worthwhile (my answer is emphatically no). + +=> https://joinmastodon.org/ Mastodon + +## Proposition + +Host your own services for the dissemination of information, ensuring the services you host implement protocols designed for the type of information you are disseminating. + +I use Git (not GitHub) for software distribution, RSS, Gemini, and HTTP for broadcasted textual information, email for bidirectional individual or small group communication, and XMPP or IRC for larger group communication. These are the protocols built for these use cases, and they should be used as such. diff --git a/posts/gemini/index.gmi b/posts/gemini/index.gmi @@ -2,6 +2,7 @@ => https://blog.laack.co/feed.xml +=> easily-hostable-protocols-over-applications.gmi easily-hostable-protocols-over-applications 2026/04/25 => config-files-suck.gmi config-files-suck 2025/11/19 => you-dont-need-anything.gmi you-dont-need-anything 2025/10/17 => stop-collecting-user-data.gmi stop-collecting-user-data 2025/10/12 diff --git a/posts/site/easily-hostable-protocols-over-applications.html b/posts/site/easily-hostable-protocols-over-applications.html @@ -0,0 +1,51 @@ +<!DOCTYPE html> +<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang=""> +<head> + <meta charset="utf-8" /> + <meta name="generator" content="pandoc" /> + <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" /> + <title>easily-hostable-protocols-over-applications</title> + <style> + code{white-space: pre-wrap;} + span.smallcaps{font-variant: small-caps;} + div.columns{display: flex; gap: min(4vw, 1.5em);} + div.column{flex: auto; overflow-x: auto;} + div.hanging-indent{margin-left: 1.5em; text-indent: -1.5em;} + /* The extra [class] is a hack that increases specificity enough to + override a similar rule in reveal.js */ + ul.task-list[class]{list-style: none;} + ul.task-list li input[type="checkbox"] { + font-size: inherit; + width: 0.8em; + margin: 0 0.8em 0.2em -1.6em; + vertical-align: middle; + } + .display.math{display: block; text-align: center; margin: 0.5rem auto;} + </style> + <link rel="stylesheet" href="style.css" /> +</head> +<body> +<h1 id="easily-hostable-protocols-over-applications">Easily Hostable Protocols Over Applications</h1> +<h2 id="date-20260425">Date: 2026/04/25</h2> +<p>Motivated by Joshua Blais’ blog post about using the internet like it’s 1999 [1] I wanted to discuss an application and a protocol with characteristics that make them bad from a user freedom perspective. I also want to discuss solutions.</p> +<h2 id="zulip">Zulip</h2> +<p>Zulip [2] is an instant messaging program that looks like a bastion of freedom. I thought it was because it is free software which ought to be the epitome of user freedom, but it is not that simple. Free software is necessary but not sufficient for appropriate user freedom.</p> +<p>Try to find a third party Zulip client for GNU/Linux. You will not. This frequently happens when you use applications and not protocols. Let’s consider three alternative protocols that facilitate instant messaging:</p> +<ol type="1"> +<li>IRC</li> +<li>XMPP</li> +<li>Matrix</li> +</ol> +<p>Look for third party clients for any of these and they will abound. These protocols were sensibly designed to give users the freedom to decide how they interact with their data and the data others show them.</p> +<p>Nothing is stopping you from creating a third-party client for Zulip. The problem is applications aren’t designed with this in mind, but protocols are. The main reason applications generally have so few clients is they frequently change their interfaces in breaking ways. Quality protocols are designed from the ground up to ensure consistent interfaces, often with backwards compatibility in mind.</p> +<h2 id="at-protocol">AT Protocol</h2> +<p>The AT Protocol [3] is used by the social network Bluesky. This is a common way people introduce the protocol, and it should give you pause that a protocol is frequently associated with a singular company and social network.</p> +<p>Choices in the design of the AT Protocol have led to it being too costly for individuals to run full-fledged servers (see [4] for details). This results in most AT Protocol users being entirely dependent on the Bluesky organization [5] (this link is worth following). Having a strong reliance on a VC backed social media company [6] is a good way to become the product when investors demand returns. This also limits freedom by having a centralized authority with the ability to censor speech [7].</p> +<p>An alternative to the AT Protocol is ActivityPub. Mastodon [8] uses ActivityPub to facilitate microblogging, and the software can be hosted on cheap hardware without a reliance on a third-party. Proponents of the AT Protocol may claim the two perform different functions, and I agree, but the centralized feed functionality the AT Protocol can provide but ActivityPub can’t is something I consider to be deeply problematic from a human psychology perspective. As such, while ActivityPub can’t directly replace “your” BlueSky feed, it will give you a healthier microblogging experience. With that said, I think the case for microblogging is lacking, and individuals should consider if microblogs, both their own and those of others, are worthwhile (my answer is emphatically no).</p> +<h2 id="proposition">Proposition</h2> +<p>Host your own services for the dissemination of information, ensuring the services you host implement protocols designed for the type of information you are disseminating.</p> +<p>I use Git (not GitHub) for software distribution, RSS, Gemini [9], and HTTP for broadcasted textual information, email for bidirectional individual or small group communication, and XMPP or IRC for larger group communication. These are the protocols built for these use cases, and they should be used as such.</p> +<h2 id="citations">Citations</h2> +<p>[1] - <a href="https://joshblais.com/blog/using-the-internet-like-its-1999/">https://joshblais.com/blog/using-the-internet-like-its-1999/</a> [2] - <a href="https://zulip.com">https://zulip.com</a> [3] - <a href="https://en.wikipedia.org/wiki/AT_Protocol">https://en.wikipedia.org/wiki/AT_Protocol</a> [4] - <a href="https://dustycloud.org/blog/how-decentralized-is-bluesky/">https://dustycloud.org/blog/how-decentralized-is-bluesky/</a> [5] - <a href="https://arewedecentralizedyet.online/">https://arewedecentralizedyet.online/</a> [6] - <a href="https://bsky.social/about/blog/03-19-2026-series-b">https://bsky.social/about/blog/03-19-2026-series-b</a> [7] - <a href="https://bsky.social/about/support/community-guidelines">https://bsky.social/about/support/community-guidelines</a> [8] - <a href="https://joinmastodon.org/">https://joinmastodon.org/</a> [9] - <a href="http://geminiprotocol.net/">http://geminiprotocol.net/</a></p> +</body> +</html> diff --git a/posts/site/feed.xml b/posts/site/feed.xml @@ -7,9 +7,16 @@ <language>en-us</language> <managingEditor>andrew@laack.co</managingEditor> <webMaster>andrew@laack.co</webMaster> -<lastBuildDate>Sun, 26 Apr 2026 03:27:14 -0500</lastBuildDate> +<lastBuildDate>Tue, 28 Apr 2026 02:15:11 -0500</lastBuildDate> <atom:link href="https://blog.laack.co/feed.xml" rel="self" type="application/rss+xml"/> <item> +<title><![CDATA[Easily Hostable Protocols Over Applications]]></title> +<link>https://blog.laack.co/easily-hostable-protocols-over-applications.html</link> +<description><![CDATA[<p>Motivated by Joshua Blais’ blog post about using the internet like it’s 1999 [1] I wanted to discuss an application and a protocol with characteristics that make them bad from a user freedom perspective. I also want to discuss solutions.</p><h2 id="zulip">Zulip</h2><p>Zulip [2] is an instant messaging program that looks like a bastion of freedom. I thought it was because it is free software which ought to be the epitome of user freedom, but it is not that simple. Free software is necessary but not sufficient for appropriate user freedom.</p><p>Try to find a third party Zulip client for GNU/Linux. You will not. This frequently happens when you use applications and not protocols. Let’s consider three alternative protocols that facilitate instant messaging:</p><ol type="1"><li>IRC</li><li>XMPP</li><li>Matrix</li></ol><p>Look for third party clients for any of these and they will abound. These protocols were sensibly designed to give users the freedom to decide how they interact with their data and the data others show them.</p><p>Nothing is stopping you from creating a third-party client for Zulip. The problem is applications aren’t designed with this in mind, but protocols are. The main reason applications generally have so few clients is they frequently change their interfaces in breaking ways. Quality protocols are designed from the ground up to ensure consistent interfaces, often with backwards compatibility in mind.</p><h2 id="at-protocol">AT Protocol</h2><p>The AT Protocol [3] is used by the social network Bluesky. This is a common way people introduce the protocol, and it should give you pause that a protocol is frequently associated with a singular company and social network.</p><p>Choices in the design of the AT Protocol have led to it being too costly for individuals to run full-fledged servers (see [4] for details). This results in most AT Protocol users being entirely dependent on the Bluesky organization [5] (this link is worth following). Having a strong reliance on a VC backed social media company [6] is a good way to become the product when investors demand returns. This also limits freedom by having a centralized authority with the ability to censor speech [7].</p><p>An alternative to the AT Protocol is ActivityPub. Mastodon [8] uses ActivityPub to facilitate microblogging, and the software can be hosted on cheap hardware without a reliance on a third-party. Proponents of the AT Protocol may claim the two perform different functions, and I agree, but the centralized feed functionality the AT Protocol can provide but ActivityPub can’t is something I consider to be deeply problematic from a human psychology perspective. As such, while ActivityPub can’t directly replace “your” BlueSky feed, it will give you a healthier microblogging experience. With that said, I think the case for microblogging is lacking, and individuals should consider if microblogs, both their own and those of others, are worthwhile (my answer is emphatically no).</p><h2 id="proposition">Proposition</h2><p>Host your own services for the dissemination of information, ensuring the services you host implement protocols designed for the type of information you are disseminating.</p><p>I use Git (not GitHub) for software distribution, RSS, Gemini [9], and HTTP for broadcasted textual information, email for bidirectional individual or small group communication, and XMPP or IRC for larger group communication. These are the protocols built for these use cases, and they should be used as such.</p><h2 id="citations">Citations</h2><p>[1] - <a href="https://joshblais.com/blog/using-the-internet-like-its-1999/">https://joshblais.com/blog/using-the-internet-like-its-1999/</a> [2] - <a href="https://zulip.com">https://zulip.com</a> [3] - <a href="https://en.wikipedia.org/wiki/AT_Protocol">https://en.wikipedia.org/wiki/AT_Protocol</a> [4] - <a href="https://dustycloud.org/blog/how-decentralized-is-bluesky/">https://dustycloud.org/blog/how-decentralized-is-bluesky/</a> [5] - <a href="https://arewedecentralizedyet.online/">https://arewedecentralizedyet.online/</a> [6] - <a href="https://bsky.social/about/blog/03-19-2026-series-b">https://bsky.social/about/blog/03-19-2026-series-b</a> [7] - <a href="https://bsky.social/about/support/community-guidelines">https://bsky.social/about/support/community-guidelines</a> [8] - <a href="https://joinmastodon.org/">https://joinmastodon.org/</a> [9] - <a href="http://geminiprotocol.net/">http://geminiprotocol.net/</a></p>]]></description> +<pubDate>Sat, 25 Apr 2026 00:00:00 -0500</pubDate> +<guid>https://blog.laack.co/easily-hostable-protocols-over-applications.html</guid> +</item> +<item> <title><![CDATA[Config Files Suck]]></title> <link>https://blog.laack.co/config-files-suck.html</link> <description><![CDATA[<p>Config files suck for three main reasons.</p><h2 id="reasons">Reasons</h2><ol type="1"><li>They often require learning an idiosyncratic way of defining things that doesn’t generalize across programs</li><li>They are annoying to version and track</li><li>They limit the configurability of software</li></ol><h2 id="explanation">Explanation</h2><h3 id="learning-useless-things-sucks">Learning Useless Things Sucks</h3><p>Config files suck because learning useless things sucks. Most config files follow their own definition format. This results in ephemeral information being learned and very quickly forgotten. Often this process repeats a few times for pieces of software that require reconfiguration to meet the expectations of the user.</p><p>The time spent understanding the DSL of the config file would likely be better spent writing code in a proper programming language. There are two primary benefits to this. First, it builds on prior experience. If you are skilled at writing C code your ability to understand and configure software that is configured in C is improved by this prior knowledge. Second, by doing this process of configuration you are learning information that is likely less ephemeral. There are only a few good programming languages and by programming in them your proficiency in using them increases.</p><h3 id="the-disconnect-between-configuration-and-source-code-sucks">The Disconnect Between Configuration and Source Code Sucks</h3><p>Consider my dotfiles [1]. There are three files in my dotfiles that don’t reside in the XDG_CONFIG_HOME directory. These three files are my .bashrc, my .Xresources, and my .xinitrc files. I have these in my XDG_CONFIG_HOME directory and symlink to them from their expected locations because the programs don’t respect the XDG_CONFIG_HOME directory specification. This is annoying to setup on each system I use. A simple solution to this is to not use software that doesn’t respect the spec, but when Xorg and Bash don’t respect the spec, it becomes a bit more difficult to do so.</p><p>The bigger issue is that the disconnect between the configuration of software and source code results in multiple sources of information contributing to the configuration of a software program. This is annoying because to achieve the same program configuration across systems one must ensure two different locations are synchronized instead of one.</p><h3 id="being-limited-in-what-you-can-change-about-programs-sucks">Being Limited in What You Can Change About Programs Sucks</h3><p>Config files often don’t allow for large changes to be made to programs. The changes that can be made are constrained to what is deemed reasonable by the developers of the software. This is not similar to proprietary software where the developers actively hinder the freedom of users, but by having the source code and the configuration done in the same location, you can fundamentally change the operation of the program without jumping between different locations.</p><h2 id="the-redeeming-factor">The Redeeming Factor</h2><p>As I see it, config files are worthwhile if users are expected not to build from source. This may be the case for many open source projects, but I personally dislike using software in this way. This is a matter of opinion, but I think one of the most valuable parts free software is the freedom to change the source code as I see fit. By distributing software with config files, this sends an implicit message to users that they are expected to use the software as is, without modifying the source code.</p><p>If you don’t see a reason to build from source, it is your right to continue using config files. If you are building a project where you want users to configure, extend, and customize their computing experience to the fullest extent, consider doing away with config files as it forces users to directly manipulate your codebase, giving them more autonomy and flexibility. This may hinder mass adoption, but is that why you build software? It’s not why I do.</p><h2 id="citations">Citations</h2><p>[1] - <a href="https://git.laack.co/dotfiles">https://git.laack.co/dotfiles</a></p>]]></description> diff --git a/posts/site/index.html b/posts/site/index.html @@ -11,6 +11,7 @@ <h1>Andrew's Blog</h1> <p><a href="feed.xml">RSS Feed</a></p> <ol> +<li><a href="easily-hostable-protocols-over-applications.html">easily-hostable-protocols-over-applications</a> - <em>2026/04/25</em></li> <li><a href="config-files-suck.html">config-files-suck</a> - <em>2025/11/19</em></li> <li><a href="you-dont-need-anything.html">you-dont-need-anything</a> - <em>2025/10/17</em></li> <li><a href="stop-collecting-user-data.html">stop-collecting-user-data</a> - <em>2025/10/12</em></li> diff --git a/posts/wip/easily-hostable-protocols-over-applications.md b/posts/wip/easily-hostable-protocols-over-applications.md @@ -1,46 +0,0 @@ -# Easily Hostable Protocols Over Applications - -## Date: 2026/04/25 - -Motivated by Joshua Blais' blog post about using the internet like it's 1999 [1] I wanted to discuss an application and protocol with characteristics that make them bad from a user freedom perspective. I also want to discuss solutions. - -## Zulip - -Zulip [2] is an instant messaging program that looks like a bastion of freedom. I thought it was because it is free software which ought to be the epitome of user freedom, but it is not that simple. Free software is necessary but not sufficient for appropriate user freedom. - -Try to find a third party Zulip client for GNU/Linux. You will not. This frequently happens when you use applications and not protocols. Let's consider three alternative protocols that facilitate instant messaging: - -1. IRC -2. XMPP -3. Matrix - -Look for third party clients for any of these and they will abound. These protocols were sensibly designed to give users the freedom to decide how they interact with their data and the data others show them. - -Nothing is stopping you from creating a third-party client for Zulip. The problem is applications aren't designed with this in mind, but protocols are. The main reason applications generally have so few clients is they frequently change their interfaces in breaking ways. Quality protocols are designed from the ground up to ensure consistent interfaces, often with backwards compatibility in mind. - -## AT Protocol - -The AT Protocol [4] is used by the social network Bluesky. This is a common way people introduce the protocol, and it should give you pause that a protocol is frequently associated with a singular company and social network. - -Choices in the design of the AT Protocol have led to it being too costly for individuals to run full-fledged servers (see [5] for details). This results in most AT Protocol users being entirely dependent on the Bluesky organization [6] (this link is worth following). Having a strong reliance on a VC backed social media company [7] is a good way to become the product when investors demand returns. This also limits freedom by having a centralized authority with the ability to censor speech [8]. - -The alternative to the AT Protocol is ActivityPub. Mastodon [9] uses ActivityPub to facilitate microblogging, and the software can be hosted on cheap hardware without a reliance on a third-party. - -## Proposition - -Host your own services for the dissemination of information, ensuring the services you host implement protocols designed for the type of information you are disseminating. - -I use RSS, Gemini [10], and HTTP for broadcasted textual information, email for bidirectional individual or small group communication, and XMPP or IRC for larger group communication. These are the protocols built for these use cases, and they should be used as such. - -## Citations - -[1] - [https://joshblais.com/blog/using-the-internet-like-its-1999/](https://joshblais.com/blog/using-the-internet-like-its-1999/) -[2] - [https://zulip.com](https://zulip.com) -[3] - [https://github.com/skyjake/lagrange](https://github.com/skyjake/lagrange) -[4] - [https://en.wikipedia.org/wiki/AT_Protocol](https://en.wikipedia.org/wiki/AT_Protocol) -[5] - [https://dustycloud.org/blog/how-decentralized-is-bluesky/](https://dustycloud.org/blog/how-decentralized-is-bluesky/) -[6] - [https://arewedecentralizedyet.online/](https://arewedecentralizedyet.online/) -[7] - [https://bsky.social/about/blog/03-19-2026-series-b](https://bsky.social/about/blog/03-19-2026-series-b) -[8] - [https://bsky.social/about/support/community-guidelines](https://bsky.social/about/support/community-guidelines) -[9] - [https://joinmastodon.org/](https://joinmastodon.org/) -[10] - [http://geminiprotocol.net/](http://geminiprotocol.net/)