A computer-implemented method, comprising: establishing a connection between a client device and a server device for a first communication session, the server device storing a network resource being an electronic file for a first productivity application program among a plurality of productivity application programs such as a text processing application, a spreadsheet application, a slide processing application or an email application; presenting, by the first productivity application program, the network resource in a first state at the client device; receiving (402, 506) a first control directive to modify the network resource from the first state to a second state at the client device; sending the first control directive to the server device over the connection; receiving (406, 510) the network resource in the second state from the server device; storing (408, 512) state information representing information to transition the network resource from the first state to the second state; terminating the first communication session; establishing a connection between the client device and the server device for a second communication session; receiving a second control directive to retrieve the network resource from the server device at the client device during the second communication session; and using, by a second productivity application program among the plurality of productivity application programs differing from the first productivity application program, the stored state information to return the network resource to the second state, including: retrieving the stored state information during the second communication session; sending a third control directive with the stored state information for the network resource to the server device over the connection during the second communication session; receiving the network resource in the second state from the server device during the second communication session; and presenting the network resource in the second state at the client device. establishing a connection between a client device and a server device for a first communication session, the server device storing a network resource being an electronic file for a first productivity application program among a plurality of productivity application programs such as a text processing application, a spreadsheet application, a slide processing application or an email application; presenting, by the first productivity application program, the network resource in a first state at the client device; receiving (402, 506) a first control directive to modify the network resource from the first state to a second state at the client device; sending the first control directive to the server device over the connection; receiving (406, 510) the network resource in the second state from the server device; storing (408, 512) state information representing information to transition the network resource from the first state to the second state; terminating the first communication session; establishing a connection between the client device and the server device for a second communication session; receiving a second control directive to retrieve the network resource from the server device at the client device during the second communication session; and using, by a second productivity application program among the plurality of productivity application programs differing from the first productivity application program, the stored state information to return the network resource to the second state, including: retrieving the stored state information during the second communication session; sending a third control directive with the stored state information for the network resource to the server device over the connection during the second communication session; receiving the network resource in the second state from the server device during the second communication session; and presenting the network resource in the second state at the client device. retrieving the stored state information during the second communication session; sending a third control directive with the stored state information for the network resource to the server device over the connection during the second communication session; receiving the network resource in the second state from the server device during the second communication session; and presenting the network resource in the second state at the client device.