Announcing Ubiquity 0.5

Today Mozilla Labs is happy to announce the release a major upgrade to Ubiquity. This release, Ubiquity 0.5, focuses on making the instructions you give to Ubiquity feel more natural and human, as well as bringing Ubiquity’s power to many more languages.

This release brings:

  • The first internationalized Ubiquity, where even non-coders can help bring Ubiquity to their language
  • A more natural, human, and robust way to give Ubiquity instructions.
  • A new, game-inspired interactive tutorial.
  • Experimental smart suggestions: type “pasta” and Ubiquity recommends Yelp. (This feature needs to be enabled on the Ubiquity settings settings page).

Ubiquity 0.5 requires Firefox 3.0 or higher. Firefox 3.5 is recommended. Also, note that you’ll have to download it to upgrade: we aren’t yet pushing the update automatically.

The First International Ubiquity

Ubiquity is an experiment in natural-language interfaces, but “natural language” doesn’t mean just English.

The original Ubiquity parser — the part of Ubiquity that takes what you typed and matches it to what you want to do — was based on English-centric assumptions. Some languages don’t use spaces between words. Some have the verb come at the end of the sentence. Some put different endings on nouns to identify what part of the sentence they are. (If all this grammar talk makes your head spin with fuzzy memories of high-school Latin, you’re not alone.)

Ubiquity 0.5 features a new input parser re-written from scratch to support many languages. You don’t don’t have to be programmers to contribute to localization. A new parser localization tutorial will walk you through teaching Ubiquity the grammar of your language.

Ubiquity 0.5 also supports the localization of commands bundled with Ubiquity. With this launch, Ubiquity 0.5 will have commands localized in Catalan, Danish, Japanese, and Portuguese. More languages are planned for the near future. We also have a new tutorial that shows how you can get involved in translating Ubiquity commands to your language.


Ubiquity in Japanese


Ubiquity in Danish

More Natural Input

Due to a limitation in the old parser, command names couldn’t have spaces in them. That’s why Ubiquity had a lot of commands with unnatural hyphens: “add-to-calendar”, “close-all-tabs”, etc. These hyphens were ugly, hard to type, and not very natural-language. Thanks to the fact that the new parser supports spaces, we can now have much more natural command names. Instead of saying “add-to-calendar 3pm lunch with Mitcho”, you can now use a more natural syntax like “add 3pm lunch with Mitcho to calendar”.

We’ve also standardized command names in a way that we hope will make Ubiquity overall easier to learn.

New Interactive Tutorial

We’ve improved the first-run experience of Ubiquity based on some user testing. Inspired by the tutorial levels in video games, we’ve created an interactive tutorial that takes you by the hand and walks you through each step of using Ubiquity. It’s aware of where you are, so it can always tell you exactly what to do next.

Screenshot of interactive tutorial

Experimental smart suggestions

When you give an input that Ubiquity doesn’t know, Ubiquity can now query a variety of services to understand what your input means, and it can then update the suggestion list of commands in real time to show you new possibilities that it finds. For example, you can now type “pizza” into Ubiquity; before, it wouldn’t have known what to do with this input. By making network calls to Web services, it recognizes “pizza” as a type of restaurant, and suggests the Yelp command to find pizza places near you:


The experimental smart suggestion feature.

Because this is a highly experimental feature, in order to use it, you’ll have to enable it from the Ubiquity settings screen.

Updating Your Commands

The new version of the parser has a new API for command developers. Unfortunately, this means custom Ubiquity commands will need to be updated in order to work with the new version. Fortunately, the required updates are very minor; they mostly have to do with how commands declare their arguments. We have written a tutorial on how to convert your existing commands to work with the new parser. There is also an updated Command Development tutorial if you are writing new commands from scratch for the new version.

How To Get Involved & Thanks

Special thanks to our amazing community members, who really stepped up to make this release possible. They put their blood, sweat and tears (and weekends) into making Ubiquity 0.5 what it is:

Thanks in particular to:

  • mitcho (Michael Yoshitaka Erlewine) the linguist of the Ubiquity team, for doing the majority of the design and implementation work on this new parser and localization infrastructure.
  • Seth Bindernagel of the Mozilla localization department for his valuable advice.
  • Christian Sonne, for working very hard to single-handedly create the Danish translation.
  • Masahiko Imanaka (marsf), for contributing the majority of the Japanese translations.
  • Heather Kofke-Egger for writing documentation, tracking bugs, and giving technical support to users.
  • Brandon Pung for his work on the asynchronous noun detection features.
  • Satoshi Murakami (satyr) for numerous bug fixes.
  • Blair McBride (Unfocused) for many contributions.
  • Fernando Takai (fern) for working on the command search engine.
  • Zac Lym (indolering) for his usability research.

Release Notes

The full release notes for 0.5 list many fixed bugs and minor features not mentioned above.

— Jono Xia (née DiCarlo), Brandon Pung, Aza Raskin, on behalf of the Ubiquity team

16 responses

  1. no0n3 wrote on :

    Yep, the same here: "Could not install Ubiquity 0.5.4 because it is incompatible with Firefox 3.6"

  2. Ricardo Verhaeg wrote on :

    Just received the message: "Could not install Ubiquity 0.5.4 because it is incompatible with Firefox 3.6" oO

  3. Andy wrote on :

    That’s really a new user experience. But when I want to search a term using Google it’s faster to use the old method + and .

  4. mali wrote on :

    This addon is fascinating. I love it more day by day.

  5. Joshua wrote on :

    Maybe I’m just being selfish, but could you make Ubiquity integrate into the Awesome Bar. The thing that made me ditch the previous Ubiquity was the the fact that I had to keep Ctrl Spacing whenever I wanted to type something.

  6. Ram Kumar wrote on :

    I tried this extension and its amazing.

  7. Matt wrote on :

    Don’t know if your interested, but I mocked up a better “Install Now” button based on the download firefox button on mozilla.com – see here: http://files.getdropbox.com/u/452595/install-now-button.jpg

    Keep up the good work 🙂

  8. plan.b wrote on :

    ubiquity is the buggiest piece of software if ever tried. it didn’t look as nice as 0.1.9. it makes me press ctrl+space at least 3 times before popping up. whenever i try to use it for googling, it CONSISTENTLY freezes for about 7 sec.s as soon as i type the first o. 7 seconds might not seem like much, but it really adds up

    just reinstalled 0.1.9rc6. so much happier

  9. Jens wrote on :

    Are the comments actually being submitted? By the way the weather command did not work for me too. Not even with the example city at first, had to copy the command from the text instead of entering it, then it strangely worked.

  10. Jens wrote on :

    Does not work for me at all. Using Firefox 3.5 and getting a skin not found error on loading Firefox. Starting the tutorial works, but most of the commands do not. The map command with the example adress does not deliver any results, translate does not work as well. Uninstalling, see you in a year or two.

  11. Guilherme Leobas wrote on :

    Fantastic

  12. Jeff wrote on :

    >Screenshot of interactive tutorial
    – where is it?

  13. vurar wrote on :

    install now! image is very ugly.

  14. Phil wrote on :

    hmm … how about the gigantic green “INSTALL NOW” button?

  15. KWierso wrote on :

    “Download the extension here (link)”

    Uh… Link please?

  16. KWierso wrote on :

    (You forgot the link.)