Now that you have created mashups of Flickr and Google Maps using both specialized mashup tools (a combination of the GME and Yahoo! Pipes) and general-purpose web programming techniques (PHP and JavaScript), let’s compare these two approaches. First, consider that the GME and Yahoo! Pipes provide the following to you as a developer:
Hosting is provided; you don’t need to use your own server.
Instead of PHP and JavaScript, you program only in JavaScript. This can be considered an advantage in that you don’t have to know PHP to use the GME and Yahoo! Pipes. Google and Yahoo! are doing the server-side proxying for you.
You don’t need to register for separate API keys for Google Maps to use the maps.
You get access to a Subversion interface, to issue tracking, and to the other features of Google Code, which is used to host the GME code.
Both the GME and Yahoo! Pipes make it easier to see what others are building; hence, they promote the sharing of tips, ideas, and code.
There are, of course, trade-offs you make by using the GME, Yahoo! Pipes, and possibly other third-party tools:
Each tool generally presents a new framework to learn. Some are easier to learn than others, often by building on what you are likely to know from other contexts. However, there is always something new to learn.
Sometimes the abstractions used by a given tool are not quite what you want. For instance, the central data exchange format is Atom feeds, which can be either an apt simplification or a burdensome limitation.
Having your application hosted on the GME or Yahoo! Pipes means revealing your data and code to Google or Yahoo!
The identity and branding of your mashup will be associated with Google or Yahoo!
You become dependent on the infrastructure of Google and Yahoo! Lock-in could become a problem.
There are a couple of things that it would be nice to get from Yahoo! Pipes and the GME:
Being able to host your code on your own server. If Google were one day to let you compile GME code into HTML and JavaScript that could then be modified and run independently of the GME, that would increase GME’s attractiveness to many developers and users.
GME does not have the ability to read in information other than RSS and Atom feeds. Right now, Yahoo! Pipes fills that niche well—by using pipes to read in XML and then converting it to feeds, you can then process that data in GME. However, the GME being able to process XML beyond RSS and Atom would be a useful feature.
I think a measure of success for tools such as the GME and Yahoo! Pipes is the degree to which they let you easily build applications for a specific purpose; and these are applications that you don’t even mind throwing away after a single use because they were so easy to write. By this measure, the GME and Yahoo! Pipes moves you toward tools to create such apps. I think that the GME and Yahoo! Pipes makes it easier for programmers to create certain types of mashups, though it’s not so clear whether they open up mashup development for a nonprogramming audience.