Patents by Inventor Craig Federighi

Craig Federighi 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: 20150346973
    Abstract: A system and method are disclosed for displaying a graphical user interface (GUI) on a device display. The display has dimensions of a first size. The GUI is configured for output on a display of the first size, but the device reports the second size. The reporting is responsive to receiving a request to configure the GUI for output on a display of a second size, according to some embodiments. The GUI, configured for output on a display of the second size, is displayed on the device display that has dimensions of the first size.
    Type: Application
    Filed: April 17, 2015
    Publication date: December 3, 2015
    Inventors: Joshua H. Shaffer, Jason C. Beaver, Craig Federighi
  • Publication number: 20140365438
    Abstract: The described embodiments distribute and synchronize objects in a network. More specifically, the described embodiments distribute copies of objects locally (i.e., store copies of objects in local address spaces). By storing a copy of a given object in a local address space, the object's methods may be executed locally, which can help to avoid excessive network traffic associated with remotely executing the object's methods. However, executing an object's methods locally can result in the state of the object (i.e., data associated with the object, etc.) becoming out of sync with other copies of the object in the network. To avoid issues associated with unsynchronized copies of the object in the network, the described embodiments use a policy that specifies conditions under which objects are to be synchronized.
    Type: Application
    Filed: August 21, 2014
    Publication date: December 11, 2014
    Inventors: Patrick Gates, Craig Federighi, Eric Noyau
  • Publication number: 20140365855
    Abstract: A content application includes one or more content list panels. The content application provides mechanisms that allow the user to easily manage article representations included in the content lists such as adding article representations a content list and editing the items directly in menus associated with the content lists.
    Type: Application
    Filed: June 6, 2014
    Publication date: December 11, 2014
    Inventors: Kevin W. Decker, Darin Benjamin Adler, Steven J. Falkenburg, Raymond Sepulveda, Craig Federighi, Steve O. Lemay, Patrick Coffman, Andreas Wendker, Brian Croll, Chan Karunamuni, Conrad Shultz
  • Publication number: 20140365794
    Abstract: The embodiments disclosed herein describe ways that a browser application or other process can reduce power usage by a computing device. Methods include the process suspending one or more plug-ins on a web page by replacing them with a snapshot taken from the plug-in, and reducing processing on non-media plug-ins and non-visible portions of web pages running in the browser, but not currently in focus, such as when a tab is in the background behind a different tab, when a browser window is minimized, or when the web page is entirely or partially occluded.
    Type: Application
    Filed: June 6, 2014
    Publication date: December 11, 2014
    Inventors: Kevin W. Decker, Dean Jackson, Gavin Barraclough, Jon Lee, Craig Federighi, Maciej Stachowiak
  • Patent number: 8875117
    Abstract: A system for distributing and synchronizing objects. One or more embodiments of the invention provide for distributing copies of the objects locally. By copying objects into local address space, the object's methods may be executed locally thereby avoiding excessive network traffic. The state of the various object copies across a network may not be synchronized due to local changes and modifications. To synchronize the objects, one or more embodiments of the invention provide for the use of a policy that specifies conditions as to when objects are synchronized. Embodiments of the invention provide flexibility in setting the policy to accommodate varying applications. Alternatively, a policy may provide for synchronization based on the type or number of messages transmitted. In one or more embodiments, a default policy may be utilized that provides for the synchronization of local objects whenever a client issues a request from the remote server.
    Type: Grant
    Filed: July 24, 2012
    Date of Patent: October 28, 2014
    Assignee: Apple Inc.
    Inventors: Patrick Gates, Craig Federighi, Eric Noyau
  • Patent number: 8429126
    Abstract: The present invention comprises a novel system for managing changes to a graph of data bearing objects. In one embodiment, an object graph manager object referred to as an editing context is used to identify changes made to data bearing enterprise objects and to notify other interested objects when changes occur. As a result, data bearing objects need not themselves contain code necessary for monitoring changes. In another embodiment of the invention, the editing context is used to provide event-based “undo” capabilities. In another embodiment of the invention, each enterprise object has a primary key that is used to maintain the identification between an enterprise object instance and a corresponding database row. In another embodiment of the invention, multiple levels of editing contexts are used to provide multiple isolated object graphs, each of which allows independent manipulation of the underlying data bearing objects.
    Type: Grant
    Filed: November 19, 2010
    Date of Patent: April 23, 2013
    Assignee: Apple Inc.
    Inventors: Craig Federighi, Dan Willhite, Eric Noyau
  • Publication number: 20120317310
    Abstract: A system for distributing and synchronizing objects. One or more embodiments of the invention provide for distributing copies of the objects locally. By copying objects into local address space, the object's methods may be executed locally thereby avoiding excessive network traffic. The state of the various object copies across a network may not be synchronized due to local changes and modifications. To synchronize the objects, one or more embodiments of the invention provide for the use of a policy that specifies conditions as to when objects are synchronized. Embodiments of the invention provide flexibility in setting the policy to accommodate varying applications. Alternatively, a policy may provide for synchronization based on the type or number of messages transmitted. In one or more embodiments, a default policy may be utilized that provides for the synchronization of local objects whenever a client issues a request from the remote server.
    Type: Application
    Filed: July 24, 2012
    Publication date: December 13, 2012
    Applicant: APPLE INC.
    Inventors: Patrick Gates, Craig Federighi, Eric Noyau
  • Patent number: 8307292
    Abstract: A graphical user interface (GUI) and accompanying functionality for binding Web page definitional elements to a back-end state (e.g., client- or server-side back-end state) and custom logic is provided. In one embodiment, a template containing definitional elements, custom logic, and bindings are generated that define all or a portion of a Web page based on input received and functionality provided by the invention.
    Type: Grant
    Filed: September 8, 2009
    Date of Patent: November 6, 2012
    Assignee: Apple Inc.
    Inventors: Paul Marcos, Arnaud Weber, Avie Tevanian, Rebecca Eades Willrich, Stefanie Herzer, Craig Federighi
  • Patent number: 8255895
    Abstract: A method and apparatus for distributing and synchronizing objects. One or more embodiments of the invention provide for distributing copies of the objects locally. By copying objects (including the data and behavior for the object) into local address space, the object's methods may be executed locally thereby avoiding excessive network traffic. The state of the various object copies across a network may not be synchronized due to local changes and modifications. To synchronize the objects, one or more embodiments of the invention provide for the use of a policy that specifies conditions as to when objects are synchronized. Embodiments of the invention provide flexibility in setting the policy to accommodate varying applications. For example, a policy may provide for synchronization that is based temporally (e.g., every 10 minutes or daily at 10:00 P.M.). Alternatively, a policy may provide for synchronization based on the type or number of messages transmitted.
    Type: Grant
    Filed: March 31, 2011
    Date of Patent: August 28, 2012
    Assignee: Apple Inc.
    Inventors: Patrick Gates, Craig Federighi, Eric Noyau
  • Publication number: 20120185762
    Abstract: Saveless documents are disclosed. According to some implementations, a method can include displaying a current version of a document in a first user interface of a computing device, receiving an indication to display previously saved versions of the document, and, in response to receiving the indication, displaying a second user interface having the current version displayed in a first portion of the second user interface and a particular previous version of the document displayed in a sequence of previous versions of the document in a second portion of the second user interface. Methods can include automatically saving documents and creating versions of documents. A method can include automatically restoring the layout of documents on a display. A computer-readable medium and system for performing the methods are also disclosed.
    Type: Application
    Filed: June 30, 2011
    Publication date: July 19, 2012
    Applicant: APPLE INC.
    Inventors: Ali T. Ozer, Mark Andrew Piccirelli, Craig Federighi, Anthony Stephan Parker, Kevin Scott Perry
  • Publication number: 20120185933
    Abstract: In one embodiment, a data processing system includes a guest account that is configured to assist in the protection and recovery of the data processing system when it is lost or stolen. In one embodiment, the guest account can allow Internet access and can include a web browser to allow the guest, who might be a thief, to use the system to browse the Internet. While such use occurs, the system can perform actions specified by an authorized user of the system, and such actions can include determining a location of the system and transmitting the location to the authorized user, erasing data on the system, displaying a message, capturing an image, etc.
    Type: Application
    Filed: April 20, 2011
    Publication date: July 19, 2012
    Inventors: Andrew T. Belk, Steve S. Ko, Jack R. Matthew, William E. Stevenson, Craig Federighi, Patrick L. Coffman
  • Publication number: 20120084689
    Abstract: User interface changes related to moving items in a user interface are disclosed. An operation (e.g., a drag operation) can be initiated on selected items by moving a cursor or pointing device in the user interface, and an animation can be presented illustrating representations of the selected items moving from their respective original locations toward a current location of the cursor or pointing device and forming a cluster in proximity to the current location of the cursor or pointing device. As the cluster of items is moved over a container object in the user interface, the representations of the items can adopt the appearance style defined by that container object. The representations of the items can also be shown to depart from the cluster and move toward anticipated locations of the items in the container object as a preview of a drop operation into the container object.
    Type: Application
    Filed: September 30, 2010
    Publication date: April 5, 2012
    Inventors: Raleigh Joseph Ledet, Jeffrey Traer Bernstein, B. Michael Victor, Avi E. Cieplinksi, Kristin Forster, Craig Federighi
  • Publication number: 20110179192
    Abstract: A method and apparatus for distributing and synchronizing objects. One or more embodiments of the invention provide for distributing copies of the objects locally. By copying objects (including the data and behavior for the object) into local address space, the object's methods may be executed locally thereby avoiding excessive network traffic. The state of the various object copies across a network may not be synchronized due to local changes and modifications. To synchronize the objects, one or more embodiments of the invention provide for the use of a policy that specifies conditions as to when objects are synchronized. Embodiments of the invention provide flexibility in setting the policy to accommodate varying applications. For example, a policy may provide for synchronization that is based temporally (e.g., every 10 minutes or daily at 10:00 P.M.). Alternatively, a policy may provide for synchronization based on the type or number of messages transmitted.
    Type: Application
    Filed: March 31, 2011
    Publication date: July 21, 2011
    Applicant: APPLE INC.
    Inventors: Patrick Gates, Craig Federighi, Eric Noyau
  • Publication number: 20110119683
    Abstract: The present invention comprises a novel system for managing changes to a graph of data bearing objects. In one embodiment, an object graph manager object referred to as an editing context is used to identify changes made to data bearing enterprise objects and to notify other interested objects when changes occur. As a result, data bearing objects need not themselves contain code necessary for monitoring changes. In another embodiment of the invention, the editing context is used to provide event-based “undo” capabilities. In another embodiment of the invention, each enterprise object has a primary key that is used to maintain the identification between an enterprise object instance and a corresponding database row. In another embodiment of the invention, multiple levels of editing contexts are used to provide multiple isolated object graphs, each of which allows independent manipulation of the underlying data bearing objects.
    Type: Application
    Filed: November 19, 2010
    Publication date: May 19, 2011
    Applicant: NeXT Software, Inc.
    Inventors: Craig Federighi, Dan Willhite, Eric Noyau
  • Patent number: 7941796
    Abstract: A method and apparatus for distributing and synchronizing objects. One or more embodiments of the invention provide for distributing copies of the objects locally. By copying objects (including the data and behavior for the object) into local address space, the object's methods may be executed locally thereby avoiding excessive network traffic. The state of the various object copies across a network may not be synchronized due to local changes and modifications. To synchronize the objects, one or more embodiments of the invention provide for the use of a policy that specifies conditions as to when objects are synchronized. Embodiments of the invention provide flexibility in setting the policy to accommodate varying applications. For example, a policy may provide for synchronization that is based temporally (e.g., every 10 minutes or daily at 10:00 P.M.). Alternatively, a policy may provide for synchronization based on the type or number of messages transmitted.
    Type: Grant
    Filed: August 11, 2009
    Date of Patent: May 10, 2011
    Assignee: Apple Inc.
    Inventors: Patrick Gates, Craig Federighi, Eric Noyau
  • Patent number: 7860831
    Abstract: The present invention comprises a novel system for managing changes to a graph of data bearing objects. In one embodiment, an object graph manager object referred to as an editing context is used to identify changes made to data bearing enterprise objects and to notify other interested objects when changes occur. As a result, data bearing objects need not themselves contain code necessary for monitoring changes. In another embodiment of the invention, the editing context is used to provide event-based “undo” capabilities. In another embodiment of the invention, each enterprise object has a primary key that is used to maintain the identification between an enterprise object instance and a corresponding database row. In another embodiment of the invention, multiple levels of editing contexts are used to provide multiple isolated object graphs, each of which allows independent manipulation of the underlying data bearing objects.
    Type: Grant
    Filed: May 1, 2006
    Date of Patent: December 28, 2010
    Assignee: NeXT Software, Inc.
    Inventors: Craig Federighi, Dan Willhite, Eric Noyau
  • Publication number: 20100037154
    Abstract: A graphical user interface (GUI) and accompanying functionality for binding Web page definitional elements to a back-end state (e.g., client- or server-side back-end state) and custom logic is provided. In one embodiment, a template containing definitional elements, custom logic, and bindings are generated that define all or a portion of a Web page based on input received and functionality provided by the invention.
    Type: Application
    Filed: September 8, 2009
    Publication date: February 11, 2010
    Applicant: Apple Inc.
    Inventors: Paul Marcos, Arnaud Weber, Avie Tevanian, Rebecca Eades Willrich, Stefanie Herzer, Craig Federighi
  • Publication number: 20090300221
    Abstract: A method and apparatus for distributing and synchronizing objects. One or more embodiments of the invention provide for distributing copies of the objects locally. By copying objects (including the data and behavior for the object) into local address space, the object's methods may be executed locally thereby avoiding excessive network traffic. The state of the various object copies across a network may not be synchronized due to local changes and modifications. To synchronize the objects, one or more embodiments of the invention provide for the use of a policy that specifies conditions as to when objects are synchronized. Embodiments of the invention provide flexibility in setting the policy to accommodate varying applications. For example, a policy may provide for synchronization that is based temporally (e.g., every 10 minutes or daily at 10:00 P.M.). Alternatively, a policy may provide for synchronization based on the type or number of messages transmitted.
    Type: Application
    Filed: August 11, 2009
    Publication date: December 3, 2009
    Applicant: APPLE INC.
    Inventors: Patrick Gates, Craig Federighi, Eric Noyau
  • Patent number: 7607095
    Abstract: A graphical user interface (GUI) and accompanying functionality for binding Web page definitional elements to a back-end state (e.g., client- or server-side back-end state) and custom logic is provided. In one embodiment, a template containing definitional elements, custom logic, and bindings are generated that define all or a portion of a Web page based on input received and functionality provided by the invention.
    Type: Grant
    Filed: July 31, 2006
    Date of Patent: October 20, 2009
    Assignee: Apple Inc.
    Inventors: Paul Marcos, Arnaud Weber, Avie Tevanian, Rebecca Eades Willrich, Stefanie Herzer, Craig Federighi
  • Patent number: 7584430
    Abstract: A graphical user interface (GUI) and accompanying functionality for binding Web page definitional elements to a back-end state (e.g., client- or server-side back-end state) and custom logic is provided. In one embodiment, a template containing definitional elements, custom logic, and bindings are generated that define all or a portion of a Web page based on input received and functionality provided by the invention.
    Type: Grant
    Filed: July 18, 2006
    Date of Patent: September 1, 2009
    Assignee: Apple Inc.
    Inventors: Paul Marcos, Arnaud Weber, Avie Tevanian, Rebecca Eades Willrich, Stefanie Herzer, Craig Federighi