Note: There's a new Google Apps Marketplace experience! Beginning November 19, 2013, new listings may only be created using the new version: existing developers may need to create a new Chrome Web Store account to publish new listings. Refer to the new documentation for more information.
This document contains suggestions and examples showing how integration with Google Apps can provide a great user experience. It is intended for developers creating an application developed for the Google Apps Marketplace or an in-house application using the Google Apps extensions console. We hope it inspires you to find interesting ways to make your own application even more enticing to buyers and effective for users.
We built the Google Apps Marketplace to make it easy for Google Apps customers to find applications that work well together with Google Apps and each other. The depth and quality of a Marketplace app's integration with Google Apps is a key factor in both the user experience and vendor success in the Marketplace.
By the same token, we've built the Google Apps Console so Google Apps customers' in-house applications are first-class citizens inside of the Google Apps suite. Deft integration makes users happy, because it helps them avoid entering duplicate data and makes useful information accessible from their day-to-day communication and collaboration tools.
- Setup and Provisioning
- Collaboration & Document Sharing
- Information in Context
Setup and Provisioning
Help users save keystrokes: streamline signup forms
Applications can use OpenID both to authenticate a user and to request user information to pre-populate registration forms or even skip them entirely. OpenID supports extensions for retrieving basic user profile information. Google's OpenID provider supports both the Simple Registration and Attribute Exchange extensions. Applications can request the user's first and last names, email address, language, and country code.
Help users get started fast: avoid verification emails
A common technique for verifying ownership of an email address is to send an email to the user that requires clicking a link to verify receipt. Marketplace applications can get verified email addresses without this time-consuming step. With the Attribute Exchange extension to OpenID, you can retrieve the user's name and email address—but take care: just as when a user enters data in a form, the information should not be taken at face value without verification. However, in most cases, a Marketplace application can leverage the fact that Google has already done the verification. By checking the OpenID endpoint to make sure it is a trusted provider like Google, Yahoo, or another reputable provider, you can trust that the user's email address is valid. If this check reveals an unknown OpenID provider, use a traditional technique such as verification email.
Make sure users know about your app: help administrators send notifications
You can help domain administrators introduce a new or updated Marketplace application by sending out emails to domain members on the administrator's behalf. You can get the list of users in a domain with the Provisioning API, then use the list to allow the domain administrator to select which users, if any, should be notified. A few tips:
- Don't spam users! Send email only if the domain adminstrator consents.
- Let the domain administrator review and edit notices before they are sent.
Help administrators manage licenses and roles: import users & groups from Google Apps
A Marketplace application can use the Provisioning API to get a list of users and groups in a domain. Automatically retreiving this information on behalf of the administrator can speed up the process of configuring the application. Instead of manually entering user information, the administrator can quickly check off which users or groups should have access to the application.
Collaboration & Document Sharing
Make it easy for groups to work together: keep a team-oriented mindset
Google Apps is a collaboration and communication suite for businesses and other organizations, and one of its main goals is to make it easy for team members to work together and share data. Users expect the same from Marketplace applications. Some helpful tips:
- Remember that with Google Apps, the organization, rather than any individual user, owns the data and manages user accounts. This is an important concept for ensuring continued access to data as roles change over time.
- To manage associations to an organization, consider using the Provisioning API to keep track of users in the domain. Ad-hoc association of a user to an organization can be done using the domain name of the user's verified email address.
Make sharing and collaboration easier: sync with contacts
Integration with the Contacts API is a great way to save users time every day. It's a feature users are already accustomed to in Google Apps, and little time savers like this add up quickly! Just about any application that allows users to collaborate and share information with one another can benefit.
Google Apps can also serve as a hub for ensuring data is available to all applications. Marketplace applications that manage customer and partner relationships can provide additional benefit to users by syncing data to Google Apps so it can be used wherever and whenever the user needs it.
Save users upload time: use Docs for attachments in your app
Many Google Apps domains use Google Docs for editing and storing documents and spreadsheets. If your application allows users to upload common document types, you can save users time by allowing them to upload directly from Google Apps. With the Drive API, you can find and download documents stored in Google Docs.
Make searching & sharing easier: use Google Apps as your document repository
Using the Drive API, applications can take full advantage of the storage provided as part of Google Apps. Storing documents in Google Apps makes it easier for users to search for important information and share with team members.
Help users work with structured data: import & export spreadsheets
Spreadsheets are used for everything from project management to mailing lists to sales and financial analysis, and users want to be able to share and migrate this data. Importing spreadsheets into your application is a great way to help customers migrate from a generic spreadsheet to a specialized tool, or provide data for an analysis and reporting tool. Users will also appreciate having a way to export data from your application to their existing spreadsheets. You can access data from spreadsheets with the Drive API and the Spreadsheets API.
Information in Context
Simplify the user's day: make common tasks accessible from Gmail and Calendar
Most Google Apps users spend a lot of time in Gmail and Calendar. By using gadgets, applications can be embedded directly in Gmail, Calendar, and other OpenSocial containers. This gives users direct access to the tasks and information they need most often without having to switch between tabs or browsers.
Help users make better decisions: enhance email with related information
Users make critical decisions when reading and replying to emails. Gmail contextual gadgets can bring important information directly into email when it is needed, based on the content of the email itself. This is a powerful tool for bridging between email and CRM, sales support, and social marketing tools. It can also be used to speed workflow for expense approval and other common tasks.
Enable Google Apps users to login directly from your site
Applications integrating with Google Apps can all be accessed by users from Google's universal navigation bar, which is available at the top of Gmail, Calendar, Docs, etc. However, many users will also visit the application directly and would like to be able to login with their Google Apps account. You can enable this through a simple Google Apps login button, and then ask the user for their e-mail address or Google Apps domain name to begin the OpenID discovery process.