Brian Dunagan

November 3 2011
3 Lessons from Google Apps

I recently switched over to Google Apps at work, and one obvious move was migrating everyone to Google Talk/Jabber. Seemed easy enough. I was sure there would be a checkbox in the Domain Dashboard’s Settings for that. I just wanted every domain user to have everyone else show up in Gmail Chat, Google Talk, and Jabber. I eventually translated this goal into this search: “automatically invite and accept all shared contacts”. Nothing.

Google Apps does not provide that level of support for domain-based chat. The service doesn’t even let domain users see a list of the other domain users. The Google Apps Directory (analogous to Exchange’s global address list or GAL) is only available from search and auto-complete and from their API. (“Contact Sharing” is enabled by default.). Their Contacts app is just not as advanced as the rest of their awesome services. Which is fine. They do provide an API and an app store: Google Apps Marketplace. Marketplace has several highly-rated Contacts apps (like SherpaTools and Shared Gmail Contacts), and Jabber provides a mechanism to invite users. Problem solved.

Still, figuring all that out wasn’t fun. I read many help articles, forum posts, and API docs before I was able to map my problem onto Google’s solutions. Stepping back, here are three lessons to think about:

1 - Design Decisions

Google Apps is composed of apps and APIs. Ideally, both would be full-featured. Unfortunately, development resources are often far more finite than Product Managers and customers can bear. You have to prioritize some features (a full API) over others (a full Contacts app).

In this case, Google very clearly likes APIs. For years, Google Apps has provided an API for internal people (Domain Profiles) and for external people (Shared Contacts). While the Google Apps’ Shared Contacts UI needs a bit of love, the API and app store allows other companies to write third-party apps to solve this problem. I’m sure the Google Apps team is working on revising the contact manager, but they’re also busy shipping features like Google+ support.

Moreover, I could accomplish my goal. I enabled “Automatically accept chat invitations between users” under Settings/Chat (Premier only), and then I wrote a quick Ruby script to invite coworkers with Jabber:

Design decisions are choices. The Google Apps team chose a complete Contacts API over a full-featured Contacts app. Customers appreciate finite resources even less than Product Managers. The key is to keep them in the loop.

2 - Keep Communicating

Yes, there is a way to solve my chat invitation problem and to manage Shared Contacts. No, I didn’t know what I was looking for. Searching through Google Apps’ forum site, I found dozens of conversations about how woefully inadequate the contact manager was. Companies were resistant to switching from Exchange to Google Apps solely because they would miss so many nice contact management features. These thread span from mid-2009 to last week.

However, I didn’t find a single reply from a Google employee, pointing the thread in the right direction. Google Apps’ Help states their position plainly enough: “As an alternative to using the APIs, explore the Google Apps Marketplace for products that can help you manage Contacts through a user-friendly interface.” But all those customers need an official voice to guide them. The Google Apps team chose APIs over apps, but it hasn’t been telling anyone on its own forums. I only figured out what I should be searching for by reading those dozens of posts.

You might have a great service, a great API, great documentation, and great forums. But if you’re not in the forums, answering questions, pointing out documentation, how will your customers understand how to solve their problems? It’s your job to translate their problems into your solutions and to set expectations.

3 - Manage Expectations

Google Apps is an interesting service. It is a clear example of how difficult it is these days for corporate services to keep up with consumer ones, as Google is behind both of them. When Google+ debuted, a number of Google Apps customers were upset that the feature wasn’t immediately available on their Apps accounts as well. But Google Apps is a different service. It’s geared at businesses but used by a wide variety of people with wildly different expectations. The team needs to manage expectations better.

The Google Apps team is trying. In March 2011, they revealed their release schedule. Moreover, customers can now choose whether to get features immediately or on a scheduled cycle, and they can find out what’s next. Frankly, flipping through the schedules makes me appreciate how many services Google Apps covers now. Think about all those services they added a year ago. I bet it was a monumental task.

And yet, when I started my search for auto-invites for chat, I expected Contacts to be a full-featured app in the feature set, rather than a third-party tool. I resisted using the third-party tools, and it took me a bit to accept that the Google Apps team really wanted me to head in that direction, especially since they didn’t indicate it very clearly. My expectations were wrong.

Think about what expectations your customers have. Give them a forum to vent. You’ll quickly find out what they expect. Then do your best to manage those expectations.

EC2 SSH on the iPad with Panic Prompt Migrating JIRA to Bugzilla
LinkedIn GitHub Email