Hacker News new | past | comments | ask | show | jobs | submit login
Using Matrix to replace proprietary and centralized chat apps (jae.moe)
308 points by jaemoe on Nov 14, 2020 | hide | past | favorite | 220 comments



Anecdotal: I am having trouble getting anyone (nerdy/techy or otherwise, but let's stick to Linux-y friends, I'm a Linux professional) to set up an account and actually use the service. Even the friends who are very privacy and security leaning in nature who might embrace what Matrix offers in this realm. I generally steer them towards the Element clients (web/phone) which are easy to use.

A few have created accounts, logged on, a chat or two then walked away, never really came back. The federated non-tech channels I'm in are pretty dead as well (hobbies and the like). Couple hundred people... maybe a post or two a month. Point being, it's not getting adopted outside of software/tech circles (almost every happening room/channel is based around some sort of software or tech solution) from what I can tell, so I end up having no use for it other than communicating with random folks ala IRC general chat.


Speaking as the project lead for Matrix (and Element) - we are doing everything we can to improve Element's UX. If you're interested in the details, go watch the first 5 minutes of this week's Matrix Live (our weekly podcast), where Amandine and I spell out how important this is; it's literally an existential threat to the project; and what we're doing to fix it: https://matrix.org/blog/2020/11/13/this-week-in-matrix-2020-...

Our goal is of course to use it as a replacement to WhatsApp / Telegram / Discord for social stuff, even though it's dominated by developers today. And we will get there (despite all the negativity on this thread :|)


I really like Element. And I tried to get my friends away from WhatsApp. Over half of the people asked me how to send voice messages. I came across this ticket while searching for the feature: https://github.com/vector-im/element-web/issues/1358 From then on, it was clear to me that I could stop my attempts to bring people to Matrix. To be honest, the discussion in the ticket frustrated me deeply. The ticket is open since 2016 and the topics discussed in it are not oriented towards the users of this world, but towards some almost completely uninteresting technical details. Over the years, several people have intensively pointed out how important this feature is. Those responsible must pull themselves together and find a solution for it.


> Over half of the people asked me how to send voice messages.

This is a very regionally desirable feature, in my experience.

I have never (deliberately) sent a voice message on any platform, nor do I know anybody (well/any more) who would. But I went to a university with a high proportion of Chinese students, and it was really striking how much that feature was used (in apps that supported it obviously).

I'm just speculating, but I wondered if it was at least partly because of the tonal nature (roughly speaking: four intonations for each vowel, rendering completely different words, not just subtle changes in tone/emphasis) of mandarin, and relatively large number of different characters, making vocal communication more efficient than written; to an even greater extent than that may be true of English, for example.

I'm not really sure what I'm saying. Maybe it's not good to burn one market, maybe it is good to focus on excelling in others if (if!) the alternative is mediocrity everywhere, I don't know. Your comment just reminded me and I thought it was vaguely interesting.


Voice clips are extremely used in South America. I'd say some people even send more voice clips than text messages.

Any app lacking them has no chance of gaining traction there.

I think it's because we dumped SMS (which has no voice clips) early and moved to WhatsApp (I think it's been the norm for like 8 years now in Argentina).


> I have never (deliberately) sent a voice message on any platform

same here.

really dislike how people essentially just ramble on and on for what could have been one sentece or a few words.

so it costs the recipient a lot of time and concentration to get the gist of the message.

maybe a cultural thing because my wife and here friends use voice msg a lot.


I have a family member with bad internet reception where she lives. Realtime voice communication usually cuts out, so voice messages are a really good alternative because they are uploaded at once and can be listened to on demand.


I think it depends on your style of using devices. I am on my PC 99% of times, so I have access to a full-sized keyboard, so I can type longer messages with no issue. But on a phone, typing anything longer than few sentences is a miserable experience, so people prefer to just use voice messages and say what they want to say.


Yeah, you're right, it's different. One half does not use voice messages, the other half cannot live without this feature. My peer group is mostly from Germany.


Do you message older people? I interact with multiple and they find audio messages to be indispensable. (Who can blame them when recording a voice message is vastly easier than getting your glasses and typing out a message on a small screen with even beady on-screen buttons). In addition to old people, I also message a disabled person to whom speech and recorded messages are her primary mode of communication.

In short, I don't think it's regional. It depends on the person with whom you need to communicate.


My grandmother has an iPhone and my parents would be baffled if she sent them a voice message.

I'm not denying it's helpful/required for accessibility, I'm just talking about 'in general' large scale use of it (or not).

Maybe it's less about glasses (if you have to find your glasses to type a message I expect you also need to in order to unlock your phone, open the app, and tap the voice message button) for older people than it is about accustom to IM - the brief chatty format is more like a telephone call than a letter.

(But those I've known to use smartphones haven't used voice messages - as distinct from telephone voicemail - anyway, as I said.)


I'm not doubting your (or your sibling's) claims, but I find it extremely difficult to imagine any older person preferring a virtual keyboard to voice messages (provided they are properly introduced to the feature, of course). Maybe this preference stems from how simple telegram (the app we use) makes taking and hearing voice messages? Perhaps it really is a regional thing after all. We need more data.

From my anecdotal/regional experience, people over 60 prefer to use voice messages almost exclusively while younger people prefer to text.

Maybe someone at telegram or whatsapp can provide statistical data to shed more light on voice message usage.


Yes, and no older people use it here in Sweden. I do not know anyone in Swden who uses voice messages.


I tried to use Matrix with a few friends, and while it's impressive how far it's come, it's not there yet. The features are all great, now "all" that's needed is to make them work. We had jankiness like keying problems, messages that wouldn't send or receive, and general problems that made it not "just work".

My personal pet peeve is that I have no idea what the difference is between "people" and "rooms", and why when I try to talk to a friend our chat is sometimes in one and sometimes in the other. Maybe you'd like to take a page out of the Telegram/Whatsapp book and not distinguish between the two, since they're all chats, they just sometimes have two people and sometimes more.

Best of luck, I'm really hoping to switch to Element for all my chats one day!


I appreciate all the work that you and your team have put into Element and Matrix over the last few years. While I still think there's plenty to go, I think there's been clear communication about what the project has worked on, what you're trying to do with it, and acceptance that certain features, while important, aren't as important as more core features. (My personal pet one is custom emoji, MSC1951).

I still think that this is one of the more important open-source future-facing projects around and will continue supporting it, and urge others to, as well. If you dislike the hegemony of centralized services, then throw some money towards projects that support ideals you believe in.


Thanks :) In terms of custom emoji, it may be worth checking out our new public roadmap for Element (which is new this week and hasn't yet been announced): https://github.com/vector-im/roadmap/projects/1. On the plus side, custom emoji are on the roadmap. On the minus side, they're on the 'Later' column - so you can see where they stack up relative to other work. Agreed that they would make a massive difference. We will get there eventually though (or perhaps folks will contribute them sooner :)


I'd like to agree with the comment above yours that how communicative you are being and the openness about issues combined with the transparency of the project really raises my and probably many others' opinion of the project and that if you continue this way, it's really looking bright!


I think my anecdotal experience with getting casual users to switch to Element might be helpful to you:

I am a member of a social group that varies widly in age and technical experience. When I tried switching two of our members over to Element, I noticed them quickly growing upset with the app because the found it to be missing key features they expected like easily recording audio messages or the visual seperation of messages that are more than a few minutes apart.

From my personal experience with switching people from one chat app to another, people expect a replacement app to:

1. have 1:1 feature parity with the app it's replacing, 2. display all the information they've grown to rely upon, 3. and both feel and work like the app it's replacing. (even cosmetic things like text bubbles and larger font sizes)

Failing the first two points lead to the immediate dismissal of the app. Failing the last point is seen as a deficiency in the new app. Inversely, succeeding in all three leads to smooth adoption. It is why all my group is using telegram right now instead of whatsapp.

I'll have another go at switching my group to Element when/if the app gains the ability to send audio messages, but without Element looking and feeling similar its compition, I'm skeptical of my chances to succeed.

By the way, I really like Matrix and appreciate the hard work and care you're putting into this project. Thank you and keep up the good work.


The biggest grab for Discord is anonymous accounts. You can put in a username (even a conflicting one due to their #number system) and get going straight away.

Sign-up is a metric that your marketing team loves to track, but is a crazy user bottleneck.

Even if you only do it for, e.g. 6 months-1 year (spam concerns), let people chat with no account/sign-up. Let me give people a link that will let them chat with me, with no sign-up.


Matrix has always supported "Guest" accounts, where a user can immediately join a room and start talking in there with a generated user_id. They have limitations, but for the "get going straight away" factor it was quite nice.

Element (back when we called it Riot) removed support for this a while ago BUT we are trying to design it back into the app, which you can follow https://github.com/vector-im/element-web/issues/9264

And yeah as a developer on the project, getting users into rooms quickly and chatting is a desperate goal of mine.


I'm glad to hear that. You guys really seem to be willing to be wrong, and seriously listen to ideas. If you fail you will color me the strongest shade of surprised: everything you are doing is optimal.


I agree. Users want to jump into a discussion first and foremost. Discord facilitates this without adding any unnecessary friction.


Really sorry to see all the negativity. I use Matrix every day and don't get most of what people are complaining about. For some reason lots of HN threads on it seem to hate it irrationally, despite Matrix by far and away being the most advanced protocol and implementation in its space.


"The most advanced protocol" counts for fuck-all if the actual client is missing features compared to the competition.

Whatsapp: 1) Install 2) it works. Even my 60+ relatives can handle it.

Discord: 1) install 2) it works. It also has voice/video chat rooms and a huge ecosystem of bots.

Telegram: Works, has bots, channels can be moderated, sticker packs, gifs etc fun stuff.


Whatsapp: Sends all phone numbers on your phone to a third party.

Discord: Works as long as Discord does not run out of VC money.

Telegram: Sends all phone numbers on your phone to a third party.


What is your point? That Matrix can never be popular as a phone messenging app because it doesn't collect phone numbers, and doesn't raise VC capital?


Whatsapp is the worst chat system I use. It doesn't support reactions (which are essential if you don't want a chat with many people to devolve into incessant pointless notifications), nor does it allow easy editting of the message you just sent (another essential feature, given how often small mistakes can totally change the meaning of text). I can't collapse pictures/gifs that annoy me, I can't chat with people on other services. It won't let me use whatsapp web on multiple other devices simultaneously, it won't let me use whatsapp web when my phone is out of battery (the exact time I most need it!). I can't invite people to chat with me on whatsapp without them having to create an account and give up their phone number (and usually their contact address book too).

It's very strange to me to hear people describe Whatsapp as having good UX.


WhatsApp has good onboarding and brand recognition. (YMMV, this is highly dependent on which country you are in). You don't need to create accounts or register. You just need to know your phone number.

Having to give up your phone number and contacts is a feature for most people. They can instantly see that Marge from the office also uses WhatsApp so they can call/message them using that instead of paying for calls and SMS.

The limitations of WhatsApp web are mostly due to it being end to end encrypted. The "web client" is basically just using the phone as a proxy. It _is_ possible to have E2E encryption and allow multiple separate clients, but it's not a trivial problem to solve, thus most won't do it. (Telegram's E2E chats are device to device and not available on other clients than the one that initiated the connection.)

It's still crap, don't get me wrong. I'd rather use anything else, but at least where I live, it has critical mass and is the de facto standard.


I don't disagree with what you've written, but a chunk of it is exactly what people are getting criticised for elsewhere in this thread - giving a technical reason that I as a user probably don't care about for bad UX.

> it has critical mass and is the de facto standard.

Yeah, it's the critical mass thing that is the most significant reason here, although it originally caught on back when simple onboarding was very unusual and that was its killer feature.


All three of those services are centralized though. I'm talking about things I can host.


I would love to have a easy and fast deployable Element server for my companies internal network. IT tried it twice already and failed somewhere along the way which took them too long to fix the problems they had with it. Mattermosts Omnibus installation is something we'd be looking for.


I’m don’t mean this in a mean way, but if I were you that would not give me a great deal of confidence in my IT department’s level of talent. I’m assuming you are talking about setting up a Synapse server, not the Element web client.

I’ll admit, the documentation isn’t perfect. But it’s pretty good, and they should be able to set it up. There’s a few things I think could be more explicit in the docs, but even a mediocre set of sys-admin skills should be able to fill in the gaps.

I’m not an IT guy, or a sys-admin. I’m just a lowly, mid-level web developer :) But I was recently able to successfully setup my own Synapse server as per the docs, the very first attempt.

However, to your point. A more streamlined, or ‘automatic’ installation option would be fantastic!


If your IT group is alright with docker, the matrix-docker-ansible-deploy[1] is excellent quality and very quick and easy to setup/manage.

[1]: https://github.com/spantaleev/matrix-docker-ansible-deploy


In my case, it’s because I heard (last year) that e2e was a planned feature, and not implemented yet. Is that information out of date?

Also wary of it wanting to upload my contacts list - could you comment on how it’s used? Or is that entirely up to the specific app?


E2EE has been implemented since 2016, and turned on by default as of May 2020.

Uploading contacts is strictly optional (and is missing on some platforms like Android currently, as per complaints elsewhere on this thread). They're used purely to discover which of your contacts are already on the platform - the privacy policy can be found at https://github.com/vector-im/policies/blob/master/docs/ident...


have similar experience. struggled with Matrix/Element and with Signal too. the only app that works for non-techy audience in my experience is Telegram. i got several people to stick and continue using Telegram while i did not succeed with the other two. i guess better than Whatsapp in any case!

on the other hand, we use Matrix for all the communication in our little startup. we got some integration going on such as rss feed and notifications about new signups etc. works great as a Slack alternative.


Signal works quite ok with my family members.


Signal is one of the few good ones that show promise. They manage to deliver usable features. One fantastic thing is extremely picky userbase that's nagging about small details in the community forum.

The developers seem to really get average users, and the commitment to privacy over feature adoption schedule means every feature is as polished as the latest cryptographic design allows it to be. This means every feature is an actual feature that gives more power to the users.

Sure, there's stuff that indeed needs improvement, like usernames and registration without phone numbers, but once those come, it's likely to be polished enough not to require sudden knee-jerk patches like adding Google Captchas because a billion cryptocurrency scambots suddenly started spamming everyone, and there was no private Captcha alternative available.

I love that Signal doesn't consider privacy an individual feature (like Telegram Secret Chats) or Matrix opt-in E2EE (something that was the case at least in the past). Everything is E2EE, it's an integral property of every feature, there's no risk of downgrade attacks because the codebase never contained a non-E2EE implementation of some feature in the first place.

When working with TFC, I wanted the same with advanced properties like Onion Service based anonymity for everything, as well as endpoint security against key exfiltration, which I knew meant almost non-existent userbase due to the architectural design that requires custom HW data diode etc. I consider myself in a privileged position, I didn't have to consider every average user and that was almost exclusively due to the fact there was already a usable solution for networked TCBs, i.e. Signal, and a usable anonymity solution for networked TCBs (Ricochet and later Briar and soon cwtch.im). So I'm glad I didn't have to reinvent the wheel. Signal, Briar and Cwtch are _the_ interesting platforms. Signal is slowly taking over Telegram in terms of usability, while Briar is experimenting with an incredibly fascinating stuff like blogs and forums hosted on your personal devices' Onion Service. You could theoretically run a clone of any social media platform page for yourself from your phone, once average phones are fast enough and use fast enough Internet (5G/Wifi6 etc) to make Tor snappy (enough). Who knows, perhaps by then Signal will also run over Tor.


https://github.com/signalapp/Signal-Desktop/issues/530

Signal still has usability annoyances, like this one where they decided to remove the UI for creating and leaving group chats from the desktop version in an impulse half a decade ago, and have refused to add it back again since.


I use element - though hate using it, bugs me with annoying permissions every-time and it's yet another chat app from user point of view. User's already have to juggle Slack, FB Messenger, WhatsApp, Discord so I'm very sympathetic to users who are resisting/not using it. The world doesn't need 100 chat apps, we need to consolidate all this into one single app, if there something that solves that problem, sign me up :)


Matrix can solve that problem if you lean more into it. There are a number of applications you can run called “bridges” that can pull all your WhatsApp, Facebook Messenger, Slack messages into Matrix rooms and push your replies out as your appropriate user. Then you’ve got all your chat in one place — that’s exactly how I use Matrix today.


Bridges are an usability disaster. Most have been unreliable for many years.

On multiple occasions I ended up talking to maintainers or developers due to bugs.

It's been many years and you can barely use the official bridges for IRC and with many limitations.


I disagree that bridges are a usability disaster - they're Matrix's competitive advantage. I'm using mautrix-whatsapp, mautrix-hangouts and smsmatrix without any issues. Which bridges do you have problems with?


It shouldn't be bugging you with any permissions - what are they?


try the web app and you'll see


I am part of a quite active community on matrix.

Basically a split off of a subcommunity of a discord of a reddit community. (Specifically moving politics away from the community discord)

So, it is possible to move people over, but it only really works in terms of batches of people and basically as a island of people, rather than integrated into the wider community.


I have convinced a few people to participate. For non-technical people, get them to install the mobile app - there's less barrier to entry and people "understand" installing apps these days.


I just signed up, it immediately was useless because even though I allowed it full access to my contacts it couldn't tell me if anyone was on Matrix. Then I tried adding a friend, and it only let me add them by email, not by phone number, so that fully disqualifies the app as a phone messenger application.

What good is a phone messenger app if I can't send someone a message on their phone number?

Signal just works, I use it as my day to day sms app, and it shows me who of my friends also have signal so I text them on messenger if they do, and WhatsApp if they don't.

So the real reason is Matrix just isn't even trying to compete with signal or WhatsApp, it's competing with MSN Messenger, which everyone stopped using over 15 years ago.


Many people would consider that a feature rather then a bug, but that sounds like something with whatever identity server you're using.

Element seems to be focusing more on the IRC/Slack/Discord style of communication though instead of Signal/WhatsApp. You can definitely use it for the latter (I use it for plenty of 1 on 1 conversations with RL friends) but right now it's more for channels and rooms and eventually Slack workspaces/Discord guilds.

That's all on the client end though; I'm sure someone will eventually write a Matrix client that mimics Signal/WhatsApp etc more.


> that sounds like something with whatever identity server you're using.

The relationships between the home server, identity server, and client on Matrix are not made clear in any user friendly way in the Matrix documentation for homeserver operators so I can't imagine it's clear for end users either.

It's one of the things that I think keeps killing Matrix. Now let's see if Arathorn shows up to tell me how wrong I am. Wouldn't be the first time. Nothing inspires confidence in the maturity of a product like a CEO that joins discussions to tell users who've had bad experiences that it was their fault for not understanding the documentation. That's how Facebook got so big, don't you know?

I'm absolutely obsessed with chat solutions like Matrix and Arathorn probably doesn't remember me but I remember his attitude towards my feedback.


> Now let's see if Arathorn shows up to tell me how wrong I am.

You may want to consider how your (seemingly legitimate) comments about the documentation might sound to Arathorn, who is obviously working hard to engage with the community and owes you nothing. For comparison, Arathorn seems to have engaged constructively with other more polite comments in this discussion.


All the points you make only mean that Matrix is a proper federated privacy minding IM system.

I hate all the messengers that make you friends rat out their full phone address book (including your private phone number!) with a passion and I am very glade Matrix has not succumbed to this predatory practice like many others.


the old riot.im mobile clients does have the feature to tell you which of your contacts are already on matrix. the feature was said to be "coming" to the new client but not yet. not sure what's the real plan for it.


We're in the process of adding it back into Element Android. It's still there on Element iOS. Totally agreed that the app should help you discover people to talk to, which is what we're doing.

If you're interested, https://github.com/vector-im/roadmap/issues/10 is the relevant issue on the public Element roadmap: https://github.com/vector-im/roadmap/projects/1


It seems to me that people don't understand how morally wrong is to just give phone numbers of your friends (or even just some easily reversible hashes of those) to a third party for these contact matching schemes.

If someone gives me their phone number I would find it to be extremely rude to them if I just pass it to some third party without their consent. And most people likely do in normal life:

"Hey Bob, can I give your phone number to Alice ? She would like to buy that furniture you re selling."

Yep people will just give their full phonebook to a third party so they can see who else is one the service (and betrayed their thrust by giving it their phone number!). I really hope this is just UX dark patterns, where the apps ask for phone book access but don't explicitly tell users how they are doing this matching. Users doing this willingly would be much worse...


>it's competing with MSN Messenger, which everyone stopped using over 15 years ago.

I would say people didn't stop using it, rather than the service got axed.


This confuses me. Those individuals who are

> very privacy and security leaning in nature

were not already on Matrix?


Nope, and show reluctance to even bother trying. We communicate via Signal, which unlike Matrix has favored adoption even outside tech circles in the past few years.


> Nope, and show reluctance to even bother trying. We communicate via Signal

Not all of us. Many of us realize the benefits of federation and the security implications of having a single point of failure.


My reply wasn't meant generically, sorry if it didn't come across - I was replying to the question about my friends in this category, not making any sort of statement about others.


Also isn't E2EE new to Matrix? My understanding is also that they don't handle group privacy the same way that Signal does (which granted, is a new feature as well). I'll also say that in a space that is evolving quickly, a centralized system where I can know that people are on a version similar to me is pretty important. I don't have any fear of Moxie turning and pushing backdoor keys into everyone's app.


> Also isn't E2EE new to Matrix?

It was turned on by default in May of 2020. It was available before then.

> I don't have any fear of Moxie turning and pushing backdoor keys into everyone's app.

He could, though, and you have to trust him not to. I see that as a problem.


> It was turned on by default in May of 2020. It was available before then.

Thanks! I do think default matters though. Do you know how they handle groups and metadata?

> He could, though, and you have to trust him not to. I see that as a problem.

Personally I don't. At the end of the day we have to trust a lot of people for society to operate. I'll stay on Signal where I can get my non privacy concerned friends connecting while all signs point to the opposite of Moxie turning. Especially considering the tradeoff of how the space is moving so fast currently. Maybe I'll revisit when no metadata E2EE group chats are widespread and Matrix creates a very simple server setup. Federation makes sense to me for mature technologies, but not for fast moving technologies.


Rubber hoses still exist. I think GP was trying to correctly point out that having a single point of failure is a weakness in any system, cryptographic or otherwise.


But Moxie's point in the blog post that is referenced is that with federated systems you have a lot of failure points. You can't keep everyone on the latest update in a federated system. You need all those actors to function perfectly, most of whom aren't going to be experts. This makes federated systems not great for anyone but experts.


> federated systems [..] have a lot of failure points

They sure do, but you also have access to all the parts needed to maintain your own instance and so does everyone else. Failures, when they happen, are limited to instance who aren't "functioning perfectly" instead of extending to every user of a centralized system.

Just to keep everyone reading this thread on the same page: The point of failure being discussed here is the human factor. See comment ancestors for context.


> Just to keep everyone reading this thread on the same page: The point of failure being discussed here is the human factor.

Thanks for reiterating this, because I think it is a key thing people who are scanning this thread are missing.

I think this is actually the argument for a centralized system though. At least for something that's a replacement to text messaging. I think the issue with a federated system is that most people don't know how to run a server, even pretty technical people. So this makes sense as a slack replacement, but not text messaging. At least to me.


Nerd here. I don't care to sign up for a chat service that my friends aren't using.

I did look into matrix, but either I have to host a server myself or I will forever be stuck on one other guys server, right? Then there is no reason to move to it and it is not really anymore federated than email.


In what way is it not federated like e-mail?

> or I will forever be stuck on one other guys server, right

This is valid criticism at the moment. There is work being allocated on fixing this issue, with multiple protocol drafts, but it might take a year a two before you can finally transfer accounts between servers.


We're aiming to get portable accounts early next year, as part of the P2P work, using the approach at https://github.com/matrix-org/matrix-doc/pull/2787. P2P Matrix is unusable without it.


Awesome! Thanks for the reply Matthew!


I meant to say that it is not more federated than email: sure I can write to anybody using any service but my @gmail is forever bound to googles service.

In my mind a true federated service would allow me to move my stuff from one place to any other place, kinda the way I can move my domain to a new host.


I've never used Matrix and I'd love a replacement for Slack/Discord. But hearing "I generally steer them towards the Element clients" is going to be a huge turnoff for a lot of non-tech people. Even as a tech user, I don't really want to compare and research different clients to figure out which is best.


Imagine you've never heard of Gmail before. How does "I generally steer them towards the Gmail clients" sound if someone asks you about email?


The difference is in marketing. Gmail is a service with its own official app and so on. Matrix is a protcol, you can't market a protocol to regular people. Other than techies, nobody cares how their chat works as long it works so if you want to gain traction you market Element as the new hot messaging app and not Matrix the protocol.


Isn't it pretty well understood that Gmail is an email service though?


I don't think that's a good example since Gmail is an email provider which can be used with any email client. Element is a Matrix client that can connect to a matrix provider.


What do you propose to do instead? To actively prevent people from creating clients for the protocol?

The Element clients are the closest to what you could consider official clients, being made by the Element company, which does most of the Matrix design and development.


What's preventing you from picking one at random, then?


The Paradox of Choice.


A lot of Linux-y people, including myself, reject Matrix. It's not the solution it claims to be.

I could write a list of criticisms of Matrix's software products, organization, and track record, but the main problem is that we want an ip-native comms tool that's /actually/ decentralized.

Matrix is Open Source, federated, self-hosted Slack (plus voice calls). That's great, but that leaves you needing to trust a homeserver admin or host your own homeserver. Putting aside that there STILL isn't a finished homeserver implementation, you'll have to rely on a third party no matter what. Either it's hacker Joe (the admin of your homeserver), or the server hosting company that hosts your homeserver, or the DNS registrar who legally has to have your real identity...

It may be theoretically possible to host a homeserver without a domain name, but you'd still need to register your real name with an ISP to get a static IP.

Freedom from this kind of control should be baked into the software. Plenty of teams have tried it (retroshare, Scuttlebutt, etc.) but unfortunately none of them are quite there yet.


How is Matrix not the solution it claims to be? What's not /actually/ decentralized about it?

Keep in mind software of this kind doesn't just [poof] appear out of nowhere...it's typically built incrementally on meager budgets.

What you seem to want is a peer-to-peer solution, which at this point in time is not something Matrix has built or claims to have built.


it is something they're currently actively working on building!


Yep, it exists as https://p2p.riot.im/! The team is making tons of progress including the new pinecone project. It regularly gets talked about in https://matrix.org/blog/posts if you want to keep up to date.


It's not decentralized because it's federated, client-server chat software. This is more decentralized than Discord or what-have-you, but it requires reliance on multiple centralized internet services and authorities, as I outlined.

I'm well aware that FOSS projects tend to be underfunded. Matrix is an outlier with some large grants fueling the project and opaque organizational structure.

> What you seem to want is a peer-to-peer solution, which at this point in time is not something Matrix has built or claims to have built.

Peer-to-peer is not absolutely necessary (it can be both). There's nothing wrong with routing message through a network, but e2ee is absolutely necessary, and it took until May this year for Matrix to enable that feature by default. Most importantly, in Matrix, your identity is associated with and controlled by a homeserver. It's under someone else's control. That's not good... Your identity should be under your control. We've known how to do this with asymmetric encryption for at least a couple of decades.


Wow, there's some spectacular FUD going on here. "Opaque organisational structure"? Have you even read https://matrix.org/foundation, which I personally spent months trying to make as transparent as possible?

> What you seem to want is a peer-to-peer solution, which at this point in time is not something Matrix has built or claims to have built.

Except we have: https://matrix.org/blog/2020/06/02/introducing-p-2-p-matrix. We have people working on it full time, and hopefully going to evolve into hybrid P2P/Client-Server eventually as per that blog post.

Meanwhile, portable identities are also in active development (as part of P2P), as per https://github.com/matrix-org/matrix-doc/blob/neilalexander/....

> e2ee is absolutely necessary, and it took until May this year for Matrix to enable that feature by default

Sorry, you're complaining that we... did the thing you want us to do? But it took longer than you wanted? My heart bleeds.


Don't let the negatity and accusations here bring you down. I have great faith in what you're doing and greatly anticipate what is to come. I also really liked the post on backdoors and the EU proposal.

I've managed to talk 6 people into making an account (matrix.org) and using element. None of them are linux-y or tech-y and they've mostly managed fine (apart from help with setting up e2ee, exporting keys etc which I helped with).

Is the app dead easy to use (like WhatsApp, Viber, Signal)? No it isn't but it's understandable.


> Except we have: https://matrix.org/blog/2020/06/02/introducing-p-2-p-matrix. We have people working on it full time, and hopefully going to evolve into hybrid P2P/Client-Server eventually as per that blog post.

Gosh sorry I remember seeing that post, but for some reason I thought it was more of a concept without anything shipped yet. I should do a better job of reading.

Exciting!!


> Sorry, you're complaining that we... did the thing you want us to do? But it took longer than you wanted? My heart bleeds.

Wasn't complaining. I don't use Matrix.

> Meanwhile, portable identities are also in active development (as part of P2P),

Portable identities should be how it works by default. Nobody should be asked to sign up with a server and share their email address and metadata with it.


You don't need an email address to sign up.


I am an open source fanatic but I also acknowledge there is no tenable way to make fully decentralized communications palatable to the masses. Federation is a necessary feature because its way more important to draw people away from the status quo of totally proprietary walled gardens farming all your communications for data with no privacy than it is to march for some Tox based holier than thou crusade against having to trust someone to run a server to provide a service.


I have no idea why you think that Synapse isn't finished. It exited beta last summer, and is a pretty decent and robust server these days. The amount of weird Synapse bugs we have to debug has dropped by 10x over the last year, and we even fixed its scalability too: https://matrix.org/blog/2020/11/03/how-we-fixed-synapses-sca....


Ah, my bad. The REFERENCE implementation, written in Python, which was supposed to be supplanted by a faster, better implementation years ago, now has 10x less bugs.


Interested to hear your thoughts on Member with its self-sovereign identity, piggy backing on BCH's P2P network. Its not real time chat, but with some interface changes, it could be.

member.cash


Mozilla has been using Matrix for a few years. We migrated towards it from IRC to get encryption, logs, moderation, authentication, etc.

And it's better than pretty much any proprietary solution (including Slack) thanks to the ability to talk with people from outside the organization. Also, open-source doesn't hurt :)


I really hope Matrix to take off as The modern IRC alternative instead of proprietary solutions like Discord...The amount of open-source projects using Discord as a chat forum is too damn high. However, their "generic" naming of their apps doesn't help: Matrix, Element (seriously?)


Yes, this is really sad to see that much people in the OSS scene using nonfree ways to communicate.

At least, IRC had open-source servers and clients but in my opinion, it's too old nowadays.


OSS primarily uses a non-free way to host source code (GitHub), so it's not much different to use Discord.


So what if Github itself is not OSS? The technology behind is already open source and decentralized. You can switch to a Gitlab instance with just a few mouse clicks while also migrating your issues and pull requests.


I don't believe issues or pull requests are part of the Git repo. If there is a way to migrate them it would involve some GitHub API which could be shut down.


The commits in pull requests are part of the git repo, in that they can be fetched from the repo's remote. The comments are not.


as said; the issues are not part of the repo.

as much as many projects could use a clean slate here, i dont think the burden of migranting them manually or the act of just dumping them is realistic.


> So what if Github itself is not OSS? The technology behind is already open source…

So is much of the technology behind Discourse.[1]

[1] https://discord.com/open-source (click on "OS Libraries")


And it's sad to see.


There are at least a few different "OSS scenes" that have different priorities. More principled, idealistic developers fall under a different category than more pragmatic ones, so it should be no surprise that they use different tools.


Using non-Free tools has been shown to be distinctly non-pragmatic under a wide variety of considerations.

A better term would be something like "Tied programmers" or "Dependent progammers". Maybe "sharecropper progammers"?


"Sharecropper programmers" might be an accurate way of describing developers for Apple platforms, but that's not what is happening when people use GitHub and Discord to work on open-source software. They can easily move their Git hosting and chat to another platform—they just choose to use the popular, coincidentally non-OSS, platform for its pragmatism.

A large base of existing users, easy onboarding, and good visibility makes a big difference for many OSS projects. Using a self-hosted Git hosting system and mailing list is a lot of work—and it adds a not-insignificant barrier to entry for potential contributors. What issues exist with popular, proprietary Git and chat tools that make them unsuitable for OSS development?

What are some of the considerations you're thinking of where using a popular option is not pragmatic?


> nonfree ways to communicate

Does that include Hacker News?


It does, currently waiting to be either invited to lobsters or for the registrations to open again.


Check out federating reddit -like service lemmy.ml: https://dev.lemmy.ml/


> Yes, this is really sad to see that much people in the OSS scene using nonfree ways to communicate.

And the reasons are entirely understandable:

- you don't have to run your own infrastructure

- you don't have to run your own protections against fraudulent activity, DDOSes, bots etc.

- you don't have to worry about availability on any number of platforms, including mobile


free software as a hosted service is a thing.


It is a thing, is there enough of this thing? Is it free? Do these hosted services provide the infra and protection? Do these hosted services solve the issue of the dearth of clients for these services?

And if you look at hosted services like IRCCloud, it turns out they are not that different from Slack/Discord: closed source, for full range of capabilities you need to use their apps.


Sadly, they are a few years too late, it's going to be extremely hard to beat Discord now for anything that doesn't consider libre software and/ or privacy as critical.

And by the point when Discord is going to get complacent (probably in a decade or so), Matrix is likely to be seen as kind of obsolete (like XMPP is now).

(Not that I'm not going to use Matrix as much as I can...)


>Sadly, they are a few years too late, it's going to be extremely hard to beat Discord now for anything that doesn't consider libre software and/ or privacy as critical.

Can't we just wait till they run out of money for all the free services they are currently giving away ?

Next they will try to agressively monetize their user base, which will make people migrate to something else - ideally self hosted or federated & based on open protocols this time.


Their business model will increasingly be data. They will most likely start monitoring content to look for your preference of Doritos they can advertise you.

People won't abandon Discord until all your private chat/call logs are hacked and dumped. When that happens, only a fraction say 10-15% of the userbase will look for a permanent solution (i.e. something that has always-on E2EE). My guess is about 40% will change to another service with better track record, but that isn't architecturally any more secure (i.e. that's still TLS-only). The remaining 50% will stay on the service because 1) they don't care, 2) their peers don't care or, 3) because they consider the incident response and related PR good enough.

To get people to switch from discord you need something that's faster, that just works better, that fixes some issues faster than Discord staff can fix them, and that adds something the users didn't even know they needed, say, in-game HUD for discord that fits the theme of the game or something, more intuitive management like push-to-talk management commands for the client via secondary button.

As long as it's about decentralization (value/belief system stuff) or about privacy (It's just in-game talk I don't care), and not about helping the user focus on head-shots and kill-streaks, it's not going to be adopted.


Sure, this might not be enough to make gamers move to a more open solution, but might be enough of an impulse for some open source projects that moved to Discord out of convenience.


I remember people saying this about YouTube and Twitter. Yet it doesn't seem to have worked out despite both having several competent alternatives.


Yeah Discord is not going to go away anytime soon. If they ever start to actually struggle for money they'll just be bought up by some tech giant.


commercial content distribution platforms _will_ fall victim to copyright and censorship in general. its already underway and most progressive ideas have to be expressed elsewhere.


Just learned about Gab 'invading' Mastodon :

https://www.theverge.com/2019/7/12/20691957/mastodon-decentr...


Capitalism has no trouble accommodating / subverting progressive ideas. It's the conservative ideas that tend to be silenced.

EDIT : Also, interesting that the American right has moved from Twitter to not Mastodon, but to Parler instead :

https://news.ycombinator.com/item?id=25097145

I wonder why ? Mastodon presenting itself as being too left-wing ?

(Though make no mistake, a lot of the American right is 'conservative' only in name, and is instead wildly anti-conservative both in their speech as well as in their deeds.)


If Linux can beat Solaris/IRIX/HP-UX/AIX etc, so can Matrix beat Discord.


I'm sure you've thought about this, but haven't seen it said by anyone involved with matrix:

IP, the Internet Protocol, was originally created for connecting networks (inter-network) using other protocols together (IPX, AppleTalk etc.). Once everyone supported IP and their own protocol everyone started using IP and the other protocols fell out of use.

I'm hoping Matrix & bridging will have the same effect. Matrix used to bridge. Then matrix used with bridging declining until nobody needs to bridge.


Take my opinion with a pinch of salt but any projects that use Discord as their platform for anything (chat, support, whatever) are not worth a dime, or should not worth a dime.

I am pretty sure we all know Discord. Read the Privacy Policy, read the Terms of Service. See their business model. I mean, it is against everything I, as a FOSS developer stand for. Plus, one might say Discord is generic by now, but it still revolves around gaming quite a lot.


just joined it, I was looking for something like this. Hope it take off as The modern IRC too :)


and riot


I expended a significant amount of social capital getting my core friend group to use it, only for the client to start having all kinds of problems a bit before the (last) rebranding. Everyone eventually left. Good luck getting anyone to try something a second time.

I think the concept shows promise, the execution is OK, and I know how hard something like this can be but the project looks mismanaged. Multiple rebrandings, multiple organizations for different commercial and non commercial purposes, simple bugs that would be found with a cursory use of the tools before release, it's like the left hand doesn't know what the right hand is doing.

I still hold out hope that the project matures eventually.


At least for me, Matrix has not been a very good experience. It is very bare bones compared to programs like Discord and has been pretty glitchy in my experience with things like mentions not working reliably. My friends and I have instead set up a self-hosted Mattermost instance which has everything we wanted like self hosting for privacy, a great bot API, easy channel management with the ability to reply to specific messages, and it has a simple way to self-host file uploads. Mattermost is also much more performant even though both Mattermost and Element are Electron apps. Mattermost also just has a much nicer end user UX in our opinion.


There is a common thread with messenger apps where developers are too opinionated to a point where they refuse to deliver what most users actually want.

I understand Matrix is a work in progress and has some improvements over existing solutions like wonky encryption and federation but you're right, it's no Discord or Slack. This is what most people want. An open source free as in beer copy of Slack or Discord with mobile apps, push notifications, and API support. My company isn't dropping a paid Slack plan with hundreds of integrations for something that kind of works just because it's free. This stuff has to be polished to be taken seriously.

Just look at iMessage which has been around for 7 years. Even Google is too inept to realize that it's what Android users want. What the hell is wrong with them?


Developers gotta eat. Why should they make you a free cost clone of Slack?


>Matrix isn’t centralized to a single server.

Bullshit. the identity server has only one reference implementation. you can run your own but "This won't be very useful right now, though, and we don't recommend it." according to the faq. to date, matrix has no idea how to federate identity.

"The precise architecture of identity servers is currently in flux and subject to change as we work to fully decentralise them."

really? after six years theres no progress on it? matrix handles 9 million users but the web store hoodies and stickers were somehow a bigger priority.


I think the Matrix folks shoot themselves in the foot each time they mention identity servers and how they're "not decentralised yet" because it just leads to confusion and makes it sound like their architecture is half-baked. To their credit, they're being painfully honest but all the same I think it does more harm than good when explaining Matrix to technical people who aren't familiar with Matrix.

As others have mentioned, identity servers only exist to map third party identifiers like email addresses or phone numbers to MXIDs. Most people just use MXIDs to start chats (mine is @cyphar:cyphar.com -- it's no more complicated than an email address). It is a useful feature to have, but given that other chat systems don't even have such a system (you can't find someone's email address using just their phone number -- GMail might implement this but that's just as centralised as Matrix's identity servers) it seems pretty unreasonable to say that Matrix's claims of decentralisation are "bullshit".

People have been working to make this system decentralised but it's actually an unreasonably hard problem to prove to everyone else that you actually have verified someone else's email address or phone number. And to be honest, I'd prefer they'd spend their time polishing the actual chat UX instead of a feature most users won't even use (let alone redesigning it to provide guarantees that only a handful of users claim to care about).


I hate identity servers with a passion and wish we'd never created them in Matrix (and instead added an alternative later - e.g. per-room identity attestations), given the confusion and illfounded drama they cause. So frustrating.


For context, the identity service optionally maps email addresses and phone numbers to Matrix IDs. It is not an essential part of most Matrix workflows, and does not affect the protocol's fundamental decentralization. To wit, in several years of using Matrix -- personally, at Mozilla, and very recently as an Element employee -- I've not once interacted with the identity service.

It is very important for some workflows, and we certainly need to do work to meet your concerns, but it seems a bit much to call "bullshit" on the entire project for this particular optional case.


I see the only use of 3PIDs in a professional setting where people have to find co-workers using emails or internal phone numbers.

In my opinion, it is really useless for anyone else.


I've never used the feature on Matrix because as you say, it doesn't really apply. Matrix (or really Element here) doesn't require you to use an identity server at all, so I don't really think it invalidates the protocol in a meaningful way.


There actually has been work done on it, partially by me.

Unfortunately it's simply an unsolved problem to properly federate the 3pid mappings. The long and short of it is that you need to find some way to prove to other identity servers that you properly verified a 3pid. That's theoretically possible with e-mail and DKIM, except there are too many e-mail servers that don't implement it correctly.

For phone numbers it's even worse.

[edit] I forgot: There is a working implementation of federated identity servers for e-mail, but that requires you to run an identity server on the domain of the e-mail address that you're trying to add as 3pid. That means it works fine if you host your own e-mail but it doesn't work for the gmails and hotmails of this world.


You know that the identity server is not mandatory and is only useful in a professional setting right?

If you really want to, you can host it yourself.


without one clients will not be able to look up user IDs using 3PIDs, so its relatively important. hosting it yourself means having to email or message "us" in order to federate it.


So don't use a 3PID to add someone, use their MXID. It's a unique, global identifier and is similar enough to an email address.

There's also a Matrix URI specification in the works (https://github.com/matrix-org/matrix-doc/pull/2312). Once that lands, we should start seeing support for Matrix URIs in applications. This will allow applications to also start recognising MXIDs and converting them into working links, which will in turn help with people's recognition of the MXID.


I've been using Matrix for three years I believe and I can't remember a single time when I needed to use 3PIDs.


does matrix store anything in the server or is this really p2p? can this be a good replacement for say, telegram?


> Bullshit

That's quite a harsh statement.

Are you saying that just because there's a centralised optional service for mapping Matrix IDs to phone numbers means that Matrix itself is centralised?


does a client such element store anything in a server or it's really P2P?


Matrix isn't peer-to-peer, it's federated. Messages are stored on "homeservers", which is similar in concept to an email server except it's much easier to host your own Matrix homeserver. Only the homeservers which have involved in a chatroom ever see a copy of the message. For private chatrooms, everything is E2E encrypted by default so the homeservers don't have access to the plaintext of your messages.


Current implementation uses a server, though you can fairly easily host your own, or find another server to your liking.

There is significant work being done to get matrix working p2p too, though. There is a demo of it, but it's not production ready. See https://p2p.riot.im/


It's (currently) not P2P, it's federated.


That's right. And the community replies with a smug "you can set it up yourself".

And yet setting a full Matrix stack requires days of work and endless maintenance.

I'd rather use Briar or even Signal.


> And yet setting a full Matrix stack requires days of work and endless maintenance.

This is not true. People, don't let this FUD scare you.

My home server has been running for more than a year, was easy to setup (reading documentation took the most time) and takes little maintenance. Just apt update && apt upgrade.

Edit: and even if reading the documentation takes you 'days of work', you can follow a video of the server being setup in 30 minutes, including a jitsi instance for video conferencing: https://matrix.org/blog/2020/04/06/running-your-own-secure-c...


The last time I looked into it - it required:

- buy a VM

- buy a domain

- configure DNS

- apt-get install

- fiddle with SSL certificates

- debug out a memory leak bug

- ask upstream and be told to use an unstable alpha release

- implement a workaround

- start investigating bridges for IRC, Slack, Telegram

- give up

In 2020 we should expect something like Briar:

- install Briar on your ws / phone. There is are no servers. Done.


Well you must have has a real bad experience. That's unfortunate indeed and I understand your frustration.

It is not representative though. You do need a server and a domain name, but that isn't out of place when hosting internet based services like a chat server.


The technology to run a low bandwidth protocol over onion services has been around for 10+ years.

That avoids most of the need for domain, DNS configuration, SSL and SSL certificates.

A centralized chat server e.g. IRC runs on a raspberry.

Briar, as I said, runs without servers and provides also blogs and forums.



I recently created a Matrix channel for my open-source project. It's really quite good. They need to work on the threading (I prefer Slack's model), but really it's 90% as good as Slack for my use case of an OSS community.


I know it’s bike-shedding at this point but I really dislike slacks threads.

I would highly recommend looking at Zulip and telling me what you think. a good example of Zulip in action is the Rust communities Zulip instance.

rust-lang.zulipchat.com


I much prefer Zulip's thread model to Slack's (it it bolt-on and poorly done: threads have no titles, they get lost in history as there is no way to list threads, and they are optional so people only use them some times), but I prefer Slack's UI to Zulip: in Zulip everything feels a bit 'tight' and too close together. Also the big outline box for keyboard navigation is distracting to me.

Seems like an interesting study in developer-driven design: in Zulip the mental model is much better, but the appearance of the UI isn't as nice.


Zulip cannot be read without signing up. That's very annoying.


It is a feature that's currently being worked on actively. You can follow the work here: https://github.com/zulip/zulip/pull/16131


There is some ongoing work on threading https://github.com/vector-im/element-web/issues/2349

Apparently it's already in the protocol, just needs UI support from the clients. Not sure if they use Slack model though


There are two threads (heh) of work on threading in Matrix - one is label-based threading like Zulip: https://github.com/matrix-org/matrix-doc/pull/2326, which is implemented today in Synapse but isn't exposed by any(?) clients. The other is full HN/Reddit/Twitter/FB style threading, as per https://github.com/matrix-org/matrix-doc/pull/2836/files, which has been implemented at https://github.com/matrix-org/cerulean and if successful will get fast-tracked into Element. Quite what the UX will be is unclear, but it's unlikely to be Slack/MM/Gitter-style.


Oh thanks for the info! Even better, I'm not a big fan of Slack threads anyway :)


Until a big "client" (e.g. Telegram, Signal, WhatsApp,...) switches over to a Matrix backend it's pretty much 1-1 with Element (https://matrix.org/clients/)

When that does happen, I'm there I'd love to delete the plethora of chat apps I have to maintain for a client that works well for my tastes.

I just don't see what would motivate the incumbents to jump to Matrix?


My company uses Matrix for internal collaboration. We use Element. It is quite good. Element is quite buggy tho.

I still don't get what is the maximum storage we can use, is it unlimited?


It is defined by the instance's admin generally.

Try to ask your IT guy, maybe he'll know more about this!


I recently watched the social dilemma from netflix, they touched the serious matters and presented well but what disappointed me was the lack of awareness about these alternatives. It would have been of great help if they provided references to projects like matrix and fediverse.


I can't recommend Matrix/Element to the dozen chat instances I follow until the absence of threads is fixed: https://github.com/vector-im/element-web/issues/2349#issue-c...


You may be interested in https://github.com/matrix-org/matrix-doc/blob/kegan/msc/thre... and https://github.com/matrix-org/cerulean then, which if successful will come over to Element soon enough.


One thing that slightly bothers me is how Matrix is so high up the network level :

> The Matrix standard specifies RESTful HTTP APIs for securely transmitting and replicating JSON data between Matrix-capable clients, servers and services.

It seems like a waste to try to push everything through HTTP, just because it's not being blocked (yet) by firewalls that software users might have no control over.

Especially when overwhelming IPv6 adoption seems to be finally just around the corner (with Europe having ran out of IPv4 addresses, and a lot of people, especially in Asia, never having had one in the first place), IPv6 which has a quite different approach to security than IPv4.

But of course "just around the corner" is also "not really here yet"...

Anyone has any idea what kind of performance improvements one gets with RTSP/UDP, especially for video ?


Matrix is currently using JSON+HTTP because it was the easiest to start with, but it's not something that the protocol actually depends on. Matrix is more of an RPC system, so the important part is the definition of the methods and the message. You could use any other transport and framing protocol... As they have actually done in experiments (see https://matrix.org/blog/2019/03/12/breaking-the-100-bps-barr...)

The thing is, with widespread high bandwidth internet and little funding they have to have priorities and while minimizing the number of bytes sounds interesting, it probably isn't more important than say smoothing out the user first experience


Thanks, 100 bps is amazing !

> with widespread high bandwidth internet

Well, not everywhere in the world. But this kind of compatibility is the best of both options !


Indeed, definitely not everywhere in the world. But they're probably prioritizing the crowd that at least has access to a few hundreds of kbps, because they're the one who have the most chance to bring any money.


IMHO the problem with Matrix is federation. I think adoption would be far better if there was just a single, open source, global, decentralized Matrix network. Users don't want to have to run their own servers and have to figure out which network of servers to join. If a user downloads a client app to their phone they expect to be able to then connect to THE network.

As long as the code is open source, then there is always an out to create a new network, but why do that before it is actually necessary? (Basically federation is just a form of premature optimization) Communication networks should be like git repos. We should all be working in the same repo, but if sh*t hits the fan, then fork it and carry on with business.


Sounds like you might be interested in https://matrix.org/blog/2020/06/02/introducing-p-2-p-matrix then.


Another one is to make it easy to integrate with existing communities. Communities that currently use slack channels, discord channels etc as chat solutions for their websites could switch to use matrix homeservers authenticating with their own user base. It would create a positive feedback loop for adoption, i 'd definitely use it.


I'm disappointed XMPP was not adequately improved, and instead everything has been re-written and re-designed.

XMPP is an IETF spec. Is Matrix?


Matrix isn't an IETF spec, and nor was XMPP until 2011 - 13 years after XMPP/Jabber was created. Matrix is 6 years old.

Meanwhile, https://matrix.org/foundation is effectively its own standards body, and once Matrix is more mature I hope it'll end up being ratified by IETF or similar too.

In terms of "XMPP not being adequately improved" - XMPP is a very different proposition to Matrix. Matrix is all about replicating conversation history around the place. XMPP is message passing and pubsub.


It's extension story was fragmented, and there wasn't enough of a consensus (different actors had very different use cases) to pull it back together.

Chat needs a stronger guiding body to keep it corralled. It's too easy and tempting to extend in incompatible ways.


Well it isn't like XMPP has died or something. There are hundreds of servers and lots of clients. Having the Matrix project doesn't take away from that in any way. If Matrix becomes popular then it could supersede XMPP which is OK.

Right now it is federated vs everything else really. There is no reason to think that Matrix is suddenly going to be used by regular people where XMPP was not. The bigger issue here can't be solved by purely technical means.


XMPP has made huge improvements in the last few years. Ejabberd supports most XEPs you could wish for. Gajim on Desktop, Conversations on Android and Monal on iOS make use of those new features.


Matrix is not.


The sad irony is that the Matrix protocol was sold as a much simpler alternative to the bloated XMPP...

...and now it's bloated as well.


There's a project to build a clean, Rust implementation of Matrix called Conduit.

https://conduit.rs

So far it seems pretty active.


One silly little thing that has turned my users away in the past (I don't know if it's still the case) was the difficulty to give them a URL preloaded to connect to another homeserver when using riot/element. Constantly having to click to show the homeserver field and then filling it in was annoying and added friction to the process.


Ugh, we had this and it got lost and needs to be re-added - please upvote https://github.com/vector-im/element-web/issues/5469. I've bumped the priority on it.


What happens if the homeserver I created my account on goes offline?


I went to try and download matrix just now. Did it rename itself to riot or element? Are there multiple apps? Is it encrypted? It’s a little confusing


Matrix is a protocol. Riot is the old name of the flagship apps built on the Matrix protocol by the core team. Element is the new name.


Matrix is the backend, Element (formerly named Riot) is a frontend.


Almost: Matrix is the protocol, Synapse is the preferred backend


matrix synapse is missing basic administrative functions and you're left to some random scripts in contrib to attempt to manage your homeserver. apparently leaving the server to grow unbounded is an acceptable default and i hate it

this is not to mention that there is one usable client, element and its buggy on all platforms


The admin APIs are at https://github.com/matrix-org/synapse/tree/develop/docs/admi... and are fairly comprehensive. Agreed it's a screw-up that we don't provide an official web UI for it (but https://github.com/Awesome-Technologies/synapse-admin is pretty good).

I have no idea why you think it'd be acceptable for your server to randomly delete old messages from under you by default - I'd go nuts if my IMAP server or filesystem decided to spontaneously expire old data by default.

However, it's easy enough to flip the bit in the config to do so: https://github.com/matrix-org/synapse/blob/ca2db5dd0c9fc430a.... If this is something that makes you hateful, I'm not sure it's Matrix's problem.

In terms of Element: yes, software has bugs, and we're working through them. weechat-matrix is very usable too, as is FluffyChat and a bunch of others.


> I have no idea why you think it'd be acceptable for your server to randomly delete old messages from under you by default [...]

IRC's discourse model is asynchronous and ephemeral, so if someone found IRC is enough then one will of course do expect messages to be ephemeral in any IRC replacements. Pretty sure that this is not a majority opinion, but this might be one reason.


While Matrix definitely tries to appeal to IRC users, it's absolutely not just a IRC replacement. It's been a conscious decision from Day 1 that history is important given that the default for any messaging system today is to store history. Honestly it feels like a massive improvement over the days of bouncers and logs hosted in the cloud.

That all being said, there are ways to make your rooms drop history if you wish through the config (and I believe it can be configured per room too).


Yes, that's a popular opinion that I do share (though more accurately, I occasionally want the ephemeral conversation that lasts not too long). But "I have no idea why" would be a stretch, hence the reply.


further IRC etc did not host the media files directly.

I mean, if synapse got actually working blob storage (S3, etc) support for media, that would make it a far less balooning problem. There is some option there for it and it all ends up on disk still so I assume its a backup strategy


You might be interested in https://github.com/matrix-org/synapse-s3-storage-provider, which provides S3 storage options for Synapse.

I personally run https://github.com/turt2live/matrix-media-repo/ which is basically a media server written in Go which has lots of bells and whistles for rentention, storage platforms and scaling.


i have and it leaves all media on the hard drive still



How can i integrate an existing user base with a matrix homeserver?


https://github.com/matrix-org/matrix-appservice-bridge/blob/... gives an idea. We'll publish a big blogpost shortly to demonstrate how we've done it for Gitter once that launches too.


How do join a server though? That are always full and require invite. Matrix is one of the least welcoming chat communities, imho.


You need to change the homeserver url to another one. There is a list here https://www.hello-matrix.net/public_servers.php

Also what do you mean by "That are always full and require invite" ?


That list is unfortunately no longer maintained and quite outdated. https://publiclist.anchel.nl/ might be better.


Thank you both for highlighting my point.


Join fossnode, it’s free and open!


matrix.org still accepts new members.


> Matrix is 100% open-source.

It's still astonishing to me that people think that open source somehow has any bearing on the issue of:

> Nobody can say what the server is doing nor what it is harvesting which could be very dangerous.

Thats still true, whether its running open source software or not. You cannot inspect the running code on a server, except, now you have to trust a whole federated mob of servers.


As someone who doesn't know much about it, would a malicious homeserver have any way to break the end to end encryption, save for putting massive amounts of men in the middle between each conversation which would be busted the second anyone decides to compare public keys?


Clients always need a way to re-negotiate keys in case one user decides to switch to new device and not import keys.

The problem is, say a MITM attack really happens. What is the user going to do? Will they assume it's a bug, will they press "accept" blindly without checking the fingerprints? Will they contact The Intercept to reveal MITM attacks are taking place? Will the press take their claims seriously? Will anyone on the internet drowning in misinformation, disinformation really care?

Then there's the key exfiltration problem. Snowden was very vocal about it at the beginning of the leaks. The NSA goes around E2EE by hacking endpoints and stealing keys. That's not a reason not to use E2EE of course, there are simply more threats with less capabilities but still, threats that are insane amounts of less risk-averse, who won't give two shits about e.g. abusing plaintext data exfiltrated from the server. My point is if you have to deal with risks such as MITM you're probably dealing with adversaries willing to infect your endpoint as well, so you might not detect MITM attacks. For that you need better endpoint security architecture with some guarantees against key/pt exfiltration.


With some important caveats, this situation is what remote attestation / SGX secure enclaves are hoping to improve.

https://signal.org/blog/private-contact-discovery/


The solution is to get rid of the servers, as per https://matrix.org/blog/2020/06/02/introducing-p-2-p-matrix.


Serverless architecture in many cases leaks the IP-address to the opposing party (without by-default anonymization via Tor). Cryptography is just math, nothing magical happens when p2p is applied, there's still a MITM risk, but there's no scalability issue in compromised IX-routers doing MITM against p2p system users, when compared to compromised Matrix servers doing MITM on mass scale. Less packet filtering but nation state adversaries don't exactly throw in the towel when they need to filter packets by protocol.


XMPP failed - so will, sadly, Matrix. Why? Because it's impossible to make people move from whatever they are using at the moment.

Plus setting up your own federated Matrix is bloody hard, especially if you want it with the key and the identity servers. Running Prosody, and XMPP server is a breeze compared to it.

ICQ vanished when MSN got distributed with Windows (at least in Hungary it did), Whatsapp ate the mobile world in a blink of an eye.

What we really need is a cross platform, sync between your clients, multi-platform, new Pidgin.


Is it really that hard? I recorded a video of doing it (including jitsi) from scratch in 20 minutes a few months ago: https://matrix.org/blog/2020/04/06/running-your-own-secure-c....


Yes. I've found that maintaining synapse is a nightmare. Overall I like matrix, but I have rage quit running it multiple times over the years.

I have a 256mb vps. It is running inspircd, atheme, znc, bitlbee, ejabberd, mumble, biboumi, and xmpp.js. Plus some non-communication stuff. I ssh in maybe once a year? I have to actively remember to go check on it because it never gives me problems.

I have a 2gb vps that runs synapse. There is always something wrong. Using all of my cpu. Using all of my ram. Using a ton of network. Generally slowing down everything else on the vps. Sometimes synapse crashes or doesn't come back up after an update or reboot. I gave up trying to dig through the gigabytes of log files that are produced. Why am I out of disk space? There is a 25gb table in postgresql for synapse that is... I dunno typing events or something. Don't worry though there is an api endpoint that might fix it. Good luck. I have 5 users.

A year (maybe 2) ago I gave up on federation and I'm just running synapse with sqlite. There are a lot less but not zero problems.

I've actually considered the idea of trying to set up bifrost to log into my xmpp server to use biboumi to connect to bitlbee running purple-matrix so I can join the matrix and synapse rooms on the matrix.org server using my matrix.org account. That fact that I've even thought that is insane. As crazy as it sounds I really do (sorta) actually believe that it might be more stable for me.


Synapse certainly used to be nightmarish. But since we exited beta last year and have done nothing but perf & maintainability it's improved loads - c.f. https://matrix.org/blog/2020/11/03/how-we-fixed-synapses-sca... etc.

My personal server sits at around 1.8GB RSZ with postgres, which is about right for a poweruser personal server. Unfortunately a 2GB VPS is still unlikely to hack it if you're federating. Meanwhile Dendrite uses ~10x less RAM, but is still beta.


It can be.

I love Matrix and use it every day on a self-hosted server. But it took me at least 3-4 attempts before I got the setup working in Docker (at the time, the Docker documentation was substantially behind).

Once I got it working, some aspects are still pretty janky/I don't understand them. (Generating a homeserver.yaml file was a nightmare, hosting on one domain but addressing at another (chat.foo.bar but with COGlory@foo.bar as my user).

Getting federation working was another nightmare. Hours upon hours of trying to debug why it wasn't working, what ports weren't communicating properly, etc.

Trying to get jitsi working and/or a TURN server has also been impossible to the point where I've given up.

In fairness, I'm not a super tech savvy user - I've taken one programming class in my life, and at the time, was hosting everything off of an MSI Cubi.


... on Ubuntu with pre-built repos.

And no, the default install is never that hard, not even on FreeBSD. But then, on it's own, Matrix is just yet another chat system, which I really don't need - what I would need are the bridges. And setting up the bridges are horrible.


The need to setup bridges negates the privacy benefits, it breaks the opportunistic E2EE when copies of all messages are sent to e.g. Telegram servers that stores them effectively in plaintext. When the main goal is to invite people to some platform, bridges are a shortcut to allow some people to join, but until everyone joins and the bridge can be removed, there's no improvement.

Interestingly, people don't really consider the privacy aspect. Average users claim they don't want another messaging app, but somehow they find the willpower to jump from facebook to instagram to snapchat to tiktok to wine to telegram to periscope to kik.

My peers use have an inside joke of "stickers > human rights" which describes what motivates people. Matrix or be it any other client, needs an exclusive throw-in feature that appeals to masses, basically something that combines sharing everything like they used to on social media, something that feeds their narcissism (likes etc.), and something that's fun (think tiktok videos). Signal doesn't have it, at least yet. Matrix most certainly doesn't have it. Telegram has some of it.

The usability needs to be intuitive and thought thoroughly, and it needs to make managing (social) life easier. We've already seen this with personal could in e.g. Signal's "note to self", or Telegram's polls -feature (I'm hesitant to consider it a feature since it's inherently non-private method to share opinions to Telegram developers about something: group chats are never E2EE).

My perception of Matrix is that it fails to deliver the stuff listed above, as well as life management, ease of use, moving responsibility of hosting to some trusted peer, and even security agility and default security feel off. The only thing that makes Matrix stand out is the ideological "decentralization means no individual has control over communication" which doesn't resonate with privacy-minded users who care about E2EE-by-default-for-everything, nor to average users who don't hesitate for a second to jump from TikTok to FlobbordSocial that allows them to share videos of their Plumbus X if it gives them social acceptance and likes, i.e. dopamine spikes. These people consider apps fads that come and go, they don't really consider long-term availability because they're always looking for the new shiny thing to fill their internal void. They know they can always call/text/whatsapp their friends if Flobbord suddenly seizes to exist.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: