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: 11423116
    Abstract: 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: Grant
    Filed: June 29, 2018
    Date of Patent: August 23, 2022
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: Christopher John Gross, Johnny Campbell, Andrew James Becker, Claudio Vittorio Russo
  • Patent number: 11227106
    Abstract: 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: Grant
    Filed: July 24, 2019
    Date of Patent: January 18, 2022
    Assignee: MICROSOFT TECHNOLOGY LICENSING, LLC
    Inventors: 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: 11080477
    Abstract: 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: Grant
    Filed: July 24, 2019
    Date of Patent: August 3, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: 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: 11023669
    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.
    Type: Grant
    Filed: June 29, 2018
    Date of Patent: June 1, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Christopher John Gross, Johnny Campbell, Claudio Vittorio Russo
  • Patent number: 10902194
    Abstract: 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: Grant
    Filed: June 11, 2018
    Date of Patent: January 26, 2021
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Neil Blunt Toronto, Advait Sarkar, Christian Mendel Canton, Andrew Donald Gordon, Benjamin Edward Rampson, Johnny Campbell, Anusha Iyer
  • Patent number: 10860791
    Abstract: 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: Grant
    Filed: August 22, 2019
    Date of Patent: December 8, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Christian Canton, Christopher Gross, Joseph McDaid, Johnny Campbell
  • Publication number: 20200302009
    Abstract: 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: Application
    Filed: July 24, 2019
    Publication date: September 24, 2020
    Inventors: 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: 20200302013
    Abstract: 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: Application
    Filed: July 24, 2019
    Publication date: September 24, 2020
    Inventors: 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: 10699068
    Abstract: 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: Grant
    Filed: June 29, 2018
    Date of Patent: June 30, 2020
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Christopher John Gross, Johnny Campbell, Claudio Vittorio Russo
  • Publication number: 20200004812
    Abstract: 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: Application
    Filed: June 29, 2018
    Publication date: January 2, 2020
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Christopher John Gross, Johnny Campbell, Claudio Vittorio Russo
  • Publication number: 20200004811
    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.
    Type: Application
    Filed: June 29, 2018
    Publication date: January 2, 2020
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Christopher John Gross, Johnny Campbell, Claudio Vittorio Russo
  • Publication number: 20200004799
    Abstract: 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: Application
    Filed: June 29, 2018
    Publication date: January 2, 2020
    Applicant: Microsoft Technology Licensing, LLC
    Inventors: Christopher John Gross, Johnny Campbell, Andrew James Becker, Claudio Vittorio Russo
  • Publication number: 20190377787
    Abstract: 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: Application
    Filed: August 22, 2019
    Publication date: December 12, 2019
    Inventors: Christian Canton, Christopher Gross, Joseph McDaid, Johnny Campbell
  • Patent number: 10445422
    Abstract: 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: Grant
    Filed: February 9, 2018
    Date of Patent: October 15, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Christian Canton, Christopher Gross, Joseph McDaid, Johnny Campbell
  • Patent number: 10430516
    Abstract: 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: Grant
    Filed: June 13, 2013
    Date of Patent: October 1, 2019
    Assignee: Microsoft Technology Licensing, LLC
    Inventors: Prashant A Shirolkar, Daniel Battagin, Johnny Campbell, Benjamin Chamberlain, Aaron Lamar Wilson
  • Publication number: 20190251158
    Abstract: 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: Application
    Filed: June 11, 2018
    Publication date: August 15, 2019
    Inventors: Neil Blunt Toronto, Advait Sarkar, Christian Mendel Canton, Andrew Donald Gordon, Benjamin Edward Rampson, Johnny Campbell, Anusha Iyer
  • Publication number: 20190251157
    Abstract: 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: Application
    Filed: February 9, 2018
    Publication date: August 15, 2019
    Inventors: Christian Canton, Christopher Gross, Joseph McDaid, Johnny Campbell
  • Patent number: 9003298
    Abstract: 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: Grant
    Filed: March 13, 2012
    Date of Patent: April 7, 2015
    Assignee: Microsoft Corporation
    Inventors: Tom Hoke, Lawrence Waldman, Amy Lin, Johnny Campbell, Shahar Prish, Daniel Battagin, Harrison Gordon
  • Publication number: 20140372933
    Abstract: 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: Application
    Filed: June 13, 2013
    Publication date: December 18, 2014
    Inventors: Prashant A. Shirolkar, Daniel Battagin, Johnny Campbell, Benjamin Chamberlain, Aaron Lamar Wilson
  • Publication number: 20120173963
    Abstract: 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: Application
    Filed: March 13, 2012
    Publication date: July 5, 2012
    Applicant: Microsoft Corporation
    Inventors: Tom Hoke, Lawrence Waldman, Amy Lin, Johnny Campbell, Shahar Prish, Daniel Battagin, Harrison Gordon