Clearing Hundreds of Duplicate Events from a Google Calendar

08Apr, 2011

The infinite loop gremlin strikes again! We deploy Google Apps for many of our clients. One of the big reasons we push it, is because without any extra servers, services, or expensive add-ons, it will sync email, contacts, and calendars beautifully with virtually any mobile device. iPhone, Android, or Blackberry, your Google Apps data will sync everywhere!

However, there exist a few pitfalls that can lead to circular syncing. The best way to configure a Blackberry for Google Apps is via Google’s Apps… one for mail, the other for syncing contacts and calendars.

The alternative is to configure an account the way you would any other on the blackberry, by going to email setup in the “setup” folder. When adding a new account, there is an option to add a Gmail account. You enter your gmail login and password, and you’ll be presented with synchronization options (contacts and calendars are checked by default).

In the case of this client, the Google Sync App was already installed an running, but someone turned on the built-in sync for the Google Account as well… so every event that Google Sync downloaded, was re-uploaded to the user’s calendar immediately, creating a duplicate. Google Sync saw a new event, and created a new one on the blackberry, and the cycle continues. The user ends up with hundreds of duplicates of the same event.

How did we fix it? You can’t bulk delete events using the web-based Google Calendar interface. There are a number of apps for blackberry that can get rid of duplicates, and there are even some cloud apps for Gmail that will get rid of duplicates using just your gmail login. We took a different approach, and decided to use Outlook.

Google Apps sync for Outlook allows users to use the familiar interface of Microsoft Outlook, but behind the scene’s everything is synced with their Google Apps account. We knew that we could see events in Outlook in a list view, select multiple events, and delete them with a single keystroke.

It was still a manual process, but was a lot faster than trying to delete items one by one. We didn’t lose any data, and the client didn’t have to rebuild her calendar from scratch.