A server, comprising: a processor; and a memory storing a message thread module with instructions executed by the processor to maintain a message thread between users of client devices by: serving a message thread with a new text entry to a client device in response to a request for the message thread from a user; the server being characterised in that the instructions executed by the processor further operate to maintain the message thread between users of client devices by: collecting message thread state change from the client device, wherein the message thread state change represents an indication to automatically delete the new text entry of the message thread after the duration of a transitory display period on the client device unless an indication of a gesture applied to a display screen presenting the new text entry of the message thread is received from the client device during the transitory display period; queuing the message thread state change at the server along with additional message thread state changes associated with the collecting operation performed for additional users associated with the message thread; determining whether a synchronization condition is satisfied; if the synchronization condition is satisfied, revising the message thread based upon the queued message thread state change and the queued additional message thread state changes to form a shared message thread state, the revising including altering a parameter associated with the text entry of the message thread in response to the indication of the gesture, the parameter indicating graphically that the user persisted the text entry of the message thread; storing the shared message thread state; and supplying the shared message thread state to the client device in response to a request for the message thread from a user. a processor; and a memory storing a message thread module with instructions executed by the processor to maintain a message thread between users of client devices by: serving a message thread with a new text entry to a client device in response to a request for the message thread from a user; the server being characterised in that the instructions executed by the processor further operate to maintain the message thread between users of client devices by: collecting message thread state change from the client device, wherein the message thread state change represents an indication to automatically delete the new text entry of the message thread after the duration of a transitory display period on the client device unless an indication of a gesture applied to a display screen presenting the new text entry of the message thread is received from the client device during the transitory display period; queuing the message thread state change at the server along with additional message thread state changes associated with the collecting operation performed for additional users associated with the message thread; determining whether a synchronization condition is satisfied; if the synchronization condition is satisfied, revising the message thread based upon the queued message thread state change and the queued additional message thread state changes to form a shared message thread state, the revising including altering a parameter associated with the text entry of the message thread in response to the indication of the gesture, the parameter indicating graphically that the user persisted the text entry of the message thread; storing the shared message thread state; and supplying the shared message thread state to the client device in response to a request for the message thread from a user. collecting message thread state change from the client device, wherein the message thread state change represents an indication to automatically delete the new text entry of the message thread after the duration of a transitory display period on the client device unless an indication of a gesture applied to a display screen presenting the new text entry of the message thread is received from the client device during the transitory display period; queuing the message thread state change at the server along with additional message thread state changes associated with the collecting operation performed for additional users associated with the message thread; determining whether a synchronization condition is satisfied; if the synchronization condition is satisfied, revising the message thread based upon the queued message thread state change and the queued additional message thread state changes to form a shared message thread state, the revising including altering a parameter associated with the text entry of the message thread in response to the indication of the gesture, the parameter indicating graphically that the user persisted the text entry of the message thread; storing the shared message thread state; and supplying the shared message thread state to the client device in response to a request for the message thread from a user.