FAQ and resources for those curious about joining the Matrix network!
To ask more questions, or just try things out in a space meant for newbies to do just that, join the Matrix Curious Space!
Don't know how to join? Keep reading below!
You know how you can send and receive email from any number of services and clients, and email servers are able to talk to each other and figure out who gets what, and no one specifically "owns" email so there's a lot of room for different clients to do things better in different ways?
You can think of Matrix as that, but for chat platforms. The "siloed" counterparts to Matrix would be Discord, Slack, Teams, etc. Matrix might seem like it's behind these in comparison, but it's a more forward-looking and fast-growing alternative that's... better for the environment. :)
You can sign up on any server, and still chat with anyone on (mostly) any other server! So, for the most part, it doesn't matter where you sign up.
If you want to go the easy way, that's probably to sign up on matrix.org itself, but you can also talk to a friend, or pay to host your own, using your own domain name
There's a bunch of clients, with different levels of support and features. In general, it seems Element and FluffyChat are the more feature-complete ones, but the others are worth trying out, too, and some of them even do things in interesting ways. Element and FluffyChat both also have iOS and Android clients.
Most concepts for folks coming from Slack/Discord/etc map fairly easily. Here's a short glossary/thesaurus of terms and how they map between services.
Discord | Slack | Matrix | Notes |
---|---|---|---|
channel | channel | room | n.b. Slack servers are sometimes called "channels" but I don't think this is official. |
server | workspace (sometimes people refer to them as "channels" anyway) | space | Spaces are a bit fancier in some ways, such as rooms being able to exist in multiple Spaces, and Spaces being able to contain other Spaces themselves. |
instance (usually the service itself) | instance (usually the service itself) | server or homeserver | Matrix is federated. Many "servers" can talk to each other to form a network, and everyone can talk to each other across these servers, regardless of where their "homeserver" is. |
The Matrix Curious link is actually a link to something called a "Space", roughly equivalent to a Discord or Slack server. They're a very new feature, so many clients don't yet fully support them. Some of the confusion comes from the fact that they are technically rooms, so clients who aren't fully Space-aware might get confused and try to treat it as one.
If you try first joining the space from something like Element or FluffyChat, you'll be able to join the rooms, and then other clients should work just fine for those individual rooms.
There's a lot of sharp corners in pretty much all the main clients right now, but they're still good enough to be usable for the day-to-day. UX and perf improvements are the highest priority right now for Element and a lot of other developers, so you should see marked improvements in the coming months (as of Nov 2021).
If you have specific pain points, feel free to ask about them on Matrix Curious! That's exactly what it's for! We'll do our best to either sort you out, or point you at a tracking issue for the fix!
I see a lot of cryptocurrency/blockchain stuff on the matrix.org registry. Is this a blockchain thing?
Absolutely not! Matrix is its own, non-blockchain, protocol, and the developers aren't super supportive of blockchain stuff. It just so happens that Matrix is a pretty useful platform, and some early adopters have pretty technolibertarian tendencies, which often overlap with blockchain stuff.
If this is not something you're into, there's plenty of comfortable spaces away from that bullshit, such as Matrix Curious! :)
Go to Settings and go to the Labs tab on the sidebar. There's lots of good stuff there to try! You'll need Element Nightly, though!
Threading is actively being worked on. Some clients, such as Element, already support threading. On Element, you'll have to enable the Labs feature. (As of nov 2021)
Not in the protocol right now, and it's not a priority, but some clients such as FluffyChat (TODO: link) already support custom emoji packs!
However, Element is planning on supporting it in the future, see their roadmap.
Not yet, some proposals exist (see here and here), and Fluffychat, Nheko-reborn, and Element (with an integration manager) technically support it, it's not as polished or straight-forward as, for example, Telegram.
For messages, this varies by client. In Element, you can usually just use the /spoiler
slash command. Other clients might vary. Feel free to PR your client's method here.
For media, there's currently no support for spoilers/CW. (Tracking issue)
Not in a portable way right now. There's a text field but some clients use it for filename, some for alt text. That's something that currently needs fixing in the protocol. If this is important to you, please push for it here. The current more generalized push for something that would allow alt-text (among other things) is MSC1767.
This is currently in progress, and is a Labs feature on Element (TODO: link?).
It does! Though, again, features available may depend on your client.
You can change your default ("global") settings by going to the settings menu of your favorite app. On Element Desktop, this is the area you usually want to edit:
All Settings → Notifications → Global
Option | Setting |
---|---|
Messages in group chats | Off |
Encrypted messages in group chats | Off |
"Noisy" means you'll get a big notification badge and an audio notification.
E2EE is great, but it comes with some disadvantages when it comes to large community rooms, for example:
- Most bots don't work
- A lot of clients still don't support it
- It stops some conveniences from being possible, such as the server resizing images for you, which leaves more work on the client side (slowing things down)
In general, there's not much/any benefit in E2EE for very large, public channels where anyone could be there, so the setting is turned off by default because of this.
Yes! How you change it depends on the client but, for example, the /myroomnick
slash command will let you do this on Element.
You can also set your display name globally in Settings.
Note that no clients currently let you change a nickname space-wide, and there's nothing in the protocol for doing this.
There's a proposal for that in discussion, which would allow arbitrary data, but no clients currently use it. It doesn't require any server-side changes so it can be contributed!
You can use these hosting services! Some of them support bringing your own domain name.
Note that, right now, there's no real identity migration path, so if you lose access to your server/domain, it's possible that you'll lose your entire matrix identity/history, so pick a provider you trust. The account migration story is currently being worked on, so this is not going to be true in the longer term.