Special offer: Maintainable Software Worksheet and free 30-minute consultation! Download

Google Hangouts for Remote Worker Telepresence

by Leon Miller-Out

Now that we've got a few full-time remote workers, we're really interested in making sure that they feel like part of the team. Telepresence really helps with that, and one great, free telepresence tool is Google+ Hangouts. We wanted to have a persistent Hangout in our main office that our remote folks could jump into at any time. Getting this set up was not straightforward, so I thought I'd share my experience.

Creating a persistent Hangout

This was surprisingly tricky to figure out, as the rules have changed several times. I finally found this helpful post from a Googler that explained how to get a persistent URL for a Hangout.

  1. Create a Google calendar event far in the future. (Your Hangout will disappear when the event ends.)
  2. Add a "Video Call" to your event.
  3. In the event, right-click on "Video Call" and copy the URL. This is your persistent Hangout URL.
  4. Join the Hangout and invite your colleagues.

Sharing the Hangout URL

To make it easy for people to join the Hangout at any time, you'll want to set up a redirect from a friendly URL to your long Hangout URL. I did this in Apache on one of our web servers. My VirtualHost entry looks like this:

<VirtualHost *:80>
DocumentRoot /var/www/empty
ServerName hangout.singlebrook.com
RewriteEngine on
RewriteRule ^.*$ https://plus.google.com/hangouts/_/event/LONG-RANDOM-STRING
</VirtualHost>

Keeping it running

We keep our Hangout running on a spare machine in our main office. This allows remote folks to jump in at any time and see what's happening in our physical space. It also lets them join group meetings, celebrations, etc without someone at the main office setting things up every time.

It would have been nice if we could just join the Hangout and leave it running. Unfortunately, there are lots of ways for the hangout to get disrupted. They disconnect from time to time, machines go to sleep, and software updates and subsequent reboots happen. In all of these cases, we wanted our Hangout machine to automatically reconnect, so we wrote some code to make that happen.

Introducing our new gem: google_hangout! It fires up Firefox using Capybara and Selenium, opens your persistent hangout, and makes it full-screen.

  1. Get Ruby!
  2. gem install google_hangout
  3. Add to your crontab to run every minute: "google_hangout HANGOUT_URL, EMAIL, PASSWORD"

I'm looking forward to hearing your feedback, seeing some forks of the gem, and learning how other firms are bringing remote workers into the fold.