Less Talk, More Do Christopher Finke is a software engineer at Mahalo. He is available for birthday parties and bar mitzvahs.

Posts tagged with 'Mozilla Add-ons'

Four More Fennec Add-ons

Thursday, November 6th, 2008

Picture of a Fennec fox.
This is a Fennec fox.

I got some great feedback after I updated URL Fixer to be compatible with Fennec, Mozilla's mobile browser, and I'm happy to announce that I've been able to add Fennec compatibility to four more add-ons:

So far, I've found it pretty easy to port add-ons to Fennec, with the following caveats:

  • You can't install add-ons in Fennec by opening them from your computer; I wrote a script to copy the add-on directly into the Fennec profile, much like an add-on IV drip - straight into the bloodstream!
  • There's no easy access to the error console , but you can open it manually if you grab the address from Firefox.
  • No DOM Inspector. For now, just browse the source.

It seems that all of these issues could be solved with a "Fennec Add-on Development" extension; maybe that will be my next project, unless easier solutions already exist.

Feed Sidebar updated for Firefox 3

Sunday, July 6th, 2008

Firefox 3 introduced many new features for extension developers, and I decided to take advantage of some of them in order to update my Feed Sidebar extension. Version 3.0 of Feed Sidebar is now out, and these are the main features and changes I added:

  1. Look and feel: I updated all of the icons for the extension to blend in with Firefox 3's new OS-specific look and feel. The sidebar's toolbar uses the native theme icons, and the toolbar button is specifically designed to fit in on each of Mac OSX, Linux, and Windows. (The toolbar buttons for Windows, Mac, and Linux are shown respectively below.)

    Windows toolbar icon for Feed Sidebar Mac toolbar icon for Feed Sidebar Linux toolbar icon for Feed Sidebar

  2. Continuous updating: Feed Sidebar used to only check for feed updates when the sidebar was open; now it checks whether the sidebar is open or not (and notifies you when it finds updates). Big improvements in memory usage and performance were necessary to make this possible.
  3. Offline capabilities: the extension now caches all of your feeds, so if you go offline, you still have access to all of the data that was in the feeds, and you can read it while offline. When you go offline, Feed Sidebar goes into "Offline Mode", and automatically opens the stored summary from the feed when you click on an item rather than trying to open the webpage the item references. This features makes use of the new online/offline events in Firefox 3.

    Here is a screenshot of what offline reading looks like:

    Offline reading in Feed Sidebar

  4. Places integration: when you add or delete a live bookmark in Firefox 3, Feed Sidebar will detect that via Firefox 3's nsINavBookmarksService interface. When you add a new feed, it will instantly appear in the sidebar, and the reverse is true for deleting a feed.
  5. Caching: as soon as you start Firefox, Feed Sidebar will fill the sidebar with the feeds you were reading the last time Firefox shut down, even if you are now offline. This is made possible via the new JSON libraries that shipped with Firefox 3.

Feed Sidebar 3.0 is now available at Mozilla Add-ons.

Recommended by 4 out of 5 Mozillas

Friday, April 25th, 2008

Mozilla updated their recommended add-ons list today (see this blog post by Basil Hashem for the full story), but the main change I'd like to draw your attention to is that both Mahalo Share and Feed Sidebar were added to the list. Hurray!

Finding unused entities in your Firefox extensions

Tuesday, April 22nd, 2008

If you've maintained a Firefox extension for any amount of time, you know that you can accumulate unused entities as you change the UI or add/remove features. They just pile up in your .dtd and .properties files, taking up space. Here's a bash script that will list out any entities or entries in .properties files in your extension that is no longer being used so that you can prune them out.

Usage: $ ./unused-entities.sh path/to/locale-directory/ path/to/content-directory/


#!/bin/bash

echo "Unused entities:"

for dtdfile in `ls $1*.dtd`
do
	awk '/<!ENTITY/ {print $2}' < $dtdfile | while read line
	do
		search=`grep -R "${line}" "$2"`
		if [ "$search" == "" ]
		then
			echo "${line}";
		fi
	done;
done;

echo ""
echo "Unused properties:"

for propfile in `ls $1*.properties`
do
	awk -F "=" '{if (!($2 == "")) { print $1 }}' < $propfile | while read line
	do
		search=`grep -R "${line}" "$2"`
		if [ "$search" == "" ]
		then
			echo "${line}";
		fi
	done;
done;

TubeStop reviews requested

Monday, March 3rd, 2008

I've finally uploaded TubeStop to Mozilla Add-ons, but it can't be brought out of the sandbox (protected area for untrusted extensions) until it has some reviews and undergoes an editor approval process. If you use TubeStop and find it useful, I'd appreciate it if you'd write a quick review of it over at the Mozilla Addons page for TubeStop so that I can get that process started.