Exploring new communication channels


Thanks for the response!

Unfortunately, from what I, and a few other friends who rely on screenreaders can tell, is that there has not been a single change screen reader wise for the mobile, web, or desktop clients in the last year or so. On mobile, no buttons are labeled or marked clickable so you can’t tell if something is a button or what it does, and the main messages view doesn’t allow you to read the actual content of the messages, just the names. On desktop we have not yet found a screenreader that can distinguish any elements so you can not read, navigate, or effectively send any messages. On the web version the DOM is made in such a way that screen readers cannot navigate effectively, and it too has no aria attributes or labels, which again makes it impossible to tell if something is a button. It’s just as unusable as mobile or Desktop. I’ve talked to Discord staff about this as well (quite a while ago in fact) and they said that screen reader support will be worked on in the future, yet there haven’t been any changed still.

Regarding bridges like mattermost which do work, but not well. It’s best to use a bitlbee bridge to Discord, but sadly the only one that exists does not support bot accounts, which breaks the tos and gives you a high risk of getting banned. Discord has also been stepping up the bans for anyone who uses selfbots or custom clients, and there’s been a noticeable increase in those.

I also wonder how well Slack would work, as custom clients are allowed there, and there’s some very nice weechat-slack plugins, especially how Slack is more programming related. Personally I would prefer to stick with Slack or IRC.

It’s also important to make sure we don’t fracture the rust community with something like this where half of peeps move to Discord, and the other half stays on IRC.


Do you know anything about how accessible mattermost is compared to discord?


I find interesting how different groups have different interest on tools, and I was looking how to better integrate the channels to provide some better experience on the Brazilian community.

The #rust IRC channel is defined as the official communication channel on the website, and I always used it when directing further interest when talking about Rust in Brazil. People would find the #rust and #rust-beginners channel very active, but interested as well in discussing using their native language (as many Brazilians are not fluent in English)

So a coupe of years ago we’ve created the #rust-br channel in IRC. I was always there, using a bouncer, but the notification setup I had would be slow and by the time I’ve received a message and logged in on my cellphone, people would already have logged out. The channel had very low activity, and it was filled with join/part and “Hello, anyone here?” kind of messages.

Last year or so, a lot of interest showed up around the country, and people are really into Telegram. The @rustlangbr was created and build a really active and chatty community. There is almost 500 people talking there. Telegram definitely is not for me, but it got me wondering how we could make people that visit the official #rust IRC channel and try to go to the #rust-br channel by curiosity to talk with the whole community.

Last month I got to setup a Matrix bridge which is working fine for most of the time. The Telegram’s admin approved the integration and now, the Matrix channel, IRC and Telegram talk to each other seamlessly. The channel on IRC is much more alive, definitely! From time to time there is someone messaging from IRC (you can tell because the bot’s UI in telegram make it quite explicit), which shows it was nice to integrate those channels.

I’ve used Matrix and Riot to create a channel hosted on matrix.org, and the https://t2bot.io/ telegram bot to bridge the channels. Riot has a hosted IRC bridge already configured on Moznet IRC server, so setting the bridge was straightforward. The good thing is that I didn’t have to spin up any server or services, which I was trying to avoid as I was cutting costs on my personal servers.

This is more of an experience report on how we’ve made the #rust-br IRC channel more alive with the help of another community much more active on another platform, and I thought of sharing to show that it would be possible to bridge those channels and talk to each other, even if you don’t like an specific platform.


Oh, sorry.

Mattermost can bridge to IRC, so it would work, it just might not be optimal.


As my previous comment suggests, I’m quite an advocate for Zulip - one of the main disadvantages I’ve seen mentioned is a lack of sufficient moderation tools. I’m not a moderator myself so I’m not sure what the situation is, though on the Zulip website’s page for open source plans it says:

Admins can delete messages and deactivate (ban) users at any time

Is this functionality that we currently have access to (I found the above page through their plans and pricing page), we might be using their standard cloud offering right now?

Yes! Zulip Cloud Premium is free for open source projects and a wide variety of non-commercial entities.


This kind of framing works both ways. Would the net-wg reconsider the cost/benefit of moving to a platform where a key stakeholder won’t be present?


@SimonSapin I’ve had IRC, gitter, and now discord open over the last two days, and I feel the extra load of having another place to check out.


What’s wrong with Slack for text conversation?

Price. The free version doesn’t let you read history, only supports limited scroll-back, etc. Once that was introduced, I basically stopped using slack.


A Matrix server would be the best choice for interoperability and user freedom. Rust could host their own server or just use the public one offered by matrix.org. @eternaleye hits the nail on the head with his explanation of Matrix being the source of truth, with bridges set up to mirror data to closed systems like Discord, if someone really insists on using Discord.

For anyone not already well versed in Matrix, I highly recommend the introduction to Matrix we created for the Ruma project. In particular, check out the overview and the “why Matrix matters” page.


Just to put in an experience report here as well as some scattered thoughts:

The WG-nll has been using Zulip and I absolutely love it for this purpose. I’ve found that the threading model really helps to scale up to more conversations. I personally use privmsg a lot less because most of the time I am using privmsg it’s just to retain some context between messages. I also love that I can click on a person’s message and get the full context.

However, there are some downsides:

  • mobile app is unusable
  • moderation (apparently) – that hasn’t been an issue for us yet

Now, leaving the question of threads aside, I’ve been very happy with Discord. The team is quite responsive to our needs, as well. They have (for example) made available the ability to get a permalink to a message, which is awesome.

I think that they want to make Discord a good choice for OSS – it seems plausible we could ask for some way to export data, as well, if that were something we really wanted to push for. It doesn’t top my personal list of concerns, mostly because I tend to find that IRC/Discord isn’t a great place to “record” conversations. It’s better to take the lessons from that and distill them into a comment on the GitHub issue or something like that. That said, I often do link to chat records just to have some kind of record, and of course I’d rather not lose data. (One thing about Zulip is that it does support this kind of export.)

I think for Discord to be really convenient we’d also have to work some on the tooling, but fortunately it is very scriptable. e.g., I would like to have GH teams mirrored into Discord teams.

When it comes to bridging, I am a bit skeptical, but interested. I feel like often bridges wind up with some kind of crappy experience – e.g., a single user for all people on Matrix or something. I’d love to be surprised. I would be particularly happy if we could bridge Zulip and Discord, since while I love Zulip’s threads, I think it is harder to get used to.


The Matrix Discord bridge does indeed show a Discord user per matrix user. I use it everyday and it works well. The only downside is that PM’s require actually having a Discord account, which is perfectly fine is all communication is in public channels.

Depends on your use case.


A big +1 from me on that. The more something is a permanent record, the less people are willing to just talk normally. And searching chat history is basically never the right way to share information; anything important should be distilled into what others actually want, be that a blog post, an issue, an IRLO thread, …


This decision will force anyone who wants to participate to used Discord’s proprietary, and in my case deeply unsatisfactory web and desktop clients.

You are not mistaken. We do not support 3rd party clients, and they are not allowed per our ToS/API ToS.

Moving to Discord means no possibly choice of client for the Rust community, and being subject to their arbitrary ToS, administrative and moderation decisions, instead of a self-hosted service that can be fully under community control.


This is in direct conflict with what I was told by an employee, as posted above.

Your rhetoric is not helping your argument here. If this is true, it’s certainly a drawback, but accusing people in this way is not cool. (I see you modified your post, thank you.)


You want to move the community to Discord. This is what Discord does. Therefore you endorse this behavior, as posted by someone employed by Discord in a public space and in their ToS, as opposed to your private conversations that people should just take your word for about some possible future change in policy.


Your assumption is that we knew of this, and endorse it. That’s not true. And so, being so vitriolic and accusatory is only causing more heat.


We moved away from Gitter because bugs were making it impossible to use.

To be totally honest, I can’t at all relate to the idea of not participating in a group where you have an important role to play just because you don’t want to install another chat client. I don’t think these two framings have anything like equal weight.


So, to be clear, since Discord employees have said that they don’t allow third-party clients, is Discord pretty much ruled out?

I hope the answer’s yes, because it really isn’t okay to use a chat service that has problems with accessibility to visually impared people and doesn’t allow using a third-party client that doesn’t.


We have conflicting information in this regard. First step is to identify what’s actually correct.

EDIT: I asked said previous employee about it, and they re-affirmed that the above is not exactly correct. They’ll be giving me something to post on their behalf later.

As such, I’d encourage people to not make assumptions until we actually get the final word here.


I’m also really bothered by the lack of third-party clients… On Linux with Firefox their client has some really annoying problems:

  • after opening the app, the sound becomes horrible in my headphones. I have to unplug/replug the headphones to “fix” it
  • some servers (always the same) get regularly removed from my list. Since I first didn’t store the invite links, I lost a few servers
  • it’s horribly slow

For these reasons I’ll probably stick to IRC for a while.


I can also confirm that Discord does not allow custom clients in any way. Client modifications including custom css or JS plugins are also disallowed, as is automating the Discord API or Client in any way.