You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Real time chat and other venues for community interaction beyond github issues #167
Would you be open to creating a gitter community for Trio so we have a place for helping people with learning and using Trio and its ecosystem? Is there already an IRC channel or something out there?
Excellent question! I've been meaning to do something like this, but have been slow to respond because I'm cranky about the available options :-).
IRC is obviously a thing, but it's extremely unfriendly to those who haven't already been initiated into its arcane secrets. Obviously I have a bouncer set up etc., but I hesitate to demand that of users. Though I guess we could direct them to IRCCloud. It really seems like we could ought to be able to do better in 2017.
Gitter is a thing, it works for lots of projects, but I'm not very happy with it – the UI tends to bog down in my browser, it's a walled-garden proprietary model, and it's always sending me notifications hours late or not at all. I'm not that worried about lock-in on a chat room, switching is not that hard, but again it seems like we ought to be able to do better. Also, I seem to have somehow gotten into a state where there's a python-trio organization (with a distorted logo, for some reason), but it contains zero rooms and I can't add any.
Slack is popular but extremely unfriendly for this purpose, because of how difficult it makes it for someone new to jump in and start talking. Also super proprietary.
Zulip is a neat open-source chat program, there's a company behind it that I'm told is willing to host it for us for free, and it's possible to do login-via-github, though they don't yet have any kind of anonymous access. The downside here is that it's really designed more for team collaboration; the UI is somewhat confusing and overwhelming when you first log in. Every conversation is labeled with a room + a tag, so conversations thread, but each thread is broken up over days, and when you first log in you don't get "chat log + blinking cursor to add something", you get a bunch of different colored boxes with conversation fragments and have to click on one to reply or else click "start new topic". If anyone's curious you can log into their project chat server here and look around.
There are some other open-source chat apps that exist: Matrix and its Riot client. Mattermost. Probably others. I don't know too much about these and don't see an obvious way to set them up. I'd rather not have to host something myself.
Discourse is generally in this area, not quite the "quick chat" thing but it overlaps. Unfortunately the hosted version is $100/mo which is super expensive for a hobby project. (And they mighhht do free open source hosting but I don't get the sense that they're interested in talking to small projects.) I could host it myself somewhere, but I'm pretty sure eventually something would break and it would take me a few weeks to fix and ugh.
We could do a mailman mailing list. Python.org would be happy to host it.
Is it really 2017 and IRC and mailman are the only decent free options? Anyone else want to weigh in? Maybe I need to try and figure out who to contact to get gitter to unwedge itself...
changed the title [-]Real time chat and other non-issues venues for community interaction[/-][+]Real time chat and other venues for community interaction beyond github issues[/+]on May 27, 2017
Well, I have managed to create a gitter channel (though apparently it can't be named trio because... I don't know why): https://gitter.im/python-trio/general
Mailman3 is another option – they've moved to a kind of hybrid mailing list / web forum model. But (a) this still has the hosting problem (at least until python.org switches, if they do?), and (b) it's not as mature yet as options like Discourse. Here's an example Mailman3 list.
I don't have a deep experience with too many community management software out there, but If it may be of any help I've had a pretty good experience so far with Google Groups. Amongst its features it has:
Decent thread/topic management
Quite good "reply to" and "reply privately" options with good quotes visualization/management (which I find really important to get a good question/answer flow)
Good upload pictures/files management (from emails also)
Nearly instant notifications of new threads/replies
Works pretty well (threads and replies) both from web and email. I use to switch from one to the other without problems quite often
Oh, and quite good searching capabilities! 😄
Regarding gitter, I've never used it till now, but I've just looked at some of the existing communities (as for example Django) and I've found it to be a real mess! Conversations are superposed one with the other in a flat view and it has been difficult for me to follow any of the threads because you don't have any indication of which answer is in reply to which question ... Maybe it's a wrong use of gitter by the Django people or it's just me? What I've liked alot from gitter is its good integration with GitHub issues and so on (I've even seen some bots to create GitHub issues right from gitter itself).
By the other hand, Mailman3 looks much better to me than Gitter, althoug I don't have also any experience with it.
Google Groups unfortunately has two show-stoppers: (a) export abilities are awful: last I checked the only way to get your data out are through scripts that scrape the HTML. I know some projects that have tried to switch away from GG and this was a big problem for them. (b) They've blacklisted my primary email address for inscrutable google reasons, so my emails always bounce unless I remember to manually change my from address every time I make a post or a reply. (There's some undocumented rule like... you don't need a gmail address to use GG, but if google thinks that some email address belongs to someone who also owns a gmail address then that email address can't be used to sign up for groups.)
Comparing gitter to Google Groups or mailman3 is sort of apples-to-oranges: they're really designed for different things. Gitter is like IRC or Slack: a tool for real-time, back-and-forth, mostly-emphemeral chat. On the other hand, Google Groups/mailman3/Discourse/etc. are for long-form asynchronous discussion with stable archives. (In the Olden Days every open source project would have an IRC channel and also a mailing list; the two kinds of tools are often complementary.)
I'm kind of mixing the two approaches together here because Github issues already provides a more-or-less-decent venue for asynchronous design discussions for developers, so I feel like the next biggest thing missing is a friendly, low-barrier-to-entry way for folks who are experimenting with trio, and for this I'm not sure which approach is better.
Comparing gitter to Google Groups or mailman3 is sort of apples-to-oranges: they're really designed for different things. Gitter is like IRC or Slack: a tool for real-time, back-and-forth, mostly-emphemeral chat. On the other hand, Google Groups/mailman3/Discourse/etc. are for long-form asynchronous discussion with stable archives.
I also agree, but was somehow confused by your initial list of available options which mixed both approaches.
My only contribution then is that I find Gitter, despite its ephemeral nature, quite unfriendly to use when the number of participants grows so that various discussion threads are held at the same time. Although I don't think this to be a problem for trio, at least in the short time, I'm quite surprised that in 2017 there's no better UI for multi-threaded real-time chats. I'll investigate a little bit on that and see if I can find anything better.
I also agree, but was somehow confused by your initial list of available options which mixed both approaches.
Sorry, yeah, that's because I was confusing :-)
multi-threaded real-time chats
If this is the goal, then zulip is probably the answer; the trade off is that the threading is perhaps a bit overwhelming for new users.
But for right now, gitter is probably fine, and by the time it becomes a problem then there are some possibilities:
Gitter is exploring some in this direction – I'm not sure how well it matches our hypothetical future needs but we can see when the time comes. They're also apparently going open source
Zulip, mailman3, matrix, etc will keep maturing
By the time this is a problem, we may be large enough to justify hosted discourse
Maybe something else will turn up :-) I'm definitely interested to hear if you find anything.
As a non-gitter user, gitter seems fine; mypy uses it too, and I'll probably find more reasons in the future.
One thing I'm scared about is if the channel is empty. I personally have set Gitter to " shut up even if I'm mentioned", otherwise I'm interrupted every 2 minutes. And seeing in some channels users asking questions without getting answers for week at a time is (IMHO) more harmful that not having a channel.
If you post something in gitter after a month is equivalent to /dev/null, while any other async (😉 ) channel seem better. (I consider gitter as sync, as you can't really go away and come back to the discussion later).
python-trio/messaging (actually that would be pretty cool, similar to how various popular frameworks have larger-scale examples).
Not that bad of an idea, some projects have repos/orgs for discussion. Actually a github issue is not that far form a "Topic", you can subscribe/unsubscribe individually, or per-repo, and GH UI push messages via websocket. The only drawbacks are:
you can't start a thread from a mail client.
you need a GitHub account.
Honestly the second one is not a drawback for me, and I think the first one I can do without.
I do have the trio gitter set to notify me on everything. (You can do per-channel overrides to your default notification settings.) Sometimes their email notifications have been flaky for me, but hopefully no one will be waiting a month for a response...
@tgoodlet oh interesting. Well, I guess we'll see whether this is the kind of acquisition where it means they get more resources to fill in the missing pieces, or the incredible journey kind.
Heh, in case we do want to take advantage of Discourse's free hosting for OSS projects: we recently passed the old qualification requirement (2000 stars), and they dropped that requirement a few months ago :-) https://twitter.com/discourse/status/1059411135382872064
Maybe it's time to get a Discourse forum? It's a forum, so complementary to the chat channel, and it seems like we might be getting to the point where it'd be helpful to have a place where people can ask longer-form questions, show off their work, etc. Any thoughts?
Reacted by Quentin Pradet, Alex Boag-Munroe and Vincent Michel
A forum sounds like a mighty good idea. I do have a decent hosting solution I'm happy to donate space on if that's an issue. You're welcome to a subdomain on my qap.la domain or if you've one you'd like to use etc etc.
@Ninpo thanks for the offer! I think we're going to try hard to stick to managed hosting though – I've seen too many projects waste too much time on sysadminning instead of working on their actual project :-). And Discourse-the-company offers free hosting for OSS projects.
Yes please! As I commented some months ago I find Gitter UX really annoying. I know it's intended for ephemeral real-time conversations, but trying to follow any conversation there if you are not directly involved is nearly impossible as soon as two conversations get intermingled. And GitHub has also it's limitations.
I've been lately following Discourse with great interest and I find it really well thought. One of the greatest features I've found so far is the possibility to move off-topic messages to other topics to keep the topic "focused": it's the same than refactoring a too long function into several functions to keep away from spagetti-code, but applied to discussions. It's a brilliant idea!
Of course, it demands some moderation effort to keep it all organized... but at least you have the possibility! 😉
They're going to test Mattermost, Matrix/Riot.IM, Rocket.Chat, and Slack. Here's why they discarded the other candidates:
Zulip, Gitter.IM and Spectrum.Chat all look like strong candidates, but getting them working behind IAM turned out to be either very difficult or impossible given our resources.
Discord’s terms of service, particularly with respect to the rights they assert over participants’ data, are expansive and very grabby, effectively giving them unlimited rights to do anything they want with anything we put into their service. Coupling that with their active hostility towards interoperability and alternative clients has disqualified them as a community platform.
Telegram (and a few other mobile-first / chat-first products in that space) looked great for conversations, but not great for work.
IRCv3 is just not there yet as a protocol, much less in terms of standardization or having extensive, mature client support.
I am delighted and honored to say that we have one candidate that unambiguously meets our institutional and operational needs: we have decided to replace IRC with Riot/Matrix, hosted by Modular.IM.
Unfortunately Gitter has lost some of the points in favor. It no longer supports public preview of room contents! And as far as I know, there's no plan on how to get that back (there's an MSC which supposedly allows for that with the new auth system, but that MSC removed that language before being accepted! there was a project for public room archives, but public backlash made that not happen!).
Probably not worth doing anything yet, but I'm quite jealous of Rust with Zulip :^)
Activity
[-]Gitter channel[/-][+]Gitter community[/+][-]Gitter community[/-][+]Real time chat and other non-issues venues for community interaction[/+]njsmith commentedon May 27, 2017
Excellent question! I've been meaning to do something like this, but have been slow to respond because I'm cranky about the available options :-).
IRC is obviously a thing, but it's extremely unfriendly to those who haven't already been initiated into its arcane secrets. Obviously I have a bouncer set up etc., but I hesitate to demand that of users. Though I guess we could direct them to IRCCloud. It really seems like we could ought to be able to do better in 2017.
Gitter is a thing, it works for lots of projects, but I'm not very happy with it – the UI tends to bog down in my browser, it's a walled-garden proprietary model, and it's always sending me notifications hours late or not at all. I'm not that worried about lock-in on a chat room, switching is not that hard, but again it seems like we ought to be able to do better. Also, I seem to have somehow gotten into a state where there's a python-trio organization (with a distorted logo, for some reason), but it contains zero rooms and I can't add any.
Slack is popular but extremely unfriendly for this purpose, because of how difficult it makes it for someone new to jump in and start talking. Also super proprietary.
Zulip is a neat open-source chat program, there's a company behind it that I'm told is willing to host it for us for free, and it's possible to do login-via-github, though they don't yet have any kind of anonymous access. The downside here is that it's really designed more for team collaboration; the UI is somewhat confusing and overwhelming when you first log in. Every conversation is labeled with a room + a tag, so conversations thread, but each thread is broken up over days, and when you first log in you don't get "chat log + blinking cursor to add something", you get a bunch of different colored boxes with conversation fragments and have to click on one to reply or else click "start new topic". If anyone's curious you can log into their project chat server here and look around.
There are some other open-source chat apps that exist: Matrix and its Riot client. Mattermost. Probably others. I don't know too much about these and don't see an obvious way to set them up. I'd rather not have to host something myself.
Discourse is generally in this area, not quite the "quick chat" thing but it overlaps. Unfortunately the hosted version is $100/mo which is super expensive for a hobby project. (And they mighhht do free open source hosting but I don't get the sense that they're interested in talking to small projects.) I could host it myself somewhere, but I'm pretty sure eventually something would break and it would take me a few weeks to fix and ugh.
We could do a mailman mailing list. Python.org would be happy to host it.
Is it really 2017 and IRC and mailman are the only decent free options? Anyone else want to weigh in? Maybe I need to try and figure out who to contact to get gitter to unwedge itself...
[-]Real time chat and other non-issues venues for community interaction[/-][+]Real time chat and other venues for community interaction beyond github issues[/+]njsmith commentedon May 28, 2017
Well, I have managed to create a gitter channel (though apparently it can't be named
triobecause... I don't know why): https://gitter.im/python-trio/generalLet's give it a shot and see how it goes
njsmith commentedon May 29, 2017
Mailman3 is another option – they've moved to a kind of hybrid mailing list / web forum model. But (a) this still has the hosting problem (at least until python.org switches, if they do?), and (b) it's not as mature yet as options like Discourse. Here's an example Mailman3 list.
xgid commentedon May 29, 2017
Hi there!
I don't have a deep experience with too many community management software out there, but If it may be of any help I've had a pretty good experience so far with Google Groups. Amongst its features it has:
Regarding gitter, I've never used it till now, but I've just looked at some of the existing communities (as for example Django) and I've found it to be a real mess! Conversations are superposed one with the other in a flat view and it has been difficult for me to follow any of the threads because you don't have any indication of which answer is in reply to which question ... Maybe it's a wrong use of gitter by the Django people or it's just me? What I've liked alot from gitter is its good integration with GitHub issues and so on (I've even seen some bots to create GitHub issues right from gitter itself).
By the other hand, Mailman3 looks much better to me than Gitter, althoug I don't have also any experience with it.
njsmith commentedon May 29, 2017
Hi @xgid! Thanks for sharing your experience.
Google Groups unfortunately has two show-stoppers: (a) export abilities are awful: last I checked the only way to get your data out are through scripts that scrape the HTML. I know some projects that have tried to switch away from GG and this was a big problem for them. (b) They've blacklisted my primary email address for inscrutable google reasons, so my emails always bounce unless I remember to manually change my from address every time I make a post or a reply. (There's some undocumented rule like... you don't need a gmail address to use GG, but if google thinks that some email address belongs to someone who also owns a gmail address then that email address can't be used to sign up for groups.)
Comparing gitter to Google Groups or mailman3 is sort of apples-to-oranges: they're really designed for different things. Gitter is like IRC or Slack: a tool for real-time, back-and-forth, mostly-emphemeral chat. On the other hand, Google Groups/mailman3/Discourse/etc. are for long-form asynchronous discussion with stable archives. (In the Olden Days every open source project would have an IRC channel and also a mailing list; the two kinds of tools are often complementary.)
I'm kind of mixing the two approaches together here because Github issues already provides a more-or-less-decent venue for asynchronous design discussions for developers, so I feel like the next biggest thing missing is a friendly, low-barrier-to-entry way for folks who are experimenting with trio, and for this I'm not sure which approach is better.
xgid commentedon Jun 1, 2017
That seems an important limitation, I agree.
I also agree, but was somehow confused by your initial list of available options which mixed both approaches.
My only contribution then is that I find Gitter, despite its ephemeral nature, quite unfriendly to use when the number of participants grows so that various discussion threads are held at the same time. Although I don't think this to be a problem for trio, at least in the short time, I'm quite surprised that in 2017 there's no better UI for multi-threaded real-time chats. I'll investigate a little bit on that and see if I can find anything better.
njsmith commentedon Jun 1, 2017
Sorry, yeah, that's because I was confusing :-)
If this is the goal, then zulip is probably the answer; the trade off is that the threading is perhaps a bit overwhelming for new users.
But for right now, gitter is probably fine, and by the time it becomes a problem then there are some possibilities:
Gitter is exploring some in this direction – I'm not sure how well it matches our hypothetical future needs but we can see when the time comes. They're also apparently going open source
Zulip, mailman3, matrix, etc will keep maturing
By the time this is a problem, we may be large enough to justify hosted discourse
Maybe something else will turn up :-) I'm definitely interested to hear if you find anything.
buhman commentedon Jun 13, 2017
python-trio/messaging
(actually that would be pretty cool, similar to how various popular frameworks have larger-scale examples).
As a non-gitter user, gitter seems fine; mypy uses it too, and I'll probably find more reasons in the future.
Carreau commentedon Jun 13, 2017
One thing I'm scared about is if the channel is empty. I personally have set Gitter to " shut up even if I'm mentioned", otherwise I'm interrupted every 2 minutes. And seeing in some channels users asking questions without getting answers for week at a time is (IMHO) more harmful that not having a channel.
If you post something in gitter after a month is equivalent to /dev/null, while any other async (😉 ) channel seem better. (I consider gitter as sync, as you can't really go away and come back to the discussion later).
Not that bad of an idea, some projects have repos/orgs for discussion. Actually a github issue is not that far form a "Topic", you can subscribe/unsubscribe individually, or per-repo, and GH UI push messages via websocket. The only drawbacks are:
Honestly the second one is not a drawback for me, and I think the first one I can do without.
buhman commentedon Jun 13, 2017
I was actually trying to suggest we write yet-another-irc-competitor in trio.
Carreau commentedon Jun 13, 2017
that's also possible :-)
njsmith commentedon Jun 13, 2017
I do have the trio gitter set to notify me on everything. (You can do per-channel overrides to your default notification settings.) Sometimes their email notifications have been flaky for me, but hopefully no one will be waiting a month for a response...
10 remaining items
njsmith commentedon Dec 2, 2018
@tgoodlet oh interesting. Well, I guess we'll see whether this is the kind of acquisition where it means they get more resources to fill in the missing pieces, or the incredible journey kind.
njsmith commentedon Jan 15, 2019
Heh, in case we do want to take advantage of Discourse's free hosting for OSS projects: we recently passed the old qualification requirement (2000 stars), and they dropped that requirement a few months ago :-) https://twitter.com/discourse/status/1059411135382872064
njsmith commentedon Feb 2, 2019
Maybe it's time to get a Discourse forum? It's a forum, so complementary to the chat channel, and it seems like we might be getting to the point where it'd be helpful to have a place where people can ask longer-form questions, show off their work, etc. Any thoughts?
Ninpo commentedon Feb 2, 2019
A forum sounds like a mighty good idea. I do have a decent hosting solution I'm happy to donate space on if that's an issue. You're welcome to a subdomain on my qap.la domain or if you've one you'd like to use etc etc.
njsmith commentedon Feb 2, 2019
@Ninpo thanks for the offer! I think we're going to try hard to stick to managed hosting though – I've seen too many projects waste too much time on sysadminning instead of working on their actual project :-). And Discourse-the-company offers free hosting for OSS projects.
njsmith commentedon Feb 3, 2019
OK, I filled out the request-a-free-forum form at https://blog.discourse.org/2016/03/free-discourse-forum-hosting-for-community-friendly-github-projects/, so we'll see what happens next :-)
xgid commentedon Feb 4, 2019
Yes please! As I commented some months ago I find Gitter UX really annoying. I know it's intended for ephemeral real-time conversations, but trying to follow any conversation there if you are not directly involved is nearly impossible as soon as two conversations get intermingled. And GitHub has also it's limitations.
I've been lately following Discourse with great interest and I find it really well thought. One of the greatest features I've found so far is the possibility to move off-topic messages to other topics to keep the topic "focused": it's the same than refactoring a too long function into several functions to keep away from spagetti-code, but applied to discussions. It's a brilliant idea!
Of course, it demands some moderation effort to keep it all organized... but at least you have the possibility! 😉
I'll be following this with great interest.
oremanj commentedon Mar 12, 2019
The Discourse forum seems to be working well. Is there anything left to do here?
njsmith commentedon May 11, 2019
Some more thoughtful posts on real-time chat / IRC:
pquentin commentedon Sep 8, 2019
The latest update from @mhoye: http://exple.tive.org/blarg/2019/09/06/forward-motion/
They're going to test Mattermost, Matrix/Riot.IM, Rocket.Chat, and Slack. Here's why they discarded the other candidates:
pquentin commentedon Dec 19, 2019
https://discourse.mozilla.org/t/synchronous-messaging-at-mozilla-the-decision/50620
FSX commentedon Jan 13, 2020
Gitter is not really pleasant to use for me. I use Matrix, next to IRC, and I like it.
From reading this thread I collected some requirements and nice-to-haves.
The list for Matrix:
instance is free to use.
List of clients: https://matrix.org/clients/
njsmith commentedon Aug 24, 2020
It turns out that there are some third-party apps that let you do very low-friction preview and embedding of Discord channels, without logging in:
https://titanembeds.com/
https://widgetbot.io/
I'm not sure why there are two, or what the tradeoffs are between them.
I'm also not sure whether they help with making permalinks to specific chat messages in logs or not.
A5rocks commentedon Nov 25, 2025
Unfortunately Gitter has lost some of the points in favor. It no longer supports public preview of room contents! And as far as I know, there's no plan on how to get that back (there's an MSC which supposedly allows for that with the new auth system, but that MSC removed that language before being accepted! there was a project for public room archives, but public backlash made that not happen!).
Probably not worth doing anything yet, but I'm quite jealous of Rust with Zulip :^)