I've Joined the Web Dev Group at Mozilla

Whenever I'd hear about someone from the Python community getting hired by Mozilla I'd get really excited because I knew they'd continue to share and collaborate in the open source world that I was a part of. So here I am about a month into joining Mozilla myself to work with the WebDev team. Everything Mozilla does is right out in the open: ideas are posted on blogs, code is committed to public repositories--free to use, free to fork, etc. They take a firm stance that everything you do on the web should be free and open even to the point where the new Firefox 4 audio API (which is amazing) doesn't even support the patented, closed MP3 format despite its ubiquity.

This transparent approach to technology is really powerful. Firefox is Mozilla's most successful project but if you look around at its main competitors--Google Chrome, IE 9, Safari--they are pretty much built on the same open ideas and standards that were pioneered in large part by Mozilla. Open standards put the source of ideas in the hands of more people which leads to faster, cooperative innovation.

Speaking of competitors, there are some exciting changes coming in Firefox 4. Competition is, of course, another thing that makes innovation happen faster. Firefox 4 has been brewing for a long time, partly due to Mozilla's feverish dedication to quality, but at the time of this writing it is the fastest browser in quite a few benchmarks. It also has a feature that I make use of everyday (with the nightly build) called Panorama; it lets me organize my tabs into groups, making it easy to focus on a web development task while pushing random links off to a procrastination group for later. Firefox 4 will also include Sync which, similar to Chrome, lets you take your browser settings, history, and bookmarks with you to any other computer or device (e.g. Firefox Mobile). The backend for Sync is also quite interesting. Tarek Ziadé writes about it a lot.

So what am I working on? I'm on a top-notch team of folks building the Firefox Add-ons website, a high traffic Django app available in 40+ languages. It's all open source, nicknamed Zamboni, and Jeff Balogh recently gave a talk at Djangocon about its infrastructure. In a nutshell: it uses many third party modules plus some custom ones to handle its large scale and l10n; it has a healthy test suite (including lots of PyQuery tests for views); and each commit is peer reviewed then pumped through several Hudson builders.

Add-ons let users customize Firefox however they want. They can change a part of the browser or integrate deeply to offer a new tool. For example, Write on Glass lets you annotate web pages and share your notes with friends. Putting this kind of freedom in the hands of users is in line with Mozilla's mission of taking back the web. The best example of that taking back part is the Skip Screen Add-on, which did not get pulled by Mozilla despite a takedown request from Mediafire. If you download a lot of music on the web then it's likely you already can't live without SkipScreen (I can't, actually, because I play a lot of music on my radio show). It lets you bypass the advertisements and automates the click mazes imposed by numerous leech sites that make money off you while you're trying to listen before you buy or trying to enjoy free data or whatever else.

I suppose this epic blog post wouldn't be complete if I didn't tell you how Mozilla is able to turn a profit. This is the first question people usually ask me when I tell them I work there. Mozilla's business model actually isn't very different from places like Facebook. Mozilla builds products like Firefox that people enjoy using and there are currently about 400 million Firefox users all over the world. Unlike Facebook, however, Mozilla is driven entirely by what its users want out of their products and makes these decisions by engaging with the community. Secondary to this, Mozilla monetizes its users in non-intrusive ways and without compromising privacy. There was a poll once to Firefox users asking which search engine they liked best and the answer was Google so that became the default search engine (you can also change it or implement your own). Google pays all its affiliates who initiate search queries so this is one major source of income for Mozilla. There are other relationships like this too. And if Google becomes irrelevant then someone else will be glad to receive traffic from 400 million users.

Actually, our future web experiences may not even begin with a keyword search. You might have a collection of apps that you use every day. Mozilla is working on that too.