Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Discourse revisited #194

Open
ian-r-rose opened this issue Oct 21, 2021 · 36 comments
Open

Discourse revisited #194

ian-r-rose opened this issue Oct 21, 2021 · 36 comments

Comments

@ian-r-rose
Copy link

Hi all,

In #46 the community discussed starting a Dask discourse page. There were some initial experiments in that direction, but then the discussion seems to have stalled, and the page lapsed. I'd like to revisit the idea.

There are many valuable discussion topics that are (in my opinion) not particularly well captured by the current set of communication tools (GitHub issues, Slack, Gitter, Stack Overflow). These include questions about usage, configuration, deployment, integration with other tools, and general advice for how to approach Dask-based workflows. We currently point users towards Stack Overflow for usage questions and Gitter/Slack for chatting (though the latter are somewhat discouraged since they have a poor search story).

At this date, Discourse forums have been adopted by (at least) Jupyter, Pangeo, Bokeh, PyMC, and Plotly, most of which with decent-to-good community engagement. They seem to be a well-understood and liked model for community discussion, and have at least a few major advantages over the current community slack:

  • One can view and search for discussions without having an account/slack invite (I suspect this is a major impediment to attracting more community discussion in the slack).
  • The discussions are searchable by users and indexed by search engines (I regularly see the Jupyter discourse pop up in my google searches)
  • It's easier to categorize and tag topics.

Alternatives

GitHub issues: This repository aside, they are intended for bug reports and feature requests, usage questions are discouraged.

Stack overflow: can be an excellent Q&A website, but has a very strict definition of what constitutes an on-topic question. A Dask-specific forum allows for a wider range of conversation.

Gitter: mostly discouraged due to it's poor searchability and ephemeral nature.

Slack: better used and understood than Gitter, but many of the same drawbacks.

Specific proposal

I'd like to resurrect the dask.discourse.group Discourse page and try out some layouts, categories, tags, and welcome messages. If people like it, we can "bless" the page and start directing traffic there. Of course, it would only work if we are able to have knowledgeable people monitoring it and maintaining a welcoming and civil atmosphere. I would hope to draw from the experiences of some of the above communities.

Objections

  • I already have too many communications channels: fair point, though I think there is a real gap in the Dask community channels today. Worth a shot?
  • Who would maintain and moderate this board?: hopefully this would be a group effort, but I would be happy to start off doing this. This would largely be under the auspices of Coiled (my employer), but I would hope to be able to attract other institutional and individual contributors.

Thoughts?

@mrocklin
Copy link
Member

mrocklin commented Oct 22, 2021 via email

@GenevieveBuckley
Copy link
Collaborator

One can view and search for discussions without having an account/slack invite (I suspect this is a major impediment to attracting more community discussion in the slack).

I definitely felt this friction, and agree that it's a problem.

@jacobtomlinson
Copy link
Member

I also chatted with Ian about this yesterday.

I'm apprehensive. Adding more communication channels increases maintainer burden. I struggle to keep up with all my notifications as it is. But I agree some conversation types are not well facilitated by our current communication channels, so I'm up for giving it another shot.

I am also optimistic that this might reduce traffic in other places (particularly Slack where similar conversations happen repeatedly due to lack of search).

Perhaps we should consider moving everything that happens in this repo over to Discourse as an incentive for maintainers (e.g me) to keep an eye on it closely.

@ian-r-rose
Copy link
Author

I'm apprehensive. Adding more communication channels increases maintainer burden. I struggle to keep up with all my notifications as it is.

I hear this. I guess my hope for this is that it's not quite so high-interrupt as slack, or even GitHub issues. By default, I think it sends you a daily digest (a feature I've been wanting in GitHub for quite some time), so I don't think it tends towards overwhelming you in notifications.

I am also optimistic that this might reduce traffic in other places (particularly Slack where similar conversations happen repeatedly due to lack of search).

Searching plug search-engine indexing is a benefit to my mind.

@ian-r-rose
Copy link
Author

ian-r-rose commented Oct 26, 2021

Okay, I've done some work setting up some broad categories and labels over at dask.discourse.group. I'd be glad to hear feedback from folks here (that feedback could even be on the forum 😉 )

In particular, I'd like to direct your attention to this orientation message, and this as-yet-empty introductions topic.

@GenevieveBuckley
Copy link
Collaborator

@ian-r-rose when I click the link you posted above for the dask discourse group, I get an error "Not Found" (see screenshot below).

It looks like you've written [text](text) instead of [text](url) in the markdown link. I think that's the problem.

image

@GenevieveBuckley
Copy link
Collaborator

...and now I've had a sec to look at the other two links, it's obvious the dask discourse page is at: https://dask.discourse.group/

Looks good!

@GenevieveBuckley
Copy link
Collaborator

Ian, it'd be helpful if you could share what you want people to do next.

  • Ask maintainers to subscribe to new post notifications with tags that are relevant to them (array/dataframe/deployment/etc)?
  • Ask maintainers to start having some conversations over there, so it looks less empty?
  • Publicize it among Dask users?

I have access to the Dask twitter account, so if you write a tweet I'm happy to post one for you. Let me know if you'd like that.

@jsignell
Copy link
Member

I'm with Jacob on being extremely hesitant about adding another tool.

When github started "discussions" (this is dask/dask for reference: https://github.com/dask/dask/discussions) I was extremely hopeful that those could fill the gap that you have identified. I agree that they aren't doing it yet, but I think we could do a better job of pushing people to ask usage questions in there. Is there something missing from discussions that you think discourse does better?

@ian-r-rose
Copy link
Author

@ian-r-rose when I click the link you posted above for the dask discourse group, I get an error "Not Found" (see screenshot below).

Thanks for flagging @GenevieveBuckley, I've fixed the link.

Ian, it'd be helpful if you could share what you want people to do next.

I think that if people's concerns are addressed/alleviated, I'd advocate for people to start by adding introductions to the welcome thread and directing traffic there.

* Ask maintainers to start having some conversations over there, so it looks less empty?

Absolutely.

* Publicize it among Dask users?

Yes, in particular I think it would be useful to link to it here.

@jakirkham
Copy link
Member

Since a couple of people mentioned concern of adding another discussion tool, would it be worth thinking about what tool will be removed when adding or deciding to keep Discourse?

@ian-r-rose
Copy link
Author

Thanks for your thoughts @jsignell. I'm glad you brought up GitHub discussions. I was also hopeful that it would provide a similar model, though I don't think it's quite done the job to date.

Is there something missing from discussions that you think discourse does better?

My pitch for discourse over discussions is basically this:

  1. Adoption: many of our peer projects are using Discourse for this kind of discussion, and seem to be doing it with good results. In my research I've seen very few using GitHub Discussions. There's clearly some path-dependence here, but using a similar set of tools is likely helpful from both a maintenance perspective and from a cross-project community-building perspective.
  2. Better tooling around moderation, community management: Discourse is designed from the start for this kind of discussion, while GitHub discussions feels (and this is just an opinion) more like a tweaked issue tracker.
  3. Cross cutting discussions: as far as I know, GitHub discussions are only available on a per-repository basis. This makes it harder for people to have discussions that cut across dask repos or don't even belong in dask (e.g., pangeo or xarray-related topics)

Now, as is often the case with engineer/scientist-brain, I think there is a danger of wanting a technological tool to solve a social problem. Ultimately I don't think that just the choice of discussion platform would generate the kinds of discussion we want. But maybe it can help?

@ian-r-rose
Copy link
Author

Since a couple of people mentioned concern of adding another discussion tool, would it be worth thinking about what tool will be removed when adding or deciding to keep Discourse?

At the very least, I think gitter is dying a natural death. The official docs mention gitter and slack, but don't really encourage them. GitHub discussions aren't mentioned anywhere, AFAIK. The dask/community repo says that it's intended to be "low traffic". To my mind, part of this is suitably tweaking where people are pointed, and then the choice of whether/when to remove something may become clear as folks vote with their keyboards?

@jakirkham
Copy link
Member

So should we just drop Gitter then? If so, what would that process look like?

@ian-r-rose
Copy link
Author

@martindurant is doing yeoman's work on monitoring gitter, though it seems not hugely active, I'd be curious to hear his thoughts on how that's going and whether he'd want to direct his attention elsewhere.

I think the process would involve removing it from the official docs, and replying to folks that they should move conversations to the relevant other platforms (at least for a few weeks). It would be nice to be able to pin a message, though I am not aware of a way of doing that.

@jsignell
Copy link
Member

jsignell commented Nov 2, 2021

If we recommend against gitter and discussions and drop references to them, then I am happy to encourage the use of discourse.

@jcrist
Copy link
Member

jcrist commented Nov 2, 2021

If we recommend against gitter and discussions and drop references to them, then I am happy to encourage the use of discourse.

I agree with this. Also note that we can disable GitHub discussions so they're not even an option.

@jsignell
Copy link
Member

jsignell commented Nov 2, 2021

Now, as is often the case with engineer/scientist-brain, I think there is a danger of wanting a technological tool to solve a social problem. Ultimately I don't think that just the choice of discussion platform would generate the kinds of discussion we want. But maybe it can help?

I totally agree with this. If you think discourse will make it easier to keep track of things then we should give it a shot.

@GenevieveBuckley
Copy link
Collaborator

Also note that we can disable GitHub discussions so they're not even an option.

Side note: if disabling GitHub discussions deletes current discussions, we have a few that should be transferred into issues (like Emil's discussion about map_overlap improvements). Just making sure people are aware if/when that's a thing that happens 😄

@GenevieveBuckley
Copy link
Collaborator

GenevieveBuckley commented Nov 2, 2021

@ncclementi perhaps we should mention the new Dask discourse at your Dask workshop tomorrow (Unless @ian-r-rose wants to keep it quiet for a bit longer)? (I don't remember if it was already in the course notes or not)

I think the hope is that it will be a bit more actively checked by maintainers than stackoverflow is right now.

@ian-r-rose
Copy link
Author

ian-r-rose commented Nov 3, 2021 via email

@jacobtomlinson
Copy link
Member

I just checked out an issue on dask-kubernetes which is a usage and troubleshooting type question, rather than a feature request or bug report. It stood out to me as a good candidate for the type of question to redirect to the discourse.

@ian-r-rose is this the kind of topic you had in mind for discourse?

@martindurant
Copy link
Member

Time to ask people on gitter to stop using gitter? Questions there are very likely to be a good fit for discourse, and often go unanswered.

@ian-r-rose
Copy link
Author

I just checked out an issue on dask-kubernetes which is a usage and troubleshooting type question, rather than a feature request or bug report. It stood out to me as a good candidate for the type of question to redirect to the discourse.

@ian-r-rose is this the kind of topic you had in mind for discourse?

Yes, this is exactly the kind of topic I had in mind! I suppose this is the type of thing that I'd direct towards the "Deployment" category, but I also don't think it's a big deal if people choose the category that makes most sense to them.

@ian-r-rose
Copy link
Author

Time to ask people on gitter to stop using gitter? Questions there are very likely to be a good fit for discourse, and often go unanswered.

Yes, I think that it's a decent time to do that. I just removed references to gitter from the docs, so hopefully we will get less new traffic there.

@ncclementi
Copy link
Member

Yesterday with @ian-r-rose and @scharlottej13 we were drafting a template on how to respond to questions that we want to redirect to discourse and follow-up steps. You can find the template in this issue #198 and use it as a reference on how to respond to people.

For example dask/dask#8324

I was wondering if this kind of issue should be tagged in a certain way, or should we just leave them untagged.

@jsignell
Copy link
Member

jsignell commented Nov 4, 2021

Seems like a good chance to use the discussion tag

@fjetter
Copy link
Member

fjetter commented Nov 9, 2021

Do we want to adjust the "General Coding Question" link which sends people to SO?

image

see https://github.com/dask/.github/blob/202332470d293d2288c23fe235bb75c7fcd72d2b/.github/ISSUE_TEMPLATE/config.yml#L6-L8

@ian-r-rose
Copy link
Author

Do we want to adjust the "General Coding Question" link which sends people to SO?

We had some discussion with @jacobtomlinson about this a few days ago when adding Discourse to the list, and we decided to keep it around as a valid place to ask questions (though below the Discourse option).

@jakirkham
Copy link
Member

The nice thing about SO is it has a very clear question & answer format and the UI is designed to emphasize that. While discussion threads on things like Discourse are nice, they are more focused on the flow of conversation.

@GenevieveBuckley
Copy link
Collaborator

@ian-r-rose do you want me to publicize the Dask discourse forum with a tweet from the Dask twitter account? That's easy for me to do if you'd like.

Earlier we were holding off on this, but I think now we've more or less been publicizing it everywhere else (like the dask-tutorial repo, the github issues template, Coiled's Dask heartbeat, etc.) so it seems like a good time.

@ian-r-rose
Copy link
Author

@ian-r-rose do you want me to publicize the Dask discourse forum with a tweet from the Dask twitter account? That's easy for me to do if you'd like.

Sorry @GenevieveBuckley, somehow I missed this! I would welcome that!

@GenevieveBuckley
Copy link
Collaborator

Tweet scheduled for 8:37am PST Monday:

Did you know Dask has a discourse forum? https://dask.discourse.group/

It's a great place for usage questions and discussion. Head on over to check it out!

And because December is a busy time and it's easy for things to get missed, I've scheduled a second on for January 17th at about the same time:

In case you missed it, the Dask discourse forum is now live: https://dask.discourse.group/

Come and say hi in the introductions thread: https://dask.discourse.group/t/introduce-yourself/22

@jacobtomlinson
Copy link
Member

The forum seems to be going well, folks seem to be turning up and asking questions that are well suited to a forum.

One thing I noticed is there is no native way in Discourse to mark a thread as resolved or to highlight a comment that solves the issue. It looks like there is an official plugin for this, perhaps this would be a good feature to enable?

Also could I get admin rights on the forum @ian-r-rose?

@ian-r-rose
Copy link
Author

One thing I noticed is there is no native way in Discourse to mark a thread as resolved or to highlight a comment that solves the issue. It looks like there is an official plugin for this, perhaps this would be a good feature to enable?

Good idea! It was already installed, but not enabled for all topics. I've tried flipping that switch, but I'm still not entirely sure where it should be showing up...

Also could I get admin rights on the forum @ian-r-rose?

Done

@jacobtomlinson
Copy link
Member

Ah awesome! And thank you!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

10 participants