{"id":2048,"date":"2009-06-23T10:21:51","date_gmt":"2009-06-23T18:21:51","guid":{"rendered":"https:\/\/mozillalabs.com\/?p=2048"},"modified":"2009-06-23T10:21:51","modified_gmt":"2009-06-23T18:21:51","slug":"ubiquity-0-5-preview-release","status":"publish","type":"post","link":"https:\/\/blog.mozilla.org\/labs\/2009\/06\/ubiquity-0-5-preview-release\/","title":{"rendered":"Ubiquity 0.5 Preview Release"},"content":{"rendered":"<p>Today Mozilla Labs is releasing a preview of the next major version of Ubiquity. Ubiquity 0.5 brings a slew of new features like localization and more natural command names (along with the inevitable new bugs). Before we release Ubiquity 0.5 proper, we first need your feedback on the new features and your help with testing and finding bugs.<\/p>\n<p><a href=\"http:\/\/ubiquity.mozilla.com\/xpi\/ubiquity-latest-beta.xpi\">Download the extension here<\/a>.  Works in Firefox 3.0 and 3.5.<\/p>\n<p><!--more--><\/p>\n<h3>The First International Ubiquity<\/h3>\n<div id=\"attachment_2055\" style=\"width: 455px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-2055\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/labs.mozilla.com\/uploads\/2009\/06\/language-settings.png\" alt=\"The new language options on the Ubiquity settings page\" width=\"445\" height=\"242\" class=\"size-full wp-image-2055\" srcset=\"https:\/\/blog.mozilla.org\/labs\/files\/2009\/06\/language-settings.png 445w, https:\/\/blog.mozilla.org\/labs\/files\/2009\/06\/language-settings-300x163.png 300w\" sizes=\"(max-width: 445px) 100vw, 445px\" \/><p id=\"caption-attachment-2055\" class=\"wp-caption-text\">The new language options on the Ubiquity settings page<\/p><\/div>\n<p>Ubiquity is an experiment in natural-language interfaces, but &#8220;natural language&#8221; doesn&#8217;t mean just English!  Since before the first release of Ubiquity, we&#8217;ve been pondering how it could be generalized to work for non-English speakers.<\/p>\n<p>The original Ubiquity input parser &#8212; the part of Ubiquity that takes what you typed and matches it to what you want to do &#8212; was based on a lot of assumptions about English that are not necessarily true in other languages.  Some languages don&#8217;t use spaces between words; some have the verb come at the end of the sentence.  Some languages 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&#8217;re not alone.)<\/p>\n<p>Ubiquity 0.5 features a new input parser re-written from scratch to support many languages.  Adding new languages to it does not require writing new code, so people don&#8217;t have to be programmers to contribute to localization.  <a href='https:\/\/wiki.mozilla.org\/Labs\/Ubiquity\/Parser_2\/Localization_Tutorial'>A new parser localization tutorial<\/a> will walk you through teaching Ubiquity the grammar of your language.<\/p>\n<p>Ubiquity 0.5 also supports the localization of commands bundled with Ubiquity. At launch, Ubiquity 0.5 will have commands localized in <b>Danish<\/b>, <b>English<\/b>, and <b>Japanese<\/b>.  More languages are planned for the near future.  We also have a <a href=\"https:\/\/wiki.mozilla.org\/Labs\/Ubiquity\/Ubiquity_0.5_Command_Localization_Tutorial\">new tutorial<\/a> that shows how you can get involved in translating Ubiquity commands to your language.<\/p>\n<div id=\"attachment_2070\" style=\"width: 601px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-2070\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/labs.mozilla.com\/uploads\/2009\/06\/konnichi-wa-small.png\" alt=\"Ubiquity in Japanese mode\" width=\"591\" height=\"215\" class=\"size-full wp-image-2070\" srcset=\"https:\/\/blog.mozilla.org\/labs\/files\/2009\/06\/konnichi-wa-small.png 591w, https:\/\/blog.mozilla.org\/labs\/files\/2009\/06\/konnichi-wa-small-300x109.png 300w\" sizes=\"(max-width: 591px) 100vw, 591px\" \/><p id=\"caption-attachment-2070\" class=\"wp-caption-text\">Ubiquity in Japanese mode<\/p><\/div>\n<div id=\"attachment_2071\" style=\"width: 606px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-2071\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/labs.mozilla.com\/uploads\/2009\/06\/kobenhavn-small.png\" alt=\"Ubiquity in Danish mode\" width=\"596\" height=\"273\" class=\"size-full wp-image-2071\" srcset=\"https:\/\/blog.mozilla.org\/labs\/files\/2009\/06\/kobenhavn-small.png 596w, https:\/\/blog.mozilla.org\/labs\/files\/2009\/06\/kobenhavn-small-300x137.png 300w\" sizes=\"(max-width: 596px) 100vw, 596px\" \/><p id=\"caption-attachment-2071\" class=\"wp-caption-text\">Ubiquity in Danish mode<\/p><\/div>\n<h3>New Interactive Tutorial<\/h3>\n<p>We&#8217;ve improved the first-run experience of Ubiquity fairly dramatically, based on <a href=\"https:\/\/wiki.mozilla.org\/Labs\/Ubiquity\/Usability\/Usability_Testing\/Fall_08_1.2_Tests\">some user testing<\/a>. In particular, inspired by the tutorial levels in video games, we&#8217;ve created an interactive tutorial that takes you by the hand and walks you through each step of using Ubiquity.  It&#8217;s aware of where you are, so it can always tell you exactly what to do next.<\/p>\n<div id=\"attachment_2072\" style=\"width: 702px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-2072\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/labs.mozilla.com\/uploads\/2009\/06\/tutorial-small.png\" alt=\"The interactive tutorial in action\" width=\"692\" height=\"352\" class=\"size-full wp-image-2072\" srcset=\"https:\/\/blog.mozilla.org\/labs\/files\/2009\/06\/tutorial-small.png 692w, https:\/\/blog.mozilla.org\/labs\/files\/2009\/06\/tutorial-small-300x152.png 300w\" sizes=\"(max-width: 692px) 100vw, 692px\" \/><p id=\"caption-attachment-2072\" class=\"wp-caption-text\">The interactive tutorial in action<\/p><\/div>\n<h3>No More Hyphens<\/h3>\n<p>Due to a limitation in the old parser, command names couldn&#8217;t have spaces in them.  That&#8217;s why we had a lot of commands with hyphens:  &#8220;add-to-calendar&#8221;, &#8220;close-all-tabs&#8221;, etc.  These hyphens were ugly, hard to type, and <a href=\"http:\/\/jonoscript.wordpress.com\/2009\/01\/17\/when-is-a-verb-not-a-verb\/\">not very natural-language<\/a>.  Thanks to the fact that the new parser supports spaces, we can now have much more natural command names.  We&#8217;ve also <a href=\"http:\/\/jonoscript.wordpress.com\/2009\/01\/24\/overlord-verbs-a-proposal\/\">standardized the command names<\/a> in a way that we hope will make Ubiquity overall easier to learn.<\/p>\n<div id=\"attachment_2073\" style=\"width: 495px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-2073\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/labs.mozilla.com\/uploads\/2009\/06\/spaces-in-command-names-small.png\" alt=\"Spaces in command names!\" width=\"485\" height=\"188\" class=\"size-full wp-image-2073\" srcset=\"https:\/\/blog.mozilla.org\/labs\/files\/2009\/06\/spaces-in-command-names-small.png 485w, https:\/\/blog.mozilla.org\/labs\/files\/2009\/06\/spaces-in-command-names-small-300x116.png 300w\" sizes=\"(max-width: 485px) 100vw, 485px\" \/><p id=\"caption-attachment-2073\" class=\"wp-caption-text\">Spaces in command names!<\/p><\/div>\n<h3>Suggestions while you wait<\/h3>\n<p>Ubiquity suggestions are now fully asynchronous.  What does that mean?  Previously, Ubiquity could only show you suggestions based on what it already knew.  But with the new improved architecture, it is capable of making network calls to help figure out what your input means, and it can then update the suggestion list in real time to show you new possibilities that it finds.  For example, you can now type &#8220;pasta&#8221; into Ubiquity; before, it wouldn&#8217;t have known what to do with this input.  But now, by making network calls to web services, it recognizes &#8220;pasta&#8221; as a type of restaurant, and suggests the Yelp command to find pasta places near you:<\/p>\n<div id=\"attachment_2074\" style=\"width: 616px\" class=\"wp-caption alignnone\"><img aria-describedby=\"caption-attachment-2074\" decoding=\"async\" loading=\"lazy\" src=\"https:\/\/labs.mozilla.com\/uploads\/2009\/06\/pasta-small.png\" alt=\"The old version of Ubiquity wouldn&#039;t know what to do with this input.\" width=\"606\" height=\"260\" class=\"size-full wp-image-2074\" srcset=\"https:\/\/blog.mozilla.org\/labs\/files\/2009\/06\/pasta-small.png 606w, https:\/\/blog.mozilla.org\/labs\/files\/2009\/06\/pasta-small-300x128.png 300w\" sizes=\"(max-width: 606px) 100vw, 606px\" \/><p id=\"caption-attachment-2074\" class=\"wp-caption-text\">The old version of Ubiquity wouldn't know what to do with this input.<\/p><\/div>\n<h3>Updating Your Commands<\/h3>\n<p>The new version of the parser has a new API for command developers.  Unfortunately, this means that 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 href=\"https:\/\/wiki.mozilla.org\/Labs\/Ubiquity\/Parser_2_API_Conversion_Tutorial\">a tutorial on how to convert your existing commands<\/a> to work with the new parser.  There is also an updated <a href=\"https:\/\/wiki.mozilla.org\/Labs\/Ubiquity\/Ubiquity_0.5_Author_Tutorial\">Command Development tutorial<\/a> if you are writing new commands from scratch for the new version.<\/p>\n<h3>How To Get Involved<\/h3>\n<ul>\n<li>Check out <a href=\"http:\/\/ubiquity.mozilla.com\/planet\/\">Planet Ubiquity<\/a> for the latest and greatest Ubiquity happenings.<\/li>\n<li>Read and contribute to <a href=\"https:\/\/wiki.mozilla.org\/Labs\/Ubiquity\">Ubiquity&#8217;s documentation<\/a> on the Mozilla wiki.<\/li>\n<li>Join the <a href=\"http:\/\/groups.google.com\/group\/ubiquity-i18n\">ubiquity-firefox mailing list<\/a> to discuss Ubiquity with others.<\/li>\n<li>Join the #ubiquity channel on irc.mozilla.org to talk to Ubiquity community members in real-time over IRC.<\/li>\n<li>Browse <a href=\"https:\/\/ubiquity.mozilla.com\/herd\/\">the command library<\/a> to find Ubiquity commands all over the Internet.<\/li>\n<li>Report or help fix bugs at our <a href=\"https:\/\/ubiquity.mozilla.com\/trac\/\">bug tracker<\/a>.<\/li>\n<li>Discuss translation and localization issues on the <a href=\"http:\/\/groups.google.com\/group\/ubiquity-i18n\">Ubiquity-i18n (internationalization) mailing list<\/a>.<\/li>\n<\/ul>\n<h3>Thanks<\/h3>\n<p>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:<\/p>\n<p>Thanks in particular to:<\/p>\n<ul>\n<li><a href=\"http:\/\/mitcho.com\/blog\/\">Mitcho (Michael Yoshitaka)<\/a> the linguist of the Ubiquity team, for doing the majority of the design and implementation work on this new parser and localization infrastructure.<\/li>\n<li>Seth Bindernagel of the Mozilla localization department for his valuable advice.<\/li>\n<li>Christian Sonne, for working very hard to single-handedly create the Danish translation.<\/li>\n<li>Masahiko Imanaka (marsf), for contributing the majority of the Japanese translations.<\/li>\n<li>Heather Kofke-Egger for writing documentation, tracking bugs, and giving technical support to users.<\/li>\n<li>Brandon Pung for his work on the asynchronous noun detection features.<\/li>\n<li>Satoshi Murakami (satyr) for numerous bug fixes.<\/li>\n<li>Blair McBride (Unfocused) for many contributions.<\/li>\n<li>Fernando Takai (fern) for working on the command search engine.<\/li>\n<li>Zac Lym (indolering) for his usability research.<\/li>\n<\/ul>\n<h3>Release Notes<\/h3>\n<p><a href=\"https:\/\/wiki.mozilla.org\/Labs\/Ubiquity\/Ubiquity_0.5_Release_Notes\">The full release notes for 0.5<\/a> list many fixed bugs and minor features not mentioned above.<\/p>\n<p>&#8211;Jono DiCarlo, on behalf of the Ubiquity team<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today Mozilla Labs is releasing a preview of the next major version of Ubiquity. Ubiquity 0.5 brings a slew of new features like localization and more natural command names (along with the inevitable new bugs). Before we release Ubiquity 0.5 &hellip; <a class=\"go\" href=\"https:\/\/blog.mozilla.org\/labs\/2009\/06\/ubiquity-0-5-preview-release\/\">Continue reading<\/a><\/p>\n","protected":false},"author":456,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[33],"tags":[529],"_links":{"self":[{"href":"https:\/\/blog.mozilla.org\/labs\/wp-json\/wp\/v2\/posts\/2048"}],"collection":[{"href":"https:\/\/blog.mozilla.org\/labs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.mozilla.org\/labs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/labs\/wp-json\/wp\/v2\/users\/456"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.mozilla.org\/labs\/wp-json\/wp\/v2\/comments?post=2048"}],"version-history":[{"count":0,"href":"https:\/\/blog.mozilla.org\/labs\/wp-json\/wp\/v2\/posts\/2048\/revisions"}],"wp:attachment":[{"href":"https:\/\/blog.mozilla.org\/labs\/wp-json\/wp\/v2\/media?parent=2048"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.mozilla.org\/labs\/wp-json\/wp\/v2\/categories?post=2048"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.mozilla.org\/labs\/wp-json\/wp\/v2\/tags?post=2048"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}