I'm thrilled to have all my calendars centrally located and synced after all these years, I really am. But there is one minor downside: email alarms.
To explain: let's say I have a calendar called "Birthdays" (which, in fact, I do). That calendar lives on a server (Google's, to be precise), and all my computers read and pull birthday information from it. Great. Just as it should be.
Now let's say my mom's birthday is coming, and I don't want to forget about it. So I add an alarm (or, what Google calls a "reminder") for the date — an email that will get sent 24 hours before Mom's big day. Now, a day before Mom's big day, Google's server will see the calendar alarm and send me an email reminding me of the upcoming big day. Awesome. Very handy!
Unfortunately, Google's server is not the only computer that's aware of the alarms.
As I said, all my other personal computers (or, "PCs," as their sometimes called) are aware of my Google calendars. I use iCal on my laptop, for instance, to subscribe to my Google-hosted Birthdays calendar. I do this on my work computer as well. And on my home tower. Each time one of these systems loads the Birthdays calendar it also loads the alarms. And, as one might (or might not!) expect, it acts on them. So each system that loads my Google calendars also sends out any alarms that have been set up. That means that I get no fewer than four emails reminding me of Mom's big day. And in my case, I send out two emails per birthday — a heads-up one day before, and then one on the day of the event. Do the math. That's a lot of emails.
Well, at least there's no danger of forgetting, I guess.
The good news is, there does seem to be a cure, though it might not work for everyone. iCal has two preferences that apply to this problem under its Advanced preference pane. They are: "Turn off all alarms" and "Turn off alarms only when iCal not open." The former will cause iCal to ignore all alarms. This is great if all your calendars are online (which mine are, luckily). But if you still have some local calendars with alarms, those alarms will not get sent. In that case, the latter may be a better choice as it will only stop alarms being sent when iCal is closed; open iCal and you should get your local alarms.
This could still be a problem for folks with a bigger mix of local and server-based calendars who really rely on local alarms, and in some ways it forces you to choose between one approach or the other. Ideally, iCal would offer a third option, something like "Disregard server-based alarms." But I'd say for the vast majority of users there's a solution here.
On a side note, this problem has been bugging me for a while. I discovered the fix during the writing of this article, and I'm pretty glad about it. It's just one more advantage to having your own blog. Shweet!
Reader augmentedfourth posts in the comments an option I'd totally forgotten about, namely that alarms for individual subscribed calendars can be disabled locally as well. Simply locate the calendar in the sidebar, select it and choose "Get Info" from the file menu (or hit command-i). In the dropdown you'll see an option to disable alarms for that calendar. Click it, and there you go.