Can we have an official Scala discord server

regarding LaTex, Zulip supports it

@djspiewak are you afraid that it also would fail and die as XMPP? I don’t know the future, of course, but I would be a bit more hopeful here – it’s a whole supported product which already has its paying customers, it’s not just a protocol.

EDIT: here’s link to Rust Zulip, if you want to try it out

3 Likes

After trying Discord, I find that it is too twitchy for me. The unremovable “is typing” is the worst offender in this regard. I want to discuss programming somewhere where thoughtfulness is a greater virtue than speed. If we’re raiding an ice dragon or something, sure, I want to know that the raid leader isn’t frozen, they’re just typing. (Though really, they should have voice on.) Talking about graph algorithms, not so much.

I’m happy to try Zulip. It sounds intriguing.

3 Likes

Hi,

@softinio has asked me to write down the experience with the Rust Discord server. First of all, to counter a misconception, there’s multiple “Rust” chats:

  • Rust Project Discord
  • Rust Community Discord
  • Rust Project Zulip
  • The Embedded WG on Freenode

The project chats are first of all only set up for working groups to chat. They are open to the community and have some general spaces because we are an open project. The community discord is run by a community group and is open to all these kinds of changes.

All project venues are moderated under the Rust Code of Conduct by virtue of being part of the Rust project, the community Discord by virtue of having chosen so. All chats have different moderation people.

Now, to the question how each of these chats came to be. tl;dr: many preferences of working groups.

We tied a lot of chats. When we decide on products to use, we a) expect functionality, b) consider all use-cases of the people having to use them. The product being open source is a major concern, but not the main concern.

We decided to move away from IRC early because of the same problems why Mozilla shuts it down: rampant spam and harassment. IRC has no good moderation capabilities and is extremely prone to moderation incidents. Also, it has a high barrier of entry. We also tried Gitter, and it had terrible behaviour such as dropping messages and the interface locking up. For a chat systems, we consider “gets message from A to B reliably” a core feature ;). Slack is out, as it is fundamentally not built for open communities. It has almost no moderation features - which makes sense, given that their product design expects that your organisation has an HR team.

In the end, Discord became the favourite choice of many working groups for two reasons:

  • A good, reliable experience both on the web and on mobile
  • Good Moderation features, including spam protection and slow mode
  • Modern features, e.g. emoji reactions
  • Messages reach the recipient reliably and trigger a notification

That might seem basic, but this often doesn’t properly work.

Drawbacks of Discord are the non-threaded discussion model, and really hard overview on servers with lots of channels. It by default assumes that you want to read everything. It has a rather heavyweight graphical interface, which may be a drawback for some.

Other working groups are using Zulip, precisely for the reason that their threading is really useful and thought out. It allows for example to have thread topics to be links to the issue discussed.

Screenshot%20from%202019-10-14%2023-56-58

Their moderation docs are use case driven and good. Their interface is okay and well arranged, but certainly not polished to the end.

And finally, the embedded WG decided to stick with IRC even after irc.mozilla.org shuts down and moved to freenode.

All in all, we found Discord useful, but it has it’s flaws,

I fundamentally believe that there’s a lot of open design space around chats for open organisations.

Hope that helps a little.

8 Likes

@softinio, you seem very eager to promote discord. May I ask, why is that so? Maybe you could explain why you prefer it over other platforms that provide the same set of features while being Open Source and free.
I think we should consider every platform equally and find the one that best fits our use-case.

1 Like

Why not use something like https://github.com/42wim/matterbridge to get both worlds? Only problem would be formatting of code blocks.

Wow, Zulip looks really nice with topics, code highlighting, LaTeX, login with Github and all other basic features Slack or Discord have! :clap:

https://scala.zulipchat.com

3 Likes

It is important that we don’t just pitch the idea or shoot down someone else’s just based on certain features. We should consider the types of people we want in the community and what they need.

The first in my mind are a casual participant who are often a beginner Scala programmer who just want to drop in, ask a question, and then leave again. Gitter really sucks for this from both sides of the conversation.

As a new person it is very daunting to have to post and interrupt people who are in the middle of a conversation especially if you don’t understand what it is about. In many cultures it would be rude to do so. Even if they do get the courage to ask the question it can be hard to tell when someone is replying to you or something else.

As someone who likes to drop by now and then to help people, having to do this in a busy channel is very prohibitive, in fact I gave up after a few days. The Gitter links kind of work but it is so klunky and there is no way to see what others have said without reading the entire chat.

The other group are people who are very engaged and often experts. They have an opinion on most things and want to read pretty much everything. For these people it is important that messages aren’t hidden away in threads. Slack is bad for this because maybe you read the thread initially and there isn’t a reason to participate so you don’t get any notifications for new messages in the thread but then if someone adds a point later you are almost guaranteed to miss it.

The proposed solutions are really for chat and instant messaging which is most beneficial in real time but for myself this has been a problem with Gitter. I would often be online when the rest of the world was asleep and so the previous messages could be hours old. If I answer, by the time the other person has read it and also replied, this conversation is pretty much dead as it is impossible to follow.

This is what I think is important:

  • Separate beginners from advanced
  • Ability to discover and observe interesting conversations (both at the time they are happening and after the fact)
  • Track individual conversations over long periods of time
  • Have conversations with certain people or groups of people with hours between messages

I don’t think having to create an account or installing an application is a big deal. The people joining the chat should want to be there and be willing to put in a small amount of effort. We just need to make sure that effort was worth it once they do.

My gut feeling is that Zulip looks to be a reasonable middle ground between the single channel style of Gitter and the obscure threads of Slack.

2 Likes

Was this in scala/scala? It’s not prohibitive to me at all, and I wonder how our experiences/impressions of the same situation are so different.

I’d be willing to try Zulip. Discord leaves me with a bad taste.

2 Likes

Gitter news: https://techcrunch.com/2020/09/30/element-acquires-gitter-to-get-more-developers-on-board-with-the-open-matrix-messaging-protocol/

4 Likes

Very intriguing. Having Gitter migrate over to a company whose mission is actually about this sort of communication could be a major win…

Thanks for sharing @SethTisue! This is great news overall!

One of the big benefits that I like about Element/Matrix is it has a bridge to gitter, IRC and Discord that works really well. So well I kind of use it as an IRC Client :slight_smile:

I have been using Element for a while and it is good bar one issue and that is to get acceptable performance you need to pay for your own server. The public servers when busy cause message delays especially if you are using or relying on a bridge. Guess we could all chip in and sponsor a server for the scala community?

If anyone wants to try it today here are some resources as a sample:

Scala Lang channel on Matrix: https://matrix.to/#/!wEwrAAJSLIQCfAkJTa:matrix.org?via=matrix.org&via=t2bot.io&via=privacytools.io

This actually has a bridge to this Scala Lang discord: https://discord.gg/9Th65eK

Scalajs channel on matrix with a bridge to the official scalajs gitter channel: https://matrix.to/#/!ruIUTaSoPbTWIkdGpO:matrix.org?via=matrix.org&via=tchncs.de

Here is the official press release:

https://matrix.org/blog/2020/09/30/welcoming-gitter-to-matrix

Hoping my performance concerns won’t be an issue once the improvements they mention in the press release are done.

Optimistic about this.

At https://scala-lang-slack.herokuapp.com it’s written “There’s nothing here, yet”.

There is now a Discord link on the main Scala site: https://www.scala-lang.org/community/#chat-rooms-discord-irc

(There’s no special reason this didn’t happen sooner.)

1 Like

Scala Lang Discord now has a vanity URL for joining the discord server:

https://discord.gg/scala

:champagne: :tada: :tada:

3 Likes

Typelevel has launched their own Discord server:

2 Likes

The Scala Discord (https://discord.gg/scala) has become quite active. It’s at least as active as Gitter, perhaps more.

I believe it is now time for the Scala org to shut down its Gitter rooms and standardize on Discord, because:

  • people are voting with their feet
  • the Gitter platform looks more antiquated than ever, after another year of stagnation, even after the acquisition by Element
  • fragmentation is bad for the community
5 Likes

I agree. Gitter has been stagnating for too long and Discord got a lot of traction. Many programming communities have or are moving there, both within Scala (see Typelevel, Scalameta, Zio) and not (TypeScript, Rust, etc).

For better or for worse that’s where the inertia is going and I agree it’s time Scala officially follows suit

3 Likes

I think most of the community has voted with their feet. Maybe we can get some links at the top of the gitter channels pointing to discord when it is official.

1 Like