1. A computer-implemented method comprising: running an instance of a computer application at an electronic device; automatically determining a sync event that occurs in the electronic device, wherein the sync event suggests a synchronization of application state data and the application state data represent an application state of the computer application at the sync event; and transmitting the application state data of the computer application to a storage server, in response to the sync event; wherein the application state data of the computer application enable another instance of the computer application to resume the application state at the sync event at another electronic device.