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.
This kind of clunky, time-consuming interaction is common on the Web. Mashups help in some cases but they are static, require Web development skills, and are largely site-centric rather than user-centric.
It’s even worse on mobile devices, where limited capability and fidelity makes this onerous or nearly impossible.
The overall goals of Ubiquity are to explore how best to:
- Empower users to control the web browser with language-based instructions. (With search, users type what they want to find. With Ubiquity, they type what they want to do.)
- Enable on-demand, user-generated mashups with existing open Web APIs. (In other words, allowing everyone–not just Web developers–to remix the Web so it fits their needs, no matter what page they are on, or what they are doing.)
- Use Trust networks and social constructs to balance security with ease of extensibility.
- Extend the browser functionality easily.