Google Apps Developer Blog: SlideRocket completes Google Apps Marketplace integration in just a few daysEditor's Note: Mitch Grasso is CTO at SlideRocket. We invited SlideRocket to share their experience integrating the Google Apps APIs for the Marketplace.
We at SlideRocket were very excited to take part in the launch of the new Google Apps Marketplace. We've always seen the value for our customers in providing integration with the Google platform—for example, in SlideRocket you could already load your Google contacts when inviting others to view your presentation, as well as link a table to a Google Docs spreadsheet. The new Google Apps Marketplace made it simple to leverage Google's existing set of extensive data API's to take SlideRocket's integration with Google to a new level for the millions of people already using Google Apps. The best part was that we were able to complete our initial integration for the Marketplace in only a few days thanks to the straightforward platform Google has built using various open standards.
The first and most pivotal step was setting up SlideRocket to work with Google's Federated Login using OpenID. Without the single sign-on capability of Federated Login, the rest of the integration wouldn't work. A key part of the login integration is making sure that Google Apps administrators have control over which of their Apps users have SlideRocket accounts. We accomplished this using the Google Provisioning API, which allowed us to make a small application for administrators to see a list of users in their domain, and check which ones should have SlideRocket accounts.
Fortunately, not only does Google Federated Login provide simple one-click login from Google Apps so that customers don't need a separate SlideRocket user name and password, but it also allows SlideRocket to utilize 2-Legged OAuth to integrate Google Apps users' data into the SlideRocket workflow. This provides the best user experience, because once the Google Apps administration as added SlideRocket as an application, we no longer need to prompt the users for additional permission or confirmation—the integration is seamless from the user's perspective.
Now that the users could easily sign in, it was time to integrate their contacts and Google Docs into SlideRocket. Our existing Google contact integration allowed users to login to their Google account using AuthSub and allow SlideRocket to access their contacts. We left this functionality in place for our existing customers, but for Google Apps users, we now utilize OAuth to automatically load their Google contacts—with no additional work for the user.
Similarly, we expanded our existing Google spreadsheet import functionality for Google Apps users, without having to change it for our existing customers. Existing SlideRocket customers can still paste a link to a published Google spreadsheet and have it imported into a table, but now Google Apps users in SlideRocket will see a list of all of the spreadsheets in their Google Docs account and can easily choose the source for their table. This was easily accomplished on our end using the Google Documents List API. We even expanded this functionality to allow all users—existing customers and Google Apps users—to import a Google spreadsheet directly as a chart or graph in SlideRocket.
We also leveraged the Google Documents List API to allow users to import their Google presentations into SlideRocket, so that they can spice them up a little with some animations, 3D transitions, video, and Flash content. Since the Documents List API provides all of this functionality, we were able to extensively reuse code for tables, charts, and presentations, thereby minimizing the resources required for our integration into the Google Apps Marketplace.
Finally, we are now beginning to use the Google Apps Licensing API so that we are able to view and monitor which Google Apps companies have added SlideRocket to their suite of apps. Although the licensing API is still in Labs, it's provided us a great start towards keeping our Google Apps users properly integrated with our billing system.
It was amazing how quickly we were able to build such a compelling integration for Google Apps and we've just scratched the surface of all the possibilities the dozens of Google Data API's can provide. The best part is that Google has wisely chosen to build upon existing standards like OpenID, OAuth, and AtomPub. This means that none of the resources we invested in learning these technologies and writing integration code is restricted to any one partner—we can reuse what we've gained with other standards-compliant partners in the future.
Author: Mitch Grasso is CTO at SlideRocket