views:

212

answers:

1

If you were building an application that tracked event data, how would you push that event data out so it could be on people's personal calendars and smartphones?

My thought was to create an .ics file and subscribe to it via Google Calendar, Outlook, Exchange, etc. But they appear to subscribe to a "snapshot" of the file, and don't consistently check the file for updates. If I want the updates to happen in near real-time, is there a better way to push out that calendar data than the .ics iCalendar format?

We use Exchange here at my company, and so when I create an event on any of my calendars (via Outlook, Entourage, or my iPhone, all connected to my Exchange user account), the event appears on all 3 applications in under 1 minute.

Is there a way to push event data to the Exchange server from my database in a similar way?

+1  A: 

Since you are using Exchange already, perhaps you could whip up an Exchange Activesync appointment request; it is essentially XML over HTTPS. This limits you to clients that speak EAS but I'm not sure that is outside the requirements - most every 'smartphone' OS seems to support EAS now.

If I were developing this, I would be concerned that anything less than EAS would be too reliant on the end-user's configuration; non-push protocols aren't designed to be real-time. Personal calendars are an issue with using EAS (not sure whether iCal etc. can support it) but depending on the application I'm not sure how many people are using only PC-locked calendars anymore, anyway.

http://msdn.microsoft.com/en-us/library/dd299440%28EXCHG.80%29.aspx

Tim Crone