has an undiagnosed addiction to steamed pork buns
and leads the Add-ons team at Mozilla. more »

Add-ons in 2011

This weekend we said goodbye to an action-packed year, and I thought it’d be fun to think back on all we accomplished in Add-ons in 2011.

Firefox 4 Shipped

A critical release for many reasons, Firefox 4 introduced a completely rewritten and redesigned Add-ons Manager, including the interactive discovery pane (“Get Add-ons”), automatic add-on updates, and addressed the single biggest complaint for years with add-ons: installation without restarting. Firefox 4 also allowed us to see how many users actually use add-ons, how many non-hosted add-ons are out there, and gather real-world performance data — all things for which we had no insights before Firefox 4.

The discovery pane was viewed more than 5 million times in the 24 hours after release, and is currently viewed between 2.7 and 2.9 million times each day. It’s responsible for 40,000 add-on downloads every day, plus the 300,000 downloads that come from the Add-ons Manager search. 33% of new add-ons submitted to AMO each month are restartless.

New Developer Tools, Editor Tools, and Review Process

It seems like this happened much more than a year ago, but it was in early 2011 that we launched our brand new Developer Tools on AMO — in my opinion, the best management tools for add-ons, apps, or anything like it on the web. In 2010 we made the decision to rearchitect our review process to require all add-ons to be reviewed and get rid of the sandbox with 7,000 unreviewed add-ons in it. We launched that new process in 2011 by introducing preliminary reviews and direct links while waiting for review. And we made a number of awesome improvements to our Editor tools and statistics dashboard.

That Time of Year

It’s beginning to look a lot like a new blog theme.

I have a good feeling about this theme and hope it will last at least a year before I start to dislike it
— me, less than a year ago

Actually, it only lasted a few days before I started to dislike my previous gradient-tastic theme. 8 posts and 11 months later, I’ve finally replaced it with something very different.

I wanted to step out of my comfort zone with this one, so I did two things I never do: you won’t find a single rounded corner, and I used a background pattern — a realistic one at that.

I also got rid of my About page in favor of an about.me profile and threw in a subtle CSS animation because I’m hip like that.

What do you think?

Add-on Compatibility Progress & Plans

Towards the end of last year, the need for a faster Firefox release cycle was apparent, and nearly every team at Mozilla began preparing for the major changes afoot. Add-on compatibility has always been a huge barrier to releasing more often, so it was critical we have a plan that wouldn’t leave add-ons or users behind. With previous releases usually a year or more apart, we could begin compatibility outreach to developers 3 months in advance of the release, and were able to get at least 80% of the most-used Mozilla-hosted add-ons compatible with the new version. For this new system to work, we wanted a compatibility process that didn’t require developers to lift a finger unless their add-on was one of the few broken.

Firefox assumes that add-ons are incompatible from one version to the next because, in previous versions, they often were. This becomes a big problem when nearly all add-ons actually are compatible in our shorter release cycles. We devised a plan to work around the assumed incompatibility that had three parts:

  • Firefox developers should consider the add-on compatibility impact of every change they make
  • Firefox developers should follow a compatibility notification process to ensure we communicate changes to add-on developers
  • AMO (addons.mozilla.org) will scan hosted add-ons for issues with the new Firefox version and automatically bump their compatibility if none are found

Longer term, the Add-on SDK lets developers build restartless add-ons without worrying about compatibility hassles.

Hover Crafting: a look at AMO’s new add-on grids

AMO has made huge improvements in nearly every way since I started working on it in 2006 — design, scalability, performance, user experience, content, quality. Back then, we had a whopping 6 listed add-ons on our homepage: one featured promo block and a list of the top 5 downloads that week. None could be installed without going to the add-on’s details page first.

In contrast, today there are dozens of add-ons on the homepage and most can be installed without leaving the page. When we set out to design the new homepage, we wanted to surface more add-ons in such a way that every user would be able to see something interesting, read the details, and grab it without leaving the page. We wanted it to be easy to scan through the page and if you weren’t interested in a particular add-on, it wouldn’t take any time to skim right over it.

We knew we’d probably use a hover effect to expose the additional details, but wanted to steer clear of the bad hover interactions used on many popular websites and similar galleries today. Chris Howse and I whiteboarded some mocks of an early hover interaction of a card, and began examining the ways it was insufficient. Most hover designs block scanning in one of the directions you’re trying to go (down or to the right) or, in order to avoid that, display content above and break your downward focus.

No Day But Today

The last few years, hobbies haven’t really been my thing. After getting home from work, I’d just start on a work-related side project. It’s a good way to feel productive but can easily burn you out.

The past couple months I’ve done a good job of changing that and making progress on a bunch of fun and personal activities I’ve wanted to do for a while:

  • Running – Couch to 5K is a training program that helps you get into running by alternating running with walking. The iPhone app plays your music and tells you when to run and when to walk. I started a few months ago and have been making great, noticeable progress.
  • Yelp – I depend on Yelp to find restaurants, doctors, car washes, dry cleaners, and pretty much everything else, but I’d never really given back and contributed to the site I find so useful. So, I decided to try becoming Yelp Elite, and am now making an effort to review every place I visit. It’s fun, and reminds me of how awesome it is to participate in a new online community.
  • Physical Therapy – My left elbow has been a problem ever since I was a kid, and recently it’s become even weaker than it was before. I’m finally going to physical therapy to make it stronger and get back the range of motion I’ve lost.
  • Reading – I haven’t read much since high school. Partially for lack of time, partially because I hated doing assigned reading. But the last 6 months I’ve gotten back into it, reading a bunch of comedy books from people like Chelsea Handler and Tina Fey to software and management books. The feeling of finishing the last page of a good book, closing it, and looking at the cover one more time having conquered it is hard to replicate (though I can sorta pretend to do it when finishing a book on my iPad).
  • Learning a language – I took Spanish in middle school and Latin in high school, and remember very little of either. I’ve wanted to learn another language for a while and have been using Rosetta Stone to learn Spanish. I’ll let you know how it goes.
  • Blogging – This one hasn’t actually started until this post. A few years ago I blogged all the time, but that eventually stopped. About once a year I’d redesign my blog and have the urge to blog again, but it always fades very quickly. My lack of blogging is due a combination of having no time for it and an odd desire to only post informative blog posts as opposed to opinions or questions. I have 7 half-written drafts dating back to 2009, and a giant list of topics to blog about. It’s time to break the silence and do something about them.

Hopefully this list will continue to grow and I might eventually have something to say when someone asks what my hobbies are.