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: 11748224Abstract: 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: GrantFiled: January 15, 2021Date of Patent: September 5, 2023Assignee: 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: 20210141705Abstract: 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: ApplicationFiled: January 15, 2021Publication date: May 13, 2021Applicant: 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: 10949316Abstract: 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: GrantFiled: August 28, 2018Date of Patent: March 16, 2021Assignee: 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: 10942645Abstract: 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: GrantFiled: August 13, 2019Date of Patent: March 9, 2021Assignee: 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: 10891113Abstract: 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: GrantFiled: November 19, 2018Date of Patent: January 12, 2021Assignee: Apple Inc.Inventors: Brooke K. Callahan, Michael S. Ferris, William B. Turner, Paul E. Marks, Matthew E. Dreisbach, Joar Wingfors
-
Publication number: 20200004414Abstract: 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: ApplicationFiled: August 13, 2019Publication date: January 2, 2020Inventors: 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: 10430072Abstract: 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: GrantFiled: June 3, 2016Date of Patent: October 1, 2019Assignee: 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: 20190155581Abstract: 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: ApplicationFiled: November 19, 2018Publication date: May 23, 2019Inventors: Brooke K. Callahan, Michael S. Ferris, William B. Turner, Paul E. Marks, Matthew E. Dreisbach, Joar Wingfors
-
Patent number: 10162607Abstract: 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: GrantFiled: September 24, 2016Date of Patent: December 25, 2018Assignee: Apple Inc.Inventors: Brooke K. Callahan, Michael S. Ferris, William B. Turner, Paul E. Marks, Matthew E. Dreisbach, Joar Wingfors
-
Publication number: 20170337041Abstract: 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: ApplicationFiled: September 24, 2016Publication date: November 23, 2017Inventors: Brooke K. Callahan, Michael S. Ferris, William B. Turner, Paul E. Marks, Matthew E. Dreisbach, Joar Wingfors
-
Publication number: 20160357432Abstract: 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: ApplicationFiled: June 3, 2016Publication date: December 8, 2016Applicant: 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: 20150347094Abstract: 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: ApplicationFiled: May 28, 2015Publication date: December 3, 2015Inventors: Christopher Arthur Lattner, Donald Matthew Firlik, Katherine Blake Stone, Kenneth Scott Orr, Michael S. Ferris, Tim V. Isted, Maxwell Oliver Drukman
-
Patent number: 8930895Abstract: 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: GrantFiled: June 6, 2011Date of Patent: January 6, 2015Inventors: Maxwell O. Drukman, Andreas W. Wendker, D. Matthew Firlik, Todd R. Fernandez, Michael S. Ferris, Anders I. Bertelrud
-
Publication number: 20110302556Abstract: 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: ApplicationFiled: June 6, 2011Publication date: December 8, 2011Applicant: APPLE INC.Inventors: Maxwell O. Drukman, Andreas W. Wendker, D. Matthew Firlik, Todd R. Fernandez, Michael S. Ferris, Anders I. Bertelrud
-
Publication number: 20110302565Abstract: 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: ApplicationFiled: June 7, 2011Publication date: December 8, 2011Inventors: Michael S. Ferris, Anders I. Bertelrud, Rick Ballard, Michael Rawdon