08.27.08
Try this at home?
An elusive goal of software development has been the invention of an easy-to-use platform that end users can write their own programs without having to rely on developers. Of course the very notion of “writing programs” is not exactly the kind of thing that you would expect your grandmother to do, not to mention business stakeholders who do not fall under the category of “power users.” To date, that goal has only been realized with the common office productivity tools that are equipped on just about every desktop which provide bare bones features for extending a spreadsheet or word processed document with a macro, and to varying extents, hobbyist programs like kinder simpler photo editors that are thrown in gratis with Windows or Mac platforms. But for the most part these are automation, not programming tools.
At the enterprise level, that of course has been the goal with BPM offerings, which are supposed to enable business stakeholders to model in business, rather than code executable terms, how their business processes run, or should run. Mashups in turn were supposed to provide extremely simple alternatives to integrating applications by focusing at the presentation rather than data, logic, or transaction levels. And the snowballing proliferation of enterprise mashup tools compete on a number of different features to make them safe for the business, the one common thread to most of them is that they minimize the need to drop down into coding JavaScript. However, no matter how visual mashup tools are, you still need developers or power users at some point of the lifecycle, whether it be to vet objects or sources than can be safely mashed up without violating some corporate policy, or to deal with some complexities of JavaScript under the hood.
Yesterday, the Mozilla Foundation fired the first shot in their attempt to transform the browser into a natural language mashup tool accessible to non-programmers. The project, appropriately titled Ubiquity, is supposed to enable anybody – not just JavaScript developers – to casually mash things up when you perform tasks like send emails. Let’s say you want to throw a party and invite a bunch of friends to a restaurant. Instead of signing up with a site like Evite, simply name the restaurant, hit an option key, type in “Map,” and voila, a Google Map with the location of the restaurant populates your email. Want some reviews or a display of the menu. Press the option key again and enter a command like “Yelp” and type in natural language that you want some reviews or display a menu. Of course, you can do similar things today by embedding links, but this makes the process a lot more direct.
Ubiquity is still at what Mozilla calls the 0.1 phase, which is the equivalent of a community preview alpha. In the long run, we’d doubt that Ubiquity will gain critical mass as standalone. Instead, we’d expect that third parties would write Firefox plug-ins that make the process much more graphical so you don’t have to type in a question, like “find me some reviews,” or more context-centric, such as party, meeting, or travel planners, and so on.
It’s a technology concept that could also lend itself to other leading portal sites like Facebook, Yahoo News, and so on for adding more context-centric productivity drop-down choices to embellish messaging, Wikis, micro-blogging, or other uses limited only by the imagination. Keep your eye on this. But on the other hand, don’t be lulled into the notion that Ubiquity will finally make developers non-ubiquitous at least in the enterprise, as at some point, companies still need to exercise adequate controls over the behavior of software and the data that it exposes.