Aza Raskin at Mozilla Labs thinks there’s got to be an easier way to create Web mashups. Today, he is announcing the launch of Ubiquity, an experiment in using natural language to invoke Web services. Ubiquity is an extension to the Firefox browser that lets you type in what you want to do—insert a map, translate this page, Twitter this block of text, search on Google—and invokes one of 30 Web services. As Raskin describes the problem in his post:
You’re writing an email to invite a friend to meet at a local San Francisco restaurant that neither of you has been to. You’d like to include a map. Today, this involves the disjointed tasks of message composition on a web-mail service, mapping the address on a map site, searching for reviews on the restaurant on a search engine, and finally copying all links into the message being composed. This familiar sequence is an awful lot of clicking, typing, searching, copying, and pasting in order to do a very simple task. And you haven’t even really sent a map or useful reviews—only links to them.
With Ubiquity, all you do is type in map, and it calls up the Google Map and sticks it in your e-mail. Just as you type what you want into a search box and it figures out what you are looking for, Ubiquity tries to figure out which services you want to access. In a phone call, Raskin explains it to me this way:
Ubiquity is an experiment in connecting the Web with language. The problem with the Web is that services and locations and data are disconnected. You want to send a link to a map, translate a Web page, convert things to PDF, add a review for a restaurant—all of these things you want to do right now, but you have to trundle around the Web to do it. Ubiquity is instant access to services through language.
This is an ambitious project whose goal is to make natural language into a programming interface. It is open-source so anyone can contribute to make it work with more APIs and Web Services. The prototype extension can be downloaded at the link above and includes tutorials for how to create new commands. More detailed information is also available here and in the video below (which shows how Ubiquity can create and insert a Google map and Yelp review in an email, map multiple Craigslist listings simply by highlighting them, look up a definition or Wikipedia entry, and Twitter it automagically).