I’m a fan of decentralized networks. I use Mastodon instead of Twitter, I use Pixelfed instead of Instagram, and I use IRC and XMPP instead of Whatsapp. I’m very well satisfied with my experience. I don’t feel lack of any social network or messaging system.

I respect myself, therefore I don’t use proprietary apps and networks. If someone needs to contact me or have a digital social relationship with me, then that person can start a respectful relationship by using software libre and privacy-minded networks.

However, I should mention that not all of Fediverse or decentralized services/products are good. For example, some programs/networks don’t have a good user experience.

One of these is Matrix. I should mention that this is my personal experience and not all people will relate to this. In fact, many people I personally know have a great experience with it.

My experience with Matrix had some ups and downs. When I first started to use it, it was perfect. It became my main messenger (well after email) quickly in a week. I still use it to communicate with some people in some group chats.

When I first started to use Matrix, I also was using Telegram messenger. However, as Telegram’s server software is proprietary and therefore is not very secure/privacy-friendly, I started to use Matrix as my main messenger and made some bridges to group chats I needed to stay in.

During that time, I still had Telegram on my devices and used it regularly, so there were not a lot of pressure on Matrix. However, after a while I deleted My Telegram account and only were active in Matrix. So all my instant messages were transferred using Matrix.

As I said, Matrix is decentralized so people can communicate with each other on different instances/homeservers. Just like how email works. I’m arh@example.tld and other person is on person@domain.tld and we still can communicate.

More I was on Matrix, more delays/bugs I experienced. Messages were delivered/transferred late, encryption had problem in some rooms, sometimes it gave me errors about homeserver version being outdated which was nothing to do with me, and most annoying of all, sometimes decryption keys didn’t transfer properly so you’d lose your messages.

As a matter of fact, the decryption key error was the final strike that triggered me to stop using Matrix and moving back to XMPP.

I lost too many messages because of this error and there seems to not be any way to prevent this. Sometimes keys don’t transfer and you lose your messages. And that’s the last thing you expect from a messenger.

A messenger’s job is to transfer messages safely, completely, and on time. If a messenger fails to do so, that’s no messenger anymore.

It seems that when a homeserver is busy, the messenger won’t work properly.And I don’t know about you but i personally can’t schedule my messages with other people. I can’t ask people to stop using a messenger so my messages would deliver properly.

At first, I thought it’s a problem with matrix.org server which is currently the most popular server. I wasn’t using matrix.org server but my messages from/to matrix.org server had problem.

Then I tested it with someone who had an account on Mozilla server, I experienced the same after some time. I told myself that Mozilla is also a popular server. So I tested with a very least popular server and the problem was still there.

At this point, you wonder maybe it’s a problem on my end. So I tested with three different accounts on three different servers and guess what? Yeah, the problem remained the same.

Then I started to backup my keys and importing them so I can check whether the keys have any problem or not and keys were fine. They decrypted all messages except for those ones that my client (Element) told me I should ask for decryption keys again (and again).

many people reported this to developers and I’m sure they do whatever they can to fix this but for now, I can’t rely on a messenger that doesn’t do its job correctly.

2 thoughts on “My experience with Matrix

Leave a Reply

Your email address will not be published. Required fields are marked *