Calendaring and scheduling are becoming the things of open standards, web services, and p2p ad-hoc networks, however Outlook users are still locked into their propietary, vertically locked down world; we need an open source solution for extracting information from Outlook as the first step to an open Outlook sync platform.

The Possibility

iCalendar has left the Ivory Tower and is flourishing in the wild. Interesting calendar/scheduling apps are: popping up on the desktop (Mozilla calendar, Evolution), on the Web (Kronolith), new exciting projects are on the way (Reefknot, Chandler), and a future of calendars that chatter among themselves, adapt, and follow you from desktop, to device, to web, are within grasp. Apple has built a Sync framework as a core freature of its operating system (and promised support for the SyncML standard), Multisync (and related projects) are promising similiar exciting possibilities for Linux. ### The Problem

However all is not well in this brave new future. A very large contingent is locked out, still laboring in ball and chain environs of the proprietary Outlook/Exchange world where the challenges to collaboration are steep, and the few who scale then (Pumatech) charge dearly for their services. ### A Solution

What we need is an open source solution for extracting information from Outlook as the first step in an open outlook sync solution. ### An Exploration

I booted my laptop into Windows for the first time in a year last Friday, and and went about trying to see what might be involved in programmatically extracting event infromation from Outlook and dumping it as iCalendar file (.ics). And I decided that perhaps I’m not the person most qualified to take on this project. I am a stranger in a very strange land and I most definitely do not speak the language. I didn’t even make it as far as firing up a “COM browser” and playing with “OLE”, as I had immense trouble merely getting Outlook to launch, and IE to behave, and the MSDN library to give up its secrets.

Promising Leads

I did find something out though. Its a very possible project. MS doesn’t much believe in protocols, or exposing its datastores in any sort of coherent manner, or decomposing its applications into programatic libraries distinct from the GUI. It doesn’t do anything so rationale. But what it does do its make all of its applications very scriptable. And this would seem to be angle to take when attacking this problem. Some specific resources I found when looking at coding something up in Perl (perhaps not the best language for the task, but it seems neccessary for the sucess of the project to get an implementation other then in VB)

So thats my LazyWeb request, libraries, preferably in Python, Perl, PHP, C, or Java, for extracting information from Outlook and dumping it into standard formats. From there the rest is easy, and our Outlook using kin has been brought back into the fold of the modern century.