MobileMe Calendar BetaTweet
Tuesday, October 05, 2010
We've had some questions about the MobileMe Calendar Beta and how it works with Curio.
Note that if you simply want Curio to iCal syncing and you don't care about MobileMe calendar syncing then you don't need to worry about any of this. This blog posting is only for those that sync their iCal calendars with MobileMe and would like to use the new MobileMe Calendar Beta.
For those that haven't heard the news, Apple's MobileMe service now supports a new, improved Calendar web application. It's quite slick and has lots of very cool features. While the service is still in beta it's a wonderful improvement over the existing MobileMe Calendar.
However, it also adds some problems. Third party developers such as Zengobi, MarkSpace, SpanningSync, BusyCal, and OmniGroup among others were a bit surprised to learn that the iCal sync features in their shipping apps were suddenly not working correctly.
The big feature of MobileMe Calendar beta is that it's a true CalDAV server. This is an industry standard calendar sharing and syncing protocol. That's the good news.
Unfortunately all of us third party developers use Apple's SyncServices and CalendarStore code frameworks to communicate with iCal and those frameworks are not quite in-tune with this wonderful new CalDAV world.
Everyone has sent in feedback and/or bug reports to Apple requesting framework updates so we can directly create CalDAV hosted calendars. Many of us would prefer that option, in lieu of rolling our own CalDAV clients, as the MobileMe Calendar Beta only works with 10.6.4 and we have applications that support older versions of Mac OS X. Therefore going through a framework like CalendarStore that hides the underlying service would be ideal.
If you want to use the MobileMe Calendar Beta then there's a workaround in Curio but it's a bit of a kludge. When you turn on iCal syncing within a Curio project you will see your calendar appear in iCal within the "On My Mac" group. Next,
- Quit Curio.
- Go into iCal.
- Remember the project's calendar name in iCal. It's always of the form "Curio: ProjectName".
- Click on the calendar and choose File > Export > Export and save it to disk with any file name.
- Right-click on the calendar and choose Delete.
- Choose File > New Calendar > (your MobileMe account). Oddly I have two MobileMe accounts with the same name listed, I simply chose the first one. This will create a new calendar on your MobileMe account.
- Give the new calendar the exact same name like Curio: ProjectName. Note the space after the colon.
- Choose File > Import > Import, choose the calendar file you exported in step #4 above, then in the dialog that appears choose your newly created MobileMe calendar.
- Launch Curio.
Curio finds the calendar based on the name itself, not any underlying ID, so coincidentally we seem to work pretty well with this workaround. Changes saved in Curio will appear in iCal and thus MobileMe and vice versa.
However, if you click Reset Calendar in Curio's Project Properties then you will have to go through this export/import process again since CalendarStore doesn't currently allow us to create a calendar on a CalDAV server.
We have our fingers crossed that Apple will address this issue with updates to the CalendarStore framework. Stay tuned.