diff options
Diffstat (limited to 'misc')
| -rw-r--r-- | misc/internet-communication-channels.md | 203 |
1 files changed, 0 insertions, 203 deletions
diff --git a/misc/internet-communication-channels.md b/misc/internet-communication-channels.md deleted file mode 100644 index 7ba95f0e..00000000 --- a/misc/internet-communication-channels.md +++ /dev/null @@ -1,203 +0,0 @@ -# Internet communication channels - -If you want to provide a communication channel for a community over the Internet and you are considering options such as: - -* Slack -* Discord -* Reddit -* Telegram -* WhatsApp -* Facebook -* Or any other communication channel controlled by a single big company - -, then please read this article and consider an alternative. - -Because such channels are often convenient, cheap, and easy, they are natural choices. - -However, companies are about maximizing their benefits first. -Certainly, providing convenient, cheap, and easy services often help companies make money. -But I believe we have seen enough examples of companies putting their benefits first in detriment of their users. - -Using these alternatives will always require more effort. -This text is long, and just reading and processing it might take more time than setting up a channel on the services mentioned above. -The alternatives I describe certainly have drawbacks compared to the services I am asking you to avoid. -However, in the long run I think making an extra effort to make an informed choice pays off. - -## A quick litmus test - -If you only thing about a single thing, then think about this: how many independent clients are for this communication channel? - -How tightly the people behind the channel control clients is a good indicator of how much they want to maximize profits. - -## Alternatives - -### Instant messaging - -#### IRC - -IRC is a real-time chat protocol created in 1988 that is still in use. -Many perceive flaws in IRC that seem to make it a bad choice. -However, many IRC flaws have been addressed in recent times and I believe it is a good choice in many (but not all) scenarios. - -The biggest traditional issue with IRC is channels without history, where you cannot see messages posted while you were offline. -(If you suspend or turn off your laptop, you will be offline in IRC. -Even if you run your IRC client continuously on your client, if your phone goes out of coverage or your phone suspends your IRC client, you will be offline.) -However, nowadays you can create channels with history. - -Channels without history are frequently confusing for new users, because most chat systems have history. -Heavy IRC users are either used to having no history [this might seem surprising, but for some this is even a benefit] or have means to be permanently connected to IRC. -However, users new to IRC might join a channel, post a question and go offline without anyone having a chance to see their message and reply. -Then, unless people remember to answer when they are back, or other means are used, answers will not be visible to the person who asked. - -[The `chathistory` extension](https://ircv3.net/specs/extensions/chathistory) addresses this problem. -As far as I know, only [the Ergo IRC server](https://ergo.chat/about) and [their network](https://ergo.chat/about-network) support this extension. - -Some advantages of IRC are: - -* You can use IRC without creating an account. - This can be especially useful for providing a general contact mechanism. - You can create links that will ask for a nickname, and place you into a channel without any additional steps. - -* IRC is a very simple protocol with more than 30 years of history. - This means that many developers have invested significant efforts in creating powerful IRC clients and tools (such as bots). - And lately, many easy IRC clients are available. - This means that IRC can scale from simple setups that require little effort to use, to powerful setups that can provide interesting features. - (If you are used to plain communication clients, you might be surprised at how valuable some features can be.) - -Some drawbacks of IRC are: - -* IRC does not have end-to-end encryption, and thus IRC administrators can read every conversation. - This is not a huge problem for public or semi-public channels, but it limits IRC for many scenarios. - -* IRC requires more effort from administrators to provide a good experience to entry-level users, control spam, and others. - (An important point is that although integration with audio/video conferencing is possible, it requires more effort and provides a lesser experience.) - -* IRC is mostly text-based. - Although many IRC clients can display images and GIFs, communicating with images and GIFs is harder on IRC. - (And IRC also does not have integrated audio/video conferencing.) - -* Push notifications are not common yet. - Although it is possible to receive instant notifications when you are mentioned or receive a private message, this is frequently difficult. - In general, IRC on mobile phones is not as evolved as on desktop computers. - -Interesting projects: - -* Web clients - * https://github.com/ObsidianIRC/ObsidianIRC - * https://kiwiirc.com/ - * https://codeberg.org/emersion/gamja -* https://soju.im/ (Bouncer) -* https://halloy.chat/ (Graphical desktop client) -* https://git.sr.ht/~delthas/senpai (Terminal client) - -### Delta Chat - -Delta Chat is an instant messaging system that tries to be very similar to the most popular instant messaging systems. - -However, there are multiple clients and anyone can run a server. - -The strangest thing about Delta Chat is that is uses email underneath. -However, I would recommend ignoring this fact. - -#### XMPP - -XMPP is younger than IRC, but older than Matrix. -Compared to Matrix: - -* End-to-end encryption and audio/video conferencing is possible with XMPP, but in practice it can be difficult to access these features. - -* There's more XMPP clients than Matrix clients, but it is also hard to find clients that support all the features you need on different platforms. - -For some scenarios, if you find the right combination of XMPP server and clients, XMPP can be a great option. - -Historically, XMPP was not well-suited to mobile usage. -Nowadays, mobile usage is better, but finding the right clients to use is still a challenge. - -#### Matrix - -Matrix is a more modern chat protocol that addresses some of the drawbacks of IRC: - -* Matrix has end-to-end encryption, so conversations between users are private to Matrix administrators. - -* Matrix requires less effort from *channel* administrators. - (But running a Matrix server requires significant resources. - However, there are public Matrix servers and managed services. - Thanks to end-to-end encryption, using a public Matrix server is an interesting option.) - -* Matrix has good support for audio/video conferencing, images and GIFs, reactions, push notifications, and phone usage. - -But also some disadvantages compared to IRC: - -* Users need to create accounts. - -* Using end-to-end encryption makes some usage harder. - (Although end-to-end encryption is optional.) - -* There are fewer clients and tools, and generally they are more complex, more resource intensive, and less featureful. - (And not all clients support all features.) - -#### Other instant messaging alternatives to consider - -* Zulip: Zulip offers instant messaging, but has some characteristics from forums. - (For example, Zulip uses threads with subjects.) - -* Mattermost, Rocketchat are designed for communication within organizations. - -And lastly, because all the technologies mentioned in this text allow integrations, there are bridges to join different technologies. - -For example, IRC channels can be bridged to Matrix rooms. - -Although bridges are not ideal, in some cases you can use them to make one channel available over different technologies, which might address the limitations of specific technologies. - -### Asynchronous messaging - -Although my perception is that most communities nowadays communicate over instant messaging, many communities use successfully more asynchronous communication channels. -In some cases, providing both instant messaging and an asynchronous channel can also work well. - -#### Mailing lists - -Mailing lists (and their sibling, newsgroups) are older than IRC. -Although mailing lists are far less popular than in the past, many communities still use mailing lists. - -Mailing lists have several advantages: - -* Having an email address is nearly a necessity for all Internet users. - Mailing lists often require no user account other than an existing email address. - -* In a way, email and mailing lists share many similarities with IRC. - Although most people are users of just a few mail services and clients, there is a wide variety of services and clients. - Email power features are somewhat forgotten, but they still exist and mail clients can have very convenient features. - -* Most mailing list have good ways to browse and search past messages. - Email discussions are more naturally searchable, thanks to their slower pace and thread organization. - -However, they also have many advantages: - -* As people no longer use email to communicate, going back to email can cause significant friction. - -* Finding a good mailing list service is difficult. - (And hosting your own is also more difficult than hosting other services.) - -In my opinion, mailing lists are good, but they have become foreign to most people. - -#### Web forums - -Forums used to be very popular. - -Compared to mailing lists: - -* Forums require creating an account. - -* Forums do not have multiple clients, although forum software has also evolved for a long time, and many forums have great features. - -* Forums are also a bit out of style, but they are more popular and familiar to most than mailing lists. - -* Finding a forum service or hosting one is simpler than email. - -### Other possibilities - -Social networks tend to be slightly different communication channels than instant messaging or asynchronous messaging. -Alternatives to social networks also exist. -However, in my opinion, social network-style communication is not optimal for "communities" in most cases. -Still, you might want to explore alternatives. -The Fediverse (or ActivityPub) has many different varieties of communication channels that might suit your needs. |
