There are many ways to add functionality to the web browsing experience or augment the users' experience with sites. They each have different affordences and peculiarities. This is a brief attempt to document them. For the most part this is based on extending the Firefox Browser, by far the most powerful and customizable web browser available (and did I mention standards compliant, free and open source!)


Browser Extensions

(a.k.a. Add-ons)

Browser Toolbars

Browser Sidebars



Local HTTP proxy

Site-specific or Custom Browser Distributions


A bookmarklet is a small program, often written in Javascript, that is accessed from a bookmark or hyperlink. Bookmarklet's are often added to a user's "links" toolbar, allowing for one click access to additional functionality, sometimes right on the page, other times by accessing a web-based service. cf.
Mozilla Extensions (also known as Add-ons) are separate programs which can be installed into Firefox to extend its functionalities. Toolbars, Sidebars and Greasemonkey are all extensions, but each have their own column as each technique has specific affordences. cf.
Browser Toolbars are Extensions too, but ones which specifically use horizontal space in the browser to launch their functionality. cf.
Browser Sidebars are Extensions too, but ones which specifically use the vertical sidebar space in the browser to launch their
Greasemonkey is itself a Browser Extension. Once installed, it allows users to install Greasemonkey scripts that modify web pages on the fly.
A slightly unconventional approach to web page customization is for a local network to run a local HTTP proxy that modifies the HTML on the fly.


  • because they are stored simply as bookmarkable URLs, users can install multiple ones in their browser with no difficulty
  • bookmarklets may not work exactly the same across browsers, but often only small modifications can help the same bookmarklet work on many browsers

  • Greasemonkey scripts can be targetted to work on individual sites, domains or all web pages
  • They can add additional functionality or information directly to the page, without the user having to do anything else, and without the permission or intervention of the page owner.


  • the functionality bookmarklets can offer is somewhat limited to what can be done through Javascript or the DOM.
  • They are not well suited themselves for complex apps, but can possibly link to richer web-based apps and bring information about the page, session and browser with them

  • while it *is* technically possible to have multiple Toolbars displaying at once, very quickly they start to interfere with screen real-estate. Any new toolbar approach should consider this, and that it may have to uncede dominant players like the Google toolbar if it expects to become part of regular use

  • Greasemonkey scripts can substantially slow down the rendering of web pages depending on how they are written and what they are trying to look up
  • while this might work for a single location, it is unlikely to be used outside of that network
  • if the change being made is to a local page, it would likely be less expensive computationally to simply change the code of the page

Best Used For / Scenarios

Scenarios where
  • you want the user to trigger a specific action based on the page they are viewing/information on the page they are viewing

One scenario could be for a campus to annotate every page from Amazon with a librarylookup that added a link to the campus library if the book was available there.

Other Notes/ Resources

Other Notes

Other Notes

Other Notes

Other Notes

Other Notes

Greasemonkey scripts can be turned into full-fledged extensions (meaning Greasemonkey does not need to be installed) using the Greasemonkey compiler

Some possibilities exist for using Greasemonkey scripts in other browsers like IE through Turnabout and Greasemonkey for IE

Other Notes

This approach of course offers huge potential for abuse as it modifies page content without the direct knowledge of the end user.

Other Notes