IP Library Granted Patent US 8,838,557
Granted Patent B2
US 8,838,557 · App. 12/498,706 · Granted Sep 16, 2014

Automated viewable selectable change history manipulation

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 8,838,557
App. No.
12/498,706
Granted
Sep 16, 2014
Kind
B2
Abstract

A set of edited changes associated with an editable file is displayed on a display associated with a computing device in response to receipt of a request via a user input device to display the plurality of edited changes. A contextual representation of the editable file is displayed. A context indicator is displayed within the contextual representation of the editable file that represents a location within the editable file associated with a first of the displayed set of edited changes. The context indicator is iteratively updated to represent a location within the editable file associated with each selected element of the displayed set of edited changes in response to detection of user selections of elements of the displayed set of edited changes received via the user input device.

Claims (112)

1. A method, comprising:

displaying a plurality of edited changes associated with an editable file on a display associated with a computing device in response to receipt of a request via a user input device to display the plurality of edited changes;

displaying, proximate to the displayed plurality of edited changes, a separate contextual representation of the editable file that comprises a contiguous series of individually expandable and compressible blank representations of pages of the editable file, where each subsequent blank page representation in the contiguous series shares one common border with a respective previous blank page representation in the contiguous series;

displaying a context indicator within an expanded blank page representation of the separate contextual representation of the editable file that represents a location within the editable file associated with a first of the displayed plurality of edited changes; and

iteratively updating, in response to detection of user selections of elements of the displayed plurality of edited changes received via the user input device, the context indicator within iteratively expanded blank page representations of the separate contextual representation of the editable file to represent a location within the editable file associated with each selected element of the displayed plurality of edited changes.

2. The method of claim 1 , further comprising:

receiving a request to undo a selected one of the displayed plurality of edited changes associated with the editable file; and

reverting the selected one of the plurality of edited changes associated with the editable file.

3. The method of claim 2 , further comprising:

determining a logical relationship between a sequence of changes to the editable file;

maintaining the sequence of changes with the determined logical relationship as one logical element of the plurality of edited changes; and

where, the selected one of the plurality of edited changes comprises the one logical element and reverting the selected one of the plurality of edited changes associated with the editable file comprises reverting the sequence of changes with the determined logical relationship.

4. The method of claim 3 , where determining the logical relationship between the sequence of changes to the editable file comprises at least one of:

determining a dependency between two changes of the sequence of changes to an editable element of the editable file; and

determining that the sequence of changes occurred during a configurable time period.

5. The method of claim 1 , where displaying the plurality of edited changes associated with the editable file on the display associated with the computing device in response to receipt of the request via the user input device to display the plurality of edited changes comprises:

displaying the plurality of edited changes as a visual change stack on the display associated with the computing device;

determining whether the plurality of edited changes comprises more elements than displayable on the display within the visual change stack; and

displaying, in response to a determination that the plurality of edited changes comprises more elements than displayable on the display within the visual change stack, a portion of the elements of the plurality of edited changes as a compressed portion of the visual change stack.

6. The method of claim 1 , where:

displaying, proximate to the displayed plurality of edited changes, the separate contextual representation of the editable file that comprises the contiguous series of individually expandable and compressible blank representations of pages of the editable file comprises:

determining a proportion of a size of a selected one of the plurality of edited changes relative to a size of the editable file; and

displaying an expanded blank page representation of a separate proportional contextual representation of the editable file proximate to the displayed plurality of edited changes based upon the determined proportion; and

displaying the context indicator within the expanded blank page representation of the separate contextual representation of the editable file that represents the location within the editable file associated with the first of the displayed plurality of edited changes comprises:

highlighting a region of the expanded blank page representation of the separate proportional contextual representation of the editable file associated with the selected one of the plurality of edited changes.

7. The method of claim 1 , further comprising:

maintaining, within a memory of the computing device, a redo history comprising a plurality of reverted editing changes associated with the editable file;

adding a selected one of the plurality of edited changes to the redo history;

displaying the plurality of reverted editing changes;

receiving a request to redo the selected one of the plurality of edited changes from the user via the user input device; and

performing, in response to the request to redo the selected one of the plurality of edited changes from the user via the user input device, the selected one of the plurality of edited changes for the editable file.

8. The method of claim 1 , further comprising:

receiving a request to filter the plurality of edited changes based upon a selected one of the plurality of edited changes;

filtering the plurality of edited changes based upon the selected one of the plurality of edited changes; and

where displaying the plurality of edited changes associated with the editable file on the display associated with the computing device comprises displaying the filtered plurality of edited changes.

9. The method of claim 1 , where displaying the context indicator within the expanded blank page representation of the separate contextual representation of the editable file that represents the location within the editable file associated with the first of the displayed plurality of edited changes comprises:

toggling a displayed portion of the editable file associated with the first of the displayed plurality of edited changes within the expanded blank page representation of the separate contextual representation of the editable file between a state prior to a selected one of the plurality of edited changes and a state after the selected one of the plurality of edited changes.

10. A system, comprising:

a display;

a user input device; and

a processor programmed to:

display a plurality of edited changes associated with an editable file on the display in response to receipt of a request via the user input device to display the plurality of edited changes;

display, proximate to the displayed plurality of edited changes, a separate contextual representation of the editable file that comprises a contiguous series of individually expandable and compressible blank representations of pages of the editable file, where each subsequent blank page representation in the contiguous series shares one common border with a respective previous blank page representation in the contiguous series;

display a context indicator within an expanded blank page representation of the separate contextual representation of the editable file that represents a location within the editable file associated with a first of the displayed plurality of edited changes; and

iteratively update, in response to detection of user selections of elements of the displayed plurality of edited changes received via the user input device, the context indicator within iteratively expanded blank page representations of the separate contextual representation of the editable file to represent a location within the editable file associated with each selected element of the displayed plurality of edited changes.

11. The system of claim 10 , where the processor is further programmed to:

receive a request to undo a selected one of the displayed plurality of edited changes associated with the editable file; and

revert the selected one of the plurality of edited changes associated with the editable file.

12. The system of claim 11 , where the processor is further programmed to:

determine a logical relationship between a sequence of changes to the editable file;

maintain the sequence of changes with the determined logical relationship as one logical element of the plurality of edited changes; and

where, the selected one of the plurality of edited changes comprises the one logical element and, where in being programmed to revert the selected one of the plurality of edited changes associated with the editable file, the processor is programmed to revert the sequence of changes with the determined logical relationship.

13. The system of claim 12 , where, in being programmed to determine the logical relationship between the sequence of changes to the editable file, the processor is programmed to at least one of:

determine a dependency between two changes of the sequence of changes to an editable element of the editable file; and

determine that the sequence of changes occurred during a configurable time period.

14. The system of claim 10 , where, in being programmed to display the plurality of edited changes associated with the editable file on the display in response to receipt of the request via the user input device to display the plurality of edited changes, the processor is programmed to:

display the plurality of edited changes as a visual change stack on the display;

determine whether the plurality of edited changes comprises more elements than displayable on the display within the visual change stack; and

display, in response to a determination that the plurality of edited changes comprises more elements than displayable on the display within the visual change stack, a portion of the elements of the plurality of edited changes as a compressed portion of the visual change stack.

15. The system of claim 10 , where the processor is further programmed to:

receive a request to filter the plurality of edited changes based upon a selected one of the plurality of edited changes;

filter the plurality of edited changes based upon the selected one of the plurality of edited changes; and

where, in being programmed to display the plurality of edited changes associated with the editable file on the display, the processor is further programmed to display the filtered plurality of edited changes.

16. A system, comprising:

a display;

a user input device; and

a processor programmed to:

display a plurality of edited changes associated with an editable file on the display in response to receipt of a request via the user input device to display the plurality of edited changes;

display, proximate to the displayed plurality of edited changes, a separate contextual representation of the editable file that comprises a contiguous series of individually expandable and compressible blank representations of pages of the editable file, where each subsequent blank page representation in the contiguous series shares one common border with a respective previous blank page representation in the contiguous series;

display a context indicator within an expanded blank page representation of the separate contextual representation of the editable file that represents a location within the editable file associated with a first of the displayed plurality of edited changes;

iteratively update, in response to detection of user selections of elements of the displayed plurality of edited changes received via the user input device, the context indicator within iteratively expanded blank page representations of the separate contextual representation of the editable file to represent a location within the editable file associated with each selected element of the displayed plurality of edited changes;

determine a logical relationship between a sequence of changes to the editable file;

maintain the sequence of changes with the determined logical relationship as one logical element of the plurality of edited changes;

receive a request to undo the sequence of changes with the determined logical relationship maintained as the one logical element; and

revert the sequence of changes with the determined logical relationship.

17. A computer program product comprising a computer readable storage medium including a computer readable program, where the computer readable program when executed on a computer causes the computer to:

display a plurality of edited changes associated with an editable file on a display in response to receipt of a request via a user input device to display the plurality of edited changes;

display, proximate to the displayed plurality of edited changes, a separate contextual representation of the editable file that comprises a contiguous series of individually expandable and compressible blank representations of pages of the editable file, where each subsequent blank page representation in the contiguous series shares one common border with a respective previous blank page representation in the contiguous series;

display a context indicator within an expanded blank page representation of the separate contextual representation of the editable file that represents a location within the editable file associated with a first of the displayed plurality of edited changes; and

iteratively update, in response to detection of user selections of elements of the displayed plurality of edited changes received via the user input device, the context indicator within iteratively expanded blank page representations of the separate contextual representation of the editable file to represent a location within the editable file associated with each selected element of the displayed plurality of edited changes.

18. The computer program product of claim 17 , where the computer readable program when executed on the computer further causes the computer to:

receive a request to undo a selected one of the displayed plurality of edited changes associated with the editable file; and

revert the selected one of the plurality of edited changes associated with the editable file.

19. The computer program product of claim 18 , where the computer readable program when executed on the computer further causes the computer to:

determine a logical relationship between a sequence of changes to the editable file;

maintain the sequence of changes with the determined logical relationship as one logical element of the plurality of edited changes; and

where, the selected one of the plurality of edited changes comprises the one logical element and, where in causing the computer to revert the selected one of the plurality of edited changes associated with the editable file, the computer readable program when executed on the computer causes the computer to revert the sequence of changes with the determined logical relationship.

20. The computer program product of claim 19 , where, in causing the computer to determine the logical relationship between the sequence of changes to the editable file, the computer readable program when executed on the computer causes the computer to at least one of:

determine a dependency between two changes of the sequence of changes to an editable element of the editable file; and

determine that the sequence of changes occurred during a configurable time period.

21. The computer program product of claim 17 , where, in causing the computer to display the plurality of edited changes associated with the editable file on the display in response to receipt of the request via the user input device to display the plurality of edited changes, the computer readable program when executed on the computer causes the computer to:

display the plurality of edited changes as a visual change stack on the display;

determine whether the plurality of edited changes comprises more elements than displayable on the display within the visual change stack; and

display, in response to a determination that the plurality of edited changes comprises more elements than displayable on the display within the visual change stack, a portion of the elements of the plurality of edited changes as a compressed portion of the visual change stack.

22. The computer program product of claim 17 , where:

in causing the computer to display, proximate to the displayed plurality of edited changes, the separate contextual representation of the editable file that comprises the contiguous series of individually expandable and compressible blank representations of pages of the editable file, the computer readable program when executed on the computer causes the computer to:

determine a proportion of a size of a selected one of the plurality of edited changes relative to a size of the editable file; and

display an expanded blank page representation of a separate proportional contextual representation of the editable file proximate to the displayed plurality of edited changes based upon the determined proportion; and

in causing the computer to display the context indicator within the expanded blank page representation of the separate contextual representation of the editable file that represents the location within the editable file associated with the first of the displayed plurality of edited changes, the computer readable program when executed on the computer causes the computer to:

highlight a region of the expanded blank page representation of the separate proportional contextual representation of the editable file associated with the selected one of the plurality of edited changes.

23. The computer program product of claim 17 , where the computer readable program when executed on the computer further causes the computer to:

maintain, within a memory, a redo history comprising a plurality of reverted editing changes associated with the editable file;

add a selected one of the plurality of edited changes to the redo history;

display the plurality of reverted editing changes;

receive a request to redo the selected one of the plurality of edited changes from the user via the user input device; and

perform, in response to the request to redo the selected one of the plurality of edited changes from the user via the user input device, the selected one of the plurality of edited changes for the editable file.

24. The computer program product of claim 17 , where the computer readable program when executed on the computer further causes the computer to:

receive a request to filter the plurality of edited changes based upon a selected one of the plurality of edited changes;

filter the plurality of edited changes based upon the selected one of the plurality of edited changes; and

where, in causing the computer to display the plurality of edited changes associated with the editable file on the display, the computer readable program when executed on the computer causes the computer to display the filtered plurality of edited changes.

25. The computer program product of claim 17 , where, in causing the computer to display the context indicator within the expanded blank page representation of the separate contextual representation of the editable file that represents the location within the editable file associated with the first of the displayed plurality of edited changes, the computer readable program when executed on the computer causes the computer to:

toggle a displayed portion of the editable file associated with the first of the displayed plurality of edited changes within the expanded blank page representation of the separate contextual representation of the editable file between a state prior to a selected one of the plurality of edited changes and a state after the selected one of the plurality of edited changes.

Assignments (7)
RELEASE OF SECURITY INTEREST Recorded Dec 13, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069635/0332 →
SECURITY INTEREST Recorded Dec 12, 2024
From: DROPBOX, INC.
To: WILMINGTON TRUST, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 069604/0611 →
RELEASE OF SECURITY INTEREST Recorded Dec 12, 2024
From: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
To: DROPBOX, INC.
Reel/Frame 069613/0744 →
PATENT SECURITY AGREEMENT Recorded Mar 10, 2021
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 055670/0219 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2017
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: DROPBOX, INC.
Reel/Frame 043938/0489 →
SECURITY INTEREST Recorded Apr 14, 2017
From: DROPBOX, INC.
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 042254/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 7, 2009
From: BHOGAL, KULVIR S.; DELUCA, LISA SEACAT; GRIGSBY, TRAVIS M.; JANIA, FRANK L.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 022921/0991 →