Patents by Inventor Johnny Campbell
Johnny Campbell has filed for patents to protect the following inventions. This listing includes patent applications that are pending as well as patents that have already been granted by the United States Patent and Trademark Office (USPTO).
-
Patent number: 11423116Abstract: Examples discussed herein relate to automatically creating lambda functions in spreadsheet applications, e.g., Microsoft Excel®. In an implementation, a method of automatically creating lambda functions in spreadsheet applications using a lambda shorthand notation is disclosed. The method includes analyzing contents of a cell of a spreadsheet to identify a formulaic expression and determining that the formulaic expression can define a body of a lambda function without using explicit lambda function notation or parameter declarations. The method further includes automatically creating and invoking the lambda function responsive to the determination. As discussed herein, creating the lambda function includes registering the lambda function in a lambda registry using the formulaic expression as the body of the lambda function that evaluates into an output value.Type: GrantFiled: June 29, 2018Date of Patent: August 23, 2022Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Christopher John Gross, Johnny Campbell, Andrew James Becker, Claudio Vittorio Russo
-
Patent number: 11227106Abstract: Systems, methods, and software are disclosed herein for enhancing functions and formulas in spreadsheets. A computing apparatus detects a beginning of a formula in a cell of a spreadsheet. In response to detecting the beginning of the formula, the computing apparatus identifies one or more vector representations of a context of the cell and supplies the one or more vector representations as input to one or more machine learning models. The one or more machine learning models produce output comprising one or more suggested functions for the formula and one or more suggested operands, which the computing apparatus presents in a user interface to the spreadsheet.Type: GrantFiled: July 24, 2019Date of Patent: January 18, 2022Assignee: MICROSOFT TECHNOLOGY LICENSING, LLCInventors: Andrew William Stegmaier, Johnny Campbell, Joseph John McDaid, Christian Canton, Vikas Yadav, Sjoerd Roelof de Jong, Robert David Ohn Tinn, Marc Manuel Johannes Brockschmidt, Juliana Patricia Vicente Franco, Sneha Khullar
-
Patent number: 11080477Abstract: Systems, methods, and software are disclosed herein for enhancing functions and formulas in spreadsheets. A computing apparatus detects a beginning of a formula in a cell of a spreadsheet. In response to detecting the beginning of the formula, the computing apparatus identifies a vector representation of a context of the cell and supplies the vector representation as input to one or more machine learning models. The one or more machine learning models produce output comprising one or more suggested functions for the formula and one or more suggested operands, which the computing apparatus presents in a user interface to the spreadsheet.Type: GrantFiled: July 24, 2019Date of Patent: August 3, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Andrew William Stegmaier, Johnny Campbell, Joseph John McDaid, Christian Canton, Vikas Yadav, Sjoerd Roelof de Jong, Robert David Ohn Tinn, Marc Manuel Johannes Brockschmidt, Juliana Patricia Vicente Franco, Sneha Khullar
-
Patent number: 11023669Abstract: 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.Type: GrantFiled: June 29, 2018Date of Patent: June 1, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Christopher John Gross, Johnny Campbell, Claudio Vittorio Russo
-
Patent number: 10902194Abstract: Technology is disclosed herein for handing approximate (or uncertain) values in spreadsheet applications. More specifically, the technology describes spreadsheet applications that support arrays or sets of approximate (or uncertain) values as native entities. An approximate (or uncertain) value may be the value of a cell of the spreadsheet that is resolvable by formula, charts and other functionalities. In some implementations, approximate values may include a range of data and a probability distribution that can be automatically created by the spreadsheet application, generated based on context, input by the user, etc. Because the approximate (or uncertain) value is natively available, it can be incorporated in a spreadsheet like other values. Additionally, the approximate (or uncertain) values can automatically propagate through a spreadsheet calculation to obtain a final approximate result.Type: GrantFiled: June 11, 2018Date of Patent: January 26, 2021Assignee: Microsoft Technology Licensing, LLCInventors: Neil Blunt Toronto, Advait Sarkar, Christian Mendel Canton, Andrew Donald Gordon, Benjamin Edward Rampson, Johnny Campbell, Anusha Iyer
-
Patent number: 10860791Abstract: In non-limiting examples of the present disclosure, systems, methods and devices for interacting with data in a productivity application are presented. A plurality of values associated with the productivity application may be analyzed to determine whether they include a value that can be added to a set comprising a plurality of values with a set data type upon which the productivity application can execute a plurality of set operations. An indication to add at least one of the analyzed values as a member of the set may be received. At least one of the analyzed values may be added as a member of the set. An indication to perform a set operation associated with the set may be received and performed, and the result of the performed set operation may be displayed on a productivity application user interface.Type: GrantFiled: August 22, 2019Date of Patent: December 8, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Christian Canton, Christopher Gross, Joseph McDaid, Johnny Campbell
-
Publication number: 20200302009Abstract: Systems, methods, and software are disclosed herein for enhancing functions and formulas in spreadsheets. A computing apparatus detects a beginning of a formula in a cell of a spreadsheet. In response to detecting the beginning of the formula, the computing apparatus identifies one or more vector representations of a context of the cell and supplies the one or more vector representations as input to one or more machine learning models. The one or more machine learning models produce output comprising one or more suggested functions for the formula and one or more suggested operands, which the computing apparatus presents in a user interface to the spreadsheet.Type: ApplicationFiled: July 24, 2019Publication date: September 24, 2020Inventors: Andrew William Stegmaier, Johnny Campbell, Joseph John McDaid, Christian Canton, Vikas Yadav, Sjoerd Roelof de Jong, Robert David Ohn Tinn, Marc Manuel Johannes Brockschmidt, Juliana Patricia Vicente Franco, Sneha Khullar
-
Publication number: 20200302013Abstract: Systems, methods, and software are disclosed herein for enhancing functions and formulas in spreadsheets. A computing apparatus detects a beginning of a formula in a cell of a spreadsheet. In response to detecting the beginning of the formula, the computing apparatus identifies a vector representation of a context of the cell and supplies the vector representation as input to one or more machine learning models. The one or more machine learning models produce output comprising one or more suggested functions for the formula and one or more suggested operands, which the computing apparatus presents in a user interface to the spreadsheet.Type: ApplicationFiled: July 24, 2019Publication date: September 24, 2020Inventors: Andrew William Stegmaier, Johnny Campbell, Joseph John McDaid, Christian Canton, Vikas Yadav, Sjoerd Roelof de Jong, Robert David Ohn Tinn, Marc Manuel Johannes Brockschmidt, Juliana Patricia Vicente Franco, Sneha Khullar
-
Patent number: 10699068Abstract: In non-limiting examples of the present disclosure, systems, methods and devices for interacting with lambda functions are presented. An indication to store a lambda function may be received. The lambda function may comprise: executable information that is specific to a first spreadsheet application instance, executable information that is generic to spreadsheet application instances, and metadata describing the functionality of the lambda function. The lambda function may be stored, and an indication to apply the stored lambda function to data in a separate spreadsheet application instance may be received. The stored lambda function may be provided to the separate spreadsheet application instance for execution.Type: GrantFiled: June 29, 2018Date of Patent: June 30, 2020Assignee: Microsoft Technology Licensing, LLCInventors: Christopher John Gross, Johnny Campbell, Claudio Vittorio Russo
-
Publication number: 20200004812Abstract: In non-limiting examples of the present disclosure, systems, methods and devices for interacting with lambda functions are presented. An indication to store a lambda function may be received. The lambda function may comprise: executable information that is specific to a first spreadsheet application instance, executable information that is generic to spreadsheet application instances, and metadata describing the functionality of the lambda function. The lambda function may be stored, and an indication to apply the stored lambda function to data in a separate spreadsheet application instance may be received. The stored lambda function may be provided to the separate spreadsheet application instance for execution.Type: ApplicationFiled: June 29, 2018Publication date: January 2, 2020Applicant: Microsoft Technology Licensing, LLCInventors: Christopher John Gross, Johnny Campbell, Claudio Vittorio Russo
-
Publication number: 20200004811Abstract: 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.Type: ApplicationFiled: June 29, 2018Publication date: January 2, 2020Applicant: Microsoft Technology Licensing, LLCInventors: Christopher John Gross, Johnny Campbell, Claudio Vittorio Russo
-
Publication number: 20200004799Abstract: Examples discussed herein relate to automatically creating lambda functions in spreadsheet applications, e.g., Microsoft Excel®. In an implementation, a method of automatically creating lambda functions in spreadsheet applications using a lambda shorthand notation is disclosed. The method includes analyzing contents of a cell of a spreadsheet to identify a formulaic expression and determining that the formulaic expression can define a body of a lambda function without using explicit lambda function notation or parameter declarations. The method further includes automatically creating and invoking the lambda function responsive to the determination. As discussed herein, creating the lambda function includes registering the lambda function in a lambda registry using the formulaic expression as the body of the lambda function that evaluates into an output value.Type: ApplicationFiled: June 29, 2018Publication date: January 2, 2020Applicant: Microsoft Technology Licensing, LLCInventors: Christopher John Gross, Johnny Campbell, Andrew James Becker, Claudio Vittorio Russo
-
Publication number: 20190377787Abstract: In non-limiting examples of the present disclosure, systems, methods and devices for interacting with data in a productivity application are presented. A plurality of values associated with the productivity application may be analyzed to determine whether they include a value that can be added to a set comprising a plurality of values with a set data type upon which the productivity application can execute a plurality of set operations. An indication to add at least one of the analyzed values as a member of the set may be received. At least one of the analyzed values may be added as a member of the set. An indication to perform a set operation associated with the set may be received and performed, and the result of the performed set operation may be displayed on a productivity application user interface.Type: ApplicationFiled: August 22, 2019Publication date: December 12, 2019Inventors: Christian Canton, Christopher Gross, Joseph McDaid, Johnny Campbell
-
Patent number: 10445422Abstract: In non-limiting examples of the present disclosure, systems, methods and devices for interacting with data in a productivity application are presented. A plurality of values associated with the productivity application may be analyzed to determine whether they include a value that can be added to a set comprising a plurality of values with a set data type upon which the productivity application can execute a plurality of set operations. An indication to add at least one of the analyzed values as a member of the set may be received. At least one of the analyzed values may be added as a member of the set. An indication to perform a set operation associated with the set may be received and performed, and the result of the performed set operation may be displayed on a productivity application user interface.Type: GrantFiled: February 9, 2018Date of Patent: October 15, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Christian Canton, Christopher Gross, Joseph McDaid, Johnny Campbell
-
Patent number: 10430516Abstract: Suggestions are automatically displayed in response to an event. For example, suggestions may be automatically displayed in response to a receiving an indication from a user to enter content (e.g. receiving a selection of a content entry area). The suggestions may be displayed before a user enters any characters and before an input device is displayed and/or used (e.g. keyboard, Software Input Panel (SIP), and the like. Suggestions may also be automatically displayed in response to detecting a pause while a user is entering content. For example, when a user is actively entering content, suggestions are not automatically displayed but when a user pauses a predetermined amount while entering content, suggestions are automatically displayed. The suggestions may be determined from content that may be seen on a display and/or hidden from view (e.g. hidden rows in a spreadsheet).Type: GrantFiled: June 13, 2013Date of Patent: October 1, 2019Assignee: Microsoft Technology Licensing, LLCInventors: Prashant A Shirolkar, Daniel Battagin, Johnny Campbell, Benjamin Chamberlain, Aaron Lamar Wilson
-
Publication number: 20190251158Abstract: Technology is disclosed herein for handing approximate (or uncertain) values in spreadsheet applications. More specifically, the technology describes spreadsheet applications that support arrays or sets of approximate (or uncertain) values as native entities. An approximate (or uncertain) value may be the value of a cell of the spreadsheet that is resolvable by formula, charts and other functionalities. In some implementations, approximate values may include a range of data and a probability distribution that can be automatically created by the spreadsheet application, generated based on context, input by the user, etc. Because the approximate (or uncertain) value is natively available, it can be incorporated in a spreadsheet like other values. Additionally, the approximate (or uncertain) values can automatically propagate through a spreadsheet calculation to obtain a final approximate result.Type: ApplicationFiled: June 11, 2018Publication date: August 15, 2019Inventors: Neil Blunt Toronto, Advait Sarkar, Christian Mendel Canton, Andrew Donald Gordon, Benjamin Edward Rampson, Johnny Campbell, Anusha Iyer
-
Publication number: 20190251157Abstract: In non-limiting examples of the present disclosure, systems, methods and devices for interacting with data in a productivity application are presented. A plurality of values associated with the productivity application may be analyzed to determine whether they include a value that can be added to a set comprising a plurality of values with a set data type upon which the productivity application can execute a plurality of set operations. An indication to add at least one of the analyzed values as a member of the set may be received. At least one of the analyzed values may be added as a member of the set. An indication to perform a set operation associated with the set may be received and performed, and the result of the performed set operation may be displayed on a productivity application user interface.Type: ApplicationFiled: February 9, 2018Publication date: August 15, 2019Inventors: Christian Canton, Christopher Gross, Joseph McDaid, Johnny Campbell
-
Patent number: 9003298Abstract: A web page behavior control (WPBC) menu is provided on a rendered web page for enabling a user to perform actions on a portion of the web page content such as customizing, editing, sharing, analyzing, exporting, and/or annotating the content. The user may automatically activate the menu by performing a unique gesture on the rendered web page and/or by selecting a portion of the web page content. The WPBC menu may provide a list of applications which may be selected for modifying and managing the portion of selected web page content. The application may provide full functionality for managing the web page content in a separate user interface and/or directly on the rendered web page. Furthermore, manipulation of data presentation on the rendered web page such as table properties of a spreadsheet may be enabled through natural gestures.Type: GrantFiled: March 13, 2012Date of Patent: April 7, 2015Assignee: Microsoft CorporationInventors: Tom Hoke, Lawrence Waldman, Amy Lin, Johnny Campbell, Shahar Prish, Daniel Battagin, Harrison Gordon
-
Publication number: 20140372933Abstract: Suggestions are automatically displayed in response to an event. For example, suggestions may be automatically displayed in response to a receiving an indication from a user to enter content (e.g. receiving a selection of a content entry area). The suggestions may be displayed before a user enters any characters and before an input device is displayed and/or used (e.g. keyboard, Software Input Panel (SIP), and the like. Suggestions may also be automatically displayed in response to detecting a pause while a user is entering content. For example, when a user is actively entering content, suggestions are not automatically displayed but when a user pauses a predetermined amount while entering content, suggestions are automatically displayed. The suggestions may be determined from content that may be seen on a display and/or hidden from view (e.g. hidden rows in a spreadsheet).Type: ApplicationFiled: June 13, 2013Publication date: December 18, 2014Inventors: Prashant A. Shirolkar, Daniel Battagin, Johnny Campbell, Benjamin Chamberlain, Aaron Lamar Wilson
-
Publication number: 20120173963Abstract: A web page behavior control (WPBC) menu is provided on a rendered web page for enabling a user to perform actions on a portion of the web page content such as customizing, editing, sharing, analyzing, exporting, and/or annotating the content. The user may automatically activate the menu by performing a unique gesture on the rendered web page and/or by selecting a portion of the web page content. The WPBC menu may provide a list of applications which may be selected for modifying and managing the portion of selected web page content. The application may provide full functionality for managing the web page content in a separate user interface and/or directly on the rendered web page. Furthermore, manipulation of data presentation on the rendered web page such as table properties of a spreadsheet may be enabled through natural gestures.Type: ApplicationFiled: March 13, 2012Publication date: July 5, 2012Applicant: Microsoft CorporationInventors: Tom Hoke, Lawrence Waldman, Amy Lin, Johnny Campbell, Shahar Prish, Daniel Battagin, Harrison Gordon