Patents by Inventor Joshua H. Shaffer

Joshua H. Shaffer 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).

  • Publication number: 20130016039
    Abstract: A method executes software including a view hierarchy with a plurality of views which displays one or more views of the view hierarchy. The method executes software elements associated with a particular view, wherein each particular view includes event recognizers. Each event recognizer has an event definition based on sub-events, and an event handler that specifies an action for a target, and is configured to send the action to the target in response to an event recognition. The method detects a sequence of sub-events, and identifies one of the views of the view hierarchy as a hit view that establishes which views in the hierarchy are actively involved views. The method delivers a respective sub-event to event recognizers for each actively involved view, wherein each event recognizer for actively involved views in the view hierarchy processes the respective sub-event prior to processing a next sub-event in the sequence of sub-events.
    Type: Application
    Filed: September 14, 2012
    Publication date: January 17, 2013
    Inventors: Bradford Allen Moore, Joshua H. Shaffer
  • Publication number: 20120306891
    Abstract: A device includes one or more processors, and memory storing programs. The programs include a respective application and an application service module. The application service module includes instructions for, in response to a triggering event from the respective application, initializing an animation object with one or more respective initialization values corresponding to the triggering event. The animation object includes an instance of a predefined animation software class. At each of a series of successive times, the device updates the animation object so as to produce a respective animation value in accordance with a predefined animation function based on a primary function of an initial velocity and a deceleration rate and one or more secondary functions. The device updates a state of one or more user interface objects in accordance with the respective animation value, and renders on a display a user interface in accordance with the updated state.
    Type: Application
    Filed: September 28, 2011
    Publication date: December 6, 2012
    Inventor: Joshua H. Shaffer
  • Publication number: 20120306890
    Abstract: An electronic device includes a display, one or more processors, and memory storing programs for execution by the one or more processors. The programs include one or more applications and an application service module. The application service module includes instructions for, in response to receiving a triggering event from a respective application of the one or more applications, initializing an animation object with one or more respective initialization values corresponding to the triggering event. The animation object comprises an instance of a predefined animation software class. At each of a series of successive times, the device updates the animation object so as to produce a respective animation value in accordance with a predefined animation function, and renders on the display a user interface including one or more user interface objects in accordance with the respective animation value from the animation object.
    Type: Application
    Filed: September 28, 2011
    Publication date: December 6, 2012
    Inventor: Joshua H. Shaffer
  • Patent number: 8285499
    Abstract: A method executes software including a view hierarchy with a plurality of views which displays one or more views of the view hierarchy. The method executes software elements associated with a particular view, wherein each particular view includes event recognizers. Each event recognizer has an event definition based on sub-events, and an event handler that specifies an action for a target, and is configured to send the action to the target in response to an event recognition. The method detects a sequence of sub-events, and identifies one of the views of the view hierarchy as a hit view that establishes which views in the hierarchy are actively involved views. The method delivers a respective sub-event to event recognizers for each actively involved view, wherein each event recognizer for actively involved views in the view hierarchy processes the respective sub-event prior to processing a next sub-event in the sequence of sub-events.
    Type: Grant
    Filed: September 24, 2009
    Date of Patent: October 9, 2012
    Assignee: Apple Inc.
    Inventors: Bradford Allen Moore, Joshua H. Shaffer
  • Publication number: 20120204015
    Abstract: A computer-program product may have instructions that, when executed, cause a processor to perform operations including managing execution of application functions that access data in a shared buffer; determining if a first instruction that is stored at a first memory location causes, upon execution, data to be read from or written to the shared buffer; and when it is determined that the first instruction causes data to be read from or written to the shared buffer, 1) identify one or more replacement instructions to execute in place of the first instruction; 2) store the one or more replacement instructions; and 3) replace the first instruction at the first memory location with a second instruction that, when executed, causes the stored one or more replacement instructions to be executed.
    Type: Application
    Filed: April 13, 2012
    Publication date: August 9, 2012
    Applicant: APPLE INC.
    Inventors: Ronnie G. Misra, Joshua H. Shaffer
  • Patent number: 8159497
    Abstract: A computer-program product may have instructions that, when executed, cause a processor to perform operations including managing execution of application functions that access data in a shared buffer; determining if a first instruction that is stored at a first memory location causes, upon execution, data to be read from or written to the shared buffer; and when it is determined that the first instruction causes data to be read from or written to the shared buffer, 1) identify one or more replacement instructions to execute in place of the first instruction; 2) store the one or more replacement instructions; and 3) replace the first instruction at the first memory location with a second instruction that, when executed, causes the stored one or more replacement instructions to be executed.
    Type: Grant
    Filed: March 3, 2008
    Date of Patent: April 17, 2012
    Assignee: Apple Inc.
    Inventors: Ronnie G. Misra, Joshua H. Shaffer
  • Publication number: 20110310047
    Abstract: A device detects a sequence of sub-events as part of a touch event associated with a view, determines that the sequence does not correspond to one or more predefined sequences of sub-events for the view associated with the touch event, and, in accordance with a determination that the sequence does not correspond to the one or more predefined sequences, sends a touch cancel event to the view associated with the touch event. Also disclosed is a device configured to detect a sequence of sub-events as part of a touch event associated with a view, determine that the sequence does not correspond to one or more predefined sequences of sub-events for the view associated with the touch event, and, in accordance with a determination that the sequence does not correspond to the one or more predefined sequences, cancel the touch event.
    Type: Application
    Filed: August 30, 2011
    Publication date: December 22, 2011
    Inventors: Bradford Allen Moore, Joshua H. Shaffer
  • Publication number: 20110181526
    Abstract: A software application includes a plurality of views and an application state. The method includes displaying one or more views, where a respective view includes a respective gesture recognizer having a corresponding delegate to the respective gesture recognizer. The method includes detecting one or more events and processing a respective event of the one or more events using the respective gesture recognizer. The processing of the respective event includes processing the respective event at the respective gesture recognizer in accordance with a respective gesture definition corresponding to the respective gesture recognizer, executing the corresponding delegate to determine one or more values, and conditionally sending information corresponding to the respective event to the software application in accordance with the one or more values determined by the delegate. The method includes executing the software application in accordance with information, received from the respective gesture recognizer.
    Type: Application
    Filed: May 28, 2010
    Publication date: July 28, 2011
    Inventors: Joshua H. Shaffer, Bradford Allen Moore, Jason Clay Beaver
  • Publication number: 20110164184
    Abstract: A display driving architecture that can include two graphics pipelines with an optional connection between them to provide a mirrored mode. In one embodiment, one of the two pipelines can be automatically configured (e.g. routed in one of a plurality of ways, such as routing to do color conversion) based upon the type of cable that is coupled to a connector of the one pipeline. In another embodiment, a connection of a cable can cause display information (e.g. resolutions of an external display) to be provided to an application which can select a display mode while one of the graphics pipelines is kept in a low power state.
    Type: Application
    Filed: September 30, 2010
    Publication date: July 7, 2011
    Applicant: APPLE INC.
    Inventors: Gokhan Avkarogullari, John Harper, Joshua H. Shaffer, Roberto G. Yepez
  • Publication number: 20110164056
    Abstract: A method includes: displaying a first 2-D array of a plurality of user interface components on the display in a portrait orientation; detecting rotation of the display from the portrait orientation to a landscape orientation with one or more accelerometers; and, in response to detecting the rotation: rotating the first 2-D array of the plurality of user interface components on the display about an axis that is normal to a front surface of the display; replacing the first 2-D array with a second 2-D array of the plurality of user interface components on the display after the rotation of the first 2-D array exceeds a predefined condition; and rotating the second 2-D array of the plurality of user interface components on the display until the second 2-D array of the plurality of user interface components is in the landscape orientation.
    Type: Application
    Filed: May 28, 2010
    Publication date: July 7, 2011
    Inventors: Bas Ording, Joshua H. Shaffer, Eliza Carey Block
  • Publication number: 20100235118
    Abstract: A method executes software including a view hierarchy with a plurality of views which displays one or more views of the view hierarchy. The method executes software elements associated with a particular view, wherein each particular view includes event recognizers. Each event recognizer has an event definition based on sub-events, and an event handler that specifies an action for a target, and is configured to send the action to the target in response to an event recognition. The method detects a sequence of sub-events, and identifies one of the views of the view hierarchy as a hit view that establishes which views in the hierarchy are actively involved views. The method delivers a respective sub-event to event recognizers for each actively involved view, wherein each event recognizer for actively involved views in the view hierarchy processes the respective sub-event prior to processing a next sub-event in the sequence of sub-events.
    Type: Application
    Filed: September 24, 2009
    Publication date: September 16, 2010
    Inventors: Bradford Allen Moore, Joshua H. Shaffer
  • Publication number: 20080155232
    Abstract: A computer-program product may have instructions that, when executed, cause a processor to perform operations including managing execution of application functions that access data in a shared buffer; determining if a first instruction that is stored at a first memory location causes, upon execution, data to be read from or written to the shared buffer; and when it is determined that the first instruction causes data to be read from or written to the shared buffer, 1) identify one or more replacement instructions to execute in place of the first instruction; 2) store the one or more replacement instructions; and 3) replace the first instruction at the first memory location with a second instruction that, when executed, causes the stored one or more replacement instructions to be executed.
    Type: Application
    Filed: March 3, 2008
    Publication date: June 26, 2008
    Applicant: APPLE INC.
    Inventors: Ronnie G. Misra, Joshua H. Shaffer
  • Patent number: 7346762
    Abstract: A method of executing program instructions may include receiving, in a processor, an instruction that causes the processor to read data from or write data to a portion of memory that is shared by one or more processes, at least one process of which manipulates data in a format that is different than a format of data in the shared portion of memory. The method may further include executing alternate instructions in place of the received instruction. The alternate instructions may effect transformation of data associated with the shared portion of memory from a first data format to a second data format.
    Type: Grant
    Filed: January 6, 2006
    Date of Patent: March 18, 2008
    Assignee: Apple Inc.
    Inventors: Ronnie G. Misra, Joshua H. Shaffer