Ideas
This page is dedicated to ideas I have about different extensions and projects I would like to do, but I do not have time for currently.
Watcher
February 22nd, 2006
Watcher is an XULRunner Application. The application lets you create a list of websites you would like to watch. You specify a site name, url, icon, and check frequency for each site. Watcher runs a background timer and if the check frequency has passed for a site, we do an head request and ask for the last-modified date. If the last-modified date is newer than the previously stored last-modified date then the site has been updated. An icon next to the site will change indicating it has been updated, and an alert message can be displayed if enabled. An icon will also indicate how long it has been since the site has been updated. When clicking on the site, the external protocol handler will be called to open the site.
Gas Buddy
November 23rd, 2005
This is a Firefox Extension that would work very similar to how Forecastfox works. The idea is for a user to enter a street address, multiple profiles would equate to multiple addresses, and a search radius. The extension would then go out and poll a web service every (x) often and retrieve a list of gas stations within the given radius. The extension would then show the cheapest gas price from the list. The user could also set minimum and maximum price warnings. When the lowest prices goes below or above these warnings, an alert slider would be displayed, as well as an icon in the statusbar next to the price. A user could click on the statusbar panel to see the full list of prices, or right click on the panel and set the options, see the full list, submit a price report, etc…
Firefox Content Blocker
November 17th, 2005
I’ve seen several requests for extensions that block out websites. This is one I would like to try and tackle. To do this I would need to create an extension that gets installed globally or in an outside directory that does not access user profile data and can be locked. Store an ini file in the home directory that stores an SHA1 hash of a supervisor password, the path to the site file, a preference to warn if a site is in the gray list, and if the extension is active on startup. This file would be readonly. The site file would be a tab delimited text file with the host and an allow/deny value. The host can be any domain upto the the tld. For example, it could be aus.mozilla.org or mozilla.org or .org. Use a xpcom component that implements the nsIContentPolicy interface. When called it would check the host against the site file. The file could be loaded into a hash table on startup, or some other mechanism to improve lookup speed. If the site is allow return allowed in the nsIContentPolicy interface and do nothing. If the site is denied than return a reject code, and replace the document with an xul error page explaining why it did not load. If the site is not listed fire a notification for the front-end to pickup.
The front-end would consist of a statusbar overlay showing the enabled/disabled state of the extension. The user could enable/disable the extension through the context menu on the statusbar, if they supply the correct password. If the front-end receives a notification of a unlisted site, it would set a browser message for the site if the preference is set to do that. From the browser message, the user could add the site to the white or black list, if the correct password is supplied.
