Last week, Yahoo announced the release of an early version of a tool designed to help users personalize the Internet. The tool, called Pipes, lets people combine all sorts of oft-updated Internet information, known as feeds. Pipes could, for instance, enable a feed that includes New York Times articles featuring the phrase “plasma TV,” Flickr-posted pictures taken in a specific neighborhood, and traffic updates along a commute. So, instead of drowning in headlines from standard feed aggregators, the user gets information that is winnowed down and personal.
There are some early examples of Pipes on Yahoo’s site. One allows a person to search for an apartment near “something,” such as a park, library, or school. Another Pipe extracts keywords, such as “snow,” from the New York Times news feed and displays Flickr photos that have a matching tag.
The basic idea behind Pipes, says Yahoo, is to give software developers and motivated nondevelopers a simple programming tool to mix and match collections of data on the Web, says Pasha Sadri, principal software engineer at Yahoo and developer of Pipes. “The goal of Pipes,” he says, “is to significantly lower the barrier to writing simple applications by eliminating the need to write code and by hosting the application for you.”
In fact, no knowledge of a programming language such as C++ or Java is needed to build a Pipe. When you begin to build a new Pipe, you select a set of programming instructions that are premade and packaged as an icon, called a module. A Pipe is made by dragging and dropping these modules, stringing them together, and adding a few extra instructions. A similar approach is employed to program Lego Mindstorm robots. “This simplifies the process and means that more people will be able to write programs for very specific tasks,” says Sadri.
The tool consists of two major components: an interface, called an editor, where a Pipe is put together; and an execution engine that runs the Pipe instructions. Once a project is saved in the editor, the instructions are saved as a special kind of document on the engine. To run the Pipe, the engine reads the document and then accesses anywhere from dozens to hundreds of Web services–from feeds supplied by Craigslist to geography data on Yahoo Maps. To optimize the response time, says Sadri, the engine parallelizes as much of the execution as possible, breaking up the instructions into chunks that run simultaneously.
Almost immediately after its release, Pipes garnered a lot of attention from bloggers, software developers, and experts on Web-based applications. Perhaps the most glowing endorsement it received was from Tim O’Reilly, founder of O’Reilly Media, a computer-book, magazine, and online publisher. On his blog O’Reilly wrote that the tool is a “milestone in the history of the Internet.” He added that while it’s still a bit “rough around the edges,” Pipes has “enormous potential to turn the Web into a programmable environment for everyone.”