Below is a transcript of this video. Please distribute this video far and wide to anyone who may be interested. ^^
My name is mitcho and I am currently involved with an exciting open source community project at Mozilla Labs called Ubiquity. The project’s goal is to empower the user to accomplish more on the web, and to do this, Ubiquity connects disparate services from across the web with language. Let me show you what I mean.
Suppose you’re emailing a friend to tell them where to meet later. It would be great if you could insert a map in your email, but you would regularly have to go to a maps application and insert a link.
But with Ubiquity installed, you can just pull up Ubiquity with a keystroke, enter
map Shinjuku, pick the right result and rearrange it, and click “insert map.” It’s that simple.
Let’s say you’ve stumbled upon an article in French and you want to send a bit of it to a friend. Again, you could just send a link, but with Ubiquity we can do much better than that. We’ll first select the quote we want and
translate it to English. There we go. Now I’ll select the bit I actually want to send, pull up Ubiquity and execute
email this to Aza. Because Ubiquity interacts with my address book, it knows who I mean by “Aza” and composes my email for me.
As you can see, the Ubiquity interface makes it easy to accomplish tasks with minimal interruption to a user’s workflow. New verbs are easy to write and there’s already an active community writing new verbs and sharing them with users.
The localization of Ubiquity
Right now Ubiquity offers a basic English parser and an experimental Japanese one, but Firefox itself currently ships with 55 distinct localizations. We hope to localize Ubiquity into a number of these languages.
In order to accomplish this, we need support from viewers like you.
For each language—whether Basque, Polish, or Esperanto—we hope to build a parser to take the command and pick out its verb and the arguments and then identify the semantic roles of each argument. Ubiquity will then apply the verb to those arguments and execute.
We’ll need both data and expertise into the languages we hope to localize. If you’re a native speaker or researcher, what is the structure of commands in your language? How do you code for different kinds of arguments? What do your pronouns look like? We’d love to see blog posts, discussions, or quick mockups on these and other topics.
For those of you with NLP experience, we’d love to get more folks involved in writing these parsers. And in the near future, we’d appreciate anyone who wants to simply try out Ubiquity in their language and give us feedback.
The idea of using natural language to direct computers is far from new. But in this limited context of individual commands—single imperative clauses without complexities such as negation or quantification—I believe there is great potential for Ubiquity to support other languages and bring this interface—this new way of interacting with the web—to more people in more communities.
bringing linguistics to a browser near you
help us localize the future