Thursday, September 11, 2008

My First Experience With Firefox's Ubiquity

So, our OSD600 class was introduced to a Firefox addon called Ubiquity. It's an interesting addon that allows users to create their own scripting commands, or download and use scripting commands written by others. It also appears that you have to be extremely cautious when you add another person's Ubiquity command, as the scripts have enough power to harm your system. Fortunately, every time before you download a new script, a warning message is displayed and you can view the source code for the script to check whether or not the script may be doing something malicious.

I wrote a very simple command that adds in a delay before sending a message to the user. Here is the code:

CmdUtils.CreateCommand({
name: "Timer",
author: "Scott Lunel",
takes: {"Time": noun_arb_text},
preview: "A simple timer that executes a message to the user after the entered time period.",
execute: function(directObj) {

Utils.setTimeout(function() { displayMessage("Time's Up!"); }, parseInt(directObj.text));

}
})

Nothing fancy. However, without knowing anything about Ubiquity, and being extremely rusty at Javascript (Ubiquity scripting is very similar to Javascripting) I was able to figure out how to write a simple display command within a couple of minutes. Finding the best command to use for the delay time took a bit longer, but over all it appears that writing simple commands is very easy to learn.

Personally, I don't think I'll be using Ubiquity very much. I use my browser to browse. I don't usually write scripts or commands for my browser. However, that might change as I progress in OSD600. There's quite a lot I need to learn about Firefox, and it could just be my limited knowledge that's preventing me from using the browser beyond it's basic function.

2 comments:

Unknown said...

Scott,

I agree with you that while Ubiquity, in it's current state - a quirky new approach to the next generation portal of the modern web browser, it still has quite the shoe to fill in.

Although I agree that Ubiquity has a solid purpose - a connection between human language and computer instruction - the current approach, in my humble opinion, will be difficult for the widest of audiences to embrace. For example, in Ubiquity, to create a new event for your G-Mail Calendar, one must know before hand that the command snippet required is called 'add' - one would have to Google this. For one to fully utilize the grandest of which Ubiquity offers, one must certainly know (as in read all the commands available) to use it.

As well, I hope to see Ubiquity push past the fear barrier that people associate command prompts with. This will be interesting to see.

I also agree that since Ubiquity, in it's current state deals with commands entered and executed - there is a strong threat on security. I hope Mozilla has a strong foundation based on security to build Ubiquity from ground-up. Perhaps in the near future Ubiquity will be run in a sandbox to protect the users system first and browser second.

Cheers,

- Aaron T (AaronMT)

Unknown said...

Is this Scott Lunel from MPS? Been trying to find you on facebook, etc. Forgive the comment, but I can't find an e-mail address. Write me at fawaz.al@gmail.com