IP Library Granted Patent US 12,001,784
Granted Patent B1
US 12,001,784 · App. 17/733,959 · Granted Jun 4, 2024

Systems and methods for providing a collaborative document environment

Inventors: Kevin Markman (New York, NY); Kevin Winter (Metuchen, NJ); Luiz Do Amaral De Franca Pereira Filho (Jersey City, NJ); Yunchi Luo (East Amherst, NY)
Assignee: Google LLC
G06F40/197G06F40/103G06F40/169G06Q10/101G06Q10/103H04L67/10
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 12,001,784
App. No.
17/733,959
Granted
Jun 4, 2024
Kind
B1
Abstract

Systems and methods are disclosed for sharing a unified undo/redo stack between multiple applications. A method determining that a host application receives an action regarding a document, adding the action to a unified stack that is associated with undo commands and is shared between the host application and a secondary application, receiving an undo command from the host application or the secondary application, and retrieving the undo command from the unified stack to cause the action to be undone in the host application and the secondary application.

Claims (60)

1. A method comprising:

determining that a host application receives an action regarding a document, wherein the action comprises a user change made to the document via the host application;

adding the action regarding the document to a unified stack that is associated with undo commands and is shared between the host application and a secondary application, wherein at least a portion of the document is editable via the host application and the secondary application;

receiving an undo command from the secondary application; and

retrieving the undo command from the unified stack to cause the user change made to the document via the host application to be undone in the secondary application.

2. The method of claim 1 further comprising:

determining that the host application receives a second action regarding the document;

adding the second action to a unified stack that is associated with redo commands and is shared between the host application and the secondary application;

receiving a redo command from the host application or the secondary application; and

retrieving the redo command from the unified stack to cause the second action to be redone in at least one of the host application or the secondary application.

3. The method of claim 2 wherein the unified stack associated with the undo commands is the same as the unified stack associated with the redo commands.

4. The method of claim 1 wherein the secondary application is embedded within the host application.

5. The method of claim 1 wherein the host application is a document application and the secondary application is a spreadsheet application.

6. The method of claim 1 wherein the action pertains to adding text to the document or adding a comment to the document.

7. The method of claim 6 wherein the undo command regarding the comment corresponds to one of: user input indicating a request to undo a suggested edit to the document, user input indicating a request to delete the comment via a user interface for a comment section, or user input indicating a request to delete the comment and synchronize the deletion with another user device.

8. The method of claim 1 wherein determining that the host application receives the action pertaining to the document comprises:

determining whether the host application receives the action from the secondary application or directly; and

responsive to determining that the host application receives the action from the secondary application, canceling the action from the second application.

9. The method of claim 1 wherein determining that the host application receives the action pertaining to the document further comprises:

determining whether the host application receives the action from the secondary application or directly; and

responsive to determining that the host application receives the action directly, refraining from canceling the action from the second application.

10. The method of claim 1 wherein the unified stack is synchronized between the host application and the secondary application.

11. Non-transitory computer-readable media having recorded thereon instructions, that when executed by one or more computer processors, perform operations comprising:

determining that a host application receives an action regarding a document, wherein the action comprises a user change made to the document via the host application;

adding the action regarding the document to a unified stack that is associated with undo commands and is shared between the host application and a secondary application, wherein at least a portion of the document is editable via the first host application and the secondary application;

receiving an undo command from the secondary application; and

retrieving the undo command from the unified stack to cause the user change made to the document via the host application to be undone in the secondary application.

12. The non-transitory computer-readable media of claim 11 wherein the operations further comprise:

determining that the host application receives a second action regarding the document;

adding the second action to a unified stack that is associated with redo commands and is shared between the host application and the secondary application;

receiving a redo command from the host application or the secondary application; and

retrieving the redo command from the unified stack to cause the second action to be redone in at least one of the host application or the secondary application.

13. The non-transitory computer-readable media of claim 11 wherein the secondary application is embedded within the host application, and wherein the host application is a document application and the secondary application is a spreadsheet application.

14. The non-transitory computer-readable media of claim 11 wherein the action pertains to adding a comment to the document, and wherein the undo command regarding the comment corresponds to one of: user input indicating a request to undo a suggested edit to the document, user input indicating a request to delete the comment via a user interface for a comment section, or user input indicating a request to delete the comment and synchronize the deletion with another user device.

15. The non-transitory computer-readable media of claim 11 wherein determining that the host application receives the action pertaining to the document comprises:

determining whether the host application receives the action from the secondary application or directly; and

responsive to determining that the host application receives the action from the secondary application, canceling the action from the second application.

16. The non-transitory computer-readable media of claim 11 wherein determining that the host application receives the action pertaining to the document further comprises:

determining whether the host application receives the action from the secondary application or directly; and

responsive to determining that the host application receives the action directly, refraining from canceling the action from the second application.

17. A system comprising:

a memory; and

one or more processors, coupled to the memory, to perform operations comprising:

determining that a host application receives an action regarding a document, wherein the action comprises a user change made to the document via the host application;

adding the action regarding the document to a unified stack that is associated with undo commands and is shared between the host application and a secondary application, wherein at least a portion of the document is editable via the first host application and the secondary application;

receiving an undo command from the secondary application; and

retrieving the undo command from the unified stack to cause the user change made to the document via the host application to be undone in the secondary application.

18. The system of claim 17 wherein the operations further comprise:

determining that the host application receives a second action regarding the document;

adding the second action to a unified stack that is associated with redo commands and is shared between the host application and the secondary application;

receiving a redo command from the host application or the secondary application; and

retrieving the redo command from the unified stack to cause the second action to be redone in at least one of the host application or the secondary application.

19. The system of claim 17 wherein the secondary application is embedded within the host application, and wherein the host application is a document application and the secondary application is a spreadsheet application.

20. The system of claim 17 wherein the action pertains to adding a comment to the document, and wherein the undo command regarding the comment corresponds to one of: user input indicating a request to undo a suggested edit to the document, user input indicating a request to delete the comment via a user interface for a comment section, or user input indicating a request to delete the comment and synchronize the deletion with another user device.

21. The system of claim 17 wherein determining that the host application receives the action pertaining to the document comprises:

determining whether the host application receives the action from the secondary application or directly; and

responsive to determining that the host application receives the action from the secondary application, canceling the action from the second application.

22. The system of claim 17 wherein determining that the host application receives the action pertaining to the document further comprises:

determining whether the host application receives the action from the secondary application or directly; and

responsive to determining that the host application receives the action directly, refraining from canceling the action from the second application.

Assignments (2)
CHANGE OF NAME Recorded Aug 25, 2022
From: GOOGLE INC.
To: GOOGLE LLC
Reel/Frame 061327/0241 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 14, 2022
From: MARKMAN, KEVIN; WINTER, KEVIN; PEREIRA FILHO, LUIZ DO AMARAL DE FRANCA; LUO, YUNCHI
To: GOOGLE INC.
Reel/Frame 060198/0812 →
Continuity (7)
Continuation 17671528 · Feb 14, 2022
Continuation 15793868 · Oct 25, 2017
Continuation 14749326 · Jun 24, 2015
Provisional Application 62061889 · Oct 9, 2014
Provisional Application 62016349 · Jun 24, 2014
Provisional Application 62016282 · Jun 24, 2014
Provisional Application 62016275 · Jun 24, 2014