Labs/Site 2.0/Existing site replacement/Site content/Ubiquity

From MozillaWiki
Jump to: navigation, search

Project planet feeds

Planet Ubiquity Feed

Download link

Link for downloading most up-to-date production version of Ubiquity

Link for downloading the latest experimental beta version of Ubiquity

Discussions feed

Feed URL for latest discussions (new topics + replies)

Bug activity

Feed URL for latest bug activity

Latest checkins

Feed URL for latest checkins (all)

Support Feed

GetSatisfaction Feed

Initial blog post

Re-Introducing Ubiquity

As a Labs project, Ubiquity is an investigation into two areas. The first is linguistic interfaces -- interfaces where you type what you want to do. Can such an interface be made practical as a part of everyday internet use? Can it be made close enough to natural language that people can discover how to use it without special training? Does it have significant speed advantages over a mouse-based interface? Can it be made good enough at understanding the user's intentions that it is just as usable as a point-and-click interface? Can it do all this for more languages than just English?

The second area of investigation is what we call verbifying the Web. More and more websites are things that you do rather than places that you go to. We Digg things, Tweet things, Google for things, blog things, map things, and so on. But in most cases, using one of these services requires copying some text, going to the appropriate website, and pasting it into a form. How about if the interface to the Web treated these services as tools that you can pick up and take with you, to use anywhere, instead of treating them as destinations?

Ubiquity commands are small chunks of javascript which can interface with web services. Any website can offer Ubiquity commands; any Ubiquity user who visits the site can see the commands and choose whether to subscribe to them. Once subscribed to, those commands can be used anywhere.

Project blurb + tagline

 Don't just surf the web -- command it!

Ubiquity is a time-saving Firefox extension that simplifies common web activities by letting you give commands to Firefox. Ubiquity includes about 80 commands for speeding up common web activities (searching, translating, mapping, emailing, etc.), but also provides an API so you can write your own commands using Javascript. You can also share the commands you write, and subscribe to commands shared by other users.

To make it easy for users to run these commands, Ubiquity provides a unique pseudo-natural-language input method: You type what you want to do, and Ubiquity guesses what you mean and suggests the best-matching commands. For instance, you can select some foreign-language text on a web page, hit a hotkey to bring up the Ubiquity interface, and type "translate" (or just type "tr" and let Ubiquity figure out that you mean the translate command); then hit enter to have the selected text replaced, right in the page, with a translation to your language.

User resources

User Tutorial on labs wiki

The Ubiquity IRC channel on Most of the developers hang out here and are happy to answer questions.

The Ubiquity mailing list/discussion group

Main Ubiquity page on the Mozilla wiki

Browse custom Ubiquity commands others have written

Developer resources

Main Ubiquity page on Mozilla wiki

Top banner bullets (3)

How do I get started using Ubiquity?

How do I write my own commands?

How can I help improve Ubiquity?

User resource pages

Get Started

First, you'll need to install the Ubiquity extension.

After you install the extension and restart Firefox, you'll be taken to a page with a link for an interactive tutorial. Click on that and then follow the tutorial's instructions; it will explain how to use Ubiquity and several of the most useful commands.

When you're done with the interactive tutorial, you can learn more by taking the more in-depth User Tutorial on the Mozilla Labs wiki. The main Ubiquity page on the wiki has links to many other useful informational resources as well.

If you have questions or problems, you can take them to the Ubiquity-firefox mailing list/discussion group or to the Ubiquity IRC channel on Most of the developers hang out here and are happy to answer questions.

If you are looking for more Ubiquity commands, you can browse through Browse Commands In The Wild, a wiki page that lists commands written by other Ubiquity users. We make no guarantees about any of them, but you are welcome to install some and try them out.

Finally, if you are interested in learning how to write your own Ubiquity commands, read the #Write_Commands writing commands page.

Developer resource pages

Write Commands

Ubiquity commands are written in Javascript. You can open the built-in command editor by running the "open command editor" command. This is the fastest and easiest way to prototype new commands, as you won't have to restart Firefox or reload anything to see the changes in your commands. The command editor even has a button to import a template so you can

The Command Author Tutorial explains everything you need to know about the API for writing commands and the many features and options that are available to you as a command developer.

If you wish to share your command with others, the above tutorial explains how to do that, too.

You should also read the brief guide to secure coding practices for Ubiquity commands, which includes making the decision about whether to share your command using the more powerful but less secure Standard Feed, or the more restricted but more secure Locked-Down Feed.

Finally, there is also a skinning tutorial that explains how to customize the skin of the Ubiquity interface.

Improve Ubiquity

You don't have to be a coder to help improve Ubiquity. We're looking for Javascript coders to help out, but we're also looking for testers, translators, and people who can write good documentation.

Test and Triage Bugs

  1. Issue Tracker - Used to report/discuss bugs and submit patches for Ubiquity.
  2. Trac Components and Keywords - Keywords and categories to use when filing Trac tickets.

Write documentation

  1. Help Document the 0.5 code here - working copies of the wiki documentation for the latest source version
  2. Help us improve the built-in command documentation by editing this page
  3. Help us improve the interactive tutorial by editing this page


Help localize Ubiquity to your language! Ubiquity has already been partly translated to Danish, English, Japanese, and Portugese, and volunteer localizers are working on many other languages too.

  1. Localizing Ubiquity to Your Language
  2. Localizing Commands to Your Language
  3. Ubiquity i18n Google Group/mailing list for discussion of internationalization and localization topics

Help out other users

  1. General Google Group/mailing list - Useful for discussion of command development, user interface, feature suggestions, and other high-level discussions.

Write code

  1. Developer meetings are open to anyone to call into: main Mozilla number, extension 92, conference room 202, at 5pm Pacific time on Wednesdays. Any changes to the meeting schedule are announced on the mailing list.
  2. Core Google Group/mailing list - Discussion of low-level internals of Ubiquity.
  3. Ubiquity HG Repository - The Mercurial source code repository for Ubiquity.
  4. Ubiquity Code Documentation - Generated from the latest source code via Code Illuminated.
  5. Contributing to Core Development

Privacy + Legal notices

There are no Ubiquity-specific notices yet.