Back in... er... a long time ago, I wrote an add-on called Filter Extensions. I was just scratching an itch - I had more add-ons than the Add-ons Manager was designed to cope with. Turns out people like add-ons.
Because of that little add-on, one of my first projects after I started working at Mozilla was teaching the Add-ons Manager about outdated plugins. The theory was that since I had worked on that add-on, I should already have some background in working with the Add-ons Manager code. Hah... Yea, no, that didn't help at all. That feature eventually shipped in Firefox 3.6, which now feels like an eon ago.
With a whole two Add-ons Manager related things under my belt, I must have earned myself a reputation for really loving anything to do with the Add-ons Manager. So late in 2009 I was asked if I'd like to help Dave Townsend with the re-write of the Add-ons Manager that he had been planning for some time (with Jennifer
Boriss Morrow for UX, and Henrik Skupin for QA). It would be just a short project, helping out with the new UI - nothing major, I'd be able to get back to finishing my other project soon enough. Turned out that at that stage there was no UI yet... and it would take about a year for me to write it. The first very basic iteration was written during my Christmas holiday in Motueka, a few days later I threw away half the code due to a change in the (still young) UI design. We eventually shipped the rewritten and redesigned Add-ons Manager in Firefox 4. By this stage, the Wiki page containing the notes from our weekly meetings was so long that it often took several minutes to load. And sometime during that adventure, Dave made me a peer for the Add-ons Manager module. I say "sometime" because I don't actually recall him ever telling me.
Fast forward to a few months ago, where I got the chance to break a third of all the unit tests for the Add-ons Manager. Okay, maybe that part wasn't so fun... but solving the add-on compatibility problem was.
Apparently that (and everything else) went well, because then this happened:
Dave: Hey, so, wanna be module owner?
Me: Yea, sure.
Dave: Oh... I expected to have to convince you.
(Note: A mostly accurate summary, not an exact transcription.)
So what's this mean? Mostly it means more work for me - and certainly new challenges, which is partly why I so readily said yes. I've been thinking more and more about direction, code quality, and solving problems in the "hard" to "impossible" range - but that'll come in a later blog post. For now, it's business as usual. And I'm in the business of
kicking ass fixing bugs.