Removing Friction

I’ll explain the technical toolchain we used in terms of the friction we removed. With this book we’re telling a story, and the goal is to reach as many people as possible, as cheaply and smoothly as we can.

The core idea was to host this book on GitHub and make it easy for anyone to contribute. It turned out to be more complex than that, however.

Let’s start with the division of labor. I’m a good writer and can produce endless amounts of decent text quickly. But what was impossible for me was to provide the examples in other languages. Because the core ØMQ API is in C, it seemed logical to write the original examples in C. Also, C is a neutral choice; it’s perhaps the only language that doesn’t create strong emotions.

How to encourage people to make translations of the examples? We tried a few approaches and finally what worked best was to offer a “choose your language” link on every single example, in the text, which took people either to the translation or to a page explaining how they could contribute. The way it usually works is that as people learn ØMQ in their preferred language, they contribute a handful of translations, or fixes to the existing ones.

At the same time I noticed a few people quite determinedly translating every single example. This was mainly binding authors who’d realized that the examples were a great way to encourage people to use their bindings. For their efforts, I extended the scripts to produce language-specific versions ...

Get ZeroMQ now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.