A method (300, 500), performed by a first client device or system having processor and memory storing at least one program for executing by the processor, the method comprises: retaining in the memory of the first client device registration information for a respective application (110, 112, 114) indicating the respective application is registered for sharing application state with other client devices, wherein the respective application comprises one or more checkpoints, each identifying an execution breakpoint at which the respective application can be suspended and subsequently resumed; transmitting an application state of the respective application corresponding to one of the one or more checkpoints of the respective application to a server, wherein the server is configured to store the application state at a memory; detecting (306, 506) a transfer triggering condition, the transfer triggering condition comprising presence of a second client device within a predefined proximity of the first client device, wherein the predefined proximity is a predefined proximity for near field communication; and upon detecting the triggering condition, determining in accordance with the stored registration information that the respective application is registered for application state sharing, transmitting (314, 512) information comprising at least a portion of the application state to the second client device, wherein the information causes the second client device or system to retrieve at least another portion of the application state of the respective application from the server, wherein the second client device stores the application state and passes the application state to a second application (110, 112, 114) corresponding to the respective application, which the second client device executes with a user interface state corresponding to a user interface state of the first client device; notifying the respective application (110, 112, 114) that the information has been transmitted to the second client device; and changing the application state of the respective application (110, 112, 114) in response to the notification. retaining in the memory of the first client device registration information for a respective application (110, 112, 114) indicating the respective application is registered for sharing application state with other client devices, wherein the respective application comprises one or more checkpoints, each identifying an execution breakpoint at which the respective application can be suspended and subsequently resumed; transmitting an application state of the respective application corresponding to one of the one or more checkpoints of the respective application to a server, wherein the server is configured to store the application state at a memory; detecting (306, 506) a transfer triggering condition, the transfer triggering condition comprising presence of a second client device within a predefined proximity of the first client device, wherein the predefined proximity is a predefined proximity for near field communication; and upon detecting the triggering condition, determining in accordance with the stored registration information that the respective application is registered for application state sharing, transmitting (314, 512) information comprising at least a portion of the application state to the second client device, wherein the information causes the second client device or system to retrieve at least another portion of the application state of the respective application from the server, wherein the second client device stores the application state and passes the application state to a second application (110, 112, 114) corresponding to the respective application, which the second client device executes with a user interface state corresponding to a user interface state of the first client device; notifying the respective application (110, 112, 114) that the information has been transmitted to the second client device; and changing the application state of the respective application (110, 112, 114) in response to the notification.