A method, comprising: at a server including a plurality of processors and memory storing programs for execution by the processors: obtaining search criteria to be used for performing searches on application data prior to synchronization, wherein the search criteria are provided by a client; selecting two or more portions of information from application data on the server in accordance with the search criteria using a search mechanism on the server, wherein each of the portions of selected information is prioritized in accordance with respective priority criteria; transmitting the selected two or more portions of information to the client, in accordance with the priority criteria, for synchronization; and keeping a record of the transmitted two or more portions of information that have been successfully synchronized with the client, wherein the transmitting further comprises two independent synchronization mechanisms operating concurrently, wherein a first synchronization mechanism synchronizes a first portion of the information in order of priority and a second synchronization mechanism synchronizes a second portion of the information in chronological order. at a server including a plurality of processors and memory storing programs for execution by the processors: obtaining search criteria to be used for performing searches on application data prior to synchronization, wherein the search criteria are provided by a client; selecting two or more portions of information from application data on the server in accordance with the search criteria using a search mechanism on the server, wherein each of the portions of selected information is prioritized in accordance with respective priority criteria; transmitting the selected two or more portions of information to the client, in accordance with the priority criteria, for synchronization; and keeping a record of the transmitted two or more portions of information that have been successfully synchronized with the client, wherein the transmitting further comprises two independent synchronization mechanisms operating concurrently, wherein a first synchronization mechanism synchronizes a first portion of the information in order of priority and a second synchronization mechanism synchronizes a second portion of the information in chronological order. obtaining search criteria to be used for performing searches on application data prior to synchronization, wherein the search criteria are provided by a client; selecting two or more portions of information from application data on the server in accordance with the search criteria using a search mechanism on the server, wherein each of the portions of selected information is prioritized in accordance with respective priority criteria; transmitting the selected two or more portions of information to the client, in accordance with the priority criteria, for synchronization; and keeping a record of the transmitted two or more portions of information that have been successfully synchronized with the client, wherein the transmitting further comprises two independent synchronization mechanisms operating concurrently, wherein a first synchronization mechanism synchronizes a first portion of the information in order of priority and a second synchronization mechanism synchronizes a second portion of the information in chronological order.