Patents by Inventor William J. Thimbleby

William J. Thimbleby 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: 10346510
    Abstract: A method, comprising: receiving a plurality of handwritten strokes in an input area; in response to receiving the handwritten strokes, determining whether the handwritten strokes are a textual input or a sketch in accordance with predetermined criteria for distinguishing between handwritten textual inputs and sketch inputs; in accordance with a determination that the handwritten strokes are a textual input: generating one or more handwritten word blocks based on the handwritten strokes; and positioning the one or more handwritten word blocks in a content presentation area in accordance with first predetermined layout criteria; and in accordance with a determination that the handwritten strokes are a sketch: generating a sketch content object based on the handwritten strokes; and positioning the sketch content object in the content presentation area in accordance with second predetermined layout criteria that is distinct from the first predetermined layout criteria.
    Type: Grant
    Filed: December 18, 2015
    Date of Patent: July 9, 2019
    Assignee: APPLE INC.
    Inventor: William J. Thimbleby
  • Patent number: 10254939
    Abstract: A method includes detecting first movement of a first contact on an on-screen ruler in a first direction around a pivot location; in response to the first movement: rotating the ruler by an angular amount according to the first movement; and when the ruler has entered a snap zone associated with a snap angle upon rotation by the first angular amount, rotating the ruler by a first adjusted amount to bring the ruler into alignment with the first snap angle; detecting second movement of the first contact in a second direction and the second movement satisfies unsnapping criteria; and in response to the second movement, rotating the ruler by a second adjusted amount to bring the ruler into alignment with the first contact.
    Type: Grant
    Filed: September 30, 2015
    Date of Patent: April 9, 2019
    Assignee: APPLE INC.
    Inventors: William J. Thimbleby, Charles J. Migos, Gustaf Engstrom, Anton M. Davydov, Alexander C. MacLean
  • Publication number: 20180349018
    Abstract: A device implementing a system for rendering animated user input strokes includes at least one processor configured to retrieve a user-specified mapping of physical characteristics of input strokes to ink parameters, and to receive input stroke data, the input stroke data including metadata corresponding to physical characteristics of the input stroke data. The at least one processor is configured to generate, based on the user-specified mapping, a set of ink parameters from the metadata corresponding to the physical characteristics of the input stroke data, and to render, using at least a portion of the generated set of ink parameters, a stroke based on the input stroke data.
    Type: Application
    Filed: September 29, 2017
    Publication date: December 6, 2018
    Inventors: William J. THIMBLEBY, Jennifer P. CHEN, Peter L. HAJAS
  • Publication number: 20180348990
    Abstract: The subject technology provides rendering an image in a first view including a plurality of tiles, each tile comprising image data corresponding to a portion of the image. The subject technology, responsive to detecting an initiation of touch input corresponding to the image, copies the image data from the plurality of tiles to a graphical canvas. The subject technology displays the image data in the graphical canvas in a second view, the graphical canvas being overlaid over at least a portion of the rendered image. The subject technology receives input stroke data corresponding to the second view, the input stroke data being continuous with the touch input. The subject technology responsive to detecting that the touch input has ended, copies the input stroke data to the plurality of tiles of the first view. Further, The subject technology displays the input stroke data and the image in the plurality of tiles of the first view.
    Type: Application
    Filed: September 29, 2017
    Publication date: December 6, 2018
    Inventors: William J. THIMBLEBY, Peter L. HAJAS, Jennifer P. CHEN
  • Publication number: 20180350124
    Abstract: A device implementing a system for rendering animated user input strokes includes at least one processor configured to receive input stroke data. The at least one processor is configured to render, in a first rendering stage within a frame rendering period, a first portion of the input stroke data. The at least one processor is configured to render, in a second rendering stage within the frame rendering period, a second portion of the input stroke data, the second rendering stage being after, and temporally separate from, the first rendering stage.
    Type: Application
    Filed: September 29, 2017
    Publication date: December 6, 2018
    Inventors: William J. THIMBLEBY, Jennifer P. CHEN, Peter L. HAJAS
  • Patent number: 10089056
    Abstract: A first electronic device maintains a directed acyclic graph to represent content collaboratively edited by the first device and one or more second devices of multiple collaborating devices. The first device receives one or more editing inputs from one or more devices of the multiple collaborating devices. The first device modifies the directed acyclic graph based on relationships between the editing inputs and existing content objects embodied in the directed acyclic graph, traverses the directed acyclic graph in accordance with a predetermined ordering rule to obtain an object sequence, and, if a first editing input of the one or more editing inputs modifies a first existing sketch content object represented in the directed acyclic graph, updates a command sequence associated with the first existing sketch content object by merging each individual drawing command included the first editing input with a command sequence associated with the first existing sketch content object.
    Type: Grant
    Filed: September 30, 2015
    Date of Patent: October 2, 2018
    Assignee: APPLE INC.
    Inventor: William J. Thimbleby
  • Patent number: 9886230
    Abstract: A first electronic device with a display maintains a consistent output based on concurrent drawing edits received at multiple collaborating devices. The first device maintains a command sequence for a drawing currently rendered at the first device. The command sequence includes a plurality of past drawing commands sorted according to respective sequence numbers of the past drawing commands. The first device receives a plurality of additional drawing commands from two or more devices of the multiple collaborating devices, each of the plurality of additional drawing commands having a respective sequence number. The first device updates the command sequence, including merging and sorting the plurality of additional drawing commands and the plurality of past drawing commands in accordance with an ordering rule. The first device re-renders at least a portion of the drawing based on the command sequence after updating the command sequence.
    Type: Grant
    Filed: September 30, 2015
    Date of Patent: February 6, 2018
    Assignee: APPLE INC.
    Inventor: William J. Thimbleby
  • Publication number: 20170200001
    Abstract: Various techniques are disclosed for managing and modifying data items. In some embodiments, a first data item can be selected for password protection via establishing an active secured user session according to a set of user credentials. Thereafter, subsequent data items can be selected for password protection using the same set of user credentials while the secured user session remains active. In some embodiments, a gesture input can be received by a touch interface. The input can be detected, and when the input is recognized as a command for creating an extension of a work space associated with a data item, then the extension of the work space is generated. In some embodiments, the gesture input received by the touch interface is recognized as a command for creating a new work space associated with the data item such that a new work space is generated upon recognizing the input.
    Type: Application
    Filed: December 14, 2016
    Publication date: July 13, 2017
    Inventors: Bicrumjit S. BHULLAR, Markus HAGELE, Jay C. CAPELA, Gustaf ENGSTROM, Timothy I. MAHONEY, Charles J. MIGOS, William J. THIMBLEBY, Michael D. TRENT
  • Publication number: 20170091153
    Abstract: A method, comprising: receiving a plurality of handwritten strokes in an input area; in response to receiving the handwritten strokes, determining whether the handwritten strokes are a textual input or a sketch in accordance with predetermined criteria for distinguishing between handwritten textual inputs and sketch inputs; in accordance with a determination that the handwritten strokes are a textual input: generating one or more handwritten word blocks based on the handwritten strokes; and positioning the one or more handwritten word blocks in a content presentation area in accordance with first predetermined layout criteria; and in accordance with a determination that the handwritten strokes are a sketch: generating a sketch content object based on the handwritten strokes; and positioning the sketch content object in the content presentation area in accordance with second predetermined layout criteria that is distinct from the first predetermined layout criteria.
    Type: Application
    Filed: December 18, 2015
    Publication date: March 30, 2017
    Inventor: William J. Thimbleby
  • Publication number: 20170090672
    Abstract: A method of emulating an input device. The method receives a set of data associated with a touch input. The set of data includes a set of coordinates of each data point, the force applied at each data point, and the time the data for each data point is received. The method adds several data points to the first set of data points to create a second set of data points. For each data point in the second set of data points, the method calculates a set of parameters based on the set of data associated with the data point. The method provides a subset of the calculated parameters and the data associated with a subset of the second set of data to an application to emulate the input device.
    Type: Application
    Filed: September 30, 2015
    Publication date: March 30, 2017
    Inventors: Brandon M. Tennant, Conrad R. Carlen, Bradley W. Griffin, William J. Thimbleby, Patrick O. Heynen, Ryan S. Dixon
  • Publication number: 20160357356
    Abstract: A method includes displaying an on-screen ruler in a sketch area in response to a predefined input. The on-screen ruler has a first edge and an interior portion delineated by the first edge. The method further includes, in response to detecting a first touch input directed to the first edge of the on-screen ruler, rendering a line in the sketch area in accordance with the first edge of the on-screen ruler. The method further includes, in response to detecting a second touch input directed to the first edge of the on-screen ruler, adding fill content in a first portion of the sketch area that corresponds to regions touched by the second touch input on the touch-sensitive surface and that is delineated by the first edge of the on-screen ruler, such that the first portion of the sketch area is confined by the first edge or the line.
    Type: Application
    Filed: September 30, 2015
    Publication date: December 8, 2016
    Inventors: Charles J. Migos, William J. Thimbleby, Gustaf Engstrom
  • Publication number: 20160357412
    Abstract: A method includes detecting first movement of a first contact on an on-screen ruler in a first direction around a pivot location; in response to the first movement: rotating the ruler by an angular amount according to the first movement; and when the ruler has entered a snap zone associated with a snap angle upon rotation by the first angular amount, rotating the ruler by a first adjusted amount to bring the ruler into alignment with the first snap angle; detecting second movement of the first contact in a second direction and the second movement satisfies unsnapping criteria; and in response to the second movement, rotating the ruler by a second adjusted amount to bring the ruler into alignment with the first contact.
    Type: Application
    Filed: September 30, 2015
    Publication date: December 8, 2016
    Inventors: William J. Thimbleby, Charles J. Migos, Gustaf Engstrom, Anton M. Davydov, Alexander C. MacLean
  • Publication number: 20160357496
    Abstract: A first electronic device maintains a directed acyclic graph to represent content collaboratively edited by the first device and one or more second devices of multiple collaborating devices. The first device receives one or more editing inputs from one or more devices of the multiple collaborating devices. The first device modifies the directed acyclic graph based on relationships between the editing inputs and existing content objects embodied in the directed acyclic graph, traverses the directed acyclic graph in accordance with a predetermined ordering rule to obtain an object sequence, and, if a first editing input of the one or more editing inputs modifies a first existing sketch content object represented in the directed acyclic graph, updates a command sequence associated with the first existing sketch content object by merging each individual drawing command included the first editing input with a command sequence associated with the first existing sketch content object.
    Type: Application
    Filed: September 30, 2015
    Publication date: December 8, 2016
    Inventor: William J. Thimbleby
  • Publication number: 20160357720
    Abstract: A first electronic device with a display maintains a consistent output based on concurrent textual edits received at multiple collaborating devices. The first device maintains a directed acyclic graph to represent a textual string concurrently edited by the first device and at least a second device of the multiple collaborating devices. The directed acyclic graph includes: a plurality of nodes each representing a respective character input received from one or more of the multiple collaborating devices, and multiple parallel paths each including at least one node that represents a respective one of multiple concurrent character inputs received from distinct devices of the multiple collaborating devices. The first device topologically traverses the directed acyclic graph in accordance with a predetermined ordering rule to deterministically sort the plurality of nodes into a string sequence. The first device displays the textual string in accordance with the deterministically obtained string sequence.
    Type: Application
    Filed: September 30, 2015
    Publication date: December 8, 2016
    Inventor: William J. Thimbleby
  • Publication number: 20160357430
    Abstract: A method is performed at a device with one or more processors, memory, a touch-sensitive surface, and a display. The method includes receiving a line-drawing input. The method further includes rendering a line in a sketch area in accordance with the line-drawing input. The method further includes, while displaying the sketch area including the line, receiving a fill gesture directed to the line in the sketch area. The method further includes, in response to receiving the fill gesture, adding fill content in a first portion of the sketch area that corresponds to regions touched by the fill-gesture on the touch-sensitive surface and that is delineated and partially enclosed by the line in the sketch area.
    Type: Application
    Filed: September 30, 2015
    Publication date: December 8, 2016
    Inventors: Charles J. Migos, William J. Thimbleby, Gustaf Engstrom
  • Publication number: 20160357377
    Abstract: A first electronic device with a display maintains a consistent output based on concurrent textual edits received at multiple collaborating devices. The first device maintains a directed acyclic graph to represent a textual string concurrently edited by the first device and at least a second device of the multiple collaborating devices. The directed acyclic graph includes: a plurality of nodes each representing a respective character input received from one or more of the multiple collaborating devices, and multiple parallel paths each including at least one node that represents a respective one of multiple concurrent character inputs received from distinct devices of the multiple collaborating devices. The first device topologically traverses the directed acyclic graph in accordance with a predetermined ordering rule to deterministically sort the plurality of nodes into a string sequence. The first device displays the textual string in accordance with the deterministically obtained string sequence.
    Type: Application
    Filed: September 30, 2015
    Publication date: December 8, 2016
    Inventor: William J. Thimbleby
  • Patent number: 9396581
    Abstract: Embodiments of the present disclosure relate to a process for creating contact shadows. Specifically, embodiments of the present disclosure include converting an original image to an initial shadow image, cropping the initial shadow image to obtain at least two slices of the initial shadow image, blurring the slices, overlaying the slices to create a combined shadow image, compressing the combined shadow image to create a contact shadow, and displaying the contact shadow on a virtual surface relative to the original image. Further, a user can change the amount of blurring the contact shadow has, the apparent offset from the surface, the perspective, the opacity, and the color of the contact shadow.
    Type: Grant
    Filed: October 18, 2013
    Date of Patent: July 19, 2016
    Assignee: APPLE INC.
    Inventors: William J. Thimbleby, Jennifer Pon Chan
  • Publication number: 20150113453
    Abstract: Devices and methods for correcting distortion of misshapen objects in graphical object editing applications are provided. The methods may include displaying on an electronic device a graphical user interface (GUI) including a graphical object. The graphical object includes one or more controllable graphical nodes. The methods include detecting a user input via a processor of the electronic device. The user input includes a selection to reshape the graphical object. The methods further include deriving a first model of the graphical object and a second model of the reshaped graphical object, calculating an incongruence between the graphical object and the first model, deriving a third model of the reshaped graphical object based on the second model and the incongruence, and reshaping the graphical object in accordance with the second model or the third model based on a value of a second incongruence calculated between the graphical object and the third model.
    Type: Application
    Filed: October 18, 2013
    Publication date: April 23, 2015
    Applicant: APPLE INC.
    Inventor: William J. Thimbleby
  • Publication number: 20150109299
    Abstract: Embodiments of the present disclosure relate to a process for creating contact shadows. Specifically, embodiments of the present disclosure include converting an original image to an initial shadow image, cropping the initial shadow image to obtain at least two slices of the initial shadow image, blurring the slices, overlaying the slices to create a combined shadow image, compressing the combined shadow image to create a contact shadow, and displaying the contact shadow on a virtual surface relative to the original image. Further, a user can change the amount of blurring the contact shadow has, the apparent offset from the surface, the perspective, the opacity, and the color of the contact shadow.
    Type: Application
    Filed: October 18, 2013
    Publication date: April 23, 2015
    Applicant: APPLE INC.
    Inventors: William J. Thimbleby, Jennifer Pon Chan
  • Publication number: 20150113396
    Abstract: Embodiments of the present disclosure relate to a method for generating a simulated shadow for a digital object on a virtual curved surface in a digital canvas. A base image is generated by removing color from the digital object. An initial shadow image is generated by identifying the virtual curved surface on the digital canvas and projecting the base image onto the virtual curved surface. A plurality of blurred images is generated by blurring the initial shadow image to different percentages of blur for each of the plurality of blurred images. A mathematical function is applied for generating the simulated shadow on the virtual curved surface, wherein the mathematical function interpolates between the initial shadow image and the plurality of blurred images at different points on the virtual curved surface.
    Type: Application
    Filed: October 18, 2013
    Publication date: April 23, 2015
    Applicant: APPLE INC.
    Inventors: William J. Thimbleby, Jennifer Pon Chan