blog

Posts Tagged ‘ubiquity’

A Visual Guide to Community Command Localization

Monday, July 13th, 2009

A natural language interface is only “natural” if it’s in your natural language. With this mantra in mind, we’ve been making steady progress on the challenging problem of Ubiquity localization. The first fruit of this research is in the localization of the parser and bundled commands in Ubiquity 0.5. Here today is a visual guide on command localization in Ubiquity and different options we can take in attacking the community command localization problem. (more…)

日本語サポートを含む Ubiquity 0.5 リリース

Friday, July 10th, 2009

Mozilla Japan ブログUbiquity を紹介する投稿を上げたので、ここでもクロスポストします。 Here’s a cross-post of a Ubiquity 0.5 announcement (in particular regarding the new Japanese support) I wrote for the Mozilla Japan blog.

Mozilla Labs の実験的プロジェクトのひとつ、 Ubiquity の最新版、バージョン 0.5 を昨日リリースしました。 (Mozilla Labs 正式発表 [英文])

Ubiquity はウェブをより有益に、より使いやすくするために自然言語で Firefox を操作するインターフェースを提供します。ウェブ上のオープン API と機能が増えて行く一方でどのようなインターフェースが必要であるのか。その答えを追求した結果、テキスト入力の正確さとスピードと自然言語の心地よさを合わせたインターフェースができあがりました。例えば「麹町を地図で表示」、「これを (誰々) へメール」などを自分の言葉で入力してブラウザを操作することができます。新しいコマンド (動詞) も簡単に JavaScript で書けるので、拡張性も非常に高いプラットフォームです。

ユーザにとって「自然な構文」 (“natural syntax” [英文]) という目標の下、数ヶ月の研究の結果、Ubiquity 0.5 では複数の言語の異なる構文に対応できるパーサを実装しました。Ubiquity 内蔵のコマンドもローカライズ可能になり、0.5 ではすべての内蔵コマンドの日本語、デンマーク語とポルトガル語版が搭載されています。

リリース直前に Ubiquity の日本語紹介ビデオを作成しましたので、どうぞご覧ください。日本語モードでの使用方法も説明されています。

Ubiquity 0.5 日本語紹介ビデオ from mitcho on Vimeo.

日本語サポートが入った Ubiquity 0.5 を是非ご使用ください。このインターフェースをより多くのユーザが「自然に」使えるよう、これからも開発を続けていきたいと思います。

Ubiquity Localization: What’s New, What’s Next

Thursday, July 9th, 2009

Yesterday we released Ubiquity 0.5, a major update to the already popular Ubiquity platform. Among numerous other features, Ubiquity 0.5 includes the first fruit of months of research on building a multilingual parser and natural language interface. In this blog post I’ll give a quick overview of new internationalization-related features in Ubiquity 0.5 as well as a quick roadmap of future considerations.

Of course, one of the best ways to learn about the new features is to experience them… try Ubiquity 0.5 now!

Install now!

(more…)

Presenting in Boston at SIGIR Workshop

Saturday, July 4th, 2009

I have been accepted to present a short paper entitled “Ubiquity: Designing a Multilingual Natural Language Interface” at the ACM SIGIR Workshop on Information Access in a Multilingual World in Boston on July 23rd. I’ll probably be there in Boston a few days before or after as well in order to find an apartment for the fall. If anyone is in Boston at that time and would like to meet up, or if you’re near Cambridge and looking for an apartment-mate, please let me know. ;)

If you would like to see a preprint of the paper, please contact me at x@x.com where x=mitcho.

Ubiquity 0.5 日本語紹介ビデオ

Thursday, July 2nd, 2009

今夜リリースされる Ubiquity の最新版、0.5 に備えて日本語で Ubiquity のスクリーンキャストを作ってみました。 Ubiquity 0.5 は特に多言語化を重視したリリースで、 Ubiquity 内蔵のコマンドが日本語とデンマーク語で使えるようになっています。是非インストールしてみてください!

追伸: 7月3日現在、 Ubiquity 0.5 のリリースを遅らせる方向になったので、残念ながら今日はリリースされません。是非リリース後インストールしてみてください。


Ubiquity 0.5 日本語紹介ビデオ from mitcho on Vimeo.

As Ubiquity 0.5 will be released soon (Thursday morning in Mountain View), I decided it was a good time to put together a screencast in Japanese demoing the use of the new Japanese parser and commands.

Localizing Commands for Ubiquity 0.5

Thursday, June 25th, 2009

As many of you know, earlier this week we released a preview of version 0.5 (0.5pre). We’re going to stress test and refine this release through the weekend and push the official 0.5 out next Tuesday. This release will have fully localized commands for Danish and Japanese, as well as parser settings for a number of other languages. Read this Labs blog post to learn more about the 0.5 release and how to test it.

It’s not too late to add localizations for other languages to 0.5, though. Localizations help make Ubiquity more “natural” for more users, offering a new level of ease and familiarity to the already powerful Ubiquity. We have a new tutorial to help you localize commands.

To help encourage command localization, we now have gettext-style po template files for all the bundled command feeds in the hg repository. You can find these files in the ubiquity/localization/templates directory of the repository, or on our online hg repository.

If you complete some localizations (even incomplete) for your language and would like to submit them into the repository, for the time being, you can post them on this trac ticket.1

I’ll be looking forward to seeing your localizations! If you have any questions, feel free to ask on the ubiquity-i18n Google group or on irc.mozilla.org#ubiquity. ^^


  1. In the post-0.5 future we’ll be rethinking how best to organize these localization files and give commit access to as many localizers as possible. 

The Ubiquity Favicon: a very important question

Friday, June 19th, 2009

As we get close to wrapping up Ubiquity 0.5 (currently planned to ship—fingers crossed—on Monday) one remaining issue is how to incorporate our cute new Cocoia-designed and community-produced icon, the Ubiquibot. The difficult decision is how to take this finely detailed icon and produce a 16 x 16 favicon.

I came up with three different options:

1. ubiquibot-favicon1.png 2. ubiquibot-favicon2.png 3. ubiquibot-favicon3.png

Seeing them on my blog doesn’t quite compare to how they will be used, so here are some screenshots of them in context:[^1]

(more…)

Ubiquity Localization Update

Friday, June 12th, 2009

As we move closer and closer to shipping a Ubiquity with there is still much work to be done, particularly in the area of localization. In a recent Ubiquity meeting we laid out the explicit localization goals and non-goals of as follows:

  • Goals for 0.5
    • Parser 2 (on by default)
    • underlying support for localization of commands
    • localization of standard feed commands for a few languages
    • Parser 2 language files for those same languages
  • Nongoals for 0.5
    • distribution/sharing of localizations
    • localization of nountypes

The overall goal for this release of Ubiquity is to come up with a format and standard for localization. Localizations in Ubiquity 0.5 will only apply to commands bundled with Ubiquity, and the localization files themselves will be distributed with Ubiquity. In a future release we will tackle the problem of localizations for commands in the wild and truly croud-source1 this process.

(more…)


  1. Or “cloud-source”… finally a Japanese accent joke that’s semantically stable! 

Ubiquity presentation at Tokyo 2.0

Wednesday, June 10th, 2009

T2P0.PNG

This past Monday I presented at Tokyo 2.0, Japan’s largest bilingual web/tech community. I presented as part of a session on The Web and Language, which I also helped organize. Other presenters included Junji Tomita from goo Labs, Shinjyou Sunao of Knowledge Creation, developers of the Voice Delivery System API, and Chris Salzberg of Global Voices Online on community translation.

I just put together a video of my Ubiquity presentation, mixing the audio recorded live at the presentation together with a screencast of my slides for better visibility. The presentation is 10 minutes long and is bilingual, English and Japanese.


Ubiquity: Command the Web with Language 言葉で操作する Web from mitcho on Vimeo.

(more…)

Changes to Ubiquity Parser 2 and the Playpen

Friday, June 5th, 2009

Here’s a quick screencast highlighting some of the changes to Parser 2 and the updated Parser 2 Playpen. This video should be particularly useful to people hoping to add their language to Parser 2. It’s also a good reference for Ubiquity core developers.


Changes to Ubiquity Parser 2 + Playpen from mitcho on Vimeo.

All the features covered, as with all Parser 2 features, require that you get the latest Ubiquity code from our Mercurial repository.

Lecture at ITSP - 先端ITスペシャリスト育成プログラムにて講義

Thursday, June 4th, 2009

Yesterday I was invited to give a lecture for students the MEXT IT Specialist Program. ITSP is a partnership between Keio, Waseda, and Chuo Universities and NTT, IBM, and Mozilla to bring advanced IT training and opportunities to their Master’s students. It was a longish time slot so I decided to split it up into two different talks: one on open source and open processes (similar to one of my sessions at the recent BarCamp Tokyo) and one on the future of interfaces, internationalization and globalization, and Ubiquity. Here are the slides for posterity. (Note: the second set of slides is mostly in Japanese.)

昨日は文部科学省の先端ITスペシャリスト育成プログラムの学生の為に講義をしました。ちょっと長めの時間だったので、二つのトークに分けてみました。第一部は「オープン」と言うアイデア、特にオープンなデザイン過程の利点について。第二部は未来のインターフェースと国際化とUbiquityの紹介でした。スライドをここにslideshareにあげておきました。

Design processes in the open-source era オープンソース時代のデザインプロセス

Ubiquity: Interfaces and Internationalization インターフェースと国際化

Ubiquity interview in Chinese

Monday, June 1st, 2009


Mitcho on Ubiquity i18n / l10n on YouTube

This past weekend was Mozilla Party JP 10 here in Japan and one of the speakers was Bob Chao (趙柏強) of Creative Commons Taiwan and MozTW. We got to talking in Chinese and he got a video interview of me talking about Ubiquity and our upcoming Parser 2 and the challenges of localization. I’ve never talked about my Mozilla work in Chinese before so it was definitely a challenge and I stumbled a lot, but hopefully some of the ideas got through. :)

前天我參加了Mozilla Party 10,一個日本 Mozilla 社群的會議。我在 Mozilla Party 才認識台灣 Mozilla 社群的趙柏強,我們就開始講國語。因為我自己很想念用中文,所以我非常高興有這個機會跟他談話。以後他拍一端 video,我給台灣的 Mozilla fans 把 Ubiquity 介紹一下。我的中文真的亂七八糟,大家對不起喔。 ^^;

Contribute to Ubiquity! No Coding Required!

Thursday, May 28th, 2009

Jono’s recently been thinking about how to get users involved with aside from programming, and he decided to put the textual content of Ubiquity’s builtin commands and the new interactive tutorial on the wiki for all to edit.

Changes made to these wiki pages will be tracked and edits will be moved back into the Ubiquity codebase as early as 0.1.9.

Combined with the imminent internationalization of Ubiquity commands, allowing contributors to localize commands without digging into the JavaScript code, there will soon be lots of different ways for to get involved with the further development of Ubiquity!

Localizing Ubiquity: commands and nountypes

Monday, May 25th, 2009

Now that Parser 2 is in decent shape and a number of parsing problems in different languages have been tackled, the focus has now shifted to coming up with an approach for localizing Ubiquity commands and nountypes. At last week’s weekly Ubiquity meeting we had a great conversation on this subject, which then has continued on the Google group.

I’ve been framing this problem as two subproblems:

  1. What will be the data structure of localized commands/nountypes within Ubiquity?
  2. How do we distribute/share these localizations?

We’ve mostly been discussing the first problem, weighing the merits of unified objects (with different localized text as different JS properties) as opposed to a gettext-style approach, and noting that our requirements for commands and nountypes may be different. I hope we can discuss the second issue more in the coming week.

Should everything go through the command author? Should localization be centralized through some web tool? Should it be completely distributed like commands currently are? I invite you to join us in this conversation on the Google group. ^^

Big Issues and Small Issues with Parser 2

Wednesday, May 20th, 2009

Jono and I had a good conversation this morning on IRC about the remaining Big Issues which are blocking the release of Parser 2 as the default parser for Ubiquity. Here are our Top 4 Big Issues:

  1. Some commands’ preview’s and execute’s are not working properly (trac #652). This could be an underlying issue with some pipes not rerouted correctly in Parser 2, or it could be that the commands have not been rewritten correctly to take advantage of Parser 2.
  2. Flesh out how to localize resources, like commands and nountypes. We started a conversation on this subject a few weeks ago but we never reached a resolution. This blocks issues 3 and 4 below.
  3. We need to standardize a format for commands for Parser 2. As noted in last week’s meeting (among other places) Parser 2 will require at least some modification to all commands. Jono and I came up with a simple hybrid format for commands which specify takes and modifiers for Parser 1 and arguments for Parser 2, but until we figure out how exactly the localization of commands will work, we can’t write a definitive standard.
  4. Enable nountype localization. While the most popular nountypes used are those that ship with Ubiquity, it is important to come up with a localization process which can apply to custom nountypes as well. Nountype localizations need the ability to either (1) replace the _name only, or (2) replace both the _name and the suggest() logic, as both cases will be necessary.

Given that Big Issue 3 and Big Issue 4 are both dependent on Big Issue 2, there clearly needs to be a continued public discussion of how we should make these resources localizable. I look forward to this discussion taking place at tomorrow’s joint (general + i18n) Ubiquity meeting.

In other news, here are some Small Issues:

  1. Add a switch for parser version and language settings: Jono’s already made a space for this in the new “Settings and Skins” page in about:ubiquity. He’s on it. Like a bonnet.
  2. Magic word (anaphor) substitution is not yet working properly. This needs to work both when there is an explicit magic word and when there are simply missing arguments.
  3. The position of suggested verbs is always sentence-initial (trac #655). This also requires that we can specify whether verb name localizations are sentence-initial forms or sentence-final forms.1

Let’s hit the code!


  1. German, Dutch, and Greek, for example, are all languages where there are both command verb forms which are sentence-initial and sentence-final. 


© 2006-2010 mitcho (Michael 芳貴 Erlewine).
Proudly powered by WordPress.
Entries (RSS) and Comments (RSS).
The views expressed on these pages are mine alone and do not
reflect those of my employers and clients, past and present.