Sync Loops

What is this thing you call a sync loop?

In a nutshell, you create a sync loop if you connect your devices and on-line services so that they form a closed loop. Sync loops are bad. On this page we explain the trouble loops can cause.

The extra short version: Do not make loops like in the picture below, set up your sources like this.

Loop_with_cloud_of_doubt
An example of a loop (This is bad! Don't do this!)
Macintosh and Gmail are connected to Soocial but they are also connected through some other way.

Syncing devices know pieces of information about their direct neighbors; Soocial knows which contacts are present on the Mac and on Gmail and it knows how to identify them. So do Gmail, the Mac and whatever is in that cloud. It is important to understand that all linked devices can only see their direct neighbors. In this example Soocial is totally oblivious to what is happening in the blue cloud. This is why we call this the big blue cloud of doubt.

So why is this so bad?

Good question! It is not easy to explain this in one sentence. Please bear with us for a long story.

All contacts exisiting in the loop are interconnected. This means that if you would want to delete a contact in your Gmail (see the picture above) this would cause that contact to be deleted from Soocial, your Mac... and whatever is hidden in that cloud. The deletion of this contact propagates through the whole loop over the arrows. Follow the loop clockwise or counterclockwise, or alternate directions as you wish, at last one source will try to delete a contact that has already been deleted from that place. This is not a problem of course. So far so good...

But see what happens when a new contact is created. It is probably best illustrated with an example. Say you meet someone, at a conference or on a friday night at the bar, it doesn't matter. Anyhow, let's call her Anna. So you exchange phone numbers and then this scenario plays out:

Loop_with_cloud_of_doubt_and_iphone

  1. You get out your iPhones and enter a name and phone number.
  2. Your sync your iPhone with Soocial, Anna's contact info will be added to your Soocial Address Book.
  3. Almost immediately Soocial adds Anna to your Gmail account too.
  4. Gmail in its turn adds Anna to the blue cloud with the question mark.
  5. When you get home and turn on your trustful iMac, it will sync with Soocial and with the blue cloud:
  6. During the sync with the blue cloud the iMac will have sent Anna's information it got from Soocial (Annaright) to the blue cloud. (so the cloud of doubt will also contain a duplicate contact).
  7. Gmail will sync with the blue cloud which results in yet another duplicate Anna in your Gmail contacts. (Annaleft and Annaright are both present on Gmail as well now).
  8. Soocial will pull the duplicate Annaright from Gmail... but you get the gist.
    1. To summarize: loops create duplicate contacts. Duplicates propagate through all sources filling up your whole address book in a very short time.

      But this is easy to solve: simply resolve all the duplicates when they are added to Soocial!

      This is actually exactly what Soocial is doing. But it still doesn't solve all problems. Let us continue with the story:

      1. Soocial will receive Annaleft from the iMac... and merge her information with the exisiting contact for Anna since we are smart, we don't want to create many duplicates.
      2. Soocial still contains only one copy of Anna, but it now knows the iMac has two copies. Thus Soocial tells the iMac to delete the duplicate Anna which happens to be Annaleft.
      3. iMac deletes Annaleft, and later it will tell the cloud to delete Annaleft as well.
      4. Gmail removes Annaleft when it sees that the cloud has deleted her information.
      5. Soocial syncs with Gmail and sees that Annaleft is gone. And so Soocial deletes the original Anna contact since that is the one linked to Gmail...
      1. This will subsequently cause Annaright to be deleted from your Mac, then the cloud and Gmail, as well as your iPhone

      The scary conclusion: if you delete a duplicate in a loop, you can cause the original to be deleted.

      Luckily Soocial keeps a history of all your contacts, you will be able to retreive Anna's phone number. You can rely on it but it obviously is not a perfect solution. It is much better to prevent this situation alltogether.

      So, what would be good?

      Set up your devices and on line services so that they never close a loop. This is not just true for Soocial, it holds for all syncing solutions. One should always prevent making a loops. Note that if you sync your iPhone with a Mac and with Soocial you might already have created a small triangle. This is a slow loop since one doesn't continually sync one's iPhone but it will cause trouble nontheless.

      No_loop
      This picture shows a good setup without loops.
      Outlook at work syncs directly with Soocial as does my MacBook at home.
      The Android phone is synced via my Gmail account that I connected to Soocial.

      *The old phone is still used when hiking because the battery of the Android won't last a day. ;-)

      Conclusion

      Loops are bad, do not make loops, they are easy to avoid.