Mozilla Labs' "Ubiquity" Helps Automate Web Interactions
Martin writes "Mozilla Labs have released a prototype version of the Firefox add-on Ubiquity. It is basically Launchy (the application launcher) for Firefox with the difference that Ubiquity makes use of web APIs and the Firefox browser. The official website contains examples, a command list, information about creating your own commands and of course the Ubiquity extension that is compatible with Firefox 3.x. Ubiquity can pull and send data to various services like Twitter, display, find and embed Google Maps, perform searches, write emails, add entries to the calendar, digg stories and more."
I thought I'd heard this name before.
This is very handy - especially since it's much easier to code up a Ubiquity command than a ful fledged Firefox plugin. And the fact that it's interactive differentiates it from Greasemonkey.
Been playing with it for a little while now. So far the commands are very natural to what you'd think they are. Google Maps is "map", Gmail is "email", in-line translation is "translate {selected text} from {language} to {language} (by far my favorite feature so far). And all you have to do is start typing for it to suggest commands it has. Makes it very easy to learn what it can do. If the "trusted network" of commands gets going like they plan, new commands are as easy to get as visiting a website and installing like a plugin after reviewing whether it's one you like & trust. Once this gets a feature to let me use Thunderbird to email, I'll like it even more!
In the Tutorial: "
...On Linux, we don't have a good messaging system yet. If you have a suggestion for how Ubiquity can display messages on Linux (preferably in a way that will work on all major distros and window managers), please tell us about it. "
This is a classic case of "because we can build it"-based design instead of "what problems can we solve for users"-based design.
Definitely disagree with you. I only installed it today and its immediately become part of my workflow. Its best to think of it as a way of pulling information into a page that wasn't there to start with as opposed to a 'web interaction automator' or the 'net command line' some sites have labeled it as. For example it provides translation directly onto a page without having to run it through a new translator - so it all feels like functionality that should have been there to start with - rather than some nifty toy. They've actually thought it through based on existing products. For example quicksilver/gnome-do style things have really taken off with a + combo - so a + combo feels very natural. And because it allows you to use language like 'this' it makes sense.
It's working fine for me on Fedora 9 x86_64.
As I was saying above, it's working fine for me on Fedora 9 x86_64.
I don't see the "enter key" problem the OP was referring to.
Comparing this to "Launchy" is pretty silly. Recognize this for what it is, the first steps of a new wave of Interface Design brought about by Interface Engineering.
Ubiquity's pedigree is MUCH older, going all the way back to the Canon Cat and the late Jef Raskin's idea of The Humane Interface, this being a subset closer related to The Humane Editor and Aza Raskin's Enso.
The Humane Interface is, in fact, an entire rethinking of human computer interaction, restructured around what Cognitive Science has to say about human mental capabilities instead of a strange, cobbled together desktop metaphor and separate applications.
Is there anything better than clicking through Microsoft ads on Slashdot?
Firefox has a security framework in place which is designed to prevent web pages from being able to manipulate the browser chrome (aka javascript code, UI, etc). So on the firefox level, pages can't access any add-on code to begin with. Up until recently pages could reference scripts or other chrome documents as urls but I believe this has been fixed in Firefox 3. The only possible exploits now would be if ubiquity explicitly registered javascript commands for any web pages to use to interact with ubiquity, and I don't believe there are any (actually ubiquity works exactly the opposite way, the user calls up ubiquity to interact with web page contents, not the other way around).
My understanding of the behind the scenes stuff in Firefox is rudimentary at best, so don't take my word for it. Mozilla has tons of documentation on their site.
Just typing in 'email' may not seem like its of much value, if gmail is just a ctrl click away, but think about this command
email this to george
That command would take 'this' (the currently selected text), open up gmail and insert it into the body with the to field set to the best match it can find for george in your address book.
The next step of course is to add support for other email clients as well, both those on the web and those that live on the desktop. It's not there yet, but there's definitely a lot of potential in it.