Hudson BuildMonitor v1.5.5

FIFA World Cup 2010 update: Australia was demolished by Germany 0-4.

After ten months since the last public approval (v1.0.2) and four review rejections from the Mozilla editors, Hudson BuildMonitor v1.5.5 was finally approved a couple of weeks ago.

This version contains a major refactoring effort, attempting to separate the generic JavaScript code from the Firefox specific code. The goal was to make it easier for me to create a Chrome extension version of Hudson BuildMonitor, but of course I never had the time to do it and by now there are already two Chrome extensions out there, Hudson Extension by sanitz and Hudson Monitor by Henning Hoefer.

What I didn’t know back then when I started the refactoring effort was that Mozilla introduced an add-on verification suite about a month after v1.0.2, and that the Mozilla editors started working on reducing global namespace pollution. Those two things were good of course, it’s just that I had to put more sporadic efforts to work on those changes, which then stretched this release even longer.

Some of those changes are:

  • Everything is now namespaced, and I really mean everything. The editors even picked up un-namespaced external libraries, which means Dean Edward’s Base is now name_edwards_dean.Base .

  • setTimeout usage should be replaced by nsITimer.

  • Login details management should use drumroll nsILoginManager.

  • Datejs can’t be used anymore because it extends native Date, I replaced it with Matt Kruse’s Date library.

Out of the bug fixes included in the 1.5.x releases, I’m particularly happy with:

  • Finding a workaround for HUDSON-2979, a problem that has been a blocker for OS X users. I bought a MacBook Pro about six months ago and was finally able to investigate this error myself.

  • Fixing the mysterious error with French translation files. It used to work in older versions prior to v1.0.2 because the property files were UTF-8 without byte order mark and they contained non-ASCII characters, then at one point it was accidentally encoded as ISO-8859-1 while still having those non-ASCII characters which then broke the add-on. To avoid this problem from happening again in the future, I decided to take the safer option and unicode-escape those non-ASCII characters.

Working on Hudson BuildMonitor on and off for the past two years (the first release was on 8 June 2008, wow, has it been that long?) has been a good opportunity to revisit JavaScript, a language many developers used to look down at. I agree with Douglas Crockford that JavaScript has been misunderstood, checkout his talk on JavaScript: The Good Parts at Google, and with the emergence of server side JavaScript, I believe this language is going to take off next year.

And to those who are still using Hudson BuildMonitor, thank you.

Share Comments
comments powered by Disqus