Labs/Ubiquity/Ubiquity 0.1.2 Release Notes (Raging Stream)

From MozillaWiki
< Labs‎ | Ubiquity
Jump to: navigation, search

Back to Labs/Ubiquity.

The Ubiquity team has got a lot of feedback about bugs and limitations in the built-in command set. The web moves quickly and Ubiquity has the ability to stream commands: it's silly that we aren't using that ability to let development of those built-in commands rage on, without being impeded by the slower Ubiquity release cycle.

Main Features

  1. Built-in Ubiquity commands have been moved to automatically-subscribed Mozilla feeds. This means that we can update commands to fix bugs and add functionality, and you'll get the improvements immediately, without having to download a new version of Ubiquity. Another benefit is that you can now unsubscribe from built-in commands you're not interested in using.
  2. Gives better indication for when 3rd party commands have been updated, letting subscribers more easily update to the latest and greatest.
  3. Gives command authors greater flexibility in naming and annotating their command feeds, which in turn let subscribers more easily find functionality they want.
  4. The built-in command editor is greatly enhanced.
  5. Includes an experimental way for command authors to combine templates and Javascript into one unified HTML document.
  6. Makes it trivial for command authors to turn bookmarklets into commands.
  7. Adds the ability for command authors to include synonyms of the command name, to make it easier for users to find the command they are looking for.
  8. Includes an experimental parser-localization API so that the international community can begin to work on versions of the parser for languages besides English.
  9. The parser is generally smarter at recognizing what command you want based on incomplete input, and better at sorting the suggestions it gives you so that the best matches appear at the top of the list.

To see a complete list of updates, scroll down.

Download It

If you already have Ubiquity, it will automatically update itself soon (you can also go to the add-ons manager and click "Find Updates" if you are feeling impatient). If you don't already have Ubiquity installed, you can get 0.1.2 here: Ubiquity 0.1.2: Raging Stream.


Between Ubiquity 0.1.1 and 0.1.2, we are proud to have welcomed two new members to the group of people that have the commit access to Ubiquity. Please welcome Fernando Takai, and Davanum Srinivas!

By the quality of code, and quality of their participation in the community they have shown themselves to be stewards and champions for the rest of our contributors.

If you have patches or questions, please don't hesitate to ping us on the #ubiquity channel on IRC at The handles of the folk who can review code are now fern, dims, jono, atul, abi, unfocused, and aza.

In Depth

There's been a fair amount of changes in this release of Ubiquity. For the raw list of tickets resolved, go here. Below is a shorter run-down of the updates.

User-facing changes:

  • Ticket 31: Modifiers can now be more than one word. That is "yelp tapas near san francisco" now works.
  • Ticket 234: Added the ability to use tab to autocomplete to the first suggestion.
  • Ticket 278: Improved the end-user work flow for updating out-of-date commands.
  • Ticket 81: Added command icons to the context menu, to aid in recognition.
  • Ticket 133: Added the ability for command authors to add synonyms to commands, allowing users to more easily be able to guess command names and options.
  • Ticket 203, Ticket 136: Small improvements to the natural language parser.
  • Ticket 175: The parser now recognizes a match even if the input starts in the middle of the verb.
  • Ticket 140: The parser now tries every possible way of assigning your selection to any argument of the verb.
  • Ticket 234: The tab key now autocompletes your partially-typed sentence to the highlighted suggestion.

Developer-facing changes:

  • Tickets 274, 288, 309, 308, 251: Greatly enhanced the functionality of the built-in command editor. You can now use an external editor, easily turn commands into feeds, and upload fully functional commands to Github. The command editor now has syntax hilighting, and a command template to help you get started.
  • Ticket 254: Commands can now specify default values for the arguments.
  • Ticket 279: Added an experimental way of combining templates with command code.
  • Ticket 306: Added CmdUtils.makeBookmarkletCommand(), which makes it trivial to turn bookmarklets into commands.
  • Ticket 286: Each command feed is sandboxed now, to avoid namespace collisions.
  • Ticket 246: Added Utils.parseRemoteDocument(), which allows command authors to get a remote document and parse it in a robust, HTML-like way.
  • Ticket 37: Noun types can now use a callback to return suggestions, which makes it easier to write a noun type that depends on a network call, for instance.
  • Ticket 70: There is now a plug-in architecture that makes it easier to localize the parser for different natural languages.