The Grizzly Labs is a team of two split over different time zones: Paris, France and San Francisco, USA. We have been working on Genius Scan and other projects for several years on our free time.


Working with 9 hours time difference makes it difficult to create overlap to communicate. Working on your free time also calls for efficiency: you don’t want this extra work to affect your social activities and work-life balance. In spite of that, we have been able to grow Genius Scan to 10M+ downloads and millions of scans and maintain great quality for our apps. We also developed several other projects (Genius Fax and Jotana).

The coding part is straightforward. We each focus on different code bases and we rely on git for code versioning. Problem solved. However, communication for product decisions is also critical. A few techniques and tools helped us. Finding these took us some time and we hope this blog post will help other remote teams facing similar challenges.

Task Management

Each day, we depend on each other for several tasks. Asana enables us to organize the tasks and initiate mutual requests (we used Asana so much that we built Jotana.) For example, as I finish a new update for Genius Scan for iOS, I will create a task in Asana and assign it to Guillaume, requesting him to test the new changes. As Guillaume checks the app and notices quirks, he adds new tasks to Asana, assigns them to me so that they are ready for me to see the next morning.


Compared with email, a task is often less pressing. While an unread email in the inbox cries for attention, a task in Asana has to be completed at some point but doesn’t require taking care of it immediately unless it has a clear deadline. We keep email for interactions with the outside world or more pressing issues.

We also use Asana individually to track our own tasks. It enables us to stay focused and visually marking them as complete is rewarding. Another benefit: when you have little free time, it also makes it easy to find small bits of work. It’s hard to start coding when you have only 20 minutes free in front of you; yet it’s a good time to tweet or reply to a few support emails.

It’s unavoidable to accumulate tasks and add to your backlog features users suggest. A task that seemed important a month ago may not be anymore. Regularly, we cleanup Asana. We try hard to be more aggressive than we naturally are. If we know that we won’t have time to work on a task soon, we just delete it. If a feature request is really crucial, we definitely hear about it again.

Document Storage

We rely on Google Drive and Dropbox to archive and store shared documents. In Dropbox, we tend to archive legal documents (invoices, contracts) and development files (artwork, scripts etc.) In Google Drive, we store anything that requires collaborative editing or quick updates (blog posts, data analytics in a spreadsheet).

Of course, make sure you use two form factor authentication for your Dropbox and Google accounts.

Let’s not forget backups. You don’t want all your hard work to be lost because your hardware failed or your laptop is lost or stolen. The fact that we are two in the team means that we have some redundancy. But still we do proper backups. We do two types of backups: a local one using Time Machine. This is the quick and cheap insurance against hard drive failures. Additionally, a remote backup in the cloud is our insurance against fire and burglars. We use Arq which lets you backup to Amazon S3 or Glacier (dirt cheap!) but there are other solutions like Crashplan, Backblaze etc. Of course, GitHub stores all our code.


Customer Support

We  strive to offer great customer support. Without being cynical, the main benefit of great customer support is that it makes customers happy. As a consequence, they spread the word and buy upgrades. But aside from business benefits, nothing is more rewarding than thankful customers (how often do you email Microsoft to thank them for Microsoft Word?) and it helps keep the morale up.

For our users, support is as simple as sending an email to support@thegrizzlylabs.com. Both Guillaume and I reply to emails. It’s part of our daily routine. The difficulty is that when you reply to an email, you want to make sure that the rest of the team doesn’t write a duplicate reply (confusing for the user and a waste of your precious time).


For a long time, we relied on Gmail, putting each others in copy. This prevents duplicate replies but it’s far from ideal: even replied emails stay unread in each others mailbox taking time to visually find unreplied support requests. This doesn’t scale and we looked for an alternate.

Tools such as Desk or ZenDesk were clearly overkill for us and make users deal with “tickets” or “case numbers” which is the complete opposite of friendliness. Unfortunately, these big players have a high rank on Google.

We found HelpScout and fell in love with it. It’s extremely easy to setup: we just forward support@thegrizzlylabs.com to HelpScout. HelpScout offers many benefits:

  • The support flow is extremely well done and moving from one email to another is a matter of a keystroke.
  • You can assign support requests to each others. Occasionally one of us works on a specific feature or is more aware of a bug. In that case, the other one can assign the support request to him. 
  • Canned responses. They enable you to quickly reply to common requests and offer templates that automatically start the reply with “Hi Firstname”. If you start abusing of canned responses though, it’s a sign that your UX may not be as intuitive as it should or that a bug needs to be fixed.
  • Previous conversations are displayed on the side of every support request. This is important because if customers got in touch with you previously, they expect you to remember (of course you don’t, unless you are superman.) and become frustrated if you don’t take that in account.
  • Email integration. Support requests still arrive in your email. So you can just reply to everything from your mailbox if you have to, typically on the go (we still find the HelpScout UI more efficient for daily use).
  • Reports. It’s very easy to monitor support email volume, how long we take to respond in average. You can also assign tags to conversations and the reports will display you statistics about tags. It’s very useful to gauge interest for some features. You can also see which canned responses we used the most and then address these issues in priority.
  • Spam filter. It's there and works well.

Facetime

Almost all communication can go through Asana or over email. That doesn’t replace in-person communications. If you are working on your spare time, one or two phone calls a week is reasonable. With 9 hours time difference, one of us is often just waking up while the other is commuting back from work in the metro in Paris.

We also physically meet a few times a year. We reserve that time for things that will benefit from us being in the same place: talking about our vision, brainstorming and prioritizing tasks.

Conclusion

Finding the right tools for us has been extremely helpful. Dropbox and Google Drive allows us to conveniently store and collaborate on documents. Asana helps us be more productive on our spare time. HelpScout dramatically improves our customer support quality while decreasing the time we spend on it. We didn’t discover everything on day one of our journey though, so we hope that sharing these few tips will help other remote teams getting started. Last but not least, if you are working remotely or thinking about it, we also recommend reading Remote: Office Not Required by Jason Fried. Good advices!

We are now confident enough that we have a good routine: we just went full-time on The Grizzly Labs and still deal with the 9 hours time difference. We will share more about that new experience in a future blog post. Stay updated by following us on Twitter.

Conversation on Hacker News.