Document changes

A computer-readable medium is designed to display document differences through prompts and tags, addressing the challenge of managing document versions and changes, thereby improving user interaction and control.

JP2026086776APending Publication Date: 2026-05-26CFPH LLC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
CFPH LLC
Filing Date
2026-02-17
Publication Date
2026-05-26

AI Technical Summary

Technical Problem

Existing technologies lack efficient methods for displaying differences in documents, particularly in computer-readable media, which hinders effective comparison and management of document versions.

Method used

A computer-readable medium is developed to display differences in documents, utilizing prompts and document tags to highlight modifications and versions, enabling users to easily identify and manage changes.

Benefits of technology

Facilitates the efficient display and management of document differences, enhancing user interaction and document version control by providing clear visual cues and prompts for document comparison.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026086776000001_ABST
    Figure 2026086776000001_ABST
Patent Text Reader

Abstract

This invention provides a computer-readable medium and method for displaying differences in documents. [Solution] When the user presses the "View Changes" button, various modifications to the user's document are displayed in section 415 of prompt 400, which has labels. Added text is indicated with an underline, and deleted text is indicated with a strikethrough. Line numbers are added for the convenience of indicating the line in the document in which the changes were made. Section 415 of prompt 400 shows only that line in the document in which the changes were made.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to a computer-readable medium or the like for displaying differences in documents and the like.

Summary of the Invention

Means for Solving the Problems

[0002] The following Sections I to X provide guidance for the interpretation of this application.

[0003] I. Terms The term "product" means any machine, manufacture, and / or composition, unless otherwise indicated.

[0004] The term "method" means any process, algorithm, method, etc., unless otherwise specified.

[0005] Each process (even if called by other names such as method, algorithm) essentially includes one or more steps. Therefore, all references to the "step" or "steps" of a process have an essentially preceding description in a mere enumeration of the "process" or similar terms. Thus, any reference to the "step" or "steps" of a process has a sufficiently preceding description.

[0006] Terms such as "invention" mean "one or more inventions disclosed in the specification of this application", unless otherwise indicated.

[0007] Terms such as "one embodiment", "embodiment", "embodiments", "the embodiment", "the embodiments", "one or more embodiments", "some embodiments", "an embodiment", "one embodiment", "another embodiment" mean "one or more (but not necessarily all) embodiments of the disclosed invention", unless otherwise indicated.

[0008] The term "variation" in this invention means embodiments of the invention unless otherwise specified.

[0009] A reference to "another embodiment" in the description of an embodiment does not imply that the referenced embodiment is mutually exclusive with another embodiment (for example, an embodiment described earlier than the referenced embodiment), unless otherwise stated.

[0010] Unless otherwise specified, "to include," "to contain," and variations thereof mean "to include but not to limit."

[0011] The terms "a," "an," and "the" mean "one or more" unless otherwise specified.

[0012] The term "plural" means "two or more" unless otherwise specified.

[0013] The term "herein" means "including all which may be incorporated by reference in this application" unless otherwise specified.

[0014] The phrase "at least one" means any combination of one or more of the items (such as a list of enumerated items) when it modifies multiple items, unless otherwise specified. For example, the phrase "at least one of a widget, a car, and a wheel" means any of (i) a widget, (ii) a car, (iii) a wheel, (iv) a widget and a car, (v) a widget and a wheel, (vi) a car and a wheel, or (vii) a widget, a car, and a wheel. The phrase "at least one" does not mean "one of each" of the items when it modifies multiple items.

[0015] When the numerical terms "one," "two," and other numeral terms are used as cardinal numbers to indicate a quantity of something (e.g., one small appliance, two small appliances), they mean the quantity indicated by the numeral term, but not at least the quantity indicated by the numeral term. For example, the term "one small appliance" does not mean "at least one small appliance," and therefore the term "one small appliance" does not extend to, for example, "two small appliances."

[0016] The phrase "based on" does not mean "based solely on" unless otherwise specified. The phrase "based on" can mean both "based solely on" and "based at least on". The phrase "based at least on" is equivalent to the phrase "based at least partially on".

[0017] The term "represent" and similar terms are not mutually exclusive unless otherwise specified. For example, the term "represent" does not mean "represent only" unless otherwise specified. In other words, the phrase "the data represents a credit card number" can mean both "the data represents only a credit card number" and "the data represents a credit card number, and also represents something else."

[0018] The term “whereby” is used in this specification only to precede a clause or other set of words that express only the intended result, purpose or consequence of something explicitly enumerated previously. The term “whereby” in a claim means that the clause or other words modified by the term “whereby” do not establish any further specific limitation of the claim, nor any other limitation on the meaning or scope of the claim.

[0019] The term "e.g." and similar terms mean "for example" and do not limit the terms or phrases they describe. For example, in the sentence "A computer transmits data (e.g., instructions, data structures) over the internet," the term "e.g." explains that "instructions" are examples of "data" that a computer may transmit over the internet, and that "data structures" are also examples of "data" that a computer may transmit over the internet. However, both "instructions" and "data structures" are simply examples of "data," and anything other than "instructions" and "data structures" can be "data."

[0020] The terms "each" and similar terms mean "individually." Therefore, if two or more things have their "each" characteristics, then each of them has its own characteristics, and these characteristics may, but do not have to, differ from one another. For example, the phrase "both machines have their respective functions" means that the first machine has a function, and the second machine has a similar function. The function of the first machine may or may not be the same as the function of the second machine.

[0021] "That is to say" and similar terms mean "that is to say" and thus limit the term or phrase they describe. For example, in the sentence "Computers transmit data (i.e., instructions) over the internet," the term "that is to say" explains that "instructions" are the "data" that computers transmit over the internet.

[0022] Any given numerical range shall include all or part of the numbers within that range. For example, the range "1 to 10" shall be interpreted as specifically including integers (e.g., 1, 2, 3, 4, ... 9) and non-integers (e.g., 1.1, 1.2, ... 1.9) from 1 to 10.

[0023] If two or more terms or phrases are synonyms (e.g., for the express statement that the term or phrase is a synonym), an example of one such term / phrase does not mean that an example of another such term / phrase must have a different meaning. For example, when a description states that the meaning of "comprising" is a synonym for "including but not limited to", simply using the phrase "including but not limited to" does not mean that the term "comprising" means something other than "including but not limited to".

[0024] II. Determination The term "determine" and its grammatical variations (e.g., determine the price, determine the value, determine an object meeting a certain criterion, etc.) are used in a very broad sense. Since the term "determine" contemplates a wide range of actions, "determine" can include calculate, compute with a computer, process, derive, investigate, examine (e.g., examine a table, database or another data structure), verify, etc. Similarly, "determine" can include receive (e.g., receive information), access (e.g., access data in memory), etc. Similarly, "determine" can include solve, select, choose, establish, etc.

[0025] Since the term "determine" does not imply certainty or absolute accuracy, "determine" can include the meanings of estimate, presume, predict, conjecture, etc.

[0026] The term "determine" does not include that a mathematical process must be performed, does not include that a numerical method must be used, and does not include the meaning that an algorithm or process is used.

[0027] The term "determine" does not include the meaning that any particular device must be used. For example, a computer does not necessarily have to perform a determination.

[0028] III. Style Where the limitation in the first claim extends to one feature and one or more features (for example, a limitation such as "at least one small appliance" extends to one small appliance and one or more small appliances), and in a second claim that depends on the first claim, where the second claim uses the definite article "the" (for example, "the small appliance") to refer to this limitation, this does not imply that the first claim extends to only one feature, and this does not imply that the second claim extends to only one feature (for example, "the small appliance" can extend to one small appliance and one or more small appliances).

[0029] Ordinal numbers (for example, "first", "second", "third", etc.) are used as adjectives before a term, and this ordinal number (unless otherwise specified) is used only to indicate a particular feature, for example, to distinguish that particular feature from another feature described by the same term or a similar term. For example, "the first small appliance" may be named only for the purpose of distinction from, for example, "the second small appliance". Thus, simply using the ordinal numbers "first" and "second" before the term "small appliance" does not indicate any other relationship between the two small appliances, nor does it indicate any feature of either or both of the small appliances. For example, simply using the ordinal numbers "first" and "second" before the term "small appliance" does not indicate (1) that either small appliance comes before or after any other thing in order or location, (2) that either small appliance operates before or after any other thing in time, and (3) that either small appliance is ranked above or below any other thing in importance or quality. In addition, simply using an ordinal number does not define a numerical limitation on the feature identified by the ordinal number. For example, simply using the ordinal numbers "first" and "second" before the term "small appliance" does not indicate that there must not be more than two small appliances.

[0030] Where a single device, article, or other product is described in this specification, one or more devices / articles (whether they work together or not) may be used as substitutes for the single device / article described. Accordingly, the functionality described as being possessed by a device may also be possessed by one or more devices / articles (whether they work together or not).

[0031] Similarly, where one or more devices, articles, or other products are described in this specification (whether they work together or not), a single device / article may be used as a substitute for one or more of the described devices or articles. For example, multiple computer systems may be replaced by a single computer system. Thus, a single device / article may substitute for various functionalities described as being possessed by one or more devices or articles.

[0032] The functionality and / or features of a single device described may be embodied by one or more other devices, which are described but not explicitly stated to possess such functionality and / or features. Therefore, other embodiments do not necessarily have to include the described device itself, but rather may comprise one or more other devices that would possess such functionality / features in those other embodiments.

[0033] IV. The examples and terminology used in the disclosure are not limiting. Neither the title of the invention (described at the beginning of page 1 of this application) nor the abstract (described at the end of this application) should be construed as limiting the scope of the invention disclosed in any way. The abstract is included in this specification simply because the requirement of U.S. Patent Implementing Rules 37 CFR 1.72(b) is that an abstract not exceeding 150 words is required.

[0034] The title of the invention and the chapter headings provided in this application are for convenience only and should not be construed as limiting the disclosure in any way.

[0035] Numerous embodiments are described in this application and presented for illustrative purposes only. The described embodiments are not, and are not intended to be, limiting in any sense. The invention disclosed is broadly applicable to numerous embodiments, as is immediately apparent from the disclosure. Those skilled in the art will recognize that the disclosed invention may be practiced with various modifications and alterations, including structural, logical, software, and electrical variations. Certain features of the invention disclosed may be described with reference to one or more specific embodiments and / or drawings, but it should be understood that such features are not limited to use in one or more embodiments or drawings relating to them unless otherwise stated.

[0036] Any embodiment of the steps of the method or elements of the product described in this application does not constitute, is not essential to, or is not identical to the claimed invention, unless otherwise described in this specification or enumerated in the claims.

[0037] Every term in the claims has the broadest meaning that a person skilled in the art would have as of the priority date. No terms used in any claim are specifically defined or limited by this specification unless otherwise stated in this specification or in the claims.

[0038] The preface to the claims is merely a list of the purpose, benefits and possible uses of the claimed invention and does not limit the claimed invention.

[0039] This disclosure does not verbatim describe all embodiments of the present invention. Similarly, this disclosure does not enumerate features of the present invention that must be present in all embodiments.

[0040] Devices described as being able to communicate with each other do not need to communicate with each other continuously unless otherwise specified. Conversely, such devices only need to transmit data to each other when necessary or desired, and may actually cease exchanging data for most of the time. For example, a machine communicating with another machine via the internet does not need to transmit data to the other machine for long periods (e.g., several weeks at a time). In addition, devices communicating with each other may communicate directly or indirectly through one or more intermediaries.

[0041] The description of embodiments having various components or features does not imply that all or any of those components or features are necessary. On the contrary, a variety of arbitrary components are described in order to illustrate the broad diversity of possible embodiments of the present invention. Unless otherwise stated, no component / feature is essential or necessary.

[0042] The steps, algorithms, etc., of a method may be described or claimed in a specific order, but such methods may be configured to operate in a different order. In other words, any order or sequence of steps that may be explicitly described or claimed does not necessarily imply that those steps must be performed in that order. The steps of the methods described in this specification may be performed in any possible order. Furthermore, some steps may be performed simultaneously, even though they are described or implied to occur non-simultaneously (for example, one step is described after another). Moreover, the illustration of a method by drawing does not imply that the illustrated method is exclusive to other variations and changes thereto, that the illustrated method or any of its steps is necessary for the present invention, or that the illustrated method is preferable.

[0043] A method may be described as involving multiple steps, but this does not mean that all or any of those steps are preferred, essential, or necessary. Various other embodiments within the scope of the described invention include other methods that exclude some or all of the steps described. Unless otherwise stated, no step is essential or necessary.

[0044] The method may be described alone or without reference to other products or methods, but in one embodiment, the method may interact with other products or methods. For example, such interaction may include linking one business model to another. Such interaction may be provided to enhance the flexibility or desirability of the method.

[0045] A product may be described as comprising multiple components, aspects, qualities, characteristics, and / or features, but this does not mean that all or any of these multiple components are preferred, essential, or necessary. Various other embodiments within the scope of the described invention include other products other than some or all of the multiple components described.

[0046] The enumerated list of items (which may or may not be numbered) does not imply that all or any of those items are mutually exclusive unless otherwise stated. Similarly, the enumerated list of items (which may or may not be numbered) does not imply that all or any of those items encompass any classification unless otherwise stated. For example, the enumerated list "computers, laptops, PDAs" does not imply that all or any of the three items in that list are mutually exclusive, nor does it imply that all or any of the three items in that list encompass any classification.

[0047] The enumerated list of items (which may or may not be numbered) does not imply that all or any of those items are equivalent to or immediately replace one another.

[0048] All embodiments are for illustrative purposes only and do not imply that the present invention or any of its embodiments have been, in some cases, manufactured or carried out.

[0049] V. Computing It will be immediately apparent to those skilled in the art that the various methods described in this specification may be implemented, for example, in a appropriately programmed general-purpose computer, a special-purpose computer, and a computer computing device. Typically, a processor (e.g., one or more microprocessors, one or more microcontrollers, one or more digital signal processors) receives instructions (e.g., from memory or a similar device), executes those instructions, and thereby implements one or more methods defined in the instructions. Instructions may be embodied, for example, in one or more computer programs, one or more scripts.

[0050] "Processor" means one or more microprocessors, central processing units (CPUs), computer computing devices, microcontrollers, digital signal processors, or similar devices, or any combination thereof, regardless of architecture (e.g., multiprocessing / multicore chip-level, RISC, CISC, microprocessors with uninterlocked pipeline stages, pipeline configurations, simultaneous multithreading, etc.).

[0051] Accordingly, the description of the method is similar to the description of the apparatus for carrying out the method. The apparatus for carrying out the method may include, for example, a processor suitable for carrying out the method and its input and output devices.

[0052] Furthermore, programs implementing such methods (and other types of data) may be stored and transmitted in various forms on various media (e.g., computer-readable media). In some embodiments, hardware-implemented circuits or custom hardware may be used in place of or in combination with some or all software instructions capable of implementing the methods of various embodiments. Thus, various combinations of software and hardware may be used instead of software alone.

[0053] The term “computer-readable medium” refers to any medium, multiple identical mediums, or combinations of different mediums that together provide data (e.g., instructions, data structures) that may be read by a computer, processor, or similar device. Such mediums may take many forms, including, but are not limited to, non-volatile mediums, volatile mediums, and transmission mediums. Non-volatile mediums include, for example, optical or magnetic disks and other persistent memory. Volatile mediums include dynamic random-access memory (DRAM), which typically constitutes main memory. Transmission mediums include coaxial cables, copper wires, and optical fibers, and wired connections including system buses connected to processors. Transmission mediums may include or transmit acoustic waves, light waves, and electromagnetic radiation, such as those generated during radio frequency (RF) and infrared (IR) data communications. Common formats for computer-readable media include, for example, floppy disks (trademark), flexible disks, hard disks, magnetic tapes, any other magnetic media, CD-ROMs, DVDs, any other optical media, punch cards, paper tapes, any other physical media having patterns or holes, RAM, PROMs, EPROMs, flash EEPROMs, any other memory chips or cartridges, carriers as described later in this specification, or any other media that can be read by a computer.

[0054] Various forms of computer-readable media may be included in the transmission of data (e.g., a series of instructions) to a processor. For example, the data may (i) be carried from RAM to the processor, (ii) be transmitted over a wireless transmission medium, (iii) be formatted and / or transmitted in accordance with numerous formats, standards or protocols such as Ethernet® (or IEEE 802.3), SAP, ATP, Bluetooth®, and / or TCP / IP, TDMA, CDMA, and 3G, and / or (iv) be encrypted for privacy protection or fraud prevention in any of the various methods known to the art.

[0055] Therefore, the description of the method is similar to the description of a computer-readable medium containing a program for carrying out the method. The computer-readable medium can contain program elements appropriate for carrying out the method (in any suitable format).

[0056] Just as the description of various steps in a method does not indicate that all described steps are necessary, embodiments of the apparatus include a computer / computer computing device capable of performing some (but not necessarily all) of the described methods.

[0057] Similarly, just as the description of various steps in a method does not indicate that all described steps are necessary, embodiments of computer-readable media for storing a program or data structure include computer-readable media that, at runtime, can cause a processor to perform some (but not all) of the described methods.

[0058] When a database is described, a person skilled in the art will understand that (i) an alternative database may be immediately used instead of the one described, and (ii) other memory structures other than databases may be immediately used. Any illustration or description of a database as an example presented in this specification is an illustrative configuration for representing that information is stored. For example, any number of other configurations may be used instead of those presented in drawings or elsewhere, such as tables. Similarly, any illustrated inputs to a database represent illustrative information only, and a person skilled in the art will understand that the number and content of inputs may differ from those described in this specification. Furthermore, notwithstanding any representation of a database as a table, other formats (including relational databases, object-based models, and / or distributed databases) may be used to store and manipulate the types of data described in this specification. Similarly, objective methods or operations of a database may be used to implement various methods, such as those described in this specification. In addition, a database may be stored locally or remotely from the device that accesses the data in the database, in a known form.

[0059] Various embodiments can be configured to operate in a network environment including a computer in communication with one or more devices (for example, via a communication network). The computer may communicate with the devices directly or indirectly via any wired or wireless medium (e.g., the Internet, LAN, WAN or Ethernet, Token Ring, telephone lines, cable lines, radio channels, optical communication lines, commercial online service providers, electronic bulletin board systems, satellite communication links, or any combination thereof). Each device may include itself a computer or other computer computing device, such as an Intel® Pentium® or Centrino® processor, connected to communicate with the computer. Any number and types of devices may communicate with the computer.

[0060] In one embodiment, a server computer or centralized base may not be required or desirable. For example, in one embodiment, the present invention may be executed on one or more devices without a central base. In such an embodiment, any function described in this specification as being performed by a server computer, or data described as being stored on a server computer, may instead be performed and stored on one or more such devices.

[0061] Where a method is described, in one embodiment the method may operate without any user intervention. In another embodiment the method includes some human intervention (for example, steps are performed with or with human assistance).

[0062] VI. Continuing Application This disclosure provides descriptions that enable those skilled in the art to carry out various embodiments and / or inventions. Some of these embodiments and / or inventions may not be claimed in this application, but may not be claimed in one or more subsequent applications claiming priority to this application.

[0063] The applicants have met the disclosure and enablement requirements, but are willing to file additional specifications to continue the patent for subject matter not claimed in this application.

[0064] VII. Section 112, paragraph 6 of the United States Patent Act Any limitation of a claim that includes the phrases “means to do” or “steps to do” means that Section 112, paragraph 6 of the U.S. Patent Act applies to that limitation.

[0065] Any limitation of a claim that does not include the phrases “means to do” or “steps to do” means that Section 112, paragraph 6 of the U.S. Patent Act does not apply to such limitation, regardless of whether the limitation enumerates functions without actions for carrying out a structure, material or function. For example, the use of the phrases “steps of” or “steps of” in a claim, referring to one or more steps in a claim or another, does not mean that Section 112, paragraph 6 of the U.S. Patent Act applies to those steps.

[0066] With respect to means or steps for performing a particular function as described in Section 112, paragraph 6 of the United States Patent Act, the corresponding structures, materials or actions, and their equivalents described in the specification may perform additional functions as well as that particular function.

[0067] Computers, processors, computer calculating devices, and similar products are structures capable of performing a wide range of diverse functions. Such products can operate to perform specific functions by executing one or more programs, such as programs stored in the product's memory devices or in memory devices accessed by the product. Unless otherwise stated, such programs do not need to be based on any particular algorithm, such as any specific programs disclosed in this application. It is well known to those skilled in the art that specific functions may be implemented through different algorithms, and that any number of different algorithms may be merely a design choice for performing a particular function.

[0068] Therefore, with respect to means or steps for performing a particular function as defined in Section 112, paragraph 6 of the U.S. Patent Act, a structure corresponding to a particular function includes any product programmed to perform that particular function. Such structures include programmed products that perform that function, regardless of whether such product is programmed using (i) a disclosed algorithm for performing the function, (ii) an algorithm similar to the disclosed algorithm, or (iii) a different algorithm for performing the function.

[0069] Where means for performing a function are listed, one structure for performing this method comprises a computer device (e.g., a general-purpose computer) programmed and / or configured with appropriate hardware for performing that function. Similarly, another computer device (e.g., a general-purpose computer) programmed and / or configured with appropriate hardware for performing that function via other algorithms that would be understood by a person skilled in the art.

[0070] VIII.Disclaimer Numerous references to specific embodiments do not constitute a disclaimer or denial of additional different embodiments, and similarly, references to descriptions of embodiments that include all of a particular feature do not constitute a disclaimer or denial of embodiments that do not include that particular feature. Any express disclaimers or denials in this application are preceded by the phrases "does not include" or "does not implement".

[0071] IX. References Any patent or other document referenced in this specification is incorporated by reference as part of this disclosure, but only for the purposes of the disclosure requirements and enablement requirements of § 112, paragraph 1 of the U.S. Patent Act. This application does not fail to provide an elucidate meaning without such reference, but rather allows for an elucidate meaning to the terms it provides, without restricting, defining or differently interpreting any term in this application in any way. Accordingly, a person skilled in the art should not be restricted in any way by any embodiment presented in the references.

[0072] Any reference by which an invention is invoked, unless otherwise stated, does not imply endorsement, approval, or tacit acceptance of any declaration, opinion, argument, or feature contained in any patent, patent application, or other document being invoked.

[0073] X. Application History In interpreting this application (including the claims), regardless of whether there are other patent applications that are considered relevant to this application, or whether there are other patent applications that share a priority claim with this application, a person skilled in the art should refer to the application history of this application rather than the application history of any other application or patent application. [Brief explanation of the drawing]

[0074] [Figure 1] This figure shows prompts according to several embodiments. [Figure 2] This figure shows prompts according to several embodiments. [Figure 3] This figure shows prompts according to several embodiments. [Figure 4] This figure shows prompts according to several embodiments. [Figure 5] This figure shows prompts according to several embodiments. [Figure 6] This figure shows prompts according to several embodiments. [Modes for carrying out the invention]

[0075] prompt As used in this specification, a prompt may include a message presented to the user. This message may be a question, a warning, an item of information, or any other message. An example of a prompt is a message asking whether the user wants to save changes made to a document. A prompt may include user options for a response. For example, a prompt may include a button that the user can click to indicate a response to the prompt, such as "yes" or "no." A prompt may include a window, a box, a dialog box, and any other area where a message is displayed to the user. A prompt may be triggered, activated, or started by a program (e.g., Microsoft Word®), by the operating system, or by any other software. In various embodiments, a button on a prompt may include a message itself. For example, a button on a prompt may be labeled "View Changes," which can function as a message to the user, informing the user that by pressing the button, they can view the modifications made to the document.

[0076] document As used in this specification, the term “document” may include datasets. Data may be stored as groups or units. Data may be stored in computer memory, on computer storage media (e.g., on a compact disc (CD), e.g., on a digital multipurpose disc (DVD), e.g., on a floppy disk (registered trademark), e.g., on a general-purpose serial bus (USB) drive), on a server, on a network, or in any other location. The data constituting a document may be stored in one or more locations. For example, a document may include a first dataset stored on a first computer and a second dataset stored on a second computer. A document may be stored in one or more remote locations. For example, a document may include a first dataset stored on a first computer in Australia and a second dataset stored on a second computer in Argentina.

[0077] A document may contain data stored in any appropriate format. This may include data stored as bits, bytes, qubits, characters, digital formats, analog formats, and any other formats. A document may also contain data on printed pages, such as words on printed pages. A document may contain data stored in a compressed format. A document may also contain data stored in an encrypted format.

[0078] In various embodiments, a dataset may be part of two or more documents. For example, a single image may be used within one or more documents. The image may be stored in only one location. Another example is that a dataset may form a document by itself, or it may be a subset of a larger dataset, and the larger dataset may similarly form a document. For example, the first dataset may correspond to a modified version of the second dataset, or it may be stored as part of a larger dataset, accompanying the second dataset. The first dataset may thus constitute one document. The second dataset may constitute another document. A third document may be formed by combining the first and second datasets.

[0079] In various embodiments, data constituting a document may be distinguished from data that does not constitute that document. The term “document tag” as used in this specification may include data that defines what data is contained within a particular document. For example, a document tag may specify a location in computer memory such that all memory addresses within that specified range are considered to contain data that is part of the same document. In various embodiments, a document tag may or may not form part of a document itself. In various embodiments, a document tag may include data other than data that defines what data is contained within a particular document. For example, a document tag may include (a) data that defines what data is contained within a particular document, and (b) data that indicates what program (e.g., Microsoft Excel®, Microsoft Word®) should be used to interpret the data in that document.

[0080] Copy of document In various embodiments, copies of a document may exist. If the first document contains a first dataset, a copy of the first document may contain a second dataset. The second dataset may be stored in a location separate from the first dataset. For example, the first dataset may be stored in the random access memory of a computer, while the second dataset may be stored on the computer's hard drive. The second dataset may be stored in a different location from the first dataset, but it may be similar to the first dataset. For example, the first and second datasets may represent exactly the same text characters. As another example, the first and second datasets may contain the same bit sequence. The second dataset may constitute a second document. In various embodiments, a third document may consist of the first and second documents.

[0081] In various embodiments, the first document and the second document, which is a copy of the first document, may contain the same dataset. For example, the data constituting the first document may be stored in the same memory location as the data constituting the second document. In various embodiments, the first document and the second document, which is a copy of the first document, may contain duplicate datasets. For example, the first document may contain the first and second datasets, while the copy of the first document may contain the second and third datasets.

[0082] Document version In various embodiments, versions of a document may exist. If a document includes a first dataset, a version of that document may include a second dataset. The second dataset may constitute a second document. The second dataset may be stored in a location separate from the first dataset. For example, the first dataset may be stored in random-access memory on a computer, while the second dataset may be stored on a hard drive on that computer. The second dataset may be stored in a different location from the first dataset, but it may be similar to the first dataset. For example, the second dataset may represent the number of characters, which is also represented by the first dataset.

[0083] In various embodiments, the first document and the second document, which is a version of the first document, may contain overlapping datasets. For example, the first document may contain the first and second datasets, while the second document may contain the first and third datasets.

[0084] In various embodiments, a version of the first document may be a second document created as a copy of the first document at some earlier point in time. For example, a user may be using a word processing program. The user may save a copy of the document they are working on. The user may then continue to add text to that document. Thus, the saved copy may represent a version (e.g., an earlier version) of the document the user is currently working on.

[0085] Displayed data vs. stored data A document can contain data to be stored as well as data to be displayed. For example, a document may contain a set of text characters that are displayed for human perception (e.g., on a computer monitor), as well as a binary representation of the same text characters. Another example is that a document (e.g., an image) may contain colored pixels, as well as a binary representation for displaying those colors on different pixels.

[0086] Various embodiments envision files, documents, or other data sets that can be modified. This modification may occur using a program, such as a word processing program, a spreadsheet program, a drawing program, a database program, an editing program, an email creation program, an image processing program, a music composition and arrangement program, a document sharing program, or any other program. Example documents include Microsoft Word® documents and Microsoft Excel® documents. Example programs include Microsoft Word®, Microsoft Excel®, Microsoft PowerPoint®, Microsoft Access®, Microsoft Visio®, Microsoft Outlook®, and Twiki.

[0087] Modifications to a document include: (a) adding or deleting text; (b) adding or deleting whitespace characters such as spaces, line breaks, tabs, and other whitespace characters; (c) adding or deleting tables; (d) changing formatting such as margins, fonts, text size, line spacing, highlighting, chapter numbering, indentation, or any other formatting; (e) changing colors such as fill colors in shapes or cell colors in spreadsheets; and (f) modifying word processing documents, including shapes used in slide presentations, including shapes used in drawing programs. (g) adding or removing shapes (e.g., circles, rectangles, triangles, lines, arrows, and other shapes), including shapes used in the comments; (h) adding or removing charts, tables, graphs, photographs, symbols, or other images; (i) changing the position of text; (j) changing the position of shapes; (k) changing the size of shapes; (l) changing the size of charts, tables, graphs, photographs, symbols, or other images; (m) changing the orientation of shapes, charts, tables, graphs, photographs, symbols, or other images; and any other modifications.

[0088] The term “save” as used in this specification may include the process of creating copies or versions of a document. For example, a computer may save a document containing a first dataset by creating a second dataset that is identical to the first dataset but stored in a different location. In various embodiments, a computer may save a document containing a first dataset stored in random-access memory by creating a second dataset stored on the computer’s hard drive. In various embodiments, a computer may save a copy of a document containing a first dataset stored in a relatively primary area by creating a second dataset stored in a relatively fixed area. In various embodiments, two versions of a document may exist. One version may include a more recently modified version, such as one in which text has been most recently added. In various embodiments, the save operation may include discarding the older version of the document and replacing it with the most recently modified version. As is expected, there may be any number of implementations of the save process, and the specific descriptions of save in this specification are not intended to be limiting in any way.

[0089] Opening and editing documents In various embodiments, a user can open a document for the purpose of making modifications to it. The user may indicate their desire to open a document by, for example, double-clicking an icon representing the document using a computer mouse, by typing the document's name on a command line, by selecting the document's name from a built-in menu system (for example, using the "Open" option in the "File" menu of Microsoft Word®), or by any other method of opening a document.

[0090] The document selected to be opened may include a first dataset stored in a first location. For example, the document selected to be opened may include a first dataset stored on the computer's hard drive. When the document is opened, the first dataset may remain stored in the same location. However, a copy of the document may be created. The copy of the document may include a second dataset stored in a second location. The second dataset may initially be identical to the first dataset (for example, the second dataset may contain the same bit sequences as the first dataset, or represent the same character sequences as the first dataset). The second location may be an accessible medium, such as random-access memory. Thus, after the document is opened, two versions of the document may exist. One version may remain the document as it was when it was opened. This version may be stored on the computer's hard drive. The other version may be the document currently being viewed and edited by the user. The second version may be stored in random-access memory or some other fast-accessible medium. In various embodiments, these two versions of the document can be considered part of the same document.

[0091] When a document is opened, the first version may be in a first location, while the second version may be in a second location. The first version may represent the document as it is at the time it is opened. The user can then proceed to modify the second version. The user can modify the second version by issuing commands to the computer. The user can issue commands through typing, mouse movements and clicks, or other computer input or the issuance of other inputs. Note that key presses or mouse clicks themselves may be commands. The user does not necessarily need to type out commands for the purpose of modifying a version of the document. If desired, the user can "save" the modified second version. When the user saves these modifications, the data constituting the second version may be copied to another storage location, such as the computer's hard drive, and then a third version of the document may be created. The first version of the document may be erased. In some embodiments, the data for the third version of the document may simply be used to overwrite the data for the first version of the document. Thus, in various embodiments, the third version of the document may replace the first version of the document. In various embodiments, data representing the differences between a revised second version of the document and the first version may be stored. Thus, the second version may be reproducible by using the stored first version of the document along with the data representing the changes. It should be considered that there may be many other possible ways to implement the “save” operation.

[0092] After a "save" operation, two versions of the document may exist again. The version currently stored in the first location (e.g., a relatively fixed location such as a computer hard drive) may represent the originally opened version with any modifications made to that version up to the time of the save operation. The version currently stored in the second location (e.g., a relatively accessible location such as random access memory) may represent the version stored in the first location with any modifications made since the most recent save operation. At the time of the save operation, the user has not yet made any modifications to the version stored in the second location, so both versions of the document are identical. Therefore, in various embodiments, after a save operation, the user can "close" the document. When the user closes the document, the two existing versions of the document may be discarded. For example, the version of the document containing data stored in a relatively accessible location (e.g., random access memory) may be discarded. However, discarding that version does not result in any loss of information, as an identical version of the document remains stored in a relatively fixed location (e.g., a computer hard drive).

[0093] The closing operation can be initiated in numerous ways. The user may use the mouse to click a specific button associated with the document. For example, the user may click the "x" in the upper right corner of the screen displaying the document content for the purpose of closing the document. Another example is the user accessing the menu of the program used to view and edit the document. Such programs include, for example, Microsoft Word® and Microsoft Excel®. Within the menu, the user can select the "Close" operation. Another example is the user closing the entire program used to view and edit the document (e.g., Microsoft Word®). By closing the program, the user may indirectly close the document. Another example is the user shutting down the computer used to view and edit the document. This indirectly closes the document. It should be considered that the closing operation may be initiated in various other ways. In various embodiments, the closing operation may occur without user request. For example, a second program may force the first program used for viewing and editing the document to shut down. Another example is when a computer automatically starts shutting down.

[0094] The saving operation does not need to occur at the user's command. Saving may occur automatically. For example, a computer may be able to automatically save a document every 10 minutes. Auto-saving can prevent user modifications from being lost in the event of a power outage (for example, this could result in the discarding of versions of the document in the computer's random access memory).

[0095] Document destruction As used in this specification, destruction of a document includes destroying the data that constitutes the document, allowing the data that constitutes the document to be overwritten (for example, by using data that describes another document), allowing the data that constitutes the document to be lost, removing references to the locations of the data that constitutes the document (for example, a document may be effectively destroyed if the computer no longer has an indication of where the document is stored in computer memory), removing access to the data that constitutes the document, or any other way of deleting the document. It will be understood that editions or copies of a document may be destroyed in the same manner.

[0096] In the various embodiments described herein, when a user decides not to save a version of a document, the user may effectively destroy that version of the document. In the various embodiments, when a user decides to save a version of a document, the user may effectively destroy any previously saved versions of that document. For example, saving a second version of a document may involve overwriting a first version of the document.

[0097] Referring to Figure 6, this describes methods according to various embodiments. The methods described in Figure 6 can be carried out by any suitable device, such as a computer, a series of computers, a server, a portable computing device, and any other possible device.

[0098] The user can be at the center of viewing or modifying the document. In step 614, a command to close the document is received. This command may be given by the user, automatically (e.g., by a program running in the background), or by any other means. In step 618, a comparison is made between the first version of the document and the second version of the document. The second version of the document may represent the version stored in an immediately accessible medium (e.g., in random-access memory), or it may represent the version currently displayed to the user. The first version of the document may represent the version stored in a more fixed medium, such as a computer hard drive. Through the comparison process, it may be determined whether there are any differences between the first version of the document and the second version of the document.

[0099] The first and second versions can be compared in numerous ways. In various embodiments, the first dataset constituting the first version of the document is understood to have a specific order. For example, the data is ordered according to the memory addresses in which it is stored. Thus, for example, data stored at lower numerical addresses is understood to come before data stored at higher numerical addresses. Similarly, the second dataset constituting the second version of the document is understood to have a specific order. The first and second versions of the document can therefore be compared element by element (e.g., bit by bit, byte by byte, character by character, pixel by pixel) through the first and second datasets. The first data element of the first dataset can be compared with the first data element of the second dataset. Then, the second data element of the first dataset can be compared with the second data element of the second dataset. Then, the third data element of the first dataset can be compared with the third data element of the second dataset. If, after considering all data elements, there are no differences between the first and second datasets, these versions of the document can be considered identical. However, if there are differences between the first and second datasets, such differences can be recorded. For example, when two data elements being compared are different, copies of both the first and second data elements may be stored in separate locations in computer memory. Furthermore, the location of the data element in each dataset may be noted. This may allow for the future enumeration of all differences between the first and second versions of a document, as well as the indication of the location within each document where the difference occurs (e.g., page number, line number, reference cell, character number, pixel coordinates).

[0100] In various embodiments, existing features may be used to compare documents. For example, features specific to Microsoft Word® may be used to compare documents.

[0101] In various embodiments, a clear comparison between the first and second versions is not necessary. In various embodiments, the second version of the document may include, in addition to the same dataset constituting the first version of the document, a second dataset describing the differences between the second version of the document and the first version of the document. This can be, for example, an efficient way of storing the second version. Thus, a comparison between the first and second versions of the document may require a reference to the second dataset only. The existence of any differences may be inferred from a reference to the second dataset. Furthermore, actual differences may be inferred. If the second dataset is a blank set, it can be inferred that the first and second versions of the document are identical.

[0102] In step 622, it is determined whether the first and second versions of the document are identical. If the two documents are identical, the second version can be safely destroyed without loss of information. Then, in step 626, the second version of the document is destroyed. In various embodiments, the second version of the document does not necessarily need to be explicitly destroyed. For example, power may be removed from the memory storing the second version, erasing the data that constitutes the second version of the document. In another example, the second version of the document does not necessarily need to be explicitly destroyed, but the computer may allow another program to overwrite the memory location where the data for the second version is stored.

[0103] A prompt may be displayed if the first version and the second version are not identical. The display of the prompt may correspond to step 630. The prompt may ask the user whether they wish to save the changes. The prompt may include options for the user to select. Such options include a "yes" option, a "no" option, and a "view changes" option. It will be understood that in various embodiments, alternative words may be used. For example, the word "affirmative" may be used instead of "yes," the word "negative" instead of "no," and the word "don't mind" instead of "cancel." Various alternatives to "view changes" may be similarly listed. Alternatives for the word "see" include (a) "see", (b) "show", (c) "list", (d) "list", (e) "enumerate", (f) "describe", (g) "display", (h) "preview", (i) "display", (j) "publish", (k) "point out", (l) "specify", (m) "communicate", and any other appropriate alternatives. Alternatives for the word "change" include (a) "change", (b) "change" (for example, if there is only one change), (c) "correction", (d) "difference", (e) "alteration", (f) "addition", (h) "difference", (i) "correction", (j) "change", and any other appropriate alternatives. It will be understood that in various embodiments, the word may be used in the singular or plural (e.g., "change (singular)", e.g., "change (plural)"). It should be understood that two or more or fewer words may be used to indicate an option, the option may be indicated by an icon, image, shading, or other visual indicator, the option may be indicated by an audio message (for example, the user may be prompted verbally whether they wish to “save changes,” “discard changes,” “view changes,” or “cancel”), or the option may be indicated in any other appropriate way.

[0104] The prompt may include a dialog box, such as one that can be generated within a Windows® program using Visual Basic®. Examples of prompts according to several embodiments are shown in Figure 1. As should be considered, the prompt may take many other shapes or forms depending on the various embodiments.

[0105] In various embodiments, options provided to the user in conjunction with prompts may be clickable or otherwise selectable. For example, in Figure 1, the user may move the mouse pointer over a box labeled “See Changes” 110. By clicking this box, the user may display instructions for changes or differences between the second version of the document and the first version of the document. In various embodiments, options may be selected by the user in other ways. For example, the user may speak their selection, type on the keyboard to indicate their selection, or use any other means of selection.

[0106] After the prompt appears, the user may select the option "No." In this case, it may be assumed that the user does not wish to save the changes (for example, the differences between the first and second versions of the document). Therefore, the second version of the document may be discarded, lost, etc.

[0107] After the prompt appears, the user may select the option "Yes". In this case, it may be assumed that the user wishes to save the changes. Therefore, the user may not wish to retain the version of the document that existed prior to the changes, i.e., the first version. Thus, the first version of the document may be discarded 638. The second version of the document may then be copied to a more fixed storage location, such as a computer hard drive (step 642). In various embodiments, the second version of the document may simply overwrite the first version of the document, thereby discarding the first version while copying the second version. In step 646, the second version of the document may be discarded, lost, etc. This may occur as a result of the initial request to close the document in step 614. However, although the second version may be discarded, no information derived from the second version needs to be lost because a copy was made in step 642.

[0108] After the prompt appears, the user may select the "Cancel" option. In this case, it may be assumed that the user no longer wishes to close the document. In various embodiments, the prompt may be removed.

[0109] After being prompted, the user may choose the option to “View Changes.” This option can provide convenience to the user. The user may not remember whether they intentionally made any changes since the creation of the second version. If the user intentionally made changes, they tend to want to save those changes. However, if the user did not intentionally make changes (for example, if the user accidentally deleted a section from their document by typing a few keys), they tend not to want to save the changes. If the user does not remember whether they intentionally made changes, they may face a dilemma about whether or not to save those changes. By choosing the “View Changes” option and then actually seeing instructions on what changes were made, the user can make a more informed decision about whether or not they want to save the changes.

[0110] When the user selects the option “View Changes,” the differences between the second and first versions of the document are determined.650 As described in this specification, in various embodiments, such differences can be determined in a number of different ways. In various embodiments, such differences may have already been determined in an earlier step, such as step 618, when the second version is compared with the first version.

[0111] In step 654, the differences between the second and first versions of the document can be displayed. These differences may be displayed in numerous different formats. They may be displayed in a visual format, presented in an audio format, or presented in any other format. In various embodiments, clear differences are not necessarily displayed. For example, a summary of the differences may be provided. For example, the description of the differences may state, "A paragraph was added on page 7." In various embodiments, the differences may be highlighted using a side-by-side comparison of the two documents.

[0112] After the differences are displayed to the user, the user may still have the option to either save the changes or revert to the decision to close the document in its original location by clicking "Cancel". Thus, the flow may return to step 634, where the user's next decision is confirmed. However, since the "View Changes" option has already been selected, this option may be removed from the dialog box.

[0113] Figure 2 shows prompts 200 according to various embodiments. The upper prompt 205 can display a normal or default version of the prompt that appears when the user requests to close the document without saving modifications. The lower prompt 210 can display additional prompts that may be added. The additional part of the prompt 210 may be added by modifying the Microsoft Windows® operating system, for example, through modifications to the “Save” module built into the Microsoft Windows® operating system. The additional part of the prompt may also be added using additional patches to the Microsoft Windows® operating system, for example, by using additional code that interfaces with the APIs of the Microsoft Windows® operating system, such as an application program interface (API) for the “Save” module in the Microsoft Windows® operating system. As can be considered, in various embodiments, many additions or modifications may be made to any default prompt used in combination with the save option. For example, portion 210 may be added to the side of the default portion 205, above the default portion 205, separately from the default portion 205, above the default portion 205, overlapping with the default portion 205, or in any other location. Furthermore, in various embodiments, it will be considered that portion 210 may be of other shapes and sizes, such as a hexagon. Button 215 may trigger the display of instructions for modifications made to the document to be closed when selected by the user.

[0114] Figure 3 shows prompts 300 according to various embodiments. Depending on the prompt, the user has the options "Yes," "No," "Cancel," and "View Changes" 310. On button 310, two downward-pointing angle brackets indicate that the user can click button 310 to open the changes downwards.

[0115] Figure 4 shows a prompt 400, which is an extended version of the prompt 300 according to various embodiments. When the user presses the "View Changes" button 310, various modifications to the user's document are displayed in the section of prompt 400 labeled 415. In Figure 4, added text is indicated by an underline. For example, "will be" is underlined to indicate that it is text added to the document. Deleted text is indicated by a strikethrough. For example, "expected to be" is struck through to indicate that it has been deleted. Line numbers (e.g., "line 95") are added for the convenience of indicating the line in the document in which the changes were made. Such line numbers do not necessarily appear in the document itself. The section of prompt 415 shows only the line in the document in which the changes were made. This makes it easier to see all changes. Deleted and added shapes are also displayed. For example, on line 210 in the document, a shape representing a logo has been deleted. On the same line, another shape representing the same logo has been added. The scroll bar to the right of section 210 allows the user to scroll and view additional modifications if all of the content does not fit in section 415 at once. Also, in Figure 4, the button 310 labeled "View Changes" is here labeled "Hide Changes" button 410. By clicking or otherwise selecting the "Hide Changes" button, section 415 can be hidden.

[0116] In various embodiments, part 415 may allow the user to view the entire document. Part 415 may allow the user to view both the modified and unmodified portions of the document. As should be considered, various embodiments assume other ways of displaying modifications within the document.

[0117] Figure 5 shows a prompt 500 according to various embodiments. This prompt includes parts 505, 540, and 545. Part 545 indicates the user's modifications to the document. Part 540 provides various user options in the form of clickable or otherwise selectable buttons. A button labeled “Previous Change” 515, when clicked, can instruct the user to view previous modifications. For example, when the user clicks button 515, modifications to line 63 of the document are displayed. A button labeled “Next Change” 520, when clicked, can instruct the user to view the next modification. For example, when the user clicks button 520, modifications to line 107 of the document are displayed. A button labeled “Mark Changes” 525, when clicked, can instruct the user to mark the currently displayed modification or multiple modifications. A button labeled “Save All Marked Changes” 535, when clicked, can instruct the user to actually save all modifications previously marked (e.g., using button 525). Therefore, when button 535 is clicked, a new version of the document can be stored on the computer's hard disk, and this new document incorporates all the changes marked using button 525. The button labeled "Save Changes" 530, when clicked, can instruct the system to save the currently visible changes or multiple changes (for example, the changes currently visible in section 545). Therefore, for example, when button 530 is clicked, a new version of the document is saved so that the new version incorporates the changes currently visible in 545.

[0118] 1. When to display prompts. Prompts asking the user whether they want to see changes or modifications made to the document may be displayed at various points in time. The prompts may also include a question asking the user whether they want to save the changes made to the document. For example, the prompt may ask the user whether they want to save the changes. Following this question, the prompt may ask the user whether they want to see the changes.

[0119] 1.1. When attempting to close a document without saving. A prompt may be displayed when a user attempts to close a document without saving. A prompt may be displayed when a user attempts to close a version of a document that is different from another version of the document stored on the computer hard drive or any other relatively long-term medium (e.g., a medium that retains information even when power is not available). A prompt may be displayed when a user attempts to close a document and the version of that document the user is working on is different from a version of the document stored on a relatively long-term medium (e.g., on the computer hard drive). A prompt may be displayed when a user attempts to close a document that has been modified and the user attempts to close it without saving those changes.

[0120] 1.2. When you actually want to save the document. A person may be asked if they want to see the changes they are saving. For example, this can be thought of as an option under the "File" menu, where there is usually a "Save" option. A prompt may appear when the user indicates that they want to save the document. For example, the user may type the key combination "Control + S" in a Microsoft Windows® environment, or, for example, click the "File" menu and the "Save" option in Microsoft Word®. This may bring up a prompt asking if the user wants to see the changes they will save.

[0121] 1.3. Automatic Backup in Progress. Prompts may be displayed during an automatically initiated save operation. In various embodiments, documents can be saved automatically. Auto-saves may occur periodically, such as every 5 minutes, every 10 minutes, or every hour. Auto-saves can be performed without requiring the user to be reminded to do so, which is suitable for the purpose of saving revisions to a document so that there are few revisions that would be lost in the event of a power shutdown or similar event. When a save operation is initiated automatically, a prompt may be generated asking the user whether they want to see the revisions being saved. The user may have a certain amount of time to respond to this prompt. For example, the user may have 30 seconds to respond to the prompt. In some embodiments, if the user does not respond, the revisions may be saved automatically. If the user responds to the prompt, the user may select an option to “View Changes” or similar. Instructions for revisions to the document may then be presented. The revisions may be between the version the user is currently working on and a previously saved version. The revisions may be between the version the user is currently working on and the last version that was automatically saved. In various embodiments, the automatically initiated save operation may include a backup operation.

[0122] 1.4. Other instances in which a document may be forcibly closed include, for example, the user turning off the computer or the user closing the program. In various embodiments, closing a document may be initiated or triggered by events other than a specific request to close the document. In various embodiments, a user may request to close a program. For example, a user may click the "x" icon in the upper right corner of Microsoft Word® with the intention of requesting to close the Microsoft Word® program (e.g., exit). Such a request may result in closing all documents that are currently displayed, edited, or otherwise used by the program. For example, closing Microsoft Word® may have the effect of closing all documents that are currently being edited in Microsoft Word®. In various embodiments, when there is a request to close a program that is being used to view, edit, or otherwise operate on a document, a prompt may appear asking the user whether they want to see the changes made to that document.

[0123] In various embodiments, closing a document may be initiated or triggered by a request to shut down a computer (e.g., a personal computer, e.g., a handheld computer). For example, a document may be opened for editing on the computer. When the computer is shut down (e.g., power is cut off to the computer or to one or more components of the computer), the version of the document currently being worked on by the user is automatically lost or discarded. In various embodiments, when a request to shut down the computer is received, a prompt may be displayed asking whether the user wants to see the changes made to the document. If the user indicates a desire to see the changes (e.g., by clicking a button on the prompt), instructions for making the changes may be presented to the user. The user then has the opportunity to save the changes or not save the changes. Once the user has made their choice, the computer shutdown may proceed.

[0124] 1.5. Automatic Shutdown. In various embodiments, a computer may shut down automatically (for example, if a program encounters an error and must close). For example, a computer may be configured or programmed to shut down when it has not been used for a certain period of time or longer. If a document is being edited or otherwise used on the computer, this document may be automatically closed as a result of the computer shutting down. In various embodiments, when the computer begins the shutdown process and a document is open, the user may be prompted to ask if they wish to see the changes made to the document.

[0125] 2. What options are displayed? When a prompt appears, various options may be displayed. For example, a prompt may appear to the user asking if they want to save the changes. The user may then have various options for responding to this question.

[0126] 2.1. Save changes, do not save changes, view changes. In various embodiments, the option available to the user may be to save changes. If the user selects this option (for example by clicking), the user can save the changes to the document they are working on. In various embodiments, the option available to the user may be to do not save changes. If the user selects this option, the changes to the document they are working on may be discarded or allowed to be lost. In various embodiments, the option available to the user may be to view the changes made to the document. If the user selects this option, the changes made to the document may be displayed or otherwise presented to the user.

[0127] 2.2. Receiving Recommendations. In various embodiments, the option available to the user may be to solicit recommendations (for example, to ask the computer for a recommendation on whether the user should save the changes). If the user selects this option, the computer may recommend to the user either save the changes or not save the changes to the document. The computer may also provide explanations. For example, the computer may display a message that only one character has been changed, the added character has created a spelling mistake, and the changes appear to have been erroneous and should not be saved.

[0128] 2.3. Viewing summary information about changes. In various embodiments, there may be options available to the user for viewing a summary report or statistics about the modifications made. The user may have options to view information about the number of changes made, the time the changes were made, the portion of the document in which the changes were made (e.g., "All changes were made on page 4"), and any other descriptive information about the modifications made.

[0129] 2.4. Saving Changes Under Different Document Names. In various embodiments, the option available to the user may be to save changes, but in a separate document. If the user selects this option, a version of the document the user is currently working on may be saved. However, in various embodiments, this version may be saved under a different name. For example, if the user is working on a document called "Market Segmentation," the version of the document the user is working on may be saved under the name "TempDoc Market Segmentation." By saving documents in this manner, the user has the option to decide later whether to start working from a previously saved version of the document called "Market Segmentation" or from a document with the latest revisions called "TempDoc Market Segmentation."

[0130] 2.5. Highlight saved changes. In various embodiments, the options available to the user may be an option to view saved changes when the user chooses to save the changes. This option may highlight the changes in the document list, underline them, display them in strikethrough, or represent, display, or present them in any other manner.

[0131] 3. What happens when you select "See Changes"?

[0132] 3.1. After viewing the changes, simply typing OK will return you to the original dialog box. In various embodiments, the user may select an option to view the modifications made to the document. Once those modifications are presented, the user may have another option available to them. The other option may be labeled "OK," "Back," or in some other form. By selecting this option, the user may return to the original prompt, where they again have the option to save or not save the modifications made to the document.

[0133] 3.2. For example, changes can be saved from a new location using a new dialog box. In various embodiments, the user may select an option to view the modifications made to the document. A new prompt or dialog box may be presented to the user. Within this new prompt or dialog box, the user may have an option to save the changes. For example, the option may be labeled “Accept Changes,” “Save,” or any other appropriate label. In various embodiments, the new prompt or dialog box may contain the changes that the user has chosen to view.

[0134] 4. How changes are displayed. In various embodiments, modifications made to a document can be presented in various ways.

[0135] 4.1. Displaying both versions of a document. In various embodiments, both versions of a document may be displayed. The first version may represent the version currently being worked on, such as the version stored in random-access memory. The second version may represent a previously saved version, such as the version stored on a computer hard drive. By viewing both documents in their entirety, the user may, in principle, be able to estimate the differences between the two documents. In some embodiments, the documents may be displayed side by side in adjacent windows, with similar text. In this manner, the user may be able to look through both documents for the purpose of finding places where the text does not perfectly correspond.

[0136] 4.2. Added and deleted items may be displayed. In various embodiments, items added to the document may be displayed. For example, the window may display only text, images, or other objects added to the document. In various embodiments, context for additions may be displayed. For example, line and page numbers may be displayed, surrounding pre-existing text may be displayed (for example, text that was already there before the change was added may be displayed), or any other context may be displayed. In various embodiments, items deleted from the document may be displayed. For example, the window may display only deleted text, images, or other objects. Similarly, context may be displayed for deleted items. For example, text surrounding deleted text may be displayed. In various embodiments, added or deleted items may be marked in a particular way. Added items may be marked with an underline or in other ways. Deleted items may be marked with a strikethrough or in other ways. In various embodiments, when items are moved within the document (for example, when a paragraph is cut from one part of the document and pasted into another part of the document), modifications displayed in the document may include deletions and additions. Deletion may correspond to the removal of an item from its original location, while addition may correspond to the addition of an item to its final location.

[0137] 4.3. Verbal description of changes. In various embodiments, verbal descriptions of changes may be provided. For example, a computer-generated speech may read the text added to the document. The verbal description may include summaries or qualitative descriptions. For example, the synthesized speech may say that an image has been added without specifying and describing all the shapes and colors in the image.

[0138] 4.4. Time of the change. In various embodiments, the time of one or more modifications may be presented. For example, a statement added to the document may be displayed along with a time and date indication. The time and date may be displayed in a different color or font from the statement itself to indicate that the time indication is not part of the addition.

[0139] 4.5. Making changes stand out. In various embodiments, modifications may be displayed in a conspicuous format. For example, text added to a document may be displayed in a yellow block. Many other methods can be used to identify changes, as should be considered. For example, underlining, italics, bolding, font size changes, color changes, grayscale changes, or any other appropriate method may be used to identify changes. Changes added or deleted may be identified, for example, by highlighting.

[0140] 4.6. Were there any changes? In various embodiments, an indication may be presented as to whether any modifications have been made to the document. For example, a message such as "Changes were made" may be displayed, or a message such as "No changes were made" may be displayed.

[0141] 4.7. How many changes were made? In various embodiments, instructions may be presented regarding how many changes were made to the document. The number of changes may be determined based on the number of characters added. The number of changes may be determined based on the number of characters deleted. For example, the reported number of changes may be equal to the number of characters added plus the number of characters deleted. In various embodiments, the number of changes may be determined based on the number of words added. In various embodiments, the number of changes may be determined based on (a) the number of words deleted, (b) the number of sentences added, (c) the number of sentences deleted, (d) the number of paragraphs added, (e) the number of paragraphs deleted, (f) the number of keystrokes made, (g) the number of images added, (h) the number of images deleted, (i) the number of formatting changes made, (j) the number of pages added, (k) the number of pages deleted, (l) the number of cells modified (e.g., in a spreadsheet program), (m) changes in the size of the document (e.g., changes in the number of bytes required to store the file, changes in the number of characters stored in the file), or based on any other appropriate factor. For example, the computer might display a message saying, "40 changes have been made to your document."

[0142] 4.8. Qualitative Differences. Modifications made to the document in various embodiments may be described qualitatively.

[0143] 4.8.1. The number of pages before and after the change may be described. In various embodiments, indications of the proportion of the document before the change and the proportion of the document after the change may be presented. For example, indications of the number of words, images, pages, or cells before the change and the number of words, images, pages, or cells after the change may be presented.

[0144] 4.8.2. The number of pages in the document before and after the changes. In various embodiments, the size of the document may be described before and after the changes. The size of the document may be described in units of pages, bytes, bits, paragraphs, cells, pixels, frames, or any other unit of measurement.

[0145] 4.9. Modify the save operation and add a pane to the dialog box. In this method, the code is not actually modified, but simply added. In various embodiments, the code may be added to the save operation that comes with a computer operating system such as Microsoft Windows®. The added code may create an additional functional part of a prompt. The additional functional part may be added to a prompt that has been previously created by the operating system. For example, the original prompt of the operating system may be "Do you want to save the changes to 'Document X'?" with the available options "Yes", "No", and "Cancel". The additional functional part may be added to the original prompt as a pane adjacent to it. In various embodiments, the additional pane may look like the part shown at 210 in Figure 2.

[0146] 4.10. Before and After, or Actual Differences. For example, when showing differences in an image, one pixel value may be subtracted from another. In various embodiments, modifications to an image may be indicated by showing both before and after versions of the image. In various embodiments, only a portion of the modified image may be shown. For example, only 200 pixels out of 1000 pixels in an image may be shown in both before and after versions. In various embodiments, the result of subtracting one image from another may be shown. For example, the pixel values ​​of a first version of an image (e.g., pixel values ​​represented by numbers from 0 to 255) may be subtracted from the pixel values ​​of a second version of the image. The resulting difference may be shown for each pixel. For example, a given pixel may be changed from having the value (200, 100, 50) to having the value (100, 90, 30). Note that in various embodiments, the three values ​​correspond to pixels and there is one for each monochromatic. Therefore, the difference in values ​​is (100, 10, 20). To show the difference, the pixels may display the color corresponding to (100,10,20).

[0147] 5. Detection of accidental changes. In various embodiments, a determination may be made as to whether a modification to the document appears to have been made purely by accident or purely intentionally.

[0148] 5.1. Recommend not to save changes if they appear to be accidental. In various embodiments, if it is determined that changes made to a document were extremely accidental, a recommendation not to save the changes may be made. For example, the computer may display a message stating, "All changes appear to be accidental. Therefore, we recommend not saving the changes." In various embodiments, if it is determined that changes made to a document were extremely accidental, the document may be automatically closed without saving the changes. For example, the user may indicate a desire to close the version of the document even if there are unsaved changes. If the computer determines that all changes made to the document were extremely accidental, it may allow the document to be closed without prompting.

[0149] 5.2. Save the changes if they appear to be intentional. In various embodiments, if it is determined that modifications made to a document were intentional, it may be recommended that the modifications be saved. For example, the computer may display a message such as, "These changes appear to be intentional. We recommend that you save the changes."

[0150] 5.3. Few Keystrokes. In various embodiments, if the modification is based on fewer than a predetermined number of user inputs (e.g., fewer than three keystrokes, e.g., fewer than two mouse movements), the change to the document may be determined to have been accidental. For example, it may be inferred that a relatively small number of user inputs occurred accidentally (e.g., the user may have accidentally pressed a few keys with their elbow).

[0151] 5.4. Deletion of a large portion of text. In various embodiments, if the modification involves the deletion of a very large portion of the document (e.g., one paragraph or more, e.g., one page or more), such modification may be determined to be accidental. For example, it may be assumed that a user would not want to intentionally delete a large portion of a document into which a great deal of effort has been invested.

[0152] 5.5. Meaningless characters. In various embodiments, if a modification includes a meaningless sequence, such modification may be determined to be accidental. For example, the addition of the text "abfweo" may be considered accidental because this text does not correspond to any known word or name.

[0153] 5.6. Inappropriate punctuation. In various embodiments, if a modification includes a word or sentence with inappropriate punctuation, such modification may be considered accidental.

[0154] 6. Interaction with the operating system.

[0155] 6.1. Modify the APIs provided by the operating system.

[0156] 6.2. Generate an alternative module for what is provided by the API for performing the save function.

[0157] In various embodiments, a user may save one or more versions of a document. These versions may represent progress. For example, each version may represent a portion of the book that has been completed up to that point. Each newer version may incorporate everything from a previous version with additions. Each version may represent a version of the document that satisfies the user. In various embodiments, versions of a document may be ordered in some way. In various embodiments, versions of a document are ordered according to the date they were saved (for example, according to the date the version was last saved, or according to the date the version was first saved). Different versions of a document may be named according to convention. For example, a document may have a base name such as "Document X" with version designations such as "v1", "v2", "v3", etc. Thus, the first version of a document may be called "Document X v1", the second version of a document may be called "Document X v2", and so on. The naming of documents may occur automatically. For example, whenever a user expresses satisfaction with a version of a document, that version may be saved and given a new version number. In various embodiments, the user may be given the option to view revisions made to the version of the document they are currently working on, compared to all previous versions of the document. For example, the user may have the option to view revisions made to the version of "Document X" they are currently working on, in "Document X v1" and later, in "Document X v2" and later, or in any other version of "Document X" and later. In various embodiments, the user may select the option to "View Changes" within a prompt. The user may then have further options, either in the same or a new prompt, to select a version of the document that will serve as the basis for comparison in determining the revisions.

[0158] In various embodiments, the user may be able to select a paragraph or other part of a document. For example, the user may be able to hover the mouse over a paragraph. When a part of the document is selected, the user may be able to view a previous version of that part of the document. The previous version of that part may include parts that exist in the previous version of the document, but which correspond to the selected part. For example, when the user hovers the mouse over a paragraph, the user may be able to view a previous version of that paragraph.

[0159] In various embodiments, a prompt may ask the user whether they want to see the changes made to the document. For example, the prompt might be, "Do you want to see the changes made to this document?" The prompt may also occur if there are no prompts asking the user whether they want to save the changes made to the document.

[0160] In various embodiments, a list, array, or other enumeration of modifications made to the document may be presented. For example, when indicating a desire to close the document, the user may be prompted with a question asking whether they wish to save the changes made to the document. If the user responds affirmatively, a list of changes may be presented to the user. The user may navigate through this list one by one. For example, the user may highlight each change one by one. The user may decide whether to save each independent change. In various embodiments, the user may decide to save all changes at once. For example, there may be a clickable button labeled "Save Changes." Clicking such a button may allow the user to save the currently highlighted change. There may also be a button labeled "Save All" or similarly. Clicking this button may allow the user to save all changes at once.

[0161] As used in this specification, the computer touchpad may be any touch-sensor interface to the computer, such interface may be capable of detecting the movement of a touching object (e.g., a finger) and translating such movement into computer commands (e.g., the movement of a mouse pointer).

[0162] In various embodiments, a joystick may function as an input device to a computer. In various embodiments, a trackball may function as an input device to a computer.

[0163] (Note 1) A computer-readable medium containing an instruction set, wherein when the instruction set is executed by at least one processing device, the at least one processing device Receiving at least one command to discard the second version of the document, Based at least in part on the receipt of the at least one command, it is determined that the second version of the document differs from the first version of the document. Displaying to the user multiple options, at least in part on the basis of determining that the second version of the document differs from the first version of the document, the options are: A first option for preserving at least a portion of the second version of the aforementioned document, A second option for at least partially discarding the second version of the aforementioned document, The second version of the document includes a third option for the user to obtain at least one instruction on how the second version of the document differs from the first version of the document, Receiving a selection from the user of at least one of the first, second, and third options, at least in part, based on displaying the aforementioned multiple options, To preserve at least partially the second version of the document based at least in part on the selection including the first option, To cause at least a portion of the second version of the document to be discarded based at least in part on the selection including the second option, Based at least in part on the selection including the third option, display to the user at least one difference between the second version of the document and the first version of the document, A computer-readable medium that enables the operation of a computer.

[0164] (Note 2) The computer-readable media of Appendix 1, wherein preserving at least a portion of the second version of the document includes destroying at least a portion of the first version of the document.

[0165] (Note 3) The aforementioned document is (a) Word processor document, (b) Spreadseed document, (c) Image, (d) Drawing, (e) Computer-aided design files, (f) audio files, and (g) Text documents, including at least one Computer-readable media as specified in Appendix 1.

[0166] (Note 4) The second version of the document includes the computer-readable medium of Appendix 1, which includes the version of the document displayed to the user via a computer.

[0167] (Note 5) The second version of the aforementioned document is a computer-readable medium as specified in Appendix 1, including previously saved versions of the aforementioned document.

[0168] (Note 6) The second edition of the aforementioned document is initially a copy of the first edition of the aforementioned document. The instruction set, when executed by the at least one processing device, The at least one processing device is further configured to receive from the user at least one second command for modifying the second version of the document prior to receiving the at least one command, The at least one second command causes the second version of the document to differ at least partially from the first version of the document. Computer-readable media as specified in Appendix 1.

[0169] (Note 7) The aforementioned at least one second command is (a) Keyboard, (b) Computer mouse, (c) Computer Touchpad, (d) Trackball, and (e) Joystick, derived from at least one of the following: Computer-readable media as specified in Appendix 6.

[0170] (Note 8) The second edition of the document differs from the first edition of the document as a result of at least one change to the second edition of the document, in the computer-readable medium of Appendix 1.

[0171] (Note 9) The instruction set, when executed by the at least one processing device, The at least one processing device determines, at least in part, that the second version of the document is no different from the first version of the document, based at least in part on receiving the at least one command. To display to the user an instruction that no changes have been made to the second version of the document, based at least in part on the determination that the second version of the document is no different from the first version of the document, A computer-readable medium, as specified in Appendix 1, to further enable its operation.

[0172] (Note 10) The aforementioned at least one command is: A command to close the second version of the aforementioned document, A command to close the program used to edit the second version of the aforementioned document, A command for shutting down at least one of the processing devices, A computer-readable medium as specified in Appendix 1, including at least one of the following.

[0173] (Note 11) Displaying the aforementioned options includes displaying a message to the user asking whether the user wishes to save the changes made to the second version of the document, the changes being such that the second version of the document differs from the first version of the document, in a computer-readable medium as specified in Appendix 1.

[0174] (Note 12) Displaying the aforementioned multiple options means This includes displaying to the user the plurality of options as a plurality of buttons that the user can select, At least the first button is associated with the first option, At least the second button is associated with the second option, At least the third button is associated with the third option. Computer-readable media as specified in Appendix 11.

[0175] (Note 13) Receiving the selection of at least one of the first, second, and third options includes receiving the selection based at least in part on at least one of the plurality of buttons selected by the user, in the computer-readable medium of Appendix 12.

[0176] (Note 14) The aforementioned first button includes the label "Yes". The second button mentioned above includes the label "No". The third button mentioned above includes the label "View Changes". Computer-readable media as specified in Appendix 12.

[0177] (Note 15) Displaying at least one of the aforementioned differences means Text portions that exist in the second edition of the aforementioned document but not in the first edition of the aforementioned document, Text portions that are present in the first edition of the document but not in the second edition of the document, A summary of at least one of the aforementioned differences, A computer-readable medium as specified in Appendix 1, which includes displaying at least one of the above to the user.

[0178] (Note 16) The at least one of the displayed differences can be selected by the user. When the instruction set is executed by the at least one processing device, the at least one processing device will Based at least partially on displaying the aforementioned at least one difference, The at least one difference displayed is an instruction received from the user that it was selected by the user, Receiving at least one second command from the user to save at least one of the selected differences, To save the selected at least one difference, at least in part on receiving the instruction that the at least one difference displayed has been selected, and at least in part on receiving the at least one second command, A computer-readable medium, as specified in Appendix 1, to further enable its operation.

[0179] (Note 17) Displaying at least one difference includes displaying a fourth option to the user, and the selection of the fourth option includes saving the differences between the second version of the document and the first version of the document. When the instruction set is executed by the at least one processing device, the at least one processing device will Receiving the selection of the fourth option from the user, at least in part, based on displaying the fourth option, To preserve at least one difference, at least in part, based on receiving the selection of the fourth option, A computer-readable medium, as specified in Appendix 1, to further enable its operation.

[0180] (Note 18) Displaying at least one difference includes displaying a fourth option to the user, the selection of which causes the user to save the difference between the first version of the document and the second version of the document that is currently displayed to the user. When the instruction set is executed by the at least one processing device, the at least one processing device will Receiving the selection of the fourth option from the user, at least in part, based on displaying the fourth option, To save the at least one difference, at least in part on receiving the selection of the fourth option and at least in part on the at least one difference displayed to the user, A computer-readable medium, as specified in Appendix 1, to further enable its operation.

[0181] (Note 19) The instruction set, when executed by the at least one processing device, further enables the at least one processing device to determine the first version of the document. Determining the first version of the aforementioned document is: Displaying multiple versions of the aforementioned document to the user, wherein each version has been previously saved, The selection includes receiving the multiple versions of the document from the user, wherein the selection includes the first version of the document. Computer-readable media as specified in Appendix 1.

[0182] (Note 20) An apparatus including at least one processing device having an accompanying instruction, wherein when executed by the at least one processing device, the at least one processing device Receiving at least one command to discard the second version of the document, Determining that the second version of the document differs from the first version of the document, at least in part, based on receiving at least one of the aforementioned commands, Displaying a number of options to the user, at least in part on the basis of determining that the second version of the document differs from the first version of the document, the options are: A first option for preserving at least a portion of the second version of the aforementioned document, A second option is to at least partially discard the second version of the aforementioned document, The provision includes a third option for the user to obtain at least one instruction on how the second version of the document differs from the first version of the document, Receiving a selection from the user of at least one of the first, second, and third options, at least in part, based on displaying the aforementioned multiple options, To preserve at least partially the second version of the document based at least in part on the selection including the first option, To cause at least a portion of the second version of the document to be discarded based at least in part on the selection including the second option, Based at least in part on the selection including the third option, display to the user at least one difference between the second version of the document and the first version of the document, A device that includes a set of instructions that enables it to operate.

[0183] (Note 21) The at least one of the displayed differences can be selected by the user. When the instruction set is executed, at least one processing unit will Based at least partially on displaying the aforementioned at least one difference, The at least one difference displayed is an instruction received from the user that it was selected by the user, Receiving at least one second command from the user to save at least one of the selected differences, Saving the selected at least one difference, at least in part on receiving the instruction that the at least one difference displayed has been selected, and at least in part on receiving the at least one second command, The apparatus described in Appendix 20, which enables further operation.

[0184] (Note 22) Displaying at least one difference includes displaying a fourth option to the user, the selection of which causes the differences between the second version of the document and the first version of the document to be preserved. When the instruction set is executed, at least one processing unit will Receiving the selection of the fourth option from the user, at least in part, based on displaying the fourth option, To preserve the at least one difference, at least in part on receiving the selection of the fourth option, The device described in Appendix 20 further enables operation.

[0185] (Note 23) Displaying at least one difference includes displaying a fourth option to the user, the selection of which causes the user to save the difference between the first version of the document and the second version of the document that is currently displayed to the user. When the instruction set is executed, the at least one processing device will Receiving the selection of the fourth option from the user, at least in part, based on displaying the fourth option, To save the at least one difference, at least in part on receiving the selection of the fourth option and at least in part on the at least one difference displayed to the user, The apparatus described in Appendix 20, which enables further operation.

[0186] (Note 24) A computer-readable medium containing an instruction set, wherein when the instruction set is executed by at least one processing device, the at least one processing device Receiving instructions that the document will be closed, To determine that the document contains at least one unsaved change, Based at least in part on the determination that the document contains at least one unsaved change, the user is informed: A first option for saving at least one of the aforementioned changes, A second option for not saving at least one of the aforementioned changes, To present the user with a third option in which at least one of the above changes is presented, and to present the user with a plurality of selectable options, The user's selection is determined from the aforementioned selectable options, Presenting the user with at least one change based at least in part on the selection including the third option, A computer-readable medium that enables the operation of a computer.

[0187] (Note 25) The aforementioned document is initially a copy of the first edition of the aforementioned document. The at least one modification includes at least one modification made to the first copy, Computer-readable media as specified in Appendix 24.

[0188] (Note 26) At least one of the presented changes is selectable by the user, When the instruction set is executed by the at least one processing device, the at least one processing device will Based at least in part on presenting at least one of the aforementioned changes, The user has given instructions that at least one of the changes presented has been selected by the user, Receiving at least one command from the user to save at least one of the selected changes, Saving the selected at least one change, at least in part on receiving the instruction that the at least one of the presented changes has been selected, and at least in part on receiving the at least one command, A computer-readable medium, as specified in Appendix 24, to further enable its operation.

[0189] (Note 27) Presenting at least one of the aforementioned changes includes presenting a fourth option to the user, the selection of which causes the changes made to the document to be saved. When the instruction set is executed by the at least one processing device, the at least one processing device will Receiving the selection of the fourth option from the user, at least in part, based on presenting the fourth option, To preserve at least one of the changes based at least in part on the selection of the fourth option, A computer-readable medium, as specified in Appendix 24, to further enable its operation.

[0190] (Note 28) The at least one change includes presenting a fourth option to the user, and the selection of the fourth option includes saving any changes made to the document currently presented to the user. When the instruction set is executed by the at least one processing device, the at least one processing device will Receiving the selection of the fourth option from the user, at least in part, based on the selection of the fourth option, Saving the at least one change based at least in part on the selection of the fourth option and at least in part on the presentation of the at least one change to the user, A computer-readable medium, as specified in Appendix 24, to further enable its operation.

[0191] (Note 29) An apparatus including at least one processing device having an accompanying instruction, wherein when executed by the at least one processing device, the at least one processing device Receiving instructions that the document will be closed, The aforementioned document is determined to contain at least one unsaved change, Presenting the user with multiple selectable options, at least in part, based on the determination that the aforementioned document contains at least one unsaved change, wherein the options are: A first option for saving at least one of the aforementioned changes, A second option for not saving at least one of the aforementioned changes, A third option in which the user is presented with at least one of the changes, Including, The user's selection is determined from the aforementioned selectable options, Presenting the user with at least one change based at least in part on the selection including the third option, A device that enables operation.

[0192] (Note 30) The at least one of the presented modifications is selectable by the user, and the instruction set, when executed, the at least one processing device, Based at least in part on presenting at least one of the aforementioned changes, The user has given instructions that at least one of the changes presented has been selected by the user, Receiving at least one command from the user to save at least one of the selected changes, Saving the selected at least one change, at least in part on receiving the instruction that the at least one of the presented changes has been selected, and at least in part on receiving the at least one command, The apparatus described in Appendix 29, which enables further operation.

[0193] (Note 31) Presenting at least one of the aforementioned changes includes presenting a fourth option to the user, the selection of which causes the changes made to the document to be saved. When the instruction is executed, at least one processing device will Receiving the selection of the fourth option from the user, at least in part, based on presenting the fourth option, To preserve at least one of the changes based at least in part on the selection of the fourth option, The apparatus described in Appendix 29, which enables further operation.

[0194] (Note 32) Presenting at least one of the aforementioned changes includes presenting a fourth option to the user, and selecting the fourth option includes saving any changes made to the document currently presented to the user. When the instruction is executed, the at least one processing device receives the selection of the fourth option from the user, at least in part, based on the selection of the fourth option. Saving the at least one change based at least in part on the selection of the fourth option and at least in part on the presentation of the at least one change to the user, The apparatus described in Appendix 29, which enables further operation.

[0195] (Note 33) A computer-readable medium containing an instruction set, wherein when the instruction set is executed by at least one processing device, the at least one processing device Receiving instructions from the user that the user wishes to save the document, Determining that the document contains at least one unsaved change, and prompting the user whether they wish to be presented with the at least one change, at least in part, based on the determination that the document contains at least one unsaved change. The user receives instructions from the user that they wish to be presented with at least one of the changes, Presenting the at least one change to the user, at least in part, based on receiving instructions from the user that the user desires to be presented with the at least one change, A computer-readable medium that enables further operation.

[0196] (Note 34) At least one of the presented changes is selectable by the user, When the instruction set is executed by the at least one processing device, the at least one processing device will Based at least in part on presenting at least one of the aforementioned changes, The user has given instructions that at least one of the changes presented has been selected by the user, Receiving at least one command from the user to save at least one of the selected changes, Saving the selected at least one change, at least in part on receiving the instruction that the at least one of the presented changes has been selected, and at least in part on receiving the at least one command, A computer-readable medium, as specified in Appendix 33, to further enable its operation.

[0197] (Note 35) Presenting the aforementioned at least one change includes presenting the user with an option, the selection of which includes saving the changes made to the document currently presented to the user. When the instruction set is executed by the at least one processing device, the at least one processing device will Receiving the selection of the aforementioned options from the user, at least in part, based on the selection of the aforementioned options. Saving the at least one change based at least in part on the selection of the aforementioned option and at least in part on the presentation of the at least one change to the user, A computer-readable medium, as specified in Appendix 33, to further enable its operation.

[0198] (Note 36) An apparatus including at least one processing device having an accompanying instruction, wherein when executed by the at least one processing device, the at least one processing device Receiving instructions from the user that the user wishes to save the document, The aforementioned document is determined to contain at least one unsaved change, Based at least in part on determining that the document contains at least one unsaved change, the system prompts the user to whether they wish to be presented with the at least one change. Receiving instructions from the user that the user desires to be presented with at least one of the changes, Presenting the at least one change to the user, at least in part, based on receiving instructions from the user that the user desires to be presented with the at least one change, A device that enables operation.

[0199] (Note 37) At least one of the presented changes is selectable by the user, When the instruction set is executed, the at least one processing device will Based at least in part on presenting at least one of the aforementioned changes, The user has given instructions that at least one of the changes presented has been selected by the user, Receiving at least one command from the user to save at least one of the selected changes, Saving the selected at least one change, at least in part on receiving the instruction that the at least one of the presented changes has been selected, and at least in part on receiving the at least one command, The apparatus described in Appendix 36, which enables further operation.

[0200] (Note 38) Presenting the aforementioned at least one change includes presenting the user with an option, the selection of which causes the user to save the changes made to the currently presented document. When the instruction is executed, at least one processing device will Receiving the selection of the said options from the user, at least in part, based on presenting the said options, Saving the at least one change, at least in part on receiving the selection of the aforementioned option and at least in part on presenting the at least one change to the user, The apparatus described in Appendix 36, which enables further operation.

[0201] (Note 39) A computer-readable medium containing an instruction set, wherein when the instruction set is executed by at least one processing device, the at least one processing device Receiving instructions from the user that they wish to close the document, The aforementioned document is determined to contain at least one unsaved change, Based at least in part on determining that the document contains at least one unsaved change, the user is prompted to indicate whether they wish to be presented with the at least one change. A computer-readable medium that enables the operation of a computer.

[0202] (Note 40) The instruction set is a computer-readable medium as specified in Appendix 39, which enables the at least one processing device to, when executed by the at least one processing device, to further cause the at least one instruction for modification to be presented to the user.

[0203] (Note 41) The computer-readable medium of Appendix 40, wherein the at least one change includes changes made between the document and a previously saved first edition of the document.

[0204] (Note 42) At least one of the presented changes is selectable by the user, When the instruction set is executed by the at least one processing device, the at least one processing device will Based at least in part on causing the instructions for at least one of the above changes to be presented, Receiving the selection of at least one of the aforementioned changes from the user, Receiving at least one command from the user to save at least one of the selected changes, Saving the selected at least one change, at least partially based on receiving the selection of the at least one change and at least partially based on receiving the at least one command, A computer-readable medium, as specified in Appendix 40, to further enable its operation.

[0205] (Note 43) Presenting the instructions for at least one of the aforementioned changes includes presenting the user with an option, the selection of which causes the user to save the currently displayed document. When the instruction set is executed by the at least one processing device, the at least one processing device will Receiving the selection of the said options from the user, at least in part, based on presenting the said options, Saving the at least one change based at least in part on receiving the selection of the aforementioned option and at least in part on the at least one change presented to the user, A computer-readable medium, as specified in Appendix 40, to further enable its operation.

[0206] (Note 44) An apparatus comprising at least one processing device having an accompanying instruction, wherein when executed by the at least one processing device, the at least one processing device receives an indication that the user desires to close a document, determines that the document includes at least one change that has not been saved, based at least in part on determining that the document includes at least one change that has not been saved, presents a prompt to the user as to whether the user desires to be presented with the at least one change, and is operative to:

[0207] (Appendix 45) The instruction set, when executed by the at least one processing device, further enables the at least one processing device to present an indication of the at least one change to the user, for the apparatus of Appendix 44.

[0208] (Appendix 46) The at least one presented change is selectable by the user, and the instructions, when executed, cause the at least one processing device to based at least in part on presenting the indication of the at least one change, receive a selection of the at least one change from the user, receive at least one command from the user to save at least the selected at least one change, based at least in part on receiving the selection of the at least one change and at least in part on receiving the at least one command, cause the at least one selected change to be saved, and further enables the apparatus of Appendix 45 to:

[0209] (Appendix 47) Causing the presentation of the instruction of the at least one change includes causing the presentation of an option to the user, and the selection of the option causes the user to save the changes made to the document currently being displayed to the user, When executed, the instruction causes the at least one processing device to Receive the selection of the option from the user, at least partially based on causing the presentation of the option, Based at least in part on receiving the selection of the option and at least in part on the at least one change presented to the user, cause the at least one change to be saved, The apparatus according to Appendix 45, which is further operable to

Claims

[Claim 1] A non-temporary computer-readable medium on which instructions are stored, When executed by at least one processor, the instruction is sent to the at least one processor. Detecting requests to close a document that are not initiated by the user, If it is determined that the request is based on the start of the computer shutdown process and that the document is open, a sign is displayed asking whether the user wishes to see the changes made to the document. The determination that the aforementioned document includes at least one change made by the user that has not been saved, Based on detecting the aforementioned request and determining that the aforementioned document contains at least one change that has not been saved, (i) determining whether the at least one change is potentially erroneous based on the number of user inputs that caused the at least one change by a user input of less than a predetermined number, or (ii) the at least one change that deletes a predetermined portion or more of the document, Based on the determination that at least one of the aforementioned changes may be erroneous, the user is prompted to save the document, and together with the prompt, a recommendation is presented as to whether or not the at least one change should be saved. The prompt includes an option to present the at least one change made by the user, Receiving an option from the user indicating a request for presentation of at least one of the changes, Based on receiving the selection of the aforementioned option, the user is presented with a presentation showing at least one change, along with a comparison between the first version of the document and the second version of the document. The comparison above shows at least one change, and as a result of the revision, the second version of the document differs from the first version of the document. Receiving a request from the user and, in accordance with the presentation, to save at least one change, Based on a request to save the at least one change, replace the first version of the document stored in non-volatile memory with a version of the document containing the at least one change from the second version of the document. A non-temporary computer-readable medium that enables execution.