Andy McKay

Oct 31, 2015

Plans for addons.mozilla.org


We've been chatting a bit in the add-ons team at Mozilla about future plans for addons.mozilla.org. That's the main site for add-ons for Mozilla products and has been around in some form now for over 11 years.

It's been running just great for a while with some maintenance from some great contributors. But with a renewed focus on add-ons at Mozilla, we've had an opportunity to re-invest in the site and that got us re-evaluating where to go with the site.

If I have to sum up our strategy for the site, it would be this: API first.

This week at a show and tell some Mozilla developers showed some of the ideas that we are thinking of. Being able to sign an add-on through the jpm tool on the command line. Having a JavaScript validator that runs locally and offline:

Having the validator run as github webhook to return information to the developer right as they make changes in github:

These are just examples of the stuff we'd like to be able to do, there's more to come.

But it doesn't stop there, to be able to improve the site quickly we want to change the development focus. Currently the whole site is tagged and deployed once a week. There is a lot of dependency between different parts of the site, for example a change to the CSS of the reviewer tools can break the CSS on the main site. Splitting it up will enable us to develop quickly and deploy confidently.

So we are planning to take key parts of the site and rewrite them to be browser based single page apps, talking to a back end API. Perhaps using React and some server side rendering. We'll maybe end up with something like this, maybe:

So for that we have a plan to keep working on the main code base, but doing our best to build out an API. Once that's done, we'll take a whole pile of the existing olympia code and delete it, leaving the centre of our site as a small Django app that does authentication, workflow, storage and not a lot else.

The end result will be a site that works more where developers do their work and integrates with their toolchain. It will be faster to develop and adapt as add-ons become more central to Mozilla development.

We are always looking for help, if you'd like to join us check out the wiki page for more.