Jump to content
Sign in to follow this  
Silversunset01

[PMC] Community chat - input needed

Recommended Posts

This came up during the staff meeting, and some more discussion was had in slack today so I'm looking for some additional input.

Our slack team has been opening channels for non-staff related things, and I think that's a great thing that we're using the tool . That being said the downside is that we are excluding the people in the community who aren't staff from the discussions.

IRC works but for most people I think it's hard enough to use they don't want to. The question I have is this: should we open a 'public' slack team for any who want to participate, or follow some other chat program.

The discussion during the meeting seemed to be that since we are already using slack it would be simpler to create a public team rather than having to run two separate clients. Some other options allow for self-hosting which is reliant on server space and can be vulnerable to attacks.

Some of the discussion in slack went along the lines of going with something like discord or rocket chat.

If you weren't able to make the meeting (or needed time to think) what are your thoughts. Personally I like the slack option since it doesn't really require any tech work or server resources and appears to be a fairly stable program that will be around for a bit, and it provides an interface we know how to use and would keep it all within one client.

I just wanted to make sure anyone with an opinion had a chance to voice it. My plan is unless we can find a better option to open up a nerdnugaming team (with all staff set to 'admin' for moderation purpose) since that seemed to be the consensus during the meeting.

  • Upvote 3

Share this post


Link to post
Share on other sites

Use https://discordapp.com/ if we want to cover everything. Remove Slack, Mumble and IRC

 

Use https://www.mattermost.org/ if we want to replace Slack and IRC with something we run

 

Use Slack if we want to replace IRC but make joining for new people difficult (though https://github.com/rauchg/slackin can help with this, Python version here https://github.com/acemod/slackin-python )

 

 

Whatever we end up doing we want

  • Open to all, no email signups if possible and simple to use
  • If we bother to change at all, aim to remove existing services where possible to reduce sprawl. 
  • Minimal tech requirement - they already seem to be struggling to keep up, lets not add more
  • Upvote 2

Share this post


Link to post
Share on other sites

I was unable to attend the meeting or listen to any recording yet so I apologize if this was mentioned in the meeting.

 

Why don't we simply add another channel to our already existing Slack Team that anyone can join? That way you can just set the channels that need to be kept private to invite only and anyone else can join the other channels like #irc and #civ. Is there something preventing us from currently doing that? That would also prevent having to have 2 separate slack windows open.

Share this post


Link to post
Share on other sites

Why don't we simply add another channel to our already existing Slack Team that anyone can join? That way you can just set the channels that need to be kept private to invite only and anyone else can join the other channels like #irc and #civ. Is there something preventing us from currently doing that? That would also prevent having to have 2 separate slack windows open.

If we do that then we will run out of chat history in staff channels much faster - and the group chat will be opt-in, not everyone wants to participate in that level of chatter/pestering/etc. If you're running the slack app you can swap between teams and receive notifications from both with no effort (looks like this, i'd set this up a bit ago to test some things, came in handy)

 

 GthUIA3.png

 

if you use the browser version you can have tabs open. It's really not hard to have two teams going at once.

Share this post


Link to post
Share on other sites

Alright after some of the chat in #mods i've put together a scorecard for the different services we found. I included IRC/MUMBLE as sort of a baseline to compare to, with the assumption that we would not choose a service that scored lower than current services. 

 

You can see the chart here

 

Thoughts? 

Share this post


Link to post
Share on other sites

My stated opinion is that the only ones worth considering are the public Slack team option (pros: free at the present, though that's at the whim of the company) and Mattermost (the pro if it being free and under the MIT license is also a con in that they estimate 4GB of RAM as a requirement for 100-500 users as well as the potential for it being DDoSed).

 

In terms of technical cost (man hours to achieve setup as well as maintenance), setting up a public Slack channel and using something like Slackin to auto-send invites would be fairly trivial. My understanding is it's a simple API call to Slack. Hell, we could probably even do it in game with a /slack command.

 

The technical cost of Mattermost would be higher up front as more planning would be involved, as well as installation and configuration of all of the components. I think worries of it being an inordinate amount of work to maintain are possibly a little overblown (it's not like we frequently need to touch the forums now that they're going, for example), aside from the occasional update of the software. The bigger issue with Mattermost is potential monetary cost, as 4GB of RAM is nothing to sneeze at. There's no room on the primary server for sure, so it would have to go on creeper or an external VPS. I also have not personally tried the apps, as those were basically nonexistent when I started following the project, so I don't know how well they work. (The desktop ones are Electron based, so they're basically just window dressing around the web interface.)

 

I don't necessarily have a strong opinion on either, as long as the primary goal of moving staff chat to Slack in the first place is not impeded. The decision was made to facilitate better admin collaboration. (TL;DR not enough staff had IRC bouncers.) So the needs of that goal must be put first. It needs to be something that everyone can use without issue.

 

Also, Discord is ruled out entirely. In addition to them not having a business plan at all (it smells of fly-by-night Venture Capitalist funded nonsense), I was very unimpressed in my previous testing. It's clunky and technically inferior to Mumble from a VOIP standpoint. (Mumble costs us basically noting to host and is time tested and fits our needs. There's zero reason to switch, and Discord would only encourage lesser usage of Mumble.) Additionally, they don't have an obvious Linux client (which is required for global push to talk), and we will not be putting our eggs in the basket of something that is not fully tri-platform. We have a significant number of Linux and OS X users in our community, and we operate under the assumption of supporting them.

 

In summary, it would be Slack or Mattermost, though this is not a decision that needs to be rushed.

  • Upvote 1

Share this post


Link to post
Share on other sites

I've already expressed my views in the meeting and at more length in Slack, but I'll reiterate here for anyone who wasn't around for either:

 

My current view is that Slack seems like the best option. Consolidation of Staff/Player chat back into one application not only promotes more communication between the two but also saves staff having to run/check/use two chat apps. I admit I was skeptical about Slack at first (change is scary), but I've come to like it and if allowing people to invite themselves is as easy as it currently seems, then I see no reason not to push forward with it.

 

I'm certainly not against other options, but I would like to see staff chat also move to whatever is chosen, ideally.

Share this post


Link to post
Share on other sites

In summary, it would be Slack or Mattermost, though this is not a decision that needs to be rushed.

Rushed no, however the longer we sit around and do nothing the harder it will be to get moving. Slack and mattermost both seem to rank similarly in the chart (after we made some modifications) - i'd love to see the mobile apps tested for mattermost if anyone is so inclined (i only have an iphone, and no server to test on)

 

perhaps a compromise: we could run slack as a trial - see how interested the community is as a whole, who participates, how much etc. It's free, and can be set up with pretty much no risk. and if that takes off and mattermost testing goes well perhaps migrate at that point. Would give us time to properly fiddle and see if it's even worth switching.

 

 

I don't necessarily have a strong opinion on either, as long as the primary goal of moving staff chat to Slack in the first place is not impeded. The decision was made to facilitate better admin collaboration. (TL;DR not enough staff had IRC bouncers.) So the needs of that goal must be put first. It needs to be something that everyone can use without issue..

 

I think the surprise was that slack took off for us as well as it did. And if we really want to be a *gaming* community (rather than just minecraft servers with perks) having a chat option that anyone can join (that isn't tucked away like a private skype group) would be amazing. We've got so many game channels started (and more that could pop up very VERY easily). I am not saying we need to change the staff option right away, but some way to incorporate the rest of the nerd community would be a huge boost for us. The IRC channel is clearly underused, i suspect because people are intimidated or just not inclined to figure out IRC nowadays especially with the lack of chat history/offline messages it's just not worth it to them. 

Share this post


Link to post
Share on other sites

So I have setup a mattermost test server at [Redacted].

Setup was fairly simple for someone familiar with the linux command line. Setup ufw firewall, created a postgresql database, downloaded mattermost binary, setup mattermost systemd service, setup nginx for reverse SSL proxy, got certificate from letsencrypt.

 

For email you don't have to run your own email server, you can just enter the smtp credentials for another server (I used my domain provided email)

 

With everything installed my server is using 1.2GB of disk space. Server has 512MB of ram and 1 cpu (digital ocean $5 vps). Running mattermost with 3 online users there was still 300MB of ram to spare. Each new user seems to take up a tiny bit more ram (5-10MB?). Reading the documentation it seems most of that 4GB ram need is if you allow large file uploads. I have the server capped at 2MB file uploads right now.

 

Loading the chat page in a browser is really fast and lite on resources. In comparison loading slack causes my latop to freeze for 10 seconds while it loads the page. Same story on mobile browsers.

 

Silversunset tested the iOS app with mattermost and it seems to work fine, including notifications of @ mentions.

 

I had mattermost configured so only team admins can create/edit/delete channels. Apparently that setting is ignored unless you have an enterprise key. There is also no way to restore a deleted channel, even thou the system just archives the channel instead of deleting from disk.

 

So at this point we cannot use mattermost for public chat because of the lack of control over channels. It would however be a suitable replacement for staff slack should we ever need to abandon ship.

 

My hope is eventually channel permissions will make it into the free version. It is a new feature which are usually restricted to enterprise versions of business funded open source projects. Enterprise features eventually get added into the community version after several months. There is a lot of people in the forums complaining about it so there's a lot of pressure to include it.

  • Upvote 3

Share this post


Link to post
Share on other sites

If we end up going with Slack, I'm willing to set up an auto-invite system. It's a simple API call, so I'd probably design and build a landing page integrated into the existing website rather than run Slackin.

 

The advantages of "reinventing the wheel" would be that I could add a captcha to cut down on potential spam bots hitting it, it would fit more cohesively with the website, and we wouldn't need to worry about the maintenance of an extra NodeJS (slackin) or Python (slackin-python) process on top of the services the website already runs on.

 

As a possible alternative, it would also be conceivably possible to handle it in-game instead. A /slack command could return a quick overview, and then a player would run /slack invite me@example.com to kick an invite off. This would limit sign ups to people who have joined the server. (I have no idea whether this would be more or less desirable.)

Share this post


Link to post
Share on other sites

Didy and I had talked about this a bit and were thinking of doing something a touch more manual, mostly to work around some of slacks limitations. I'd like to get his input on that piece of it before we start adding work.

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...