I’m hosting the Mozilla Global Sprints in Berlin in May – come along!

I’m helping host the Berlin Mozilla Global Sprint next week – it’s a two day event, set aside to create the space to make it easy to volunteer on existing open source projects, aligned with the key Mozilla’s key Internet Health issues, outlined in their recently published Internet Health Report.

More specifically, these issues, taken from the report are:

WEB LITERACY: Projects that teach individuals skills to shape — and not simply consume — the web.

OPENNESS: Projects that keep the web transparent and understandable, allow anyone to invent online without asking permission, and encourage thoughtful sharing and reuse of data, code, and ideas.

PRIVACY & SECURITY: Projects that illuminate what happens to our personal data online, and how to make the Internet safer for all.

DIGITAL INCLUSION: Projects that ensure everyone has an equal opportunity to access the Internet, and can use it to improve their lives and societies.

DECENTRALIZATION: Projects that protect and secure an Internet controlled by many, so that no one actor can own it or control it or switch it off.

Oh neat, these are things I’m totally in favour of. What projects are there?

There’s a load of open source projects you can hack on listed at Mozilla’s Pulse page. But to be honest, as long as you’re working on a project that addresses the issues listed above, you’ll be welcome.

If you’re feeling particularly generous, and heroic

I’m looking for some help on a project called the Planet Friendly Web Guide, which I was working on last earlier last year, as part of the Mozilla Open Web Leader programme.

I presented it at SustainableUX, and if you’re visually inclined, you can see the deck below I that I used:

I’m looking for help in a bunch of ways, but the simplest way to see where you can help is to visit this contributing page on the guide.

In particular, I’m looking for help building some fun little widgets to let people get a quick idea of the carbon footprint of the infrastructure used to serve sites they use or build, based on the general platform, packets, process model, to see if it’s easy to apply for someone who hasn’t been working on the project like I have.

Come, and hack on something nice

So, to recap, the deal is basically:

  • turn up
  • hack on a thing that largely agrees with the principles outlined in Mozilla’s 5 key issues
  • be fed at lunchtime as a token of appreciation if you’re giving your time to make the web a better place

There’s a lot more about the whole idea of Mozilla’s global sprints on their dedicated site.

You can sign up here on the registration site.

Wait two whole days? In this weather?

It’s also totally cool to drop by for just part of the two day period – understandable if you just want to spend a bit of time on a project, before getting out and enjoying the wonderful Berlin summer weather.

You in?


My first experience with Liberating Structures Labs

More and more these days, I’m seem to earn my crust helping people talk about technology, and their strategy around using it in an organisation, rather than writing code myself. Just like you have tech meetups to find out about out shiny new frameworks and software, you get meetups for where you can find out about shiny new frameworks for running workshops and meetings better. Liberating Structure Labs is an example, and I went last night. Here’s my write-up.

Liberating Structures?

As far as I can tell, Liberating structures is a free-to-use set of principles and activities to help structure meetings and events, as a response to the rigid, stifling structures of convention ways of getting people to work together in a shared space. Here’s the blurb from their website, explaining the problem:

Conventional structures are either too inhibiting (presentations, status reports and managed discussions) or too loose and disorganized (open discussions and brainstorms) to creatively engage people in shaping their own future. They frequently generate feelings of frustration and/or exclusion and fail to provide space for good ideas to emerge and germinate.

What’s proposed instead are a set of 33 or so different activities, with clear sets of rules, that you would apply, depending on the outcome you’re after when you have people in a room with you. you might recognise some of these from other disciplines if you ever facilitate UX workshops, run retrospectives in agile teams and so on:

Screen Shot 2018-02-22 at 09.50.12.png
A list of the 33 (oops! 35) Liberating Structures to use

Testing these somewhere safe

One thing about these sets of activities, is that to test them at work is usually quite a high stakes gamble – you don’t know how well thought through they are at this point, or whether they’re a good fit for where you work.

Generally speaking, wasting a load of other people’s time with experimental techniques for workshops or meetings, could be seen as a career limiting move, so it’s useful to have somewhere to try them out first to see where the pitfalls are, so you know how to recover if things go south when you do talk your boss into letting you try them.

As I understand it, this is the purpose of the Liberating Structures Labs, and last night, we ran through a few exercises to get familiar. Each meetup has a theme, and last night the theme was Building a Culture of Collaboration.

Impromptu networking


The first was an ice breaking opening game – with some nice easy to follow instructions on how to run through it. The page for it is here, but in a nutshell, the idea is to provide some prompts for conversation, and have some time boxes, to make it easy to chat with each other.

It worked pretty well, and I think I’d use it myself in future, as a quick ice breaking game, when I want some clear, rules. As an example of how careful application of structure can be liberating for people in a workshop, I found it a really effective demonstration of the key ideas I understand Liberating Structures to be about.



The next part  was introducing a much larger activity, Panarchy, which as you’d imagine from the Pan part of the name is pretty ambitious in scope – you essentially look at how to answer a pre-defined question at a number of different levels of abstraction from the micro/individual level, through to groups, and industries, right up to policy and even myth-making.

Interestingly, it was initially introduced as a tool in healthcare to help structure a system-level response to the spread of MRSA in hospitals – so rather than being a comparatively vague question like “How can we build a culture of collaboration?“, it was a much more concrete problem to solve, with a much more measurable upside: “How can we stop accidentally killing people in our care with antibiotic-resistant super bugs?”.

For me at least, while I enjoyed the conversation with other attendees, I found it that we left the exercise without many useful insights we could take away – it didn’t feel like such a strong demonstration of the technique for me.

I think this is a function of the initial question being so vague to accommodate the free workshop format, where you can’t control who is coming, but also highlights how important it is to be able to provide context before you put forward a question for an exercise like this.

1, 2, 4

One thing that caught my attention, that I haven’t seen in other playbooks of activities like the GameStorming approach, was how composable the activities were – you would make new structures from combining other structures/activities. In Panarchy, a key mechanism for getting insights out of people was something called 1,2,4 – if you’ve ever run a design studio with Lean UX, or a charette exercise, the idea of going from individual work, then sharing in pairs, then progressively larger groups, will be familiar.

1, 2, 4 is a nice reduction of these ideas down to their essence – and looks to be applicable in lots of places where you might have groups where one or two people are more forthright with opinions than others, and you risk losing some useful information if you let them dominate discussion. For me, it felt like a good introduction to the structure (what do I call these? A Liberating Structure? An Activity? There has to be a less clumsy phrase than liberating structure to use in sentences).

The main niggle I had here was the issue of timing – when you don’t have a visible way of keeping time in a timeboxed activity, or a designated timekeeper, it’s still easy to end up giving the floor to the most talkative person (I try to keep track of this, I’m often a guilty party here).

An interesting grab of tools

I hadn’t heard of Liberating Structures before, but broadly speaking the activities seem very accessible, and there’s enough variety in the 35 structures for it to feel like a pretty comprehensive toolbox, that works in a wide range of contexts, in the same way that Game Storming provides a useful set of games to use in workshops depending on what you’re after.

I think I’d like go to the next meeting to explore it more, and if you’re curious about having a useful set of teachable techniques to help get more out of meetings with others, I’d happily recommend it.


So, we ended up at a democracy themed hackday thing

Earlier in August I wrote a post about the BPB, a German institute focussed on promoting democracy, and WhoTargetsMe, a project to bring more transparency to election campaign advertising on Facebook. After sharing the post online, I had a few people contact me about forming a group to work at an Democracy is Everything, a hackathon at Factory Berlin, in Mitte in Berlin.

Here’s how we got on, and some notes for other people thinking extending a project at a hackday like this in future…

I’ve been going to hackdays and hackathons since 2007, (although to be fair, much less frequently after I entered my thirties, five years ago…), and the format has usually been something along the lines of:

  1. think up a project, usually at the hackday, or maybe a little bit before it starts
  2. meet people, see who you can imagine building something with
  3. work out who is supposed to be doing what
  4. realise how little of what you’ve doing will fit into the time available and update plan
  5. build much less than you thought, and think how to present it
  6. present it
  7. curse self at missing key points in in the minute or two you have to present it

This one was different a in few interesting ways:

Wait, I need to apply?

While I’ve seen a few events where you pay to go to an event like this (which I think is at best pretty cheeky if you have sponsors), this is the first event I’ve been to where you needed to apply to go, and have an idea beforehand.

While this makes an event less approachable for individuals and takes the focus away from meeting new people, it had some interesting effects. It forced me think more about what could be done in the time available, and what the ideal makeup of a team to do this might be, in a way I haven’t had to before.

Extending a existing project

This is also the first time I’ve worked on an extending an existing project, rather than try to come up with a new one, and also one where I hadn’t ever met the most visible project author.

This added another new dynamic: whatever you think you can do in the time available, you need to have some idea of how useful it would be to the maintainers of the project if you want it to last beyond the hackday. I’ll touch on this later.

What we did

If you’re not familiar with whotargets.me, it’s a browser extension that counts the political ads in your Facebook feed, and based on this information, gives you some charts and analysis about how different political parties target you to for your vote during an election. By using it, you help build a dataset of how political parties are using the Facebook platform to advertise voters. This dataset can then be used to help inform public discourse, and eventually policy. 

Here’s how the site looked before the hackday:

Screen Shot 2017-08-26 at 15.12.27.png
What am I downloading, and what does it do?

This wasn’t immediately obvious when you first visited the page though – you were prompted to download a browser extension without understanding what it was really going to do. Germany is known for different attitudes to personal data to the UK, and this seemed a big turn off to a number of Germans we showed it to, so we had a couple of main goals for the hackday:

  1. Make it work in Germany
  2. Make it clearer what it does

I’ll explore these in more detail below:

Making it work in Germany

WhoTargetsMe originally comes from the UK, which has a much more centralised tradition of campaigning than Germany – a nice example of this is the story where a conservative campaigner told me how Tory MPs are essentially barred from even retweeting without central HQ’s permission. I think this is also an artefact of how election financing in the UK places hard limits on online spending in local campaigning, but in in 2016 at least, doesn’t really have limits on national campaigns.

This centralisation is different to Germany, partly because Germany is split into a series of Länder (it’s not totally accurate, but it can help to think of them as states), but also because there are comparatively more parties and decentralised campaigning as a result. Fortunately for us though, in Germany online campaigning with Facebook is less established, so it’s not unreasonable to think that campaigning will start out similarly centralised at first, because that’s where the expertise and budget to run a campaign might be in the main parties.

In the long run through, it’s likely that as campaigning digitally becomes more commonplace, you’d have many, many more advertisers to keep track of – I know in Kreuzberg/Friedrichshain where I live, at least one party in this area is already  experimenting with Facebook ads like this.  To this end, we did a fair amount of research in the group for this, and found a load of useful datasets to help with matching ads to politicians and parties, but we didn’t pursue this further during the weekend event for time reasons.

I’ll explore this in a future post, which I’ll link to when it’s online, as I think it has an impact on projects like this in the long run.

Making it clearer what it does

If you look at the whotargets.me front page for Germany or for the UK, you’ll see more info on what the whotargets.me browser extension is, and what it does – I’ve taken a screenshot below (the actual wording from the hackday has been tweaked a bit, but the general idea is the same):

Screen Shot 2017-09-02 at 23.14.15.png

Getting a different point of view

The screenshot above is clearly a different style to the previous look for the site with the black and white photo of the Reichstag (the German equivalent to the House of Parliament).  In using illustrations like this instead, we were trying to capture some of the mood of democracy being a messy process driven by ultimately by people, rather than faceless institutions, and make the project feel more approachable than before.

Screen Shot 2017-09-03 at 19.34.41.png

These are largely thanks to the illustrator on our team, Judith Carnaby, who was introduced to me by Alice Rose, who helped tidy up the copy and some of the React code in the plugin itself. The two of them being much more comfortable in German than me, and us having a native German speaker in Katarina Rasch really helped here.

Explaining how the data is used

In Germany, people tend to be a bit more wary about how data that might identify them is used than the UK – it’s not clear how it’s used, they often will flat out refuse to use a service. So, we also ended up writing some more about how it works once we had a chance to speak to Louis Knight-Webb (one of the co-founders of the project) over slack at the hackday.

There’s few more details being finalised, but that this info should be available on the main site soon, with some helpful diagrams – in the meantime, this should be visible in tweaks to copy throughout the app that should make it clearer what is happening with adverts, and what data is used in them.

If you want to extend a project at a hackday like this in future

First of all, it is possible, and all in all, I feel it worked out pretty well – I’d totally do this again, rather than try to re-invent the wheel. There’s a few things worth bearing in mind though.

Access to at least one member of the original team is important

I had about 3 hours of skype calls with Louis before starting the hackday to understand the existing project, and we spent quite some time talking about was realistic to attempt in the time we had. We cut back a lot of scope in these calls, and without them I’m pretty sure we’d have wasted a lot of time trying things that we’d realise only later weren’t feasible.

During the hackday itself, we had a slack channel open which Louis was in, which also helped massively – at one point on the Friday night, we realised were going in pretty different directions to the rest of the how the project was communicated, and catching it comparatively early saved some awkward moments the following day.

Louis made himself very available, but if I was doing this again, I’d probably sort out some pre-agreed time slots to answer questions, as being on call over a weekend might not be everyone’s idea of fun…

Typical hackday style rules about pitching change

If you’ve been to any hackday style event, it’s common to see “Pitch-Driven Development”, where you might start with a what you aim to present, then work backwards, only building the bits that will be in a presentation. Doing this in theory saves time spend on login systems, proper backends, and so on, in favour of visible features, that increase the chances of your presentation impressing judges and winning. The implication here is that if you don’t win, your effort was more or less wasted, and it has no life beyond the hackday.

In our case, we had a real working product that we were trying to adapt to a new region, so even if we didn’t catch the eye of the judges, it would still need to be useful, so this didn’t apply in the same way.

At the same time, part of the value of events like this is the coverage for a project if your team DOES win, and the doors it opens to help meet people who can help the project later. So, if you make it all about your contribution to a project than the project itself, you run the risk of everyone you present it to missing the bigger picture.

Finally, there’s the ethical aspect – misrepresenting what you actually achieved during an event when there’s at least some expectation of it being a fair competition isn’t cool, and will almost definitely come back to bite you.

Videos over presentations in future?

Quite late in the day, we realised that the visible changes to the site may not be all that easy to show during the ridiculously short two minute window we had for presenting, so we ended up with some frantic last minute changes to what we showed off.

If we were to do this again, and if we were confident we could show a video, I’d probably rely on putting together a video of what we had made for our two minute slot, rather than put together a short lived presentation for the judges. If we did this, we’d be able to make more use of it after as support material in blogposts too.

Worth a spending a weekend

In the end, I’m pretty happy with what we got together during the Friday and Saturday we had, and it was a lovely surprise to come third place.

Big thanks to Alice, Judith, Kat, Nick, Louis, Brian, and the rest of the whoTargets.me team 👍🏽

Triumphant faces – some of us even picked up some useful swag out of this hackday…

How you can find out more about Who Targets Me

If you’re in Germany and you’ve read this, I think you should visit whotargets.me, and try installing it on your browser to help us build a decent dataset to add some transparency to how political ads are used in elections.

If you’re technically inclined, the code repo for the browser extensions is on github.

There’s an official write up on the whotargets me blog, added by Louis.

If you read German, this microsite on Buzzfeed about WhoTargets.me and Dark Ads (these political ads this project was all about) is also a good resource.

If you’re in Berlin and want to chat to one of us, I live in Berlin, but Louis is in town all of this month, and probably the best person to speak to about the project  – he’s @LouisKnightWebb on twitter.




Coming across the Pacman rule

I’ve been running events and meetups since around 2010, but I haven’t come across the ‘Pacman rule’ before, as blogged by Eric Holscher.

It’s a simple rule to follow, to make it easier for new people to join groups, and generally help make events feel nicer for first timers:

The rule is quite simply stated:

When standing as a group of people, always leave room for 1 person to join your group.

More memorably, stand like Pac-Man!


The new person, who has been given permission to join your group, will gather up the courage, and join you! Another important point, the group should now readjust to leave another space for a new person.

Leaving room for new people when standing in a group is a physical way to show an inclusive and welcoming environment. It reduces the feeling of there being cliques, and allows people to integrate themselves into the community.

So simple, and easy to try out – I think I’ll give it a go at the next event I’m organising.

BTW, the original post is a fast, easy read – go check it out.