-
-
Notifications
You must be signed in to change notification settings - Fork 335
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
Real time chat and other venues for community interaction beyond github issues #167
Comments
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 :-).
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... |
Well, I have managed to create a gitter channel (though apparently it can't be named Let's give it a shot and see how it goes |
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. |
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. |
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. |
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. |
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:
|
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. |
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. |
I was actually trying to suggest we write yet-another-irc-competitor in trio. |
that's also possible :-) |
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... |
This discussion came up today (ironically enough) on Gitter, and some limitations (including the Android app being subpar, and for me a dislike of the UI), but that it's advantage is the very low barrier to entry with just signing in with GitHub and being instantly logged in. Discord seems like a better fit, despite the marketing, with it being a proper chat platform, having a similarly low barrier to entry (click the invite, enter your username, done), and with some other OSS organisations moving to it (including Vue, Yarn and the Opus foundation): there's even a full page on the Discord website for it - https://discordapp.com/open-source. It also has some useful features such as special support for GitHub webhooks and standard markdown support (including HLJS code blocks), so it matches Gitter in that part. |
@pquentin also pointed out this link to the rust folks talking about trying discord: https://internals.rust-lang.org/t/exploring-new-communication-channels/7859/32 [Edit: Some more projects "We're moving to discord" announcements: Home Assistant, Vue.js] @Fuyukai does discord save all the logs? (As compared to eg slack's free plan, where logs are limited.) Can you export them? Can you link to bits of chat from the bug tracker? (Not absolutely necessary, but I find this helpful given that gitter is where we do a lot of user support, which often generates follow up bugs.) Is it possible to get a "preview" of the chat before signing up for an account? Discord iirc has multiple channels as a core feature – is it possible to push everyone into a single channel for now? (I don't think we're big enough for it to make sense to have multiple channels, and it feels like there are benefits to everyone seeing what everyone is doing.) How well does discord work on mobile browsers? I've used it on desktop, but I just tried logging into a channel on my phone and what I got was this full screen, clipped, impossible to close overlay... |
Yes, forever, unless deleted.
Not currently.
There's a feature in Canary (the test track) that lets you link directly to messages, so soon enough yes.
Unfortunately no.
Yes, just don't make any other channels. (Although, it would probably be better to have a #main and a #github channel to separate the webhook spam).
Never used it on a mobile browser but presumably poorly - the way you're meant to do it is with the apps (which are both reasonably good quality). |
@Fuyukai Is it possible to have a single URL which (a) if you're already a member of the chat, puts you into the chat, (b) if not, invites you to pick a username and then puts you into the chat? |
That's what an invite URL does (e.g. https://discord.gg/GjN3c4). |
@Fuyukai the reason I asked is that I tried clicking on an invite link for a discord I'm already a member of, and it gave me the "So-and-so invited you to join [discord name] ... Accept invitation?" page instead of putting me in the discord. |
Probably worth writing down the issues we've had with gitter here. The good parts: the onboarding is super-simple – you can view chat, and follow links to archives, totally anonymously; logging is ~three clicks if you're already logged into github. How to use the interface is obvious at a glance: just type in the box at the bottom. Unlike IRC, the history is persistent and it supports code blocks. The desktop web interface basically works fine. The bad parts: the mobile UX is super buggy, in frustrating ways. If you use the mobile website, then there's no notification support, and it likes to send half-written messages any time you glance at it funny. (Some things that gitter mobile web treats as hitting send: pasting any text. accidentally touching anywhere outside the text entry box. switching to another app or tab to look something up.) If you switch to the native android client, then the auto-send thing is reduced (though not entirely eliminated), and you get notifications. The notifications cannot be configured to be silent, though, which is annoying. And, what's worse, the client regularly enters a glitched state where it stops showing other people's incoming messages. It's even common to get a notification, click on it, and find that the notified message isn't visible. Or to talk and think people aren't responding, but they are, you just can't see it. The only solution seems to be to force-quit the app regularly (e.g. go to the app switcher, and push the gitter tab off to the side to remove it from the list). This is not a rare problem; earlier today I had to do this like, 3 times in an hour. How many people care about mobile? Hard to say. It annoys me, but I can cope if I have to – I'm more worried about accessibility for new users. And we see people mentioning hitting these issues and getting frustrated pretty regularly. |
I occasionally used the Gitter mobile client on iOS and it has similar issues to the Android one. It's good to have mobile access and it's nice to have notifications when you need them, but it's not a tool one can rely on. |
Working on closing up tabs, so here are some more notes I accumulated a while ago: Rust trying out discord, and some discussion: https://internals.rust-lang.org/t/exploring-new-communication-channels/7859/147 More discussion in the Rust context. Has lots of discussion specifically comparing Discord and Zulip (with people's experiences!): https://internals.rust-lang.org/t/where-should-the-compiler-team-and-perhaps-working-groups-chat/7894/58 Summing up some of the trade-offs:
In general, everyone seems to agree discord is easier for users to get started, while zulip is preferred once you get used to it. (One typical reaction.) In particular, zulip's "threading" system makes it much better at handling multiple conversations happening at the same time, and conversations that run over longer periods. It's focused on serious collaboration, not just chat. This is tough, because we kind of care about both use cases a lot. I really really wish Zulip had a lower-friction onramp... Another one I looked at: spectrum.chat. Interesting hybrid chat/forum model... basically a forum but the UI encourages single-line posts that appear in real-time for anyone else looking at the thread. open-source. pretty immature – they're working on initial versions of mobile apps now (https://github.com/withspectrum/spectrum/issues/1803), and moderator tools are planned but they haven't even started working on them (https://github.com/withspectrum/spectrum/issues/2451). So probably not worth serious consideration yet. |
@njsmith fwiw spectrum joined GH and is offering everything for free now. I personally haven't touched it yet but figured I'd add the info. |
@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? |
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. |
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 :-) |
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. |
The Discourse forum seems to be working well. Is there anything left to do here? |
Some more thoughtful posts on real-time chat / IRC: |
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:
|
https://discourse.mozilla.org/t/synchronous-messaging-at-mozilla-the-decision/50620 |
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:
List of clients: https://matrix.org/clients/ |
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: 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. |
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?
The text was updated successfully, but these errors were encountered: