🏠 back to Observable

experiment: a D3/etc. Zulip chat server

As an experiment, in response to my own dissatisfaction at d3js.slack.com Slack (and with the go-ahead from @enjalot who administrates that one), I started up a D3 Zulip server:

We can run it as a small experiment for a while and see how it goes. If it doesn’t seem to be any improvement over Slack we can abandon it. If it seems to go substantially better, we can potentially try to migrate people. (I’m not trying to bifurcate the community or step on anyone’s toes.)

In light of my previous comment I know this might seem a bit like xkcd: Standards. But from lurking and occasionally chatting in a couple other Zulip servers, I think it has at least the potential to host more productive conversations.

My (not necessarily typical) experience with Slack has been that:

(0) Slack works alright for answering simple questions and for show-and-tell.

(1) It is often non-obvious where to post something, and each separate chat channel seems like its own little island. New users don’t bother signing up for more than a handful of the numerous available channels even though many are about broadly relevant topics. Most posts don’t get seen by most of the community, and it is hard for individual visitors to keep up with conversations that might be interesting.

(2) Often posts asking for feedback or conversation end up without much response at all, and then basically just float out of recent history never to be seen again. What conversations do happen seem to mostly be relatively light on content. I haven’t seen too many serious technical conversations that get into the details.

(3) When a conversation is started in a Slack “thread”, there are occasionally a few participants who can chat back and forth, but that conversation ends up hidden away from the broader community, and often dies within a short time window.

(4) It is hard to search for past conversations or spark them back up after a delay.

(5) Heavy users need to invest a considerable amount of effort to follow lots of threads and channels, while light users end up not seeing what is happening.

All of this might just be due to people in the community being busy, or chatting somewhere else, or some chicken-egg problem, …, but there are regularly people in the D3, Observable, and related communities who I’d like to rope into a public or semi-public conversation more interactive than just email or this forum, but I (perhaps wrongly) am scared away from trying to put those on Slack.

In contrast, the Zulip servers I have seen have a lot of great detailed technical conversations happening, with people hashing out APIs, critiquing blocks of code, and having long-running discussions stretched over months. The alternative streams + topics model makes it easy for both lurkers and highly engaged participants to skim new posts and see what people are talking about, and also makes it easy for people to hide / opt out of conversations they aren’t interested in. The search is excellent. Also importantly, the full chat history is saved and can be accessed (unlike the free tier of Slack which only goes back a couple months).

Anyway, if anyone wants to chat about their notebooks, or about data, visualization, cartography, etc. in general, feel free to hop on and strike up a conversation. And feel free to add any new ‘streams’ you like. So far there’s not much there, but I’ll try to be online when I can for the next few days at least.


Thanks for setting this up, I’m a big fan of Zulip so I’ll see you there!

I just spent way too much effort figuring out how to make a ‘linkifier’ to turn
@fil into @fil
@jrus/cubic-spline into @jrus/cubic-spline
@mbostock/parameterized-notebooks?foo=bar into @mbostock/parameterized-notebooks?foo=bar

Thankfully it turned out to be much easier to turn
t/4468 into t/4468 and
!mbostock/5699934 into !mbostock/5699934

Zulip also seems to support LaTeX in comments, which is pretty handy.

And we can set the default code language to javascript, for syntax highlighting.

1 Like