Fixing the Woot Watcher Firefox Add-on

One of my favorite add-on’s for Firefox is Woot Watcher. Displaying the current woot, it’s usually just a small convenience since there’s only one item a day. During Woot-Offs, however, this is an invaluable add-on. No more keeping a separate window open and refreshing it. No more forgetting to check to see if those damned shun knives have finally sold out. Just glance down at the bottom right of your browser and check to see what the current woot is, the price and how many are left (by percentage).

The problem is that Woot sometimes changes the structure of the page and essentially breaks the add-on. For a while now, the add-on has just displayed “Woot: One Day, One Deal” and a price. The structure of the page had changed again, and the add-on has not been updated in a while.

So here’s how to fix it yourself. It looks long and complicated, but it’s really not. You can do it in under a minute following these simple instructions.

  1. Navigate to the location of the plugin. Depending on your user and Firefox profile name, the path will be a little different. The Firefox profile name may look really weird and not like your system user name at all. This is normal.

    For WinXP users, this is C:\Documents and Settings\[Your Account Name]\Application Data\Mozilla\Firefox\Profiles\[Your Profile Name]\extensions\{a92aadf8-193f-4a62-8740-5cce81775afc}

    For Windows Vista/7 users, this is C:\Users\[Your UserName]\AppData\Roaming\Mozilla\Firefox\Profiles\[Your Profile Name]\extensions\{a92aadf8-193f-4a62-8740-5cce81775afc}\chrome\wootwatcher.jar

    For Mac users, this is ~/Library/Application Support/Firefox/Profiles/[profile name]/extensions/{a92aadf8-193f-4a62-8740-5cce81775afc}/chrome/wootwatcher.jar

    For Linux users… I have no clue what it is. Sorry.
  2. Copy the wootwatcher.jar file to the desktop. Drag it or copy/paste it. Whatever makes you happy.
  3. Back up the wootwatcher.jar file just in case this all goes wrong. Make a copy of it and call it something like wootwatcher_old.jar or wootwatcher.bak OR just rename the original.
  4. Rename the desktop copy of the wootwatcher.jar file to wootwatcher.zip – You may be asked if you really want to change the extension to zip. Yes, you do.
  5. Extract the jar file using your favorite unzipping program. On most systems, you can just double click the zip file. It should create a folder called “content” on your desktop.
  6. Open wootwatcher.js (it’s inside the content folder) with your favorite text editor.
  7. Scroll down about 1/3 of the way down and find the line that says getElementsByTagName(“title”)
  8. Replace it with getElementsByTagName(nsPrefix + “product”) see note below!
  9. Save the file and close it.
  10. Compress the “content” folder using your favorite zip program. For PC users, this exact directions here will vary depending on the zip program you use, but it will usually be something like “Compress to..” or “Add to archive”. On Mac, you can just choose “Compress”
  11. Rename the resulting zip file to “wootwatcher.jar” – you may be asked if you really want to change the extension. Again, you do.
  12. Copy/Move the new wootwatcher.jar file back to the original location. If you left the original file there – unrenamed, you’ll get a warning that you’re trying to overwrite. It’s ok so long as you have that backup made like I instructed earlier.
  13. Close and restart Firefox. You’re done

Now, woot watcher will once again display the name of the current woot. Left clicking it will force it to refresh the item (it’s set to auto-refresh every 10 or 15 minutes) and right clicking it will take you directly to the woot page. If for some reason it didn’t work, just restore back to the the backup version of wootwatcher.jar and go back to not being able to tell what the item is at a glance.

*UPDATE*
Rodney pointed out that the Product Description in the status bar isn’t necessarily very descriptive. Unfortunately, how descriptive it is depends on Woot and what they put in to the “Product” field of their rss feed. There is another piece of data you can read though – that is sometimes more descriptive. Today, the Product field holds “Allstar Marketing Aquaglobes”, but the Title field holds “Aquaglobe – 4 Pack”. That’s not a huge difference, but yesterday the Title field mentioned that the product was a laptop while the product field did not.

If you want to use the Title field data instead, change the following parts of wootwatcher.js instead of the part mentioned in steps 7 and 8 above.

  1. Scroll down about 1/3 of the way down and find the line that says if ((t != null) && (t.length > 0)) { – this should be 1 line below the var t = response.getElementsByTagName(“title”); you were originally looking for
  2. Replace it with if ((t != null) && (t.length > 1)) {
  3. Go down to the next line which reads item = t[0].firstChild.data;
  4. Replace it with item = t[1].firstChild.data; – For those curious, there are two nodes called Title. You’ll now be pulling the information from the second one (JavaScript arrays are 0 based).
You can leave a response, or trackback from your own site.

3 Responses to “Fixing the Woot Watcher Firefox Add-on”

  1. Rodney Atkins says:

    That partially fixes it, but it provides only the product name. For example, today’s product is a laptop, but Woot Watcher says: “MSI X600-096US,” which doesn’t really provide too much information.

    Also, the path for “PC users” above should be “Windows 7 PC users.” The majority of PC users are still using XP.

  2. Joe Coleman says:

    Rodney, you’re correct – but that how useful that data is depends on the Woot writers. Some days, it’s more specific than others. That said, I’ve updated the post to offer another option you can pull data from that is sometimes a little more useful.

    I’ll have to boot up the other Windows machines I have and check the extension locations. Thanks for the heads up.

  3. [...] can find directions on how to fix the Woot Watchter yourself or you can download it here at [...]

Leave a Reply