Trendlines and Stacking Logs

TL;DR

  • Our MoFo dashboards now have trendlines based on known activity to date
  • The recent uptick in activity is partly new contributors, and partly new recognition of existing contributors (all of which is good, but some of which is misleading for the trendline in the short term)
  • Below is a rambling analogy for thinking about our contributor goals and how we answer the question ‘are we on track for 2014?’
  • + if you haven’t seen it, OpenMatt has crisply summarized a tonne of the data and insights that we’ve unpicked during Maker Party

Stacking Logs

I was stacking logs over the weekend, and wondering if I had enough for winter, when it struck me that this might be a useful analogy for a post I was planning to write. So bear with me, I hope this works…

To be clear, this is an analogy about predicting and planning, not a metaphor for contributors* 😀

So the trendline looks good, but…

Screen Shot 2014-08-19 at 11.47.27

Trendlines can be misleading.

What if our task was gathering and splitting logs?

Vedstapel, Johannes Jansson (1)

We’re halfway through the year, and the log store is half full. The important questions is, ‘will it be full when the snow starts falling?

Well, it depends.

It depends how quickly we add new logs to the store, and it depends how many get used.

So let’s push this analogy a bit.

Firewood in the snow

Before this year, we had scattered stacks of logs here and there, in teams and projects. Some we knew about, some we didn’t. Some we thought were big stacks of logs but were actually stacked on top of something else.

Vedstapel, Johannes Jansson

Setting a target was like building a log store and deciding to fill it. We built ours to hold 10,000 logs. There was a bit of guesswork in that.

It took a while to gather up our existing logs (build our databases and counting tools). But the good news is, we had more logs than we thought.

Now we need to start finding and splitting more logs*.

Switching from analogy to reality for a minute…

This week we added trendlines to our dashboard. These are two linear regression lines. One based on all activity for the year to-date, and one based on the most recent 4 weeks. It gives a quick feedback mechanism on whether recent actions are helping us towards to our targets and whether we’re improving over the year to-date.

These are interesting, but can be misleading given our current working practices. The trendline implies some form of destiny. You do a load of work recruiting new contributors, see the trendline is on target, and relax. But relaxing isn’t an option because of the way we’re currently recruiting contributors.

Switching back to the analogy…

We’re mostly splitting logs by hand.

Špalek na štípání.jpg

Things happen because we go out and make them happen.

Hard work is the reason we have 1,800 Maker Party events on the map this year and we’re only half-way through the campaign.

There’s a lot to be said for this way of making things happen, and I think there’s enough time left in the year to fill the log store this way.

But this is not mathematical or automated, which makes trendlines based on this activity a bit misleading.

In this mode of working, the answer to ‘Are we on track for 2014?‘ is: ‘the log store will be filled… if we fill it‘.

Scaling

Holzspalter 2

As we move forward, and think about scale… say a hundred-thousand logs (or even better, a Million Mozillians). We need to think about log splitting machines (or ‘systems’).

Systems can be tested, tuned, modified and multiplied. In a world of ‘systems’ we can apply trendlines to our graphs that are much better predictors of future growth.

We should be experimenting with systems now (and we are a little bit). But we don’t yet know what the contributor growth system looks like that works as well as the analogous log splitting machines of the forestry industry. These are things to be invented, tested and iterated on, but I wouldn’t bet on them as the solution for 2014 as this could take a while to solve.

I should also state explicitly that systems are not necessarily software (or hardware). Technology is a relatively small part of the systems of movement building. For an interesting but time consuming distraction, this talk on Social Machines from last week’s Wikimania conference is worth a ponder:

Predicting 2014 today?

Even if you’re splitting logs by hand, you can schedule time to do it. Plan each month, check in on targets and spend more or less time as required to stay on track for the year.

This boils down to a planning exercise, with a little bit of guess work to get started.

In simple terms, you list all the things you plan to do this year that could recruit contributors, and how many contributors you think each will recruit. As you complete some of these activities you reflect on your predictions, and modify the plans and update estimates for the rest of the year.

Geoffrey has put together a training workshop for this, along with a spreadsheet structure to make this simple for teams to implement. It’s not scary, and it helps you get a grip on the future.

From there, we can start to feed our planned activity and forecast recruitment numbers into our dashboard as a trendline rather than relying solely on past activity.

The manual nature of the splitting-wood-like-activity means what we plan to do is a much more important predictor of the future than extrapolating what we have done in the past, and that changing the future is something you can go out and do.

*Contributors are not logs. Do not swing axes at them, and do not under any circumstances put them in your fireplace or wood burning stove.

As ready as I’m going to be

Tomorrow is the first day in my new role at the Mozilla Foundation, and I’m getting the new job nerves and excitement now.

Between wrapping up at WWF, preparing for Christmas, house hunting, and finishing off my next study assignment (a screenplay involving time-travel and a bus), I’ve been squeezing in a little bit of prep for the new job too.

This post is basically a note about some of the things I’ve been looking at in the last couple of weeks.

I thought it would be useful to jump through various bits of tech used in a number of MoFo projects, some of which I’d been wanting to play with anyway. This is not deep learning by any means, but it’s enough hands-on experience to speed up some things in the future.

I setup a little node.js app locally and had a look at Express. That’s all very nice, and I liked the basic app structures. Working with a package manager is a lovely part of the workflow, even if it sometimes feels a bit too magic to be real. I also had a look at MongoDB, Mongoose and MERS as a potential data model/store solution for another little app thing I want to build at some point. I didn’t take this far, but got the basic data model working over the MERS API.

I’d used Git a little bit already, but wanted a better grasp of the process for contributing ‘nicely’ to bigger projects (where you’re not also talking directly to the other people involved). Reading the Pro Git book was great for that, and a lighter read than I expected. It falls into the ‘why didn’t I do that months ago?’ category.

Sysadmin-esque work is one of my weak points so the next project was more of a stretch. I setup an Amazon EC2 instance and installed a copy of Graphite. The documentation for Graphite is on the sparse side for people who don’t know their way around a Linux command prompt well, but that probably taught me more than if I’d just been following a series of commands from a tutorial. I think I’ll be spending a lot more time on the metrics end of Graphite, so getting a grasp of the underlying architecture will hopefully help.

Then, for the last couple of days I’ve been working through Data Analysis With Open Source Tools at a slightly superficial level (i.e. skipping some of the Maths), but it’s been a good warm-up for the work ahead.

And that’s it for now.

I’m really looking forward to meeting many new people, problems and possibilities in 2014.

Happy New Year!

Took my son to an "Alien Invasion" exhibition and got to play a little Space Invaders
Took my son to an “Alien Invasion” exhibition and got to play a few minutes of Space Invaders

Panda Swap: New year, new job.

Giant Panda 02

Red Panda Pensive

After almost five years working for the black and white panda, I’ll be moving to the red panda in the new year. Well, kind of… and that’s close enough to the truth to justify the cute pictures in this blog post.

As of January, I’ll be working for the Mozilla Foundation as their new Metrics Lead, which is about the most exciting job I could possibly dream up.

I owe the web pretty much everything, so the chance give something back and push something forward is both an honor and a privilege.

Mozilla work in the open, which means this blog will hook up a bit more directly with my day-to-day work in the future and I’ll be able to share some of the successes and challenges I face with you here on a more regular basis.

In other news, my Open University study has me spending my evenings writing a screenplay which is a completely new challenge for me. Though the OU is more open than most, I can’t share any coursework publicly until the course is finished. So that work will not be done in the open.

I’m a person who likes to solve problems, and writing drama is mostly an exercise in creating characters you care about and then making them suffer as much as you plausibly can instead of solving their problems. It’s a strange thing when you think about it, but it’s also fun unpicking what makes a story tick and stick.

My First #Mozfest

Mozfest 2013I have an hour free this morning, so wanted to quickly write up my thoughts on Mozfest before my memory fades too much. This will be a rough, but f*** it, ship it as they say at Mozfest.

I bought a Mozfest ticket in July with next to no expectations and just a little hope that meeting some new people might trigger some new ideas. It’s fair to say that this was a massive under-prediction on my part.

A couple of months later, with about a month to go until Mozfest, my boss (@ade) mentioned some sessions that might be interesting for WWF and my work in fundraising. A couple of introductory emails and a Skype call later and I’d put my name down for a yet-to-be-confirmed session called ‘Pass the App’.

We were going to use a new tool called Appmaker to build a donation app in a three hour session. At this point in time Appmaker didn’t do a lot. It was pre the version that would be called pre-alpha. I looked at Appmaker for a few minutes and worried I’d just agreed to waste the first quarter of Mozfest.

I had some time off and a couple of weeks went by. With two weeks to go, I wanted to get setup with Appmaker in a dev environment before the day so I didn’t waste people’s time with silly questions about configuration when we could be building things. Work was a bit crazier than usual and another week went by before I finally sat down to look at some code.

It was quite astounding how much Appmaker had evolved in those few weeks. The team working on this are incredible. From thinking the morning would be wasted, it now looked like a tool with enough components that with a little imagination you could hook up all sorts of awesome apps. My goal was to add some kind of payment to that.

The components in Appmaker are built with HTML, CSS and JavaScript and looking at a few examples I was happy I could build something by copying and adapting the work that’s already been done. But getting a development environment setup to work with these technologies I know pretty well required diving into a number of technologies that were completely new to me.

The deadline and motivation drove me through some of the initial hurdles and learning, and jumping into the IRC room for Appmaker I received great help and support from the team. I was worried about hassling them for their time while they were busy getting ready for Mozfest, but I was welcomed very warmly. It was a really great experience working with new people.

I guess the lesson here is: If you try and make something new, you cannot help but learn something new. And also that deadlines are amazing, as we’ve discussed before.

There were ten tracks at Mozfest, and at any given time I wanted to be in about eight of them. After the Saturday morning Pass the App session I was planning to alternate between the Open Data and Privacy tracks for lots of interesting things, but it didn’t work out that way. I didn’t actually make it to any other sessions. I got hooked into (and hooked on) making things in our scramble to build a working Pass the App demo, which we did. Here’s a link to the write up. I won’t re-tell that story. I got to work with kind and intelligent people making something valuable and learning a tonne. You can’t ask for more than that from any conference-esque event.

My hour of free time is up now, so I’m going to ship this despite the vast amount of things I was grateful for and wanted to talk about.

And I’ll say a quick hi to the people from the pass the app session,

And the many other lovely people I got to meet for the first time.

Evening coding

With lots of interesting client work on at the moment, I’ve decided to spend some evening time moving along the next version of Done by When. This is nothing too stressful, but the project is getting really interesting now. I think I’m over the initial conceptual learning curve and now I’m making proper progress.

Where the launch version of Done by When was primarily a working proof of concept, this next version is about attention to detail and responsiveness (that’s the speed of interactions as opposed to the adaptive layout stuff that’s already in place).

I feel like I’m properly upgrading something when I’m spending as much time removing code as I am writing it new.

More updates soon.

For a free and open internet, be quick

“On December 3rd, the world’s governments will meet to update a key treaty of a UN agency called the International Telecommunication Union (ITU). Some governments are proposing to extend ITU authority to Internet governance in ways that could threaten Internet openness and innovation, increase access costs, and erode human rights online.” – src: protectinternetfreedom.net

Here are a couple of places you can show your support for a free and open web right away:

If you have a bit more time, you can get creative with Mozilla’s Webmaker kit

You can see who is speaking on your behalf here:

And this article sums up the transparency issues:

The best online page turning book/magazine

I’ve seen a lot a shiny, fancy and useless online page turner book things, and typically hate them for their reliance on flash, the difficulty of reading them and the fact that we’re combining the worst of digital and non-digital technologies mainly to impress the people responsible for publishing the content rather than the people who are meant to read it.

This one was great though:

http://opim.wharton.upenn.edu/~ulrich/designbook.html

The key difference being the link on the left: “Download the MOBI file directly”.

I can flick through the book as I would at a shop, get a feel for the content, and then if it’s worth it, email the file straight to my Kindle for a proper reading experience.

That’s more like it now.

Specific thoughts on the @Coursera experience

First, I’d like to say a massive thank you. I really value the chance to study this excellent material at zero financial cost, and more importantly I love the opportunity you provide to people all around the world who don’t have the finances or the circumstances to otherwise consider such an education.

I also know what it’s like to maintain and develop a complex online system while supporting active users, so this feedback is by no means an accusation of negligence. You will have thought about much of this already I’m sure, and if it’s already on a project roadmap somewhere then please excuse me.

In short, this is not a letter from a grumpy customer; I just thought it may be useful to hear some specific feedback and ideas that could help with the online experience:

When viewing and submitting assignments

  • Include some visual indicator as to which ones you’ve already submitted. A tick would be plenty.
  • Likewise for showing which assignments you have completed your peer-reviews for. If you forget, you have to click into each item to check what you have and haven’t done. Even then it’s confusing to remember.
  • The general visual hierarchy on this page is confusing. Those blue buttons jump out way more than the text you really want people to read (i.e. the assignment titles)
  • Indicate the assignments where the existing submission deadlines are closed (I’m only in week 2 so maybe this happens after week 1 evaluation is done, but currently its an effort to digest what my next steps are and how much I have to do before Sunday night)

Class Homepage

  • Bubbling up some top level stats on assignments due/completed to the homepage would be useful

Syllabus page

  • Ability to mark-off each item you have watched/completed would be nice. Like the assignments, if you’re doing this in the evenings after working, and you’re already tired, every little helps. I found myself relying on visited link colour, and that’s not a very cross-platform solution :)
In summary, the simpler you can explain what’s expected of people (and by when), the more enjoyable the learning experience will become. Let them focus on the learning, rather than the admin (unless of course you’re secretly trying to teach personal admin skills).

That’s it for now, as I have homework to do!

I hope that’s useful in some way, and thanks again.

 

On my next pet project and @Coursera

My most recent ‘pet project’, Done by When, grew up today.

It’s 3 months to the day since I announced a vague plan to test out an idea that had been floating around my head, and now it’s out of beta, taking payments and I’ve just notice our Mandrill email reputation has crept up to ‘Excellent’. Woohoo.

I’m delighted with where it’s going and all the helpful (positive and negative) feedback I’ve had from the first brave group of testers.

I’ve added some screenshots to my portfolio on Behance, but the interface has progressed even further since then.

Now that Done by When has a “business model” and all that, it will be given a serious amount of time and attention going forwards. But importantly, as it has an active user base I won’t be using it as a playground for new ideas and technology. It will first and foremost serve the needs of the users. Which means it’s no longer a ‘pet project’.

I needed another project/playground so I’ve enrolled (and completed my first week) in Design: Creation of Artifacts in Society with Coursera. I’ve studied design before, so mainly wanted to see what the Coursera experience was like in relation to the Open University courses I took a few years back. I’m more interested in the content of the Game Theory course, but that doesn’t start for a while yet, and all learning is good learning.

So I’ll be writing some posts about the Coursera experience, but more importantly I’ll use this as a framework for my next pet project. There are 7 weeks left to go and I’ve set myself the brief to somehow contribute to dealing with the issue of food waste.

Food is core. If we solve food, we solve most things.

Not that I’ll solve food, but I may contribute something.

I’ll keep you posted.

On learning Python, and a style guide

As I continue to learn and work with Python as a programming language, I’m liking it more and more. I feel my code tightening up, and I’m beginning to see why the Python community are so loyal to the vague but useful idea of Pythonic code.

I wish I’d seen this Python style guide a little earlier on in my learning though:
http://www.python.org/dev/peps/pep-0008/

While I’m not far off with most of this, it makes me want to go back and tidy up a bit now, which never feels like the most effective use of time (though it may be in the long run).

And I particularly liked the phrase “A Foolish Consistency is the Hobgoblin of Little Minds” :)