I'm partial towards Matrix/Riot.im - the progress made on those projects is awesome and they really have a highly usable product, with bonuses such as e2e encryption and federation.
I'm partial towards Matrix/Riot.im - the progress made on those projects is awesome and they really have a highly usable product, with bonuses such as e2e encryption and federation.
Setting up a Matrix server is a lot harder than you might think, especially when you start talking about federation and identity management.
The mxisd[1] project has recently disbanded due to what I believe to be philosophical differences with the Matrix maintainers vision of identity management.
I like a lot of things about Riot/Synapse, but I would suggest you try setting up your own Matrix server if you haven't yet. It's not what I would call highly usable.
Mind you, I have only tried setting up the reference implementation (Synapse/Riot). I would be interested in seeing a write-up/comparison done by Mozilla as part of these trials.
That said, I went in with pretty low expectations since it's a reference implementation - I think one of the great advantages of the open-source protocol is that anyone can design/build their own implementations with better UX on the sysadmin side. There are already projects in the works written in golang/rust, and I'm sure if the protocol takes off other languages will follow.
I do agree that the identity server piece is weird. I didn't set one of these up, so I haven't really looked into it (I don't have any 3rd party IDs connected to my matrix username, which from my cursory research is what the identity servers are for) but the philosophy behind them seems to go against the federation narrative the rest of the protocol is designed around. If anyone has done more research into this part of the protocol I'd love to be corrected on this point.
That's a common fallacy. Nobody is going to do for free this crucial work for a protocol that is practically unused. Teams should focus more on a strong implementation so the protocol gains ground
You have to either make a venv for a binary or just install a package, then reverse proxy 2 ports from your http daemon, and finally also hook things up to your Postgres database. After all that it's just a matter of configuring your homeserver's config (which is large, but you can easily get support via the community for any poorly documented options)
The documentation could definitely be improved, though.
Great documentation and sane defaults. I have only 6 lines of custom config.
sorry that setting up a homeserver was hard; we’ve been doing a lot of work recently to improve this (eg https://github.com/matrix-org/synapse-config-generator/tree/... is a graphical installer which should be released very shortly).
ma1sd is considered stable and works afaik, and is already part of the matrix ecosystem.
I felt as though getting Matrix 95% up and running was relatively straight-forward, but I spent far too long trying to configure self-registration, email verification and domain whitelisting through mxisd that I gave up. These don't seem like uncommon scenarios for organisations wishing to run their own Matrix instance.
In contrast, a Mattermost instance that supported self-registration and domain whitelisting was up and running in almost no time.
The config generator will be a welcome addition. I will probably revisit Matrix some time in the future.
Don't forget Slack also bans people who they think are from sanctioned countries:
https://www.theverge.com/2018/12/20/18150129/slack-iran-deac...
I would like to see a neutral platform be chosen to be honest.
> I would like to see a neutral platform be chosen to be honest.
Exactly, and if one of the FLOSS options are chosen, Mozilla could self-host and not need to rely on any third party.
[0]:https://gist.github.com/maxidorius/5736fd09c9194b7a6dc03b6b8...
The linked gist is loudly complaining (amongst other things) that Riot's default config points at a centralised one by default.
We've already fixed this (https://github.com/vector-im/riot-web/issues/10553) by simply removing the concept of default identity servers entirely and instead prompting the user to select on demand whichever one they want to use, if they actually try to look up a user based on email/phone. It should be released in Riot 1.4 (on Web, and equivalent ones on mobile etc) in the coming weeks.
You can see our response to that original gist at https://matrix.org/blog/2019/06/30/tightening-up-privacy-in-..., and you can track progress over at https://vector-im.github.io/feature-dashboard/#/plan?label=p... (which has a cache from yesterday published at https://matrix.org/~matthew/privacy-sprint.html).