Patents by Inventor Michael S. Ferris

Michael S. Ferris 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: 11748224
    Abstract: Embodiments of the present disclosure include methods and systems for generating and processing energy consumption reports received from a plurality of devices. The reports may include a plurality of call stacks captured and stored by remote device as a result of an energy consumption of the corresponding device. For each energy consumption report, the plurality of call stacks may be analyzed to determine a representative call stack of the energy consumption report. The energy consumption reports may be assigned to one or more of a plurality of energy consumption categories based on distances between the representative call stacks of the energy consumption reports and corresponding representative call stacks of the energy consumption categories. A request may be received for energy consumption reports for a particular energy consumption category. Upon receiving the request, providing a representative set of energy consumption reports assigned to the particular energy consumption category.
    Type: Grant
    Filed: January 15, 2021
    Date of Patent: September 5, 2023
    Assignee: Apple Inc.
    Inventors: David S. Choi, Christopher R. D'Angelo, Sanket V. Bedare, Sathish K. Narayanaswamy, Abhinav Pathak, Amit K. Vyas, Kevin C. Milden, Hari Gorak, Anand Ramadurai, Sean Shi, Drew A. Schmitt, Michael S. Ferris
  • Publication number: 20210141705
    Abstract: Embodiments of the present disclosure include methods and systems for generating and processing energy consumption reports received from a plurality of devices. The reports may include a plurality of call stacks captured and stored by remote device as a result of an energy consumption of the corresponding device. For each energy consumption report, the plurality of call stacks may be analyzed to determine a representative call stack of the energy consumption report. The energy consumption reports may be assigned to one or more of a plurality of energy consumption categories based on distances between the representative call stacks of the energy consumption reports and corresponding representative call stacks of the energy consumption categories. A request may be received for energy consumption reports for a particular energy consumption category. Upon receiving the request, providing a representative set of energy consumption reports assigned to the particular energy consumption category.
    Type: Application
    Filed: January 15, 2021
    Publication date: May 13, 2021
    Applicant: Apple Inc.
    Inventors: David S. Choi, Christopher R. D'Angelo, Sanket V. Bedare, Sathish K. Narayanaswamy, Abhinav Pathak, Amit K. Vyas, Kevin C. Milden, Hari Gorak, Anand Ramadurai, Sean Shi, Drew A. Schmitt, Michael S. Ferris
  • Patent number: 10949316
    Abstract: Embodiments of the present disclosure include methods and systems for generating and processing energy consumption reports received from a plurality of devices. The reports may include a plurality of call stacks captured and stored by remote device as a result of an energy consumption of the corresponding device. For each energy consumption report, the plurality of call stacks may be analyzed to determine a representative call stack of the energy consumption report. The energy consumption reports may be assigned to one or more of a plurality of energy consumption categories based on distances between the representative call stacks of the energy consumption reports and corresponding representative call stacks of the energy consumption categories. A request may be received for energy consumption reports for a particular energy consumption category. Upon receiving the request, providing a representative set of energy consumption reports assigned to the particular energy consumption category.
    Type: Grant
    Filed: August 28, 2018
    Date of Patent: March 16, 2021
    Assignee: Apple Inc.
    Inventors: David S. Choi, Christopher R. D'Angelo, Sanket V. Bedare, Sathish K. Narayanaswamy, Abhinav Pathak, Amit K. Vyas, Kevin C. Milden, Hari Gorak, Anand Ramadurai, Sean Shi, Drew A. Schmitt, Michael S. Ferris
  • Patent number: 10942645
    Abstract: In an example method, a user interface is presented by a device on a touch sensitive surface of the device. The user interface includes a first portion for displaying a sequence of code and a second portion for displaying suggested bracketed functions. The device receives a first touch gesture dragging a suggested bracketed function from the second portion to the first portion of the user interface. Responsive to receiving the first touch gesture, the suggested bracketed function is inserted into the sequence of code. The bracketed function encloses at least a portion of the sequence of code. The device receives a second touch gesture dragging an end bracket associated with the inserted bracketed function. Responsive to receiving the second touch gesture, the sequence of code is modified such that the bracketed function encloses an additional portion of the sequence of code.
    Type: Grant
    Filed: August 13, 2019
    Date of Patent: March 9, 2021
    Assignee: Apple Inc.
    Inventors: Behzad Aghaei, Christopher A. Lattner, Donald M. Firlik, Kenneth S. Orr, Matthew M. Patenaude, Maxwell O. Drukman, Michael S. Ferris, Samuel C. Page, Sonny Falk, Timothy V. Isted, William A. Dudney, Jr.
  • Patent number: 10891113
    Abstract: Systems and methods are disclosed for developing an application on a development device. The application is built on a development device, then installed and run on a test device. Installation includes installing an event tap to intercept events generated by a user interacting with the application. In response to a call from the event tap, a test manager daemon snapshots the user interface elements of the application and packages the snapshot and event for transmission to the development device. A development environment on the development device receives the package, then generates and displays optimized source code in response to the received events and snapshots. Generated source code can be optimized to minimize a number identifiers, minimize a length of identifiers, minimize a generated number of lines of code, or optimize the generated source code for readability.
    Type: Grant
    Filed: November 19, 2018
    Date of Patent: January 12, 2021
    Assignee: Apple Inc.
    Inventors: Brooke K. Callahan, Michael S. Ferris, William B. Turner, Paul E. Marks, Matthew E. Dreisbach, Joar Wingfors
  • Publication number: 20200004414
    Abstract: In an example method, a user interface is presented by a device on a touch sensitive surface of the device. The user interface includes a first portion for displaying a sequence of code and a second portion for displaying suggested bracketed functions. The device receives a first touch gesture dragging a suggested bracketed function from the second portion to the first portion of the user interface. Responsive to receiving the first touch gesture, the suggested bracketed function is inserted into the sequence of code. The bracketed function encloses at least a portion of the sequence of code. The device receives a second touch gesture dragging an end bracket associated with the inserted bracketed function. Responsive to receiving the second touch gesture, the sequence of code is modified such that the bracketed function encloses an additional portion of the sequence of code.
    Type: Application
    Filed: August 13, 2019
    Publication date: January 2, 2020
    Inventors: Behzad Aghaei, Christopher A. Lattner, Donald M. Firlik, Kenneth S. Orr, Matthew M. Patenaude, Maxwell O. Drukman, Michael S. Ferris, Samuel C. Page, Sonny Falk, Timothy V. Isted, William A. Dudney, Jr.
  • Patent number: 10430072
    Abstract: In an example method, a user interface is presented by a device on a touch sensitive surface of the device. The user interface includes a first portion for displaying a sequence of code and a second portion for displaying suggested bracketed functions. The device receives a first touch gesture dragging a suggested bracketed function from the second portion to the first portion of the user interface. Responsive to receiving the first touch gesture, the suggested bracketed function is inserted into the sequence of code. The bracketed function encloses at least a portion of the sequence of code. The device receives a second touch gesture dragging an end bracket associated with the inserted bracketed function. Responsive to receiving the second touch gesture, the sequence of code is modified such that the bracketed function encloses an additional portion of the sequence of code.
    Type: Grant
    Filed: June 3, 2016
    Date of Patent: October 1, 2019
    Assignee: Apple Inc.
    Inventors: Behzad Aghaei, Christopher A. Lattner, Donald M. Firlik, Kenneth S. Orr, Matthew M. Patenaude, Maxwell O. Drukman, Michael S. Ferris, Samuel C. Page, Sonny Falk, Timothy V. Isted, William A. Dudney
  • Publication number: 20190155581
    Abstract: Systems and methods are disclosed for developing an application on a development device. The application is built on a development device, then installed and run on a test device. Installation includes installing an event tap to intercept events generated by a user interacting with the application. In response to a call from the event tap, a test manager daemon snapshots the user interface elements of the application and packages the snapshot and event for transmission to the development device. A development environment on the development device receives the package, then generates and displays optimized source code in response to the received events and snapshots. Generated source code can be optimized to minimize a number identifiers, minimize a length of identifiers, minimize a generated number of lines of code, or optimize the generated source code for readability.
    Type: Application
    Filed: November 19, 2018
    Publication date: May 23, 2019
    Inventors: Brooke K. Callahan, Michael S. Ferris, William B. Turner, Paul E. Marks, Matthew E. Dreisbach, Joar Wingfors
  • Patent number: 10162607
    Abstract: Systems and methods are disclosed for developing an application on a development device. The application is built on a development device, then installed and run on a test device. Installation includes installing an event tap to intercept events generated by a user interacting with the application. In response to a call from the event tap, a test manager daemon snapshots the user interface elements of the application and packages the snapshot and event for transmission to the development device. A development environment on the development device receives the package, then generates and displays optimized source code in response to the received events and snapshots. Generated source code can be optimized to minimize a number identifiers, minimize a length of identifiers, minimize a generated number of lines of code, or optimize the generated source code for readability.
    Type: Grant
    Filed: September 24, 2016
    Date of Patent: December 25, 2018
    Assignee: Apple Inc.
    Inventors: Brooke K. Callahan, Michael S. Ferris, William B. Turner, Paul E. Marks, Matthew E. Dreisbach, Joar Wingfors
  • Publication number: 20170337041
    Abstract: Systems and methods are disclosed for developing an application on a development device. The application is built on a development device, then installed and run on a test device. Installation includes installing an event tap to intercept events generated by a user interacting with the application. In response to a call from the event tap, a test manager daemon snapshots the user interface elements of the application and packages the snapshot and event for transmission to the development device. A development environment on the development device receives the package, then generates and displays optimized source code in response to the received events and snapshots. Generated source code can be optimized to minimize a number identifiers, minimize a length of identifiers, minimize a generated number of lines of code, or optimize the generated source code for readability.
    Type: Application
    Filed: September 24, 2016
    Publication date: November 23, 2017
    Inventors: Brooke K. Callahan, Michael S. Ferris, William B. Turner, Paul E. Marks, Matthew E. Dreisbach, Joar Wingfors
  • Publication number: 20160357432
    Abstract: In an example method, a user interface is presented by a device on a touch sensitive surface of the device. The user interface includes a first portion for displaying a sequence of code and a second portion for displaying suggested bracketed functions. The device receives a first touch gesture dragging a suggested bracketed function from the second portion to the first portion of the user interface. Responsive to receiving the first touch gesture, the suggested bracketed function is inserted into the sequence of code. The bracketed function encloses at least a portion of the sequence of code. The device receives a second touch gesture dragging an end bracket associated with the inserted bracketed function. Responsive to receiving the second touch gesture, the sequence of code is modified such that the bracketed function encloses an additional portion of the sequence of code.
    Type: Application
    Filed: June 3, 2016
    Publication date: December 8, 2016
    Applicant: Apple Inc.
    Inventors: Behzad Aghaei, Christopher A. Lattner, Donald M. Firlik, JR., Kenneth S. Orr, Matthew M. Patenaude, Maxwell O. Drukman, Michael S. Ferris, Samuel C. Page, Sonny Falk, Timothy V. Isted, William A. Dudney, JR.
  • Publication number: 20150347094
    Abstract: The subject disclosure relates to methods and systems for facilitating software development. In particular, aspects of the technology relate to a method including steps for receiving source code from a user in an editor window, automatically compiling the source code to produce compiled code, and executing the compiled code to generate an output, wherein the output comprises one or more results from execution of the compiled code. In some aspects, the method can also include steps for providing a results window to the user, the results window displaying at least one of the results from the execution of the compiled code, and providing a visualization window to the user, wherein the visualization window is associated with a progress timeline and wherein the visualization window is configured to display an animation of the at least one of the results from execution of the compiled code.
    Type: Application
    Filed: May 28, 2015
    Publication date: December 3, 2015
    Inventors: Christopher Arthur Lattner, Donald Matthew Firlik, Katherine Blake Stone, Kenneth Scott Orr, Michael S. Ferris, Tim V. Isted, Maxwell Oliver Drukman
  • Patent number: 8930895
    Abstract: Art editor within an integrated development environment displays a related file automatically. When a user enters a command to open a first file in the editor, the editor not only displays the first file's content (in a “primary editor”) but also automatically displays a second file's content (in a “related editor”), where the second file is related to the first file. In other words, when a first file is displayed in the editor, a file that is related to the first file is automatically displayed also. If the primary editor later displays a different file, then the file shown in the related editor will likely change as well, since the file shown in the related editor will be related to the “new” file in the primary editor. In other words, whatever is displayed in the related editor “tracks” whatever is displayed in the primary editor.
    Type: Grant
    Filed: June 6, 2011
    Date of Patent: January 6, 2015
    Inventors: Maxwell O. Drukman, Andreas W. Wendker, D. Matthew Firlik, Todd R. Fernandez, Michael S. Ferris, Anders I. Bertelrud
  • Publication number: 20110302556
    Abstract: Art editor within an integrated development environment displays a related file automatically. When a user enters a command to open a first file in the editor, the editor not only displays the first file's content (in a “primary editor”) but also automatically displays a second file's content (in a “related editor”), where the second file is related to the first file. In other words, when a first file is displayed in the editor, a file that is related to the first file is automatically displayed also. If the primary editor later displays a different file, then the file shown in the related editor will likely change as well, since the file shown in the related editor will be related to the “new” file in the primary editor. In other words, whatever is displayed in the related editor “tracks” whatever is displayed in the primary editor.
    Type: Application
    Filed: June 6, 2011
    Publication date: December 8, 2011
    Applicant: APPLE INC.
    Inventors: Maxwell O. Drukman, Andreas W. Wendker, D. Matthew Firlik, Todd R. Fernandez, Michael S. Ferris, Anders I. Bertelrud
  • Publication number: 20110302565
    Abstract: Implicit dependences allow a user to add multiple independent software components to a workspace, which results in the automatic establishment of ad-hoc dependencies. If one project depends on the products of another in the same workspace, a dependency manager detects this, causing a build engine to automatically build the projects in the correct sequence. Each project retains its individual identity, so a project can be included in more than one workspace or removed from a workspace without affecting the project. The workspace module maintains pointers to the projects and other files that the workspace includes. A target and the product it creates can be related to another target. If both targets are in the same workspace, the dependency manager discovers the dependency and the build engine builds the products in the required order. Such a relationship is referred to as an implicit dependency.
    Type: Application
    Filed: June 7, 2011
    Publication date: December 8, 2011
    Inventors: Michael S. Ferris, Anders I. Bertelrud, Rick Ballard, Michael Rawdon