GreaseMonkey is an extension for Firefox that allows you to totally (and easily) change the layout of any received web page. Don’t like the color of the banner of that_site.com? You can change it! Do you prefer to have the login link on the_other_site.org on the right? You can place it wherever you want! While visiting the page of a certain book on Amazon.com, do you want to see the prices other sites ask for the same book (with this information embedded on “original” Amazon page)? You can do it (with BookBurro extension)! Want to hide forever every Google AdSense ad? You can do it! You find hundreds of scripts (for hundreds of different sites) over at GreaseMonkey UserScripts wiki or you can easily create yours (as I did, see the end of this post).
Oh yes, this will blow up your business model and “any kid with a bright idea and a knack for DHTML can create a new interface for your site, and it will probably be better than yours.”
And yes, this is much much more real (and useful) than all the Semantic Web you listen about at conferences (with tons of papers and tons of highly funded programs that, at least at the moment, produces almost nothing you can use and play with; if I’m wrong, use the comment to point out interesting stuff).
Anyway, I played a bit with GreaseMonkey. I recommend you diveintogreasemonkey by Mark Pilgrim and I suggest you to follow it step by step (this is faster than trying to jump to what you need because you will jump back to understand that what you skipped was important).
And eventually, I created 2 GreaseMonkey scripts for HospitalityClub, that I think can save me a lot of time in using the site. I used HospitalityClub for finding hospitality in Trieste when I was attending the School on Networks (thanks truesmile and inquis), I used it in order to find hospitality in Pittsburgh where I’ll be for the AAAI conference (thanks roder) and yesterday I wanted to use it for finding hospitality for my (short) holidays in Italy [not going to tell where]. The problem with HospitalityClub is that the interface is not too usable. My usual use case is the following: I search all the people offering hospitality in the place where I want to go, and I send to all of them the same request. This requires visiting the list of users, clicking on every username to go to her userpage and, on the userpage, click on “send message to this user” that leads to a new page, then copying my name in a field, my passport number in another field, the request text in a text area and push Submit. All these steps must be done for all the users!
So I created a GreaseMonkey extension that add a link near every username: the link allows to go directly to the “send message” page.
[ script: hospitalityclub_addSendMsgLink.user.js ]
And I created another extension that prefill the values in the “send message” page with the default ones (my username, my passport number, the request message).
[ script: hospitalityclub_defaultValuesInMsg.user.js ]
In this way you just have to push Submit. It would be possible to push Submit automatically with the extension but I wanted to keep some control … interestingly GreaseMonkey gives you so much power that then your small brain is no more able to manage it. I mean, for example, I have at least 4 extensions that modify google.com pages and I’m no more able to tell which extension inserts what in which cases… this is something I need to think a little bit more about.
Anyway the 2 extensions are released under GPL (software that gives you freedom) so you are free to play with them, free to study them and free to modify them. Enjoy!
GreaseMonkey is the real Semantic Web (and now works on HospitalityClub)
Leave a reply