We use Campfire a lot – it’s our main way of communicating as a team that’s more than half remote. We’ve shared what happens inside our Campfire rooms before, and today I’ll share a peek at how we use our statistics robot, “Tally”, in Campfire.
Tally sits in a few of our Campfire rooms all day and answers questions people have, whether it’s about how signups for a product us doing, how a feature is being used, what the latest results for an A/B test are, or what the weather in Chicago is. Tally also sends SMS messages, searches the internet and more:
Tally grew from a couple of desires:
- I wanted an easier way to answer easy questions that come up frequently – how is this A/B test going? How many people have used custom fields since we launched them? None of these are hard questions to answer, but Tally makes these simple questions completely self-serve.
- I wanted to explore our API more. In the course of doing analyses at 37signals I end up interacting with a lot of different APIs, and have seen some great ones and some terrible ones. I wanted to see how ours stacked up, and also have a chance to write and test some new wrappers for other APIs as well.
- I wanted to add some fun features to our Campfire room. Tally knows how to tell a joke and has some funny images at the ready. These don’t add any practical value, but are occasionally good for a laugh.
One of the most common uses of Tally has been to check A/B test results. We use and are big fans of Optimizely to run A/B tests, but also use Clicky to measure the results. Tally makes finding the overall results a one-line affair:
Tally was inspired in part by Github’s Hubot. For the technically curious, Tally is implemented in R using the Campfire streaming API.
Have an idea for something we should teach Tally to do? Are you doing something interesting with the Campfire API? Tell us about it in the comments!
Gareth
on 10 May 11My girlfriend uses R for her microbiology PhD of all things – I feel behind! How do you integrate it with Ruby? Any particular gems or plugins etc?
Mark Schall
on 10 May 11I’ve always wanted to create a bot for our team to monitor build status and such (aka Build-Waiter), but I have always gotten caught up on the issue that it breaks your terms of service: http://screencast.stage/t/3GKnsNsf :(.
Is it fair use to create bots now?
p.s. I know I may have miss-read that to mean you cant create an account for a bot as apposed to cant create an account with a bot, but with all the damn lawsuits in today’s world can’t be too sure how to read any of the legal mumbo-jumbo. #thatsWhatIGetForActuallyReadingTOS :)
Eugene Girard
on 10 May 11Mark, are you referring to the “You must be a human. Accounts registered by “bots” or other automated methods are not permitted.” clause?
I had interpreted that to mean that a human had to perform the registration, but that you could (in some circumstances) register an account on behalf of a bot. In my case, I created an account for our cruise control system (a continuous integration tool), and I have that bot send updates to our office chatroom every time the build succeeds (or breaks, as the case may be.)
Of course, if the bot registered itself, that would be against the TOS.
Matt
on 10 May 11I like the github bot function that lets them unlock the front door. reminds me of an xkcd xkcd link
NL
on 10 May 11@Gareth: there’s no integration between R and Ruby in this case—it’s a pure API client application over HTTP. The most mature libraries I know of to interface R and Ruby are RSRuby and RRuby, though it looks like they haven’t been updated in a while.
Mark Schall
on 10 May 11@Eugene Girard: yeah after rereading it, I interpreted the way you suggest. However it is to note that others at the company I work at thought the same thing as well :(.
riddle
on 11 May 11This is great but when I use Campfire I can only think about one thing. I realize this use case is different from yours (not leaving the room throughout the day) but golly, is it irritating…
Emil
on 11 May 11I have built a bot to monitor the room for mentions. If I’m logged out and mentioned in a room the bot takes care of it and sends the message as a push notification to my iPhone. Preview: https://img.skitch.com/20110507-c5t41cacwm2ynx9hqug9at7xgx.jpg
It also monitors our public room and sends a push notification every time a customer enters.
(Built with node.js)
Theo
on 12 May 11@Gareth: check out RinRuby (https://sites.google.com/a/ddahl.org/rinruby-users/) it works pretty well for R/Ruby integration. You can easily pass values between R and Ruby.
Bruegel
on 13 May 11We’re done. That’s totally how the Matrix started _
Gareth
on 16 May 11@Theo Cheers, will have to find a use for R now!
@riddle Totally get what you mean with that screenshot.
This discussion is closed.