Thursday, May 04, 2006
Google Calendar - Causing Ripples, Creating Waves
As a mild cricket obsessive I put together the World Cricket calendar so I'd never miss a test match. Of course, there are others for whom cricket is not just a casual obsession. Will (of the Corridor of Uncertainty and CricInfo), soon got in touch -- why? County cricket. Will has to track the English domestic competition and hand copy-pasting 400 fixture entries is a Bad Thing.
Enter the Calendar API. Now Will, and the rest of you English cricket fans, have calendars for the County Championship and Pro40.
But it's Will's desire for these calendars that illustrates the real potential for Google Calendar.
It's the social aspect that will make it the next killer business app. Why? The calendar has become a way of transferring information, rather than simply storing it -- Would you leave your email unchecked for a few days?? With sharing and copying events, Google has presented a tool perfect for professional scheduling.
Let's take the County Cricket Championship. As well as fans, there are hundreds of people interested in this schedule professionally. The teams, and players, sports reporters and match commentators, venue management -- even bloggers. Each of them has a particular interest in all or some these matches. The web interface is powerful enough for individuals with special interest in some of the matches. Players, commentators, and bloggers can easily copy a match to their own calendar in order to set reminders and include more specific details. But what about bigger groups?
The calendar API is a powerful option. A sports media outlet can read the County Cricket calendar using the API, and create an invitation-only copy for their organization -- using that copy to assign reporters to matches and discuss the pre-post game in the provided event forum. Plus, by using the API, they can update the entries programatically -- so if an event time or place changes in the public calendar, it can be reflected in their internal calendar without manually adjusting it.
Or we can flip it around. I use invite-only calendars to schedule software projects for the members of my dev teams. I also maintain a calendar for clients and management that is limited to project milestones and release dates for all our products. Using the calendar API I only need to update the internal schedule and the management and client calendars can be updated automatically.
The power of this calendar is a 'ripple effect'. I start by updating a private work schedule for my team, this automatically effects the release schedule we share with clients, who automatically change their deployment schedule. Meanwhile, my girlfriend sees the release slip and knows I'll be working next weekend, so she changes the date of our dinner party. Which means Paul can now watch the Test match live.
Suddenly the calendar isn't just reminding me of something I should already now, it's providing new information that I need to know. You gotta love ripples.