The Blog

The what's what of the Flowdock atmosphere.

Blog Archives

Flowdock As Onboarding Tool

August 23rd, 2012

Mikael Roos

Krista Kauppinen

This is a guest blog post written by Krista Kauppinen who recently started as Head of Online Marketing at Holvi, a customer of ours. She explains how Flowdock has helped her get started at her new job.

I recently started as the second nontechnical employee at Holvi, an online banking service startup that was founded in 2011. Our company is growing, but we still have everyone on the same Flowdock flow. This has been an unexpected blessing for me.

I have a business degree and I work on marketing and customer acquisition. I don’t always understand the discussions our developers have on the flow, but I’m able to see what they’re talking about and it’s in writing (so I can google unfamiliar terms!). Being able to easily get a technical perspective on customer questions and feedback by forwarding emails to Flowdock means I’ve been able to do customer support from almost day 1.

Flowdock has also been great for better understanding the pace of technical development and the relative difficulty of implementing new features and bug fixes. The team inbox that brings in data from Twitter, Zendesk and reports from our product, gives a good overall view of where we are in terms of progress.

Our team uses tagging actively, so I’ve been able to search tags like #todo, #blog or #marketing to see what’s previously been discussed on different topics. Not having to pop into the other room to ask questions and interrupt people’s workflow or send an email to whoever I suspect might know about issue X has made joining the team a lot smoother.

An added bonus of using Flowdock is seeing when my co-workers are online, as startup founders and developers often work odd hours. This has been useful for understanding their work patterns better. We have our security advisor as part of the flow, giving his point of view on what we discuss. Security is a very important aspect of building a banking product, and without Flowdock, getting information about this would be a lot more time consuming.

We also use Flowdock to share various types of benchmarking data, relevant articles, ideas we have, customer development insights and even jokes. This has helped me get to the know the company and my coworkers faster than at many previous jobs and with less effort from the others to get my caught up.

Thank you Flowdock!

Otto Vehviläinen Joins The Flowdock Team

August 8th, 2012

Mikael Roos

In our efforts to beef up our team, we’ve hired Otto Vehviläinen, a full-stack developer with specific knowledge and experience in Backbone and Ruby on Rails development, a coffee lover and a good dude. He’s coming in to help us especially with our new web front end. He has previously worked also for one of our customers, Findery (previously Pinwheel), Flickr founder Caterina Fake’s new location based note sharing startup.


UserVoice Integration

July 26th, 2012

Antti Pitkänen

UserVoice is a feedback and help desk product that makes responding to customer needs fast and effortless. We at Flowdock have previously integrated with UserVoice only by plain email notifications. Seeing that UserVoice has recently rolled out its neat Service Hooks, we just couldn’t resist making the integration even better.

With the new integration you will be notified of all that is happening in your UserVoice community, and the entire team can participate in responding to the feedback. Now that the feedback is sent directly to Flowdock, your email inbox no longer gets overflowed with notifications. In addition, the Service Hook configuration makes it easy to define which notifications you want to see in your team inbox.

Setting up the integration

To get started, visit our UserVoice help page and follow the short list of instructions. You should be integrated and receiving notifications from UserVoice in no time.

Here is an example notification in the team inbox:

P.S.

In a deal we struck with the awesome UserVoice folks, the ten first Flowdock teams to sign up to UserVoice by using the code hiflowdockers will receive 25 % off for a year of UserVoice.

Flowdock Makes Xobni More Productive

May 31st, 2012

Mikael Roos

Xobni, one of the earlier Y Combinator funded startups (YC 06), is a Flowdock customer. They make your inbox and address book smarter by making it easy to search and discover all your contacts – even those who aren’t in your address book. Xobni’s director of marketing, Britton Montalvo paints a picture:

What if you had a magic address book that automatically identified the name and contact information for everyone you had ever communicated with? Xobni brings you that magic with our mobile and desktop solutions that automatically create rich profiles for all your contacts, including photos, complete contact info, communication history and updates from Facebook, LinkedIn and Twitter.

Xobni’s Smartr Contacts is available for iPhone (video & download) and Android (video & download). Both apps have been named “The Best Address Book Apps” by Lifehacker. You can even get it on BlackBerry. Smartr Inbox is available for Gmail and they have Xobni for Outlook.

Flowdock at Xobni

So, how does Flowdock fit into this? Xobni has been using Flowdock now for a few months. Having previously used an array of messaging clients including Skype, GTalk, Yahoo! Messenger etc, the Xobni team has seen a massive shift in communications moving to Flowdock:

Now 80% of our communications reside in Flowdock. Flowdock has also increased the Xobni Server Engineering team’s productivity tremendously with its deep integrations.

The Xobni team uses JIRA for defect tracking, Opsview for monitoring, Git for version control and also QuickBuild and Capistrano as deployment tools.

Flowdock manages to keep everyone on the same page, and working efficiently:

We are distributed across San Francisco, Montreal, Iowa and India and using Flowdock has enabled us to stay better connected with one another and work much more efficiently. At any time, anyone in the team can instantly get up to speed on what is happening in our network, so they can jump in to help resolve any issue or identify potential areas for optimization. With Flowdock, we are able to easily process and manage more than 5 billion messages for our users per month.

Redmine Plugin For Flowdock

May 24th, 2012

Mikael Roos

Redmine & Flowdock

Redmine is an open source project management application, which includes basic ticketing, wiki and other functionality. We’ve just released a Flowdock Redmine plugin on GitHub, which gives you a completely real-time Flowdock integration with issues and wiki.

Flowdock Redmine Issues and Wiki Integration

Installation is straightforward and you can read the guide in the README.

How To Make A Scrum/Kanban/Whatever Magnet Out Of A Champagne Bottle

May 4th, 2012

Mikael Roos

These days at Flowdock we’re using a light, modified Kanban process to handle our everyday work. Previously, we’ve also had a lot of experience with Scrum. There are also some other strange words that try to guarantee the excellence of your software team. What all of them have in common is whiteboards and magnets. Usually you need about four identical magnets for yourself to signify which tasks you are undertaking on that particular day.

We like champagne. It’s really a no-brainer.

Here’s How You Do It!

It also goes great on a fridge! Everyone wants an agile fridge!

Get To Know A Cool Flowdock Customer – Grand Cru Games

April 24th, 2012

Mikael Roos

Meet Grand Cru, founded in 2011 by six Finnish game industry veterans, they are a Helsinki based team of game creators. They say they have one direction: to revolutionize mobile and social gaming.

In their quest they have found Flowdock to be an essential tool. Creative director Harri Granholm says that with Flowdock, “we can work tightly together, but at the same time everyone can concentrate on their tasks without any unnecessary interruptions”.

The Cru’s new upcoming game, the Supernauts lets you create your superhero alter ego online. As a social game, the game is naturally best when played together, so it supports real-time multiplayer on a massive scale.

The Cru team is made up of mobile gaming and virtual world veterans combined with fresh design and other talent. That makes Flowdock a great fit:

We have noticed that Flowdock works well for the Cru as it has similarities with IRC which is a familiar tool for many of us. Many features, such as embedding images in a conversation and the integration with Pivotal Tracker, are essential to our work. In addition, our graphic designers are constantly sharing the material they are working on through Flowdock.

The Cru is also hiring.

Cap Deploy Multiple Node Versions

April 11th, 2012

Ville Lautanala

At Flowdock, we have currently four different Node.js apps. Worst case scenario: they all could require a different Node version. This blog post explains how to use chef and capistrano to deploy multiple Node.js versions.

TL;DR: Check out our deployment resources and enjoy multiple Node.js version bliss.

Chef Recipe for Node

Chef is used at Flowdock to configure servers. Naturally we wanted to use it also for managing our Node versions.

We ended up with having a recipe for compiling Node packages and uploading them to Amazon S3 and another recipe to download the correct binaries. If you want to see all the gory details, we’ve published our Node.js recipes.

As an end result, we can have a machine with all necessary Node versions set up in practically no time and applications can choose Node versions with little $PATH mangling.

Capistrano scripts for Node

Capistrano has proven itself and, above all, there’s an awesome Flowdock integration for it. There probably are Node-based alternatives, but we didn’t feel bold enough to try them out.

To avoid any hubbub during deploy, each deploy should use the Node version defined in package.json. This allows us to try out new version of Node without any changes in system configuration. Also, if the deployment is bad, we can always roll back to a working version.

To achieve this, our Capistrano script reads the package.json definition, extracts Node version constraints and uses Gem::Requirement from rubygems to choose satisfying version candidate. During deployment node and npm binaries are symlinked to $PROJECT/bin.

Keeping Node up and running

Now that the basic environment is set up, we just need something to manage our Node services. Our boxes already have runit for this task, so why not use it for our Node apps, too? You can even use foreman to export the service definitions for you.

Here’s how a runit definition looks like for our Streaming API.

#!/bin/sh
cd /home/florence/florence/current
exec chpst -u florence -e /home/florence/env sh script/run

This uses envdir to configure environment variables. script/run is responsible for mangling the $PATH and other fine-tuning.

#!/bin/sh
exec &2>1
export PATH=`pwd`/bin:$PATH
./node_modules/.bin/coffee app.coffee

Capistrano tasks are almost trivial.

task :start, :roles => :app, :except => { :no_release => true } do
  run "sudo sv up florence"
end

task :stop, :roles => :app, :except => { :no_release => true } do
run "sudo sv down florence"
end

task :restart, :roles => :app, :except => { :no_release => true } do
  run "sudo sv term florence"
end

Of course, you can also use upstart or supervisord if that suits you better.

Added bonus – Continous Integration

I’m lazy and haven’t managed to set up a setup for multiple Node versions on my personal development machine. To ensure that my changes will work when deployed, CI needs to use the same version of Node as in deployment.

To solve this, our Capistrano script has a local mode, which does the same symlinking stuff, but to a local directory. The CI script adds ./bin to $PATH before starting the test suite.

Conclusion

Having flexible Node version management on deployment and CI has been a blast. We can even try out unstable versions without extra ops work.

Integrating Jenkins to Flowdock

April 3rd, 2012

Antti Pitkänen

Jenkins CI

Jenkins is a popular continuous integration system that runs on the Java platform. Up until now, you could only integrate Jenkins to your flow by setting up email notifications for builds. Thanks to the recently published Flowdock Push API, there’s no longer need to resort to just plain email notifications. We have embraced the world of Java and developed jenkins-flowdock-plugin to make integrating Jenkins to Flowdock easier and a more pleasant experience.

Installing the plugin

  • Go to Manage Jenkins -> Manage Plugins -> Available
  • Find “Flowdock plugin” and install it
  • Restart Jenkins

Now you can configure Flowdock notifications for any build by setting Post-build Actions:

Jenkins configuration for Flowdock

And here’s a happy notification in your flow:

Jenkins notification in Flowdock

Fork your own notifier!

We had some arguments about the notification message configuration and how to implement customizable notifications. Soon we figured out that there’s just no point in trying to do that. Why not publish the plugin sources and let the developers hack it?

Forking the plugin and implementing your own awesome notifications takes just a few minutes and is well worth the effort. The plugin classes already provide all the Push API features, so you can start customizing the notifications to your liking straight away.

The Advanced Guide To Automated E-Mail

March 21st, 2012

Mikael Roos

Automated Email

Predictions have been told over the years about the downfall of e-mail, all of them nonsense. E-mail is a great messaging technology. Most importantly, SMTP is a push protocol making e-mail relatively real-time. That’s also why it’s been used for automated notifications since its birth.

Automated e-mails can easily clutter your mailbox to the point where you filter them out and start ignoring them. Flowdock is a great solution for this as it frees your own mailbox. Automated mails are much easier to process if the work is shared by a team. A shared pain is a lesser pain.

Another great side of e-mail is its ubiquity. Any old tinderbox of a web application has the ability to send notifications via e-mail. That means Flowdock can be integrated to almost any service.

Get The Most Out Of Your E-Mail Integration

Using e-mail with Flowdock gives you full control over what notifications should contain and when they should be sent and who should be addressed in particular. Here’s how.

Create Logs With Tags

It’s a great idea to pre-tag automated e-mails to create sensible logs. For example, our deployment notifications come tagged both with #deploy and the name of the deployed project (frontend, backend) and the environment (qa, staging, production).

Capistrano deploy log as automated e-mail notifications

There are two ways to make this happen, you can either use a #hashtag in the subject, eg. “Deployed #frontend on #qa”, or you can add the tags prefixed with plus (+) signs into the e-mail address used for sending like this:

flowname+deploy+frontend+qa@organization.flowdock.com

Log By User And Get Attention

You can also tag by users. Lets say I wanted to easily see all deploys deployed by a certain someone, I could either use @username in the subject “Deployed #frontend on #qa by @mikael” or add the tag to the email address prefixed with a dot (.) like so

flowname+deploy+frontend+qa.mikael@organization.flowdock.com

So all strings prefixed with a plus sign after the flow name are stored as tags, and all prefixed with a dot are stored as user tags. You can also use the user tags to get someone’s attention. The @everyone tag can also be used and is also handy for important notifications that require everyone’s immediate attention.

Real-World E-Mail Workflows

Tags are a great way to filter important content that streams to your Flowdock flow. We recently showed how we handle feedback using a lightweight process.

In fact, we use e-mail integration with a bunch of services ourselves: