CMV: Elm would be better off without Slack

Backstory:
Today I had a quick, simple question on elm-spa, one that I’m sure has been asked many times before.

So I log into the elm slack, head over to the elm-spa-users channel (270 people) and scroll up, only to find I can’t view anything older than about 30 days (or 10k messages) without paying.

Fine. There’s a message about upgrading. The $10 a month or whatever is worth it if it means getting answer to simple questions faster.

I ask around, only to find it’s impossible to upgrade slack at the individual level, to has to be done elm-wide (e.g. for 20k people). This means no one in the elm community can view more than 10k messages, or about 30 days of history, on the most popular place to ask technical questions about elm.

These seems crazy. For how thoughtful Elm is about everything else (consistent formatting, whatever) and how willing people are to undergo short term pain (no native code) for long term gain (better packages) this makes no sense.

It’s a ton of effort just going down the drain. Even now, as I type this discourse thread, I’m getting a warning (“your post seems similar to [some post from 2019]”). This makes sense, because having people post (and answer!) the same message/questions over and over is a huge waste of time.

I’m sure people here/on slack are more active, and so probably underestimate the number of non active people this setup is leaving behind. Like, what do you think the ratio between people who have read/benefitted from some stack overflow answer vs people who have even made an account (much less upvoted or answered)? I wouldn’t be surprised if it’s 100 to 1. Slack is probably hindering wider adoption (and better packages and all the stuff that goes along with a larger community) by orders of magnitude.

I get these things happen organically and it’s basically impossible for any one person to say “ok everyone stop using slack”. It’s definitely tricky. But it really is a huge shame.

I’ve only used the Slack a few times, and everyone’s really nice on there and everything. But IMO elm would be better off long term if the elm leadership just deleted it. And barring that, if the guide/various plugin maintainers stopped telling people to ask questions there. Barring that, here’s a smaller scale idea:

A niche statistical programming language I used to use (Stata) had a “stack overflow day”, where a few people compiled a list of common questions/good answers and posted them to stack overflow. Would anyone be interested in something like that for Elm?

21 Likes

There also was a Zulip test phase some time ago, but that went nowhere.

And the stack overflow thing is being addressed by some community members, but not in a “day” format I think.

1 Like

I think @PascalLeMerrer would agree with you about the “stack overflow day” thing :wink:

I personally liked the zulip experiment but very few people used it (probably because people didn’t want yet another tool).

2 Likes

I recently read this quite interesting article:

There’s an interesting quote there:

In fact, the public’s reliance on Stack Overflow is probably the scariest thing that happened to the programming community in the past 10 years. Stack Overflow is a huge crutch that stops you from walking on your own, because it’s too darn easy to look for the answer there. And when people stop thinking for themselves, they end up writing things that don’t make sense.

That made me think that perhaps the ephemerality of Slack might not be such a bad thing. Perhaps the fact that answers have a (small) barrier of entry means that Elm programmers have to engage their own brains a little more often might make them grow a little faster.

It also means that if you start seeing the same question popping up, you start wondering about whether the API/tool/whatever is at fault and start thinking about ways to make it more obvious. Whereas if 2 secs of googling gave everyone the answer, then perhaps the API would stay broken forever.

4 Likes

I’ve never used/heard of Zulip before this thread and would be down for anything except Slack. Seriously, I’d run into the 30 day ish message limit before, but I assumed at least some people could read the history. The fact no one can and it’s all just vanishing is :exploding_head: to me. We might as well use snap chat!

That said, my guess is SO would be best. The upvoting of questions, editing of answers, easy googability — it all seems like a solved problem. Especially if 0.19.1 is going to be the way things are for a long time.

Appreciate the perspective, but hard disagree. This seems very paternalistic. If people think using stack overflow makes them worse programmers, they’re welcome to not use it. I seriously doubt that’s the case though. I’d really like to see this guys history over the years and see how much time he’s logged on SO. Seems like a classic case where revealed preference >> stated preference.

2 Likes

I also disagree on Stack Overflow. I’d never have gotten this far in programming without it. I don’t think that people stop thinking for themselves just because they have access to other people’s work. Especially when so many questions have multiple answers with distinct pros and cons that people will still have to choose between.

I’m nod wedded to Slack specifically, but I really like having a chat-messaging-style community in addition to Discourse. I think the nature of forum-y tools is that just feels like a Bigger Deal to make a forum post with a question than it does to post a question in a chat, and I think that lowers the barrier to asking for people who are anxious about asking questions.

I think it might be useful to have a bot on the #help channel in Slack that asks people to post questions and answers to SO when a question of theirs is answered. It could key off of phrases like “that answered my question” or “that worked” or similar. Even if it didn’t catch all the times questions are answered, it might be effective at making it a community habit even for the ones it doesn’t prompt people about. Alternately, it could just be programmed to remind people how to post a question and answer to SO once a week or something. You can post both a question and its answer on SO at the same time, so just one person could post both. I do this myself every now and then when I can’t find an answer and have to figure it out on my own because I know it’s where I’ll look in the future — much more effective than taking notes for myself on something and then forgetting I ever made the notes.

6 Likes

Slack is definitely not perfect, but I do enjoy it. I mean a great bunch of people hanging out there on Elm slack.

3 Likes

I’ve observed that sync messaging (chat) does tend to generally improve relationships, so it seems to me there is a place for both.

In the elm slack general channel, there 20,637 people – that is a lot.

Discourse has 2,397 users.

I don’t use stack overflow a lot – just not in the practice of going there for answers yet.

3 Likes

I definitely value the Slack instance. I’m totally open to an alternate realtime chat system, but it serves a purpose distinct from forums such as Discourse, Stack Overflow, and Reddit, and I would hate to lose it.

Is Discord any better in terms of history? I don’t like the UI quite as much, but it’s the other “modern” chat app that I see a lot of programming language stuff on.

1 Like

I use Slack and Discord and Discourse and Stack Overflow for Elm, and I like having all of them available, but SO is by far my least used for Elm. Not because SO is bad, but because it’s doesn’t solve the problems I encounter with Elm. If you want your question & answer to live forever, then you’re free to ask in Discourse or SO, but forcing others to do so seems wrong.

There are a lot of impactful discussions I’ve had in both Slack and Discord that I’d never discuss on any other platform, and I’ve tried a miriad of other IM clients.

@jhbrown I like Discord for very small groups, like tens of active users at any one time. It’s also great for voice chat. I wouldn’t use it for any large community though as it has a very different attitude about communication. It’s more about defaulting to opt-in to every discussion with auto adding to new channels and no threads.

Slack also has an advantage that most don’t discuss, it’s used by so many companies already that you probably already have it installed on your work computer, so if you’re working on Elm then you don’t have to download a separate client to chat.

1 Like

I get Slack is nice for relationships and more nuanced higher level architecture type questions or package direction or whatever. But as a place to ask technical questions (which it’s very heavily pushed as in the Elm community) I think it leaves a lot to be desired.

The problems with Slack for technical questions:

  • It wastes a ton of time. I’m sure many of the same questions get asked over and over. This takes up time both of the question asker, as well as the answerers.
  • It leads to worse (or at least more inconsistent) answers. Nothing against people helping in Slack, but because it’s async (and because they know many more people will see it), SO question answerers can spend more time on their responses. And upvotes mean the most helpful, best ones rise to the top.
  • It wastes a ton of time, Pt 2. A library of asked, then answered questions means people can usually search and find what they’re looking for. If no one on slack can help you, you need to wait until someone logs on who can.
  • It reaches way less people, both in time ans space. Stack overflow gets 10M visitors per day. A ton of people can benefit from questions after they’re answered. In Slack, you are the one who benefits from asking your question, that’s it. Someone take a bunch of time to write up a really thoughtful answer that exactly answered your question and put things in a whole new light? Excellent! In 30 days (less as Elm gets bigger) it’ll be gone forever. Hopefully they’re up to it next time it gets asked.
  • It’s distracting. I’m all for people working how they want (which is why I put this last), but I doubt having a Slack tab open all day is really helping anyone’s productivity. Ben Kuhn has a good post on focus and Slack in particular. He says he was able to spend 50% more time on the important parts of his work (coding), largely by not leaving Slack open.
3 Likes

While a lot of questions do get asked repeatedly I see the same behavior on SO. I also do a bit of programming teaching on the side and despite SO existing and having the answers, people still ask the same questions.

I’ve come across many, many SO posts over my career where the top answers are not accurate and often become misleading after a couple years. So being async and having time doesn’t have any greater guarantee of accuracy in this case.

While SO does get tons of eyeballs, that don’t equate to quality of question or answer. FWIW, I’ve also had bad experiences on SO with members who reject good questions because they don’t like the question.

Yes, having Slack open can be distracting. I also find that I am good at finding solutions to problems by chatting with others informally. Particularly during this pandemic I’ve found Slack to be great for solving problems by chatting with people across many different Slacks. It also, for me, helps me get a similar feeling to being in an office without having to be physically there.

I’d ask you though. Are you asking questions on SO and are they getting answered? That to me is the more important issue. Are you being the change you want to see, or are you just requesting others to do it? If you’re on SO often asking and answering, and pointing others to those solutions then maybe you can go drive more people there. Posting on Slack and Discourse about “things should be different” isn’t going to do it. I say this because I’ve been there before, trying to convince others of betters ways.

3 Likes

I’m not typically asking questions anywhere. That’s partly the point. With an active SO community, most people don’t have to

Generally, options for figuring out some small technical problem, from easiest/fastest to hardest/slowest:

  1. Google and read a stack overflow (or other persistent) answer.
  2. Figure it out yourself.
  3. Get help on Slack (maybe 2 and 3 are switched depending on the problem/your skill).
  4. Ask on Stackoverflow (which, for as much as I’m advocating it here, isn’t nec straightforward, esp to a beginner).
  5. Give up/do something else.

Personally, (1) isn’t doable for most problems in the Elm community, mainly because of Slack but also because discourse doesn’t seemed to be indexed well by Google. I usually do (2), once in a while (3) if I can’t figure it out. I’ve never done (4), for Elm or any other language. Now that I know about the universal ~30 day limit on messages (and because I like Elm/think this is a serious problem/this might actually make a difference) I’ll probably try to more when I do have questions that’d be a good fit.

Part of my point is that I think most people using Elm are doing (2), even though they’re invisible to most of the people on this discourse and the slack.

To that extent, I think something like this:

Would be a great idea. So if this resonates with people and something like that happens I think it’ll have been worth it.

2 Likes

Slack doesn’t show you messages older than a month unless you upgrade to peemium or something

No, that’s what I thought too originally, but it’s worse than that. You can’t upgrade individually, it’s the whole community, or nothing. So really, no one can (or ever will) see messages older than a month. It’s a ton of effort just going down the drain.

2 Likes

Not really. I empathize with your perspective as I’ve been there some time ago. Sure, it would be nice to have access to past discussions but the reality is that if a beginner wants to learn they can learn just fine.

I’m subscribed to SO Elm topic and I can tell you that I rarely get to answer anything because by the time I see the notification, someone already solved the issue. For some more complex issues, we have this Discourse and github issues. I don’t see questions being asked in mediums other than Slack that become stale because most people answering questions are on Slack only.

Slack is ephemeral and this has its advantages too. I imagine that maybe this makes it easier for beginners to just ask questions. Not everything needs to be preserved for posterity. There can be space for tears in the rain.

2 Likes

I think also the unlimited longevity of Stack Overflow is a problem. If I see an answer from 2012, which is accepted and highly upvoted, how do I know that it’s still the best solution? What if it’s from 2017?

Of course if I was working on a stack that doesn’t change much (like maintaining a COBOL mainframe), then such longevity would be great. But frontend (for better or worse) is a constantly evolving game. There are few questions that are definitely solved.

That being said, there are various FAQ for various packages, which people publish based on questions that do come up frequently in order to build some of the definite resources, as well as various blog posts answering such questions.

I think SO usually deals with this by letting people (anyone, not just answerer) edit answers. I agree it’s a problem with fast changing front end frameworks (the reason I got into Elm in the first place is because I set down my React app for a few months, then picked it up to find everything was different), but Elm is more stable, especially if 0.19.1 is going be it for a while.

Sounds like point in favor of encouraging people to ask more SO questions, everyone’s rushing to solve answers quickly!

You could be right re: problems encountered with Elm. In theory, this is what I would have thought too. But after hanging out on Slack a bit yesterday/today, many of the questions being asked there are very suitable for Stackoverflow.

Two examples (from Brock in the slack, who was commiserating about with me about Elm info being hard to find and offered to start posting more questions on SO):

The second one in particular has a great, well thought out answer (including a link to a working example). IMO it’s excellent that this will live on (and be googlable which doesn’t seem to be the case with discourse) instead of being eaten in 30 days.

I don’t think we need any radical solutions. Enough people are subscribed to the SO/willing to help that it’s really just a matter of nudging people to post their questions there (maybe in addition to the slack?). I agree with @neurodynamic that a bot prodding people to do that would be a fantastic idea.

1 Like

Thank you.

But encouraging people to ask questions on Stack Overflow is not exactly “Elm would be better off without Slack”.

Another social aspect with asking questions to consider is the willingness to appear dumb. The fact that a trivial question might become the canonical answer for a particular problem forever more (imagine being in a job interview and someone asking you “oh aren’t you the guy who got confused trying to append strings with a + on stack overflow?”), can be a pretty strong barrier. I for one only ask questions on SO that I am fairly confident are actually fairly difficult.

I am a lot more free asking dumb questions on Slack, precisely because they will disappear in a short period of time.

2 Likes