Tools tools tools

Cervator

Project Lead and Community Wizard
Contributor
Design
Logistics
SpecOps
#1
Awaken, rarely used forum!

So lately I've been a bit on a tools rampage. After nearly 9 years I'm switching jobs, and supposedly I'll be able to pick my own set of tools to use to overhaul the dev & ops structure where I'm going (they're barely even using source control). Naturally I'm leaning toward tools we already use or can use for Terasology so I get to work on the same stuff in both places (GitHub, Jenkins, etc). Same with the whole Chef/Ansible/Puppet thing earlier. Slowing me down a bit for Terasology but it'll be good in the long term :)

Wanted to summarize a bunch of them here both for general interest and to get some feedback on what we can best use for Terasology. None of the below is mandatory, everything is optional and simply available for whomever finds value in them. There is a definite risk of using too many tools, especially those that take maintenance.

Trello & Waffle.io

I've been using Trello for a while and wrote some stuff about it and waffle.io a little while ago. At first I was torn about Trello as it doesn't necessarily play well with GitHub, but then waffle.io showed up for that. Trello is better for brainstorming and planning, Waffle better for staying on top of issues on GitHub.

I made a few boards for Terasology topics but am not sure if it'll be a good fit due to the "distance" from GitHub and it being one more account. Waffle on the other hand can use your GitHub via OAuth, keeps all the data there, and fits in great with something like tracking everything for JoshariasSurvival in one place - @Josharias seems to like it!

Slack

I've known about Slack for a while as it was picked up by EVE University to better organize management (with mixed success - if you consider an all volunteer-based open source project challenging to organize/motivate just imagine virtual management in a non-profit educational institution inside one of the harshest MMOs in existence). It sure checks all the boxes for a development project - just look at the integrations.

I decided to take it for a spin and made a "MovingBlocks" team while @msteiger nearly at the same time made "Terasology" and suddenly we had two since you can't check it out without making a team ;)

The integrations really allow you to connect everything together. I've enabled GitHub, Jenkins, and Trello, so that is one way to bring in Trello brainstorming better, even in a context like JoshariasSurvival thanks to being able to link together everything in a topic specific channel like "josharias-survival"

The potential there looks awesome and I'm going to try using it at work for sure. There are alternatives, both proprietary (HipChat) and open source (Kandan) but they don't really match up, Slack's momentum is just hard to match right now.

The free version is limited to 10k archived messages and 5 integrations while the somewhat expensive $7/month standard edition goes unlimited and offers stuff like guest accounts. I'll be checking that out separately but doubt it is much of an option for us. Especially for stuff like support and such.

I am not considering Slack as a replacement for anything, however, although it could be used to eliminate email/irc/forum etc. I'm seeing it more as a focused extra for contributors to stay on top of notifications and work better together on various projects (I used Hojoki for that solo for a while till it shut down). I don't think it should be a home for a lot of random/general stuff, that's what IRC is for.

I'm the most curious about feedback and ideas here. If you want an invite just get me, @msteiger, or @Josharias your email (we'll make more admins)

HabitRPG

This is more amusing than relevant, but I ran across it while hunting productivity/todo apps. It has got to be the most adorably dorky thing I've ever seen. It is like Trello/Kanban, but for personal todos, habits, and "dailies" - yep, first they invaded all your games, then next your todo app. Then you get experience, gold, and items for completing work, can buy rewards, and so on ;)

You actually could link it to team-based project work, through parties, guilds, shared tasks, challenges, and so on. Picture putting up a challenge to defeat the evil documentation needs of the modding guide, then chipping away at it with swords in a group. Totally doing that if anybody else ever signs up. I'm almost level 3, woo!

Bountysource

I finally got us started on the signup process here, claiming our GitHub organizations, which might take a few days. I earlier considered FreedomSponsors, but it seems Bountysource is more active (10x users). FS was pushed by Jenkins, which remains one of the few organizations with substantial numbers there. Bountysource supports visual integration with GitHub as well as Waffle, which is nice.

Hubot

We already use Hubot for @Gooey but I thought it was worth a mention as it can work inside Slack as well. It looks like the architecture / organization of scripts changed since the last time we worked much with it. I think I'll end up working on this myself very soon for work purposes, unless @AlbireoX finally wakes up or @nh_99 gets busy :)

More?

There is such a ridiculous amount of tools out there nowadays. Every new and interesting one results in half a dozen competitors in no time flat. I'm sure I'm missing some interesting ones, so if you know of any or find anything neat do let me know!
 

Skaldarnar

Badges badges badges badges mushroom mushroom!
Contributor
Art
World
SpecOps
#2
I have to admit I really like Slack for focused discussions in small teams. Even over several days it still feels like "chatting" :D The possibility to just attach images and comment on them is really valuable for design discussions or explanation. The integration support looks fancy, although I'm not sure if we really need it there - especially if a channel is flooded with commit notifications more than with actual conversation.

Regardless of the purpose we are using Slack for, we need to make sure to have nice little wrap-ups of the important discussions (as from IRC). I personally find it easier to collect the suggestions and ideas from a Slack chat than from IRC, probably because the discussions are really on-topic, heh ;)
 

Cervator

Project Lead and Community Wizard
Contributor
Design
Logistics
SpecOps
#3
I think there are multiple ways to use Slack that are compatible with each other. Question is which we want to use :)

As mentioned earlier I'm in part hunting tools for my next job, and beyond DevOps there's this humorously named term "ChatOps" that is actually in full viable professional use at GitHub. There are a few videos floating around on it like this one:


I want to live by that ethos, as silly as it may sound, instead of email/im/more tools directly. I need to be subtle about sneaking it in at work though as any attachment to old fashioned ways of doing things will probably attempt to laugh it out of the room ;) Even in both videos I've seen by GitHub they fully admit it was/is scary as hell to expose that level of infrastructure in that fashion.

Anyway, that's why I want all those crazy integrations - mostly for "operations" and staying on top of things. But that may be a segment of Slack that won't be interesting to most people and that's totally fine! :) You don't need to be in every channel, or can just ignore them most the time. I'd rather have build notifications in Slack than in my email :D

Project (L&S, TTA, JS, etc) specific channels could be nice for focused work/chat as you say, so long as we also get it out of Slack and into the forum which is a better public venue. Inside Slack you can also mix in notifications at whichever level you prefer, like relevant PRs (akin to Waffle).

I bet we can also find a way to bridge #terasology on Freenode with a #terasology-irc channel in Slack. Gooey can connect to Slack as well and relay messages back and forward (adding Slack_ or IRC_ to names so you don't get pinged constantly). Maybe we should do that instead of having #general in Slack. We can probably post snippets from Slack elsewhere in some fashion for reference. Would be nice if it would allow you to use segments of logs like a pastebin. But dunno how to best approach that - it'll be doable somehow if we want it.

With a bridge like that those who'd rather not make another account can still communicate normally from IRC in the main channel. And I acknowledge the bother of that option @Florian - I tried to send you a message via @Gooey on IRC but coincidentally he's down ... :) Slack quite likely could actually cut down on accounts, but that's in a close team-specific context that isn't really relevant for most our work (the vast majority of which is public)

Incidentally I've got a new Hubot provisioned via Chef working locally, can even join IRC and interact. Just need to tweak a little more, enable some scripts, try out a Slack adapter, and find a nice permanent home to run from. Then ask @AlbireoX to turn off Gooey Senior so he can go to the eternal jelly fields in the sky
 
Last edited: