Sync Multiple Calendars on the Nokia N900

I recently moved to a different corporate infrastructure (you can guess from where to where by reading a bit about the company I work for, Invite Media :)) and decided that I was going to be serious about using the calendar on my Nokia N900.  I had the following "desires":

The Problem:

  • Work and Pleasure should be separate.    I want my work stuff on my corporate google calendar and I want my personal apts and reminders on my personal google calendar.  No mixing.
  • I want both to sync to the phone at a reasonable interval and not screw up either calendar or cross events from one to the other etc.
  • I would like to not pay anything to accomplish this.

I noticed something really quickly:

Stock Maemo 5 cannot support syncing calendar etc. with more than one Mail For Exchange account.

That sucks.  Oh well, the Maemo-ians must've run out of time and had to cut scope on the built in MFE syncing.  Worse things have happened in the world.

My Solution (Update: This may not be the best way to do it.  As is pointed out in the comments another application, Erming, exists which purports to be able to solve this problem.    I'm going to test it soon.)

  • TWO goosync accounts.  I ended up paying for one and using the free service for the second.  I may sadly have to end up paying for both.  (This really stinks :().  I used goosync because it does a very good job of exposing google calendar as a SyncML service.  I couldn't find anything comparable to this on the web.  The reason you need two accounts is that, even though Goosync supports syncing multiple calendars, all the calendars have to come from the same google login.  I have two in this case.  Although, now that I am typing this, I realize I could just share one calendar with the other account and sync them that way.  That would mean that both calendars show up as the same color and mix on the device though, which would be suboptimal.  If thats OK with you that might be one route.
  • Syncevolution (in extras-testing) on the device to sync with the two different goosync accounts.  I setup each goosync account to use a different Maemo 5 calendar so they appear differently and I can create new events and chose which calendar they go to (very nice!)
  • Syncevolution by default does not provide more than a once daily sync.  Thankfully the Maemo 5 incarnation of syncevolution is really just a UI ontop of an underlying command line client, so we can use the command line client to trigger a sync whenever we want.  I used alarmd (available in extras-devel) to do this.  I used a tip from here: http://www.estamos.de/blog/2009/05/08/running-syncevolution-as-cron-job/ to setup the alarm command.  To save you the jump its:
    • env `dbus-launch` sh -c 'trap "kill $DBUS_SESSION_BUS_PID" EXIT; syncevolution <NAME_OF_SYNCEVOLUTION_ACCOUNT>'
    • I setup two alarms, one for each goosync account to run every hour and it has been working flawlessly for more than a week now!  If you pay for goosync you can probably use this for tasks and notes as well (I havn't tested this yet)

UPDATE: 
  1. I had no idea that I was syndicated on planet Maemo for my #Maemo posts.  Cool.
  2. Apparently there is another application which I had overlooked, Erming-NG.  It purports to be able to sync directly with multiple Google Calendars.  I will investigate this further!  
  3. I swapped N900s and had trouble resetting up Goosync.  I tried out erming and it worked flawlessly without any middle man in connecting to my various Google calendars -- the only problem is that I couldn't get it to sync more than once per day (and the connection needs to already be active for the sync, it wont auto-connect to wifi or 3g for its sync.  It actually throws obnoxious errors if its not connected).
Previous
Previous

Making wifi work for an Asus 1201T (realtek 8192)

Next
Next

Back from France