
Synchronous Messaging at Mozilla: The Decision - gsnedders
https://discourse.mozilla.org/t/synchronous-messaging-at-mozilla-the-decision/50620
======
kibwen
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](https://github.com/ruma)

~~~
est31
The last ruma commit was in August, which was after a long period where
nothing happened at all. Is the project dead?

~~~
jeltz
No, the last commit was two days ago: [https://github.com/ruma/ruma-
events/commit/c7d7212b000e324b9...](https://github.com/ruma/ruma-
events/commit/c7d7212b000e324b96cc66c252e77c6297fdfda7)

It is a bit hard to follow their project since they have split it up in so
many tiny repos. I personally prefer when a set of closely related crates are
developed in one mono repo.

~~~
Coding_Cat
For rust it's sometimes useful to split it like that, because it makes it easy
to publish small subsets of your project on cargo. Say you develop a custom
datastructure, or an extension on Streams.

The same applies to other languages to some degree, but crates/cargo just
makes it very painless to grab crates that are on a seperate git.

~~~
jeltz
But Cargo supports having multiple crates in the same git repo. Many projects
do this like regex (regex and regex-syntax are in the same repo) and openssl
(openssl, openssl-sys, openssl-errors). Maybe I am missing something but it
seems very easy to handle multiple closely related crates in the same repo.

~~~
kibwen
What makes this possible is Cargo's "workspace" feature, which is relatively
new enough that it's not hard to imagine that some older projects may simply
predate it.

~~~
jeltz
Hm, I have been doing this just fine without using the workspaces. What am I
missing?

~~~
exrook
Cargo workspaces are more of an optimization in that they let all the crates
in your project share the same output directory[0], so built dependencies can
be shared among every crate, as opposed to each crate needing to (re)build all
of its dependencies independently.

This helps to reduce compile times when working on projects where you
frequently switch between crates.

[0] [https://doc.rust-lang.org/book/ch14-03-cargo-
workspaces.html](https://doc.rust-lang.org/book/ch14-03-cargo-workspaces.html)

------
lousken
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...

~~~
Arathorn
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.

~~~
boring_twenties
After spending several months convincing a few friends to use Riot, the
ongoing fiasco with E2E has caused all of them to leave within a couple of
days. Obviously they're unlikely to ever come back.

It's a real shame. These are technical people who don't particularly mind
verifying a key by hand. In fact I personally even prefer it.

The problem is not only that certain things are not done automatically, but
that the UI is designed to make it difficult to do them even manually!

E.g., I have one device 'foo' which you already trust. I add a new device
'bar'. Why on earth would you want to verify its key manually when I could
just send you the new key from 'foo' which you already trust?

Even worse, the key for 'bar' is not straightforwardly available anywhere in
the UI on device 'foo'. It should be easily viewable in the right hand pane
where the list of devices is, but it's not. The only way to get the device ID
and key is to send a message from 'bar' to 'foo' and view the details of the
message. Why?

~~~
kethinov
> Obviously they're unlikely to ever come back.

I recognize this is a common attitude, but it makes no sense to me.

Some software you tried today isn't designed in a way you prefer, so you go
back to using something else. Okay. Makes sense.

But to declare the whole project forever hopeless as if it can never be
improved upon because the snapshot of your first experience with it was
negative is truly irrational.

~~~
boring_twenties
Keep in mind the only reason they tried the software is that I regularly
pressured to do so for months, before they finally caved.

After all that they quickly come to realize that something simple like adding
a new device is a massive pain in the ass.

It's not that they declare the whole project as forever hopeless, it's that
they invested time and effort into trying it already and it turned out (for
them) to be a waste.

It's just a bad taste left in the mouth. In order for them to try it again,
they not only have to overcome their natural laziness/time constraints, but
also the rather unpleasant memory of the last time.

~~~
sjy
The same thing happened to me, but I am thinking of having another go and just
discouraging the use of E2EE. (The community I’m thinking of is currently on
Slack, so there would be no marginal loss of privacy.) Have you considered
that, or is your group already using another E2EE platform that isn’t a
massive pain in the ass? I’ve yet to discover one myself.

~~~
boring_twenties
They all use Signal, with varying degrees of dissatisfaction. I'm the only one
who doesn't have a Signal account.

------
jasonzemos
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.

~~~
lifty
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.

~~~
jethro_tell
It can be a bit onerous, half the convo in our matrix room is about updating
matrix.

~~~
lifty
I don’t have experience with running Synapse but it looks like a beast.
Dendrite and Ruma look very promising though; can’t wait to have a lightweight
home-server ready for prime-time.

------
jeltz
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.

~~~
jordigh
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!

~~~
iudqnolq
FYI #rust-beginners is on discord, but many of the teams have transitioned to
Zulip because it has threads. I'd love if Zulip was OSS, but at least it's a
highly innovative company that's improved a lot on the UX of IRC (far beyond
not needing to setup a bouncer).

The mismatch between Discord's targeted audience of gamers can get funny at
times. One rust dev has had their status we to "playing systemd" for days.

Edit: How did I miss that Zulip is open source??? Thank you to the
commentators who pointed this out, you made my day :)

Edit2: Just learned what I said about rust decision-making was totally wrong.
Thanks to Rob Pike in the other thread for his detailed comments.

~~~
cjbprime
I wouldn't describe Zulip as coming from the IRC tradition -- it was built by
MIT students as an improvement on MIT's Zephyr. There's a split between line-
at-a-time messaging like IRC or Slack, and paragraphs-at-a-time messaging with
per-message channels like Zephyr, Gale, and now Zulip.

I really miss the paragraphs style.

~~~
pmoriarty
Wait, why can't you type a paragraph at a time in IRC?

~~~
cjbprime
I said "paragraphs-at-a-time", not "paragraph-at-a-time". You can't type
paragraphs at a time on IRC because a single message can't contain newlines.

But even then, paragraph-at-a-time is hard on IRC because there's a max line
length that's surprisingly short (and usually just truncates the rest of your
message once you exceed it!), and just because you'd stand out as being the
person writing much more than everyone else and being slow to reply. IRC
simply isn't a medium designed for carefully considered thought like that.

~~~
jordigh
> a medium designed for carefully considered thought like that.

"Sorry this is so long. I didn't have time to make it shorter."

------
sandGorgon
Congrats to Riot/Matrix.

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
The official successor to Synapse homeserver is Dendrite written in Go
([https://github.com/matrix-org/dendrite](https://github.com/matrix-
org/dendrite)). There is homeserver project in Rust called Ruma
([https://github.com/ruma/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.

~~~
kibwen
It looks like Ruma was waiting for an async web framework to emerge, and the
web frameworks were waiting on hyper to upgrade, and hyper was waiting on h2
to upgrade, and h2 was waiting on http to upgrade, and http was waiting on
bytes to upgrade, and everyone was waiting on tokio to upgrade. In the six
weeks since async await has stabilized, the web framework that my company uses
has only just managed to upgrade to stable async/await last week. I wouldn't
fault Ruma for waiting for other frameworks to upgrade before making a choice.

~~~
sreevisakh
Thank you for that perspective. I apologize if it sounded like I am blaming
Ruma - just waiting eagerly for its development.

~~~
kibwen
No problem. :) I just don't want potential contributors to write off Ruma as
something worth looking at, especially since with this announcement it ought
to be be more relevant than ever. And having multiple independent
implementations of a federated protocol is very important to proving out the
specification (the Ruma author has already filed several bugs against the spec
as a result of implementing it).

------
shd4
New Vector ([https://www.vector.im/](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.

That's great news!

[https://apply.workable.com/new-
vector/j/6CB817C79E/](https://apply.workable.com/new-vector/j/6CB817C79E/)

~~~
Ardon
Fantastic, though I wish they weren't burdened with such a bad name. I wonder
if they would ever change it...

------
xfalcox
Can't wait for Mozilla to back a stable, native desktop client into a daily
driver state so we can finally ditch Mattermost at work.

~~~
rtpg
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)

~~~
w354kjhllkj
You answered your own question.

You can write a pretty and functional Electron app in a weekend.

To implement the same level of functionality and prettiness in a native app
toolkit like Qt is at least a month of work.

It's the same story as Python versus C, or C versus Assembly.

When C was introduced, the old-timers had the same complains like we do today:
why would you program in such a slow and inefficient language? Real
programmers (TM) use Assembly, C is for lazy people who don't want to learn
and who don't care about the awful resource wasting. 3 KB for a hello world?
That's an absolutely ridiculous level of bloat.

~~~
gdxhyrd
> You can write a pretty and functional Electron app in a weekend.

You can also do so in Qt and other frameworks.

The fact that you are proficient in web frameworks does not mean other tools
are less productive.

In fact, being proficient in modern web dev, including HTML, CSS, JS, TS,
React, etc. takes way longer than learning something like Qt. And if you go to
easier frameworks like Delphi or VB6, you would be amazed at the productivity
speed.

~~~
pmoriarty
_" In fact, being proficient in modern web dev, including HTML, CSS, JS, TS,
React, etc. takes way longer than learning something like Qt."_

But there are already a ton of web developers who already know those web
development technologies, but don't know Qt. So it would be extra effort for
them to learn Qt. Much easier to just use React.

The same thing goes for why there so many academics write Java apps for their
proof-of-concept research work. That's what they're taught in school and for
many that's all they know.

Curiously, Python was able to make huge inroads in to the academic community,
but that was largely due to having a killer app (Jupyter notebooks) along with
having a bunch of desirable tools for scientific computing, data processing,
and visualization. I'm not sure if there's anything as compelling in the Qt
ecosystem that would be as attractive to web developers who already know HTML,
Javascript, React, etc.

------
bloopernova
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.

~~~
pabs3
I really wish Telepathy took off, then you could have one single app that
speaks each of those protocols and talks to the relevant servers.

[https://telepathy.freedesktop.org/](https://telepathy.freedesktop.org/)

~~~
ptman
Matrix has bridges to many different chat systems

~~~
pabs3
The bridges are server side, so you have less control over what they do.

------
johnchristopher
This screenshot [https://discourse-prod-
uploads-81679984178418.s3.dualstack.u...](https://discourse-prod-
uploads-81679984178418.s3.dualstack.us-
west-2.amazonaws.com/optimized/2X/e/eb4fca27c1cbaa588c150e981f8f8eb94ed3cdb6_2_690x458.png)
shows a UI that seems way wore easier to grip than the riot UI. I remember
screenshots
[https://img.bfmtv.com/c/840/625/06e8/68cd7316f6a279a3899fcf8...](https://img.bfmtv.com/c/840/625/06e8/68cd7316f6a279a3899fcf81dfd7.jpg)
[http://www.tchap.fr/wp-content/uploads/2019/05/interface-
tch...](http://www.tchap.fr/wp-content/uploads/2019/05/interface-
tchap-800x582.png) of the client used set up by the France efforts.

Are those clients ever going to be released to the general public ?

~~~
Arathorn
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](https://riots.im).

Tchap meanwhile is opensource at [https://github.com/dinsic-
pim](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.

~~~
johnchristopher
Ah, cool ! I am off to installing tchap then.

Really glad to hear you are upgrading the game on the front-end/UX/UI !

edit: well, I give up :D. Been playing for 40 minutes with yarn build/dist and
config.json and missing olm and async_hooks dependencies.

------
driminicus
Congrats to Mozilla and matrix.org! I am at least very happy they went with a
FOSS solution.

------
superkuh
> effectively using Matrix as a big decentralised IRC bouncer in the sky.

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
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.

~~~
superkuh
Anyone can, few do. At least in terms of what I see on the 20 IRC networks I'm
connected to. The only one where people actually tend to run their own Matrix
servers is on OFTC with the Freedombox
([https://wiki.debian.org/FreedomBox](https://wiki.debian.org/FreedomBox))
people. On Freenode I don't think I have ever seen someone connect from a
Matrix server that wasn't riot.im since the creation of the Matrix protocol.

~~~
Arathorn
How would you even know, though? When running personal bridges I just have
them auth as my normal user account like a bouncer. Or are you looking at CTCP
versions?

~~~
superkuh
The 'Real Name' field shows where they're proxying in from. Like the normal
riot.im "@username:matrix.org" or self-hosted
"@username:theirserver.address.tld". Is this an option that isn't the default
for most matrix bridges/clients/whatever?

I guess if it doesn't show in their realname field I wouldn't see it. But I
imagine since the defaults seems to be what I described above the amount of
users that turned that off will be fairly small and irrelevant.

------
jokoon
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.

~~~
jeltz
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.

------
vkaku
I've always asked this question : Can't we make better IRC clients yet, more
Slack like, but just works over traditional IRC?

~~~
WimLeers
Yes.

See [https://ircv3.net/](https://ircv3.net/).

An example: [https://blog.irccloud.com/slack-
integration/](https://blog.irccloud.com/slack-integration/)

------
davidw
Is there a low-friction way to give Matrix a try? Like a Hacker News channel
that you can join with a web client or something?

~~~
neiljohnson
Riot is a popular Matrix client and a good place to start., pointing your
browser at [https://riot.im/app/#/welcome](https://riot.im/app/#/welcome)

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](https://riot.im/app/#/room/#matrix:matrix.org))
is a good place to learn more about Matrix.

~~~
Arathorn
There's
[https://riot.im/app/#/room/#hn:matrix.org](https://riot.im/app/#/room/#hn:matrix.org),
but it's sadly very dead and not bridged anywhere useful. Is there actually a
good chat community for HN anywhere?

------
wildduck
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.

~~~
anoa_
We've just hired a new full-time employee to work on Dendrite and p2p matrix.
Expect rapid progress on Dendrite as of a few days ago.

[https://github.com/matrix-org/dendrite](https://github.com/matrix-
org/dendrite)

~~~
Arathorn
(two new employees actually ;P)

------
sandGorgon
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 has changed.

~~~
ptman
AFAIK it is planned but not done

~~~
ptman
[https://github.com/vector-im/riot-web/issues/5857](https://github.com/vector-
im/riot-web/issues/5857) or [https://github.com/matrix-
org/synapse/issues/4762](https://github.com/matrix-org/synapse/issues/4762)

------
dstaley
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.

[1] [https://github.com/vector-im/riot-
android/issues/3249](https://github.com/vector-im/riot-android/issues/3249)

~~~
billCarsonFr
Have you tried RiotX
[https://play.google.com/store/apps/details?id=im.vector.riot...](https://play.google.com/store/apps/details?id=im.vector.riotx)
Most efforts are going to this new android client. The issue you refer to has
been properly handled on RiotX (soft logout)

~~~
dstaley
I don't think this issue is related to soft logout, which is what happens when
the user logs out of a device remotely. The issue I was running into was that
the app, after 24 hours of being logged in, would get stuck in an
initialization loop.

~~~
billCarsonFr
Sry, to be more precise, token invalidation has been properly handled in riotX
as part of the soft logout feature;

~~~
dstaley
Oh, awesome! I just installed Riot 0.9.9, so I'm going to test that out and
see if the issue occurs. After that I'll switch to RiotX and check there as
well and report any issues I find.

------
nickstinemates
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.

~~~
feanaro
Compelling reasons to switch: it's an open standard, it's federated (so you
can own your own server and avoid vendor lock-in), it has end-to-end
encryption, it supports bridging with many other protocols, there's quite a
growing ecosystem of tools and libraries around it, etc.

The protocol itself is designed to be really flexible in the kind of data you
can send through it (and therefore automatically propagated to and
synchronized with other servers) so it can support a lot of different use
cases. This includes standard chat app things like audio/video calls but it
could also be used for stuff like forums or even serve as a backend for
syncing information between organization (I'm thinking of things like medical
information between health institutions).

All in all, there's a lot of potential in Matrix.

~~~
pteraspidomorph
I try matrix on occasion (as in, I set up my own server from scratch). The
last time I tried it, support for multi-participant audio and video calls (and
screensharing) was still between terrible and nonexistant. Definitely much
worse than Discord. Has it improved?

~~~
feanaro
There were some bug fixes in the last year (IIRC) though nothing very
substantial, I think. Then again, it's always worked reasonably well for me
and I'm using it regularly. I heard it was going to get worked on soon,
though.

~~~
Arathorn
There was a major upgrade to the conference calling about 6 months ago which
took it from being "barely usable" to "almost as good as Zoom". It's different
semantics to Discord in that it's classic conferencing rather than a voice
channel, but it works well enough for the whole core Matrix team to use it
basically constantly for remote collaboration.

The conferencing servers are currently in London however, so you may suffer
from transatlantic traffic problems if you are elsewhere in the world.

~~~
feanaro
Ah, thank you for the additional information. Is my grapevine information
correct that more work will be done to improve video calls and screensharing
in the coming months?

As an example of what could be improved, I do still encounter the occasional
bug with call synchronization, the video stream of one of the sides not
getting started on occasion and screensharing is hardly discoverable.

------
k_sze
I'm confused. Is Matrix actually synchronous or asynchronous? The Matrix FAQ
([https://matrix.org/faq/#what-is-a-
homeserver%3F](https://matrix.org/faq/#what-is-a-homeserver%3F)) makes it
sound like it can be asynchronous. Otherwise, why _store_ communication
history at all?

~~~
Arathorn
Matrix is asynchronous. You send a message into a room; other people can
receive it later or respond to it subsequently - it's not like the data blocks
the room somehow until it's read, or that messages disappear after reading.

------
shmerl
Good, but what about Rust project jumping to Discord instead? They should have
used Matrix as well.

~~~
kibwen
Each individual Rust team (which govern individual aspects of Rust) got to
choose where to jump to; I believe one did choose to use Matrix, but the
others mostly chose Discord (because there was already a very large Rust user
community there), a few chose Zulip, and one is still on IRC. If Matrix
clients were more well-developed and widely-used, I believe there would be
good incentive for them to transition--the Rust developers already have enough
on their plate without feeling like they need to also develop their own
communication protocol.

~~~
shmerl
I still find it inappropriate for a FOSS project to promote closed non
federated communication tools. Hopefully they won't be stuck with Discord
because "we already switched to it".

~~~
stjohnswarts
I think they are just being pragmatic. No one, not even RMS, ever felt that
open source needed to be open source from bottom to top, just the final
product. You have to be pragmatic in this life. We can't wait for open source
processors running on open source hardware on and open source OS compiled on
an open source compiler before something gets released. I find it entirely
appropriate for them to be pragmatic and use the tools to get done what they
need to get done.

~~~
glandium
_" not even RMS"_. You underestimate RMS.

------
chrisseaton
Wow this already looks like a fractured mess!
[https://matrix.org/clients/](https://matrix.org/clients/) Why are there so
many clients with different supported functionality?

~~~
firethief
"Already"? Is that something that usually happens as a project matures?

~~~
chrisseaton
Yes? See the fracturing of what HTML browsers supported in the 90s, or what
happened to XMPP, for example.

~~~
firethief
HTML's middle ages were characterised by competing implementations of similar
functionality. Inconsistency would be cause for concern, but incompleteness is
expected.

------
ttctciyf
> we have decided to replace IRC with Riot/Matrix, hosted by Modular.IM.

Looking at the pricing on modular.im[1] it starts at $10/month for up to 5
"active users," $73/m for up to 50, on and up..

Though modular's credentials look good, it seems like there'd be scope for
some serious price gouging if Matrix had more takeup.

The standard (android) client's default servers are patchy enough to make this
worth looking into, IME.

1: [https://modular.im/services/matrix-
hosting](https://modular.im/services/matrix-hosting)

------
Aardwolf
How does one visit the Mozilla channel on it? No links anywhere in there or in
Mozilla's post. Is the discussion channel publicly visible?

(excuse me if channel is not the correct terminology)

~~~
Arathorn
It's not live yet :) (and we called channels 'rooms' in Matrix).

------
cowedbyprgrssvs
The announcement mentions only two features: safety and accessibility, but
places no emphasis on the technical merits of the choice for the majority of
users. That is disappointingly irrational for a technology organization.

I don't feel comfortable with the strong emphasis on "progressive" concerns
that mozilla (and the rust community) have. It's not inclusive: I have normal
liberal views (I'm from a European country and under 40) and I don't think I'd
feel comfortable working for one of those organizations because I suspect the
progressives there would be angry or offended with my reluctance to embrace
the identity politics dogma. I didn't even feel comfortable posting this under
my usual account, such is the atmosphere.

Accessibility is clearly important. But "safety" concerns have become
overblown: reasonable concerns have become polluted by the politics of the
"safe space" contingent, and the sorts of people that are closing down
legitimate debate in the name of progressive/identity politics. And technical
suitability for the 95% of modally-abled users is still an important
consideration.

~~~
bzbarsky
Disclaimer: I work for Mozilla, and I was quite happy with IRC personally.

The announcement may not mention it, but there were trial instances of a
number of messaging apps set up, people could use them and submit feedback,
and that feedback was in fact considered as far as I know. Accessibility and
safety were not the only criteria at all.

As far as "safety" concerns being overblown... I personally had approximately
zero problems with IRC that way, though some of the random spammers who
sounded like foul-mouthed 12-year-olds could be annoying at (rare, in my
experience) times. But I absolutely have co-workers whose IRC experience was a
lot less pleasant. And if moving to a different system lets us get rid of that
unpleasantness for them, that is a _very_ strong reason to consider such a
move, both on general moral grounds and on purely business-reasons "people who
can get their work done sanely get more work done" efficiency grounds.

Note that we're not talking about safety from debate or opposing viewpoints or
whatnot. We're talking about people being able to discuss a bugfix with others
without being constantly spammed with invective and threats in the process.
_That_ is what "safety" means in this context.

------
Ericson2314
Very excited for this; It's the one worthy successor to IRC.

Self plug: it also makes me more motivated to return to
[https://github.com/Ericson2314/matrix-
client](https://github.com/Ericson2314/matrix-client)

------
zzo38computer
IRC has the advantage of being usable without any specialized software
(although the usability is not as well as if you do have specialized IRC
software, it is still at least usable).

------
gramakri
Which server does modular.im run? Synapse? Ruma?

~~~
lioeters
In their hosted service description ([https://modular.im/services/matrix-
hosting#what-you-get](https://modular.im/services/matrix-hosting#what-you-
get)), under the section Open Source, they mention Riot.im and Synapse.

------
mxuribe
As a fan of the matrix protocol, this is great news to hear about Mozilla's
decision!

------
jangid
Can I access the network from Emacs? I use ERC as of now.

~~~
Arathorn
yup. [https://github.com/alphapapa/matrix-
client.el](https://github.com/alphapapa/matrix-client.el) is your best bet (it
probably doesn't support SSO though, but should be pretty easy to add).

~~~
jangid
Thanks for sharing. Actually, I searched MELPA before posting my question. It
is time to support this package to get included into MELPA/ELPA.

