Sunday, April 16, 2006

Google Calendar

From my childhood, one of the things I most remember from my grandparent's place is my grandmother's calendar proudly displayed on the wall. It wasn't bought for the dozen pictures of dogs, the seashore or southern historical places, but for how much room it allowed for making notes. This document coupled with the family Bible would give one plenty of information about our family. See, every year my grandmother meticulously entered in every family member's birthday in ink and any in-laws, for the first few years or until she liked you, in pencil. Thankfully something she still does to this today for 5 generations of family.

Like a lot of people, I learned to make better use of a calendar over the years. Actually that hasn't always been entirely true. Having a good memory for numbers and dates, I walk around with lots of them just jammed in my head. All through college, I not only kept up with my own schedule, but those of dozens of friends and fraternity brothers, meetings for various organizations, social events and of course birthdays. The latter of these, I still seem to be the keeper of for many of my friends.

Sure I have made several attempts at using physical ones with very little luck. Wall calendars I haven't loved because I continuously take it down to make notes on it. My issue with desk calendars is that I don't like to rip off each day's page and throw it away. So the few years that I attempted to use a Dilbert or Peanuts one, I ended up on December 31st with 364 days bound together with a large black binder clip. Oh, and desk blotters just get covered with short notes and numbers whenever a notepad or a post-it note is just too much.

I have had a few jobs, like my current one, that uses Microsoft Outlook to track every meeting or appointment. This is fine for work, but I found not very practical for my personal use since I prefer to use Eudora for my email client. Then in 1999, when PDAs were all the rave, I got a Palm VII and thought that finally my portability issues had been answered, and for a couple of years they were. Eventually, not wanting to drag one more device around with me, I stopped carrying it with me all the time. One good thing I got out of this was that now a lot of my important re-occurring dates were in digital format and could be ported over to an online calendar like Yahoo Calendar or even my iPod. But I haven't been thrilled with either's interface and just don't access them enough.

Having been an avid user and proponent of some of Google's services like Gmail, Talk and Maps, I was excited to hear that they were finally releasing their Calendar. Given that I use Gmail more often than Eudora these days, having another service that will be integrated with it is a slam dunk for me. Mind you, I don't think Google has gotten everything correct right out of the gate, namely their lack luster release of Google Video, which really did deserve the "beta" stamp. But I was cautiously optimistic all the same and decided to devote some time exploring it.

At first glance, Google Calendar looks very slick and user friendly. It offers the typical day, week and monthly views as well as an agenda of all upcoming dates. There is another option that is initially set to "Next 4 Days" and initially seemed a bit unnecessary for me. But a little digging and I found that this is a custom view that can be changed on the Calendar Settings page. On the left, they offer a quick month overview with dates bolded if they hold an event. Below that is a list of your calendars which you can quickly toggle on and off and color code. Adding a list of US Holidays was just 3 clicks away. Feeling a bit excited at this point, I went about adding a calendar for birthdays. This only required me to enter a "Calendar Name" to get started, but offered up more information such as a description, location, time zone, sharing level and the ability to allow specific people to view and edit different levels of information.

So I went about entering in a few dates by hand. In the day or week view, you can highlight a block of time and a window will pop-up allowing the user to enter in what the event was and assign it to a single calendar. The same occurs on the month view, but without the time already filled in. If I wanted to enter more details, they offer an option for "edit event details" to do just that. This is the same page you are presented with when clicking the "Create Event" link in the upper left-hand corner. Here you can mark if the event is repeating or not, exactly what i needed for entering my birthdays, a reminder for the event, as well as privacy settings. Another really nice part about the edit details screen is that you can add a list of guests to your event. Before now, this was something that my friends and I relied on Evite for. This can become a very cool and unexpected feature and something I look forward to giving a shot with for the next birthday dinner.

At the bottom of the left-hand calendars box, in tiny text, is a link to "Manage Calendars." Clicking it gives me the ability to modify some general settings like my time zone, date & time format, default view, the previously mentioned custom view time period, and how events are added to my calendar from other people. Another tab here, "Calendars", allows me to add, edit and delete calendars. The next tab is "Notifications" and may be one of my favorite features so far. Here I can choose how I want to be reminded of events and invitations as well as receive a daily agenda. These reminders can be a combination of email, SMS or pop-up. Also on this tab is the option to enter in my cell phone number and carrier to receive the SMS notifications. For entering in my birthdays, the last tab, "Import Calendar", was what I was looking for. Here Google has covered the top 3 applications, Microsoft Outlook Calendar, Apple iCal and Yahoo Calendar. Given mine was in my Palm Calendar, I had to do a little legwork if I wanted to test this feature and hopefully cut some entry time. A quick export to a .csv file, import that into Outlook, and then export that back out into their pre-defined fields and I was ready to go. The import process was quick and for some reason only took about a third of my dates. Since Google is already taking a .csv file, it would have been nice to have an option of mapping my data to their fields directly and skipping the middle man. Having written something similar, to map fields from a text file to those in an online address book, though not for everyone, maybe something that they will offer in the near future given the relative ease to implement.

The last feature that I want to mention, and probably by far the most useful, is the "Quick Add" in the upper left-hand corner. Clicking on it pops-up a box where you can enter, in relative natural language, an event. For example, I typed in "Dinner at Buca di Beppo at
6:30pm on Wednesday", hit enter and the event was correctly added to my main calendar. This only scheduled me for an hour, so I tried "Horseback Riding at Sunset Ranch from 4pm to 10:30pm next Sunday" and it got the date and the time range correct as well as the location with a link to Google Maps. Like with their maps, I will be interested to see how other programmers will use the Calendar API when it becomes available.

All-in-all I am pretty impressed with Google Calendar and look forward to seeing how well it interacts with those from my friends and family. After entering in all of the birthdays for my friends, I shared it with a friend of mine to test it out. I got back a pretty quick response of "you devil, you. you knew i needed that noise didn't ya." So at least that is one more person who knows today is Mike's birthday other than me. Now the next time I visit my grandparents, I will have to take some snapshots of their calendar, enter in all of my family’s birthdates on a separate calendar to share with them and carry on the tradition of keeping and preserving my grandmother's efforts.