This post is going to walk through all the details associated with the archiving of the helpdesk channel on the Julia Language’s Slack. Before we go into why this decision is being made, let’s talk about what our public Slack workspace has done for us so far.
When Jon originally created the workspace back in July of 2017, I don’t think he ever realized how big it would become. From all accounts, the growth and use of our Slack has been a smashing success and allowed the community to continue to grow. Just look at this growth:
One of my favorite saying related to growth is: “do things that don’t scale, till you can’t anymore”. Julia benefited from the help desk channel by allowing users to drop in real-time and have their questions answered. When the community was smaller, this was helpful because you needed a critical mass of users on a single platfrom such that you could get a wide variety of questions answered in a short amount of time. We have reached the point in the Julia communities growth where the help desk style Q/A is now hindering our growth rather than helping us expand our reach further. It’s important to note that helpdesk is still the most actively used channel by a large margin:
The motivation behind archiving the helpdesk channel:
We get to make the Q/A public so it helps people who may have the same question in the future. This point has many implications which are extremely important for the growth of the community.
Free’s up Slack message cap (currently at 10,000 messages) for conversations to happen there that need to be had synchronously. Slack will remain the place where you can sign up and talk with people in the community about all the awesome things that are going on.
Increases the visibility of Julia as a language (in language rankings and search results)
People get recognition on Discourse for being a contributor. Creating positive feedback loops is important for the health of a community and Discourse allows us to do this automatically.
Better moderation features.
Build in features on Discourse to show us how recently someone joined and if this is their first post.
In conversations with community members, the point was brought up that this “Live Q/A dynamic” present in the helpdesk is one of many things that makes the Julia Community special. This is something we really hope to preserve in the push to have questions posted on Discourse. The burden is on us as the community to ensure that first time posters, new community members, and those less comfortable with the language in general, have a positive experience posting on Discourse.
The logistical plan moving forward:
Present plan on discourse
Post plan and pin to the helpdesk/general channel
Update welcome messages and “general” channel description on Slack to reflect this change
Update Julia Website to point people to Discourse who have questions
Search for other various resources pointing to helpdesk and update those
Officially archive the channel on November 1st, 12:01 am PDT
Continue to monitor the discussion on Slack and the like to ensure a smooth transition
Thanks all for helping make the community as awesome as it is today. If you have any thoughts or feedback, feel free to reply below.
Edit: Switched title contents from “archived” to “closed” for clarity.
Edit #2: Switched the title from “#Helpdesk channel on Slack to be closed EOD PDT on October 31st, 2020” to what it is not so as not to confuse folks visiting this thread in the future given that we are holding off on closing the channel.
Gut reaction: I don’t think this is a great idea (unless… see below). People who use Slack are aware of Discourse and choose Slack for a reason.
I second @Mason’s suggestion. I was an early Zulip skeptic, but after using it side-by-side with Slack, I’ve come to prefer Zulip. The code and mathematics rendering is superior, there is no “Slack hole”, i.e. messages are kept around forever, and a killer feature I never thought of is the ability to “mute” things I’m not interested in without leaving a channel and when the topic veers, you can split it to a separate thread without skipping a beat. Coming from Slack, there is an acclimation period and it might feel a little odd at first, but you get used to it and once you do, you might wonder (like I do) why all chats are not more like that. Similar to how Julia learned from the best other languages have to offer, Zulip has also learned from the best other chats have to offer and, like Julia, has created something new and better. For what it’s worth, as I write this, there are currently 4,857 people on Rust’s Zulip chat.
PS: If this idea is secretly intended to encourage people to migrate to Zulip, I take back my gut reaction and think it is brilliant
To share my point of view about these motivations:
(3) and (4) are indeed true about Discourse, it is good platform to have things open and accessible even for those curious people who don’t necessarily have an account on the website or are trying Julia every now and then just to learn it.
All the other items are a limitation of Slack. It is funny how Slack is being pushed so hard by a few people in the community when it is clearly a poor design.
Ideally we would have a quick Q/A or #helpdesk stream in Zulip for those interested in simple short questions like “why my code is producing this error?” and leave Discourse for more elaborated discussions.
My first reaction was to try to think what other channel will become the next helpdesk channel (general? random?). I think this is the most likely outcome.
I do think it could be useful to make the Q&A public/searchable/accessible and I also think that Discourse (or SE) is the more appropriate place for probably >95% of that content. But as other people have said, these outlets were always available, yet the questions went to Slack helpdesk anyway.
This may sound selfish but I don’t care about the growth or visibility of the community as a whole when asking or answering a question. I care about the issue being resolved as conveniently as possible. To me most of those points seem to focus on the “bigger picture” and not on the individual who wants to seek help or help out others. 4) is an exception to that but given that people respond on Slack without that public recognition, I’m not sure it’s needed.
Discourse adds significant friction. For one it’s yet another platform one has to monitor and go to (which is why I’d imagine a lot of questions will just end up in #general) but also there’s, imo, a higher barrier to posting on a public and highly visible forum because you know your question or answer won’t be buried, which to me implies a higher “quality” requirement for the question/answer than a live chat. This is probably a good thing for more involved problems but for simple questions, I’d feel like I’m wasting more time of others when asking them on Discourse because it seems like a bigger time investment than quickly answering something on a chat that you have open all day anyway.
Fwiw, that’s also a Slack-problem, not a live-chat-problem in general. Zulip lets you skim the topics and see what you can help with, if you want.
Design stuff is up for debate and such. This is not intended to be a Slack Vs Zulip debate (though those are always interesting).
“why my code is producing this error” is a perfect use case for Discourse. It’s unlikely the person having that issue will be the only person ever to encounter it. Posting to Discourse/Stack Overflow (maybe) would be the optimal place for this question IMO.
I understand your viewpoint. The reality is that people use the status quo. The status quo for some time for Slack users was to post in helpdesk. We are trying to change that.
I don’t expect everyone to care about the big picture stuff but these are the tough decisions that have to be made so that the community can continue to grow.
The higher barrier/friction argument is one I can sympathize with. There are lots of things we can do to address this and make Discourse welcoming. If it’s a simple question and someone’s asking it on Slack, it means we failed to do our job in the first place. If it is a common question, it should be searched rather than posted to a chat app and posted on Discourse so that someone who is new to Julia does not have to sign up for one of these platforms and ask a simple question.
I agree that people choose Slack/chat for a reason. It may be because they are uncomfortable asking in public or that they feel the bar is too high for them on Discourse. IMO, the former is a very real reason and benefit to posting on a chat app (and we should have a space for this). The latter is on us to ensure that new community members fell as though there are no dumb questions. If they have the question, chances are someone else did as well and we should support them.
This is not a subliminal post to encourage people to use Zulip. What apps someone uses is their personal preference and each as their own tradeoffs. Where we officially endorse and send users to ask their questions is a different situation.
I think most questions like these aren’t very searchable. If the error is something specific to a package or usage, then yes, it makes sense to have it on Discourse. Most of the time, however, I have the impression that these questions are quick one-time questions for a very specific snippet of code that no one will ever reuse.
I do appreciate the goals here.
I think they definitely make sense.
Someone recently described Julia as having an “oral tradition”, where you learnt things by someone telling you.
This is something I personally like, but definitely we also want a “written tradition” so people can search and find answers.
So I hope this works out.
But I am very dubious of this working out.
People are just going to use #general or #random.
Which will be a strictly worse outcome since those channels will be flooded.
And if we try and enforce using discourse when people do end up flooding some channel, then we come across as pretty unwelcoming.
We have several times on slack has discussions that centred around prodding people toward #helpdesk without answering their questions first is more unwelcoming than we would like to be.
I also worry that this will prove to be exclusionary to some people or even whole demographics.
I hope it won’t, but I am concerned.
It has been my experience that a substantial number of people do not like asking for help in public ways.
In particular I have seen this demonstrated by a preference for direct messaging over posting in a channel.
I can only imagine this is also true for the closed memory limited slack vs something very public like discourse.
It would be ideal if we had metrics in place to track the effect of these changes.
On who is asking what, how long it took to get an answer, who is answering.
Metrics are hard without API.
But I think we definitely need a plan to assess the effect of this change.
The questions you ask on Discourse and those you ask on Slack/Zulip are for me very different kinds of questions. I think both are absolutely necessary fora, and we (at least I) can’t afford to be without the (almost always) immediate response, that I get on Slack/Zulip.
It feels a bit sad as described by others and I’m not sure it works as hoped.
I think it can work when one has an easier way to view discourse threads. Maybe it’s just me but I like to scroll through the slack channel to see what I have missed and what I can learn from the questions and answers posted by others. It feels harder to scroll through discourse without opening a lot of tabs to see a one-liner and a question.
At the moment it also feels like Discourse doesn’t have a fast feedback but that might be just because everyone is on Slack anyway. On the other hand it might be overwhelming for new comers to join the Slack.
I’m not extremely active in the helpdesk channel but do people who answer there feel like the same question is asked over and over again? Then it makes sense to outsource it to a place like discourse such that it can be found. If not, then a chat seems to be more reasonable to me for personal quick results.
Just some thoughts hope one or the other is useful.
I can almost assure you that if anyone ever uses such a phrase as this, as nicely as it may be worded, it will come across as unfriendly and unhelpful. Why not just answer the question there? If I see anyone doing this on Slack, I will refer them to Zulip and expect others will do the same. The result will be that if you want to chat, come to Zulip. You are welcome there.