We were lucky enough to be one of the first few to get access to Google’s Mashup Editor (our awesome buddy blog R/WW beat us to the review, though!). Google Mashup Editor [referred to as GME henceforth] is Google’s way of giving developers — a group of people we know they love — an easy way to mash things together with its own outliner-style scripting language. The service follows the efforts of Microsoft’s Popfly and Yahoo!’s Pipes.
Logging into GME is like any other Google product at first, and it stays true to the Googlish feel by all means–initially started by Gmail in its 2004 launch. Once you’ve logged in, 3 separate tabs come into sight: Editor, Feed Browser, and Sandbox. Visible on the right side is Published Apps, which you’ll only find useful once you’ve published one. Believe it or not, that’s all there is to GME, so let’s take a look:
Google’s simple, text-based, non-WYSIWYG, raw mashup file editor — reminds you of the 100s of HTML text editors out there. At the top is a ‘File’ menu which lets you save the project and check syntaxes, a ‘Save’ button, and ‘Test’ — which puts the project into action. I’m no coder, so I had trouble deciphering Google’s outliner ‘GML’ language at first (stands for ‘Google Mashup Language’), but it much resembles XML and takes in/spits out RSS/HTML.
On the left side is a list of projects and the files within your current project with the .gml extension. Like a regular application, one can have many files and inter-link all of them to split it up. Something I love is to get the ball rolling and teach you a little about making mashups with GME, Google has very handily created and made available a bunch of handy samples. Among those that stand out are ‘RSS feed,’ which can takes an an external feed (Digg’s is used as an example) and produce a custom feed with additional elements, ‘Tasks Gadget,’ which is a to-do list gadget for Google Desktop and iGoogle.
Other pretty self-exaplanatory ones include: Task List, Calendar, Feed Reader, Hello World, Map Wiki, Maps Mashup, Paged List, and Tabs. Google has made these gadgets free to build upon, and taken a really practical approach to what they present: I can imagine, with a little spare time, that I’ll be able to easily put something together by mashing up these sample mashups and using a little thought.
In this tab, Google gives you the handy ability to load up, test, and browse feeds — just for the handiness of it all. When creating a mashup, developers will often need to get familiar with and test out the subject RSS feeds. Whether it’s for the structure, looking where to extract a bit of data or insert something in there, the Feed Browser presents an incredibly easy view.
Additionally, it allows you to split and select the number of results you want per page, so it in itself is a mashup of sorts. Below the previous text box, a handy code to put at the top of your mashup to fetch that feed in the GME is present — for example, in the case of the Rev2 RSS feed: <gm:list data=”http://feeds.feedburner.com/Rev2org”/>. When that is inserted, Google makes extracting and putting together elements a piece of cake. For example, <gm:text ref=”title”/> fetches the title of the item, and I could mash this up into an HTML output by simple doing <h1><gm:text ref=”title”/></h1>. If this kind of ‘scraping’ was to be done in PHP, it would require lots and lots of code — including an initial parser to fetch the feed itself. Now this is what I call Googleasy. 😉
As you can imagine, Google provides a Sandbox, which lets you test your built applications once their compiled inside the Editor. The output, of course, is exactly what the end output is going to be. A handy checkbox saying ‘Google Gadget’ is present at the top to present it in the form of a Google Gadget — superbly useful if that’s what you’re looking to make.
In all, Google presents a superb developer environment for the experienced, mashup-aware, I-don’t-need-WYSIWYG developer. Of course, in comparison to Popfly and Pipes, the interface largely lacks a visual element. First timers can almost forget making something with GME unless they want to spend hours learning the basics of HTML, XML, RSS, and finally GML, but those who a person with a little idea, some inside knowledge and experience, and a lot of initiative to figure things out, GME is be an excellent option. If you can get an invite, give it a whirl!