Patent ID: 7389309

Claim:
A computer-implemented method executing on a computer system comprising a processor and a memory, the method for managing a first and second version of an electronic file, the method comprising: initiating, using a first software application executing on the processor, a synchronization event to synchronize the first version with the second version; causing, by the first software application, an application program interface of the computer system to access said first and second versions; comparing, by the application program interface, information associated with each of said first and second versions and generating a result; reporting, by the application program interface, the result of the comparison to the first software application; causing, by the application program interface, and in response to the result, a second software application executing on the processor to generate a user interface in accordance with a feature of the second software application, the generated user interface being presented to a user within the second software application, the electronic file being associated with the second software application; opening the first and second versions of the electronic file, by the second software application and presenting such opened first and second versions to the user; presenting, by the second software application, a synchronization option to the user with regard to the presented versions using the generated user interface of the second software application, the synchronization option being provided by the second software application; receiving, by the second software application, user input from the user by way of the user interface; automatically synchronizing, by the second software application, the first and second versions according to the user input received by way of the user interface; and automatically synchronizing the first and second versions comprises merging the first and second versions into a third version according to input received from the user interface while remaining in the user interface of the second software application and overwriting the first and second versions with the third version.