The Soocial iPhone app has been a great tool for users to keep their contacts in sync over the air.
Problems with large address books
However for some users with large address books the initial sync could take a very long time. Especially over 3G connections or flaky wifi connections this would become an issue. During every sync all contacts from the device need to be send to the server to be compared to the existing contacts. For large address books this process would take long and be prone to fail. The sync would have to start from scratch once a sync was failed.
Resume your syncs
The good news is that we have now solved it, yay! We had to make both our server and iPhone app support resuming of a sync. Both of them need to remember what contacts have been send or received. You can now pause the sync manually for up to 5 minutes. Not just for connection interruptions but also since you probably use your iPhone to call as well. Afterwards you can come back to the Soocial app and resume the sync. The app will then check all your contacts and see which ones have been send to the server already. Even contacts you have edited in the mean-time will be sent to the server with their new information. Even if during the sync the communication with the server gets interupted, the app keeps trying to reconnect and will be resuming the sync as soon as the connection is restored.