Open Source is good for meMy plan is to tell some stories about my experiences with XBMC in 2011. Many of these stories aren’t going to be about XBMC developments. They are going to be about the life of a FLOSS Project Manager/Community Manager and the people behind XBMC. Consider yourself warned.

2011 started off quickly and with much enthusiasm. On December 18th (2010), XBMC 10: Dharma had been released. To the outside world, we all behaved as if we were terribly excited about Dharma. Behind closed doors however, Davilla had been hard at work preparing for XBMC for iOS. The entire team was intensely excited about this release and waited anxiously as Davilla and gimli and amet worked tirelessly to turn all the A4 line of iOS devices into XBMC powerhouses.

My contribution to these proceedings was minimal. I didn’t own an iOS device. I didn’t write the announcement. Mostly, I just gave really big, invisible thumbs up to the developers and photoshopped an image of an Apple TV into the glasses of Davilla’s cat avatar glasses. But that was some photoshop job!


You see that Apple TV in there? That's art!

Immediately after the release, the team moved from SVN to Github. This move had been discussed ad nauseum at the XBMC Developers Conference (or so I heard). We’ve even established an award for the most hilarious Git error called the GitWTF award that will be presented at the next Conference.  For the record, I don’t know when or where this conference will be. My hope is that it will be soon. My presumption is that it will not be soon.

At CES, the big XBMC news actually came from nobody on the XBMC team. A company called Sigma Designs revealed that they had successfully ported XBMC to the SMP 8656. When last we spoke of Sigma, Cory mentioned that Sigma had expressed interest in working with XBMC devs to fully port the system. I don’t have any comment on what happened after that.

On January 20th, XBMC for iOS launched. In August, I got an iPhone. Last week, my particular firmware FINALLY became jailbreakable.

There was much celebrating.

February 19th was a very big day for me. Not an especially exciting day at the time, but big nonetheless. That day, I wrote my first XBMC blog post since July 11th, 2009.

And that’s where things get interesting. If you’ve been keeping up with this blog, you know that I wrote an article on February 8th, 2011 (11 days earlier) here on Hey Facebook, in which I talked about my journey from XBMC user to Forum Mod and Community Manager.

11 days later, I wrote the blog post for XBMC and began a steady march into an entirely new job for the Team. Several weeks passed. On April 1st, we surprised and horrified our users by declaring that we’d been bought out be Sony. Obviously, we hadn’t. And on April 7th I began writing “What’s Going On.”

“What’s Going On” wasn’t new in any way. Cory (theuni) had started using the technique back in February. The idea was to gather up lots of little stories that were fairly interesting, but probably not worth an entire blog post on their own, and then display those stories for all the community to see. That first time I admitted that the April Fools Day joke was a joke. I talked about the demo of XBMC on MeeGo. And I asked users to submit posts for this new idea I had called “Feature Friday,” where we’d highlight one setup every week.

The first Feature Friday was a post sent in from a pleasant fellow from the UK named Oli, who had repurposed an Acer Travelmate as an XBMC tablet.

As that spring and summer progressed, a transition was made, as I slowly took over more and more of the blog writing duties from Cory (theuni), while he took over more of the  coding duties and github management duties of an ever-growing program. We had a contest for our mascot,* we featured a wide variety of nifty programs, and I slowly got better acquainted with the devs.

*Zappy, incredibly useful, frequently panned, awesome mascot extraordinaire.


On June 2nd, about a month after I went over why I’d spent the past 8 months doing everything I could think of to grow the XBMC Facebook fanpage and demonstrated that now a link from the fanpage to the blog was resulting in unique visitors nearly as strong as a link from a Gawker site (and with far more page views per visitor), Cory, Jonathan Marshall, and I all did some pretty intense analyzing of Google Analytics data, and based on (probably fairly shaky) math, we determined, for the first time ever, how many active and connected to the internet XBMC users there are. Final tally: about 750,000. Just short of 1 million users. For reasons that I can’t really go into right now, I expect that number to dramatically increase as 2012 rolls along.

The summer rolled along. Before I got downsized, I made a call for additional writers for XBMC. We had several excellent entries, all of which I read through multiple times. And all of which continue to languish. The unfortunate fact of the matter was that at that time, I was working a 40 hour week, picking up additional web development work on the side, and generally keeping myself busy to the tune of about 80 hours a week. I didn’t have the time to also herd the cats* into making decisions and picking additional writers, and I didn’t have the inclination to make a unilateral decision.

*At the risk of upsetting my fellow devs, “herding cats” is pretty much the perfect way to describe a project manager’s role in open source software. Or, more specifically, freely developed open source software. There is no threat of being fired, because the developers were never hired. There is no threat of withholding pay, because there is no pay. There is only a VERY limited chain of command. This means that the ONLY way the project manager can get action to go in a certain direction is to coax and broadly attempt to push the flow in a specific direction. If you’ve ever tried to push a stream of water in a direction, you know the only real way to make it work is to get the water to go in the direction it already wants to go in.

Anyway, just as I was getting up the energy make some decisions anyway, the entire world changed. Davilla proposed Feature Freeze for Eden and getting some new writers became a secondary concern. If you’ve been keeping up, you know most of the rest of the story.

By my reckoning, I have three jobs with XBMC. The first is Community Manager. The second is Marketing Manager (which is really just a fancy way of saying I write most official public-facing statements, whether in our blog or on our social networks). The third is…

Back on March 18th, I got an email from Jonathan Marshall. As you know, by then I’d already begun calling myself XBMC’s Community Manager, except in reality this was a totally unofficial designation. As I’ve said before, in open source, it’s much easier to just take a job and run with it than to wait until someone gives it to you.

That day, Jonathan asked me to become the third Project Manager for XBMC. I immediately balked at this suggestion. To make sense of this, I should probably back up a bit.

I do not come from a software development background. I have a master’s degree in social applied psychology (focusing on the cognitive processes that make stereotyping happen – turns out, it’s totally natural and incredibly useful in almost all situations save a very limited few). I have an unused law degree. The first software development organization I’ve ever directly worked with is XBMC.

In my mind, a Project Manager was a guy (or girl) who COULD code the entire project him (or her) self, but understands that there just isn’t enough time in the day to make that happen. My objections to Jonathan were thus, I have no real background in software development and I don’t know how to code anything other than html/css and some simple php. I’m really not qualified to be a PM.

Jonathan replied by saying that project managers are not coders. And coders are certainly not what XBMC is looking for in project management. Allow me to copy and paste a portion of his reply, as his response was fantastic.

“Rather, we … want someone who can give an overview to users, who can see the big picture of what users are wanting/requesting, who can articulate that vision to users, and who can highlight bits that don’t really fit into that vision and question their need, who can work with companies + drum up support there (financial or otherwise) and who can manage and maintain all the stuff that devs simply can’t do.”

As far as I am concerned, there may be no better writer on the Team than Jonathan when he is trying to articulate an idea.

So I thought about Jonathan’s description. I thought about my current role, and what I was already doing, and I decided that, at least in some ways, I was already a project manager. In fact, this single description totally altered my view of what a Community Manager is.

A lot of people, in my opinion, use community managers wrong. They think of them as bloggers, or social media experts, or overarching forum moderators. I am totally fine with using a community manager in those ways, but I think it is a huge mistake to view community managers as the voice of the organization, without also choosing to think of them as the ears of the organization.

A project manager is a person who tries to shape a piece of software. A community manager should be a person who tries to shape a piece of software by taking the input of the community and directing it toward the project.

So I became XBMC’s third Project Manager. And in my head, I merely got the official nod to do what I was already doing anyway. From that point on, when I did something like bitch about a self-imposed deadline passing, I felt a little less stupid about it.

As with any development project as open and democratic as XBMC, tempers will flare when different devs start walking down paths that don’t quite match up. I’m going to leave out almost all identifying information from the following story. If you still think you know who I’m talking about, I’ll ask that you keep it to yourself.

Sometime mid summer, a series of disputes arose between a lead developer for a particular XBMC project and the dev who was porting it to the platform that the lead developer didn’t have access to. The lead developer had chosen to take the project down one path. The porting dev totally disagreed that the path chosen was correct. For quite a while, these disputes occurred behind closed door, within the locked up walls of the private IRC room.

Unfortunately, one day the dispute erupted in the public message forum. The lead dev declared a public disavowal of all the project and certainly of the porting dev’s efforts. The porting dev replied very angrily and defensively. And then the fight returned to the private IRC room.

By that point, the damage was already being done. Users were suddenly aware that there was a problem and, MUCH WORSE,  they were starting to take sides.*

*It should be noted that it is impossible to be a forum user at XBMC or anywhere else in the known world without having an incredibly strong opinion about everything, regardless of whether you have any actual knowledge of the subject. The ability of forum users to suddenly become experts at any given area of trivia is invariably astounding.

It was at this point that two lead developers (who shall remain nameless) and myself were forced to step in. The two lead developers acted as referees between the combatants and ultimately did a really fantastic job at forcing the disputing developers to stop talking over each other and start acknowledging the good points they were each making. In the end, I believe we ended up going with the faster, but less perfect, solution to the problem, with the intent of ultimately switching to the better solution over time.

My job was a bit different. Allow me to theatrically recreate my speech.

Me: You idiotic bastards. The forum is NOT the place to have this fight. Combatant #1, what the hell were you thinking? You need to calm the hell down, right now, go back, delete your initial, way-over-the-top comment, and write an apology that lets the users know that nobody was 100% right or wrong in this.  Combatant #2, you need to accept the apology of #1, and then write an apology yourself. You guys need to act like professionals.* You are simply not allowed to have geek fights like that while representing XBMC.

*To be fair, they aren’t getting paid, so technically they aren’t actually professionals, but the point still stands.


That was a fun night. I don’t believe I’ve ever moved as quickly online to put out a fire as I did that night. Even today, I’ve momentarily hesitated about writing this particular story, but I challenge anyone working in software development to show me a piece of software that is universally loved by the coders where strong feelings about the CORRECT way to do something hasn’t resulted in some kind of dispute. People love XBMC, and they hate it when they perceive it is being handled incorrectly. I would honestly be shocked if I didn’t have at least one story like this. Also, for the record, to my knowledge the two combatants have been  entirely back on friendly terms since that day.

And that’s 2011. There are, naturally, a lot more stories to tell (like the time I published a Feature Friday from a hole in the wall bar on an island in the Carribean, or the time one of the Boxee guys brought a few of us XBMC guys an entire crate of water bottles), but some of them you’ve already heard, and some I need to keep around for a rainy day when I can’t think of any other stories.

Thanks for reading all the way to the end. Natalie, think this is a good place to stop?

If somebody didn't do it one day or another, I probably would have done it myself.

Oh! Alright, I guess I’ll take that as a thumbs up.