IP Library › Granted Patent US 10,970,473
Granted Patent B2
US 10,970,473 · App. 16/066,057 · Granted Apr 6, 2021

Formatting document objects by visual suggestions

Inventors: Darren Edge (Beijing, CN); Taoyu Li (Beijing, CN); Xiongjian Mo (Beijing, CN)
Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
G06F40/166G06F3/0482G06F16/904G06F16/93G06F40/103G06F40/16
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 10,970,473
App. No.
16/066,057
Filed
Jun 25, 2018
Granted
Apr 6, 2021
Kind
B2
Art Unit
2179
USPC
715/256
Abstract

A solution for formatting document objects by visual suggestions is proposed. For a document including multiple editing units each of which contains multiple objects, a first editing rule is generated, the first editing rule indicating an edit performed on a first object in a document. Then, an editing suggestion is generated based on the first editing rule, the editing suggestion describing a candidate edit to be performed on a second object within a suggestion scope. The editing suggestion is then presented in a visual form to a user for selection.

Claims (66)

1. A device comprising:

a processing unit;

a memory coupled to the processing unit and storing instructions for execution by the processing unit, the instructions, when executed by the processing unit, causing the device to:

receive an edit performed on a first object in a document, wherein the first object is a portion of the document having a first attribute-value pair;

based on the edit performed on the first object in the document, generate a first editing rule, the first editing rule indicating the edit performed on the first object in a document;

generate an editing suggestion based on the first editing rule, the editing suggestion describing a candidate edit to be performed on a second object, having a second attribute-value pair, which is the same as the first attribute-value pair, within a suggestion scope; and

present the editing suggestion in a visual form to a user for selection.

2. The device of claim 1 , wherein the instructions, when executed by the processing unit, further cause the device to:

in response to the editing suggestion being selected by the user, apply the editing suggestion to the second object.

3. The device of claim 1 , wherein the first editing rule comprises a plurality of conditions and a conclusion, the conclusion indicating an edited attribute-value pair of the first object, and

wherein the instructions, when executed by the processing unit, cause the device to:

generate, from the first editing rule, a plurality of second editing rules, each of the plurality of second editing rules matching at least one of the objects within the suggestion scope, and conditions of the plurality of second editing rules being included in the plurality of conditions of the first editing rule;

select one of the plurality of second editing rules, the selected second editing rule applying to a greater number of objects than the first editing rule; and

generate the editing suggestion based on the selected second editing rule.

4. The device of claim 3 , wherein the instructions, when executed by the processing unit, further cause the device to:

generate further editing suggestions based on the plurality of second editing rules other than the selected second editing rule; and

present the further editing suggestions to the user for selection in an order associated with differences of the plurality of second editing rules and the first editing rule.

5. The device of claim 1 , wherein the instructions, when executed by the processing unit, further cause the device to:

in response to selection of a third object by the user, generate an editing suggestion that suggests applying the first editing rule to the third object.

6. The device of claim 1 , wherein the instructions, when executed by the processing unit, further cause the device to:

present, via a user interface, the editing suggestion as a preview of the document with the editing suggestion being applied to the second object.

7. The device of claim 6 , wherein the instructions, when executed by the processing unit, further cause the device to:

in response to applying the editing suggestion to the second object, update the first editing rule to indicate the edit performed on the second object;

regenerate the editing suggestion based on the updated first editing rule, the regenerated editing suggestion describe a candidate edit to be performed on a fourth object within the suggestion scope; and

present the regenerated editing suggestion in a visual form to the user for selection.

8. The device of claim 1 , wherein the document includes a plurality of editing units, and wherein the instructions, when executed by the processing unit, further cause the device to:

in response to the user navigating to one of the plurality of editing units, update the suggestion scope to be the one of the plurality of editing units.

9. The device of claim 1 , wherein the instructions, when executed by the processing unit, further cause the device to:

in response to an action indicating preference for a fifth object by the user, generate the first editing rule indicating a state of the fifth object.

10. A computer-implemented method comprising:

receiving, by a computing device, an edit performed on a first object in a document wherein the first object is a portion of the document;

determining, by the computing device, a first attribute-value pair associated with the first object;

based on the edit performed on the first object in the document, generating, by the computing device, a first editing rule, the first editing rule indicating the edit performed on the first object in the document;

determining, by the computing device, that a second object includes a second attribute-value pair, which is the same as the first attribute-value pair;

based on the second object including the second attribute-value pair, generating an editing suggestion based on the first editing rule, the editing suggestion describing a candidate edit to be performed on the second object within a suggestion scope; and

presenting the editing suggestion in a visual form to a user for selection.

11. The method of claim 10 , further comprising:

in response to the editing suggestion being selected by the user, applying the editing suggestion to the second object.

12. The method of claim 10 , wherein the first editing rule comprises a plurality of conditions and a conclusion, the plurality of conditions indicating attribute-value pairs of the first object prior to the edit, the conclusion indicating an edited attribute-value pair of the first object, and

wherein generating the editing suggestion based on the first editing rule comprises:

generating, from the first editing rule, a plurality of second editing rules, each of the plurality of second editing rules matching at least one of the objects within the suggestion scope, and conditions of the plurality of second editing rules being included in the plurality of conditions of the first editing rule;

selecting one of the plurality of second editing rules, the selected second editing rule applying to a greater number of objects than the first editing rule; and

generating the editing suggestion based on the selected second editing rule.

13. The method of claim 12 , further comprising:

generating further editing suggestions based on the plurality of second editing rules other than the selected second editing rule; and

presenting the further editing suggestions to the user for selection in an order associated with differences of the plurality of second editing rules and the first editing rule.

14. The method of claim 10 , wherein generating an editing suggestion based on the first editing rule comprises:

in response to selection of a third object by the user, generating an editing suggestion which suggests applying the first editing rule to the third object.

15. The method of claim 10 , wherein presenting the editing suggestion in a visual form to the user for selection comprises:

presenting, via a user interface, the editing suggestion as a preview of the document with the editing suggestion being applied to the second object.

16. The method of claim 15 , further comprising:

in response to applying the editing suggestion to the second object, updating the first editing rule to indicate the edit performed on the second object;

regenerating the editing suggestion based on the updated first editing rule, the regenerated editing suggestion describe a candidate edit to be performed on a fourth object within the suggestion scope; and

presenting the regenerated editing suggestion in a visual form to the user for selection.

17. The method of claim 10 , wherein the suggestion scope is the whole document.

18. The method of claim 10 , wherein the document includes a plurality of editing units, and wherein the method further comprises:

in response to the user navigating to one of the plurality of editing units, updating the suggestion scope to be the one of the plurality of editing units.

19. The method of claim 10 , further comprising:

in response to an action indicating preference for a fifth object by the user, generating the first editing rule indicating a state of the fifth object.

20. A computer program product being tangibly stored on a non-transient machine-readable medium and comprising machine-executable instructions, the instructions, when executed on a device, causing the device to perform a method, the method comprising:

receiving, by a computing device, an edit performed on a first object in a document;

determining, by the computing device, a first attribute-value pair associated with the first object;

based on the edit performed on the first object in the document, generating, by the computing device, a first editing rule, the first editing rule indicating the edit performed on the first object in the document;

determining, by the computing device, that a second object comprises a second attribute-value pair, which is the same as the first attribute-value pair;

based on the second object including the second attribute-value pair, generating an editing suggestion based on the first editing rule, the editing suggestion describing a candidate edit to be performed on a second object within a suggestion scope; and

presenting the editing suggestion in a visual form to a user for selection.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 18, 2018
From: EDGE, DARREN; LI, TAOYU; MO, XIONGJIAN
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 047221/0111 →
Continuity (1)
Related Publication 20200285803A1 · Sep 10, 2020