Closed choldgraf closed 3 years ago
A couple of ideas that we have learned along the way in Pangeo
Some people, particularly from underrepresented groups, will never ask questions in a public forum. If we really want to support them, we should just accept this and not try to change it.
This is a good point - I think we've already experienced this with some users of the hubs.
Smaller branded forums like Discourse / Slack can feel more friendly and still provide a public record. This is an intermediate option.
I am a fan of Discourse (though it is expensive for non-profits...we may need to roll our own until we get enough $$$ to pay the $50 a month). I've also been considering GitHub Discussions, although I think it still feels inaccessibly-public in the way that you describe above. Also, I'm weary of depending more and more on microsoft...
I am a little worried about "yet another Slack" since in my experience people end up not paying much attention to it. Though perhaps it would be OK as long as 2i2c folks are paying attention to it, and users can just use it when they need it but not more regularly?
Prefect does something cool with slack where they can take a discussion and archive the whole thing as a github issue
This is really cool! We should totally look into how to do this...maybe it's just a slack plugin?
Requests that identify individuals or accounts, or cannot be public for other reasons
I am trying out freshdesk.com for this. Created it and invited @choldgraf and @GeorgianaElena to it. This would be accessible to the admins of our hubs, as a way for them to escalate to us.
https://commons.wikimedia.org/wiki/Commons:OTRS is the 'private requests' side of Wikimedia. Something similar to Freshdesk, manned purely by volunteers with training & clearance for private data.
nice! thanks @yuvipanda - is it a "ticket management" kind of system? Or is more like a forum?
What benefits do you think it'd bring over, say, a private GitHub repository that we add all hub champions to?
Definitely a customer service style ticket management system. Pretty sure it integrates well with everything though, including GitHub. I'll need to give it a serious try over the coming week, though. see if it adds any value to us, and can be used in a way that doesn't overwhelm us.
What benefits do you think it'd bring over, say, a private GitHub repository that we add all hub champions to?
Primary reason is what @rabernat said earlier in thread
Some people, particularly from underrepresented groups, will never ask questions in a public forum. If we really want to support them, we should just accept this and not try to change it. Github is especially intimidating to these people.
In addition, there are definitely user privacy issues at play. Many educational privacy policies treat list of classes a student is in as private information. We run into this problem over and over again at Berkeley, and have to resort to private slack messages...
This can be something we charge for too. I'd suspect something like the pilot educational hubs will need this far more than a pangeo hub.
Yeah that makes sense to me re: private messages. I think it's going to be a balance we will need to find. A few thoughts come to mind:
So I guess in sum, what I hope we can figure out is a system that:
Do you imagine using Freshdesk for all user support questions? Or just a subset and we use another space for other questions?
Yeah, this balance is going to be hard. I agree with your goals for the system.
My current suggestion is we build a JupyterHub service accessible only to admins. It should tell them to:
How does that sound?
As a start I think that sounds quite reasonable - we'll have to learn the best practices ourselves and adapt over time. I think if this is accessible only to admins then it will help a lot. I thought you wanted this to be accessible to all users but now I see the kind of communication you are trying to capture here - it is the "XYZ instructor sends us an email about a problem their student had but doesn't want to call-out anyone publicly" use-case
XYZ instructor sends us an email about a problem their student had but doesn't want to call-out anyone publicly
Exactly this. I want to not expose this as an email inbox, and instead as something you'd post from a JupyterHub admin service with proper fields.
From someone that hasn't felt so comfortable asking questions on public channels, I believe that having a way to do this in private makes a lot of sense :+1:. Also, I love the idea of being able to ask for help directly from your hub.
The only downside I see if that we're adding just another place of discussion to follow. Right now we have GitHub, Slack, Gitter and Discourse. Maybe there are ways to integrate these together into a "default" communication channel (possibly like we have some GitHub issues being linked to Slack).
Maybe there are ways to integrate these together into a "default" communication channel (possibly like we have some GitHub issues being linked to Slack).
Yes! Freshdesk is already integrated with email, and we can integrate that with slack too.
yeah I agree @GeorgianaElena, I think there are two important pieces here:
https://support.freshdesk.com/support/solutions/articles/206103-the-slack-app exists as well, so we could start off there?
(2) is pretty important. Here's a first draft of the things we're currently adding:
Other things we need to fit in:
Great wrap-up, @yuvipanda! One more quick question, do we plan to continue using Gitter too? I believe there is a Gitter channel in place at the moment, right? Or can we replace this with Freshdesk?
Ah, fun. So there's the other source of content - other people's channels we are in. For example, UToronto's Microsoft Teams setup, or Farallon's Gitter channel. I'm not sure what to do about these :|
I think we'll need to define some boundaries of where 2i2c is expected to pay attention. IMO if an organization requires that we join their communication space to converse with them, this is a "very dedicated support" situation that is a high-end hub (and thus more revenue we can use to cover the person's time).
Though one interesting note about Gitter is that it has been purchased and now runs on Matrix, which is a more generic web chat tech, and apparently has a Slack bridge: https://github.com/matrix-org/matrix-appservice-slack
I love matrix and in an ideal world everything would just be on matrix. We should probably bridge gitter / slack easily.
I looked into using Discourse for this a bit more deeply and wanted to report back what I found.
In Discourse, you can define groups of arbitrary users. Each group also has its own messaging archive, each message is like a "topic" in the broader discourse forum.
Groups can be private or public, and you can control who can both read or post to a group. In addition, groups can use a public email address to both send and receive emails.
What some Discourse communities use is a support
group that is made up of the "support team". This group is private (so that people can send sensitive requests to it), so only group members can access the message archive. Any new member added to the group gets the historical record of the archive as well.
There are two ways that users can post to the support group:
@support
. This will open up a new topic in the "support" group and people can now have "many to one" conversation with the person that opened the ticket (but only available to the author + support).youraddress@yourorg.com
(you have to connect the email address). Any emails to this address will go to the support
group, and replies to the resulting topic will be emailed back to the original emailer.So in this way, you can have a single space for "support conversations" that are viewable only by the support team and the author of each individual support request. That space is usable both by Discourse users, and by anyone with an email address.
In case you'd like to test this out, I've created a demo support group on the Jupyter Discourse forum, and added @yuvipanda @GeorgianaElena and @consideRatio to it. In addition I've set up jupyter+support@discoursemail.com
to open topics in that group's archive. Would be curious what you all think about it.
@choldgraf thanks for looping me into this thread— I'm currently building something like this for D-Lab consulting as a replacement for an old, crufty custom drupal system for our consulting request system. And we can't easily use things like zendesk, freshdesk, sprout, etc because the per-agent per-month cost is way too high when we have 50-100 student agents.
I'm implementing a solution right now that we're planning to launch in the next couple of weeks.
@yuvipanda could you add me to your test discourse & freshdesk instances? Both so I can see how you are setting things up, as well as help out... especially in setting up the pilot hubs that we'll be collaborating on?! Thanks!
@aculich I'll try and find it in a few days! I didn't make any customizations though - just a zapier.com integration to move things from a Google form to it.
We've now got FreshDesk setup and we are tracking this in https://github.com/2i2c-org/team-compass/issues/167
Now that a few folks have started using these hubs, we've had support requests come in that suggest we need at least two different communications channels:
For 1, we can suggest github issues, but for 2 we should have an option for people to discuss more privately. What should we do for this?
My first thought was to create a
support@2i2c.org
that me, @yuvipanda , @jamesgspercy have access to that could be a single account for private support questions. If a question could be asked in public then we ask people to post there.Longer term I am not sure of the best approach.
What do folks think?