I took a look at Mozilla Ubiquity recently, which is best described as an attempt at a natural language launcher for web services. It reminds me of the Mac launcher app Quicksilver. For example, if you type “weather liverpool” into it, you get the weather for Liverpool.
I personally really like this kind of thing because it means that I don’t have to use the mouse.
The built-in commands
Ubiquity comes with a number of built-in commands which I’m sure you can imagine:
imdb star warswill take you to the Star Wars page on the IMDB.
lookup gandhiwill take you to the Gandhi entry of Wikipedia.
tweet The text of a Tweetwill post a Tweet.
map 10 downing street londonwill get you a Google Map of the British Prime Minister’s house.
translate english spanishwill Google Translate the selected text from English to Spanish.
Playing with a command
Soon after installing Ubiquity and playing with the built-in commands, I found a BBC iPlayer command that needed upgrading to the latest language API. I found this to be quite difficult, because there isn’t a great deal of support for debugging Ubiquity commands at the moment.
If you’re going to try to develop commands, I’d suggest using the
CmdUtils.log() utility function to write debug messages to the console log in Firebug. The messages will only appear if you have turned on “Show Chrome Messages” on the Console menu.
I eventually got the command working and the changes were merged into the master branch.
UPDATE 2010/03: Ubiquity has now been put on the back-burner by Mozilla, in favour of Jetpack. As the developers found it quite difficult to upgrade the latest version to work with Firefox 3.6, only the earlier 0.1 version of the extension has been upgraded to work with it.