IP Library Granted Patent US 10,185,542
Granted Patent B2
US 10,185,542 · App. 14/298,714 · Granted Jan 22, 2019

Device, method, and graphical user interface for enabling conversation persistence across two or more instances of a digital assistant

Inventors: David A. Carson (Cupertino, CA); Daniel Keen (San Jose, CA); Evan Dibiase (Cupertino, CA); Harry J. Saddler (Berkeley, CA); Marco Iacono (Cupertino, CA); Stephen O. Lemay (Palo Alto, CA); Donald W. Pitschel (San Francisco, CA); Thomas R. Gruber (Emerald Hills, CA)
Assignee: Apple Inc.
G06F3/167G06F3/04842G06F17/30684
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,185,542
App. No.
14/298,714
Granted
Jan 22, 2019
Kind
B2
Abstract

An electronic device with one or more processors and memory includes a procedure for enabling conversation persistence across two or more instances of a digital assistant. In some embodiments, the device displays a first dialogue in a first instance of a digital assistant user interface. In response to a request to display a user interface different from the digital assistant user interface, the device displays the user interface different from the digital assistant user interface. In response to a request to invoke the digital assistant, the device displays a second instance of the digital assistant user interface, including displaying a second dialogue in the second instance of the digital assistant user interface, where the first dialogue remains available for display in the second instance of the digital assistant user interface.

Claims (161)

1. A method of operating a digital assistant, performed at an electronic device having a display, one or more processors and memory storing one or more programs for execution by the one or more processors, the method comprising:

displaying a first dialogue in a first instance of a digital assistant user interface without displaying a second dialogue in the first instance of the digital assistant user interface;

causing context data associated with the first dialogue to be stored in a context history associated with the digital assistant;

while displaying the first dialogue in the first instance of the digital assistant user interface, receiving a user request to display a user interface different from the digital assistant user interface;

in response to receiving the user request to display the user interface different from the digital assistant user interface, replacing display of the first instance of the digital assistant user interface with display of the user interface different from the digital assistant user interface;

while displaying the user interface different from the digital assistant user interface, receiving a user request to invoke the digital assistant;

in response to receiving the user request to invoke the digital assistant:

replacing display of the user interface different from the digital assistant user interface with display of a second instance of the digital assistant user interface; and

obtaining audio input containing a spoken query; and

in accordance with a determination that the user request to invoke the digital assistant satisfies a predetermined condition:

using the stored context data to determine a response to the spoken query; and

concurrently displaying the first dialogue and the second dialogue in the second instance of the digital assistant user interface, wherein the second dialogue includes first text corresponding to the spoken query and second text corresponding to the response.

2. The method of claim 1 , further comprising, prior to displaying the first instance of the digital assistant user interface:

detecting a second user request to invoke the digital assistant;

detecting a speech input; and

providing a transcription of the speech input, wherein the first dialogue includes the transcription of the speech input.

3. The method of claim 1 , further comprising, in response to receiving the user request to display the user interface different from the digital assistant user interface, ceasing to display the first instance of the digital assistant user interface.

4. The method of claim 1 , further comprising:

displaying a first affordance in the second instance of the digital assistant user interface;

detecting a user selection of the first affordance, wherein the user selection of the first affordance corresponds to the user request to invoke the digital assistant; and

in response to the user selection of the first affordance, displaying at least a portion of the first dialogue in the second instance of the digital assistant user interface.

5. The method of claim 4 , further comprising:

displaying a second affordance corresponding to a respective sub-portion of the first dialogue;

detecting a user selection of the second affordance; and

in response to the user selection of the second affordance, ceasing to display at least some of the respective sub-portion of the first dialogue.

6. The method of claim 5 , further comprising:

in response to the user selection of the second affordance, excluding at least a portion of the context data associated with the sub-portion of the first dialogue from the context history of the digital assistant.

7. The method of claim 1 , wherein the user request to invoke the digital assistant satisfies the predetermined condition when the user request to invoke the digital assistant is received within a predetermined time period after the electronic device exits the first instance of the digital assistant user interface.

8. The method of claim 1 , further comprising:

in accordance with a determination that the user request to invoke the digital assistant does not satisfy the predetermined condition, causing the stored context data associated with the first dialogue to be deleted from the context history.

9. The method of claim 1 , wherein the user request to invoke the digital assistant does not satisfy the predetermined condition when the electronic device is in a locked state.

10. The method of claim 1 , wherein using the stored context to determine the response to the spoken query and concurrently displaying the first and second dialogues in the second instance of the digital assistant user interface are performed further in accordance with detecting a user input on the displayed second instance of the digital assistant user interface, the user input causing at least a portion of the first dialogue to display in the second instance of the digital assistant user interface.

11. The method of claim 1 , further comprising:

in accordance with a determination that the user request to invoke the digital assistant does not satisfy the predetermined condition:

determining a second response to the spoken query without using the stored context; and

displaying a third dialogue in the second instance of the digital assistant user interface without displaying the first dialogue concurrently with the third dialogue in the second instance of the digital assistant user interface, wherein the third dialogue includes first text corresponding to the spoken query and second text corresponding to the second response.

12. The method of claim 11 , wherein the user request to invoke the digital assistant does not satisfy the predetermined condition when the user request to invoke the digital assistant is not received within a predetermined time period after the electronic device exits the first instance of the digital assistant user interface.

13. A method of operating a digital assistant, performed at two or more electronic devices each having a display, one or more processors, and memory storing one or more programs for execution by the one or more processors, the method comprising:

at a first device, displaying a first dialogue in a first user interface of a digital assistant without displaying a second dialogue in the first user interface of the digital assistant;

causing context data associated with the first dialogue to be stored in a context history associated with the digital assistant;

subsequent to displaying the first dialogue in the first user interface of the digital assistant, at a second device different from the first device:

receiving a user request to invoke the digital assistant on the second device; and

in response to receiving the user request to invoke the digital assistant on the second device:

displaying a second user interface of the digital assistant; and

obtaining audio input containing a spoken query; and

in accordance with a determination that the user request to invoke the digital assistant on the second device satisfies a predetermined condition:

using the stored context data to determine a response to the spoken query; and

concurrently displaying the first dialogue and the second dialogue in the second user interface of the digital assistant, wherein the second dialogue includes first text corresponding to the spoken query and second text corresponding to the response.

14. The method of claim 13 , wherein the user request to invoke the digital assistant on the second device satisfies the predetermined condition when the user request to invoke the digital assistant is received at the second device within a predetermined time period after the first device exits the first user interface of the digital assistant.

15. The method of claim 13 , further comprising:

in accordance with a determination that the user request to invoke the digital assistant on the second device does not satisfy the predetermined condition, causing the stored context data associated with the first dialogue to be deleted from the context history.

16. The method of claim 13 , wherein the user request to invoke the digital assistant on the second device does not satisfy the predetermined condition when the second device is in a locked state.

17. The method of claim 13 , further comprising:

in accordance with a determination that the user request to invoke the digital assistant on the second device does not satisfy the predetermined condition:

determining a second response to the spoken query without using the stored context; and

displaying a third dialogue in the second user interface of the digital assistant without displaying the first dialogue concurrently with the third dialogue in the second user interface of the digital assistant, wherein the third dialogue includes first text corresponding to the spoken query and second text corresponding to the second response.

18. The method of claim 17 , wherein the user request to invoke the digital assistant on the second device does not satisfy the predetermined condition when the user request to invoke the digital assistant is not received within a predetermined time period after the first device exits the first user interface of the digital assistant.

19. A non-transitory computer-readable medium storing instructions for operating a digital assistant, the instructions, when executed by one or more processors of an electronic device, cause the processors to perform operations comprising:

displaying a first dialogue in a first instance of a digital assistant user interface without displaying a second dialogue in the first instance of the digital assistant user interface;

causing context data associated with the first dialogue to be stored in a context history associated with the digital assistant;

while displaying the first dialogue in the first instance of the digital assistant user interface, receiving a user request to display a user interface different from the digital assistant user interface;

in response to receiving the user request to display the user interface different from the digital assistant user interface, replacing display of the first instance of the digital assistant user interface with display of the user interface different from the digital assistant user interface;

while displaying the user interface different from the digital assistant user interface, receiving a user request to invoke the digital assistant;

in response to receiving the user request to invoke the digital assistant:

replacing display of the user interface different from the digital assistant user interface with display of a second instance of the digital assistant user interface; and

obtaining audio input containing a spoken query; and

in accordance with a determination that the user request to invoke the digital assistant satisfies a predetermined condition:

using the stored context data to determine a response to the spoken query; and

concurrently displaying the first dialogue and the second dialogue in the second instance of the digital assistant user interface, wherein the second dialogue includes first text corresponding to the spoken query and second text corresponding to the response.

20. The non-transitory computer-readable medium of claim 19 , further comprising instructions to cause the processors to perform operations comprising, prior to displaying the first instance of the digital assistant user interface:

detecting a second user request to invoke the digital assistant;

detecting a speech input; and

providing a transcription of the speech input, wherein the first dialogue includes the transcription of the speech input.

21. The non-transitory computer-readable medium of claim 19 , further comprising instructions to cause the processors to perform operations comprising, in response to receiving the user request to display the user interface different from the digital assistant user interface, ceasing to display the first instance of the digital assistant user interface.

22. The non-transitory computer-readable medium of claim 19 , further comprising instructions to cause the processors to perform operations comprising:

displaying a first affordance in the second instance of the digital assistant user interface;

detecting a user selection of the first affordance, wherein the user selection of the first affordance corresponds to the user request to invoke the digital assistant; and

in response to the user selection of the first affordance, displaying at least a portion of the first dialogue in the second instance of the digital assistant user interface.

23. The computer-readable medium of claim 19 , wherein the user request to invoke the digital assistant satisfies the predetermined condition when the user request to invoke the digital assistant is received within a predetermined time period after exiting the first instance of the digital assistant user interface.

24. The computer-readable medium of claim 19 , further comprising instructions to cause the processors to perform operations comprising:

in accordance with a determination that the user request to invoke the digital assistant does not satisfy the predetermined condition, causing the stored context data associated with the first dialogue to be deleted from the context history.

25. The computer-readable medium of claim 19 , wherein the user request to invoke the digital assistant does not satisfy the predetermined condition when the electronic device is in a locked state.

26. The computer-readable medium of claim 19 , further comprising instructions to cause the processors to perform operations comprising:

in accordance with a determination that the user request to invoke the digital assistant does not satisfy the predetermined condition:

determining a second response to the spoken query without using the stored context; and

displaying a third dialogue in the second instance of the digital assistant user interface without displaying the first dialogue concurrently with the third dialogue in the second instance of the digital assistant user interface, wherein the third dialogue includes first text corresponding to the spoken query and second text corresponding to the second response.

27. The computer-readable medium of claim 26 , wherein the user request to invoke the digital assistant does not satisfy the predetermined condition when the user request to invoke the digital assistant is not received within a predetermined time period after exiting the first instance of the digital assistant user interface.

28. An electronic device, comprising:

one or more processors; and

memory storing instructions for operating a digital assistant, the instructions, when executed by the one or more processors, cause the processors to perform operations comprising:

displaying a first dialogue in a first instance of a digital assistant user interface without displaying a second dialogue in the first instance of the digital assistant user interface;

causing context data associated with the first dialogue to be stored in a context history associated with the digital assistant;

while displaying the first dialogue in the first instance of the digital assistant user interface, receiving a user request to display a user interface different from the digital assistant user interface;

in response to receiving the user request to display the user interface different from the digital assistant user interface, replacing display of the first instance of the digital assistant user interface with display of the user interface different from the digital assistant user interface;

while displaying the user interface different from the digital assistant user interface, receiving a user request to invoke the digital assistant;

in response to receiving the user request to invoke the digital assistant:

replacing display of the user interface different from the digital assistant user interface with display of a second instance of the digital assistant user interface; and

obtaining audio input containing a spoken query; and

in accordance with a determination that the user request to invoke the digital assistant satisfies a predetermined condition:

using the stored context data to determine a response to the spoken query; and

concurrently displaying the first dialogue and the second dialogue in the second instance of the digital assistant user interface, wherein the second dialogue includes first text corresponding to the spoken query and second text corresponding to the response.

29. The electronic device of claim 28 , wherein the operations further comprise, prior to displaying the first instance of the digital assistant user interface:

detecting a second user request to invoke the digital assistant;

detecting a speech input; and

providing a transcription of the speech input, wherein the first dialogue includes the transcription of the speech input.

30. The electronic device of claim 28 , wherein the operations further comprise, in response to receiving the user request to display the user interface different from the digital assistant user interface, ceasing to display the first instance of the digital assistant user interface.

31. The electronic device of claim 28 , wherein the operations further comprise:

displaying a first affordance in the second instance of the digital assistant user interface;

detecting a user selection of the first affordance, wherein the user selection of the first affordance corresponds to the user request to invoke the digital assistant; and

in response to the user selection of the first affordance, displaying at least a portion of the first dialogue in the second instance of the digital assistant user interface.

32. The electronic device of claim 28 , wherein the user request to invoke the digital assistant satisfies the predetermined condition when the user request to invoke the digital assistant is received within a predetermined time period after receiving the user request to display the user interface different from the digital assistant user interface.

33. The electronic device of claim 28 , wherein the operations further comprise:

in accordance with a determination that the user request to invoke the digital assistant does not satisfy the predetermined condition, causing the stored context data associated with the first dialogue to be deleted from the context history.

34. The electronic device of claim 28 , wherein the user request to invoke the digital assistant does not satisfy the predetermined condition when the electronic device is in a locked state.

35. The electronic device of claim 28 , wherein the operations further comprise:

in accordance with a determination that the user request to invoke the digital assistant does not satisfy the predetermined condition:

determining a second response to the spoken query without using the stored context; and

displaying a third dialogue in the second instance of the digital assistant user interface without displaying the first dialogue concurrently with the third dialogue in the second instance of the digital assistant user interface, wherein the third dialogue includes first text corresponding to the spoken query and second text corresponding to the second response.

36. The electronic device of claim 35 , wherein the user request to invoke the digital assistant does not satisfy the predetermined condition when the user request to invoke the digital assistant is not received within a predetermined time period after exiting the first instance of the digital assistant user interface.

37. A non-transitory computer-readable medium storing instructions for operating a digital assistant, the instructions, when executed by one or more processors, cause the processors to perform operations comprising:

at a first device, displaying a first dialogue in a first user interface of a digital assistant without displaying a second dialogue in the first user interface of the digital assistant;

causing context data associated with the first dialogue to be stored in a context history associated with the digital assistant;

subsequent to displaying the first dialogue in the first user interface of the digital assistant, at a second device different from the first device:

receiving a user request to invoke the digital assistant on the second device; and

in response to receiving the user request to invoke the digital assistant on the second device:

displaying a second user interface of the digital assistant;

obtaining audio input containing a spoken query; and

in accordance with a determination that the user request to invoke the digital assistant on the second device satisfies a predetermined condition:

using the stored context data to determine a response to the spoken query; and

concurrently displaying the first dialogue and the second dialogue in the second user interface of the digital assistant, wherein the second dialogue includes first text corresponding to the spoken query and second text corresponding to the response.

38. The computer-readable medium of claim 37 , wherein the user request to invoke the digital assistant on the second device satisfies the predetermined condition when the user request to invoke the digital assistant is received at the second device within a predetermined time period after the first device exits the first user interface of the digital assistant.

39. The computer-readable medium of claim 37 , further comprising instructions to cause the processors to perform operations comprising:

in accordance with a determination that the user request to invoke the digital assistant on the second device does not satisfy the predetermined condition, causing the stored context data associated with the first dialogue to be deleted from the context history.

40. The computer-readable medium of claim 37 , wherein the user request to invoke the digital assistant on the second device does not satisfy the predetermined condition when the second device is in a locked state.

41. The computer-readable medium of claim 37 , further comprising instructions to cause the processors to perform operations comprising:

in accordance with a determination that the user request to invoke the digital assistant on the second device does not satisfy the predetermined condition:

determining a second response to the spoken query without using the stored context; and

displaying a third dialogue in the second user interface of the digital assistant without displaying the first dialogue concurrently with the third dialogue in the second user interface of the digital assistant, wherein the third dialogue includes first text corresponding to the spoken query and second text corresponding to the second response.

42. The computer-readable medium of claim 41 , wherein the user request to invoke the digital assistant on the second device does not satisfy the predetermined condition when the user request to invoke the digital assistant is not received within a predetermined time period after the first device exits the first user interface of the digital assistant.

43. A system comprising:

one or more processors; and

memory storing instructions for operating a digital assistant, the instructions, when executed by the one or more processors, cause the processors to perform operations comprising:

at a first device of the system, displaying a first dialogue in a first user interface of a digital assistant without displaying a second dialogue in the first user interface of the digital assistant;

causing context data associated with the first dialogue to be stored in a context history associated with the digital assistant;

subsequent to displaying the first dialogue in the first user interface of the digital assistant, at a second device of the system different from the first device:

receiving a user request to invoke the digital assistant on the second device; and

in response to receiving the user request to invoke the digital assistant on the second device:

displaying a second user interface of the digital assistant; and

obtaining audio input containing a spoken query; and

in accordance with a determination that the user request to invoke the digital assistant on the second device satisfies a predetermined condition:

 using the stored context data to determine a response to the spoken query; and

 concurrently displaying the first dialogue and the second dialogue in the second user interface of the digital assistant, wherein the second dialogue includes first text corresponding to the spoken query and second text corresponding to the response.

44. The system of claim 43 , wherein the user request to invoke the digital assistant on the second device satisfies the predetermined condition when the user request to invoke the digital assistant is received at the second device within a predetermined time period after the first device exits the first user interface of the digital assistant.

45. The system of claim 43 , wherein the operations further comprise:

in accordance with a determination that the user request to invoke the digital assistant on the second device does not satisfy the predetermined condition, causing the stored context data associated with the first dialogue to be deleted from the context history.

46. The system of claim 43 , wherein the user request to invoke the digital assistant on the second device does not satisfy the predetermined condition when the second device is in a locked state.

47. The system of claim 43 , wherein the operations further comprise:

in accordance with a determination that the user request to invoke the digital assistant on the second device does not satisfy the predetermined condition:

determining a second response to the spoken query without using the stored context; and

displaying a third dialogue in the second user interface of the digital assistant without displaying the first dialogue concurrently with the third dialogue in the second user interface of the digital assistant, wherein the third dialogue includes first text corresponding to the spoken query and second text corresponding to the second response.

48. The system of claim 47 , wherein the user request to invoke the digital assistant on the second device does not satisfy the predetermined condition when the user request to invoke the digital assistant is not received within a predetermined time period after the first device exits the first user interface of the digital assistant.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 28, 2015
From: CARSON, DAVID; KEEN, DANIEL; DIBIASE, EVAN; SADDLER, HARRY J.; IACONO, MARCO; LEMAY, STEPHEN O.; PITSCHEL, DONALD W.; GRUBER, THOMAS R.
To: APPLE INC.
Reel/Frame 037394/0725 →
Continuity (2)
Provisional Application 61832898 · Jun 9, 2013
Related Publication 20140365885A1 · Dec 11, 2014
Cited By (48)
US 12,197,712 US 12,197,817 US 12,200,297 US 12,204,932 US 12,210,552 US 12,211,502 US 12,211,504 US 12,216,894 US 12,219,314 US 12,223,282 US 12,230,264 US 12,236,952 US 12,254,887 US 12,260,234 US 12,266,380 US 12,277,935 US 12,277,954 US 12,293,203 US 12,293,763 US 12,293,764 US 12,301,635 US 12,316,583 US 12,333,404 US 12,361,943 US 12,367,879 US 12,379,894 US 12,380,876 US 12,386,434 US 12,386,491 US 12,424,218 US 12,431,128 US 12,461,764 US 12,477,470 US 12,556,890 US 12,567,415 US 12,603,093 US 12,608,171 US 12,613,621 US 12,613,730 US 12,619,452 US 12,620,179 US 12,625,895 US 12,638,959 US 12,640,151 US 12,645,778 US 12,664,185 US 12,670,639 US 12,675,839