The Holy Grail of Synchronization: combining Microsoft Outlook, Google Calendar, Gmail, iPod, and mobile phone

The Holy Grail of Synchronization

2008/03/06: Google now official supports synching between Google Calendar and Outlook

Last updated: 2006/09/19

This is a guide for synchronizing Contacts (address book) and Calendars (schedule) across multiple computers and gadgets.

Common terms:

  • synchronization - making the information the same on two different applications
  • WAP/GPRS - wireless Internet access for mobile phones
  • SyncML - a synchronization protocol

This is the setup I am trying to sync:

  • Calendars
  • Contacts
    • Gmail for email addresses
    • Microsoft Outlook at home for contacts
  • Gadgets
    • Nokia 6682 for access to contacts/calendar on the go (or any mobile phone that has software to synchronize with Microsoft Outlook, ie: all of them)
    • iPod for access to contacts/calendar on the go

ScheduleWorld wasn’t something I used before I tried to do this, but it is the glue that holds it all together.

Here is a beautiful drawing of The Plan. It was made with Gliffy, a web-based Visio clone.

The Holy Grail of Synchronization

This is how I want to sync it (follow the diagram):

  • Contacts are sourced from my Phone + Outlook (at home).
  • Calendar is sourced from Outlook (at work), Google Calendar, ScheduleWorld.
  • I only want to synchronize my phone/iPod when I’m at home (so I don’t have to bring the USB cables back and forth)
  • I don’t want to synchronize over WAP/GPRS (wireless data) because I am a cheap. My local wireless provider charges too much.

It should be easy to extend these instructions to your specific situation. If this isn’t your boat I also list some alternatives at the end of the article. If you have a specific question, post a comment and I’ll try to answer it. Sometimes the owner of ScheduleWorld pops by and gives suggestions as well.

But why?

  1. Why use Outlook? Isn’t Microsoft “Outbreak” the devil?
    • I won’t be using Outlook for email. Outlook is a necessary evil if you want to do contacts synchronization since it is the only software that you mobile phone supports synching with.
    • ScheduleWorld also supports Evolution/Linux and Thunderbird/Windows.
  2. What about Linux/Mac OS X support?
    • Microsoft Outlook is fundamental to how I’m moving the data from my computer to my phone/iPod.
    • You can replace Microsoft Outlook with Evolution or Thunderbird and still use it with ScheduleWorld.
  3. Why not source contacts from Gmail?
    • You can’t automatically sync Gmail to anything.
    • If you have a free solution for synching Gmail to Outlook then please post a comment.
    • Gmail also adds any you’ve emailed to your address book automatically. Gets cumbersome.
  4. Why use ScheduleWorld?
    • It’s there. It’s free. It automatically supports Google Calendar synching.
    • The interface for ScheduleWorld looks like PHP iCalendar. You could run your own Funambol server instead, but it wouldn’t be as slick. No, Funambol isn’t a clever name for a new hemorrhoid cream. ScheduleWorld uses the Funambol server for SyncML interoperability and that’s it.
    • ScheduleWorld is quite a large project and does a number of things outside of SyncML.
  5. Why don’t you sync email?
    • I like using computers for email. My thumb gets sore.
    • The approach I’ve outlined doesn’t sync email. I’d recommend using Mobile Gmail with a data plan to access mail on your phone and on any computer.
  6. Why don’t you use Remote Calendars and cut ScheduleWorld out of the loop altogether?
    • I tried Remote Calendars and I found it a bit of a pain. It requires three other Microsoft tools installed (.NET, Office Something, VSO). It would still give me “Invalid URI” errors even though it was synching properly. Screw that. The Funambol Outlook plug-in is simple.

#1. Synching Phone to Outlook

syncflow2-phone.png

I used a fresh install of Microsoft Outlook. I chose not to associate it with an email address or import data from Microsoft Outlook Express. You could use an existing install.

  1. Connect phone to PC.
  2. (Optional) Use Nokia/phone supplied software to BACKUP existing phone contacts.
  3. Use the Nokia/phone supplied PC Suite synchronization software to sync existing phone contacts to Outlook (also synching Calendar, Notes, To-do).

#2. Synching Gmail to Outlook (at home)

syncflow2-outlook-gmail.png

There are several solutions out there, but I recommend manually updating by downloading your Gmail contacts to a CSV file and then importing it into Outlook. More information on CSV files here.

  1. Login to Gmail and export contacts:
    • Contacts >> All Contacts >> Export >> Outlook CSV >> Export Contacts

  2. (Optional) I recommend loading it into Excel and hand-merging the contacts with the contacts you copied from your phone. Delete all the hand-merged and unnecessary contacts and THEN import the pared down CSV file into Outlook.This really is the best way. Every one of your friends has three different email addresses. You have to hand-merge them, and no program is going to do it for you (properly). It goes faster than you might think.
  3. Import the merged contacts into Outlook:
    • File >> Import from another program or file >> CSV (Windows) >> [Browse] >> Next >> [Contacts] >> Next >> Finish

  4. (Optional) Now comes the fun part. Sift through the Outlook Contacts list a few times and make sure the data is correct. Now is the time to remove duplicates, before they’re synched everywhere else. That person from the bar that time? Probably don’t need that number.
  5. Go take a break and have some cookies and a glass of milk. Watch something on TV. I think America’s Next Top Model is on. Then sift through the address book again.
  6. (Optional) BACK UP THE OUTLOOK CONTACTS! You won’t be doing anything with them, but if something screws up this could be an essential recovery point.
    • File >> Export >> CSV (Windows) >> Next >> Contacts >> Next >> outlook-backup.csv >> Next >> Finish.

#3. Synching Google Calendar to ScheduleWorld

syncflow2-google-calendar.png

  1. Log in to ScheduleWorld and click on Preferences.
  2. Scroll down to the Calendar Preferences. scheduleworld-calendar-1.png
  3. Enter your Gmail account name that is used with your Google Calendar.
  4. Click “Grant Access” to allow ScheduleWorld to connect to your Google Calendar.scheduleworld-google-calendar-2.png
    • ScheduleWorld is in the process of registering with Google (2006/09/19), so by the time you try this there won’t be the same yellow warning text.
  5. You will be taken back to the ScheduleWorld Preferences page.
    • scheduleworld-google-calendar-3.png
  6. Click on the “Automatically sync with your specific Google Calendar…” checkbox.
  7. Click on the “Find Calendars” button, wait, and then select the calendar you want to sync from the drop down box.
  8. Click on the “Test URL” to make sure you can access the Google Calendar.
  9. Click “Save” to save your calendar Preferences.
  10. Under “Standard SyncML Client Configuration”, take note of your ScheduleWorld server url, username, and password. Save it in notepad.
    • scheduleworld-calendar-4.png
  11. Click on the supported clients link: http://www.scheduleworld.com/tg/syncmlInfo.jsp
  12. Download the Outlook client.
  13. NOTE: I had trouble getting the Funambol iPod synchronizer working, so we’ll use a different method (iTunes).

#4. Synchronizing Outlook (at work) to ScheduleWorld

syncflow2-outlook-work.png

  1. Close Outlook and install the Funambol Outlook plug-in at http://www.scheduleworld.com/tg/syncmlInfo.jsp
  2. Run the plug-in.
    • Start >> All Programs >> Funambol >> Outlook Plug-in >> Funambol Outlook Plug-in

  3. Input configuration settings for ScheduleWorld.
    • Configuration >> Edit >> Communication Settings >> [Input ScheduleWorld url, userid and password]

  4. At work I want to push the calendar to ScheduleWorld (one way sync) and I don’t want to sync contacts. You may want to do something else, like use File >> Recover (slow sync) for two-way synchronization.
    • Configuration >> Edit >> Synchronization Settings >> [unclick Contacts] >> [Calendar: Update remote data]

  5. Click Synchronize and wait
    • .Outlook Funambol client
  6. Set up automatic synchronization.
    • Configuration >> Edit >> Scheduler Settings >> [Click activate] >> [Set the time period, I chose 12 hours]

I set up my Outlook at work to synchronize automatically every day at 5pm/5am (before my home syncs).

#5. Synchronizing Outlook (at home) to ScheduleWorld

syncflow2-outlook-home2.png

  1. Close Outlook and install the Funambol Outlook plug-in at http://www.scheduleworld.com/tg/syncmlInfo.jsp
  2. Run the plug-in.
    • Start >> All Programs >> Funambol >> Outlook Plug-in >> Funambol Outlook Plug-in

  3. Input configuration settings for ScheduleWorld.
    • Configuration >> Edit >> Communication Settings >> [Input ScheduleWorld url, userid and password]

  4. At home I want to push the contacts (one way sync) and pull the calendar (one way sync). You may want to do something else, like use File >> Recover (slow sync) for two-way synchronization.
    • Configuration >> Edit >> Synchronization Settings >> [Contacts: Replace remote data] >> [Calendar: Replace local data]

  5. Click Synchronize and wait. A while. Got any more milk and cookies?
    • Outlook Funambol client
  6. Set up automatic synchronization.
    • Configuration >> Edit >> Scheduler Settings >> [Click activate] >> [Set the time period, I chose 12 hours]

I set up my Outlook at home to synchronize automatically every day at 6pm/6am (after my work syncs).

#6. Synchronizing Gmail with ScheduleWorld

syncflow2-gmail.png
The Gmail / ScheduleWorld synchronization isn’t automatic, but it does allow you to push your contacts from ScheduleWorld to Gmail. Instead of exporting from ScheduleWorld, you could simple export from Outlook (at home) to Gmail as documented here.
I like using the ScheduleWorld approach because it will only synchronize contacts with email addresses. You can also use ScheduleWorld as an LDAP server for Gmail.

  1. Log in to ScheduleWorld:
    • Contacts >> Utils >> Download Contacts in Google Format >> [Save GoogleImportContacts.csv]

  2. Log in to Gmail.
  3. (Optional) Delete existing Gmail contacts.
    • Contacts >> All Contacts >> Select All >> Delete

  4. Import contacts.
    • Contacts >> Import >> [Browse to GoogleImportContacts.csv]

#7. Synchronizing iPod with Microsoft Outlook using iTunes

syncflow2-ipod.png

  • Connect iPod.
  • Open Outlook.
  • Open iTunes.
    • Edit >> Preferences >> iPod >> Contacts >> Synchronize contacts from: Microsoft Outlook >> Calendars >> Synchronize calendars from Microsoft Outlook >> Ok

  • Go to Outlook and look for “A program is trying to access” dialog box and choose “Allow access for 10 minutes” / “Yes”
  • Wait, but not very long.

Your Microsoft Outlook contacts/calendars will be synced whenever you connect your iPod and run iTunes.

Known Issues:

  • This is a Windows solution that requires Microsoft Outlook, but that is only because Outlook is the only thing supported by my Nokia 6682 cellphone.
    • ScheduleWorld supports Thunderbird/Evolution.
  • Manually synching your phone to your computer via Bluetooth / cable is pointless if you have a flat GPRS data rate. I don’t. You can directly sync your phone to ScheduleWorld over GRPS, and skip a bunch of steps.
  • Gmail synchronization is manual, not automatic.
  • ScheduleWorld only supports synching to (1) Google Calendar (but there are plans to support more).
  • This solution is dependant on ScheduleWorld.
  • May need Microsoft Office opened before autosync to iPod using iTunes.

Ideas for Advanced Users:

  • Create a Perl WWW::Mechanize script to automate pushing contacts from ScheduleWorld to Gmail.
  • Also synchronize Outlook and Plaxo.
  • Also synchronize Outlook and LinkedIn.
  • Connect to ScheduleWorld using SyncML with your cellphone
  • Use your contacts on ScheduleWorld as an LDAP server for Outlook or Gmail.
  • Run your own Funambol server instead of using ScheduleWorld. http://www.funambol.com/opensource/downloads.html

Let me know in the comments if you try any of the advanced ideas or if you come up with a better workaround. I’m especially interested in a free automatic way to sync Outlook and Gmail (couldn’t find one — maybe use ScheduleWorld contacts as an LDAP server?). An automatic way to sync ScheduleWorld contacts and Gmail contacts would also be good.

Other solutions

I hope someone else finds this as useful as I did. The guide is fairly long, but the individual steps are simple. These steps produce a setup I wanted, but it should be simple to create two-way syncs where I used one-way syncs in Funambol.

If you’re having questions or problems drop a line at the ScheduleWorld forums, or email support@scheduleworld.com.

Comments turned off on 2006/09/30 with the creation of the ScheduleWorld forums.

For the “social network” nerds: this post was Dugg on 2006/09 and generated 35,000+ page views in a week.


Welcome New Readers

Thanks for stopping by. I hope you enjoyed the quiche.


redditsm.gif Reddit | diggsm.gif Digg | delicioussm.gif Del.icio.us

118 Comments

  1. Posted August 12, 2006 at | Permalink

    Very nice guide!
    Does two-way sync between Scheduleworld and Google Calendar work for your? I can only make it go on-way (Import to Scheduleworld).

  2. Posted August 12, 2006 at | Permalink

    Yup, ScheduleWorld and Google Calendar are two-way synching. My work calendar gets updated into ScheduleWorld and I can see it in my Google Calendar.

  3. Posted August 15, 2006 at | Permalink

    Ego-searching: this is the #2 link on Google for “outlook google synchronize”

  4. Posted August 16, 2006 at | Permalink

    Nice guide!! The Gliffy diagram really helps me understand which direction you want everything to go.

    I’m looking into ScheduleWorld, but it seems like it will only sync with one Google Calendar - I’ve created several in my account and can’t find any way to add the others. I’ll take this up with them as well, of course, but do you have any words of wisdom to add?

  5. Posted August 16, 2006 at | Permalink

    Kelly: I had meant to put that into the known issues, but yes, there is a problem with ScheduleWorld only supporting two-way synchronization of (1) Google Calendar.

    Hopefully in the future they will allow more, and will allow at least pulling data from any iCalendar they can access.

    In the mean time, you may be able to subscribe to iCalendars from within Outlook (which will then get pushed into ScheduleWorld). RemoteCalendars would definitely let you do that, although it begs the question of why use ScheduleWorld at all if you’re going to use RemoteCalendars.

  6. MattGow
    Posted August 16, 2006 at | Permalink

    Fantastic document, thanks!

    Is anyone running into “Error 500 — Forbidden” when trying to sync Google Calendar to ScheduleWorld?

    I get this error a few seconds after hitting “sync” in ScheduleWorld. After another few seconds I get another prompt saying “Success”.

    The net effect, however, is that no appointments are synchronized in either direction.

    I can Google Calendar sync to work fine if I start with a pretty bare ScheduleWorld calendar. But once I push all my Outlook calendar items to ScheduleWorld, the Google sync seems to choke.

    As far as I can tell, there is no way to know which calendar item ScheduleWorld’s beta sync can’t cope with.

    Ideas?

  7. Posted August 16, 2006 at | Permalink

    Is anyone running into “Error 500 — Forbidden” when trying to sync Google Calendar to ScheduleWorld?

    I have seen errors, but with a error message. I’ve kind of given up on using my Google Calendar in favor of using ScheduleWorld all the time, so I haven’t been checking that stuff goes both ways as much as I did at first.

    Try sending them a line at support@ScheduleWorld.com

    The only thing I could find about unsupported calendar items is this, which doesn’t look like its directly related to your problem:

    NOTE: The Funambol clients do not support exception dates (iCal EXDATE) for recurring events. Also, they do not yet have support for contact photos (VCard PHOTO).

  8. Posted August 17, 2006 at | Permalink

    this really amazing and useful

  9. Posted August 19, 2006 at | Permalink

    Mark Swanson is the owner of ScheduleWorld

    Hello everyone,

    I’m the author of ScheduleWorld and the person responsible for some of the 500 errors early on. :-)

    This was such a nice blog that I feel I should respond to clear a few things up.

    1. ScheduleWorld uses the graphics from phpICalendar; that’s it. ScheduleWorld is written in Java.

    2. ScheduleWorld uses the Funambol server for SyncML interoperability and that’s it. ScheduleWorld is quite a large project and does a number of things outside of SyncML.

    3. The 500 errors were initially my fault. Sorry about that. To be honest I didn’t think someone would find out about my beta release (I just mentioned it briefly in the gdata API forum) and blog about it so quickly. All errors on my side have been fixed.

    However, Google has informed me that their spam filtering may be preventing most of you from syncing a calendar with as little as 100(??) entries in it. I’m trying hard to convince them to be more liberal here and I hope they do. One particular user has over 29,000 (twenty nine thousand) events heh heh…

    4. I have totally changed how you pick your Google calendar. No URLs are required now. Simply enter your username (email) and password. ScheduleWorld asks Google for the calendars you can read/write to and presents you a list (by title). The URL issue is taken care of for you automatically and perfectly. Soon I will enable creating multiple ScheduleWorld calendars so you can sync different Google calendars to different ScheduleWorld calendars.

    Please email support@ScheduleWorld.com to discuss anything ScheduleWorld related. I’m away on vacation off and on for 2 weeks but will be checking email and working on ScheduleWorld when I can.

    Thanks a _ton_ for blogging about ScheduleWorld. I really like the graphs and am on my way to download Gliffy.

    Also, thanks to all of you keeners for trying out ScheduleWorld in its beta state and for providing feedback. You all rock, and I appreciate your enthusiasm. Support and feature requests from early adopters are given a high priority.

    Cheers.

  10. Posted August 19, 2006 at | Permalink

    Mark, thanks for the comment.

    I’ll update sometime this weekend to fix my factual inaccuracies :)

  11. Posted August 20, 2006 at | Permalink

    Thanks.

  12. JFW
    Posted August 21, 2006 at | Permalink

    Mark Swanson,
    Thanks for your app. Here are a few quick observations about Gcal to ScheduleWorld sync.

    I must have encountered the Google limitation on the number of entries you mentioned. Not all of my entries made it over. However, the missing ones are not chronological.

    The reminder values don’t appear to migrate. My default is 10 min, and I have many other values. But the ones I have checked appear to come over as 1 minute.

    The sync button looks like text in my browser (ie6). At first I was not inclined to click it.

    I did not see an option to control one/two way migration. It made me nervous that your reminders times would sync back to Gcal as one minute or that the missing appointments in ScheduleWorld would be deleted in Gcal (but they did not, thank goodness).

    Thanks,
    JFW

  13. Posted August 21, 2006 at | Permalink

    Thank you for sharing this information. Syncing Google Calendar with Outlook seems to be what everybody is searching for these days. Funambol/ScheduleWorld looks very promising.

  14. Posted August 23, 2006 at | Permalink

    Mark Swanson is the owner of ScheduleWorld

    Hello folks,

    1. Alarm support is in. It passes all of my unit tests to/from ScheduleWorld/Google.

    2. A silly typo broke the mechanism where I was querying Google for your calendars. A few of you noticed this and reported it (thank you). Fixed.

    3. The ’sync’ button is a text label, yes. It was done that way so folks wouldn’t use it - I was just showing it to a few people. It needs to be changed and I’ll do it shortly. I may change the location and make it more obvious.

    A few days ago I had around 150k lines of Google ‘internal server error’ stack traces in my logs. Now there are none so it seems Google has been busy successfully addressing issues on their side.

    Cheers.

  15. Yoav Aner
    Posted August 24, 2006 at | Permalink

    I created a very basic (and probably ugly) perl script to sync scheduleworld and google calendar:

    #!/bin/perl

    use WWW::Mechanize;
    my $mech = WWW::Mechanize->new();

    $mech->get (”http://www.scheduleworld.com/tg/cal/day.jsp”);

    $mech->submit_form(
    form_number => 1,
    fields => {
    j_username => ‘[put_your_username_here]‘,
    j_password => ‘[put_your_password_here]‘,
    continue => ‘http://webview.ScheduleWorld.com/mail/?ui=html&zy=l’,
    rm => ‘false’
    }
    );

    my $content = $mech->content();
    $content =~ /todoFeeds\/(.+?)\.rss/;
    my $calID = $1;

    $mech->get (”http://www.scheduleworld.com/tg/cal/sync.jsp?cal=” . $calID);

  16. Posted August 25, 2006 at | Permalink

    Mark Swanson is the owner of ScheduleWorld

    Ok, you can now create multiple ScheduleWorld calendars and map them 1:1 to multiple Google calendars and sync them individually. The appropriate DOM elements should all have IDs so the above perl script could easily be modified to sync any (or all) of the Google/ScheduleWorld calendars.

    STATUS: No more errors in the logs. All attributes to/from Google gdata/ScheduleWorld iCalendar formats are passing back and forth correctly. The one exception is alarms. Google only supports a simplistic ‘display’ alarm type that needs some work to map to/from ScheduleWorld’s full iCalendar alarms. I’m still on vacation so this will take a bit.

    Cheers.

  17. Posted August 26, 2006 at | Permalink

    Mark, thanks a lot for posting updates on this page. Completely unexpected and greatly appreciated :)

  18. Posted August 28, 2006 at | Permalink

    no mention of synching with .mac or ical on a mac though.

    i used to use ical on my mac and loved it but hated not being able to update from anywhere but my mac. i published a copy regularly to the web but that wasn’t the same.

    i imported all my previous ical calenders to gmail and now I just keep my gmail calenders (love the multiples for different family members, dogs, bills, birthdays) up to date. I then subscribe to them via ical so I have the same stuff on my laptop now, here i use a widget to show me my day and any upcoming events. then when i synch up my ipod (nightly) i get my all my calenders there too. works for me.

  19. Paulhwa Lee
    Posted August 28, 2006 at | Permalink

    Very useful indeed! I successfully synced my 6680 to google calendar via scheduleworld and syncML. However, I noticed a problem when an all day event was created in google calendar and then synced to scheduleworld. I live in the GMT-8 time zone and I keep on getting time shifts of -8 hours from the all day events. This doesn’t happen to events that have definite times. Any ideas?

  20. Posted August 28, 2006 at | Permalink

    Mark Swanson is the owner of ScheduleWorld

    Paulhwa (all-day events):

    Hello,

    I’ve tried to reproduce this but cannot. In Google calendar I have:
    1. created a non-recurring all-day event, sync’d to ScheduleWorld, displays fine.
    2. created a recurring all-day event, sync’d to ScheduleWorld, displays fine.

    I can think of two possibilities:
    1. You have different timezones configured in your Google and ScheduleWorld calendar. Perhaps one is set to GMT, the other to -8 ?
    2. Google made some adjustment between the time you tested and when I tested ?

    One thing that I do note is that when I create all-day events in ScheduleWorld and sync to Google there was a bug that displayed the all-day event as taking up all available space in that day instead of at the top of the calendar (all-day slot). This has been fixed.

    Please feel free to email me and we can run a couple of tests.

    Cheers.

  21. Posted August 31, 2006 at | Permalink

    A very comprehensive guide indeed and very clear in understanding.

    I am not sure whether I will be applying any of this, but will surely let my fellow users from Windows world know that there is clear guide that they can refer to.

    BTW, it would be good to see the same article written with Linux users in mind … what you say :)

  22. Posted August 31, 2006 at | Permalink

    I’d love to write it with Linux in mind, except there’s one small problem. This all hinges on using Microsoft Outlook for synching to your phone/iPod. So it’s Windows only.

  23. Posted September 01, 2006 at | Permalink

    What we need is Funambol clients for unix/mac and then the same steps would work.

  24. Posted September 04, 2006 at | Permalink

    Nice guide! But is it really worth all the effort? How long does it take?

  25. Posted September 04, 2006 at | Permalink

    It only takes about 25 minutes to follow the guide and get everything running.

    To write the guide took a little bit longer. :)

  26. Posted September 06, 2006 at | Permalink

    Mark Swanson is the owner of ScheduleWorld

    Quick Linux comment:

    I’ve been working with the author of SyncEvolution for quite some time and it’s extremely well supported. You can sync Evolution on Linux to/from ScheduleWorld simply by using SyncEvolution (sourceforge -> Sync4jEvolution).

    Cheers.

  27. Posted September 09, 2006 at | Permalink

    Mark Swanson is the owner of ScheduleWorld

    Soon you will not have to click the ‘Sync Google’ link as this will be taken care of for you automatically. I do not mind losing the advertising in this case. I will be releasing details shortly.

    Cheers.

  28. Posted September 09, 2006 at | Permalink

    Thanks for making that change Mark.

    In the end I think you’ll see a massive increase in users when people find out they can automatically sync Google Calendar and Outlook Calendar.

    It really is the one feature that *everyone* is looking for.

  29. Posted September 16, 2006 at | Permalink

    Holy Grail? at the centre of that lies Lotus Notes! dont talk of the holy grail until you can liberate the Fortune 100. Right or wrong its the dominant C level messaging platform.
    make an extensive synch programme work that caters here and you will be rewarded!

  30. Posted September 16, 2006 at | Permalink

    Has anyone found a way to automatically sync contacts in gmail with any other Address Book?

    Also, doesn’t Funambol have a syncML server and couldnt that sync directly with a lot of mobile phones?

  31. Posted September 17, 2006 at | Permalink

    Mark Swanson is the owner of ScheduleWorld

    Update: ScheduleWorld is now using Google’s enhanced security features (authsub). This means you no longer have to trust ScheduleWorld with your Google password!

    You can find the details about this wonderful feature here:
    http://code.google.com/apis/accounts/AuthForWebApps.html

    Also new: ScheduleWorld now lets you paste the private XML URL directly if you like. This enables corporations using Google’s hosted accounts feature to work correctly.

    Simply view the ScheduleWorld HTML preferences page and scroll down to the calendar you want to sync with Google. I hope the options are self-explanatory. If not, please email support@ScheduleWorld.com and I’ll help you asap.

    Also new: I was having trouble with how Google was handling some recurrence data, and some other minor issues. These have all been fixed.

    Cheers.

  32. Posted September 18, 2006 at | Permalink

    Mark Swanson is the owner of ScheduleWorld

    Update: I seem to have made an error. AuthSub does not support hosted accounts yet. Google’s response about when AuthSub should work is “in the very near future”.

    http://www.mail-archive.com/google-calendar-help-dataapi%40googlegroups.com/msg01112.html

  33. Yoav Aner
    Posted September 18, 2006 at | Permalink

    I seem to be having some difficulties with the whole sync process. Still - compared to the alternative (remote calendars) it’s much better. I had an issue initially getting events duplicated. I think it started with some day-events from Outlook propagating to Google (didn’t seem to appear in SW at all), and then back to Outlook as new events and so on - ended up having hundrends of events from a handful, so resorted to deleting my outlook calendar altogether and starting from scratch.

    Later had some issues with deletions in Outlook not getting sync’d to google. I think they did get deleted in SW but not google.

    The latest issue is that some events I created in Google do get sync’ed to SW but Funambol plugin doesn’t pick them up unless I do a slow sync…

    Also had an odd problem with the plugin failing and had to uninstall and reinstall…

    All in all, it works - but not terribly reliably for me. I seem to need to have manual control over it. Looks to me like the main issues are to do with Funambol plugin rather than anything else. The SWGMail looks spot on (apart from reminder times)

  34. Posted September 18, 2006 at | Permalink

    Mark Swanson is the owner of ScheduleWorld

    Hello Yoav - and others having difficulties,

    I did have some issues with the Funambol plugin and the Funambol server in general. In the past few days I have released patches that seem to address the issues you mention. As I posted yesterday, I fixed a number of issues wrt Google sync as well. At the moment all problems should be resolved. If not, _please_ email me; I’ll get to it asap.

    Note: folks who were syncing with Google with a configured username/password will have to go to the preferences and sign up with the new method which doesn’t use a password. Since I no longer need anyone’s Google password I don’t even want them in the system.

    Cheers.

  35. Posted September 18, 2006 at | Permalink

    Mark Swanson is the owner of ScheduleWorld

    *** MAJOR ANNOUNCEMENT ***

    Since engtech was so nice and created a great diagram I’d like to announce here first that Google autosync is available now.

    What does this mean? It means you can directly sync Outlook/BlackBerry/Evolution/etc.. directly to/from Google. You do not have to log in to the HTML client and manually click ‘Google Sync’ anymore.

    Bonus: Since ScheduleWorld is the proxy for Google autosync your ScheduleWorld calendar/WebDAV/freebusy information is also kept in sync.

    Simply go to your preferences page, enable Google autosync on your primary calendar and click ‘Save’.

    Cheers.

  36. Posted September 18, 2006 at | Permalink

    Sorry to slightly offtopic - but Yahoo always had a very good sync tool. I am still surprised Google doesn’t offer something similar? Thanks for the massive writeup! ;-)

  37. Posted September 18, 2006 at | Permalink

    Would it be possible to sync Yahoo Calendar to ScheduleWorld?

  38. Posted September 18, 2006 at | Permalink

    Mark Swanson is the owner of ScheduleWorld

    wrt Yahoo calendar: I used to sync with Yahoo! calendar via their mostly broken CVS capability - but they changed the format and that no longer works. I contacted Yahoo! about syncing and I never received a response. They seem more focused on providing proprietary solutions like their existing Outlook sync capability.

    I’d love to be wrong, and would support Yahoo! in a heartbeat if there was a way. If anyone knows of a way to get this done please email.

    Also, someone previously commented about a Lotus Notes client. There is one available from Funambol but I suspect it’s alpha. If someone feels like scratching that itch the initial start seems to be available …

    Cheers.

  39. Posted September 18, 2006 at | Permalink

    I just wanted to compliment you on your Gliffy-made plan, it really is beautiful! Gorgeous work, I imagine with some extra gradients and antialiasing it’d look fit to be asmooth piece of art, with the pink “fluffy cloud” like silk embroidery around its core.

  40. Posted September 18, 2006 at | Permalink

    Mark Swanson is the owner of ScheduleWorld

    evbart - I’m also anxiously awaiting for the ability to sync the GMail addressbook. As soon as Google releases the gdata API library for gmail contacts I’ll sync to it. I already tried via GreaseMonkey but GreaseMonkey kept crashing…

    Cheers.

  41. Posted September 18, 2006 at | Permalink

    Hey, great article! However I just use Outlook at the office (because we only have PCs here) but at home, on my Mac I use Mail and it integrates very well with its surrounding apps and online services.

  42. Posted September 18, 2006 at | Permalink

    Wow…. everything is so complicated, and is way too troublesome. I like MS Outlook, as much as I enjoy Google’s apps, but integrating them together is like putting two postively-charged protons together…. and you know, the end result may be unbelieveable.\

    ——-

    Edit to remove gratuitous link to homepage. Please only include links if you have something to say about this article, or something relevant. Otherwise I’ll have to mark it as spam, which means Akismet will start thinking of all your posts as spam, and your comments will be auto-banned from any blogs the use Akismet.

    (I’m not being draconian, he was linking random words in the post to his blog)

  43. Freddie
    Posted September 19, 2006 at | Permalink

    This seems to be a very useful service, I was just looking for something like this!

    However, I tried to sync my cell phone (SonyEricsson K500i which supposedly syncs with SyncML) but the phone fails to connect to scheduleworld. I have double checked the settings, but I’m not sure if I’ve done it right. Can anyone reading this who has succeeded explain how to set up the account on the cellphone correctly?

    Or it could just be that the scheduleworld server is overloaded right now, as it seems to be very slow…

  44. Posted September 19, 2006 at | Permalink

    I’ve been working on a similar in house solution with Horde / Kronolith and Funambol
    and unfortunetly I’m at a standstill with 3.0.7 because it’s crashing Outlook.

    I will continue with Funambol though to see if the updated 3.0.11 release would
    fix this problem.

    It’s a great concept though using a web based application as a client hub.

  45. Posted September 19, 2006 at | Permalink

    Or it could just be that the scheduleworld server is overloaded right now, as it seems to be very slow…

    This post is on the front page of Digg, del.icio.us, and lifehacker.com at the moment and ScheduleWorld is getting hammered like crazy. There’s been about 12,000 page views, so even assuming only 10% of the people are trying it out that’s probably still around 1200 new users today alone.

  46. Posted September 19, 2006 at | Permalink

    Hello, I stumbled over this blog and it kept me reading on.
    I made also similar experiences with syncing multiple outlook/thunderbird clients with plaxo and windows mobile.
    I have a suggestîon to another workaround:
    Check out “sugar crm” http://www.sugarcrm.com/crm/ it’s Open Source under GPL and comes with a very good outlook plugin
    which enables one to sync contacts,tasks and shedules. Since sugar crm is written in PHP, the advanced programmer may probably also get the outlook plugin to work with other services. (Maybe something for Mark Swanson?)

  47. Posted September 19, 2006 at | Permalink

    Oh… wait, it’s not sugar crm but vtiger the open source fork of sugar crm, sorry.
    Here is the download section of vtiger: http://www.vtiger.com/index.php?option=com_content&task=view&id=30&Itemid=57
    As one may see it comes with both outlook and thunderbird plugins.

  48. Posted September 19, 2006 at | Permalink

    Mark Swanson is the owner of ScheduleWorld

    Holy smoke! Digg, del.icio.us, lifehacker.com! So _that_’s why. 600+ port 80 TCP connections, ~200 in ESTABLISHED the rest in TIME_WAIT or CLOSE_WAIT. Its just starting to let up after about 10 hrs. I’ve never seen a gig of logs roll over so quickly :_)

    There were a few timeouts for folks signing up when the load got really heavy (sorry folks), but that’s all I noticed in the logs as far as errors. Oh, one strange Google date was sent my way. Logged for analysis. I’ve already priced a hardware upgrade and have started that process.

    Thanks for the notes about vtiger; looking into it now.

    More Google calendar sync enhancements coming soon (based on the feedback and analysis of today’s … stress test).

    Cheers.

  49. Posted September 19, 2006 at | Permalink

    I don’t have anything to say. I just wanted to be comment #69.

  50. Min
    Posted September 19, 2006 at | Permalink

    I just started using this process this evening (sept 18, 2006). However, I am having the same problem as Yoav had. Everytime I sync, all of my items in outlook that reoccured (however many times and whenever in the past) reduplicate as well as plant themselves on new days starting with today. For example, I had some items that were scheduled for partial days back in April. After syncing, they now also show up for this week and the foreseeable future in outlook.

    Please help! Thanks.

  51. Posted September 19, 2006 at | Permalink

    Ok, I _just_ did another release. It contains new duplicate detection and conflict resolution for exactly this case. Future syncs to/from Google will not propagate duplicates. Please try again.

  52. Posted September 19, 2006 at | Permalink

    Great article dude! I learn a lot :)

  53. Posted September 19, 2006 at | Permalink

    I finally updated the instructions for setting up ScheduleWorld with GoogleCalendar.

  54. Posted September 19, 2006 at | Permalink

    This sounds like an excellent solution. I really want to try it out.

    I am having trouble in Schedule world when I go to preferences and add my google calendar username and then click on “Find Calendars” I get an error message: “Error: Access Denied: missing Google session token.” What does this mean? It is occurring on all of my web browsers - Safari, Firefox (mac and PC) and IE.

  55. Min
    Posted September 19, 2006 at | Permalink

    Thank you for your reply, Mark. I tried again this morning. However, I’m still having issues. The problem I’m having in Outlook (in addition to the duplication of scheduled items on the same day, which is still happening also) is that any items I have that were set to recur at a previous time now set themselves for today and into the future. A couple of examples: my mother’s birthday, which is July 31, is set to recur yearly, but after I sync it shows up today (Sept 19), recurring weekly. Other items that may have occcurred for a couple of days or a couple of weeks in the past also pop themselves in continuously without end.

    Did I miss something special that I need to do with new release? I have the outlook plug-in 3.0.7. I want it to sync in both directions so I can keep Outlook, Google Calendar, and my Blackberry all the same, regardless of where I entered an appointment.

    This is my first attempt at synchronizing calendars, so I may be missing some basic, but essential, information.

  56. Posted September 19, 2006 at | Permalink

    missing Google session token - this means you forgot to click the ‘click here’ to grant ScheduleWorld … button - which redirects you to Google’s site where you can grant ScheduleWorld access to your calendar.

    Based on feedback I should simply do that redirect for you automatically. It will work this way soon.

    Note: this is an enhanced security process that enables you to grant ScheduleWorld access to your calendar without giving us your password.

    Cheers.

  57. Posted September 19, 2006 at | Permalink

    Min - I have unit tests for every single property to/from Google. Apparently I need to flesh them out a bit more.:-(

    I will work on both of these issues until they are resolved. Stay tuned.

    Cheers.

  58. Min
    Posted September 19, 2006 at | Permalink

    Thanks for working on it, Mark. Would it be an issue on the Google end? I thought it was an issue between Outlook and ScheduleWorld because it’s when I use the Outlook plug-in that everything goes wacky.

  59. Posted September 19, 2006 at | Permalink

    I’m not sure.
    Google uses a combination of XML and the icalendar open standard (rfc 2445) - it may be likely that I am confusing when to use which for recurring events. Some careful testing will resolve this issue shortly I’m sure.

    Cheers.

  60. Posted September 19, 2006 at | Permalink

    This thing is great in theory, but has major issues when syncing with outlook:

    1) recurring calendar entries ignore the end by field and the dates get mixed up

    2) clicking on ‘update remote’ actually updated my local calendar which i really did not want to do and caused me quite a headache - i almost had a heart attack when my work calendar was destroyed

    3) clicking on ‘update local’ actually updated my remote calendar which caused another huge headache.

    make SURE you backup before playing around with this.

  61. Eric Faris
    Posted September 19, 2006 at | Permalink

    Mark,

    What might this be?

    14:20:18:772 [ERROR] - processItemStatus: server sent status 508 in SYNC
    14:20:18:772 [ERROR] - Error #508 in source calendar
    14:20:18:772 [ERROR] - Error in syncing:
    14:20:18:782 [INFO] - Calendar sync completed with errors
    14:20:19:152 [DEBUG] - Enter restoreSlowSyncBackup method
    14:20:19:162 [DEBUG] - Exit restoreSlowSyncBackup method
    14:20:19:172 [INFO] - Logged off from Outlook

  62. Mark Fletcher
    Posted September 20, 2006 at | Permalink

    Hi Mark,

    I am having the same problem as noted in comment no 5. Basically my outlook syncs fine with ScheduleWorld but doesn’t push it to Google Calendar. If I manually add an entry in ScheduleWorld it appears in Google Calendar fine. If I modify an entry in ScheduleWorld to include a ‘-’ in front of the description, it will then go to Google Calendar.

    So my question is do I have to modeify all my calendar entries to include a ‘-’ to get the syncing to work? Is there a way around this as I would like to include my historical stuff which I do not want to have to go and modify.

  63. zoggy
    Posted September 20, 2006 at | Permalink

    What about if I want to sync with ScheduleWorld in Outlook (exchange) a calendar that is not my own? For example, a team mailbox that has been given access to me along with others. I would like to sync this to my ScheduleWorld calendar so I can view my exchange calendar remotely via ScheduleWorld.

  64. Posted September 20, 2006 at | Permalink

    KC - Sorry to hear your problems with the Outlook sync. I haven’t had time to test those options yet. I’m going to make this a priority and support this asap.

  65. Posted September 20, 2006 at | Permalink

    Eric - The server was too busy :-) Please try again.

  66. Posted September 20, 2006 at | Permalink

    Announcement: new release 1:00AM

    Duplicate problem was reproduced and fixed.

    Recurring events issues are resolved (I ran out of time to test the ‘end by’ field. Tomorrow…

    AutoSync Outlook Google lastModified issue is mostly fixed. However, I still have a subtle issue to resolve. I should be able to resolve this for the release tomorrow night.

    Cheers.

  67. Posted September 20, 2006 at | Permalink

    Zoggy - wrt the Exchange issue this isn’t possible yet. I have started the preliminary work on a MAPI-based Exchange connector that is more powerful than the WebDAV based alternatives (so it will work with Exchange 5.5, and 2007). No ETA atm.

    Cheers.

  68. Min
    Posted September 20, 2006 at | Permalink

    Alas, the same thing is happening to me still. I tried “update local data” with the Outlook plug-in, but nothing was added to Outlook (I deleted everything out of Outlook when it went haywire last time). I tried “replace local data.” This time info was added to my calendar, but with the duplicates and recurring items all over the place.

    Is there still a problem or am I just missing something else that I should’ve done?

    Thanks for all your heard work and quick responses!

  69. Harry
    Posted September 20, 2006 at | Permalink

    I am having trouble installing the funambol plugin for Outlook. I’m wondering if it’s because I don’t have administrator rights. Anyone have a clue?

  70. Posted September 20, 2006 at | Permalink

    Not having administrator rights can often be a problem with installing software.

  71. Posted September 20, 2006 at | Permalink

    Perhaps the cause of duplicates/frustration for some folks is the Funambol ‘replace/update server/local’ options. I’ve not tested those.
    I’m configuring a new server to help with the load, then I’ll get to this issue.

    Cheers.

  72. James
    Posted September 21, 2006 at | Permalink

    I’m still having the issues with recurring events and some events being moved to today. Do I need to download the funambol plug-in? It looks like the same one, 3.0.7, but you say you’ve done patches, are these to SW or Funambol? Thanks.

    Also, we store our events with mutiple categories, do you support this?

  73. James
    Posted September 21, 2006 at | Permalink

    Oh, I’m using Normal for the funambol setting on both computers in outlook. Not sure if others are using the same settings when they get duplicates/errors.

  74. Posted September 21, 2006 at | Permalink

    Google sync update:

    Google is having problems. Perhaps that’s why their service is still beta :-)

    I have logged two bugs with them that are causing a lot of problems for folks:

    1. Google is unable to parse some valid iCalendar timezone definitions.
    2. Google fails with ‘Internal Error’ for reasons yet to be determined.

    Google’s response so far is, “Thanks for the nice bug report”. No eta on a fix and they haven’t contacted me for further testing or diagnosis. It seems we will all just have to wait on Google atm.

    Wrt Funambol, perhaps I was unclear in a previous post. I have not modified any version of the Funambol Outlook client.

    New server status: The new machine is up and running, and mostly configured. I’m on track for the ~midnight switch the evening of Septembre 21.

    Cheers.

  75. Min
    Posted September 21, 2006 at | Permalink

    Cool. That should speed things up. Are the Google issues related to the duplicates/recurring items? I disconnected my google calendar from SW. SW has my correct calendar info in it, but it still covers Outlook in a million items when I try to sync the two.

  76. Posted September 21, 2006 at | Permalink

    For posterity:

    1170 diggs, link here

  77. Posted September 21, 2006 at | Permalink

    Hello Min,

    Please email support@ScheduleWorld.com as I’d like to go through a few tests with you and capture the detailed logs of your syncs. I simply can’t replicate your issue.

    Thanks!

  78. Posted September 23, 2006 at | Permalink

    If you want a good way to synch Outlook to Gmail for email I wrote a tutorial about it here: http://cnxn.ca/GmailMirror.html

    Mark

  79. Bill
    Posted September 23, 2006 at | Permalink

    01:29:34:250 [INFO] - Preparing synchronization of calendar…
    01:30:31:406 [ERROR] - processItemStatus: server sent status 506 in SYNC
    01:30:31:406 [ERROR] - Error #506 in source calendar
    01:30:31:406 [ERROR] - Error in syncing:
    01:30:31:406 [INFO] - Calendar sync completed with errors
    01:30:31:421 [INFO] - ********** TASKS SYNC ************
    01:30:31:421 [INFO] - Synchronization URL: http://sync.scheduleworld.com/funambol/ds
    01:30:31:421 [INFO] - Preparing synchronization of task…
    01:31:51:687 [ERROR] - processItemStatus: server sent status 506 in SYNC
    01:31:51:687 [ERROR] - Error #506 in source task
    01:31:51:687 [ERROR] - Error in syncing:
    01:31:51:687 [INFO] - Tasks sync completed with errors
    01:31:51:734 [INFO] - Logged off from Outlook

    Any idea what this means? I have been getting this error message every time I sync.

  80. Posted September 24, 2006 at | Permalink

    506 means I was rebooting the server. It seems for a couple of minutes one of the class files was bad and was causing problems. If you see this again please email support@ScheduleWorld.com.

    Cheers.

  81. Posted September 24, 2006 at | Permalink

    *** NEW UPDATE ***

    Hello Folks,

    A number of fixes are in for Google/Outlook sync as well as a new feature for auto-detecting and handling of cell phone character sets is in.

    Important: If you were having duplicate issues, or issues with some events not showing up you need to reset your ScheduleWorld calendar. If ScheduleWorld is NOT your master calendar (Outlook/Google/Cell phone/Evolution/etc.. is your master calendar) then just delete your ScheduleWorld calendar and sync. All will be well. You can do this by:

    1. Go to HTML day view, click preferences
    2. Find the calendar you have wired up to Google and click the button that says, “Delete events and todos”. This delete action will not propagate to any other system.

    If ScheduleWorld is your master calendar simply:

    1. export your calendar (day view, click ‘Download’ (top right under the preferences link). If you don’t see ‘Download’ you need to go to the preferences page and enable WebDAV.

    2. start everything fresh by deleting all of your Google / Outlook / ScheduleWorld / etc. calendars and then import your saved ScheduleWorld calendar (day view, click ‘import’).

    CHARACTER SET ISSUES: If someone has a K600i, K700i, K750i or other phones that don’t support UTF-8 (ISO-8859-1 only) please try to sync contacts with non-ascii characters. This should work now. It has always worked with other phones that support UTF-8. Please email support@ScheduleWorld.com to report success or fail with this.

    Thank you.

  82. KC
    Posted September 25, 2006 at | Permalink

    Mark -

    Thanks for the response. Please do let me us know when the outlook plugin has been fully tested, i would really like to use the program.

    KC

  83. Posted September 25, 2006 at | Permalink

    *** NEW ANNOUNCEMENT ***

    A few minuts ago I did another release.

    Please note: anyone syncing with Outlook simply must use 3.0.7 of the Funambol client. No earlier version will work, and it is impossible to support different versions of this client.

    I’m really pleased with this release because:

    0. The ‘Replace Remote Data’ option in the Funambol client now works perfectly with ScheduleWorld, and it works perfectly if you have the Google autoSync option enabled.

    In a nutshell, if you want ScheduleWorld and Google (autoSync option required for Google) to look exactly like your Outlook calendar simply use the ‘Replace Remote Data’ option. It will work.

    NOTE: This can take a __LONG__ time if autoSyncing with Google. The process for ‘replace remote data’ is:

    A. delete all events on ScheduleWorld (and Google with autoSync enabled). Google is _very_ slow at deletes and can take up to 5 seconds per event! So if you have 500 items you have some waiting to do…
    B. The initiating client (F.E. Funambol Outlook client) then copies all of its local items to the server (which get copied to Google if autoSync is enabled).

    1. I found and fixed a duplicate issue for recurring events. Finally this issue can be put to rest.

    2. Because #1 is fixed, you can safely use the Funambol (or any SyncML client’s) SLOW sync capability. With Funambol, simply select
    File-> Recover (slow sync) and select calendar. Use slow sync to get your SW/Google/cell phone/ipod/evolution/etc.. calendars initially in sync as this makes sure every single event is compared and added/updated during the sync process. (Remember to switch back to normal sync).

    Thanks to everyone for all of your feedback on the Outlook sync issues. Also, thanks for folks with K600/700/750i devices for responding and confirming the charset issue is fixed.

    Cheers.

    Note: I’m still working with Google on some problems they are having with ‘Internal Errors’. Google’s Java API also isn’t handling some redirect requests from the Google servers and I’m working on that as well. If you notice any other issues please email support@ScheduleWorld.com

  84. Posted September 26, 2006 at | Permalink

    Google sync issue : strange Id/recurrence delete (sometimes an event was deleted on Google and would not be deleted on SW, and the sync would stop even though it wasn’t finished.) FIXED.

    Google redirect issues. I still haven’t