Original URL: https://www.theregister.com/2007/07/04/mashing_google/

Google Mashup beta goes out to world+dog

Persistence is its saving grace

By Simon Bisson

Posted in Software, 4th July 2007 10:24 GMT

Software as a Service (SaaS) is one of this year's biggest trends. It's one that's also moving away from simple applications to whole hosted development platforms.

Google's Mashup Editor is the latest online development platform to appear. Like Microsoft's Popfly and Yahoo!'s Pipes before it, it's a tool for building hosted JavaScript applications. Unlike Popfly and Pipes, however, it's much more of a barebones solution, leaving the graphical front-ends firmly at the door.

Launched at Google's recent Developer Day, it's taken a while for the beta test invites to make their way outside the Googleplex. That's probably a good thing, as the service isn't just a development tool for mashups – it's also the showcase for Google's own XML-based declarative web programming language (fully compliant with all the latest Web 2.0 buzzwords), along with a hosting platform that takes advantage of the Google Base APIs to give you a place to store and manage data. Applications are published on the googlemashups.com domain – so you'll need to use iframes or similar techniques to embed them in your sites and services.

The Google Mashup Editor code editor at work

So what's the Mashup Editor like? Like most Google applications the user interface is relatively simple and browser-based. Once you've logged in you'll find a tabbed window with an editor, a feed browser, a test area, and a list of published applications. The editor is better than most online code editors, with syntax highlighting and a tool for managing projects. The feed browser lets you see how Google's ATOM data format works with existing RSS feeds, as well as examining data stored in Google Base.

Using the Feed Browser to see how a RSS feed looks in ATOM format

External data is treated as feeds, and these are all converted to ATOM. This gets around one of the perennial problems of mashup development, as there's only one data format to work with. The standardised format also means that the declarative tags used to work with data are consistent and simple to understand. You can also work with Google's own Google Base by writing to your application's own feed – and using what Google calls "stripes" to manage your data, with each stripe being equivalent to a level in a hierarchical database. Information doesn't have to be open to all, and you can use your users' Google IDs to manage access to information – which leads us to suspect that the platform will become part of Google's suite of hosted business tools.

Most mashup development is in the old favourites: CSS, JavaScript, and HTML. Google's own XML tags are used to handle links to user interface elements, data sources, and feeds, as well as providing event handling and application flow control. There are also attributes that can be added to existing HTML. One, "repeat" gives you a simple loop, walking through the current data set and populating the HTML with the results. It's an effective way of filling up HTML tables. If you've worked with PHP you'll find data handling syntax quite familiar. Google's tags actually share a lot of similarities with PHP and other tag-based web development tools – so if you're already using PHP to develop web applications, you shouldn't find Google's new tag language hard to grasp. XML developers will also find the language easy to learn, as its more advanced query features are based on XPATH.

The big difference between Google's offering and its competitors is Google Base. Persistence is a key element often missing from mashups, and unless you're willing to run your own database or subscribe to Salesforce.com or Netsuite, it's one that's going to remain rare. It's been hard to see a real use for Google Base, and it looks like the Mashup Editor platform could be the boost that Google's online database needs.

While most applications can be built using standard JavaScript and the Google Mashup Editor tags, Google has also given its platform a JavaScript API. This gives you access to the application object, which lets you access any element in an application. Other options mean you can programmatically set data sources and manage data filters. The JavaScript API is comprehensive, and has a lot of similarities to existing Google APIs – and some cases acts as a wrapper to some of the more familiar API features.

Hosted development platforms are the latest SaaS trend, and Google's arrival on the scene was widely expected. Like its earlier forays into the development world, the Google Mashup Editor is a no frills, barebones experience – but like its earlier forays, it's also surprisingly easy to use and able to deliver results quicky and efficiently. Once code's been developed, you can use the Sandbox to test applications before naming them and publishing them to the googlemashups.com domain or as a gadget for use on the iGoogle portal.

With so many hosted development tools hitting the market at once, successful implementations need to have their own niches. Popfly is targeting the developer who doesn't know they're a developer, while Pipes offers transformation and proxy services to developers who want to use multiple data sources in a single mashup. So what's the niche Google is targeting here? There may not be the same range of inputs as Popfly, or the flexibility of Pipes, but Google Mashup Editor's strength is its persistent storage.

And it's that storage story which gives Google Mashup Editor its edge. Thanks to Google Base we're more inclined to compare it to Salesforce.com's APEX platform than to the other consumer mashup platforms. It'll be interesting to see how it can be used with Salesforce.com's platform, in light of the two companies' relationship.

Some of Google's betas never go into production, while others spend months and even years before they become full fledged members of the Google family. With a solid beta and a definite niche, the Google Mashup Editor looks likely to graduate very quickly indeed. All it really needs for success is the ability for you to include your applications on your own domain, with tools to simplify including them on your sites.

You can sign up for the beta here. ®