Request for thoughts / feedback on moving off Gitter (potentially to Slack)

The Numba project has been using Gitter for real-time support chat and a small amount of development discussion, and this has served a purpose for some time. However, it has a few issues that make it a cumbersome and inconvenient platform (these are my opinions, but I imagine others may feel similarly):

  • Threads don’t really work (many chat features don’t work in them, they’re not supported on the Android app, long threads cause the CPU to spin at 100%, threads can’t be muted or marked as read easily)
  • Search doesn’t work too well, nor does scrolling back more than a short distance through history
  • Linking to old posts doesn’t work too well
  • Marking posts as read seems to be generally very difficult (need to scroll up / down, in / out of threads, the notification jumps up and down the screen and sometimes disappears, sometimes @ notifications don’t show)
  • Support for mobile apps and browsers and apps seems limited

There are numerous other platforms that might be an improvement over Gitter - one possibility would be to move over to Slack’s free tier, which I expect would bring some improvements:

  • Better threads (ability to subscribe to updates to them or not)
  • Better mobile apps (thread support, general stability)
  • In general, fewer bugs / UI quirks

Slack’s free tier does have the limitation that only the last 10,000 messages can be viewed - my view is that this isn’t functionally too dissimilar from the present situation with Gitter, where most chat is ephemeral, and Discourse posts or Github Issues are created for enquiries of a longer-term nature. (One might argue that far fewer than the last 10,000 Gitter messages can be located / accessed anyway).

I’d like to solicit community feedback / thoughts on moving from Gitter to Slack or another platform. In particular:

  • In your opinion, would moving from Gitter to a free Slack be a positive change?
    • Or, would it cause you a negative impact? If so, how?
  • Do you have experience moving from Gitter and/or to Slack or another platform?
    • If so, what advice would you give?
  • Is Slack the best platform to move to? Do you feel that another platform would be more appropriate? (e.g. a lot of communities seem to be on Discord - e.g. Python and LLVM communities).
  • Is there anything else we should consider?
2 Likes

Hi,

personally I don’t use Slack/Teams/Gitter/etc… very much anywhere (but I know the Gitter struggle :-P). So others may give more qualified responses but I wanted to lazily throw 2 alternatives into the room.

At CERN we have a self hosted instance of Mattermost (I think it was introduced when more and more people started using Slack without it being officially supported by our IT department). As far I can tell it is received quite well and growing in popularity.

The other technology that I hear more and more about in my personal environment is [matrix], which may be a nice horse to bet on due to its ability to bridge to other services giving a lot of flexibility to the users (but I have no personal usage experience).

The downside of both suggestions is that I am not aware of any service providers that offer a proper free version. So self hosting/administration would likely be necessary, which is probably not a welcome workload.

2 Likes

A couple of minutes after writing my post, I realised that Gitter was actually bought by the guys behind matrix last year, and they are eventually going to merge Gitter features into element (a matrix client) whereas Gitter will move to running on top of the matrix network. [https://matrix.org/blog/2020/12/07/gitter-now-speaks-matrix]

You can already use the element client to join Gitter channels, maybe it is worth exploring if the client performs better than the Gitter client. Then everyone can make their personal choice of client, and moving the chat to a different provider might not even be necessary to escape from the Gitter performance issues?

2 Likes

I don’t have a preference here, but I happened to notice that BeeWare decided to move from Gitter to Discord recently:

https://beeware.org/news/buzz/some-new-ways-to-discuss-beeware/

2 Likes

@sseibert Thanks for the link - although I do like Discord, I think it doesn’t have support for threads at all, which might make it difficult to use effectively for the same purposes we presently use Gitter.

Having better threads would be useful. And being able to mute entire threads would be amazing.

There’s something more useful, which I cannot immediately compare between slack and gitter: friction before first post. It’s been a long time since I joined gitter so I don’t remember how much work it was to get to the point of being able to write a question. But if moving to slack would add friction I would think about it twice.

Another aspect, which might sound weird, is that the limitations in gitter might be good for making discourse the clear place for discussion. The pain is a feature not a bug, if that makes any sense at all. Something with a more overlapping set of features might make it confusing, and split the discussions too much. The community is not too large, and the more people are active on Discourse the better.

Overall, I don’t have a strong opinion for or against slack.

1 Like

Thanks for the thoughts and considerations!

There’s something more useful, which I cannot immediately compare between slack and gitter: friction before first post. It’s been a long time since I joined gitter so I don’t remember how much work it was to get to the point of being able to write a question. But if moving to slack would add friction I would think about it twice.

I suspect a little friction would be introduced:

  • (IIRC) For gitter, the sign-up process involves only browsing to gitter and then logging in with Github.
  • For slack, an invite link would have to be followed and a login created for the Slack (unfortunately no login with Github).

Another aspect, which might sound weird, is that the limitations in gitter might be good for making discourse the clear place for discussion. The pain is a feature not a bug, if that makes any sense at all.

In my mind it’s firmly in the “bug” category. I find myself frequently having conversations on Gitter that I wouldn’t necessarily move to Discourse, and have to put up with Gitter for them.

Something with a more overlapping set of features might make it confusing, and split the discussions too much. The community is not too large, and the more people are active on Discourse the better.

It’s not clear to me that Slack overlaps with Discourse more than Gitter does; IMO, it’s just that Slack executes on its functionality better than Gitter.

My experience searching gitter is a little different; I often find content more than a year old. For example, just yesterday I googled generated_jit vs overload and the third hit was a year-and-a-half-old discussion. The link worked for me (on my phone). I suspect that’s much more than 10k messages ago so I’m not sure if slack is equivalent, and not sure if slack is google searchable. Not being google searchable would be a serious negative in my view.

Agreed on the friction… logging in with github is nice. I don’t currently use any client for gitter, and I don’t know if/how the slack web client works.

That being said, I’m interested in numba and will follow wherever the knowledge goes :slightly_smiling_face:

1 Like

I suspect a little friction would be introduced:

  • (IIRC) For gitter, the sign-up process involves only browsing to gitter and then logging in with Github.
  • For slack, an invite link would have to be followed and a login created for the Slack (unfortunately no login with Github).

This is the reason that I see Slack as being for conversations among a well-defined group (such as a development team) and Gitter as being a way to get fly-by questions from users. The threshold for joining a Slack org is higher than the threshold for joining a Gitter room, so they serve these two different ends. In my work, we use one big (paid) Slack org for a lot of related projects, which is mostly developers talking to each other, and have Gitter rooms open for people to be able to find us and ask low-latency questions. To the degree that nearly everyone has GitHub accounts, joining a room, asking a question, and then un-joining is essentially zero-cost.

In my work, we don’t use Discourse, which I see can use GitHub authentication like Gitter (and is therefore open to fly-bys), but message boards are different from chat rooms. Chat rooms serve the need of “If I don’t get an answer in a few minutes or maybe an hour, I won’t need an answer (because what I’m trying to do just won’t happen).”

We also use Mattermost for physics and CERN-related things, but that has even weirder threading than Gitter, and I’ve never been able to make it work on my phone. If a question comes in on Mattermost, I can handle it if I’m at my computer (where I have a tab open for each one of these things all the time). Between Gitter, Mattermost, and Slack, Slack is the only one that has good technical features, such as threading and working on a phone.

Slack search is okay (not Google quality, but I’ve been able to find things). It can’t be searched from outside, but that’s the general idea of Slack: it’s a fenced-off area for well-defined teams, not amorphous interactions like Gitter.

1 Like

For the record, Matrix might have threads soon-ish: https://github.com/matrix-org/matrix-doc/pull/2836

I’m not actively participating in the Numba community, so take my opinion with a grain of salt :slight_smile: But I find that Slack lacks some tools for open communities, like a more cohesive identity model (instead of needing a new account for each workspace), self-invites (this must be done with an external service), and good moderation tools to avoid SPAM and the like. Besides, its free version limits the historical data that can be browsed, which is very annoying.

In any case, none of these disadvantages seem unsurmountable. I have seen some communities adopt Slack with great success, like Write the Docs (however, it’s so active I can’t even scroll back 1 month…).

I don’t think Discord has threads, and Matrix as I said above doesn’t have them yet.

At the moment, Discord can be seen from Matrix though, which is a great advantage. If you finally decide to move to Slack, it would be cool to have a bridge, like the Astropy community has.

2 Likes

The Julia community has a very big, very active Slack and I think it’s served us quite poorly.

Slack’s developers are unresponsive, and make a lot of questionable decisions and then just force their users to live with them. Their crappy version of not-Markdown is really frustrating, and worse than it used to be. They don’t have syntax highlighting, they don’t have LaTeX support, their threads are okay, but not great. Worst of all, our message history is lost about every two weeks or so.

I’ve been involved in trying to get the julia Zulip to replace Slack, and have so far been unsuccessful in actually replacing Slack, but have built a large, vibrant community on Zulip separate from Slack. I think Zulip is a much better option, offering

  • a really powerful system for threading conversations
  • markdown support
  • latex math integration
  • syntax highlighting
  • unlimited message history for open source communities (scroll down to the FAQ in this page Zulip)
  • Zulip itself is also open source, and it can be self hosted on your own hardware if you’re into that.

Please come check out the julia language Zulip community if you want to give Zulip a try! Maybe we can convince you to give Julia a shot too :wink:

5 Likes

+1 vote for Zulip. We use it for both skimage (skimage.zulipchat.com) and napari (napari.zulipchat.com). The threading model is just second-to-none. All of the other reasons given by @mason we also love.

1 Like