The last year has had a lot of things happen to it in my life. I took on a lot of new responsibilities at my old job at Creative Commons, MediaGoblin development ran in full swing, we kicked off Liberated Pixel Cup, I left my job at Creative Commons, we left DeKalb and moved to Madison, Morgan started her PhD program... but the largest, most overwhelmingly huge thing that happened in my life this year was the MediaGoblin campaign.
I've never done anything that felt so huge, so life changing, that used so many of my skills and all of my energy, that felt so draining and yet felt so gratifying all at once.
The campaign was a huge success, and I've wanted to write about it for some time. But even after the campaign ended, it didn't really end; I've still been busy wrapping it up. And it's also something that felt so huge that I have a hard time putting it all down. So this will be my attempt. There will be no tl;dr... knowing of the success of the campaign is the best tl;dr you will get, so if that's what you care about, you can stop reading now (you probably already read that anyway). If you wanted to know way, way more about behind the scenes than you might have ever wanted to, here we go.
Running the campaign
The first thing that needed to happen for the MediaGoblin campaign to happen was that I needed to quit my job. There's a bit more to it than sending in a notice saying I was quitting; I knew that I thought MediaGoblin was my most important work and that I wanted to focus on it, but how? I was looking to see if there were some jobs that might allow me to contribute to free software in some way for most of the week but then allow me one or two days (preferably two) to focus on MediaGoblin work. There were some possibilities, but in the end I decided that I would not really get as much MediaGoblin work as I would like done in that manner, and the jobs that were willing to let me do that were (understandably) somewhat cautious in the amount of time they could promise me. At that time I was feeling flustered that I wasn't giving MediaGoblin enough time, and that every time I stepped back, even though we had a lot of contributors, contributions were falling off and the community would go very silent. I wanted to be as active as possible, and so I decided I wanted to try to do it fulltime.
Of course, I also had to talk to Morgan; this was a decision that would affect both of us, and she was starting her program at the university and that was probably going to be expensive (more expensive than we anticipated even; it turned out funding was not available this last semester so we paid for it out of pocket). However, we had been saving for a possible life change like this. Morgan agreed: we had enough money at hand, I seemed to have some contracting opportunities if I needed to fall back on them, we had some backup savings, and if I could find a way to cover enough for us to live on for the next year, I should do it. And there was a cost of not doing this: I was at a strange position in my life where I could actually pursue my life dreams and possibly make them happen. What would happen if I didn't do so?
And so I quit my job. I turned in my notice at work, agreed to work part time for a few months and then as a contractor afterwards.
Morgan and I left our apartment in DeKalb. There were two weeks between our old apartment and our new apartment. We put our things in storage, and went on a trip: first to Boston for a week, then to New York.
In Boston Morgan and I stayed at the house of friend and MediaGoblin co-conspirator Deb Nicholson. Morgan took the time to visit museums and explore Boston; it was her first trip ever there. Meanwhile, I visited with free-softwareish friends and talked about free-software-ish things. I also spent a lot of time crashing the FSF office and doing MediaGoblin work from there. Deb's partner asked me when I was going to stop working and start vacationing and have a good time. I didn't know what he meant... I couldn't have been having a better time.
The most important day of that trip was when Deb, Will Kahn-Greene (another MediaGoblin co-conspirator) and I met at the FSF offices to plan out the campaign. We talked a bit and laid out some general structure to how the campaign would work. Then it was time to answer one of the big questions: were we going to do the campaign through the FSF or through KickStarter? (John Sullivan already expressed interest in us doing it through the FSF if we were interested in doing so.) We left for a coffee shop to discuss it and finish outlining the structure of the campaign. Well, if you read my previous blogpost, you already know the results: we went with the FSF.
Of course, we still needed to agree that we were going through the FSF. We went back to the FSF offices, explained to John that we were interested in going through the FSF but there were certain features we needed during the campaign that it didn't appear the FSF had infrastructure-wise. We laid them out one for one, and John took notes on a pad of paper. "Yes, I think we can do this."
Finally, it felt like the campaign was really real. I was excited.
Morgan and I finished up our week in Boston, said goodbye to Deb and her (now-husband) Ernie for being such awesome hosts, and left for a week where I'd actually do some real vacationing (only a little bit of coding, honest) in New York, visited with a number of friends in the area and had a great time, and finally flew home to move our stuff between DeKalb and Madison.
We moved into our new apartment. I walked around Madison and fell in love. For a couple of days, I just straightened things out, settled in, and mostly felt fairly relaxed, the most relaxed I had felt in a long time.
But... time to stop relaxing. Time to start the campaign for real. Before the launch date, we had a mile-long list of TODO tasks, and a very short time to get going on them. I got to work.
There was a lot to do before the campaign even started. We commissioned MediaGoblin's regular artist Jef van Schendel to do a special campaign page for the MediaGoblin site. The FSF did work to update their infrastructure for our requests. Deb, Will and I hammered out the plan for the pitch video, finalized the rewards plans (I did quite a few calculations to make sure the rewards wouldn't cost so much as to not make the campaign worth it), and then came the really huge task: the pitch video itself. Work started in late August. The plan was that this would all go live on September 1st. That gave us less than a month and a half to wrap it up and get it going.
Here is the exact outline of tasks that we planned out:
- Timeline nailed down
- Chris's local reference script pieced together
- Agree on amount to pay schendje
- Talk with schendje about pay and timeline
- Work with the FSF to find out everything about what the theming is
- Storyboard finished (mid-week)
- Animation tests done
- Ideally, animatic done
- Chris Webber should find out and get to Deb (& Carl) what the aspect ratios / formats best are
- Coordinate any work for audio and video recording with other people
- Deb and Chris work out draft phrasing and page layoutish content
- final storyboard signed off on (start of week)
- Reward decisions researched
- As much non-"face recording" work as can be done for the video as
- Deb and I should have videos of ourselves recorded
- Deb should get video of herself recorded to me
- Voiceovers done or mostly so
- Animations done
- Background music, if using, should be looked for
- Writing for pitch page done
- FSF should have things working
- Writing for fundraising page done
- Theming should be done
- Donation progress bar should be working
- Video mostly edited
- Talking to reporters? (or is this next week?)
- Final video edits
- Video transcoded and put in place
- Final tests and etc
This was a lot to do in not a lot of time (my org-mode tree for the "Crowdfunding campaign" task is 3300 lines of text long, though that includes post-campaign tasks also, and for the most part I did not take breaks over this month and a half of work), and one thing I knew from seeing the success and failure of other campaigns was that things had to look good. And more important than anything else, the campaign video pitch had to be stellar. We could be cynical about this: we are catering to a certain amount of flashy visuals and shallowness. I remember watching the Ouya campaign and thinking "they haven't put any useful substance in this video" and thus feeling very suspicious of it (I guess it looks like they're making real stuff so maybe I should stop being so wary). But what really made that campaign raise so much money? Was it proof that they had the architectural ability to produce a console that was really useful? I really didn't think that video had much substance in it; it was mostly flashiness. But it also was the right kind of flashiness for the audience it was going for, and it raised the money it needed to raise.
Looks aren't everything though either, and I didn't want to make something vaporous. Will pointed to Joey Hess's git-annex assistant campaign video which is kind of awesomely the opposite of the Ouya video: it explains clearly what it wants to do but doesn't look flashy and shiny at all. (It probably helps that everyone knows who the heck Joey Hess is.) And there are also some nicer examples that fall in the middle... Tube is by people I trust and made a kick-ass video that was visually appealing, felt like it matched the film they were producing, and also explained what they were doing clearly. That's the kind of video I was more interested in making.
But I'm not a film-maker, and it was hard to know if this was something I could really do. A few years ago I read an interesting book titled Animating With Blender which I thought was more useful for its instructions on how to organize a film than how to actually use Blender itself. It really illuminated how to make a film from start to finish for me.
So the approach we took was very structured, and I took it in steps:
- I wrote an outline of the script I imagined. At this stage, it was harder to get feedback I discovered, not really enough info to convey the script I had in mind.
- I turned it into an actual script with spoken lines and textual descriptions of what would be appearing on the screen shot for shot. This was a lot easier to get feedback on; Deb, Will and I talked about it, but I especially had a lot of back and forth emails with Deb while we ironed out exactly what the lines would be.
- With a clear script, I then produced a story reel with test audio (which I mistakenly called an animatic... it isn't.) Many of the things shown in here were just images that I thought were "close enough" to conveying the thing at the moment which I had around. There were also the node animations; I spent some time in this period carefully deciding what the aesthetics of those two short animated scenes would be.
- I searched around to find some appropriate music; I tried a bunch of pieces including some folksy acoustic ones and jokingly showed Will one with a bit of overly-epic chiptune music that I liked. Will actually said that this was the right call and I should go with it, saying something along the lines of "It should be epic and over the top! This isn't Prairie Home Companion, we aren't sitting around eating corn cobs. This is the fight for the future of the internet!" I went with that one after all.
- I worked on the render tests of the nodes and the police scanner. Until I got these tests done, I was still afraid that the animations were something I wouldn't be able to pull off.
- Deb and I started doing voice and video recordings. This was a bit tough, and in retrospect we should have used some time together to visit a professional's house and get said recordings. As it was, we both recorded separately on crappy microphones and not ideal camera equipment. I spent a ton of time cleaning up audio in audacity, re-recording stuff myself, and pestering Deb with requests of things to re-record. (I am sure I was annoying about this, not to mention that she was in the middle of planning her wedding! Thanks for being patient, Deb.) I think more than anything, I underestimated how important it was to get this part down right, and I spent a lot of time being afraid that our crappy setups would ruin the video and everyone would dismiss it and not donate it because they could hear audio crackle. (I was probably more afraid of this than was rational.)
- I wrote some python scripts to be able to allow me to create the animated node graph quickly with adjustments.
- I did the actual animation of the node graph things. There were some hiccups, my police graph rig was hacky, but I have to say, this was the most fun thing for me for the entire campaign.
- I made a ton of screenshots of MediaGoblin.
- I made a number of video recordings of me doing certain small things like scrolling through identi.ca or starting up a MediaGoblin process. I did more takes of these than is probably rational.
- I asked Joar Wandborg to make videos of himself eating and upload them to MediaGoblin. If you re-watch the video you'll know what part I mean.
- I knocked out the drawings that appear in the video.
- I abused my friendship with my friend Bassam Kurdali and asked him for more Blender tips than is fair or reasonable.
- I did the video editing of the whole shebang in Blender's video editor. I might have had more anxiety about the audio quality part, but I had more actual frustration over this than anything else. It wasn't the actual placing the timing or strips of things... it was putting videos on the sequence editor and battling encoding issues for literally days on end.
- I cut up the audio that we were using and put it in place and made the credits.
- And of course, I did the final render. My computer smoldered for a good 9 hours, and the campaign video was complete.
When you work on something like that for that long, it's hard to not mostly just focus on all the mistakes you made. But honestly, I am damned proud of that campaign video. I think it sent all the right messages clearly, I think it looks awesome, and I think it was the right length. I feel good about it.
There was quite a bit more to do also and we ended up being a bit farther behind than I expected by a week and a half. Still, we got all that done in only a little over a month and a half.
Finally, everything was ready: the video, the campaign page text, the rewards decisions, the little icons that went with the rewards (done by my friend Alex Camelio), the FSF donations page... it was time to launch.
The campaign begins
The campaign launch was exciting. We put out a blogpost, the FSF put out notices to their own campaign, a lot of people spread the message on various channels, and money started to come in. At this point I was relieved that things had finally set off; I thought I might have a chance to finally relax in comparison to all the pre-campaign work I had done.
Well, I was very wrong there. :)
Before I get into what happened, Will put together an analytics script. It's interesting to look at:
Initially things went easily: the people who were most likely to donate jumped onto donate. I remember going out to lunch with a MediaGoblin donor who turned out to be from Madison; over the course of lunch, the campaign went up $600. But it didn't stay easy.
What I discovered is what anyone who's had to do fundraising already knows: it's a real slog. You have to keep up momentum, and for a large part, that means getting out messaging every day. We had a lot of advantages: Deb knows a lot of people in the tech media, we had the FSF as a connection, we had a solid video and good branding, we had an awesome feature (3d media support!) land mid-campaign, and so on.
The details are kind of boring and I'm not going to go into them, but what I learned the hard way is two things:
- There's a point where fundraising slows down. You can see that on the graph already.
- If you step away from messaging, things basically grind to a halt.
- It's really hard to keep messaging interesting for a whole month, though.
There was a week where I went to the Federated Social Web Summit and also flew in to help CC with interviews for a position it was hiring for. I thought it was really important to go, and it turned out to be a useful thing to blog about after. But during that week, money basically stopped coming in altogether because I also dropped off of messaging. It probably would have slowed anyway, but it was hard to not be gripped by anxiety by everything just totally grinding to a halt fundraising wise. There's a certain part during fundraising where your feeling of self worth is proportional to how fast the fundraising level is climbing, so in times like that, it can be hard.
Luckily, one major thing happened for us: the FSF helped secure a 10k matching grant. (You might see a huge spike on the graph; that's the 10k grant coming in.) As important as the 10k grant itself was, when things were slow, it gave us an extra thing to rally around. I'm very grateful to the FSF that they helped us line this up; I don't even know where I'd begin to start such a thing myself.
Anyway, a ton of anxiety later, the campaign did wrap up. We shot for 60k and it was clear we weren't going to make it. But we also set the campaign a bit higher than we needed it to be. I told Deb and Will that "if we could just make 40k, I'd feel like it was a success". As the time came closer I wrote John saying that I was considering doing something crazy like lowering our final goal to 40k, since I was afraid nobody would donate at the end if it didn't look like we'd get close to our real goal (maybe they'd think it was Kickstarter-style and would think "well, they won't make it anyway"). John advised me that the end of these things tend to be tough but sit tight. So I did.
We made 43k and I felt pretty awesome about it. We declared the campaign a huge success, and meant it.
Post-campaign: rewards and a new routine
The campaign is over, but that doesn't mean the work is over. There's been about a month of work after the end of the campaign spent working on trying to finish the rewards of donors to the campaign. I've actually enjoyed it; one thing about the campaign that I really like is that it's allowed me to mix in excuses to make good use of my artwork. (You may have noticed that the MediaGoblin project itself is sneakily set up to make use of my favorite skills in different ways.) But of course, the purpose of the campaign wasn't to fund rewards, it was to fund me working on MediaGoblin for a year. (Or, well at one point we thought there was the possibility that maybe we'd shoot so far over the campaign that we could pay multiple people... clearly that didn't happen :)) Thankfully, that's almost all done. I've finished all the artwork and Morgan has helped a whole lot on ordering things and vectorizing the mascot for the shirt and so on.
Last week was the first time I finally felt like I spent a full, solid week on MediaGoblin doing code reviews, coding, and a bit of administrative work.
It felt awesome.
Was it worth it?
I think it was worth it. I think it's also common to think about a campaign like this as "you set up the thing, then the money rolls in". Well, I don't know if that was true for other campaigns. It certainly wasn't true for ours. It was a lot of work.
After all the costs of the campaign are removed, the "income" from the campaign will be a bit less than $35000 (I will be making the files related to the finances of the campaign public). Keep in mind also that the campaign started in September, so since I'm promising to work on MediaGoblin full time for all of 2013, that's not just a year, that's nearly 1 1/3 years (so that's closer to $26000/year if it were really a salary). That's not a huge salary for a programmer. It's both significantly less than half of what I made at CC, and less than what I made at my first time job as a datacenter monkey, and both of those had benefits. We're paying for our own insurance as-is. We can make it through 2013, but partway through the year I will also need to figure out how to fund things going forward.
But it's also enough... not on its own, but as said, we have some savings, and I have some contracting that I can do. And it's actually also pretty good; sure, we didn't meet our goal, but there are other awesome projects like Tube, git-annex-assistant, and OpenPhoto, and actually if you look at those you realize we did pretty damned well.
And it's afforded a rare opportunity: to do exactly what I want and believe in for a year. And that's something that I wouldn't have been able to justify otherwise.
And so... I'm looking forward to this next year!
Addendum: One thing I forgot to mention in all this is that during the middle of the MediaGoblin campaign, I got a lot of help from the community itself as they stepped up to take care of the codebase when I was in campaign-madness-mode. (Not to mention all the community help in promoting the campaign, or even in making MediaGoblin into anything at all!) So thanks, all. :)