Difference between revisions of "Matrix"
(Add basic introduction) |
(Add section about full bridging) |
||
Line 1: | Line 1: | ||
− | The TechInc community is using a bunch of different protocols and platforms to communicate with each other, such as IRC, Telegram, Discord, Signal, email, etc. Unfortunately, this leads to fragmentation, as not everybody is able to participate in the conversations that people are having within the community. | + | = Motivation = |
+ | |||
+ | The TechInc community is using a bunch of different protocols and platforms to communicate with each other, such as IRC, Telegram, Discord, Signal, email, etc. Unfortunately, this leads to fragmentation, as not everybody is able to participate in the conversations that people are having within the community. We want everybody to be able to talk to each other, but we don't want people to be peer pressured into platforms that they don't want to use. | ||
[[File:Chat systems.png|upright=1.0|https://xkcd.com/1810/|alt=I'm one of the few Instagram users who connects solely through the Unix 'talk' gateway. ]] | [[File:Chat systems.png|upright=1.0|https://xkcd.com/1810/|alt=I'm one of the few Instagram users who connects solely through the Unix 'talk' gateway. ]] | ||
− | |||
This is one of the things that [https://matrix.org/ Matrix] hopes to address | This is one of the things that [https://matrix.org/ Matrix] hopes to address | ||
Line 10: | Line 11: | ||
</blockquote> | </blockquote> | ||
− | With Matrix, it becomes possible for a Telegram user to talk to a user on Discord, and from a Signal user to talk to a user on IRC. Of course, this should not be done without the explicit consensus of the existing communities. Each | + | With Matrix, it becomes possible for a Telegram user to talk to a user on Discord, and from a Signal user to talk to a user on IRC. Of course, this should not be done without the explicit consensus of the existing communities. Each platform and protocol has different rules and norms that cannot and should not just be thrown out of the window for the sake of interoperability. |
+ | |||
+ | = Bridging communication silos with Matrix = | ||
+ | We would like to setup a Matrix instance. This will be hosted on space infrastructure. | ||
+ | There are several ways that we can setup a Matrix instance and the various bridges, each having their own upsides and downsides. Before deciding on what works best, we need a common understanding of the different options. The methods described below are just there to illustrate some of the different options. The exact details, such as the channel names, what platforms to bridge, and everything else, are of course open for discussion. | ||
− | + | == Method 1: Full bridging == | |
+ | With full bridging, all channels are bridged to all other channels on all other platforms. | ||
− | = | + | {| class="wikitable" |
− | + | |- | |
+ | ! Channel !! Matrix !! IRC !! Telegram !! Discord | ||
+ | |- | ||
+ | | General || #general:techinc.nl || #techinc-general || #⃣ General || #general | ||
+ | |- | ||
+ | | Updates || #updates:techinc.nl || #techinc-updates || ❗ Updates || #updates | ||
+ | |- | ||
+ | | Printing || #printing:techinc.nl || #techinc-printing || 🖨 Print Team || #printing | ||
+ | |- | ||
+ | | Electronics || #electronics:techinc.nl || #techinc-electronics || ⚡ Electronics || #electronics | ||
+ | |- | ||
+ | | Networking || #networking:techinc.nl || #techinc-networking || 💻 Network Team || #networking | ||
+ | |- | ||
+ | | Food ordering || #foodordering:techinc.nl || #techinc-foodordering || 🍕 Food Ordering || #foodordering | ||
+ | |} | ||
− | == | + | === Advantages === |
− | + | * Everybody can talk to everybody, regardless of the platform, client or protocol that they prefer to use. A message sent in a channel on one platform will be relayed to the corresponding channel on every other platform. | |
+ | * Easy for people to join the conversation | ||
+ | |||
+ | === Disadvantages === | ||
+ | * There is no opt-out. Sending a message in a bridged channel will broadcast it to every other platform. | ||
+ | * There might be a mismatch between the norms that each platform is currently accustomed to, and the norms that other platforms expect | ||
− | == Method | + | == Method 2: Partial bridging == |
m-to-n | m-to-n | ||
+ | |||
+ | == Method 3: Single-channel bridge == | ||
+ | n-to-1 |
Revision as of 19:08, 12 November 2024
Contents
Motivation
The TechInc community is using a bunch of different protocols and platforms to communicate with each other, such as IRC, Telegram, Discord, Signal, email, etc. Unfortunately, this leads to fragmentation, as not everybody is able to participate in the conversations that people are having within the community. We want everybody to be able to talk to each other, but we don't want people to be peer pressured into platforms that they don't want to use.
This is one of the things that Matrix hopes to address
Matrix defines a set of open APIs for decentralised communication, suitable for securely publishing, persisting and subscribing to data over a global open federation of servers with no single point of control. Uses include Instant Messaging (IM), Voice over IP (VoIP) signalling, Internet of Things (IoT) communication, and bridging together existing communication silos - providing the basis of a new open real-time communication ecosystem.
With Matrix, it becomes possible for a Telegram user to talk to a user on Discord, and from a Signal user to talk to a user on IRC. Of course, this should not be done without the explicit consensus of the existing communities. Each platform and protocol has different rules and norms that cannot and should not just be thrown out of the window for the sake of interoperability.
Bridging communication silos with Matrix
We would like to setup a Matrix instance. This will be hosted on space infrastructure. There are several ways that we can setup a Matrix instance and the various bridges, each having their own upsides and downsides. Before deciding on what works best, we need a common understanding of the different options. The methods described below are just there to illustrate some of the different options. The exact details, such as the channel names, what platforms to bridge, and everything else, are of course open for discussion.
Method 1: Full bridging
With full bridging, all channels are bridged to all other channels on all other platforms.
Channel | Matrix | IRC | Telegram | Discord |
---|---|---|---|---|
General | #general:techinc.nl | #techinc-general | #⃣ General | #general |
Updates | #updates:techinc.nl | #techinc-updates | ❗ Updates | #updates |
Printing | #printing:techinc.nl | #techinc-printing | 🖨 Print Team | #printing |
Electronics | #electronics:techinc.nl | #techinc-electronics | ⚡ Electronics | #electronics |
Networking | #networking:techinc.nl | #techinc-networking | 💻 Network Team | #networking |
Food ordering | #foodordering:techinc.nl | #techinc-foodordering | 🍕 Food Ordering | #foodordering |
Advantages
- Everybody can talk to everybody, regardless of the platform, client or protocol that they prefer to use. A message sent in a channel on one platform will be relayed to the corresponding channel on every other platform.
- Easy for people to join the conversation
Disadvantages
- There is no opt-out. Sending a message in a bridged channel will broadcast it to every other platform.
- There might be a mismatch between the norms that each platform is currently accustomed to, and the norms that other platforms expect
Method 2: Partial bridging
m-to-n
Method 3: Single-channel bridge
n-to-1