Add-on Localization Completeness Script is on AMO

The add-on verification suite launched a few months ago and has been refined with each subsequent milestone. We've changed what it searches for based on feedback and our own findings and earlier this month we made it available to anyone on AMO, not just a hosted add-on's authors. The framework was written in an extensible way so in addition to tweaking the built-in searches, we could also leverage external scripts. The first such script that is making it to the live site is Adrian Kalla's localization completeness check. This script attempts to parse and record all the English string files as a baseline. Then it looks at each locale and reports any missing files, missing translations, or untranslated strings (translations that exist in the locale but are the same as English). If you validate an extension now and only have partial L10n coverage, scroll down to the new L10n section and you should see something like this: Thanks to RJ and Adrian for doing all the work on this.

Using substitution strings in .po files

A couple years ago I recommended using fake msgid’s in .po files and was, predictably, met with some argument. I suggested using this hack because there wasn’t a standard way to store context in a .po file yet.1

Automating "Thinking of you"

I had an idea a few weeks ago. I've got a bunch of great photos on my computer that no one ever sees unless we meet in person. Sure, we've got flickr and social networking sites, but I'm talking about an old photo that someone only saw once in passing, or a favorite shot from summer while you're huddled over your heater wondering when the sun is coming back. I can look at them any time, and there are a few on flickr that other people can look at, but what about people that aren't tech savvy or are really busy and get caught up in the daily grind? I was thinking, the answer can be a really simple script running from cron, say, weekly. It picks a random photo from a directory and emails it to a group of people. That's it. The idea is: it's low tech compared to RSS feeds and social networking sites. This "just works" with the tools people (potentially, low-tech people) are already used to using. in a similar vein, commenting and discussion are built in if you feel like it. it's focused on the people on the CC list. Sending out an old photo that is relevant just to those people has a lot more effect than one scrolling by on flickr. It's got a personal touch. it's automatic. You wake up Monday morning, drag yourself to work, and there is a photo from 15 years ago in your inbox and you can laugh about how bad your hair was. Awesome. So, I thought I would try it and cooked up audreytoo. Basically, you seed a directory with copies of the pictures you want to send out, add the script to a cron job, and it does it's thing. There are a couple other features in the script that you could look at if you want to get fancier. I realize there is some irony in using an automated script to say "I'm thinking of you" but as long as I'm on the CC list it's still true. :) Anyway, I'm sharing the code in case anyone else can find value in it.

Top 50 searches on addons.mozilla.org

The flight from Portland to San Jose is just about the right length to write some scripts to analyze a bunch of data, make a pretty graph, and then write a blog post drawing fairly obvious conclusions. Someone on IRC said they were interested in the top search terms being used on addons.mozilla.org so here we are. During the week of April 29, 2009 and May 5, 2009 there were around 150000 queries. Of the top 20 queries on addons.mozilla.org (a quick estimate says that is around 12% of the total queries on the site) only 7 actually have search terms. The rest are just choosing different options for the search like category or number of results on a page. If we filter the top queries for ones that include search terms we get a graph that looks like this: All the searches on that page are for the en-US locale unless otherwise noted. It looks like the majority of searches are for specific add-ons but there are also some popular generic terms like download, gmail, and video. I think it's interesting that German was the only other locale to make the list (and fairly high up on the list). Maybe the next stats post will be about overall locale use.

addons.mozilla.org Celebrates 1000 (passing) Unit Tests

We started writing unit tests for AMO a few years ago with the best of intentions. As the tests grew we started running into memory/timeout problems that prevented us from running the tests. Other priorities took over and since we couldn't run the tests we quit writing them. The tests got put on the back burner, became stale, and we're for the most part forgotten (an all too familiar story for most developers). Over the past few months we've been turning that around. While it's certainly a team effort, it's not stretching the truth to say that Jeff Balogh has been the driving force behind making sure our framework can scale and getting our old tests running again. Thanks to his tireless efforts our latest numbers show over 1200 unit tests, 1065 of which are passing. In an effort to prevent them from being forgotten again he also created an IRC bot named bosley who tracks the tests and reminds people when they fail. Expect to see bosley in #amo soon. The number of tests and the continuous monitoring of them is a huge milestone for AMO and Mozilla WebDev.