Why I Write the Riak Recap Every Day

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:

  • Links to new Riak-related repos on BitBucket and GitHub
  • Interesting Tweets
  • Pictures of Riak and Basho t-shirts and stickers in the wild
  • Announcements about upcoming talks and presentations
  • Slidedecks from presentations
  • Link to blog posts
  • Pointers to new wiki additions and documentation

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:

  • Indexing and web searching purposes; Everything that comes across the Riak mailing list gets indexed, Recaps included. We also link all the recaps from the Riak Wiki. This increases the number of Riak resources and searchable content on the web.
  • Shows new (and existing) users that there actually is activity around the project; A lot of times developers will evaluate not just the quality of an open source software project but also the activity level of the community supporting it. The activity is out there. The Recap brings it to them everyday.
  • Recognition; It's well acknowledged that peer recognition and community notoriety are among the top reasons people participate in open source projects. A link to a new Riak driver with a thank you and some praise goes a long way to encourage more participation without being disingenuous.
  • It shows us where the holes in our documentations are; If, for instance, users keep asking about a way to "list keys" in Riak, we know we need to address this better in our documentation.
  • Reporting all the questions shows that there are no stupid questions; Want to scare a newcomer away from a project? Easy - make them feel like their questions are stupid or trivial. Just recently I showed a new comer to the #riak channel that their previous day's questions were to be included in the Recap. Their response: "I thought I was being 'repetitive' with the questions.... it's nice knowing they're relevant."
  • Helps spread the word about Riak to those who aren't on the mailing list; At some point people started tweeting links to the Recap, thus enabling those not on the mailing list to learn about the project and stay current. (Mailing lists aren't for everyone.)

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.