There’s a huge amount of data (raw and processed) on the Internet, which makes it a uber-database of sorts. What we always needed were tools we could use to fetch or mix this data, and create other useful streams of information. Technically, this mechanism combines data mining (scraping) and data modelling (mashups).
When Yahoo! launched its Pipes service a couple of months back, I was overwhelmed by its usefullness and usability. I remember saying that I expected something this clever from Google. And I guess Google realized that too. So when I heard about the new Google Mashup Editor (currently in private beta), I couldn’t wait to play around with it. Their website says, “Google Mashup Editor is an AJAX development framework and a set of tools that enable developers to quickly and easily create simple web applications and mashups with Google services like Google Maps and Google Base. Google Mashup Editor is a great tool for grabbing information from feeds and letting users see and manipulate it.”
While both Yahoo Pipes and Google Mashup Editor are data mashup (input->process/mix->output) tools, there are some significant differences between the two.
First and foremost, although both Yahoo Pipes and GME provide a web-based IDE, but Yahoo Pipes offers a intuitive web-based graphical interface with drag-n-drop and pipe-connection widgets, which makes it more usable for a standard user. GME on the other hand, is a text editor, which uses the Google Mashup markup for writing code. In my opinion, both these data mashup tools are not easy for a layman (or even a sales person) to use. But Yahoo Pipes, with its GUI approach, is a bit easier. GME, with its special markup and template tags, is strictly for geeks and coders.
Secondly, the Yahoo Pipes workspace (or canvas as its called) only works in Mozilla Firefox, while the GME works in both Firefox and IE (with support for other browsers on the way). This makes GME more widely adaptable. I’ve always found this to be a serious shortcoming for Yahoo Pipes.
Both, Yahoo Pipes and GME offer a set of reusable modules which users can logically combine to form a data mashup. Both allow users to create and remotely-host their mashups. A significant factor for remotely-hosted data mashups is the delivery performance over Internet, and I found Google’s data delivery performance to be faster and more stable than that of Yahoo.
Unlike Yahoo Pipes, GME applications use a small subset of XPath, a search and query language that allows you to refer to tags and attributes in an XML document. This makes GME mashups much more powerful, since users can perform a whole lot more (outside the standard set of modules).
Mashups built with Yahoo Pipes generally render a raw data format like RSS or JSON, but GME apps can also publish data-driven web pages (see the 4th July mashup). I reckon almost 95% of data mashups are still based on RSS as their primary data source, however not all websites support RSS yet (if you are trying to build a mashup around such a website). In such cases, Feedity (a web-based tool) can be used to to generate RSS for web pages without a web syndication format. Feedity works with Yahoo Pipes, as well as GME.
In terms of applying data filters to mashups, I feel that Yahoo Pipes offers more operators than GME. But GME offers superior Event Handling mechanism. Modules in GME applications emit events to signal various actions, such as the user clicking a module or an item being saved. You can connect two modules, asking one to listen for events emitted by the other, and take some action when the event occurs.
Overall, I’m impressed with GME, maybe not as much when I first saw & tried Yahoo Pipes. Yahoo Pipes scores better in terms of ease of use and rapid development approach. The Google Mashup Editor wins in terms of power and flexibility. Well, Microsoft still has to catch up in the land of data mashups with its Popfly service.