The present disclosure generally relates to providing a framework for reviewing and annotating comparisons of electronic documents.
Electronic documents, such as word processing documents, spreadsheets, and presentations, often undergo multiple revisions or are co-authored by multiple people who make changes to previous versions of the document. When two versions of a document are compared, the changes are typically reviewed by an individual who is skilled in the relevant field prior to accepting the changes in the latest version.
Systems and methods for providing a common framework for a document comparison review process are disclosed. A reviewer can choose to review and provide annotations of a comparison document using either a paper-based method or an electronic-based method. The different review technologies are interchangeable using the common framework.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter.
Examples of an electronic document comparison review framework system and method are illustrated in the figures. The examples and figures are illustrative rather than limiting. The electronic document comparison review framework system and method are limited only by the claims.
Various aspects and examples of the invention will now be described. The following description provides specific details for a thorough understanding and enabling description of these examples. One skilled in the art will understand, however, that the invention may be practiced without many of these details. Additionally, some well-known structures or functions may not be shown or described in detail, so as to avoid unnecessarily obscuring the relevant description.
The terminology used in the description presented below is intended to be interpreted in its broadest reasonable manner, even though it is being used in conjunction with a detailed description of certain specific examples of the invention. Certain terms may even be emphasized below; however, any terminology intended to be interpreted in any restricted manner will be overtly and specifically defined as such in this Detailed Description section.
In general, document comparison tools compare an earlier version of a document, for example a template or draft document, with a later modified version of the document to identify changes between the two versions and generate a redlined comparison document. For a large document, there may be several hundred or even several thousand changes between two versions of the document, resulting in a time-consuming review process.
A document comparison application is discussed in greater detail in the following document and is incorporated by reference in its entirety: U.S. Application No. 61/417,858, filed Nov. 29, 2010, entitled “SYSTEM AND METHOD FOR PRESENTING COMPARISONS OF ELECTRONIC DOCUMENTS,” filed herewith.
Typically, each change identified in the comparison document should be reviewed by an individual skilled in the relevant field to determine its importance. The review process is most often performed through handwritten annotation by the reviewer on a paper printout of the comparison document. Although working with a paper copy of the document is most common, the paper review process has significant drawbacks. The annotated paper copy generally is physically returned to an assistant for the review decisions to be acted upon, and return methods such as faxing or scanning tend to be cumbersome. Further, the results of the review are typically manually transcribed by the assistant into the master copy of the document for each change that is accepted or rejected and for any comments or changes.
The techniques described in this disclosure can be implemented to improve the review process by providing a common framework that allows a reviewer to review a comparison document using any type of medium including, but not limited to, electronically or on paper. The common framework permits a reviewer to use the reviewer's preferred format for performing the review and providing annotations, and the reviewer's format is compatible with other formats that may be selected by other reviewers.
The network 101 can be a telephonic network, an open network, such as the internet, or a private network, such as an intranet and/or the extranet. The network 101 can be any collection of distinct networks operating wholly or partially in conjunction to provide connectivity to the client devices and servers, and can appear as one or more networks to the serviced systems and devices.
Client devices 102A-N can be any system, device, and/or any combination of devices/systems that is able to establish a connection with another device, a server and/or other systems. The client devices 102A-N typically include display or other output functionalities to present data exchanged between the device and a user. For example, the client devices may be, but are not limited to, a server, a desktop computer, a computer cluster, a mobile computing device such as a notebook, a laptop computer, a handheld computer, a mobile phone, a smart phone, a PDA, a BlackBerry™ device, and/or an iPhone, etc.
In some embodiments, some of the client devices 102A-N have a locally accessible processor that can run a document comparison application and/or a review framework application. Thus, those client devices 102A-N need only connect to the network 101 to access documents and annotation data stored in document database 104, as needed, and to access portions of the document comparison application and/or review framework application, as needed. In one embodiment, electronic documents are stored in a different database from annotation data.
In some embodiments, some of the client devices 102A-N do not have their own local document comparison application processor and/or review framework application. Thus, those client devices 102A-N would access the document comparison application available at one or more of the document comparison servers 105A-N to request comparisons of electronic documents and/or the review framework servers 106A-N to use the common framework for reviewing a comparison document.
The document comparison application servers 105A-N can be any combination of software agents, firmware modules, and/or hardware modules for running the document comparison application, either individually or in a distributed manner with other document comparison application servers 105A-N. The document comparison application servers 105A-N are able to communicate with client devices 102A-N to receive electronic documents or locations of electronic documents to be compared. The electronic documents can be stored and retrieved in the document database 104 via the network 101. The document comparison application servers 105A-N are also able to present identified changes between two documents in a manner that allows a user to review the changes rapidly.
In one embodiment, the plurality of document comparison servers 105A-N can stream data over the network to the client devices 102A-N. For example, the changes identified between multimedia documents can be streamed over the network 101 to the client devices 102A-N.
The review framework servers 106A-N can be any combination of software agents, firmware agents, and/or hardware modules for running the review framework application, either individually or in a distributed manner with other review framework application servers 106A-N. The review framework servers 106A-N are able to communicate with client devices 102A-N and/or document comparison servers 105A-N to receive comparison documents to be reviewed. The comparison documents can be stored and retrieved in the document database 104 via the network 101.
In some embodiments, some of the review framework servers 106A-N are dedicated to providing a review framework for a particular review media, for example, digital paper or electronic review. In some embodiments, some of the review framework servers 106A-N can provide a review framework for multiple review media.
In some embodiments, a server can run both the document comparison application and the review framework application. In some embodiments, some or all of the modules of the review framework application are part of the document comparison application.
The document database 104 can store information such as electronic documents and data associated with compared electronic documents, such as review states of identified differences between two documents and annotation information and location. Document database 104 can be managed by a database management system (DBMS), for example but not limited to, Oracle, DB2, Microsoft Access, Microsoft SQL Server, PostgreSQL, MySQL, FileMaker, etc.
In some embodiments, the comparison application 210 can include one or more of the following features. The comparison application 210 can display received annotations either overlaying or alongside the normal display of the comparison document. Annotations such as text, images, handwriting capture, or other drawings can be displayed on a screen for a user in the appropriate location of the comparison document. Audio and other media-type annotations can be indicated on the screen in the appropriate location by a button or other interactive element. Upon selection of the interactive element by the user, the audio or other media-type annotation will play.
The comparison application 210 can persist annotations alongside the comparison document when it is saved, either in the comparison document file or in another storage location. When the comparison document is re-loaded into the comparison application for a user, the comparison application 210 can retrieve the saves annotations.
The comparison application 210 can maintain and persist a review state for each proposed change and indicate the review state of the change to a user. Review states can include, but are not limited to, “unreviewed”, “reviewed and accepted”, “reviewed and rejected”, “reviewed but needs further discussion”.
The comparison application 210 can interpret command annotations applied to changes or other blocks of content in the comparison document. Command annotations are annotations that have a specific meaning associated with it (e.g., accept a change) and a specific context (e.g., apply to a particular change or block of text in the comparison document. When command annotations are detected, the review status of the change will be marked accordingly by the comparison application 210.
The comparison application 210 can automatically apply proposed changes to the base document when the review state is set to “reviewed and accepted” via command annotations received from the review process or is set to that status in another way. The application of changes can occur in the background when the base document is not visible or in the foreground when the content of the base document is visible. When the content of the base document is visible during the application of changes, the application can be configured to show the proposed change to the user before the change is actually applied.
The review framework 299 shown in
Each review framework implementation 299 can include an export module 220, a data store 230, a review module 250, and an import module 270. The comparison application 210 identifies changes between two versions of a document to produce a comparison document. The export module 220 can be any combination of software agents, firmware, and/or hardware components able to receive the comparison document and render the content of the comparison document into an appropriate format for the particular review technology being targeted. The export module 220 also stores the location and extent of changes and other objects in the rendered version of the comparison document to the data store 230.
The data store 230 can be a database, file, or other electronic data storage artifact. The data store 230 can be located on a server computer and accessed remotely or on the computer on which the comparison application 210 is run.
In some embodiments, the data store 230 for location and/or extent information can be embedded in the electronic representation of the comparison document created by the export module. In some embodiments, the data store 230 can be embedded in the saved version of the comparison document generated by the comparison application 210.
The rendered version of the comparison document created by the export module 220 is then transferred to the reviewer in a publication/distribution process. Depending upon the technology targeted by the review framework, the publication/distribution process can also load the data onto any device to be used by the reviewer as part of the review module 250, for example, a personal computer or an iPad.
The review module 250 includes any hardware, software, or firmware needed by the reviewer to annotate the comparison document for a particular review technology. The review module 250 stores annotations entered by the reviewer. The review module 250 also electronically stores the location of each of the annotations. Annotations entered by the reviewer can include, but is not limited to, typed text, handwritten text, drawings, and voice notes. The review module 250 also performs the steps needed to return the annotation information for processing by the import module 270.
The import module 270 can be any combination of software agents, firmware, and/or hardware components able to collate the annotation information in the return data received from the review module 250 with the location information stored in the data store 230 to associate annotations with changes, characters, words, sentences, paragraphs, or other objects in the comparison document.
In general, the technologies targeted by the review framework implementation should have some basic properties as described below. The technology should have the ability to store the content of a comparison document and present it to a reviewer in a readable manner. The content of the comparison document should be able to be rendered to the reviewer. The reviewer should be able to make annotations on the comparison document using some mechanism, and the content of the annotations should be stored in electronic form. For each annotation, the technology should be capable of determining and storing the location in the comparison document to which the annotation refers. The location of each change and each character, word, sentence, paragraph, or other object in the comparison document should be determinable by the export module 220. And the information relating to all annotations from the reviewer (both content and location) should be electronically retrievable from the implementing technology and capable of return to the import module 270 via some mechanism.
In one embodiment, different export modules 304 can be used for different review technologies, and correspondingly, different import modules 306 can be used for different review technologies. For example, a first set of export module 304 and import module 306 can be dedicated to providing a framework for a digital paper technology, while a second set of export module 304 and import module 306 can be dedicated to providing a framework for an electronic file technology.
In some embodiments, the processor or server on which the import module 306 is executed is not the same as the computer on which the export module 304 is executed.
In some embodiments, the export module 304 and the import module 306 can form an integrated part of the comparison application.
The processor 310 can be used to run the review framework application. The memory 320 can include but is not limited to, RAM, ROM, and any combination of volatile and non-volatile memory. The memory 320 can store the review framework application. In one embodiment, the memory 320 can store location information of changes, characters, words, paragraphs, and other objects in the comparison document.
The input device 330 can include, but is not limited to, triggers to start and stop the review framework application, initiate other application functions, and provide review annotations to comparison documents. The output device 340 can be, but is not limited to, a display.
The network interface 360 can be one or more networking devices that enable the processor 310 to mediate data in a network with an entity that is external to the computer 399, for example a network adaptor card or a wireless network interface card.
In one embodiment, the computer 399 can communicate through the network interface 360 with a document database 370. The document database 370 can be used to store comparison documents, categorized changes, identified in the comparison documents, and review states of the changes.
At block 412, the export module renders the content of the comparison document into an appropriate format for the particular review technology being targeted, for example, digital paper.
Then at block 414, the export module stores the location of objects including, but not limited to, changes between the two versions of the documents being compared, characters, words, sentences, and paragraphs, in the rendered version. The objects are stored in a data store.
Then at decision block 422, the export module determines if the reviewer is using an electronic device. If the reviewer is not using an electronic device to provide annotations to a comparison document (block 422—No), at block 426 the export module sends the rendered version of the comparison document to the reviewer. The process ends at block 429.
If the reviewer is using an electronic device (block 422—Yes), at block 424 the module loads the exported data onto the reviewer's electronic device, and the process ends at block 429.
At decision block 440, the review module determines if the reviewer has finished entering annotations. In one embodiment, the reviewer can click on a button to indicate that there are no further annotations to be received. If the reviewer has not finished (block 440—No), the process returns to decision block 430. If the reviewer has finished (block 440—Yes), the process continues to block 442 where the review module transfers the annotation information to a device, for example, a computer, for importing. The process ends at block 449.
At block 454, the import module associates the annotation information and the location information. Then at block 456, the import module presents the associated information in a standard format to the comparison application. The process ends at block 459.
Review Using Digital Paper
In one embodiment, a reviewer can use digital paper to annotate a comparison document. For example, companies such as Anoto of Lund, Sweden and LiveScribe of Oakland, Calif. in the United States produce digital paper where ordinary sheets of paper are printed with a non-repeating pattern of almost invisible dots in addition to normal printing. A smart pen is used by the reviewer that is capable of seeing the dots on the paper, for example, by using an infra-red camera to determine its location on the page and which page of a document is being worked on. The smart pen records writing on the page and other information, such as voice notes, as data in its memory, and the data can be extracted and processed. By using an appropriate color laser printer, it is possible to print both the dot pattern and normal text on plain paper.
One skilled in the art will understand that other implementations of digital paper can also be used with the disclosed techniques for establishing a review framework with minor modifications to the techniques.
Then at block 512, the export module uses a customized printing process from the comparison application to prepare the comparison document for printing. In one embodiment, the customized printing process can use a custom printer driver and/or extensions to the comparison application. The print process overlays information needed for tracking annotations (e.g., the Anoto digital paper dot pattern) on a standard printout of the comparison document. In one embodiment, the print process can also place special patterns of dots and other overlaying images on each page to act as hotspots for activating particular features of smart pen functionality, e.g. the implementation of command annotations.
Then at block 514, the export module sends the output of the print process using normal operating system print functionality to an appropriate printer for the reviewer. The physical printout should then be conveyed to the reviewer. The process ends at block 529.
At decision block 530, the review module determines if any annotations have been received from the reviewer. If no annotations have been received (block 530—No), the process remains at decision block 530 until annotations are received. If annotations have been received (block 530—Yes), at block 532, the annotations and the corresponding locations of the annotations as determined by the smart pen, for example, by using a dot pattern on the paper, are stored on the smart pen. In one embodiment, the annotations can be sent using wireless networking to another storage device either as the annotations are made or at regular intervals.
At decision block 534, the review module determines if the custom review functions have been activated. If the review function has been activated (block 534—Yes), at block 536 the review module performs the review function and stores any additional annotations on the smart pen. The process continues to decision block 538.
If the review function has not been activated (block 534—No), the process continues to decision block 538 where the review module determines if the reviewer has finished making annotations to the comparison document. If the reviewer has not finished (block 538—No), the process returns to decision block 530.
If the reviewer has finished (block 538—Yes), at block 540 the review module accesses the annotation information stored on the smart pen for processing. The data stored on the smart pen can be recovered onto a personal computer or other device using one of the technologies for data transfer supported by the smart pen, for example, using a USB connection or wireless networking (e.g., Wi-Fi or Bluetooth).
At block 542, the data can then be transferred to the computer where importation of the data is to occur using one of a variety of mechanisms, such as e-mail, network file transfer, uploading to a web site, USB memory sticks, floppy disks, other removable storage devices, etc. The process ends at block 549.
At block 550, the import module accesses annotation information received from the review module. At block 552, the import module accesses the stored object location information in the data store.
At block 554, the import module associates the annotation information and the location information. Then at block 556, the import module presents the associated information in a standard format to the comparison application. The process ends at block 559.
Review Using a Electronic Paper Formats on a Personal Computing Device
In this implementation, the review technologies that are targeted are portable personal computing devices that are capable of displaying electronic documents and allowing a user to interact with and annotate them, for example, a tablet computer, iPad, eBook reader, laptop computer, etc. Electronic documents in this implementation typically means electronic paper formats such as the PDF or XPS file formats.
Electronic paper file formats consist of data pertaining to the layout of text, images, drawings and other objects on a number of virtual pages. In general, electronic paper documents may only be viewed and printed, they may not be edited. However, it is possible to attach annotations to electronic paper documents either within the main document itself or in an additional data store. Viewer applications for various electronic paper formats exist for a very wide range of personal computing devices, particularly for the PDF format. Many viewer applications have built-in functionality for adding annotations to the document. In some embodiments, existing viewer applications can be extended with this functionality or custom viewer application can be developed with such functionality. Thus, most portable personal computing devices will fulfill the requirements described above for a review technology with either existing device software or in conjunction with custom software to be developed and installed on the device.
Different portable personal computing devices provide different ways to manipulate and annotate the electronic paper version of the comparison document, for example, using a keyboard and/or mouse, using a touchscreen activated by fingertip touches and an on-screen keyboard, using a touchscreen activated by a stylus, using handwriting recognition or an on-screen keyboard, recording voice notes or other audio, or using a scroll ball, touchpad, buttons, keypad, etc. One skilled in the art will understand that current and future portable personal computing devices can have additional ways of accepting user input and enabling annotations to be made.
At block 612, the export module uses a customized printing process from the comparison application to create an electronic paper file having the appropriate file format representing the comparison document.
Then at block 614, the export module uses a print process to record the location of objects to the data store. Objects include, but are not limited to, changes between the two versions of the document being compared, characters, words, sentences, and paragraphs.
Then at block 620, the export module transmits the generated electronic paper file to the portable personal computing device used by the reviewer. The transmission can be performed using a method that includes, but is not limited to, e-mail, network file copying using wired or wireless networks, and transferring the file using a portable storage device. In one embodiment, the comparison application and the export module can be configured to automatically send the electronic paper file to the appropriate device. The process ends at block 629.
At decision block 630, the review module determines if any annotations have been received from the reviewer. If no annotations have been received (block 630—No), the process remains at decision block 630 until annotations are received. If annotations have been received (block 630—Yes), at block 632, the annotations and the corresponding locations of the annotations are stored. In one embodiment, the annotations and locations of the annotations can be stored within the original electronic paper file. In one embodiment, the annotations and locations can be stored in some other file or storage location, such as in the memory or other storage device of the portable personal computing device or a remote storage location such as an internet server, with the annotation data transferred via wireless networking as or soon after the annotations are made by the reviewer.
At block 640 the review module accesses the stored annotation information for processing. The stored annotation data can be accessed using a method that includes, but is not limited to, e-mail, network file copying using wired or wireless networks, and transferring the file using a portable storage device, etc. In one embodiment, if a custom application is used on the portable personal computing device to read and annotate the comparison document, the application can return the results automatically using one or more methods listed above. At block 642, the data can then be transferred to the computer where importation of the data is to occur. The process ends at block 649.
At block 650, the import module accesses annotation information received from the review module. At block 652, the import module accesses the stored object location information in the data store.
At block 654, the import module associates the annotation information and the location information. Then at block 656, the import module presents the associated information in a standard format to the comparison application. The process ends at block 659.
Unless the context clearly requires otherwise, throughout the description and the claims, the words “comprise,” “comprising,” and the like are to be construed in an inclusive sense (i.e., to say, in the sense of “including, but not limited to”), as opposed to an exclusive or exhaustive sense. As used herein, the terms “connected,” “coupled,” or any variant thereof means any connection or coupling, either direct or indirect, between two or more elements. Such a coupling or connection between the elements can be physical, logical, or a combination thereof. Additionally, the words “herein,” “above,” “below,” and words of similar import, when used in this application, refer to this application as a whole and not to any particular portions of this application. Where the context permits, words in the above Detailed Description using the singular or plural number may also include the plural or singular number respectively. The word “or,” in reference to a list of two or more items, covers all of the following interpretations of the word: any of the items in the list, all of the items in the list, and any combination of the items in the list.
The above Detailed Description of examples of the invention is not intended to be exhaustive or to limit the invention to the precise form disclosed above. While specific examples for the invention are described above for illustrative purposes, various equivalent modifications are possible within the scope of the invention, as those skilled in the relevant art will recognize. For example, while digital paper and electronic paper files are mentioned, any type of review technology may be used under the principles disclosed herein. While processes or blocks are presented in a given order in this application, alternative implementations may perform routines having steps performed in a different order, or employ systems having blocks in a different order. Some processes or blocks may be deleted, moved, added, subdivided, combined, and/or modified to provide alternative or subcombinations. Also, while processes or blocks are at times shown as being performed in series, these processes or blocks may instead be performed or implemented in parallel, or may be performed at different times. Further any specific numbers noted herein are only examples. It is understood that alternative implementations may employ differing values or ranges.
The various illustrations and teachings provided herein can also be applied to systems other than the system described above. The elements and acts of the various examples described above can be combined to provide further implementations of the invention.
Any patents and applications and other references noted above, including any that may be listed in accompanying filing papers, are incorporated herein by reference. Aspects of the invention can be modified, if necessary, to employ the systems, functions, and concepts included in such references to provide further implementations of the invention.
These and other changes can be made to the invention in light of the above Detailed Description. While the above description describes certain examples of the invention, and describes the best mode contemplated, no matter how detailed the above appears in text, the invention can be practiced in many ways. Details of the system may vary considerably in its specific implementation, while still being encompassed by the invention disclosed herein. As noted above, particular terminology used when describing certain features or aspects of the invention should not be taken to imply that the terminology is being redefined herein to be restricted to any specific characteristics, features, or aspects of the invention with which that terminology is associated. In general, the terms used in the following claims should not be construed to limit the invention to the specific examples disclosed in the specification, unless the above Detailed Description section explicitly defines such terms. Accordingly, the actual scope of the invention encompasses not only the disclosed examples, but also all equivalent ways of practicing or implementing the invention under the claims.
While certain aspects of the invention are presented below in certain claim forms, the applicant contemplates the various aspects of the invention in any number of claim forms. For example, while only one aspect of the invention is recited as a means-plus-function claim under 35 U.S.C. §112, sixth paragraph, other aspects may likewise be embodied as a means-plus-function claim, or in other forms, such as being embodied in a computer-readable medium. (Any claims intended to be treated under 35 U.S.C. §112, ¶ 6 will begin with the words “means for.”) Accordingly, the applicant reserves the right to add additional claims after filing the application to pursue such additional claim forms for other aspects of the invention.
This application claims the benefit of U.S. Provisional Application No. 61/417,869 entitled SYSTEM AND METHOD FOR PROVIDING A COMMON FRAMEWORK FOR REVIEWING COMPARISONS OF ELECTRONIC DOCUMENTS, filed Nov. 29, 2010, and is hereby incorporated by reference in its entirety. This patent application is related to the technologies described in the following patents and applications, all of which are incorporated herein in their entireties: U.S. Provisional Application No. 61/417,853, entitled METHODS AND SYSTEMS FOR MONITORING DOCUMENTS EXCHANGED OVER EMAIL APPLICATIONS, filed Nov. 29, 2010; and U.S. Provisional Application No. 61/417,855, entitled METHODS AND SYSTEMS FOR MONITORING DOCUMENTS EXCHANGED OVER EMAIL APPLICATIONS, filed Nov. 29, 2010; and U.S. Provisional Application No. 61/417,858, entitled SYSTEM AND METHOD FOR PRESENTING COMPARISONS OF ELECTRONIC DOCUMENTS, filed Nov. 29, 2010.
Number | Date | Country | |
---|---|---|---|
61417869 | Nov 2010 | US | |
61417853 | Nov 2010 | US | |
61417855 | Nov 2010 | US | |
61417858 | Nov 2010 | US |