The importance of interoperability

When a colleague asked me today if I knew any way of converting XML to CSV, I was up for the challenge. It turned out that all she wanted to do was import event information into Google Calendar from Groove. Simple, right?

Google liking to follow standards, they allow you to import iCal feeds and even let you import CSV files from Outlook (because that's presumably the main userbase and Outlook doesn't export iCal). But try to import the XML export from Groove, and it tells you - rightly - that it's broken and it can't understand it. Admittedly it's not a format that Google says it can import, but from looking at the file, it does look very broken.

Why have an export facility in Groove that allows you to "export Calendar events for importing into another Calendar tool" when it exports in some propietary format that no other programs read? Just because it's XML doesn't necessarily mean it's interoperable. Groove doesn't even let you export as old-school CSV.

In the end it took the enabling of the "publish all events to Outlook" option, then going into Outlook to export the CSV, and only then is there a usable file that we can import into Google Calendar. It shouldn't be that difficult, should it?

I'm glad Drupal supports iCal - even if it doesn't allow for imports yet. With node_import, it at the very least allows imports of CSV calendar files.