IP Library Granted Patent US 10,156,903
Granted Patent B2
US 10,156,903 · App. 15/273,650 · Granted Dec 18, 2018

Devices, methods, and graphical user interfaces for providing haptic feedback

Inventors: Imran A. Chaudhri (San Francisco, CA); Sebastian J. Bauer (San Francisco, CA); Gary I. Butcher (Los Gatos, CA); Camille Moussette (Los Gatos, CA); Jean-Pierre M. Mouilleseaux (Cupertino, CA); Madeleine S. Cordier (Cupertino, CA); Joshua B. Kopin (Berkeley, CA)
Assignee: APPLE INC.
G06F3/016G06F3/0412G06F3/0482G06F3/0485G06F3/0488G06F3/04817G06F3/04845G06F3/04883H04M1/72552G06F2203/04105G06F2203/04806
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,156,903
App. No.
15/273,650
Granted
Dec 18, 2018
Kind
B2
Abstract

An electronic device with a touch-sensitive surface, a display, and tactile output generator(s) displays a user interface including a user interface element. The device detects a contact on the user interface element and an input by the contact including a movement of the contact across the touch-sensitive surface. In response to detecting the input by the contact, the device changes a position of an outer edge of the user interface element relative to a threshold position in the user interface in accordance with the movement of the contact. The device further detects that the change in the position of the outer edge of the user interface element has caused the outer edge of the user interface element to move across the threshold position. After detecting the threshold position crossing, the device generates a tactile output and moves the position of the outer edge to the threshold position.

Claims (133)

1. A non-transitory computer readable storage medium storing one or more programs, the one or more programs comprising instructions, which when executed by an electronic device with a display, a touch-sensitive surface, and one or more tactile output generators for generating tactile outputs associated with physical displacement of the electronic device or a component of the electronic device, cause the device to:

display a user interface on the display, wherein the user interface includes a first user interface element;

detect a contact at a location on the touch-sensitive surface that corresponds to the first user interface element;

detect an input by the contact, including detecting a movement of the contact across the touch-sensitive surface;

in response to detecting the input by the contact:

change a position of an outer edge of the user interface element relative to a first threshold position in the user interface in accordance with the movement of the contact on the touch-sensitive surface;

detect that the change in the position of the outer edge of the user interface element relative to the first threshold position in the user interface has caused the outer edge of the user interface element to move across the first threshold position in the user interface;

after detecting that the outer edge of the user interface element has moved across the first threshold position in the user interface, generate a tactile output; and

move the position of the outer edge of the user interface element to the first threshold position;

wherein a respective characteristic of the tactile output is based on a characteristic speed of the input at a time corresponding to when the outer edge of the user interface element moves across the first threshold position in the user interface.

2. The computer readable storage medium of claim 1 , wherein:

changing the position of the outer edge of the user interface element relative to the first threshold position in the user interface includes scrolling the user interface element in a first direction relative to the first threshold position in the user interface.

3. The computer readable storage medium of claim 2 , the one or more programs further comprising instructions that cause the device to:

in response to detecting the input by the contact:

scroll the user interface element such that the outer edge of the user interface element moves across the first threshold position in the user interface; and

display a first region that extends from the outer edge of the user interface element in a second direction opposite the first direction after the outer edge of user interface element is moved past the first threshold position.

4. The computer readable storage medium of claim 3 , wherein moving the position of the outer edge of the user interface element to the first threshold position includes:

scrolling the user interface element in the second direction until the outer edge of the user interface returns to the first threshold position; and

ceasing to display the first region that extends from the outer edge of the user interface element.

5. The computer readable storage medium of claim 1 , wherein:

changing the position of the outer edge of the user interface element relative to the first threshold position in the user interface includes expanding the user interface element in the user interface.

6. The computer readable storage medium of claim 5 , the one or more programs further comprising instructions that cause the device to:

in response to detecting the input by the contact:

expand the user interface element until reaching a first maximum size of the user interface element, wherein the outer edge of the user interface element moves beyond a displayed portion of the user interface, and the first threshold position is determined based on the first maximum size and is located outside of a viewable region of the user interface; and

further expand the user interface element beyond the first maximum size.

7. The computer readable storage medium of claim 6 , wherein moving the position of the outer edge of the user interface element to the first threshold position includes:

shrinking the user interface element such that the user interface element returns to the first maximum size of the user interface element.

8. The computer readable storage medium of claim 1 , wherein:

changing the position of the outer edge of the user interface element relative to the first threshold position in the user interface includes shrinking the user interface element in the user interface.

9. The computer readable storage medium of claim 8 , the one or more programs further comprising instructions that cause the device to:

in response to detecting the input by the contact:

shrink the user interface element such that the user interface element reaches a first minimum size of the user interface element, wherein the first threshold position is determined based on the first minimum size and is located within of a displayed portion of the user interface element; and

further shrink the user interface element beyond the first minimum size.

10. The computer readable storage medium of claim 9 , wherein moving the position of the outer edge of the user interface element to the first threshold position includes:

expanding the user interface element such that the user interface element returns to the first minimum size of the user interface element.

11. The computer readable storage medium of claim 1 , wherein a respective characteristic of the tactile output is configured based on a speed at which the outer edge of the user interface element moves across the first threshold position in the user interface.

12. The computer readable storage medium of claim 1 , wherein a respective characteristic of the tactile output is configured based on an extent by which the outer edge of the user interface element has moved beyond the first threshold position in the user interface.

13. The computer readable storage medium of claim 1 , wherein generating the tactile output includes generating the tactile output upon detecting that the outer edge of the user interface element has moved across the first threshold position in the user interface.

14. The computer readable storage medium of claim 1 , wherein generating the tactile output includes generating the tactile output upon detecting termination of the input.

15. The computer readable storage medium of claim 14 , the one or more programs further comprising instructions that cause the device to:

generate a second tactile output upon detecting that the outer edge of the user interface element has moved across the first threshold position in the user interface.

16. The computer readable storage medium of claim 1 , wherein generating the tactile output includes generating the tactile output upon starting to move the position of the outer edge of the user interface element to the first threshold position.

17. An electronic device, comprising:

a display;

a touch-sensitive surface;

one or more tactile output generators for generating tactile outputs associated with physical displacement of the electronic device or a component of the electronic device;

one or more processors;

memory; and

one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for:

displaying a user interface on the display, wherein the user interface includes a first user interface element;

detecting a contact at a location on the touch-sensitive surface that corresponds to the first user interface element;

detecting an input by the contact, including detecting a movement of the contact across the touch-sensitive surface;

in response to detecting the input by the contact:

changing a position of an outer edge of the user interface element relative to a first threshold position in the user interface in accordance with the movement of the contact on the touch-sensitive surface;

detecting that the change in the position of the outer edge of the user interface element relative to the first threshold position in the user interface has caused the outer edge of the user interface element to move across the first threshold position in the user interface;

after detecting that the outer edge of the user interface element has moved across the first threshold position in the user interface, generating a tactile output; and

moving the position of the outer edge of the user interface element to the first threshold position;

wherein a respective characteristic of the tactile output is based on a characteristic speed of the input at a time corresponding to when the outer edge of the user interface element moves across the first threshold position in the user interface.

18. The electronic device of claim 17 , wherein:

changing the position of the outer edge of the user interface element relative to the first threshold position in the user interface includes scrolling the user interface element in a first direction relative to the first threshold position in the user interface.

19. The electronic device of claim 18 , wherein the one or more programs further include instructions for:

in response to detecting the input by the contact:

scrolling the user interface element such that the outer edge of the user interface element moves across the first threshold position in the user interface; and

displaying a first region that extends from the outer edge of the user interface element in a second direction opposite the first direction after the outer edge of user interface element is moved past the first threshold position.

20. The electronic device of claim 19 , wherein moving the position of the outer edge of the user interface element to the first threshold position includes:

scrolling the user interface element in the second direction until the outer edge of the user interface returns to the first threshold position; and

ceasing to display the first region that extends from the outer edge of the user interface element.

21. The electronic device of claim 17 , wherein:

changing the position of the outer edge of the user interface element relative to the first threshold position in the user interface includes expanding the user interface element in the user interface.

22. The electronic device of claim 21 , wherein the one or more programs further include instructions for:

in response to detecting the input by the contact:

expanding the user interface element until reaching a first maximum size of the user interface element, wherein the outer edge of the user interface element moves beyond a displayed portion of the user interface, and the first threshold position is determined based on the first maximum size and is located outside of a viewable region of the user interface; and

further expanding the user interface element beyond the first maximum size.

23. The electronic device of claim 22 , wherein moving the position of the outer edge of the user interface element to the first threshold position includes:

shrinking the user interface element such that the user interface element returns to the first maximum size of the user interface element.

24. The electronic device of claim 17 , wherein:

changing the position of the outer edge of the user interface element relative to the first threshold position in the user interface includes shrinking the user interface element in the user interface.

25. The electronic device of claim 24 , wherein the one or more programs further include instructions for:

in response to detecting the input by the contact:

shrinking the user interface element such that the user interface element reaches a first minimum size of the user interface element, wherein the first threshold position is determined based on the first minimum size and is located within of a displayed portion of the user interface element; and

further shrinking the user interface element beyond the first minimum size.

26. The electronic device of claim 25 , wherein moving the position of the outer edge of the user interface element to the first threshold position includes:

expanding the user interface element such that the user interface element returns to the first minimum size of the user interface element.

27. The electronic device of claim 17 , wherein a respective characteristic of the tactile output is configured based on a speed at which the outer edge of the user interface element moves across the first threshold position in the user interface.

28. The electronic device of claim 17 , wherein a respective characteristic of the tactile output is configured based on an extent by which the outer edge of the user interface element has moved beyond the first threshold position in the user interface.

29. The electronic device of claim 17 , wherein generating the tactile output includes generating the tactile output upon detecting that the outer edge of the user interface element has moved across the first threshold position in the user interface.

30. The electronic device of claim 17 , wherein generating the tactile output includes generating the tactile output upon detecting termination of the input.

31. The electronic device of claim 30 , wherein the one or more programs further include instructions for:

generating a second tactile output upon detecting that the outer edge of the user interface element has moved across the first threshold position in the user interface.

32. The electronic device of claim 17 , wherein generating the tactile output includes generating the tactile output upon starting to move the position of the outer edge of the user interface element to the first threshold position.

33. A method, comprising:

at an electronic device with a touch-sensitive surface, a display, and one or more tactile output generators for generating tactile outputs associated with physical displacement of the electronic device or a component of the electronic device:

displaying a user interface on the display, wherein the user interface includes a first user interface element;

detecting a contact at a location on the touch-sensitive surface that corresponds to the first user interface element;

detecting an input by the contact, including detecting a movement of the contact across the touch-sensitive surface;

in response to detecting the input by the contact:

changing a position of an outer edge of the user interface element relative to a first threshold position in the user interface in accordance with the movement of the contact on the touch-sensitive surface;

detecting that the change in the position of the outer edge of the user interface element relative to the first threshold position in the user interface has caused the outer edge of the user interface element to move across the first threshold position in the user interface;

after detecting that the outer edge of the user interface element has moved across the first threshold position in the user interface, generating a tactile output; and

moving the position of the outer edge of the user interface element to the first threshold position;

wherein a respective characteristic of the tactile output is based on a characteristic speed of the input at a time corresponding to when the outer edge of the user interface element moves across the first threshold position in the user interface.

34. The method of claim 33 , wherein:

changing the position of the outer edge of the user interface element relative to the first threshold position in the user interface includes scrolling the user interface element in a first direction relative to the first threshold position in the user interface.

35. The method of claim 34 , further comprising:

in response to detecting the input by the contact:

scrolling the user interface element such that the outer edge of the user interface element moves across the first threshold position in the user interface; and

displaying a first region that extends from the outer edge of the user interface element in a second direction opposite the first direction after the outer edge of user interface element is moved past the first threshold position.

36. The method of claim 35 , wherein moving the position of the outer edge of the user interface element to the first threshold position includes:

scrolling the user interface element in the second direction until the outer edge of the user interface returns to the first threshold position; and

ceasing to display the first region that extends from the outer edge of the user interface element.

37. The method of claim 33 , wherein:

changing the position of the outer edge of the user interface element relative to the first threshold position in the user interface includes expanding the user interface element in the user interface.

38. The method of claim 37 , further comprising:

in response to detecting the input by the contact:

expanding the user interface element until reaching a first maximum size of the user interface element, wherein the outer edge of the user interface element moves beyond a displayed portion of the user interface, and the first threshold position is determined based on the first maximum size and is located outside of a viewable region of the user interface; and

further expanding the user interface element beyond the first maximum size.

39. The method of claim 38 , wherein moving the position of the outer edge of the user interface element to the first threshold position includes:

shrinking the user interface element such that the user interface element returns to the first maximum size of the user interface element.

40. The method of claim 33 , wherein:

changing the position of the outer edge of the user interface element relative to the first threshold position in the user interface includes shrinking the user interface element in the user interface.

41. The method of claim 40 , further comprising:

in response to detecting the input by the contact:

shrinking the user interface element such that the user interface element reaches a first minimum size of the user interface element, wherein the first threshold position is determined based on the first minimum size and is located within of a displayed portion of the user interface element; and

further shrinking the user interface element beyond the first minimum size.

42. The method of claim 41 , wherein moving the position of the outer edge of the user interface element to the first threshold position includes:

expanding the user interface element such that the user interface element returns to the first minimum size of the user interface element.

43. The method of claim 33 , wherein a respective characteristic of the tactile output is configured based on a speed at which the outer edge of the user interface element moves across the first threshold position in the user interface.

44. The method of claim 33 , wherein a respective characteristic of the tactile output is configured based on an extent by which the outer edge of the user interface element has moved beyond the first threshold position in the user interface.

45. The method of claim 33 , wherein generating the tactile output includes generating the tactile output upon detecting that the outer edge of the user interface element has moved across the first threshold position in the user interface.

46. The method of claim 33 , wherein generating the tactile output includes generating the tactile output upon detecting termination of the input.

47. The method of claim 46 , further comprising:

generating a second tactile output upon detecting that the outer edge of the user interface element has moved across the first threshold position in the user interface.

48. The method of claim 33 , wherein generating the tactile output includes generating the tactile output upon starting to move the position of the outer edge of the user interface element to the first threshold position.

Assignments (3)
CHANGE OF NAME Recorded Jul 31, 2018
From: APPLE COMPUTER, INC.
To: APPLE INC.
Reel/Frame 046519/0377 →
INTELLECTUAL PROPERTY AGREEMENT Recorded Apr 5, 2018
From: CHAUDHRI, IMRAN
To: APPLE COMPUTER, INC.
Reel/Frame 045843/0781 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 4, 2017
From: BAUER, SEBASTIAN J.; BUTCHER, GARY I.; MOUSSETTE, CAMILLE; MOUILLESEAUX, JEAN-PIERRE; CORDIER, MADELEINE S.; KOPIN, JOSHUA B.
To: APPLE INC.
Reel/Frame 042585/0913 →
Continuity (4)
Continuation 15272380 · Sep 21, 2016
Provisional Application 62384170 · Sep 6, 2016
Provisional Application 62349115 · Jun 12, 2016
Related Publication 20170357318A1 · Dec 14, 2017