It’s pretty quick.
Choose one (or more) of the following:
matrix.org
for our purposes)No problem, do this instead:
Matrix is an open, decentralized, end-to-end encrypted, messaging system.
It has gateways for IRC, Slack, Discord, Google Chat, Signal, and Whatsapp.
It supports file sharing, audio/video conferencing, spaces, rooms, threads.
It is used by hackerspaces, open source projects, public enterprises, and government agencies in Europe and elsewhere, instead of proprietary systems like Signal (it’s run by a public foundation, and the design, protocol, and source code are fully open, and you can run your own trusted servers if you need to).
Matrix is the protocol used by the underlying servers. Analogous to SMTP for email servers. There are many different server code implementations, and you can run your own server on your own hardware.
matrix.org
has one of the major homeservers, usable by
the public. At time of writing it was running a codebase called Synapse,
but that will probably change.
matrix.to
is for universal link representation for
users, rooms, and events, until such time as matrix:
URI
formats have consistent browser support.
Think of it as a redirector. It makes it easier for new people to sign up, and to use one’s preferred client without the server having to track that.
Element is the flagship client, with web, desktop,
and phone versions. You should use Element X
, the faster
and better latest version. Element Classic will be phased out soon.
There is also Element Pro for organizations.
There are many other clients: Cinny, Schildichat, FluffyChat, NeoChat, Nheko, Fractal, Hydrogen Web, Gomuks, Syphon, and so many more.
There are also plugins for several general purpose chat clients like WeeChat, Pidgin, Finch, Thunderbird, and more.
You can also think of gateways (e.g. with IRC or Discord) to be a form of client, if you prefer to use these as your daily user interface.
Here’s a cool hack: if you are using Beeper (a chat aggregator app
supporting discord, whatsapp, signal, linkedin, googlechat, slack, etc)
then you are already using matrix under the hood, and you already have a
matrix client in the form of Beeper, and a matrix user address, which is
@you:beeper.com
. This user address can be invited into any
matrix chat room, and it just works. So you can use Beeper as both your
client and your user address.
A space is just a collection of rooms for an organization–familiar idea. If you invite someone to a space, they will see all the rooms in the space, which they can join as needed. Note: they don’t automatically join all the rooms.
Because it’s an open system. Some components will be better, some worse, but the point is you get to choose.
A helpful mindset: pretend you’re still in proprietary jail, go with the defaults, and then explore your options later if/when the need arises.