Instant messaging platform for beman

This is discussed in today’s minutes, but since this request have, by nature, a higher bias on ppl who isn’t participating in the meeting. I will post this here to gather more feedback.

Basic Idea

It would be helpful to have a channel (discord/ irc) to chat with other beman contributors to ask smaller scale questions/ to test out ideas/ hangout. There’s questions that’s too small for discourse and I believe beman regular’s GitHub inbox is already full.

Topics suitable would be: small paper/ wording question, C++ question, infra question.

@dietmarkuehl summarized this beautifully at the meeting, there’s questions with short time span that doesn’t need to stay (as it is here on discourse) for longer than e.g. 2 week, that would be suitable to instant message platforms.

@paul has a discord server that I chat with about inplace_vector, and has already helped me a lot as a non-expert contributor (thanks!).

This would also be an alternative avenue for contribution to build knowledge surrounding beman community, and would be a good way to gather feedback outside of GitHub threads.

Having an instant messaging platform is common in similar community

LLVM has a discord server. Boost has an IRC channel on freenode. I personally prefer a discord server over IRC/ mailing list any time of the day…. It’s 2024 after-all.

Argument for discord

Folks (like me) hear about beman from conferences like CPPCON and CppNow, which I believe is the one of the main avenue for contributor inflow. They both use discord for conference logistics, I think it is safe to assume big enough portion of contributor/ interested individuals have a discord account.

Discord is feature-full with good support across all platforms, and is well tested for community building.

Alternatives

Discourse

@InbalL tested instant messaging native to discourse, but she’s happy with Discord as well :slightly_smiling_face:
@bretbrownjr suggests the main problem with discourse is that there isn’t a good notification system and thinks discord is feature full for this use case.

Other platforms

There isn’t a particular reason to not use slack/ teams/ telegram functionality wise if not popularity.

Concerns

Moderation obviously.

If the current size of beman community is big enough to support a discord server. This would be wasted resource if this does not encourage more participation, no one like another instant messaging app on their phone with no messages/ a dead discord server.

Asking questions to other maintainers is the main motivation for me, but I am not sure if other routine maintainers share this need. Maybe @dsankel , @dietmarkuehl , @neatudarius , @ednolan , @maikel can give more input regarding this.

Logistics

I am also open to attaching ourself to some pre-existing discord community, this would be an extra avenue to advertise ourself (also to come-up with more library ideas), and may be more reasonable for our current size. We could grow into a separate server afterwards. Though its unclear which community with a discord server would be a good choice here.

I can set something up for beman directly as well, but I cannot guarantee I will be moderating every single messages.

A general consensus on approach here would be preferred before I invest time in setting the system up.

Hi,

I’ve been pinged, so I feel like I should share my opinion. I’m already using Discord for various C++ related servers, such as the #include server. In the past, I’ve also been on the cpplang Slack server but I stopped following it, because it was too much for me at some point. Consequently, I would prefer a Discord solution over yet another platform. Having that said, I can relate with a recent discussion on the boost mailing list: Having too many information channels makes it hard to follow ongoing discussions (or reviews in Boost’s case). I’m okay with just reading Discourse and staying in contact with everyone on GitHub, Mail (and Discord with some of you).

Cheers,
Maikel

1 Like

+1 for Discord. I think it will likely be best suited for getting quick feedback and having some discussion regarding specific PRs or implementation questions.

I’ve also used Gitter in the past, and it also works well, but I doubt many have a gitter account already though it does link well with other account providers (Github and the like).

1 Like

I am bit worried about this as well, as it seems like most communication are run by emails.

This was discussed at the 12/23 meeting. There was a general feeling that having more formal information channels (lots of github traffic) would make keeping up more difficult. For me personally, I’m not a fan of discord and don’t want to add it as another thing to track. Also mentioned in meeting that discord isn’t searchable on internet - depending on what you want that’s good or bad.

I’m wondering if some of the discourse notification issues are just settings? Would be nice for someone to run an experiment and see? Like by default this thread is set to ‘tracking for me’ – ‘watching’ is a higher level that notifies on every update.

Setting up a discord server is pretty easy, in fact I have my own. I could set one up and we can do a trial run on it.

A good thing about it as already mentioned is that many people already have a discord account.

2 Likes

Understood, but as mentioned the general vibe of today’s meeting was to not create another communications platform. I have a discord account which I only use during conferences that use discord – I don’t want to start needing to check it.

@dietmarkuehl I’ve created a networking chat channel (should show up under channels). I assume people will need to join (I didn’t put automatic add on).

edit: here’s the docs on discourse chat Discourse Chat - Plugin - Discourse Meta

Where can I find the networking channel?

For me the channels show up on the left hand side of the page – and as @maikel found he could just join the chat.

I also think another platform won’t bring more value vs overhead.
I would remind you that the current time for the sync was moved to accommodate people from 3 continents, so maybe an instant messaging app it won’t help much people.

I think our current collaboration via Discourse + e-mail/Github + 1h-weekly sync works and I would not change that.

I heard @dietmarkuehl express a desire to use a chat-like service to coordinate among that subgroup – which is why I created the networking channel. Which I don’t think has gotten a real test yet.

I’m also happy with our current platform setup. I think, unlike Discord, it leads to more thoughtful conversation due to the interface guiding people toward longer, more organized posts. Nothing is perfect, but I’m okay with the tradeoffs made for the Beman discourse.

I realize I have not jumped in after the initial proposal.

My main argument here is to provide a space that one can ask quick questions within the beman project scope that could be answered by most of the contributors. And I think this would help lower the barrier of entry to contribute to beman project.

Instant message platform helps with questions that are:

  1. Small in nature (thoughtfulness is often not required)
  2. Only a simple response from “someone” is needed, response not needed by a specific expert
  3. Don’t know who to ask

Typical kinds of questions fitting this description:

  1. C++ / CMake question
  2. Paper interpretation/ wording questions
  3. Setup questions
  4. Infrastructure questions (especially given we discourage comments in config files)
  5. Help with/ review PR
  6. Who to ask, where to file issue

The approach by the above thread call for:

  1. Post the question on discourse as a thread/ GitHub as an issue. Some questions are too small for discourse, new users are not able to post threads until moderator signoff on it. Some questions are not suitable for a specific GitHub issue.
  2. Post the question on an existing discourse/ GitHub thread. Reply in a discourse thread only notifies respondents in the thread. Due the nature of small questions, it would be fine to broadcast the question to get a quicker response. That’s why folks like me bring PRs to meetings, to broadcast question “pr good?” to everyone. Here is an example that directly calls for broadcasting an infrastructure question that I believe a lot of contributor can give at least a hint to:
  1. Sending an email. This is not searchable and invisible to the greater community. Which address, who to contact is hidden knowledge, we do not (and probably should not) have a directory of emails to contact. Paper authors sometimes are not implementer. Someone else with a similar question / interest cannot jump into the conversation to provide a quicker response or to provide context. The response time is unpredictable, and suffer the isocpp meeting problem as below.
  2. Join the meeting. Very-high fraction: It is amazing how good of slot we found, but most people are at work/ school, 6AM PST=9AM EST=2PM UTC=3PM CET. During isocpp meeting periods, beman meetings are paused for two weeks. If someone external to the isocpp community missed a meeting before the two weeks gap due to personal reasons, it would take almost a month to get a response. Simple, “here’s an idea, can someone sanity check me before I commit to developing it” style questions are literally not askable during those periods unless one have the email address of most relevant contributiors.

I want to point out that code/ infrastructure/ paper/ double check for me kind of questions will be asked by contributors who are new / interested / non-expert to the project. Someone new to the project

  • may not be able/ not willing to join the weekly meeting,
  • are more likely to be unfamiliar with our infrastructure (CI/linting),
  • are more likely to need help when interpreting papers if they are contributing to libraries,
  • are more likely to need help with new C++ constructs / specific corners of C++ papers maybe based on,
  • are more likely to have a hard time knowing who to contact and where to find their email,
  • are more likely to be unfamiliar with GitHub.

Given our documentation have not been fully fleshed out and we are rapidly changing, if we want to have contributors outside of isocpp community a discord server/ IM platform would lower the on boarding cost and encourage more contribution.

I also want to point out that when we have more production ready libraries, library users will raise, in-majority, small questions. It will be a lot easier and have a lower initial friction to conduct discussions / give small feedback on discord, as discord is a more widely used platform, and the fact that it is more casual. Discussion like “I tried using this library here, I think this might be a stretch but I think this does not make sense” is sometimes not “formal” enough for a GitHub issue/ discourse thread, but potentially valuable feedback that could be compounded by sparking a discussion that is not possible in an email thread directly to the author. Thoughtfulness does come with barrier of entry, it maybe better to have the door wide open for contribution/ feedback then turn it down if it’s too chaotic.

Addressing points in this thread:

This is limitation on discourse’s/ mobile side, mobile push notification requires special interface with os provider. See: Push notifications settings - Support - Discourse Meta

I don’t think small questions/ discussions need to be searchable on the internet, I don’t see this as a downside. As long as we will be able to paste a link to the discussion, it would be sufficient.

I do agree it may make keeping up with information more difficult, but I do want to point out part of the reason I think discord would be beneficial is current systems are too formal and sometime hidden, there is no place to ask smaller, trivial, leading questions.

An interested on-looker exploring beman project have significant barrier of entry if they have small questions. Attending meeting requires signing up to discourse, messaging lead for invitation; posting questions as topics/ replies on discourse require moderator approval as new account; emailing as a form of communication is not obvious, finding email address to contributors are hard and is unclear who to send said email. (note that I do think those moderation are needed, but I do think small questions should be able to bypass them).

This is while: the infrastructure is changing quickly thus there’s no up-to-date documentation on everything, contribution to proposal often requires knowledge into cutting edge C++ constructs. With widely available, low barrier-to-entry method of communication like discord, people who are interested the project can participate easier by being able to ask simple questions.

Is this still a thing? It does not show up on my side-bar:

Yes, but meetings are a high-friction form of participation, I understand it is really hard to coordinate timezones, but it is also hosted on normal working hours across all continent. As the only form of communication that allows broadcasting questions with quick feedback, it is also easily influenced by beman core’s availability. e.g. it stops during isocpp meetings.

I think people can still do adhoc chats if they actually want to connect. I would still not want the overhead on a new channel.

We have 6 months. Let’s see how big we are after 1 more year.

Again, it’s hard to keep up so many threads here, but it’s OK for the moment.

Yes, it’s still there – 4 people outside of myself have made themselves members.

Is there a compromise where we create a chat channel for quick questions or something along those lines? That might satisfy your desire for that lighter weight interaction. Of course I can’t solve the client issues…