Greasemonkey: Firefox Swiss army knife bodes User Empowerment
Greasemonkey seems to be taking the (firefox) web world by storm…
What it is
Basically, it’s “a Firefox extension which lets you to add bits of javascript ( = user scripts) to any webpage to change it’s behavior. In much the same way that user CSS lets you take control of a webpage’s style, user scripts let you easily control any aspect.” (from the Greasemonkey site).
What does it mean
Javascript is incredibly powerful, and more and more sites are designed in such a way that they’re easily “scriptable”. By adding “user scripts” to sites, you can change and add functionality.
How does it work?
Let’s illustrate with an example: the “Google annotate” user script that enhances Google search results with information on available rss feeds and del.icio.us tags on that search result.
1: With Greasemonkey installed, you can simply right-click on a link to a userscript (= a .js file):

2: Modify some options (e.g. adding your local google site):

3 … and this is the result: search results are enhanced with available rss feeds, link to del.icio.us entries and a tags link showing the used del.icio.us tags when clicked on:

Some other examples
Enough inspiration at this GreaseMonkey User Scripts Directory:
- Changing layout:
- Title Scrubber: removes “Welcome”, “Welcome to”, etc. from title bars.
- Site skinner: Adds a skin link down the bottom of every page which lets you add custom css to the page (uses cookies to auto load css).
- Expand TextArea: allows you to resize textareas.
- Modifying behaviour:
- Hide Adsense: Hides Google Adsense IFrames
- Flickr: Degradr: Replaces flickr’s flash-embedded images with actual image files
- Integrating functionality of several sites
- Amazon/Melvyl: Check UC Libraries Given a link to Amazon, check Univ. of California’s libraries for availability
- Del.icio.us/NewsGator: DeliciousGator: Add del.icio.us post links to News Gator Online.
- Amazon Linky Inserts three icon links under book titles, one to a price comparison site and two to libraries.
Issues
You might have heard about the row on the Googe autolink feature, reminiscent of the Microsoft Smart tags discussion almost 4 years ago. Now grass roots developers have the possibility to do the same with User scripts: automagically changing branding, removing ads, inserting links to other sites… both for specific domains or as general browser behaviour. As a kind of “Sue me if you dare” statement Mark Pilgrim designed Butler: a user script that removes ads from Google search results, and adds links to competitors.
The implications for online business models are huge, and we might see some nasty battles coming up - as well as new services made available via these “scripts in the middle”.
Disruptive?
In itself, it doesn’t seem a spectacularly new technology:
- bookmarklets have been arround for some time, and already led to amazing applications, such as when you combine Google Maps with other data sources, such as users’ pictures and annotations.
- nothing new either about the concept of “Web annotation”, think of the WikiAlong Firefox plugin, letting you annotate webpages (on the public WikiAlong Wiki or an a private, company or project group wiki).
The really new thing with Greasemonkey is the ease scripts can be written (javascript has been around for almost 10 years), made available (simply put a file online) installed (right-click), and propagated (think of a user script showing the available user scripts for the site you’re browsing!!). Without any doubt, zillions of these scriptlets will be hacked together and spread like wildfire, extending and bending existing functionality. (see for example Greasemonkey for Google Maps)
A new architecture for the web?
Jon Udell asked whether there could be such a thing as a general architecture of intermediation, a way of devising applications and their connections in such a way that an intermediary layer can adapt their behaviour and combine their data and functionality with that of other applications, even your own private applications. According to Simon Willison, Greasemonkey and its “scripts in the middle” could be a very light-weight implementation of such an architecture. To be continued…
Oh BTW: Greasemonkey for Internet Explorer is underway :-)
Update April 4: Jon Udell’s yesterday screencast explains all of this so much better!
September 12th, 2006 at 20:30
[...] Get Greasemonkey. If you haven’t heard of this Firefox extension (or still don’t see why you’d even need to switch to Firefox!) check out a previous posting on Greasemonkey [...]
October 9th, 2007 at 18:37
[...] need the Firefox and Greasemonkey to install these scripts - check out this introduction on Greasemonkey if you had not heard of this great Firefox extension [...]