Control many web commands with a single line
Have you ever seen those movie computers that could be controlled with single command lines? Now you can make those fictional images come true with Ubiquity.
Ubiquity is an awesome Firefox add-on that opens a semi-transparent bar on top of your screen every time you press its associated keyboard shortcut. From there you can run a wide array of commands, from searching a selected text fragment in Wikipedia to checking the weather on any city in the world.
The good thing about Ubiquity is that besides supporting quite a good amount of built-in commands perfectly integrated with the browser, it also allows you to create new ones. The command creation process though may be a little too difficult for non-techie users, as it involves coding.
Ubiquity surprised us for its quick response, smart suggestions and nice interface. Taking into account that this is only a prototype version, things can only get better.
Ubiquity lets you control a wide selection of commands and web tools with just a single text of line.
The ‘tabs’ at the top of the about:ubiquity pages have been reorganized. The new list is “tutorial”, “settings”, “your commands”, “get new commands”, “support”, and “hack ubiquity”. All the developer-related stuff is off the front page and is now on the “hack ubiquity” page along with the command editor. UI to change keyboard settings moved to same page with skin-list, and that page renamed from skin-list to settings. Commands list has been combined with subscribed feeds list into a new unified interface on the “your commands” page. Links are updated, some slogans are changed, etc. New parser implementation (parser 2), with new parsing algorithm; the design is documented here. Parser 2 is now the default; there is a switch on the Settings page which you can use to get back to the old parser if you want it. Parser 2 identifies arguments by semantic roles for easier localization. (e.g. the recipient of the email command is a “goal” role, which means it is identified by the word “to” in English, by the particle “ni” in Japanese, etc.) Language-specific grammar files for Parser2 are a new format, which is all declarative — essentially, just a bunch of strings, so that non-programmers can help with localizing the parser grammar.Spaces are now allowed in command names, a feature of which we take full advantage — see the section on changes in standard feed commands. We are using gettext() and bilingual PO files for localization. That means that human-readable strings appering in commands’ preview() and execute() functions should now be wrapped with _(). (See the 0.5 command development tutorial for details.) We have mostly-complete localizations of standard feeds to Japanese and Danish as well as English.We have the parser grammar plugins for several other languages, including French, Swedish, Italian, Portugese, and Chinese, so we will soon be ready to start localizing to these languages as well. See the Localization Tutorial for how to make the Ubiquity parser grammar work in your language, and the Command Localization Tutorial for how you can help with the translation of strings in order to get more commands localized to more languages. The API for writing Ubiquity commands has changed for Parser 2. Parser 1 is forward-compatible to use commands written for Parser2, but Parser 2 is not backwards compatible to use commands written for Parser1, so commands written for Parser 1 need to be rewritten. We know that changing the API is a pain for command developers, so we will try not to do it often. We tried to make the new API future-proof and flexible enough to support our plans for the forseeable future, so we don’t think we’ll have to change the API again after this. Built-in and Standard Feed commands have all been updated to work in Parser 2. New commands include “enable command”, “disable command”, “get support”, “run selector-selector”, “command history”, “undo closed tabs”, “run bookmarklet”, and “check l
Changes
-
The ‘tabs’ at the top of the about:ubiquity pages have been reorganized. The new list is “tutorial”, “settings”, “your commands”, “get new commands”, “support”, and “hack ubiquity”. All the developer-related stuff is off the front page and is now on the “hack ubiquity” page along with the command editor. UI to change keyboard settings moved to same page with skin-list, and that page renamed from skin-list to settings. Commands list has been combined with subscribed feeds list into a new unified interface on the “your commands” page. Links are updated, some slogans are changed, etc. New parser implementation (parser 2), with new parsing algorithm; the design is documented here. Parser 2 is now the default; there is a switch on the Settings page which you can use to get back to the old parser if you want it. Parser 2 identifies arguments by semantic roles for easier localization. (e.g. the recipient of the email command is a “goal” role, which means it is identified by the word “to” in English, by the particle “ni” in Japanese, etc.) Language-specific grammar files for Parser2 are a new format, which is all declarative — essentially, just a bunch of strings, so that non-programmers can help with localizing the parser grammar.Spaces are now allowed in command names, a feature of which we take full advantage — see the section on changes in standard feed commands. We are using gettext() and bilingual PO files for localization. That means that human-readable strings appering in commands’ preview() and execute() functions should now be wrapped with _(). (See the 0.5 command development tutorial for details.) We have mostly-complete localizations of standard feeds to Japanese and Danish as well as English.We have the parser grammar plugins for several other languages, including French, Swedish, Italian, Portugese, and Chinese, so we will soon be ready to start localizing to these languages as well. See the Localization Tutorial for how to make the Ubiquity parser grammar work in your language, and the Command Localization Tutorial for how you can help with the translation of strings in order to get more commands localized to more languages. The API for writing Ubiquity commands has changed for Parser 2. Parser 1 is forward-compatible to use commands written for Parser2, but Parser 2 is not backwards compatible to use commands written for Parser1, so commands written for Parser 1 need to be rewritten. We know that changing the API is a pain for command developers, so we will try not to do it often. We tried to make the new API future-proof and flexible enough to support our plans for the forseeable future, so we don’t think we’ll have to change the API again after this. Built-in and Standard Feed commands have all been updated to work in Parser 2. New commands include “enable command”, “disable command”, “get support”, “run selector-selector”, “command history”, “undo closed tabs”, “run bookmarklet”, and “check l