A mash-up is a combination of tools or data from multiple sources. Mash-ups typically collect data from multiple web pages and bring their information into one simplified web application.
Think of a mash-up as tool consolidation for web applications. For instance, an online mapping service might have an interface that allows a mash-up to be created that places the traffic cameras for a location onto a map. The possibilities for mash-ups are quite endless.
To create a mash-up, multiple input sources are required, and usually these inputs will have an XML based output stream. This allows the mash-up to use these XML outputs as inputs, and consolidate them together. Once the data streams have been combined (and/or manipulated), the mash-up will usually generate its own output, which displays a combination of the original inputs.
One example of a mash-up might be to combine a mapping service like Google Maps® with microbreweries. This mash-up has been created and does work quite well, to provide a map of the breweries or beer stores within an area and directions to each.
Yahoo has taken the mash-up even further with the introduction of a new service called Pipes™. Yahoo Pipes™ allows a user to use XML markup and an Ajax driven interface to create their own pipes (or mash-ups). This service puts any number of mash-ups directly in the hands of those who might use the new application. Once a pipe is created, it can be shared with others to allow more widespread use. Pipes™ has been used to create many mash-ups, one such mash-up being a web application to place a song list from iTunes® with videos from YouTube. This marriage of websites allows you to create a mash-up of the top ten iTunes songs and the top 10 most played YouTube videos. The application uses an XML feed from both sites to create the mash-up, allowing the data from each application to change without requiring any changes to the mashed up web application.
Many other mash-ups have been created, combining the most popular services available on the Internet today. With new applications popping up all the time, there are no limits to the amount and variety of web applications that can be created.