Verizon xv6700 & calendaring

I got an xv6700 last week, trying to rid myself of the extra bulk of my palmpilot. The xv6700 is not too large, but has a nice large screen and a usefully sized keyboard. Plus its a full Windows CE 5.0 device, so I'll start writing apps for it as soon as i figure out how to unlock it for development.

In the meantime, my primary concern has been calendaring. That's been a pet peeve of mine for a while. I want to be able to setup meetings with people outside the boundaries of my personal calendaring program, but all the solutions used to be isolated to their servers. With iCal becoming widely accepted that's finally gone away. I can invite people that have an iCal product (zimbra, google, etc.) from the exchange server at work and vice versa and everything is happy.

However syncing to mobile still sucked, so my palm pilot and my online calendars were constantly out of sync. Switching to the xv6700 I hope to change that.

Now if I ran Exchange for personal use, all problems would be solved, but I don't. I'm currently playing with zimbra for personal use and there is still a use case that fails:

  • Creating a calendar event in zimbra and invite yourself: Mobile outlook picks it up and puts it in the calendar
  • Getting invited from someone using Exchange: Mobile outlook picks it up and puts it in the calendar
  • Creating a calendar event on the phone and inviting someone using exchange: They receive the invite and it goes into their exchange calendar
  • Creating a calendar event on the phone and inviting myself: Zimbra (or google) does not recognize the attached file

However inviting someone from exchange that uses zimbra works. So Mobile Outlook uses a different calendar file format, it would seem.. Annoying. However that still means that the only time I'm out of sync is when I create a new event on the phone. I can live with that for now.

Here's what google sees from the different type of invites:

Invite from Zimbra

Content-Type: text/calendar; name=meeting.ics; method=REQUEST; charset=utf-8
Content-Transfer-Encoding: 7bit

Invite from Exchange

Content-class: urn:content-classes:calendarmessage
Content-Type: text/calendar;
 name="meeting.ics";
 method=REQUEST
Content-Transfer-Encoding: 8bit

Invite from xv6700

Content-Type: application/ms-tnef
Content-Transfer-Encoding: base64
X-MS-Has-Attach:
X-MS-TNEF-Correlator: 221hvc0sdpi5
Content-Disposition: attachment

It would appear that at the very least, Mobile outlook doesn't set up the invite as an .ics, but instead uses MAPI and sends it as a TNEF file. So Exchange will send things out in a portable format, but Mobile Outlook won't. Pity. Can't find any options to change that behavior either.