Patents by Inventor Jonathan M. Kaldor

Jonathan M. Kaldor 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: 10896484
    Abstract: In one embodiment, a computing device determines a window of time that is available after each operation to fill a frame buffer. The device determines a first number indicating a number of elements of a requested content that fit into a display region, an increment based on an application-specific rule, and a second number indicating a number of elements to pre-generate based on the first number and the increment. The device selects one or more pre-generation tasks for pre-generating content for the second number of select elements of the requested content. During the window of time, the device executes at least a subset of the pre-generation tasks to pre-generate content for a corresponding subset of the select elements. The pre-generated subset of the select elements is stored in an application-tailored recycler.
    Type: Grant
    Filed: October 25, 2017
    Date of Patent: January 19, 2021
    Assignee: Facebook, Inc.
    Inventor: Jonathan M. Kaldor
  • Patent number: 10712925
    Abstract: In one embodiment, a computing device determines a size of a view port of a graphical user interface based on a scrolling frame rate, processing resources, or memory resources of the computing device. One or more content objects are displayed in the view port. A scroll region for the user to scroll within is determined and the scroll region is independent of the boundaries of the displayed content objects. A first touch gesture across one or more boundaries of the displayed content objects is received. A velocity of the first touch gesture motion is determined. When the velocity is less than or equal to a threshold velocity, the computing device scrolls to an adjacent content object of the current displayed content object. When the velocity is higher than the threshold velocity, the computing device scrolls to advance multiple content objects with respect to the current displayed content object.
    Type: Grant
    Filed: March 29, 2018
    Date of Patent: July 14, 2020
    Assignee: Facebook, Inc.
    Inventors: Jasper Reid Hauser, Jasleen Singh, Jonathan M. Kaldor, William S. Bailey, Vladimir Kolesnikov
  • Patent number: 10452199
    Abstract: In one embodiment, a method includes determining a touch gesture that includes two or more data points that each correspond to a particular location on a touch screen and a particular point in time or a particular location; adjusting, for each of one or more of the data points, a time or a position value representing its particular point in time or location with respect to other ones of the data points; and based on the adjusted values, determining a user intent associated with the touch gesture.
    Type: Grant
    Filed: May 18, 2017
    Date of Patent: October 22, 2019
    Assignee: Facebook, Inc.
    Inventor: Jonathan M. Kaldor
  • Patent number: 10354363
    Abstract: In one embodiment, a computing device identifies a portion of a display object to pre-generate. The device may monitor a thread to identify the next upcoming window of idle time (i.e., the next opportunity when the thread will be idle for a minimum period of time). The device may add one or more selected pre-generation tasks to a message queue for execution by the thread during the window. The device may execute the one or more selected pre-generation tasks in the message queue by pre-generating at least one selected element of a display object with content for a portion of the content layout, and then return the display object.
    Type: Grant
    Filed: November 23, 2015
    Date of Patent: July 16, 2019
    Assignee: Facebook, Inc.
    Inventor: Jonathan M. Kaldor
  • Patent number: 10261982
    Abstract: Particular embodiments of a computing device may provide a main thread, a graphics thread to handle tasks related to rendering and presenting a graphical user interface (GUI), and an input thread to handle tasks related to processing input-related events. The GUI may comprise at least one animated component associated with a set of state variables. The main thread may handle tasks to generate a GUI hierarchy and provide copies of the GUI hierarchy to the input thread and the graphics thread. The input thread may handle tasks to initialize and update the state variables and provide information about the state variables to the graphics thread. The graphics thread may then handle tasks to update the GUI by rendering a first frame of the animation based on the state variables.
    Type: Grant
    Filed: February 10, 2017
    Date of Patent: April 16, 2019
    Assignee: Facebook, Inc.
    Inventors: Robert Douglas Arnold, Denis Koroskin, Jonathan M. Kaldor
  • Patent number: 10210590
    Abstract: In one embodiment, a computing device receives receive a request for particular content associated with an application. The device may determine, based on a first recycling policy associated with a first recycler, that the first recycler associated with the application includes a display object that is capable of being used for containing the particular content. The device may encapsulate the display object with the particular content in a wrapper object and return the wrapper object encapsulating the display object in response to the request. The device may receive an indication that the display object is no longer needed, and extract the display object from the wrapper object. The display object may be stored in the first recycler. The wrapper object without the display object may be disposed in accordance with a second recycling policy associated with a second recycler associated with an operating system of the computing device.
    Type: Grant
    Filed: July 20, 2017
    Date of Patent: February 19, 2019
    Assignee: Facebook, Inc.
    Inventors: Qixing Du, Ashwin Bhat, Jonathan M. Kaldor, I Chien Peng, Joshua Li, Kang Zhang
  • Patent number: 10191643
    Abstract: In one embodiment, a method includes providing for display to a user content including multiple content objects that each has a boundary defining a two-dimensional area. A two-dimensional scroll region for user scrolling within the content is determined. The two-dimensional scroll region is independent of the two-dimensional areas of the content objects. User input to scroll within the content in one or both of the two dimensions across one or more of the boundaries is received. The method includes scrolling within the content according to the user input, the scrolling being continuous across the boundaries.
    Type: Grant
    Filed: November 29, 2012
    Date of Patent: January 29, 2019
    Assignee: Facebook, Inc.
    Inventors: Jasper Reid Hauser, Jasleen Singh, Jonathan M. Kaldor, William S. Bailey, Vladimir Kolesnikov
  • Publication number: 20180217730
    Abstract: In one embodiment, a computing device determines a size of a view port of a graphical user interface based on a scrolling frame rate, processing resources, or memory resources of the computing device. One or more content objects are displayed in the view port. A scroll region for the user to scroll within is determined and the scroll region is independent of the boundaries of the displayed content objects. A first touch gesture across one or more boundaries of the displayed content objects is received. A velocity of the first touch gesture motion is determined. When the velocity is less than or equal to a threshold velocity, the computing device scrolls to an adjacent content object of the current displayed content object. When the velocity is higher than the threshold velocity, the computing device scrolls to advance multiple content objects with respect to the current displayed content object.
    Type: Application
    Filed: March 29, 2018
    Publication date: August 2, 2018
    Inventors: Jasper Reid Hauser, Jasleen Singh, Jonathan M. Kaldor, William S. Bailey, Vladimir Kolesnikov
  • Patent number: 9965162
    Abstract: In one embodiment, a method includes providing for display to a user content including multiple content objects that each has a boundary defining a two-dimensional area. A two-dimensional scroll region for user scrolling within the content is determined. The two-dimensional scroll region is independent of the two-dimensional areas of the content objects. User input to scroll within the content in one or both of the two dimensions across one or more of the boundaries is received. The method includes scrolling within the content according to the user input, the scrolling being continuous across the boundaries.
    Type: Grant
    Filed: November 29, 2012
    Date of Patent: May 8, 2018
    Assignee: Facebook, Inc.
    Inventors: Jasper Reid Hauser, Jasleen Singh, Jonathan M. Kaldor, William S. Bailey, Vladimir Kolesnikov
  • Publication number: 20180047136
    Abstract: In one embodiment, a computing device determines a window of time that is available after each operation to fill a frame buffer. The device determines a first number indicating a number of elements of a requested content that fit into a display region, an increment based on an application-specific rule, and a second number indicating a number of elements to pre-generate based on the first number and the increment. The device selects one or more pre-generation tasks for pre-generating content for the second number of select elements of the requested content. During the window of time, the device executes at least a subset of the pre-generation tasks to pre-generate content for a corresponding subset of the select elements. The pre-generated subset of the select elements is stored in an application-tailored recycler.
    Type: Application
    Filed: October 25, 2017
    Publication date: February 15, 2018
    Inventor: Jonathan M. Kaldor
  • Patent number: 9858647
    Abstract: In one embodiment, a computing device identifies a portion of a display object to pre-generate. The device may monitor a thread to identify the next upcoming window of idle time (i.e., the next opportunity when the thread will be idle for a minimum period of time). The device may add one or more selected pre-generation tasks to a message queue for execution by the thread during the window. The device may execute the one or more selected pre-generation tasks in the message queue by pre-generating at least one selected element of a display object with content for a portion of the content layout, and then return the display object.
    Type: Grant
    Filed: November 23, 2015
    Date of Patent: January 2, 2018
    Assignee: Facebook, Inc.
    Inventor: Jonathan M. Kaldor
  • Publication number: 20170316539
    Abstract: In one embodiment, a computing device receives receive a request for particular content associated with an application. The device may determine, based on a first recycling policy associated with a first recycler, that the first recycler associated with the application includes a display object that is capable of being used for containing the particular content. The device may encapsulate the display object with the particular content in a wrapper object and return the wrapper object encapsulating the display object in response to the request. The device may receive an indication that the display object is no longer needed, and extract the display object from the wrapper object. The display object may be stored in the first recycler. The wrapper object without the display object may be disposed in accordance with a second recycling policy associated with a second recycler associated with an operating system of the computing device.
    Type: Application
    Filed: July 20, 2017
    Publication date: November 2, 2017
    Inventors: Qixing Du, Ashwin Bhat, Jonathan M. Kaldor, I Chien Peng, Joshua Li, Kang Zhang
  • Patent number: 9760964
    Abstract: A computing device receives a request for content for a content layout in a displayable region of a screen associated with the device. The device determines, based on application-tailored recycling policies, whether a recycler includes a display object that is suitable for recycling or re-use. If it does not, the device creates the display object and fills it with the content. If it does, and if the display object contains the content, the device updates elements of the display object as needed; otherwise, if the display object does not contain the content, the device fills the display object with the content and returns it. The recycling or re-using may also be performed with sub-elements of a display object, some of which may comprise nested display objects.
    Type: Grant
    Filed: April 11, 2013
    Date of Patent: September 12, 2017
    Assignee: Facebook, Inc.
    Inventors: Qixing Du, Ashwin Bhat, Jonathan M. Kaldor, I Chien Peng, Joshua Li, Kang Zhang
  • Publication number: 20170255334
    Abstract: In one embodiment, a method includes determining a touch gesture that includes two or more data points that each correspond to a particular location on a touch screen and a particular point in time or a particular location; adjusting, for each of one or more of the data points, a time or a position value representing its particular point in time or location with respect to other ones of the data points; and based on the adjusted values, determining a user intent associated with the touch gesture.
    Type: Application
    Filed: May 18, 2017
    Publication date: September 7, 2017
    Inventor: Jonathan M. Kaldor
  • Patent number: 9696850
    Abstract: In one embodiment, a computing device determines a touch gesture on a touch screen of the computing device. The touch gesture includes two or more data points that each correspond to a particular location on the touch screen and a particular point in time. For each of one or more of the data points, the computing device adjusts a time value representing its particular point in time. For each of one or more of the data points, the computing device adjusts a position value representing its particular location on the touch screen. The computing device fits a curve to the two or more data points to determine a user intent associated with the touch gesture.
    Type: Grant
    Filed: September 22, 2015
    Date of Patent: July 4, 2017
    Assignee: Facebook, Inc.
    Inventor: Jonathan M. Kaldor
  • Publication number: 20160078602
    Abstract: In one embodiment, a computing device identifies a portion of a display object to pre-generate. The device may monitor a thread to identify the next upcoming window of idle time (i.e., the next opportunity when the thread will be idle for a minimum period of time). The device may add one or more selected pre-generation tasks to a message queue for execution by the thread during the window. The device may execute the one or more selected pre-generation tasks in the message queue by pre-generating at least one selected element of a display object with content for a portion of the content layout, and then return the display object.
    Type: Application
    Filed: November 23, 2015
    Publication date: March 17, 2016
    Inventor: Jonathan M. Kaldor
  • Publication number: 20160026336
    Abstract: In one embodiment, a computing device determines a touch gesture on a touch screen of the computing device. The touch gesture includes two or more data points that each correspond to a particular location on the touch screen and a particular point in time. For each of one or more of the data points, the computing device adjusts a time value representing its particular point in time. For each of one or more of the data points, the computing device adjusts a position value representing its particular location on the touch screen. The computing device fits a curve to the two or more data points to determine a user intent associated with the touch gesture.
    Type: Application
    Filed: October 7, 2015
    Publication date: January 28, 2016
    Inventor: Jonathan M. Kaldor
  • Publication number: 20160011772
    Abstract: In one embodiment, a computing device determines a touch gesture on a touch screen of the computing device. The touch gesture includes two or more data points that each correspond to a particular location on the touch screen and a particular point in time. For each of one or more of the data points, the computing device adjusts a time value representing its particular point in time. For each of one or more of the data points, the computing device adjusts a position value representing its particular location on the touch screen. The computing device fits a curve to the two or more data points to determine a user intent associated with the touch gesture.
    Type: Application
    Filed: September 22, 2015
    Publication date: January 14, 2016
    Inventor: Jonathan M. Kaldor
  • Patent number: 9207986
    Abstract: In one embodiment, a computing device identifies a portion of a display object to pre-generate. The device may monitor a thread to identify the next upcoming window of idle time (i.e., the next opportunity when the thread will be idle for a minimum period of time). The device may add one or more selected pre-generation tasks to a message queue for execution by the thread during the window. The device may execute the one or more selected pre-generation tasks in the message queue by pre-generating at least one selected element of a display object with content for a portion of the content layout, and then return the display object.
    Type: Grant
    Filed: April 11, 2013
    Date of Patent: December 8, 2015
    Assignee: Facebook, Inc.
    Inventor: Jonathan M. Kaldor
  • Publication number: 20150339033
    Abstract: Particular embodiments provide for asynchronous execution of instructions using a multi-threaded approach to outsource low-level input/output-handling tasks. Particular embodiments may use (1) a main thread to handle execution of instructions to generate a hierarchy of layers representing a GUI, wherein each layer represents a logical grouping of components of the GUI, (2) an input thread to handle asynchronous execution of instructions to process user input based on interactions with the GUI, and (3) a graphics thread to handle asynchronous execution of instructions to generate and/or update display output in relation to one or more layers of the GUI hierarchy. The input thread may send information about received input directly to the graphics thread and the main thread at the same time, thereby enabling the graphics thread to begin refreshing the display output while the main thread performs any necessary processing of the user input.
    Type: Application
    Filed: May 21, 2014
    Publication date: November 26, 2015
    Applicant: Facebook, Inc.
    Inventors: Robert Douglas Arnold, Jonathan M. Kaldor, Denis Koroskin