syncMess

As an owner of a brand new Palm Pre, I recently got exposed to the vagaries of trying to import my Facebook Calendar into my Pre. It’s not as easy as it should be and the fault lies with Facebook and with Palm. While we’re waiting to sort things out, I’ve written a little application, along with the post, to help myself and others out of this pickle

The start of the problem is with Facebook. When you opt to export your Events, Facebook provides you with a URL pointing to an iCalendar file. This contains all the details of your upcoming events. However, what it does not contain (and this is critical) is any timezone information. When you access Facebook normally, it knows what timezone you are in from you computer’s clock and shows events at the according time. This is known as using a ‘floating’ timezone and makes things a lot easier on the FB backend.

However, when you import this iCalendar file into another calendar application, it has no idea what timezone the file represents. Some applications will assume it is your local timezone. Others (especially web applications) may assume that the timezone is GMT. Unless you live in the UK, or other GMT countries, you’re going to see an offset for all of your events.

How does this play into the Pre? Well, I live in Austin, which is in the Central timezone. When I imported my Facebook events, they were off by two hours. After some investigation, I came across this theory, that I find the most compelling: My Pre is synchronised with my FB events via a server at Palm, in the Pacific timezone. Facebook ‘floats’ my events to match the PST timezone. As a result, when they appear in my Pre, they are off by two hours.

So, I though to myself, why not import my FB Events into my Google calendar and use that as my primary calendar. Well, Google has other ideas. It sees an iCalendar file without a time zone, assumes GMT and so shifts all of my events by 6 hours.

As a result, I’ve made this app. Just provide the URL to your Facebook Events Export, set your timezone and give the new calendar a name. A new URL will be generated, which you can then pass to Google Calendars. Within an hour or so, Google will import your events and keep them updated.

You can then sync your Pre (or other PDAs) with your Google Calendar and, hey presto, there are your events.

This process doesn’t add any functionality to the calendar; it just sets to timezone correctly. Any delays in synching will come from the delay of Google synching with Facebook and your Pre synching with Google. My filter adds no significant time overhead at all.

This functionality is provided to you all free of charge. All I ask is that you add comments and suggestions. I’m happy to tweak this and respond to error reports.

17 Responses to “How to import Facebook events without timezone issues”

  • Megan Walker says:

    Ok, this one I get, and I like! :) You are too clever Danaroo x

  • Hello Dan,
    Just to tell that this is something we just added to fbcal.com too, because not everybody on Facebook is in the same timezone ;-)
    If the user doesn’t need anything special he just click on the button equivalent to his Calendar application.
    If the user is a Google Calendar user and he needs the apply a new timezone to his fbCal feed, he just needs to change his timezone in the drop down menu and hit the same button again.

    Pay attention that with Google Calendar, it can take several hours for your calendar to be displayed correctly.

  • Erik says:

    Thank you Dan! this is a wonderful app, just what I need!

  • Kosha says:

    Hi Dan!

    Your app seems great, but after I put in my timezone and name, and hit generate, nothing happens!

    Help!

    Thanks,
    Kosha

  • dancrumb says:

    Kosha,

    Are you saying that a URL does *not* appear at the bottom of that page? What browser are you using?

    Dan

  • Wilfred says:

    OK, but the final link shows http://www.danrumney.com…..etc

    Seems like it links to you?

  • dancrumb says:

    It does link to this server, yes.

    That’s because it’s my server providing the necessary functionality.

  • Mark says:

    Thanks! It works great for me just as described. Instant sync as soon as I imported the calendar. I’m not entirely clear from your description that it will sync new events as they’re added, but I get the impression that’s how it will work.

  • JazJon says:

    Wow thanks, I was about to give up until I found your fix. You rock !

  • Thanks – I’m glad I didn’t have to dig too much to figure this bug out. ;)

    The larger problem, though, is that the automatic synchronization with the Facebook calendar can’t be fixed this way. Anyone figured that one out? I guess the Q&D way would be to patch the Calendar app to apply the difference between PST/PDT and your current timezone to these events (since you can’t edit them via the Calendar app). I’ll post back if I end up doing that (if it’s even possible…).

    Thanks again!

  • Hello Dan,
    A simple word to tell you that we fixed this problem to in fbcal. In your http://www.fbcal.com page, just select the timezone you are in and subscribe to your calendar. For all the users, this option is for Google Calendar users only ;-)

  • max says:

    Great idea!

    Was working wonderful, but now i start to miss some Events, any idea why? fbcal.com has problems with some of the characters, maybe a encoding problem? Or is facebook changing something and it is simply only showing “old” events?

    Would love to have this working again!
    Thanks again!

  • AnthonyK says:

    Thanks Dan, works great for m

  • kelly says:

    this is not working, it won’t generate the code for me. What am I doing wrong? I am using the new explorer, tried it in aol too. thoughts?

  • dancrumb says:

    Hi Kelly,

    Can you tell me exactly what URL you’re putting in?

    Dan

  • dancrumb says:

    Sorry kelly,

    When I navigate to that URL, I see:

    Sorry, this URL is invalid or has expired.

    Must be a problem at the Facebook end of things

Leave a Reply