Google Mashup Editor logo In May Google introduced its new brainchild - Google Mashup Editor. It has been presented as a no-nonsense online interface and an API for creating mashups and simple applications using Google's own webservices and external data. Upon its launch it has been compared a lot to rival Yahoo! Pipes project that enables users to mix, filter and process various data sources available on the web in a simple and visual form.

Yesterday my beta access application has been approved so now I will give you an inside look at Google Mashup Editor and explain what it is and what it is not.

In fact, Mashup Editor and Pipes are not direct competitors. They compare like AppleScript and Automator in Mac OS X - while the first one gives much more power and lets the experienced programmer pull the inner strings of an application by working with source code, the latter trades this power for the concept of drag'n'drop "actions" that is pretty easy to grasp even for newcomers.

At the core of every mashup is a source code in GML-format (where GML probably stands for Google Markup Languge) which has a syntax in many ways similar to XSLT. GML even uses a subset of XPath!

Google Mashup Editor's main screen

Current feature set is quite limited. Editor itself is an AJAX'ified text field enhanced with two core features of a programmers' editor: syntax highlighting and auto-indent. To the right is a list of your personal projects followed by examples which include the arbitrary "Hello World" as well as more intriguing "Feed Reader", "Task List", Google Maps mashup etc. Clicking on any of those will save your current project and switch to the selected item.

Clicking on "Help" link to the right will replace the list of project with GML syntax reference. Underneath is another section that shows a list of files that belong to the current project.

As explained in Getting Started Guide, GME converts every data feed to Atom feed format so that accessing data is standardized. The second tab, "Feed Browser", lets you peek "under the hood" and see raw data the way your application will see it:

GME feed browser

Third tab, "Sandbox", is where you can test your applications before publishing them (more on that later). Your mashup will be put into a sandbox every time you click the Test button in the Editor screen.

GME feed browser

When you're satisfied with your creation, it is time to publish it. Once published your mashup will be hosted at Google under a subdomain of You can also turn your mashup into a gadget which puts it into a public directory for users of iGoogle personalized homepage.

But keep in mind that published GME applications are not "black boxes". In fact, Google has done a great thing by providing the conveniently-named "Source" link in the top-right corner of every mashup's page. This way inner mechanics of any application (its GML file) are instantly revealed to a curious eye.

Browser support is currently limited to v1.5+ and Internet Explorer 6.0+. Support for other popular browsers like Opera or Safari is said to be "on the way". But the greatest limitation so far is lack of support for dialects of XML other than RSS and Atom. There's a reason for this (see above about the conversion of RSS feeds to Atom) but I've posted a feature request on GME's Google Group anyway - let's see if it gets any love from dev's.

All in all, Google Mashup Editor looks pretty solid (for an early beta) and it already allows power users to create some interesting web apps. So if you ever wished to develop your own Google Maps mashup, now is a great time to start! Get in, hack away and share your ideas with the rest of the world!


Coming soon: Free source code for your own Google mashup!