You know how sometimes you find yourself doing a job for free, but you don’t mind because you love the job, you love the ideas behind the job, and you love the community associated with the job?

I spent three years at law school, and the only time I ever felt happy doing work during those years was when I was working entirely for free on something that had absolutely nothing to do with being a lawyer.

A Brief History

In 2005/6, I visited my friend Paul’s house.  He had “modded” his xbox so that it could play movies.  Being something of a geek myself, I thought this was awesome, and I resolved to do it immediately.  Being something of a not-very-awesome geek, I discovered that modding an Xbox required soldering tools, which sounded like WAY too much work.

The Unbearable Nerdiness of Being

A year or two passed, and the idea of turning an Xbox into an entire home Media Center became ever more increasingly irresistible. I stayed up late at night, reading xb0x scene, scanning lifehacker stories, and doing all sorts of intensely irresponsible things, when I probably should have been studying law.

Finally, I took matters into my own hands. I knew I would never willingly use a soldering iron myself on an Xbox.  Certainly, I wouldn’t on my very first attempt at using a soldering iron, so I found a person in the KC community that did Xbox modification, not because he got paid to do it (he didn’t), but because he really liked soldering. These were back in the bad old days when it was possibly illegal to modify Xboxes. Microsoft didn’t especially care, but there was still an element of danger. These days, the fear is mostly gone thanks to an opinion put out by the Library of Congress, but it’s still pretty exciting to think back on the crazy times of those days.

So I got my Xbox modded, loaded up Xbox Media Center, and was happy as a clam.

For nearly 2 minutes.

Then I decided I needed to find out all the cool things it could do. I spent a lot of time finding out awesome things on xbox scene and always flirted with other Xbox OSes, but invariably I would return to Xbox Media Center (XBMC).

Almost immediately after modding my Xbox, I discovered it was becoming obsolete. Team XBMC put out a statement that they were planning on moving the software to Linux and other OS platforms to take advantage of High Definition video content. To reduce confusion, they were also renaming XBMC to… XBMC, which now stood for XBMC Media Center. Recursive naming is a joke only a programmer could love.

Everybody loves a good recursive joke, right?

I popped my head in and out of that scene for a while, entirely missed out on a pretty crazy row among the XBMC developers, considered making a Hackintosh to use “OSXbmc,” which was the Apple variant of XBMC (as I understood it and which ultimately came to be known as Plex), and eventually settled on sticking with what I knew, specifically MS Windows.

Fellows by the name of Wiso and Chadoe were leading the charge to port XBMC to Windows. I’ve been a Windows baby since 3.1, so I decided to provide whatever support I could. I bought a computer from Dell that could decode HD video content, registered on the XBMC Forum, and began to become active.

The Early Days

Early on in the Windows port of XBMC, there were quite a few hiccups to iron out.  The port itself had gone fairly smoothly. The developers chose to use OpenGL as a renderer, rather than DirectX, primarily because it was easier and because it maintained cross compatibility across XBMC branches.

The installer was brief, fairly uninformative, didn’t know how to handle advanced user rights, and had odd problems with default vs portable installs.

I was in heaven.  It was a simpler time. Lots and lots of problems existed, but each problem had a relatively simple fix. Or, if the fix was bizarre and challenging, then it was still a mere 4 or 5 steps to nirvana.  The hardest questions to answer were difficult, not because the problem was hard, but because the solution was painful. “You have to buy a new video card.” “You have to buy a new CPU.”  “You need to take your computer outside and burn it, now, before it causes anymore pain and misery.”

It's a bad, BAD computer!

These answers infuriated people, but they really were often the only solution.  2008 was an interesting year. Anything built before that year was probably too old to run 1080p video content (though a few things, such as the very laptop I’m typing this on could run 720p just fine). Anything built after that year was designed specifically with 1080p content in mind.

But Chadoe, Wiso, Jmarshall, Elupus, Spiff, and all the rest made great strides. Nov 14th, 2008 marked the release of Atlantis, the first official release supporting XBMC for Windows, and already, since my joining a few brief months earlier, massive improvements had occurred.

In May of 09, another massive release happened. And in November of 09 XBMC for Windows shifted from OpenGL to DirectX (along with many, many other things).

In slightly over a year, XBMC for Windows had been transformed from a somewhat hacky XBMC Windows port to a thing of true beauty that “just worked.” And in that 16 months or so, I had not programmed a single thing. I didn’t write code. I rarely even suggested that other people do so.

What I did do was evangelize XBMC to the masses. If a user had a problem and was angry, I calmed them.  If they wanted to find a way to get the devs to pay attention, I’d walk them through the process.

I even spearheaded an idea or two, suggesting steps to make installation and interaction easier, and helping to codify various ways in which early attempts at using Windows MCE remotes could be generalized to help everyone.

I was an extremely active user who did everything possible to be accurate, modest, and calm, but, in the end, I was still just a user.

Joining the Ranks

In June of 2009 the Team was growing tired of coding, handling forum mod duties, and the million other tasks necessary for maintaining a community the size of the XBMC User base (a base that numbers in the hundreds of thousands), so they brought a few active users on board. That first class included Haggy, Clumsy, and myself.

None of us looked like this.

It’s funny. I’ve gotten a fair number of awards, commendations, honors, etc. in my life, yet I’ve never felt prouder than the day I was asked to be a Moderator for XBMC. It was the first time in my life anyone had affirmed for me that my method of handling people was the correct one. In other worlds, I was not aggressive enough, not interesting enough, too loud, too quiet, too me, too not me.  For XBMC, I just did what I always did, and everything was effortlessly correct.

Also, I’d never worked harder to gain a position that I didn’t even know existed.  It feels good to be rewarded for hard work.

My understanding of my job duties in those times was very limited. I had gotten a position because I worked hard. Surely my new job meant I had to work even harder, right? This was my mindset, as I did my very best to burn myself out. I was online hours and hours each day, answering as many questions as I possibly could, trying to resolve every issue I came across, and holding new users hands like they were small children. One day, I was the last poster on every thread on the entire front page of the Windows subforum.

That kind of pace is not maintainable.  I got a job in the real world, drifted away from XBMC, spent several weeks feeling guilty for not talking as much as I once had, and considered downgrading from Forum Moderator to plain old User.

The Shift to Community Manager

Then, in January of 2010, I noticed that new users (XBMC 9.11 had just been released) kept asking the same repetitive questions.  “How do I get the pretty pictures?” “What’s the library?” “Why does XBMC act weird with my mouse?” A thousand questions that had been answered a thousand times: there had to be a better way.

And there was. It was to be the way that ultimately changed my entire approach to Forum Moderation. I approached the Team – from whom, until that point, I’d mostly only received orders – and explained that I was tired of dealing with “newbs,” so they needed to grant me administrative privileges to the XBMC Wiki. I was going to create an entirely new page, dedicated not to explaining XBMC as a whole with thousands of links to code heavy pages, but rather to a simple, brief explanation of just what XBMC is, why it is cool, and how a user can take his own media and start showing off in 20 minutes or less.

I called it the Quick Start Guide. I wasn’t the first ever to write a quick start guide, but I was the first to finally get around to doing so for the Team.

That Guide did two things for me. The first happened immediately; the second took a little time.

Firstly, the Guide showed me that I had a voice in Team XBMC. I rarely raise that voice, but from that day forward, when I say the users need something, the Team listens. They don’t always agree, and they don’t always care, but they always listen.

Secondly, the very first Quick Start Guide was rudimentary. It had no pretty pictures.  It was often poorly worded and too brief or too wordy. It wasn’t beautiful, but it WAS a starting point, and sometimes a user base that cares only needs a starting point to make something fantastic.

If you compare the Guide I wrote originally with the Guide in its current incarnation, you’ll come away thinking two things. First, “Wow, Nathan is a terrible technical writer.”  Second, “It’s amazing how effectively the Users turned a terrible guide into an awesome guide.”

It is the effectiveness of the users that took the longest for me to understand, but, when I did, it was also the thing that stunned me the most.  A person trying to grow a community doesn’t need to dot every ‘I’ and cross every ‘T.’  He or she only needs to help make the users excited and point them in the right direction.  That’s how Wikipedia works.  It’s how the best forums work. It’s the very definition of Twitter and Facebook.

This is a gratuitous and totally unrelated pic of Natalie Portman

A Community Manager’s roll is pretty simple. You need to encourage new users, discourage jerks, calm down angry people, and highlight the happiness of joyful people.  Most of all, you need to trust users in a way that developers aren’t allowed to.  Code Developers are required to assume users are complete morons, because a few of them are, and one must always code to the stupidest in a group.  Community Managers must placate the stupid angry people, but their real role is encouraging everyone else. You must trust them to answer questions posed by newbies. You must trust them to edit your wiki.  And you must encourage them to someday advance from user to editor, coder, or developer. Today’s user is tomorrow’s programmer.

In other words, just so long as I do a good job keeping all of you awesome users interested, you will pay me and XBMC back ten fold by talking about it, expanding for it, helping your parents install it in their homes, and perhaps one day coding it. You guys are the heart, the life, and the blood of this operation, and you all amaze me at how quickly you move and how much excitement you bring to the table every day.

I’ve only known the title Community Manager for about 72 hours, but I believe I’ve been living that title since I registered in 2008.  I believe I’ve been granted the authority to act out that title since 2009.  And I finally realized what it meant to BE a Community Manager (or whatever I was calling it) in 2010.

Now, I believe I can say that there are few, if any, jobs that I could ever find as fulfilling as that of a Community Manager, where every day I talk to people as excited about software as I am, as amazed by sights and sounds as we all are, and as dedicated to make our own little bit of the world a better place.

2012, Jan 2nd edit: I wrote this post nearly 1 year ago. Since then, many exciting things have happened. My job has changed a bit. Users and developers have come and gone. But the enthusiasm that I see in our base has never once evaporated. Keep an eye out Wednesday as I post the XBMC 2011 Year In Review. …At least, the year in review from my perspective. As always, this is MY blog.