Friedrich Lindenberg – on building civic technologies

With a background in media studies, Friedrich Lindenberg, works at the junction of software development, data journalism and open data.


in 2013, Friedrich was a part of the Knight-Mozilla OpenNews program (check the OpenNews call for the next year! and spent the year working as a news technologist and data journalist at Spiegel Online, Germany’s largest online news portal.

Working for the Open Knowledge Foundation, Lindenberg co-founded the OpenSpending project. Launched in 2011, it merged the data on UK and Germany only – however, today citizen of 70 countries can  learn how their tax money are being spent.


Working in these and many other projects, Friedrich, as well as his colleagues, realized that journalists, civic technologists and NGOs are facing some of the same problems. Developing data-catalogues with tools to visualize and analyse it, or services to send FOI requests to government – are all quite new routes, so there is no safe way for the moment.

However, collecting all ‘do’s’ and ‘don’ts’ at one place might be quite a helpful thing to do. This was the idea that came up during the CodeCamp organized by International Center for Journalists (ICFJ) from 19 to 30 May 2014.

And this is how the project CivicPatterns was created, where the software developers and technologists working with citizen engagement apps tried to translate all the experience to the language of patterns.

Now, the website uses the so called ‘pattern language’. It was developed by the Austrian architect Christopher Alexander, however, its use went far behind the architecture field. The core of the pattern language can be put as this: ‘each pattern describes a problem that occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice’ (c) Christopher Alexander. Hence, this pattern set will empower everyone to take part in the design and the development of the project.

You can read more on the pattern language here:


And now, more on CivicPatterns from Friedrich Lindenberg – exclusively for OKFN Russia &

–  How did the idea of the Civic Patterns project arise? Did it come through the discussions during the ‘CodeCamp for the Globe’ or it has been long in your head before?

– I’ve really liked the idea of design patterns and pattern languages since I first learned about them a few years ago. They’re a great method to think about complex systems (whether they are cities, software or society) in a structured way.

The real inspiration for CivicPatterns, however, was seeing what doesn’t work. People have realized that civic technology projects are being done in many countries and that there’s a need to share experiences. So, many initiatives have now started civic app catalogues where they list existing tools and projects. I don’t really browse them, and not many people seem to. So maybe such catalogues aren’t actually a good way to share knowledge about how to design civic technology. That’s how we came up with CivicPatterns, by asking: how can initiatives share something useful, even if they use different technologies?

In the CodeCamp, we had been loosely discussing the idea over lunch for most of the week, and then during the last day of the camp we wrote most of teh patterns in a two-hour brainstorm.

 – What are, according to your experience, the most common pitfalls of journalists’ teams and which 3 patterns are the most useful for them, in your opinion?
 –  I think the biggest thing for journalists is getting into a mindset of service delivery, rather than storytelling. On the web, you can easily provide a useful service along with your story. Imagine you’re writing about corrupt medical doctors – if you have the right data, you could include a lookup that allows readers to see if their doctor is known to have taken bribes. I think for journalists – as for anyone it’s important to have a clear outcome in mind (“Think Backwards”), to be creative in getting information (“Don’t wait, scrape”), and to translate technical language into something people can understand (“Human language”).

– How active is the project since then? Did you get contributions from the other people aside from your initial team?

 – We soon found out that there was also a group in the US, with the Code for America initiative, that had already started such a catalogue. We’re now going to merge the two lists and hopefully soon find some time to extend the existing patterns with descriptions and examples.

For instance, there is a Pattern ‘Eat Your Own Dog Food’ which says – ‘but don’t only eat dog food’. It

actually comes from Microsoft and just means “consume the stuff that you’re producing so you can be your own tester”. I think a funny title makes these patterns easier to remember, but obviously we still need an explanation for newcomers. And here is where we need help: people who agree with some of the ideas and want to add descriptions and examples; but more than that: people who disagree, who think that the approaches that we’re laying out are bad ideas. Come join our discussion on the page and on GitHub!

For the Russian version of the article & interview, please visit:

Фото (C) Stefan Gehrke, CC BY 3.