Posts Tagged ‘synchronization’

Synchronization Vs. Direct access, the case of contacts

March 22, 2009

Maintaining accurate and useful contact information data is not an easy task, especially when that information is spread over several places. The solution usually proposed for this problem is refered as synchronization. Synchronization is a mechanism involving copies of data between sources in order to reflect the same state everywhere, also known as data replication.

Synchronization brings several problems. It usually tends to cast information patterns into one predifined one. It flattens the information and causes the loss of the “origin” dimension, which may have important semantics on how and where to use it. It usually breaks the link with the source, thus the newly available information from an updated source won’t be distributed until next synchronization. It implies merging choices which result into inconsistencies, loss and duplication of information.

The worst thing with synchronization is that it actually solves nothing. It may be a sufficient solution when considering only local sources like computer or cellphone addressbooks but with the era of Web 2.0, most of the contact information is to be found on the Internet. Contact sources there are whatever services manipulating people, contact of friend objects. This obviously includes social networks. The diversity of those sources make synchronization impossible to consider, their purpose is different hence the provided content shouldn’t be merged, it should be used differently, depending on the context. And why would you actually want to do synchronization? Since all the information is always out there, you only need to access it.

This is why for People, we made the choice not to copy and merge the contact information from the web to a smashed local version of it but instead provide a unified way of accessing it. Using direct access, the only effort to be done is to explicit the grouping of contact information from different sources defining a single person entity. Direct access ensures integrity and reliability of data (it is not manipulated between access and use), allows knowing about the sources thus consider the relevance of it (the full name of a contact is more likely to be accurate on LinkedIn than on Last.fm), and the update of the information is done by the actual owners of it, your contacts. Associating a cache mechanism to avoid network roundtrips and maybe an offline mode to that way of doing things should benefit the user better than forcing him to understand and suffer the mist of the broken synchronization scenarios.

Follow

Get every new post delivered to your Inbox.