1. A method for synchronizing one or more applications, comprising: at a client device having one or more processors and memory storing programs for execution by the one or more processors: providing a user identifier from the client device to a server computer using a network; and synchronizing configuration information with the server computer, including: receiving configuration information associated with the user identifier from the server computer using the network; merging the received configuration information with existing configuration information for one or more applications on the client device; wherein the merging includes: identifying and resolving a first set of conflicts between configuration changes made for the one or more applications at the client device since a last synchronization of configuration information between the client device and the server computer and the received configuration information in accordance with a first set of conflict resolution rules; and identifying and resolving a second set of conflicts between configuration changes made for the one or more applications at the client device since a last synchronization of configuration information between the client device and the server computer and the received configuration information in accordance with a second set of conflict resolution rules, wherein there is at least one difference between the first set of conflict resolution rules and the second set of conflict resolution rules, and the second set of conflict resolution rules includes at least three distinct subsets of the conflict resolution rules, each subset corresponding to a distinct type of configuration information, the distinct types of configuration information used in the one or more applications on the client device; and sending from the client device to the server computer the user identifier and update information corresponding to resolution of at least one conflict between the received configuration information and the existing configuration information.