I frequently get emails containing iCal .ics files from my colleagues to schedule meetings. In a perfect world, I’d double click the .ics and have it show up on my Outlook calendar. But as many of you know, Outlook and iCal don’t play nice and Outlook throws an error. iCal uses the Time Zone component defined in the iCalendar specification and Outlook doesn’t. Outlook uses GMT only.

I’m thinking about writing a small application to modify the .ics. It will parse the file removing or modifying any parameters Outlook finds offensive and also update the date and times to GMT. This is not a robust solution but it’s easy for me to implement.

Currently, I’ve been manually modifying the .ics files by opening the .ics in a text editor and removing the TZID parameters from DTSTART and DTEND components:
DTSTART;TZID=US/Pacific:20051103T110000
becomes
DTSTART:20051103T110000
This works because most of my colleagues are in California but if our Paris office sends an .ics then the time is wrong.

Before I code the app, are there any Outlook plugins or other tools that will solve this iCal .ics incompatibility in a more seamless manner? Perhaps patch for Outlook?

If there are, I haven’t found them. Here are some resources listed on Wikipedia for those looking for more information.

I’ve done some quick research on how to modify the iCal .ics so it works in Outlook and here are the steps I’m considering for my “ics Converter”:

In Mac .ics file:
1. Find BEGIN:VEVENT. Ignore everything before this tag.
2. Find DTSTART. e.g. DTSTART;TZID=US/Pacific:20051103T110000
3. Get TZID. e.g. US/Pacific
4. Get datetime string. e.g. 20051103T110000
5. Convert 3 and 4 to GMT datetime that Outlook likes. e.g. 20051103T190000Z
6. Replace DTSTART line with new DTSTART. e.g. DTSTART:20051103T030000Z
7. Do the same for DTEND

Again, is there a better way to solve this issue?

In 2000 and 2001, Michelle and I took a trip around the world. Being a total geek, I took my handheld GPS and took coordinates at every place we slept. I thought, "I'll overlay the coordinates on a map when we return. It will be the coolest map in the world..." But back then creating a digital map was a little too time consuming.

But today I was reading through Chad Dickerson's Berkeley-area doctors map mashup and I said to myself "Charlie, you have the data. Make the map." And I did...

First, I took a look at the Yahoo! Maps API but so far on the USA is supported. Then I checked the Google Maps API and bingo. I was up and running in about 30 minutes. The only problem I had was with IE aborting the page. But executing the map's JavaScript at window.onload solved the issue. View the source to see the solution.

The small version of the map is below or the full page version is here.

Zoom in on Nepal. That's the Annapurna basecamp trek we took.

« Previous Page