On Fri, Jun 10, 2016 at 8:22 AM, Jason R. Coombs firstname.lastname@example.org wrote:
In #pypa-dev, I raised the possibility of moving our PyPA support channels from IRC to another hosted solution that enables persistence. Although IRC has served us well, there are systems now with clear feature advantages, which are crucial to my continuous participation:
I'm choosing not to read this as a threat.
- always-on experience; even if one’s device is suspended or otherwise offline.
- mobile support — the in-cloud experience is essential for low power and intermittently connected devices.
- push notifications allow a project leader to remain largely inactive in a channel, but attention raised promptly when users make a relevant mention.
- continuous, integrated logging for catching up on the conversation.
So here's a question: Why are these crucial to you? You've explained potential benefits but not why they're crucial to you and should be crucial to anyone else.
Why do you need an "always-on experience"? Why do you feel required to always be on? Do other people tell you that you need to always be on chat?
Push notifications allow for prompt attention to mentions, but are all mentions push notification worthy? Do we all need to be herded to platforms that will spam us because someone mentioned us by nick or name? I personally see this as a net negative. I don't need an email or push notification to my phone because someone said my name in a channel. That's a distraction. It prevents me from working on things because it creates a false sense of alarm.
Continuous logging is on for #pypa and #pypa-dev as I understand it. Surely it's not "integrated" into your chat client, but it's not as if the logging doesn't exist.
Both Gitter and Slack offer the experience I’m after, with Gitter feeling like a better fit for open-source projects (or groups of them).
I've tried using Gitter several times in the past. Unless they've fixed their bugs related to sending me emails every day about activity in a channel I spoke in once and left, I think they should be eliminated.
Slack has also had several outages lately that should also disqualify it (besides the fact that it's incredibly closed source and will be expensive to maintain logs in).
I’ve tried using IRCCloud, and it provides a similar, suitable experience on the same IRC infrastructure, with one big difference. While Gitter and Slack offer the above features for free, IRCCloud requires a $5/user/month subscription (otherwise, connections are dropped after two hours). I did reach out to them to see if they could offer some professional consideration for contributors, but I haven’t heard from them. Furthermore, IRCCloud requires an additional account on top of the account required for Freenode.
In addition to the critical features above, Gitter and Slack offer other advantages:
- For Gitter, single-sign on using the same Github account for authentication and authorization means no extra accounts. Slack requires one new account.
IRC requires one new account.
- An elegant web-based interface as a first-class feature, a lower barrier of entry for users.
webchat.freenode.net may not be elegant, but it is first-class.
- Zero-install or config.
Slack pesters you to install their desktop client and if you don't want constant channel notifications you do have to configure it. webchat.freenode.net offers no config.
- Integration with source code and other systems.
Do you mean things like GitHub? GitHub already integrates with IRC. What special kind of integration are do you think Gitter and Slack have that GitHub's IRC integration doesn't?
It’s because of the limitations of these systems that I find myself rarely in IRC, only joining when I have a specific issue, even though I’d like to be permanently present.
Donald has offered to run an IRC bouncer for me, but such a bouncer is only a half-solution, not providing the push notifications, mobile apps (IRC apps exist, but just get disconnected, and often fail to connect on mobile provider networks), or integrated logging.
I note that both Gitter and Slack offer IRC interfaces, so those users who prefer their IRC workflow can continue to use that if they so choose.
They're very poor IRC interfaces, making people who want to use a simple, free, standard second class citizens (which is par for the course as far as open source projects go).
I know there are other alternatives, like self-hosted solutions, but I’d like to avoid adding the burden of administering such a system. If someone wanted to take on that role, I’d be open to that alternative.
I’d like to propose we move #pypa-dev to /pypa/dev and #pypa to /pypa/support in gitter.
Personally, the downsides to moving to Gitter (other than enacting the move itself) seem negligible. What do you think? What downsides am I missing?
With IRC we can run our own logging solution. Gitter used to have a similar model to Slack where you had to pay to access all of the logs. Further, to allow anyone to use Slack, we have to set up and maintain a separate webapp (which can be deployed to Heroku, but for the kind of traffic we would expect, would actively cost us money to run there).