IP Library Granted Patent US 11,023,669
Granted Patent B2
US 11,023,669 · App. 16/024,556 · Granted Jun 1, 2021

Rendering lambda functions in spreadsheet applications

Inventors: Christopher John Gross (Seattle, WA); Johnny Campbell (Woodinville, WA); Claudio Vittorio Russo (Girton, GB)
Assignee: Microsoft Technology Licensing, LLC
G06F40/18G06F8/311G06F17/17G06F40/103G06F40/20
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 11,023,669
App. No.
16/024,556
Granted
Jun 1, 2021
Kind
B2
Abstract

Examples discussed herein relate to rending lambdas in spreadsheet application, e.g., Microsoft Excel®. In an implementation, a method of rendering lambdas in a spreadsheet application is disclosed. The method includes accessing a data object corresponding to the lambda function. The data object includes a listing of metadata associated with the lambda function and one or more items of the metadata identify rendering functionality for the lambda function. The method further includes creating a visual representation of the lambda function based, at least in part, on the rendering functionality for the lambda function, and rendering, in the cell of the spreadsheet on a display screen of the computing device, the visual representation of the lambda function.

Claims (55)

1. An apparatus comprising:

computer readable storage media;

program instructions stored on the computer readable storage media including a spreadsheet application, wherein the program instructions, when executed by a processing system of a computing device, direct the processing system to:

receive user input into a cell of a spreadsheet, wherein the user input comprises a formula that includes: a text descriptor that identifies the formula as a lambda function, and an expression that defines the lambda function and includes parameters of the lambda function and a body of the lambda function;

in response to the user input, generate a data object corresponding to the lambda function, wherein the data object includes a listing of metadata associated with the lambda function, and wherein the metadata identifies a cell rendering for the lambda function;

create a visual representation of the lambda function based, at least in part, on the cell rendering for the lambda function; and

replace the formula with the visual representation of the lambda function in the cell of the spreadsheet.

2. The apparatus of claim 1 , wherein the visual representation includes an indication that the cell of the spreadsheet includes the expression that defines the lambda function.

3. The apparatus of claim 1 , wherein the metadata comprises one or more fields including at least one of a code comments field, a lambda function name field, a lambda function tooltip field, and an arguments comments field.

4. The apparatus of claim 1 , wherein:

the visual representation of the lambda function includes at least one symbol indicating that the cell includes the lambda function; and

replacing the formula with the visual representation of the lambda function includes enabling display of the at least one symbol.

5. The apparatus of claim 1 , wherein:

the visual representation of the lambda function includes a graphical representation indicating that the cell includes the lambda function; and

replacing the formula with the visual representation of the lambda function includes enabling display of the graphical representation.

6. The apparatus of claim 1 , wherein the program instructions, when executed by the processing system, direct the processing system to:

monitor user interaction with the spreadsheet;

detect an interaction event related to the cell of the spreadsheet based on the user interaction with the spreadsheet; and

responsively identify and render a graphical user interface on a top layer or surface of the spreadsheet.

7. The apparatus of claim 6 , wherein the visual representation comprises one or more interface elements.

8. The apparatus of claim 7 , wherein each interface element of the one or more interface elements corresponds to at least one item of the metadata.

9. The apparatus of claim 6 , wherein the interaction event comprises a card surfacing event and the graphical user interface comprises a card.

10. The apparatus of claim 6 , wherein the interaction event comprises a cursor event and the graphical user interface comprises a tooltip or infotip.

11. The apparatus of claim 6 , wherein the program instructions, when executed by the processing system, further direct the processing system to:

detect input via the graphical user interface indicating a modification to the metadata associated with the lambda function; and

responsively adjust the metadata associated with the lambda function.

12. The apparatus of claim 1 , wherein the program instructions, when executed by the processing system, further direct the processing system to create the data object when registering the lambda function with a lambda registry.

13. A method comprising:

receiving user input into a cell of a spreadsheet, wherein the user input comprises a formula that includes: a text descriptor that identifies the formula as a lambda function, and an expression that defines the lambda function and includes parameters of the lambda function and a body of the lambda function;

in response to the user input, generate a data object corresponding to the lambda function, wherein the data object includes a listing of metadata associated with the lambda function, and wherein an item of the metadata identifies a cell rendering for the lambda function;

creating a visual representation of the lambda function based, at least in part, on the cell rendering; and

in the cell of the spreadsheet, replace the formula with the visual representation of the lambda function.

14. The method of claim 13 , wherein the lambda function is maintainable within a spreadsheet application associated with the spreadsheet via a lambda registry.

15. The method of claim 13 , wherein the visual representation includes an indication that the expression in the cell of the spreadsheet defines the lambda function.

16. The method of claim 13 , wherein:

the visual representation of the lambda function includes a graphical representation indicating that the cell includes the lambda function; and

replacing the formula with the visual representation of the lambda function includes enabling display of the graphical representation.

17. The method of claim 13 , further comprising:

monitoring user interaction with the spreadsheet;

detecting an interaction event related to one or more cells of the spreadsheet based on the user interaction with the spreadsheet; and

responsively identifying and rendering a graphical user interface on a surface of the spreadsheet.

18. The method of claim 17 , wherein the visual representation comprises one or more interface elements, and wherein each interface element corresponds to at least one item of metadata.

19. The method of claim 17 , further comprising:

receiving input via the graphical user interface indicating a modification to [[the]] one or more items of the metadata associated with the lambda function; and

responsively adjusting the one or more items of the metadata associated with the lambda function.

20. An apparatus comprising:

one or more processing systems;

one or more computer readable storage media storing:

at least one lambda registry data structure; and

program instructions including one or more components of a spreadsheet application,

wherein the program instructions, when executed by the one or more processing systems, direct the one or more processing systems to:

that receive user input into a cell of a spreadsheet, wherein the user input comprises a formula that includes: a text descriptor that identifies the formula as a lambda function, and an expression that defines the lambda function and includes parameters of the lambda function and a body of the lambda function;

access in response to the user input, generate a data object corresponding to the lambda function, wherein the data object includes a listing of metadata associated with the lambda function, and wherein one or more items of the metadata identify a cell rendering for the lambda function;

create a visual representation of the lambda function based, at least in part, on the cell rendering for the lambda function; and

replace the formula with the visual representation of the lambda function in the cell of the spreadsheet.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 11, 2018
From: GROSS, CHRISTOPHER JOHN; CAMPBELL, JOHNNY; RUSSO, CLAUDIO VITTORIO
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 046842/0957 →
Continuity (1)
Related Publication 20200004811A1 · Jan 2, 2020
Cited By (1)
US 12,541,642