I'm pleasantly surprised! They took the route of "promising but underdeveloped technology" rather than settling for a well-developed solution that compromises their principles (which, frankly, I wouldn't have faulted them for; at the end of the day you still have to get work done). With luck maybe we'll see Mozilla contribute to Matrix? There is, after all, an implementation written in Rust: https://github.com/ruma
So after testing matrix and riot with friends for a couple of months, there're still a ton of work to be done. We all used the most common setup - matrix.org homeserver, riot and riotX as apps. (Also please don't point me to dev version, I am only considering what's in stable.) Random stuff not in particular order:
1a) e2e is a choice that affects experience in riot, a lot - you can't use search, you don't see recent images/files ...
1b) you have to verify each others devices, N:M; although they're working on a change
2) I hoped that riotX will be a lot better at the end of this year, but there're still lots of bugs, messages get stuck at the bottom, mobile - mobile e2e can't be decrypted sometimes, you have to have another device online; and you can't even zoom in or save an image that's sent to you which is infuriating
3) matrix.org homeserver performance, although a lot better now is still sometimes utterly slow
4) riot is still missing crucial functions like copy entire message, online status, jump to date, and lacking any good notification system(the current one is really simple/stupid) and you can't even enable notifications without sound e.g.
4) also it's still lacking custom emote support although many ppl asked, there's no option to pin/save messages...
1a/1b and 2 is where all our work is going currently. We're trying to get E2E on by default in Jan, and likewise exit beta for RiotX/Android around the same time. We're going as fast as we can.
3: Matrix.org homeserver performance should be absolutely fine now. Delays when doing things like joining big rooms are unrelated to the hardware, but perf optimisations we need to do to synapse in general. They're on the radar.
4: This is literally the first time i've heard an ask for 'copy entire message'. The other features exist in labs, and yes, we need to fix notifs and add custom emoji. "Many people asking" doesn't magically produce features unfortunately, especially when we are battling points 1 & 2. Contributions help though. Thanks for testing though.
2) could be partially solved by backing up all of your keys from all devices. After that, non-decryptable messages decreased about 95%.
Ironically, backing up your keys is done by recovering your keys from a backup – Settings → Cryptography Keys Management → Encrypted Messages Recovery → Restore from backup.
(Web version: Settings → Security and Privacy → Key Backup → Restore from Backup)
You can verify that you set it up properly by checking if the backups are signed by all your currently used devices (and possibly old ones, too).
3) can be mitigated by using workers. You'll need a beefy server, but message transfer and synchronisation will be super fast.
The other things you mentioned are works in progress and I think the progress is outlined pretty transparently on Github, even if some people disagree with how the Matrix team is handling things.
This is really good news. I have only one question for Mozilla: why choose a solution whose hallmark is decentralization and the libre model- only to become a customer of a centralized host (modular.im). Why can't Mozilla actually federate? That's a step backward from your IRCd in my opinion.
I hope Mozilla gets onboard with everyone else running their own Synapse, hacks on it, and pay their dues with patches, rather than with their cash.
They are using a hosted provider, run by the makers of Matrix themselves. This lets them get the benefits of federation while making the hosting someone else's problem.
Of course, we all want to see Mozilla bootstrap their own Matrix instance, but maybe the cost/benefit equation worked out differently for them than we would have expected. I can imagine this lets them replace IRC with a better solution faster while still supporting the development of an open standard by becoming a client of the company that's developing it.
Does this forebode something more sinister? I hope not...
If Mozilla will use their own domain name they will be free to move their federated Matrix instance wherever they want. Modular.im will only provide the hosting expertise. I expect that in the future self-hosting your own Matrix server instance will become much easier.
Assuming the purpose of the messaging system selected is to help Mozilla's community work together on Mozilla projects, what benefit of 'decentralization' do you think would improve their ability to work together effectively?
Matrix servers are kinda a pain in the ass to get up-and-running and to manage versus, say, XMPP or IRC. Especially if you can't get away with just running someone else's pre-built docker images for it, or whatever.
Can you tell me more about the modular.im behaviour/policy towards federation? Is it explicitly turned off?
Also, IRC has federation too by having multiple servers in a network. IIRC Mozilla hadn't allowed you to do this for moznet did they? So how is this different?
Nice, given how the discussions were going some months ago I was worried that they would pick some closed source solution like Discord or Slack. I have not used Matrix so I do not know how good it is, but I do not like the lock-in of Discord and Slack.
Agreed, this is a huge relief. I was getting quite worried that Mozilla would go to Discord, like Rust and other projects have done. I don't know anything about Matrix, but I know it's free, and if it has Mozilla's endorsement, now I'm actually curious to try it... maybe even via an IRC bridge!
The official successor to Synapse homeserver is Dendrite written in Go (https://github.com/matrix-org/dendrite). There is homeserver project in Rust called Ruma (https://github.com/ruma/ruma). Ruma was waiting for async/await to stabilize. But it doesn't seem to have much activity even after that.
New Vector (https://www.vector.im/) is hiring more designers to come work fulltime on Riot’s UI and UX as they shift Riot’s focus from being developer-led to design-led.
Seriously, I feel like it’s such an indictment on native app tool development that we have a bazillion new electron apps written by ppl all the time for weekend projects yet almost no one spitting out native apps to interface with services.
It’s clearly in demand (if a bit of a niche kind of demand)
Has anyone had experience with both Matrix and Mattermost? What are the main differences between the two?
Apropos of nothing, currently I am running:
* Signal
* Wife
* Family
* Google Hangouts (web)
* Friends and ex-coworkers
* Slack
* Vendor A
* Vendor B
* Team C
* Team D
* Keybase
* Some friends
* SMS
* My Stepdaughter
* Skype
* Coworkers too stubborn to open Mattermost or change what they do
* Mattermost
* Coworkers
* Various teams and groups
* Remote Desktop
* Microsoft Teams
* My team
* Client coworkers
* Other teams at client
* Microsoft Skype for Business
* Chats from people who don't use MS Teams
* Meetings
* Gitter
* Spacemacs chat
* IRC (web)
* Various random channels
Out of all of those, only SMS isn't on my macbook, and I'm sure I could put it on there if I wanted to.
Mattermost is currently a better UX with a more stable codebase, but I suspect that the Matrix/Riot federated model will one day overtake Mattermost.
Personally I use Mattermost at work and Matrix/Riot for personal chat. If Matrix/Riot began to overtake Mattermost in terms of UX, we would probably replace Mattermost with Matrix/Riot at work.
You've just described my nightmare scenario. I'm currently experiencing "Messaging app fatigue" and I'm not using even a quarter of the apps that you are.
I use SMS, Slack, Discord, Skype, IRC, Google Hangouts, Facebook Messenger and WhatsApp, so you have me beat by 3. :) It would be amazing of Matrix and its bridges got good enough so I could reduce this number a bit.
the first image is Riot circa 2015 (back when it was called Vector). You can run it if you really want from https://riots.im.
Tchap meanwhile is opensource at https://github.com/dinsic-pim and there are unofficial builds which let you use it as a general purpose Matrix client.
However, we're busy improving Riot's UX in general to make it easier to grip - on Mobile that ends up being a rewrite (RiotX), on Web we're iterating incrementally.
Not really: anyone can run an IRC bridge, and many people do. The #mozilla_#wherever:matrix.org namespace is the preexisting moznet bridge run by Matrix.org (not Riot.im), but anyone with their own server could also run their own bridge, much like they could run their own bouncer today. There is then additional decentralisation from the fact that the room history is replicated throughout all the participating Matrix servers.
I'm curious, what's wrong with IRC? Is it too old? Too difficult to monitor and moderate? Too easy to spam? I don't understand.
I've never really understood why mozilla chose their own servers and not freenode. I've never really grasped the whole history of enet vs freenode either.
Mozilla has said they thought it was too difficult to monitor and moderate. Could that have been solved by moving to Freenode? Probably, but there are other issues with IRC.
Having to run your own IRC bouncer increases the barrier of entry, as does nickserv based auth. Modern people also expect to be able to seamlessly post images, large code examples, files, etc. Some people also want support for threaded conversations. None of this is offered by the typical IRC setup which Mozilla probably thinks that it scares away users. I do not think Matrix solves all of these yet, but it solves some of them.
How is the feature parity with newer alternatives? Can I share my screen with someone easily? Can I post a screenshot? Can I be sure every client shows the screenshot properly? Will it handle an animated screenshot?
I wouldn’t want to use one tool for typing text and another for calling a third for sharing files and a fourth for sharing a screen and so on.
For example: Sharing an image as a link isn’t really an acceptable UX these days I think.
A lot of younger developers consider IRC limited and crusty. They are more easily attracted to platforms they've grown used to that behave similar to discord, teams, and slack.
I'm unaware of a hacker news matrix channel (perhaps others can enlighten me), but joining the Matrix HQ channel (https://riot.im/app/#/room/#matrix:matrix.org) is a good place to learn more about Matrix.
Any one knows the progress of dendrite? Have not used matrix/riot for a while. It was too heavy to run awhile back. Hopefully they make the client and server more light weight.
Are you guys planning "private communities" usecases ?
When I last evaluated Riot, it was vehemently public...so Slack/Mattermost like usecases were very hard to do.
Ideally a private community should be possible, where users invited to that community have access to all channels. however within the community, I should have private channels restricted to only few invited users.
I was told that the only possible way to do this was make all channels of a community private ..and when adding a new user, you should explicitly invite to every single one of the channels. This is not viable for an org.
I really hope this means more development and focus on building great mobile apps for Matrix. For the past four months the Riot Android app has had this bug where login state expires after a day and the app gets stuck in an infinite loop trying to refresh the token. Supposedly a fix was merged [1], but after four months of not being able to use Riot (and thus Matrix) my friend group has fallen back to Discord.
Are there any other projects using this setup? Also, any write up on the compelling reasons to switch? Are they hoping this move will attract more contributors? Article is unclear.
I'm confused. Is Matrix actually synchronous or asynchronous? The Matrix FAQ (https://matrix.org/faq/#what-is-a-homeserver%3F) makes it sound like it can be asynchronous. Otherwise, why store communication history at all?
[+] [-] kibwen|6 years ago|reply
[+] [-] est31|6 years ago|reply
[+] [-] lousken|6 years ago|reply
1a) e2e is a choice that affects experience in riot, a lot - you can't use search, you don't see recent images/files ...
1b) you have to verify each others devices, N:M; although they're working on a change
2) I hoped that riotX will be a lot better at the end of this year, but there're still lots of bugs, messages get stuck at the bottom, mobile - mobile e2e can't be decrypted sometimes, you have to have another device online; and you can't even zoom in or save an image that's sent to you which is infuriating
3) matrix.org homeserver performance, although a lot better now is still sometimes utterly slow
4) riot is still missing crucial functions like copy entire message, online status, jump to date, and lacking any good notification system(the current one is really simple/stupid) and you can't even enable notifications without sound e.g.
4) also it's still lacking custom emote support although many ppl asked, there's no option to pin/save messages...
[+] [-] Arathorn|6 years ago|reply
3: Matrix.org homeserver performance should be absolutely fine now. Delays when doing things like joining big rooms are unrelated to the hardware, but perf optimisations we need to do to synapse in general. They're on the radar.
4: This is literally the first time i've heard an ask for 'copy entire message'. The other features exist in labs, and yes, we need to fix notifs and add custom emoji. "Many people asking" doesn't magically produce features unfortunately, especially when we are battling points 1 & 2. Contributions help though. Thanks for testing though.
[+] [-] phre4k|6 years ago|reply
Ironically, backing up your keys is done by recovering your keys from a backup – Settings → Cryptography Keys Management → Encrypted Messages Recovery → Restore from backup.
(Web version: Settings → Security and Privacy → Key Backup → Restore from Backup)
You can verify that you set it up properly by checking if the backups are signed by all your currently used devices (and possibly old ones, too).
3) can be mitigated by using workers. You'll need a beefy server, but message transfer and synchronisation will be super fast.
The other things you mentioned are works in progress and I think the progress is outlined pretty transparently on Github, even if some people disagree with how the Matrix team is handling things.
[+] [-] jasonzemos|6 years ago|reply
I hope Mozilla gets onboard with everyone else running their own Synapse, hacks on it, and pay their dues with patches, rather than with their cash.
[+] [-] basilgohar|6 years ago|reply
Of course, we all want to see Mozilla bootstrap their own Matrix instance, but maybe the cost/benefit equation worked out differently for them than we would have expected. I can imagine this lets them replace IRC with a better solution faster while still supporting the development of an open standard by becoming a client of the company that's developing it.
Does this forebode something more sinister? I hope not...
[+] [-] lifty|6 years ago|reply
[+] [-] floatingatoll|6 years ago|reply
[+] [-] gtirloni|6 years ago|reply
[+] [-] shantly|6 years ago|reply
[+] [-] est31|6 years ago|reply
Also, IRC has federation too by having multiple servers in a network. IIRC Mozilla hadn't allowed you to do this for moznet did they? So how is this different?
[+] [-] MR4D|6 years ago|reply
Might as well ask, right?
[+] [-] jeltz|6 years ago|reply
[+] [-] jordigh|6 years ago|reply
[+] [-] mehhh|6 years ago|reply
[+] [-] sandGorgon|6 years ago|reply
I'm hoping with Mozilla's backing the product, there's a lot of features that get built out.
There's no reason this cant be a Slack-beating product now.
I'm betting a Rust based homeserver replacing Synapse.
[+] [-] sreevisakh|6 years ago|reply
[+] [-] shd4|6 years ago|reply
That's great news!
https://apply.workable.com/new-vector/j/6CB817C79E/
[+] [-] Ardon|6 years ago|reply
[+] [-] xfalcox|6 years ago|reply
[+] [-] rtpg|6 years ago|reply
It’s clearly in demand (if a bit of a niche kind of demand)
[+] [-] unknown|6 years ago|reply
[deleted]
[+] [-] bloopernova|6 years ago|reply
Apropos of nothing, currently I am running:
Out of all of those, only SMS isn't on my macbook, and I'm sure I could put it on there if I wanted to.[+] [-] kethinov|6 years ago|reply
Personally I use Mattermost at work and Matrix/Riot for personal chat. If Matrix/Riot began to overtake Mattermost in terms of UX, we would probably replace Mattermost with Matrix/Riot at work.
[+] [-] ajxs|6 years ago|reply
[+] [-] __d|6 years ago|reply
Sadly, it doesn't work with iMessage, nor Signal.
I just wish it was a native app, although I appreciate that'd make the effort involved 100x more.
[+] [-] pabs3|6 years ago|reply
https://telepathy.freedesktop.org/
[+] [-] jeltz|6 years ago|reply
[+] [-] johnchristopher|6 years ago|reply
Are those clients ever going to be released to the general public ?
[+] [-] Arathorn|6 years ago|reply
Tchap meanwhile is opensource at https://github.com/dinsic-pim and there are unofficial builds which let you use it as a general purpose Matrix client.
However, we're busy improving Riot's UX in general to make it easier to grip - on Mobile that ends up being a rewrite (RiotX), on Web we're iterating incrementally.
[+] [-] driminicus|6 years ago|reply
[+] [-] superkuh|6 years ago|reply
No. In theory it is, but in practice it's a big centralized IRC bouncer in the sky where everyone is reliant on riot.im servers.
[+] [-] Arathorn|6 years ago|reply
[+] [-] jokoon|6 years ago|reply
I've never really understood why mozilla chose their own servers and not freenode. I've never really grasped the whole history of enet vs freenode either.
[+] [-] jeltz|6 years ago|reply
Having to run your own IRC bouncer increases the barrier of entry, as does nickserv based auth. Modern people also expect to be able to seamlessly post images, large code examples, files, etc. Some people also want support for threaded conversations. None of this is offered by the typical IRC setup which Mozilla probably thinks that it scares away users. I do not think Matrix solves all of these yet, but it solves some of them.
[+] [-] steveklabnik|6 years ago|reply
[+] [-] alkonaut|6 years ago|reply
I wouldn’t want to use one tool for typing text and another for calling a third for sharing files and a fourth for sharing a screen and so on.
For example: Sharing an image as a link isn’t really an acceptable UX these days I think.
[+] [-] stjohnswarts|6 years ago|reply
[+] [-] bsder|6 years ago|reply
It seems that the most significant complaint is bad mobile experience.
[+] [-] vkaku|6 years ago|reply
[+] [-] WimLeers|6 years ago|reply
See https://ircv3.net/.
An example: https://blog.irccloud.com/slack-integration/
[+] [-] davidw|6 years ago|reply
[+] [-] neiljohnson|6 years ago|reply
I'm unaware of a hacker news matrix channel (perhaps others can enlighten me), but joining the Matrix HQ channel (https://riot.im/app/#/room/#matrix:matrix.org) is a good place to learn more about Matrix.
[+] [-] wildduck|6 years ago|reply
[+] [-] sandGorgon|6 years ago|reply
When I last evaluated Riot, it was vehemently public...so Slack/Mattermost like usecases were very hard to do.
Ideally a private community should be possible, where users invited to that community have access to all channels. however within the community, I should have private channels restricted to only few invited users.
I was told that the only possible way to do this was make all channels of a community private ..and when adding a new user, you should explicitly invite to every single one of the channels. This is not viable for an org.
I really hope this has changed.
[+] [-] dstaley|6 years ago|reply
[1] https://github.com/vector-im/riot-android/issues/3249
[+] [-] nickstinemates|6 years ago|reply
[+] [-] k_sze|6 years ago|reply
[+] [-] shmerl|6 years ago|reply