Mozilla Labs has released a video of something they are working on called Ubiquity, and the best way to describe it is it’s Quicksilver for the web.
Ubiquity is a great idea in the general sense. The idea is that we have all of these great services already — Google Maps, Craigslist, Twitter, GMail, et cetera, and most of them have APIs which allow developers to connect them and make them even more valuable; but why should we rely on developers to create these connections?
That’s where Ubiquity comes in. It is a browser-based, command-controlled and extensible tool which allows you to connect different services and do some really cool things, like highlight a list of apartments on Craigslist, invoke Ubiquity, type in “map it” (or whatever the command is), and it does it — it takes the location data of the apartments and maps it in Google Maps.
It is also extensible, so others can write plugins for Ubiquity and connect even more services together or create new functionality.
This is all great (and I don’t mean that sarcastically — it really is. I love that Mozilla Labs is pushing forward the idea of a web browser), but this makes me wonder a bit, should this all be within a web browser, or should web APIs be better extended to support al kinds of desktop and web applications?
Rather than Ubiquity, I think we need an all-encompassing framework which allows web service developers, and application developers, to easily connect with each other. For example, the framework should build in micro-formats so they are easy to build in to your service, and it is easy for, say, a desktop collaboration app to, using standard calls in this framework, easily find whatever kind of data the user is looking for.
Basically, we need an end-to-end web framework for services and apps to build in, so all sorts of applications can develop, rather than just develop plugins for a web browser.