Review: Ubiquity - a grand project from firefox (for educators and students too)

I started seeing the buzz about Ubiquity last week after the announcement my slice of the twitterverse seemed to be making comments about it - so I finally got around to installing it. It is an amazingly ambitious idea, but here is a quick review of the potential of Ubiquity for desktop and mobile learners - and a projection for the future.

The Idea

The idea behind Ubiquity is that natural language can be used to get the browser to do some tasks in a browser that are beyond a few normal keystrokes. For example you can select an address with your mouse and then press Ctrl-Space and then type map this and a map will be displayed - click on the map and you can then send this map as an email.

Ubiquity is a platform that allows people to write and share new commands (scripts or macros we would have previously thought of them).

The final idea is that all of these commands can be linked together - so that a user can input some quite complex instructions. An example given on the documentation site is “book a flight to Chicago next Monday to Thursday, no red-eyes, the cheapest. Then email my Chicago friends the itinerary and add it to my calendar.”.

Lets be clear this is very ambitious stuff.

The Potential for Education

How does this relate to education? Well the open nature of the commands means that commands for anything can be written.

When proficiently used it is possible to quickly pull data together from multiple sources which can be quickly combined. In some ways this can be thought of as cut and paste for the web.

It can also make data come to mean much more - highlight a word then Ctrl-Space define this and the definition is there on the page. Highlight a piece of text and then Ctrl-Space email this to xxx and an email will be drafted which can then be added to with other sources.

One very powerful feature is that you can edit a page with a couple of commands - for example select some text and say delete it is no longer in the page, select some text and say bold it can become bold. You can also say edit-page and the page becomes editable and you can type where you want, delete what you want and insert as you want. This means that students can edit any page on the web (BBC NEWS, Downing Street etc) although the edits only exist in the browser these can be printed off - so a custom BBC News page can easily be created and screen grabbed or printed.

There are already commands to grab something and quickly twitter it - there is no reason why text on a page could not be grabbed and sent to a mobile device for later reading.

The Problems to overcome

In all the analysis it should be remembered that this is just version 0.1 and clearly shows the power of the idea with some very simple commands.

However looking at people who are trying to write new scripts and combine them together it seems that there are still a lot of fundamentals to get working. For example - the email command supports Google Mail only and then only the vanilla version. Customising support to include Google Apps has proved to be quite hard and this has highlighted that something like email relies on the application knowing quite a lot about the user.

Then there is the problem of the natural language - as a programmer I am comfortable that I have to use exactly the required command - but to appeal to a wider audience there is going to have to be some flexibility.

The “Elephant in the Room” here is security - this is a very powerful scripting capability that is installed in firefox - an untrusted script will have the ability to do all sorts of nasty things to your data (files, bank account etc). To go back to the original vision of a sentence that should be supported :

“book a flight to Chicago next Monday to Thursday, no red-eyes, the cheapest. Then email my Chicago friends the itinerary and add it to my calendar.”

This is going to need at least access to my payment details and my address book - it will take a great amount of convincing me to give Ubiqutity this information.

For the moment I’ll be sticking with Dopplr and to solve this problem.