If Google is on a quest to become the king of Web-based applications on the back of its search success, wooing more developers to its Google Data, or Gdata, protocol is a strategic part of that plan.
At the 2007 Google Developer Day in Sydney yesterday, the usually coy Google opened up to how its Web application services interact and how third-party developers can write applications to leverage Gdata.
During his presentation, Google data API team member Venuprakash Barathan, said the primary goal of the team is to be able to share information with applications outside of Google.
"To make that easier we need to have a consistent interface to all Google applications, Barathan said. "The Google Data API is all about providing a consistent interface to do that and it's not that easy."
Barathan said Google is already doing this for a wide range of services, like Blogger and Calendar, and developers want to be able access these services "programmatically".
"Why is it difficult to expose the data? We want a simple data protocol and it should be a data format that is easily understandable," he said, adding the other part involves a way to filter and query the information to solve the "once I get it what am I going to do with it?" question.
Develoopers can access Gdata from anywhere with specific languages like Java, .Net, PHP, and Python.
The Gdata API "recipe" uses the Atom publishing protocol with Google extensions which provides a data model for queries, concurrency, and authentication. This also allows for collaborative editing.
For example, applications can query a Google application's data feed with a search term, a category (tags), an update time, and with custom queries like a minimum and maximum row in a spreadsheet.
Updates to services are based on the Atom publishing protocol draft and can be used to create an entry, delete an entry, and update an entry.
For security, Google uses a custom authentication mechanism for its Web apps.
"All of your data is stored in Google services so when you get it you need to authenticate to the service," Barathan said.
The authentication for Web apps works by the app redirecting to the Google authentication service where it logs into Google, it redirects back to the app with an authentication token, and the Web app uses the token to proxy Gdata. All the time the password remains secure.
"This is a very Google specific authentication system and there is some speculation if it is right, but it does work well," Barathan said.
"Regardless of the service the mechanism to add and edit entries is the same," he said. "Gdata is a framework so you won't see the application, you will see implementations of it."
Google has also released open source client libraries in different languages.
Third-party applications using Gdata include tools for synchronizing calendar information, and online photo editing.