Difference between revisions of "Matrix"

From Technologia Incognita
Jump to: navigation, search
(Add section about full bridging)
(Method 2: Partial bridging)
 
(4 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
= Motivation =
 
= 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.
+
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. It would be nice if people can to talk to each other, but without them being peer pressured onto 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. ]]
Line 39: Line 39:
 
=== Advantages ===
 
=== 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.
 
* 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 ===
 
=== Disadvantages ===
Line 46: Line 45:
  
 
== Method 2: Partial bridging ==
 
== Method 2: Partial bridging ==
m-to-n
+
Everything is bridged to the TechInc-hosted Matrix instance, but the Matrix instance does not necessarily bridge other platforms together.
 +
 
 +
{| class="wikitable"
 +
|-
 +
! Channel !! Matrix !! IRC !! Telegram !! Discord
 +
|-
 +
| IRC || #irc:techinc.nl || #techinc || ||
 +
|-
 +
| General || #general:techinc.nl || || ||
 +
|-
 +
| Updates || #updates:techinc.nl || || ❗ Updates || #updates
 +
|-
 +
| Printing || #printing:techinc.nl || #techinc-printing || 🖨 Print Team || #printing
 +
|-
 +
| Electronics || #electronics:techinc.nl || #techinc-electronics || || ⚡ Electronics
 +
|-
 +
| Networking || #networking:techinc.nl || #techinc-networking || 💻 Network Team ||
 +
|-
 +
| Food ordering ||  #foodordering:techinc.nl || ||  🍕 Food Ordering ||
 +
|}
 +
 
 +
=== Advantages ===
 +
* Everything is bridged to the TechInc Matrix instance, so everybody can get access to all channels through the TechInc Matrix instance.
 +
* Only certain channels are bridged to other platforms besides Matrix.
 +
 
 +
=== Disadvantages ===
 +
* Might be difficult to distinguish a channel that is bridged to both Matrix and other platforms, from a channel that is just bridged to Matrix.
  
 
== Method 3: Single-channel bridge ==
 
== Method 3: Single-channel bridge ==
n-to-1
+
{| class="wikitable"
 +
|-
 +
! Channel !! Matrix !! IRC !! Telegram !! Discord
 +
|-
 +
| Bridged || #bridged:techinc.nl || #techinc-bridged || 🌉 Bridged || #bridged
 +
|}
 +
 
 +
=== Advantages ===
 +
* Very explicit in showing that it is a bridged channel.
 +
 
 +
=== Disadvantages ===
 +
* People can only join conversations that happen in the bridged channel. Any conversation that happens in a different, non-bridged, channel is not accessible through Matrix.
 +
* Unlikely that people will actually use this channel, which sort of defeats the purpose.
 +
 
 +
= What information is being sent over a bridge? =
 +
Depending on the platform, a bridge sends the following information to the Matrix instance:
 +
* Your nickname
 +
* The content of the messages that were sent
 +
* When messages where sent
 +
* Join/leave notifications, if available
 +
* Typing notifications, if available

Latest revision as of 23:32, 12 November 2024

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. It would be nice if people can to talk to each other, but without them being peer pressured onto platforms that they don't want to use.

I'm one of the few Instagram users who connects solely through the Unix 'talk' gateway.

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.

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

Everything is bridged to the TechInc-hosted Matrix instance, but the Matrix instance does not necessarily bridge other platforms together.

Channel Matrix IRC Telegram Discord
IRC #irc:techinc.nl #techinc
General #general:techinc.nl
Updates #updates:techinc.nl ❗ Updates #updates
Printing #printing:techinc.nl #techinc-printing 🖨 Print Team #printing
Electronics #electronics:techinc.nl #techinc-electronics ⚡ Electronics
Networking #networking:techinc.nl #techinc-networking 💻 Network Team
Food ordering #foodordering:techinc.nl 🍕 Food Ordering

Advantages

  • Everything is bridged to the TechInc Matrix instance, so everybody can get access to all channels through the TechInc Matrix instance.
  • Only certain channels are bridged to other platforms besides Matrix.

Disadvantages

  • Might be difficult to distinguish a channel that is bridged to both Matrix and other platforms, from a channel that is just bridged to Matrix.

Method 3: Single-channel bridge

Channel Matrix IRC Telegram Discord
Bridged #bridged:techinc.nl #techinc-bridged 🌉 Bridged #bridged

Advantages

  • Very explicit in showing that it is a bridged channel.

Disadvantages

  • People can only join conversations that happen in the bridged channel. Any conversation that happens in a different, non-bridged, channel is not accessible through Matrix.
  • Unlikely that people will actually use this channel, which sort of defeats the purpose.

What information is being sent over a bridge?

Depending on the platform, a bridge sends the following information to the Matrix instance:

  • Your nickname
  • The content of the messages that were sent
  • When messages where sent
  • Join/leave notifications, if available
  • Typing notifications, if available