Why I Write the Riak Recap Every Day

July 7, 2010

Firstly, if you're not familiar with Riak, it's an open source, scalable, kick-ass database that will make your day-to-day life as a developer/ops professional easier while making your users/customers happier. If you're at all interested in database technology and distributed systems, go to the Riak Wiki and check out the Fast Track. It's 45 minutes very well spent.

The Riak Recap is, by all accounts, a very small blip on the overall community radar screen. But, it's something that has worked quite well for Riak and those who follow it. I'll be the first to admit that its usefulness and success within our community was unexpected. I'm not sure why, but developers seem to like it. It's for this reason that I thought it might be worth devoting a blog post to in the event that there are other communities and projects that might benefit. (And, I'm finishing off this post from the Community Leadership Summit in Portland, so I'm feeling particularly pumped about sharing community tips, tricks, and ideas.)

What is the Riak Recap?

The Riak Recap is a daily email, sent to the Riak Mailing List, that details briefly all the worthwhile content and information generated about or pertaining to Riak that was not sent across the mailing list. The concept is very simple and there is definitely nothing groundbreaking about it. This is what the typical Recap looks like.

After becoming Community Manager at Basho, I made it a habit to wake up, pour a cup of coffee, and read the IRC logs. (If you'd like to join me, you can read them at irclogger.com/riak). As with most projects, IRC, along with the mailing list, is where the bulk of regularly scheduled technical discussion is happening, so I thought it necessary to stay current on all that happened in the channel.

Riak, comparatively speaking, is a young open source project (though it has been in production for years), and many developers are still learning about what it is and what it can do. This results in a slight imbalance between questions and answers. Sometimes a question would get asked and receive no response, stranded and destined to float forever in the IRC ether. It killed me when this happened. For a newcomer to a project, not getting a response to a question or idea could mean the difference between just downloading the software and actually using it in production. (And there is no shortage of solutions in the database space, so we cherish every user.)


So, the initial purpose of the Recap was to collect these orphaned questions, answer them, and send them off to the mailing list in the hopes that whomever asked would have their questions answered. Aside from questions, there are also incredibly valuable conversations that happen in an IRC room at all hours of the day. The problem is that at any given time only a fraction of your users will be lurking about in IRC. Why should the majority of your community be deprived of the knowledge and content generated when they aren't able to pay attention? This led me to literally start cutting and pasting interesting conversations into Gists and linking them from the Recap with a one or two line preamble telling people why they should read them. This is a great example.

In addition to orphaned questions and logged IRC conversation, I gradually added more content to the Recap and it now consists of anything and everything:

In other words, any information source is fair game. It has even gotten to the point where people will send me things via email asking to have their blog post or new Riak driver included in the next Recap.

Besides keeping everyone interested in Riak up-to-date, there are some other positive side effects of the Recap:

Ultimately (and somewhat sadly), the Riak Recap is probably not...scalable. The amount of activity in and around Riak is growing at a crazy rate and it will soon be hard to condense it all in a daily email. But, while it is still feasible, I believe writing it is worthwhile. I would encourage you to try something similar if you think it would help your project.