Connecting to Google Apps inside and out
This post is part of the Who's
@ Google I/O, a series of blog posts that give a closer look at developers who'll be
speaking or demoing at Google
I/O. This guest post is written by Jeremy Glassenberg from Box.net, who will be
demoing as part of the Developer
Sandbox.Google's rich platform for developers is
matched only by its variety of innovative web services. So when working with Google APIs, why
use only one or two Google services?
When launching with the
Google Apps Marketplace in
March,
Box.net could see opportunities in connecting
with Google services across the board, from sharing files in Gmail to enhancing collaboration
in Google Sites. But how could we connect to half a dozen different services, while making the
interaction with a partner completely seamless and easy to use?
Luckily, for those who want to go all-out on the Google platform, Google's diverse APIs
provide what you need to code efficiently, and organized to connect everything in a way that
makes sense. Here is what we’ve found helpful to help you optimize your development
experience:
1. Standards across APIsBy leveraging
Google's support for
the OpenID and Oauth protocols, we can not only connect Google users to access Box.net easily,
but also to make all features of Google accessible from Box. This way, when Google Apps
accounts connect to Box, we can automatically connect users to Google Docs, Google Sites,
Google Calendar and Gmail through the magic of a secure, centralized single sign-on
process.
2. APIs and Gadgets make for a seamless
integrationWe wanted to make it easy for users to access
services like Gmail and Google Docs from within Box. With our
OpenBox Developer Platform, we could make those
Google services accessible through our simple file menu. Users could right-click on a file,
and choose to "Share in Gmail", "Edit with Google Docs", etc. But we wanted to go even
further, and integrate "inside and out" - making Google accessible in Box, and Box accessible
in Google's services. This was made possible with
Google Gadgets.
By adjusting gadgets we made for OpenSocial partners such as LinkedIn, we could easily
create Box.net gadgets that also work with iGoogle, Google Sites, and even Gmail Labs and
Google Calendar Labs. These "Box.net inside Google" gadgets became surprisingly popular among
new users.
We even found it possible to connect Google services
together more deeply through these two-way integrations. By making our OpenBox features
available in our Google Gadgets, our users could edit a document from Box in Google Docs, or
share a file into Google Sites, from within the Gmail sidebar.
3. Focus on user experienceWith multiple
connections to Google services in Box, and the placement of Box.net inside four Google
services via Google Gadgets, this became an exciting engineering project. But we couldn't
forget that everything needed to work in a straightforward, easy-to-use manner for businesses
in Google Apps. Luckily, Google Apps' design and installation process for the Marketplace
helps to bring just about everything together for the user.
The
installation process enables you to obtain the OpenID information for a Google Apps
administrator, access rights to various Google APIs, and connect users in the same Google Apps
domains automatically. This sounds great for your code, but pay attention to the user
experience. Google Apps administrators need to understand what they're about to make
accessible to their users. Sub-users of the Apps account need to be able to sign up easily as
well.
Users and administrators will also want to choose which services
to use. In our case, some users wanted to edit Google Docs in Box.net, while others just want
to access Box.net from within Gmail or Google Sites. Thus, just like within Google Apps'
administrative console, Box.net made individual components easy to enable and disable. We also
provided detailed instructions for adding and using each piece of the integration.
---
At Box, we look forward to continuing work with
Google, integrating even more deeply as Box.net and Google both expand our platforms.
Posted by
Jeremy Glassenberg, Platform Manage at Box.net