# Yahoo Pipes

Yahoo! Pipes was a web application from Yahoo! that provided a graphical user interface for building data mashups that aggregate web feeds, web pages, and other services; creating Web-based apps from various sources; and publishing those apps. The application worked by enabling users to "pipe" information from different sources and then set up rules for how that content should be modified (for example, filtering). In addition to the pipe editing page, the website had a documentation page and a discussion page. The documentation page contained information about pipes including guides for the pipe editor and troubleshooting. The discussion page enabled users to discuss the pipes with other users.

## History

Yahoo! Pipes was released to the public in beta on 7 February 2007. It was built by Pasha Sadri, Ed Ho, Jonathan Trevor, Ido Green, and Daniel Raffel of Yahoo! It is described by its creators as:
   …a hosted service that lets you remix feeds and create new data mashups in a visual programming environment. The name of the service pays tribute to Unix pipes, which make it easy to chain simple utilities together on the command line.
On 4 June 2015, it was announced that Pipes would be in read-only mode from 30 August 2015, and shut down on 30 September 2015. Yahoo did not offer a paid version, but instead shut down the program entirely.

## Purpose

The purpose of Yahoo! Pipes was to create new pages by aggregating RSS feeds from different sources. Yahoo! Pipes had many modules which could be used either to grab data from sources or to edit the data that was grabbed from the sources. These modules were grouped into categories: sources, user inputs, operators, URL, string, date, location, and number.

## Creating and editing a Pipe

To create or edit a pipe, the user had to sign up with a Yahoo! ID. Creation and editing of the pipes was completely online; the user didn't have to download a plug-in, program or app. The user selected the "Create a pipe" option to open the Pipe Editor. The pipe editor was composed of three panes: the canvas, the library, and the debugger. The pipe was created using these panes. After creation, the pipe was saved and run. The user was then able to give a name and short description to the pipe. If the creator of the pipe decided to publish the pipe, it would become visible for everyone. Other users had the ability to clone the pipe, which they could then edit for their own use.

### The Canvas

The canvas was the main pane where the editing of pipes was done. It was in the center of the page. Modules that were selected from the Library pane were dragged on this pane and connected together. After the modules were wired in the desired order, the pipe was ready to be used.

### The Library

The Library was the place where the modules are selected to be dragged on the Canvas. These modules were grouped by their functions. The library pane was on the left hand side.

#### Sources

In this category, there were modules which were used to grab data from one or multiple sources on internet.

#### User Inputs

The modules in this category enabled user to add an input in the pipe. By using the modules in this category, user could add date, location, number, text, or URL input to the pipe.

#### Operators

The modules in this category were used either to filter or to transform the data that is flowing in the pipe. It contained filter, count, location extractor, loop, regex, rename, reverse, sort, split, sub-element, tail, truncate, union, unique, and web service modules.

#### URL

There was only a URL builder module in this category. Pipes needed to have URLs of RSS to get the content. This URL builder enabled users to create URLs instead of typing the URL address. It used a base URL and query parameters to generate other URLs.

#### String

The modules in this category were used to either to change or combine the strings. String builder, string regex, string replace, sub string, term extractor, and translate were the modules of this category.

#### Date

There were only two modules in this category. They were date builder and date formatter. Date builder module converted a text to a date when there was text in the date format such as "yesterday" or "tomorrow". Date formatter module took a date as input date and changed it to the desired format.

#### Location

This category contained only the location builder module. This module recognized the strings which were the description of a location and converted them to geographical location. Its input was in string form and output in location form.

#### Number

This category only had the simple math module. It applied simple math operations to the number input it takes and outputs the result of math operation. Both the input and the output were numbers.

### The Debugger

This is the pane which shows the output of the selected module on the pipe. While designing a pipe, when user clicks on a module on the canvas, the debugger pane shows the output of the selected module. It shows both the title and the content of each item.

## Mashups

A Web Mashup is a Web application that combines data from more than one Web data source into a single integrated Web application. Just as Unix pipes are often used to quickly combine several different data sources but are generally not sufficient to create a useful application, Yahoo! Pipes is a data mashup tool rather than a complete mashup editor.