A non-transitory computer-readable storage medium tangibly encoded with computer-executable instructions, that when executed by a processor associated with a computing device, perform a method comprising:
- identifying, via the computing device, a set of applications and files, said files currently opened and running via said applications, said set of applications being user-initiated and executing on a first client device of a user, each application of the applications being an external application to an operating system (OS) running on said first client device, wherein the applications and files are included in a project that is worked by a plurality of users;
- receiving, by the computing device, an instruction from said first client device indicating that the user has stopped working on said files within said applications;
- executing, via the computing device, upon the receiving said instruction, an application program, said execution of the application program causing the application program to store portable information related to a user-selected subset of the set of applications and portable information related to a user-selected portion of said files in a database on a network, said user-selected subset of applications being only a portion of the set of applications, the user-selected subset of files being a portion of the files operating on said each application of the applications, said portable information comprising data, specific to said first client device, related to i) a status of said each application of the applications and said each file of the files in each subset, ii) an identity of said each application of the applications and said each file of the files in each subset, and iii) a current progress within said each file of the files within each subset at a time said instruction is received;
- extracting, by the computing device, content associated with the current progress of at least one file from the stored portable information, the extracted content being displayed at the time said instruction was received;
- identifying, by the computing device, related content to the extracted content;
- receiving, by the computing device, a request from the user from a second client device, said second client device being a different device than the first client device;
- retrieving, via the application program executing on the computing device, over the network, said stored portable information upon receiving said request;
- and
- communicating, via the computing device, said retrieved information and the identified related content to said second client device, said communication causing said second client device to load each subset of the set of applications and files, said caused loading of each subset of the applications and files causing the subset of applications to be executed on the second client device and each the of the files in the subset of applications to be opened on said second client device according to said data specific to said first client device, such that said each file in the subset of applications is opened in relation to said status and at said current progress at the time said instruction was received, said communication further causing the identified related content to be displayed in conjunction with the at least one file from which the content was extracted from:
- and
- restoring the applications related to the project when the files are redisplayed.