Open source, not-for-profit, and distributed. Sometimes I think we really are the black sheep of startups.
As is becoming more and more common these days, Ghost is a fully distributed team. We have no office, no headquarters, and no fixed working hours. Our registered business address is a virtual office in central London. Nobody works there. Instead: We're all over the world.
The freedom is awesome, but it's also challenging.
Running a remote startup is very different to working together with a team in person. That sounds a like an obvious statement, but it's really a far larger paradigm shift than most people appreciate when they go into it.
The most significant difference is in the value of the tools you use, and I think it's important to explain why:
When you're co-habiting the same physical location with your colleagues, you have a human connection to them. When you work remotely, you do not. If you're anything like me, your reaction to that is probably slightly underwhelmed, because it's something that doesn't seem like a big deal. But it is.
A lot of people like to talk about "water-cooler conversations" and impromptu chats that occur in an office. This, I believe, is dumbing down the subject to its most superficial symptom. It really has nothing to do with water-cooler conversations, it has to do with the reason those conversations happen.
Why do you have a random chat with someone about the weekend when you go into the office? Or, conversely, why would you not speak to someone when you passed them in the office? How would you know when to do either one of those? In simplistic terms, it's contextual awareness.
You can see if Ben is in a bad mood because his headphones are on and he's looking at his monitor like he wants to kill it - so you know not to disturb him. You can hear that Mary is humming a Christmas song quietly at her desk, so maybe she's cheerful at this time of year. You can see, without question, that Luke is hungover - he probably isn't fully conscious yet.
As a species, humans are social by nature. Millions of years of evolution have caused us to develop awareness of each other using our senses. We have 21 different facial expressions, and multiple studies have shown that emotions are contagious - spreading throughout groups of people and influencing others.
But - when you're working with people on opposite sides of the world, all of this contextual awareness vanishes.
In an office, the collaboration tools you use are akin to a simple device like a screwdriver. They assist with difficult tasks and lessen the amount of effort required to complete them. In a distributed team, the tools you use are more like life-support. Everything to do with distributed team tools is about clawing back some of that contextual awareness which you've lost by not being in the same space.
The biggest benefit of a tool to a remote team isn't in the tangible - it's in the intangible. The best tools for remote teams bring you closer together as people.
Right now the Ghost Foundation is a team of 6 people spread across 4 countries and 3 continents. We have an extended team of open source contributors who do a tremendous amount of work, too - but for the purposes of this post I'm mainly going to talk about the Foundation team who work together on a full time basis.
Our 11 Most Important Remote Team Tools
So, here are the most significant things that we use on a day-to-day basis to function productively:
#1. Slack - The virtual office
Some people refer to Slack as a team-chat app, but really it's so much more than that. Slack is our remote office. If you're on Slack: You're at work. It doesn't just allow us to talk to each other easily, it also pipes in feeds of all activity happening in our other tools. We see when new commits go in via Github, when goals are updated on Trello, when Pingdom tells us one of our servers is down, or when a new Ghost(Pro) customer converts.
Slack is at the heart of the entire company. If there was one remote-team tool that we physically could not live without: It's this one. I don't even remember what we did before Slack.
#2. Sqwiggle - See everyone
Sqwiggle is an app that snaps a photo of you via your webcam every 1-5minutes and allows you to see photos of the rest of your team doing the same. Initially, it sounds totally weird. A common reaction to Sqwiggle is not wanting to feel like you're being watched all day. In reality, it's a lot like Twitter. You don't really get it until you use it; at which point the value becomes clear.
It has very little to do with people seeing you. That part is almost inconsequential, in reality. The real value is in being able to see everyone else. Being able to tell who is happy, who is concentrated, who is making a silly face. Rather than just typing to a username in Slack, it has a really strong impact when you can see the person you're typing to.
Update, August 2015: The Team at Sqwiggle are now working on a new product called Speak – it's like Slack for voice. We're testing it out at the moment and enjoying it a great deal!
#3. Trello - Organise the things
We use Trello to organise our medium to long-term plans. The Ghost public roadmap is one example of this. We also use a few other boards internally to keep track of progress on larger projects.
#4. iDoneThis - Work log
A companion to Trello, iDoneThis handles our short-term plans. At the beginning of the week we all make a short list of the things we want to get done, and then as the week progresses we log all the things we actually get done. It's a simple way for everyone to share what they're working on. And it integrates nicely with Slack.
We tried lots of alternatives prior to iDoneThis. From WordPress/P2 logs to dedicated Slack Channels. Nothing worked quite as well.
#5. Github - Development collaboration
Almost goes without saying that this is where we do all our code collaboration, but it's still worth mentioning. Everything that we build goes through Github, which ensures that we're always keeping track of issues. We've got about 11 open source repositories and 18 private ones. All development work and discussion happens here. All code is reviewed by 2 sets of eyes before it goes into master.
#6. LICEcap - Visual bug reports
Hands down one of the most underrated little tools out there. LICEcap allows you to record animated gif screencasts. This is our number 1 most important bug reporting tool. If a picture speaks a thousand words, an animated give speaks ten-thousand. Or something.
NB: Are you an app developer? Please: Make an updated version of LICEcap, this thing is so ancient. With some nice design and a couple of extra features, it could be be so awesome - and we would promote the hell out of it. Drop us a line if you want some ideas.
#7. Clocks - Timezone management
There are variations of this. Some people use Clocks, some Every Time Zone, some just check the timezone in Slack. All accomplish roughly the same task: Figure out whether the rest of the team is awake, or sleeping, or what time it would be best to schedule a catchup for.
#8. Google Hangouts - Team meetings
Every Friday we have a team videoconference to catch up on the week and see how everyone got on. Google Hangouts is the easiest way to do this. Just type
/hangout in Slack and we're all set.
#9. Google Calendar - Shared schedules
A shared calendar allows us to keep track of where everyone is. We have a small feed so that it's possible to see when someone on the team is travelling to a conference, taking a day off, or has an appointment that means they're not going to be around for a while.
#10. aText - Typing utility
We type a lot. Like a lot a lot. A LOT. So, aText comes in handy by storing shortcut abbreviations to bits of text. For example, if I type
rroadmap - it will automatically delete that text and replace it with
https://github.com/TryGhost/Ghost/wiki/Roadmap. We have hundreds of these which come in handy for storing the most common snippets of text we use that would otherwise need to be looked up.
#11. Ventrilo - Asynchronous VOIP
Originally created for gamers to talk to each other while playing massively multiplayer online games, we're experimenting with Ventrilo for asynchronous voice communication. You hold down a keyboard button, and then speak to broadcast a voice message to the entire team. It's kind of like an audio-version of Sqwiggle.
Bonus #12. Coffitivity - Zen/Focus
I love working with light background noise. Something about it makes it much easier to focus. Coffitivity is a little Mac app which streams an infinite loop of ambient noise into your headphones. Well worth a try.
Getting Some Facetime
While all these tools do a great job of filling some of the contextual void, there's still really no replacing the real thing. No amount of video chats or cat gifs can replace sitting across the table from someone after a long day of work and sharing a deep sigh and a relaxing drink.
Earlier this year we managed to get the whole Ghost team together on a 10 day retreat in Egypt. We didn't really set a big schedule or make any grand plans - it was far more about simply getting to know each other as people, and discussing the future of Ghost in a relaxed setting.
As we're a young startup on a budget, we've only managed to do one full-team meet-up so far. Long term we'd love to be able to do things like this at least 3x a year.
You can check out our full list of tools over on this handy Product Hunt collection.
We're not the only ones doing this stuff, and we've been inspired by lots of other great remote teams and their tools. Have a read:
- 17 Top Tools for Remote Workers - Buffer
- 7 Collaboration Tools for Remote Teams - iDoneThis
- Remote by Default - Github
- 21 Months In: How to Manage a Remote Team - Zapier
- The Challenge of Remote Working - Adii Pienaar
Do you have any other useful tools or experiences working in a distributed team? We're always on the look out for new things to try!