Method and interface for home media control

Through a simplified user interface and a method of receiving user input, the problem of complex and inefficient management of media playback equipment in the prior art is solved, and more efficient device management and power savings are achieved.

CN111857644BActive Publication Date: 2024-12-20APPLE INC
View PDF 38 Cites 0 Cited by

Patent Information

Application Number
CN202010728844.3
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2018-01-29
Filing Date
2018-05-16
Publication Date
2024-12-20
Estimated Expiration
2038-05-16

AI Technical Summary

Technical Problem

The prior art uses the complex and inefficient user interface for managing media playback devices, resulting in a waste of user time and device energy, especially in battery-powered devices.

Method used

Provides a faster and more efficient method and interface to reduce irrelevant or repeated user input, save power by receiving user input and displaying a multi-device interface on the display, including indicators and media playback status of available playback devices, and Optimize the use of monitors or speakers for electronic devices.

Benefits of technology

It improves the management efficiency and user satisfaction of media playback devices, reduces cognitive burden, extends the battery charging interval, and reduces the use of equipment power, especially in battery-powered devices, which significantly saves energy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN111857644B_ABST
    Figure CN111857644B_ABST
Patent Text Reader

Abstract

The present application relates to methods and interfaces for home media control. The present disclosure as a whole relates to interfaces and techniques for media playback on one or more devices. According to some embodiments, an electronic device includes a display, one or more processors, and a memory. The electronic device receives user input, and in response to receiving the user input, displays a multi-device interface on the display, the multi-device interface including: one or more indicators associated with a plurality of available playback devices and the media playback status of the plurality of available playback devices, the plurality of available playback devices being connected to the device and being used to initiate playback of media from the device.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the invention patent application with the application date of May 16, 2018, application number 201880001436.9, and name “Method and interface for home media control”.

[0002] CROSS-REFERENCE TO RELATED APPLICATIONS

[0003] This application claims the benefit of priority to the following patent applications: U.S. Provisional Patent Application No. 62 / 507,202, filed May 16, 2017, entitled “METHODS AND INTERFACES FOR HOME MEDIA CONTROL”; U.S. Provisional Patent Application No. 62 / 507,208, filed May 16, 2017, entitled “METHODS AND INTERFACES FOR HOME MEDIA CONTROL”; Danish Patent Application No. PA 2017 70392, filed May 29, 2017, entitled “METHODS AND INTERFACES FOR HOME MEDIA CONTROL”; Danish Patent Application No. PA 2017 70401, filed May 29, 2017, entitled “METHODS AND INTERFACES FOR HOME MEDIA CONTROL”; and Danish Patent Application No. PA 2017 70502, filed May 29, 2017, entitled “METHODS AND INTERFACES FOR HOME MEDIA CONTROL”. HOME MEDIA CONTROL”; Danish Patent Application No. PA2017 70402, entitled “METHODS AND INTERFACES FOR HOME MEDIA CONTROL”, filed on May 29, 2017; Danish Patent Application No. PA2017 70403, entitled “METHODS AND INTERFACES FOR HOME MEDIA CONTROL”, filed on May 29, 2017; Danish Patent Application No. PA2017 70404, entitled “METHODS AND INTERFACES FOR HOME MEDIA CONTROL”, filed on May 29, 2017; Danish Patent Application No. PA2017 70406, entitled “METHODS AND INTERFACES FOR HOME MEDIA CONTROL”, filed on May 29, 2017; Danish Patent Application No. PA2017 70407, entitled “METHODS AND INTERFACES FOR HOME MEDIA CONTROL”, filed on May 29, 2017 70408; Danish Patent Application No. PA2017 70409, filed on May 29, 2017, entitled “METHODS AND INTERFACES FOR HOME MEDIA CONTROL”; Danish Patent Application No.PA2017 70410; U.S. Provisional Patent Application No. 62 / 514,932, filed on June 4, 2017, entitled “METHODS AND INTERFACES FOR HOME MEDIA CONTROL”; U.S. Provisional Patent Application No. 62 / 622,122, filed on January 25, 2018, entitled “METHODS AND INTERFACES FOR HOME MEDIA CONTROL”; and Danish Patent Application No. PA2018 70060, filed on January 29, 2018, entitled “METHODS AND INTERFACES FOR HOME MEDIA CONTROL”, the contents of each of which are hereby incorporated by reference in their entirety. .

[0004] This application also relates to U.S. Patent Application No. 14 / 300,120, filed on June 9, 2014, entitled “MULTI-CHANNEL LOUDSPEAKERMATCHING VARIABLE DIRECTIVITY,” the contents of which are hereby incorporated by reference in their entirety and are included in the Appendix. This application also relates to U.S. Patent Application No. 14 / 732,711, filed on June 6, 2015, entitled “MULTI-MICROPHONE SPEECH RECOGNITION SYSTEMS AND RELATED TECHNIQUES,” the contents of which are hereby incorporated by reference in their entirety and are included in the Appendix. This application also relates to U.S. Patent Application No. 14 / 732,715, filed on June 6, 2015, entitled “MULTI-MICROPHONE SPEECH RECOGNITION TECHNIQUES AND RELATED SYSTEMS.” This application also relates to U.S. Patent Application No. 14 / 869,760, filed on September 29, 2015, entitled "MODAL BASED ARCHITECTURE FOR CONTROLLING THE DIRECTIVITY OF LOUDSPEAKER ARRAYS", the contents of which are hereby incorporated by reference in their entirety and are included in the Appendix. This application also relates to U.S. Patent Application No. 15 / 266,956, filed on September 15, 2016, entitled "INTELLIGENT AUTOMATED ASSISTANT FOR MEDIA EXPLORATION". This application also relates to U.S. Patent Application No. 15 / 268,338, filed on September 16, 2016, entitled "INTELLIGENT DEVICE ARBITRATION AND CONTROL", the contents of which are hereby incorporated by reference in their entirety and are included in the Appendix. This application is also related to U.S. Patent Application No. 15 / 272,214, filed on September 21, 2016, entitled “INTELLIGENT LIST READING”. This application is also related to U.S. Patent Application No. 15 / 275,077, filed on September 23, 2016, entitled “PRESSURE GRADIENT MICROPHONE FOR MEASURING AN ACOUSTIC CHARACTERISTIC OF A LOUDSPEAKER”.This application also relates to U.S. Patent Application No. 15 / 385,606, filed on December 20, 2016, entitled “INTELLIGENT AUTOMATED ASSISTANT”, the contents of which are hereby incorporated by reference in their entirety and are included in the Appendix. This application also relates to U.S. Patent Application No. 15 / 504,312, filed on August 18, 2014, entitled “A ROTATIONALLY SYMMETRIC SPEAKER ARRAY”. This application also relates to U.S. Patent Application No. 15 / 514,455, filed on September 25, 2015, entitled “METHOD TO DETERMINE LOUDSPEAKER CHANGE OF PLACEMENT”. This application also relates to U.S. Patent Application No. 15 / 583,949, filed on May 1, 2017, entitled “A ROTATIONALLY SYMMETRIC SPEAKER ARRAY”. This application also relates to U.S. Patent Application No. 15 / 593,887, filed on May 12, 2017, entitled "SPATIAL AUDIORENDERING FOR BEAMFORMING LOUDSPEAKER ARRAY", the contents of which are hereby incorporated by reference in their entirety and are included in the Appendix. This application also relates to U.S. Patent Application No. 62 / 004,111, filed on May 28, 2014, entitled "MULTI-CHANNEL LOUDSPEAKER MATCHING USING VARIABLE DIRECTIVITY". This application also relates to U.S. Patent Application No. 62 / 057,989, filed on September 30, 2014, entitled "MODALBASED ARCHITECTURE FOR CONTROLLING THE DIRECTIVITY OF LOUDSPEAKER ARRAYS". This application is also related to U.S. Patent Application No. 62 / 057,999, entitled “METHOD TO DETERMINE LOUDSPEAKER CHANGE OF PLACEMENT,” filed on September 30, 2014. This application is also related to U.S. Patent Application No. 62 / 346,236, entitled “INTELLIGENT LIST READING,” filed on June 6, 2016. This application is also related to U.S. Patent Application No. 62 / 347,480, entitled “INTELLIGENT AUTOMATED ASSISTANT FOR MEDIA EXPLORATION,” filed on June 8, 2016.This application is also related to U.S. Patent Application No. 62 / 348,896, filed on June 11, 2016, entitled “INTELLIGENT DEVICE ARBITRATION AND CONTROL.” This application is also related to U.S. Patent Application No. 62 / 399,165, filed on September 23, 2016, entitled “AUDIO DRIVER AND POWER SUPPLY UNIT ARCHITECTURE.” This application is also related to U.S. Patent Application No. 62 / 399,229, filed on September 23, 2016, entitled “MULTI-LOBE MAGNET FOR SUBWOOFER.” This application is also related to U.S. Patent Application No. 62 / 399,232, filed on September 23, 2016, entitled “INTELLIGENT AUTOMATED ASSISTANT.” This application is also related to U.S. Patent Application No. 62 / 399,262, filed on September 23, 2016, entitled “FORWARD BACK VOLUME OF AIR FOR AUDIO DRIVER.” This application is also related to U.S. Patent Application No. 62 / 399,288, filed on September 23, 2016, entitled “UPPER HOUSING COMPONENT ARCHITECTURE.” This application is also related to U.S. Patent Application No. 62 / 399,293, filed on September 23, 2016, entitled “AUDIO DRIVER EXIT GEOMETRY.” This application is also related to U.S. Patent Application No. 62 / 402,836, filed on September 30, 2016, entitled “SPATIAL AUDIO RENDERING STRATEGIES FOR BEAMFORMING LOUD SPEAKER ARRAY.” This application is also related to U.S. Patent Application No. 62 / 506,912, filed on May 16, 2017, entitled “MANAGING MEDIA COLLECTIONS USING DIRECTED ACYCLIC GRAPHS.” This application is also related to U.S. Patent Application No. 62 / 507,007, filed on May 16, 2017, entitled “SPEAKER.” This application is also related to U.S. Patent Application No. 62 / 507,100, filed on May 16, 2017, entitled “TRANSFERRING PLAYBACK QUEUES BETWEEND EVICES.”This application is also related to U.S. Patent Application No. 62 / 507,151, filed on May 16, 2017, entitled “FAR-FIELD EXTENSION FOR DIGITAL ASSISTANT SERVICES”, the contents of which are hereby incorporated by reference in their entirety and are included in the Appendix. This application is also related to U.S. Patent Application No. 62 / 507,056, filed on May 16, 2017, entitled “PROVIDING AN AUDITORY-BASED INTERFACE OF A DIGITAL ASSISTANT”. This application is also related to U.S. Patent Application No. 62 / 506,871, filed on May 16, 2017, entitled “METHODS AND SYSTEMS FOR PHONETIC MATCHING IN DIGITAL ASSISTANT SERVICE”. This application also relates to U.S. Patent Application No. 62 / 507,042, filed on May 16, 2017, entitled “DETECTING ATRIGGER OF A DIGITAL ASSISTANT”. This application also relates to U.S. Patent Application No. 62 / 506,981, filed on May 16, 2017, entitled “INTELLIGENT AUTOMATED ASSISTANT FOR MEDIA EXPLORATION”. This application also relates to a U.S. Patent Application entitled “AUDIO BLUR” (Agent Docket No. P34400US1), filed to be submitted. This application also relates to a U.S. Patent Application entitled “ONLINE PROCESSING METHODS FOR MULTI-CHANNEL DEREVERBERATION” (Agent Docket No. P32630US1), filed to be submitted. This application also relates to a U.S. Patent Application entitled “AUTOMATIC LOUDSPEAKER ORIENTATION ESTIMATION” (Agent Docket No. P34635US1), filed to be submitted. This application is also related to a filed U.S. patent application entitled "FOURIER TRANSFORM BASED METHOD FOR CREATING SMOOTH DIRECTIVITY TRANSITIONS IN BEAMFORMING LOUDSPEAKERS" (Attorney Docket No. P34719US1).This application also relates to a U.S. patent application entitled "ACOUSTIC ECHO-CANCELLATION USING AN INTERNAL MICROPHONE" (Agent Docket No. P34811US1) to be filed. This application also relates to a U.S. patent application entitled "TECHNIQUESFOR VERIFYING USER INTENT AND SECURELY CONFIGURING COMPUTER DEVICES" (Agent Docket No. P34845USP1) to be filed. This application also relates to a U.S. patent application entitled "SHARING CONCEPTS" (Agent Docket No. P34762USP1) to be filed. The contents of each of the above-listed related applications are hereby incorporated by reference in their entirety. Technical Field

[0005] The present disclosure relates generally to computer user interfaces and, more particularly, to techniques for managing media playback devices. Background Art

[0006] The number of electronic devices, especially smart devices, in users' homes continues to grow. These devices are becoming more interconnected, feature-rich, and capable of performing more complex tasks. As a result, users increasingly expect these devices to have well-designed user interfaces. Summary of the invention

[0007] However, some techniques for managing media playback devices using electronic devices are often cumbersome and inefficient. For example, some prior art techniques use complex and time-consuming user interfaces that may include multiple keystrokes or keystrokes. Prior art techniques require more time than necessary, which results in wasted user time and device energy. This latter consideration is particularly important in battery-powered devices.

[0008] Therefore, the present technology provides a faster and more efficient method and interface for electronic devices to manage media playback devices. Such methods and interfaces optionally supplement or replace other methods for managing media playback devices. Such methods and interfaces reduce the cognitive burden on users and produce more efficient human-computer interfaces. For battery-powered computing devices, such methods and interfaces save power and increase the time interval between battery charges. Such methods and interfaces can reduce the number of unnecessary, irrelevant or repeated user inputs. In addition, such methods and interfaces can reduce the power usage of displays or speakers of electronic devices.

[0009] According to some embodiments, a method is performed at a device having a display. The method includes: receiving user input; and in response to receiving the user input, displaying a multi-device interface on the display, the multi-device interface including: one or more indicators associated with a plurality of available playback devices and media playback status of the plurality of available playback devices, the plurality of available playback devices being connected to the device and being usable to initiate playback of media from the device.

[0010] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display, the one or more programs including instructions for performing the following operations: receiving user input; and in response to receiving the user input, displaying a multi-device interface on the display, the multi-device interface including: one or more indicators associated with multiple available playback devices and media playback status of the multiple available playback devices, the multiple available playback devices being connected to the device and being used to initiate playback of media from the device.

[0011] According to some embodiments, an electronic device is described. The electronic device includes: a display; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: receiving user input; and in response to receiving the user input, displaying a multi-device interface on the display, the multi-device interface including: one or more indicators associated with multiple available playback devices and media playback status of the multiple available playback devices, the multiple available playback devices being connected to the device and can be used to initiate playback of media from the device.

[0012] According to some embodiments, an electronic device is described. The electronic device includes: a display; a device for receiving user input; and a device for displaying a multi-device interface on the display in response to receiving the user input, the multi-device interface including: one or more indicators associated with multiple available playback devices and media playback status of the multiple available playback devices, the multiple available playback devices being connected to the device and being used to initiate playback of media from the device.

[0013] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device with a display, the one or more programs including instructions for performing the following operations: receiving user input; and in response to receiving the user input, displaying a multi-device interface on the display, the multi-device interface including: one or more indicators associated with multiple available playback devices and media playback status of the multiple available playback devices, the multiple available playback devices being connected to the device and being used to initiate playback of media from the device.

[0014] According to some embodiments, a method is performed at a device having a display. The method includes: displaying a first current media interface for the device on the display, wherein the first current media interface includes: a representation of a first media item available for playback on the device and a playback device selection affordance; receiving a first user input representing a selection of the playback device selection affordance; in response to receiving the first user input, displaying one or more affordances associated with a plurality of available playback devices connected to the device on the display; receiving a second user input representing a selection of the one or more affordances associated with the plurality of available playback devices; and in response to receiving the second user input, configuring the device to initiate playback on the plurality of available playback devices.

[0015] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device with a display, wherein the one or more programs include instructions for performing the following operations: displaying a first current media interface for the device on the display, wherein the first current media interface includes: a representation of a first media item available for playback on the device and a playback device selection indication; receiving a first user input representing a selection of the playback device selection indication; in response to receiving the first user input, displaying one or more indications associated with a plurality of available playback devices connected to the device on the display; receiving a second user input representing a selection of the one or more indications associated with the plurality of available playback devices; and in response to receiving the second user input, configuring the device to initiate playback on the plurality of available playback devices.

[0016] According to some embodiments, an electronic device is described. The electronic device includes: a display; one or more processors; and a memory, the memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: displaying a first current media interface for the device on the display, wherein the first current media interface includes: a representation of a first media item available for playback on the device and a playback device selection indication; receiving a first user input representing a selection of the playback device selection indication; in response to receiving the first user input, displaying one or more indications associated with a plurality of available playback devices connected to the device on the display; receiving a second user input representing a selection of the one or more indications associated with the plurality of available playback devices; and in response to receiving the second user input, configuring the device to initiate playback on the plurality of available playback devices.

[0017] According to some embodiments, an electronic device is described. The electronic device includes: a display; a device for displaying a first current media interface for the device on the display, wherein the first current media interface includes: a representation of a first media item available for playback on the device and a playback device selection enable representation; a device for receiving a first user input representing a selection of the playback device selection enable representation; a device for displaying one or more enable representations associated with a plurality of available playback devices connected to the device on the display in response to receiving the first user input; a device for receiving a second user input representing a selection of the one or more enable representations associated with the plurality of available playback devices; and a device for configuring the device to initiate playback on the plurality of available playback devices in response to receiving the second user input.

[0018] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device with a display, wherein the one or more programs include instructions for performing the following operations: displaying a first current media interface for the device on the display, wherein the first current media interface includes: a representation of a first media item available for playback on the device and a playback device selection affordance; receiving a first user input representing a selection of the playback device selection affordance; in response to receiving the first user input, displaying one or more affordances associated with a plurality of available playback devices connected to the device on the display; receiving a second user input representing a selection of the one or more affordances associated with the plurality of available playback devices; and in response to receiving the second user input, configuring the device to initiate playback on the plurality of available playback devices.

[0019] According to some embodiments, a method is performed at a first device. The method includes: detecting an indication that physical proximity between the first device and the second device satisfies a proximity condition, wherein the first device is connected to the second device via a communication link; audibly outputting an audio tone signal based on detecting the indication, wherein the audio tone signal is out-of-band for the communication link; determining whether a response audio tone signal has been received from the second device after outputting the audio tone signal; proceeding to the next step in the configuration process based on determining that a response audio tone signal has been received from the second device; and abandoning the process of proceeding to the next step in the configuration process based on determining that a response audio tone signal has not been received from the second device.

[0020] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs including instructions for performing the following operations: detecting an indication that the physical proximity between a first device and a second device satisfies a proximity condition, wherein the first device is connected to the second device via a communication link; audibly outputting an audio tone signal based on the detection of the indication, wherein the audio tone signal is out-of-band for the communication link; determining whether a response audio tone signal has been received from the second device after outputting the audio tone signal; proceeding to the next step in the configuration process based on determining that a response audio tone signal has been received from the second device; and abandoning the process of proceeding to the next step in the configuration process based on determining that a response audio tone signal has not been received from the second device.

[0021] According to some embodiments, an electronic device is described. The electronic device includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, wherein the one or more programs include instructions for performing the following operations: detecting an indication that the physical proximity between a first device and a second device satisfies a proximity condition, wherein the first device is connected to the second device via a communication link; audibly outputting an audio tone signal based on the detected indication, wherein the audio tone signal is out-of-band for the communication link; determining whether a response audio tone signal has been received from the second device after outputting the audio tone signal; proceeding to the next step in the configuration process based on determining that a response audio tone signal has been received from the second device; and abandoning the process of proceeding to the next step in the configuration process based on determining that a response audio tone signal has not been received from the second device.

[0022] According to some embodiments, an electronic device is described. The electronic device includes: a device for detecting an indication that the physical proximity between a first device and a second device satisfies a proximity condition, wherein the first device is connected to the second device via a communication link; a device for audibly outputting an audio tone signal in accordance with the detection of the indication, wherein the audio tone signal is out-of-band for the communication link; a device for determining whether a response audio tone signal has been received from the second device after outputting the audio tone signal; a device for advancing to the next step in the configuration process in accordance with determining that a response audio tone signal has been received from the second device; and a device for abandoning the advancement to the next step in the configuration process in accordance with determining that a response audio tone signal has not been received from the second device.

[0023] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs including instructions for performing the following operations: detecting an indication that the physical proximity between a first device and a second device satisfies a proximity condition, wherein the first device is connected to the second device via a communication link; audibly outputting an audio tone signal based on the detection of the indication, wherein the audio tone signal is out-of-band for the communication link; determining whether a response audio tone signal has been received from the second device after outputting the audio tone signal; proceeding to the next step in the configuration process based on determining that a response audio tone signal has been received from the second device; and abandoning the process of proceeding to the next step in the configuration process based on determining that a response audio tone signal has not been received from the second device.

[0024] According to some embodiments, a method is performed at a first device having a display. The method includes: when connected to a second device, detecting an indication that physical proximity between the first device and the second device satisfies a proximity condition; and displaying a media information interface on the display in response to detecting that the physical proximity satisfies the proximity condition.

[0025] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display, wherein the electronic device is a first device, and the one or more programs include instructions for performing the following operations: when connected to a second device, detecting an indication that the physical proximity between the first device and the second device satisfies a proximity condition; and displaying a media information interface on the display based on detecting that the physical proximity satisfies the proximity condition.

[0026] According to some embodiments, an electronic device is described. The electronic device includes: a display; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: when connected to a second device, detecting an indication that the physical proximity between the electronic device and the second device satisfies a proximity condition; and displaying a media information interface on the display based on detecting that the physical proximity satisfies the proximity condition.

[0027] According to some embodiments, an electronic device is described. The electronic device includes: a display; means for detecting an indication that physical proximity between the electronic device and the second device satisfies a proximity condition when connected to the second device; and means for displaying a media information interface on the display in response to detecting that the physical proximity satisfies the proximity condition.

[0028] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display, wherein the electronic device is a first device, and the one or more programs include instructions for performing the following operations: when connected to a second device, detecting an indication that the physical proximity between the first device and the second device satisfies a proximity condition; and displaying a media information interface on the display based on detecting that the physical proximity satisfies the proximity condition.

[0029] According to some embodiments, a method is performed at a device having a touch-sensitive surface. The method includes: detecting a touch on the touch-sensitive surface. In response to detecting the touch on the touch-sensitive surface, determining whether the device is currently playing media; based on determining that the device is currently playing media: determining whether the location of the touch is within a first area of ​​the touch-sensitive surface or within a second area of ​​the touch-sensitive surface, wherein the first area and the second area do not overlap; based on determining that the location of the touch is within the first area of ​​the touch-sensitive surface, stopping the playback of the media; and based on determining that the location of the touch is within the second area of ​​the touch-sensitive surface, adjusting the volume of the media currently playing; and based on determining that the device is not currently playing media, initiating playback of the media.

[0030] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a touch-sensitive surface, the one or more programs including instructions for performing the following operations: detecting a touch on the touch-sensitive surface; in response to detecting a touch on the touch-sensitive surface, determining whether the device is currently playing media; based on determining that the device is currently playing media: determining whether the location of the touch is within a first area of ​​the touch-sensitive surface or within a second area of ​​the touch-sensitive surface, wherein the first area and the second area do not overlap; based on determining that the location of the touch is within the first area of ​​the touch-sensitive surface, stop playing the media; and based on determining that the location of the touch is within the second area of ​​the touch-sensitive surface, adjust the volume of the media currently being played; and based on determining that the device is not currently playing media, initiate playback of the media.

[0031] According to some embodiments, an electronic device is described. The electronic device includes: a touch-sensitive surface; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, wherein the one or more programs include instructions for performing the following operations: detecting a touch on the touch-sensitive surface; in response to detecting a touch on the touch-sensitive surface, determining whether the device is currently playing media; based on determining that the device is currently playing media: determining whether the location of the touch is within a first area of ​​the touch-sensitive surface or within a second area of ​​the touch-sensitive surface, wherein the first area and the second area do not overlap; based on determining that the location of the touch is within the first area of ​​the touch-sensitive surface, stopping the playback of the media; and based on determining that the location of the touch is within the second area of ​​the touch-sensitive surface, adjusting the volume of the media currently being played; and based on determining that the device is not currently playing media, initiating playback of the media.

[0032] According to some embodiments, an electronic device is described. The electronic device includes: a touch-sensitive surface; a device for detecting a touch on the touch-sensitive surface; a device for determining whether the device is currently playing media in response to detecting a touch on the touch-sensitive surface; a device for performing the following operations: determining whether the location of the touch is within a first area of ​​the touch-sensitive surface or within a second area of ​​the touch-sensitive surface, wherein the first area and the second area do not overlap, based on determining that the location of the touch is within the first area of ​​the touch-sensitive surface, stopping the playback of the media; and based on determining that the location of the touch is within the second area of ​​the touch-sensitive surface, adjusting the volume of the media currently being played; and a device for initiating playback of the media based on determining that the device is not currently playing the media.

[0033] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a touch-sensitive surface, the one or more programs including instructions for performing the following operations: detecting a touch on the touch-sensitive surface; in response to detecting a touch on the touch-sensitive surface, determining whether the device is currently playing media; based on determining that the device is currently playing media: determining whether the location of the touch is within a first area of ​​the touch-sensitive surface or within a second area of ​​the touch-sensitive surface, wherein the first area and the second area do not overlap; based on determining that the location of the touch is within the first area of ​​the touch-sensitive surface, stopping the playback of the media; and based on determining that the location of the touch is within the second area of ​​the touch-sensitive surface, adjusting the volume of the media currently being played; and based on determining that the device is not currently playing media, initiating playback of the media.

[0034] According to some embodiments, a method is performed at a first device. The method includes: receiving a first request for queuing a first media item for playback on a group of devices, wherein the group of devices includes the first device; adding the first media item to the playback queue; receiving a second request for queuing a second media item for playback on the group of devices; adding the second media item to the playback queue; accessing the first media item from a first media streaming service; initiating playback of the first media item on the group of devices; accessing the second media item from a second media streaming service different from the first media streaming service; and initiating playback of the second media item on the group of devices.

[0035] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device, wherein the electronic device is a first device, and the one or more programs include instructions for performing the following operations: receiving a first request for queuing a first media item for playback on a group of devices, wherein the group of devices includes the first device; adding the first media item to the playback queue; receiving a second request for queuing a second media item for playback on the group of devices; adding the second media item to the playback queue; accessing the first media item from a first media streaming service; initiating playback of the first media item on the group of devices; accessing the second media item from a second media streaming service different from the first media streaming service; and initiating playback of the second media item on the group of devices.

[0036] According to some embodiments, an electronic device is described. The electronic device includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, wherein the one or more programs include instructions for performing the following operations: receiving a first request for queuing a first media item for playback on a group of devices, wherein the group of devices includes the electronic device; adding the first media item to a playback queue; receiving a second request for queuing a second media item for playback on the group of devices; adding the second media item to the playback queue; accessing the first media item from a first media streaming service; initiating playback of the first media item on the group of devices; accessing the second media item from a second media streaming service different from the first media streaming service; and initiating playback of the second media item on the group of devices.

[0037] According to some embodiments, an electronic device is described. The electronic device includes: a device for receiving a first request for queuing a first media item for playback on a group of devices, wherein the group of devices includes the electronic device; a device for adding the first media item to a playback queue; a device for receiving a second request for queuing a second media item for playback on the group of devices; a device for adding the second media item to the playback queue; a device for accessing the first media item from a first media streaming service; a device for initiating playback of the first media item on the group of devices; a device for accessing the second media item from a second media streaming service different from the first media streaming service; and a device for initiating playback of the second media item on the group of devices.

[0038] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device, wherein the electronic device is a first device, and the one or more programs include instructions for performing the following operations: receiving a first request for queuing a first media item for playback on a group of devices, wherein the group of devices includes the first device; adding the first media item to the playback queue; receiving a second request for queuing a second media item for playback on the group of devices; adding the second media item to the playback queue; accessing the first media item from a first media streaming service; initiating playback of the first media item on the group of devices; accessing the second media item from a second media streaming service different from the first media streaming service; and initiating playback of the second media item on the group of devices.

[0039] According to some embodiments, a method is performed at a first device. The method includes: receiving a first request from a second device associated with a first user to queue a first media item for playback on a group of devices, wherein the group of devices includes the first device; adding the first media item to a playback queue; receiving a second request from a third device associated with a second user to queue a second media item for playback on the group of devices, wherein the second user is different from the first user; adding the second media item to the playback queue; initiating playback of the first media item on the group of devices; and initiating playback of the second media item on the group of devices.

[0040] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device, wherein the electronic device is a first device, and the one or more programs include instructions for performing the following operations: receiving a first request from a second device associated with a first user to queue a first media item for playback on a group of devices, wherein the group of devices includes the first device; adding the first media item to a playback queue; receiving a second request from a third device associated with a second user to queue a second media item for playback on the group of devices, wherein the second user is different from the first user; adding the second media item to the playback queue; initiating playback of the first media item on the group of devices; and initiating playback of the second media item on the group of devices.

[0041] According to some embodiments, an electronic device is described. The electronic device includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: receiving a first request from a second device associated with a first user to queue a first media item for playback on a group of devices, wherein the group of devices includes the electronic device; adding the first media item to a playback queue; receiving a second request from a third device associated with a second user to queue a second media item for playback on the group of devices, wherein the second user is different from the first user; adding the second media item to the playback queue; initiating playback of the first media item on the group of devices; and initiating playback of the second media item on the group of devices.

[0042] According to some embodiments, an electronic device is described. The electronic device includes: a device for receiving a first request for queuing a first media item for playback on a group of devices from a second device associated with a first user, wherein the group of devices includes the electronic device; a device for adding the first media item to a playback queue; a device for receiving a second request for queuing a second media item for playback on the group of devices from a third device associated with a second user, wherein the second user is different from the first user; a device for adding the second media item to the playback queue; a device for initiating playback of the first media item on the group of devices; and a device for initiating playback of the second media item on the group of devices.

[0043] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device, wherein the electronic device is a first device, and the one or more programs include instructions for performing the following operations: receiving a first request from a second device associated with a first user to queue a first media item for playback on a group of devices, wherein the group of devices includes the first device; adding the first media item to a playback queue; receiving a second request from a third device associated with a second user to queue a second media item for playback on the group of devices, wherein the second user is different from the first user; adding the second media item to the playback queue; initiating playback of the first media item on the group of devices; and initiating playback of the second media item on the group of devices.

[0044] According to some embodiments, a method is performed at a first device having a display. The method includes: detecting an audio tone signal indicating a pairing handshake with a second device, wherein the first device is connected to the second device via a communication link, and wherein the audio tone signal is out-of-band for the communication link; initiating a configuration process for configuring the second device on the first device based on detecting the audio tone signal; during the configuration process, displaying a configuration user interface on the display including a prompt for selecting a location; receiving a user input selection of a location; and in response to receiving the user input, configuring the second device to be associated with the location.

[0045] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device with a display, wherein the electronic device is a first device, and the one or more programs include instructions for performing the following operations: detecting an audio tone signal indicating a pairing handshake with a second device, wherein the first device is connected to the second device via a communication link, and wherein the audio tone signal is out-of-band for the communication link; initiating a configuration process for configuring the second device on the first device based on detecting the audio tone signal; during the configuration process, displaying a configuration user interface including a prompt for selecting a location on the display; receiving a user input selection of a location; and in response to receiving the user input, configuring the second device to be associated with the location.

[0046] According to some embodiments, an electronic device is described. The electronic device includes: a display; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: detecting an audio tone signal indicating a pairing handshake with a second device, wherein the electronic device is connected to the second device via a communication link, and wherein the audio tone signal is out-of-band for the communication link; initiating a configuration process for configuring the second device on the electronic device based on detecting the audio tone signal; during the configuration process, displaying a configuration user interface including a prompt for selecting a location on the display; receiving a user input selection of a location; and in response to receiving the user input, configuring the second device to be associated with the location.

[0047] According to some embodiments, an electronic device is described. The electronic device includes: a display; a device for detecting an audio tone signal indicating a pairing handshake with a second device, wherein the electronic device is connected to the second device via a communication link, and wherein the audio tone signal is out-of-band for the communication link; a device for initiating a configuration process for configuring the second device on the electronic device based on detecting the audio tone signal; a device for displaying a configuration user interface including a prompt for selecting a location on the display during the configuration process; a device for receiving a user input selection of a location; and a device for configuring the second device to be associated with the location in response to receiving the user input.

[0048] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device with a display, wherein the electronic device is a first device, and the one or more programs include instructions for performing the following operations: detecting an audio tone signal indicating a pairing handshake with a second device, wherein the first device is connected to the second device via a communication link, and wherein the audio tone signal is out-of-band for the communication link; initiating a configuration process for configuring the second device on the first device based on detecting the audio tone signal; during the configuration process, displaying a configuration user interface including a prompt for selecting a location on the display; receiving a user input selection of a location; and in response to receiving the user input, configuring the second device to be associated with the location.

[0049] According to some embodiments, a method is performed at a device. The method includes: detecting a user input voice command from a voice command source while outputting an audible signal from the device; determining a spatial position of the voice command source relative to the device in response to detecting the user input voice command; and adjusting the output of the audible signal based on the spatial position of the voice command source while continuing to output the audible signal.

[0050] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs including instructions for performing the following operations: detecting a user-input voice command from a voice command source while outputting an audible signal from the device; determining a spatial position of the voice command source relative to the device in response to detecting the user-input voice command; and adjusting the output of the audible signal based on the spatial position of the voice command source while continuing to output the audible signal.

[0051] According to some embodiments, an electronic device is described. The electronic device includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, wherein the one or more programs include instructions for performing the following operations: when outputting an audible signal from the device, detecting a user input voice command from a voice command source; in response to detecting the user input voice command, determining the spatial position of the voice command source relative to the device; and when continuing to output the audible signal, adjusting the output of the audible signal based on the spatial position of the voice command source.

[0052] According to some embodiments, an electronic device is described. The electronic device includes: a device for detecting a user-input voice command from a voice command source when an audible signal is output from the device; a device for determining a spatial position of the voice command source relative to the device in response to detecting the user-input voice command; and a device for adjusting the output of the audible signal based on the spatial position of the voice command source while continuing to output the audible signal.

[0053] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs including instructions for performing the following operations: detecting a user-input voice command from a voice command source while outputting an audible signal from the device; determining a spatial position of the voice command source relative to the device in response to detecting the user-input voice command; and adjusting the output of the audible signal based on the spatial position of the voice command source while continuing to output the audible signal.

[0054] According to some embodiments, a method is performed at a first device associated with a first user account. The method includes: detecting that a second device associated with a second user account is connected to the first device, wherein the first user account is associated with a first media preference profile; wherein the second user account is associated with a second media preference profile different from the first media preference profile; and initiating playback of media based on the first media preference profile and the second media preference profile.

[0055] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device, wherein the electronic device is a first device associated with a first user account, wherein the first user account is associated with a first media preference profile, and the one or more programs include instructions for performing the following operations: detecting that a second device associated with a second user account is connected to the first device, wherein the second user account is associated with a second media preference profile different from the first media preference profile; and initiating playback of media based on the first media preference profile and the second media preference profile.

[0056] According to some embodiments, an electronic device is described. The electronic device includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: detecting that a second device associated with a second user account is connected to the electronic device, wherein the electronic device is associated with a first user account, wherein the first user account is associated with a first media preference profile: wherein the second user account is associated with a second media preference profile different from the first media preference profile; and initiating playback of media based on the first media preference profile and the second media preference profile.

[0057] According to some embodiments, an electronic device is described. The electronic device includes: a device for detecting that a second device associated with a second user account is connected to the electronic device, wherein the electronic device is associated with a first user account, wherein the first user account is associated with a first media preference profile; wherein the second user account is associated with a second media preference profile different from the first media preference profile; and a device for initiating playback of media based on the first media preference profile and the second media preference profile.

[0058] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device, wherein the electronic device is a first device associated with a first user account, wherein the first user account is associated with a first media preference profile, and the one or more programs include instructions for performing the following operations: detecting that a second device associated with a second user account is connected to the first device, wherein the second user account is associated with a second media preference profile different from the first media preference profile; and initiating playback of media based on the first media preference profile and the second media preference profile.

[0059] According to some embodiments, a method is performed at a first device. The method includes: receiving a request from a third device to initiate media playback on at least one device in a group of devices, wherein the group of devices includes a first device and a second device, wherein the third device is not a member of the group of devices, and wherein the third device is connected to the first device; in response to receiving the request: initiating media playback on the group of devices based on determining that the third device has permission to initiate media playback on at least one device in the group of devices; and in response to determining that the third device does not have permission to initiate media playback on at least one device in the group of devices: transmitting a request for permission to a second device; and in response to receiving the permission from the second device, initiating media playback on at least one device in the group of devices.

[0060] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device, wherein the electronic device is a first device, and the one or more programs include instructions for performing the following operations: receiving a request from a third device to initiate media playback on at least one device in a group of devices, wherein the group of devices includes a first device and a second device, wherein the third device is not a member of the group of devices, and wherein the third device is connected to the first device; in response to receiving the request: initiating media playback on the group of devices based on determining that the third device has a license to initiate media playback on at least one device in the group of devices; and initiating media playback on the group of devices based on determining that the third device does not have a license to initiate media playback on at least one device in the group of devices: transmitting a request for a license to the second device; and in response to receiving a license from the second device, initiating media playback on at least one device in the group of devices.

[0061] According to some embodiments, an electronic device is described. The electronic device includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, wherein the one or more programs include instructions for performing the following operations: receiving a request from a third device to initiate media playback on at least one device in a group of devices, wherein the group of devices includes the electronic device and a second device, wherein the third device is not a member of the group of devices, and wherein the third device is connected to the electronic device; in response to receiving the request: initiating media playback on the group of devices based on determining that the third device has permission to initiate media playback on at least one device in the group of devices; and initiating media playback on the at least one device in the group of devices based on determining that the third device does not have permission to initiate media playback on at least one device in the group of devices: transmitting a request for permission to the second device; and in response to receiving permission from the second device, initiating media playback on at least one device in the group of devices.

[0062] According to some embodiments, an electronic device is described. The electronic device includes: a device for receiving a request from a third device for initiating media playback on at least one device in a group of devices, wherein the group of devices includes the electronic device and a second device, wherein the third device is not a member of the group of devices, and wherein the third device is connected to the electronic device; a device for performing the following operations: in response to receiving the request: initiating media playback on the group of devices based on determining that the third device has permission to initiate media playback on at least one device in the group of devices; and in response to determining that the third device does not have permission to initiate media playback on at least one device in the group of devices: transmitting a request for permission to the second device; and in response to receiving the permission from the second device, initiating media playback on at least one device in the group of devices.

[0063] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device, wherein the electronic device is a first device, and the one or more programs include instructions for performing the following operations: receiving a request from a third device to initiate media playback on at least one device in a group of devices, wherein the group of devices includes a first device and a second device, wherein the third device is not a member of the group of devices, and wherein the third device is connected to the first device; in response to receiving the request: initiating media playback on the group of devices based on determining that the third device has a license to initiate media playback on at least one device in the group of devices; and initiating media playback on the at least one device in the group of devices based on determining that the third device does not have a license to initiate media playback on at least one device in the group of devices: transmitting a request for a license to the second device; and in response to receiving a license from the second device, initiating media playback on the at least one device in the group of devices.

[0064] According to some embodiments, a method is performed at a first device associated with a user account. The method includes: receiving user input representing a request for accessing data from the user account; in response to receiving the user input, determining whether the physical location of the first device and a second device associated with the user account satisfies a licensing condition; based on determining that the physical location satisfies the licensing condition, providing the data from the user account through the first device; and based on determining that the physical location does not satisfy the licensing condition, abandoning providing the data from the user account through the first device.

[0065] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device, wherein the electronic device is a first electronic device associated with a user account, and the one or more programs include instructions for performing the following operations: receiving a user input representing a request for accessing data from the user account; in response to receiving the user input, determining whether the physical location of the electronic device and a second device associated with the user account satisfies a licensing condition; based on determining that the physical location satisfies the licensing condition, providing the data from the user account through the electronic device; and based on determining that the physical location does not satisfy the licensing condition, abandoning providing the data from the user account through the electronic device.

[0066] According to some embodiments, an electronic device is described. The electronic device includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, wherein the one or more programs include instructions for performing the following operations: receiving a user input representing a request for accessing data from a user account, wherein the electronic device is associated with the user account; in response to receiving the user input, determining whether the physical location of the electronic device and a second device associated with the user account satisfies a licensing condition; based on determining that the physical location satisfies the licensing condition, providing the data from the user account through the electronic device; and based on determining that the physical location does not satisfy the licensing condition, abandoning providing the data from the user account through the electronic device.

[0067] According to some embodiments, an electronic device is described. The electronic device includes: a device for receiving user input representing a request for accessing data from a user account, wherein the electronic device is associated with the user account; a device for determining whether the physical location of the electronic device and a second device associated with the user account satisfies a licensing condition in response to receiving the user input; a device for providing the data from the user account through the electronic device based on determining that the physical location satisfies the licensing condition; and a device for abandoning providing the data from the user account through the electronic device based on determining that the physical location does not satisfy the licensing condition.

[0068] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device, wherein the electronic device is a first electronic device associated with a user account, and the one or more programs include instructions for performing the following operations: receiving a user input representing a request for accessing data from the user account; in response to receiving the user input, determining whether the physical location of the electronic device and a second device associated with the user account satisfies a licensing condition; based on determining that the physical location satisfies the licensing condition, providing the data from the user account through the electronic device; and based on determining that the physical location does not satisfy the licensing condition, abandoning providing the data from the user account through the electronic device.

[0069] According to some embodiments, a method is performed at a first device. The method includes: receiving a command for initiating playback of media on a group of devices including a first device and a second device; in response to receiving the command, initiating synchronized playback of the media on the group of devices, wherein the second device is designated as a master device configured to coordinate playback of the media on the group of devices, and wherein the first device is configured as a designated successor to the master device.

[0070] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device, wherein the electronic device is a first device, and the one or more programs include instructions for performing the following operations: receiving a command for initiating playback of media on a group of devices including a first device and a second device; in response to receiving the command, initiating synchronized playback of the media on the group of devices, wherein the second device is designated as a master device configured to coordinate playback of the media on the group of devices, and wherein the first device is configured as a designated successor to the master device.

[0071] According to some embodiments, an electronic device is described. The electronic device includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: receiving a command for initiating playback of media on a group of devices including the electronic device and a second device; in response to receiving the command, initiating synchronized playback of the media on the group of devices, wherein the second device is designated as a master device configured to coordinate playback of the media on the group of devices, and wherein the electronic device is configured as a designated successor to the master device.

[0072] According to some embodiments, an electronic device is described. The electronic device includes: means for receiving a command for initiating playback of media on a group of devices including the electronic device and a second device; means for initiating synchronized playback of media on the group of devices in response to receiving the command, wherein the second device is designated as a master device configured to coordinate playback of media on the group of devices, and wherein the electronic device is configured as a designated successor to the master device.

[0073] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device, wherein the electronic device is a first device, and the one or more programs include instructions for performing the following operations: receiving a command for initiating playback of media on a group of devices including a first device and a second device; in response to receiving the command, initiating synchronized playback of the media on the group of devices, wherein the second device is designated as a master device configured to coordinate playback of the media on the group of devices, and wherein the first device is configured as a designated successor to the master device.

[0074] According to some embodiments, a method is performed at a first device associated with a first user account in a group of devices. The method includes: receiving an audible output trigger event; determining that a first user associated with the first user account is within an audible output range of a device in the group of devices; outputting an audible output based on determining that the first user is within the audible output range of the first device and based on the occurrence of the audible output trigger event; and abandoning outputting the audible output based on determining that the first user is within the audible output range of a second device and based on the occurrence of the audible output trigger event.

[0075] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device, wherein the electronic device is a first device in a group of devices associated with a first user account, and the one or more programs include instructions for performing the following operations: receiving an audible output trigger event; determining that a first user associated with the first user account is within an audible output range of a device in the group of devices; outputting an audible output based on determining that the first user is within the audible output range of the first device and based on the occurrence of the audible output trigger event; and abandoning outputting the audible output based on determining that the first user is within the audible output range of a second device and based on the occurrence of the audible output trigger event.

[0076] According to some embodiments, an electronic device is described. The electronic device includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, wherein the one or more programs include instructions for performing the following operations: receiving an audible output trigger event; determining that a first user associated with a first user account is within an audible output range of a device associated with the first user account in a group of devices, wherein the electronic device is the first device in the group of devices; outputting an audible output based on determining that the first user is within the audible output range of the first device and based on the occurrence of the audible output trigger event; and abandoning outputting an audible output based on determining that the first user is within the audible output range of a second device and based on the occurrence of the audible output trigger event.

[0077] According to some embodiments, an electronic device is described. The electronic device includes: a device for receiving an audible output trigger event; a device for determining that a first user associated with a first user account is within an audible output range of a device associated with the first user account in a group of devices, wherein the electronic device is the first device in the group of devices; a device for outputting an audible output based on determining that the first user is within the audible output range of the first device and based on the occurrence of the audible output trigger event; and a device for abandoning outputting an audible output based on determining that the first user is within the audible output range of a second device and based on the occurrence of the audible output trigger event.

[0078] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device, wherein the electronic device is a first device in a group of devices associated with a first user account, and the one or more programs include instructions for performing the following operations: receiving an audible output trigger event; determining that a first user associated with the first user account is within an audible output range of a device in the group of devices; outputting an audible output based on determining that the first user is within the audible output range of the first device and based on the occurrence of the audible output trigger event; and abandoning outputting the audible output based on determining that the first user is within the audible output range of a second device and based on the occurrence of the audible output trigger event.

[0079] According to some embodiments, a method is performed at a first device. The method includes: receiving a user input voice command representing a request for outputting a signal representing media currently being played back by a second device connected to the first device; in response to receiving the user input, transmitting a request for information about the media currently being played back by the second device; receiving information about the media currently being played back by the second device; and initiating output of at least one component of the signal representing the media currently being played back by the second device based on receiving the information about the media currently being played back by the second device and when the second device continues playback of at least one component of the media.

[0080] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device, wherein the electronic device is a first device, and the one or more programs include instructions for performing the following operations: receiving a user input voice command representing a request for outputting a signal representing the media currently being played back by a second device connected to the first device; in response to receiving the user input, transmitting a request for information about the media currently being played back by the second device; receiving information about the media currently being played back by the second device; and initiating output of at least one component of the signal representing the media currently being played back by the second device based on receiving the information about the media currently being played back by the second device and when the playback of at least one component of the media is continued at the second device.

[0081] According to some embodiments, an electronic device is described. The electronic device includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, wherein the one or more programs include instructions for performing the following operations: receiving a user input voice command representing a request for outputting a signal representing the media currently being played back by a second device connected to the electronic device; in response to receiving the user input, transmitting a request for information about the media currently being played back by the second device; receiving information about the media currently being played back by the second device; and initiating output of at least one component of the signal representing the media currently being played back by the second device based on receiving the information about the media currently being played back by the second device and when the playback of at least one component of the media is continued on the second device.

[0082] According to some embodiments, an electronic device is described. The electronic device includes: a device for receiving a user input voice command representing a request for outputting a signal representing the media currently being played back by a second device connected to the electronic device; a device for transmitting a request for information about the media currently being played back by the second device in response to receiving the user input; a device for receiving information about the media currently being played back by the second device; and a device for performing the following operations: initiating output of at least one component of the signal representing the media currently being played back by the second device based on receiving the information about the media currently being played back by the second device and when the second device continues playback of at least one component of the media.

[0083] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device, wherein the electronic device is a first device, and the one or more programs include instructions for performing the following operations: receiving a user input voice command representing a request for outputting a signal representing the media currently being played back by a second device connected to the first device; in response to receiving the user input, transmitting a request for information about the media currently being played back by the second device; receiving information about the media currently being played back by the second device; and initiating output of at least one component of the signal representing the media currently being played back by the second device based on receiving the information about the media currently being played back by the second device and when the second device continues playback of at least one component of the media.

[0084] According to some embodiments, a method is performed at a first device. The method includes: receiving a request for initiating media playback on a group of devices that does not include a first device; in response to receiving the request and while the first device is coordinating media playback, determining whether the group of devices includes a device configured to coordinate media playback; based on determining that the group of devices includes the device configured to coordinate media playback, transferring a media playback coordination task from the first device to the device configured to coordinate media playback; and based on determining that the group of devices does not include the device configured to coordinate media playback, abandoning the transfer of the media playback coordination task.

[0085] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device, wherein the electronic device is a first device, and the one or more programs include instructions for performing the following operations: receiving a request for initiating media playback on a group of devices that does not include the first device; in response to receiving the request and when the first device is coordinating media playback, determining whether the group of devices includes a device configured to coordinate media playback; based on determining that the group of devices includes a device configured to coordinate media playback, transmitting a media playback coordination task from the first device to the device configured to coordinate media playback; and based on determining that the group of devices does not include a device configured to coordinate media playback, abandoning the transmission of the media playback coordination task.

[0086] According to some embodiments, an electronic device is described. The electronic device includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, wherein the one or more programs include instructions for performing the following operations: receiving a request for initiating media playback on a group of devices that does not include the electronic device; in response to receiving the request and while the electronic device is coordinating media playback, determining whether the group of devices includes a device configured to coordinate media playback; based on determining that the group of devices includes a device configured to coordinate media playback, transmitting a media playback coordination task from the electronic device to the device configured to coordinate media playback; and based on determining that the group of devices does not include a device configured to coordinate media playback, abandoning the transmission of the media playback coordination task.

[0087] According to some embodiments, an electronic device is described. The electronic device includes: a device for receiving a request for initiating media playback on a group of devices that does not include the electronic device; a device for determining whether the group of devices includes a device configured to coordinate media playback in response to receiving the request and when the electronic device is coordinating media playback; a device for transmitting a media playback coordination task from the electronic device to the device configured to coordinate media playback based on determining that the group of devices includes the device configured to coordinate media playback; and a device for abandoning the transmission of the media playback coordination task based on determining that the group of devices does not include the device configured to coordinate media playback.

[0088] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device, wherein the electronic device is a first device, and the one or more programs include instructions for performing the following operations: receiving a request for initiating media playback on a group of devices that does not include the first device; in response to receiving the request and when the first device is coordinating media playback, determining whether the group of devices includes a device configured to coordinate media playback; based on determining that the group of devices includes a device configured to coordinate media playback, transmitting a media playback coordination task from the first device to the device configured to coordinate media playback; and based on determining that the group of devices does not include a device configured to coordinate media playback, abandoning the transmission of the media playback coordination task.

[0089] According to some embodiments, a method is performed at a device. The method includes: receiving a request to initiate media playback on a group of devices connected to the device; in response to receiving the request and while the device is coordinating media playback, determining one or more device characteristics for each of a plurality of devices configured to coordinate media playback and connected to the group of devices; selecting a master device from the plurality of devices configured to coordinate media playback based at least in part on the one or more characteristics of each of the plurality of devices configured to coordinate media playback; and transmitting a media playback coordination task from the device to the master device configured to coordinate media playback.

[0090] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs including instructions for performing the following operations: receiving a request for initiating media playback on a group of devices connected to the device; in response to receiving the request and while the device is coordinating media playback, determining one or more device characteristics for each of a plurality of devices configured to coordinate media playback and connected to the group of devices; selecting a master device from the plurality of devices configured to coordinate media playback based at least in part on the one or more characteristics of each of the plurality of devices configured to coordinate media playback; and transmitting a media playback coordination task from the device to the master device configured to coordinate media playback.

[0091] According to some embodiments, an electronic device is described. The electronic device includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: receiving a request for initiating media playback on a group of devices connected to the device; in response to receiving the request and while the device is coordinating media playback, determining one or more device characteristics for each of a plurality of devices configured to coordinate media playback and connected to the group of devices; selecting a master device from the plurality of devices configured to coordinate media playback based at least in part on the one or more characteristics of each of the plurality of devices configured to coordinate media playback; and transmitting a media playback coordination task from the device to the master device configured to coordinate media playback.

[0092] According to some embodiments, an electronic device is described. The electronic device includes: a device for receiving a request for initiating media playback on a group of devices connected to the device; a device for determining one or more device characteristics for each of a plurality of devices configured to coordinate media playback and connected to the group of devices in response to receiving the request and while the device is coordinating media playback; a device for selecting a master device from the plurality of devices configured to coordinate media playback based at least in part on the one or more characteristics of each of the plurality of devices configured to coordinate media playback; and a device for transmitting a media playback coordination task from the device to the master device configured to coordinate media playback.

[0093] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device, the one or more programs including instructions for performing the following operations: receiving a request for initiating media playback on a group of devices connected to the device; in response to receiving the request and while the device is coordinating media playback, determining one or more device characteristics for each of a plurality of devices configured to coordinate media playback and connected to the group of devices; selecting a master device from the plurality of devices configured to coordinate media playback based at least in part on the one or more characteristics of each of the plurality of devices configured to coordinate media playback; and transmitting a media playback coordination task from the device to the master device configured to coordinate media playback.

[0094] According to some embodiments, a method is performed at a first device having a display. The method includes: establishing a communication link with a second device; subsequent to establishing the communication link with the second device, initiating a configuration process for configuring the second device; during the configuration process: displaying a configuration user interface including a prompt for selecting a location on the display; receiving a user input selection of a location; and in response to receiving the user input, configuring the second device to be associated with the location; detecting an audio tone signal indicating a pairing handshake with the second device, wherein the audio tone signal is out-of-band for the communication link; and based on detecting the audio tone signal, proceeding to the next step in the configuration process for configuring the second device.

[0095] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device with a display, wherein the electronic device is a first device, and the one or more programs include instructions for performing the following operations: establishing a communication link with a second device; after establishing a communication link with the second device, initiating a configuration process for configuring the second device; during the configuration process: displaying a configuration user interface including a prompt for selecting a location on the display; receiving a user input selection for a location; and in response to receiving the user input, configuring the second device to be associated with the location; detecting an audio tone signal indicating a pairing handshake with the second device, wherein the audio tone signal is out-of-band for the communication link; and proceeding to the next step in the configuration process for configuring the second device based on detecting the audio tone signal.

[0096] According to some embodiments, an electronic device is described. The electronic device includes: a display; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the following operations: establishing a communication link with a second device; subsequent to establishing the communication link with the second device, initiating a configuration process for configuring the second device; during the configuration process: displaying a configuration user interface including a prompt for selecting a location on the display; receiving a user input selection for a location; and in response to receiving the user input, configuring the second device to be associated with the location; detecting an audio tone signal indicating a pairing handshake with the second device, wherein the audio tone signal is out-of-band for the communication link; and proceeding to the next step in the configuration process for configuring the second device based on detecting the audio tone signal.

[0097] According to some embodiments, an electronic device is described. The electronic device includes: a display; a device for establishing a communication link with a second device; a device for initiating a configuration process for configuring the second device after the communication link with the second device is established; during the configuration process: a device for displaying a configuration user interface including a prompt for selecting a location on the display; a device for receiving a user input selection of a location; and a device for configuring the second device to be associated with the location in response to receiving the user input; a device for detecting an audio tone signal indicating a pairing handshake with the second device, wherein the audio tone signal is out-of-band for the communication link; and a device for proceeding to the next step in the configuration process for configuring the second device based on detecting the audio tone signal.

[0098] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device with a display, the one or more programs including instructions for performing the following operations: establishing a communication link with a second device; subsequent to establishing the communication link with the second device, initiating a configuration process for configuring the second device; during the configuration process: displaying a configuration user interface including a prompt for selecting a location on the display; receiving a user input selection for a location; and in response to receiving the user input, configuring the second device to be associated with the location; detecting an audio tone signal indicating a pairing handshake with the second device, wherein the audio tone signal is out-of-band for the communication link; and proceeding to the next step in the configuration process for configuring the second device based on detecting the audio tone signal.

[0099] Executable instructions for performing these functions are optionally included in a non-transitory computer-readable storage medium or other computer program product configured for execution by one or more processors. Executable instructions for performing these functions are optionally included in a transient computer-readable storage medium or other computer program product configured for execution by one or more processors.

[0100] Thus, a faster, more efficient method and interface is provided for devices to manage media playback devices, thereby increasing the effectiveness, efficiency, and user satisfaction of such devices. Such methods and interfaces may supplement or replace other methods for managing media playback devices. BRIEF DESCRIPTION OF THE DRAWINGS

[0101] For a better understanding of the various described embodiments, reference should be made to the following detailed description taken in conjunction with the following drawings, wherein like reference numerals designate corresponding parts throughout the several views.

[0102] Figure 1Ais a block diagram showing a portable multifunction device with a touch-sensitive display according to some embodiments.

[0103] Figure 1B is a block diagram illustrating example components for event processing according to some embodiments.

[0104] Figure 2 A portable multifunction device with a touch screen according to some embodiments is shown.

[0105] Figure 3 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface according to some embodiments.

[0106] Figure 4A An exemplary user interface for a menu of applications on a portable multifunction device is shown according to some embodiments.

[0107] Figure 4B An exemplary user interface is shown for a multifunction device having a touch-sensitive surface that is separate from the display according to some embodiments.

[0108] Figure 5A A personal electronic device according to some embodiments is shown.

[0109] Figure 5B is a block diagram illustrating a personal electronic device according to some embodiments.

[0110] Figure 5C-5D Example components of a personal electronic device with a touch-sensitive display and an intensity sensor are shown according to some embodiments.

[0111] Figure 5E-Figure 5H Exemplary components and user interfaces of a personal electronic device according to some embodiments are shown.

[0112] Fig.5I An electronic device according to some embodiments is shown.

[0113] Figure 5J is a block diagram illustrating an electronic device according to some embodiments.

[0114] Figure 6A-6AR Exemplary techniques and user interfaces for playing back media according to some embodiments are shown.

[0115] Figure 7A-7D is a flowchart illustrating a process for playing back media according to some embodiments.

[0116] Figure 8A-Figure 8P Exemplary techniques and user interfaces for playing back media according to some embodiments are shown.

[0117] Figure 9A-9C is a flowchart illustrating a process for playing back media according to some embodiments.

[0118] Figures 10A-10O Exemplary techniques and user interfaces according to some embodiments are shown.

[0119] Figures 11A-11D is a flowchart illustrating a process for displaying content according to some embodiments.

[0120] Figure 12A-12AM Exemplary techniques and user interfaces for viewing media information according to some embodiments are shown.

[0121] Figures 13A-13F is a flowchart illustrating a process for viewing media information according to some embodiments.

[0122] Figures 14A-14T Exemplary techniques and user interfaces for controlling electronic devices according to some embodiments are shown.

[0123] Figure 15A-Figure 15C is a flowchart illustrating a process for controlling an electronic device according to some embodiments.

[0124] Figure 16A-Figure 16P Exemplary techniques and user interfaces for managing a playback queue are shown according to some embodiments.

[0125] Figure 17A-17C is a flowchart illustrating a process for managing a playback queue according to some embodiments.

[0126] Figures 18A-18C is a flowchart illustrating a process for managing a playback queue according to some embodiments.

[0127] Figures 19A-19AL Exemplary techniques and user interfaces for configuring electronic devices according to some embodiments are shown.

[0128] Figure 20A-20C is a flowchart illustrating a process for configuring an electronic device according to some embodiments.

[0129] Figure 21A-Figure 21I Exemplary techniques and user interfaces for adjusting the audible output of an electronic device are shown according to some embodiments.

[0130] Figure 22A-22B is a flowchart illustrating a process for adjusting the audible output of an electronic device according to some embodiments.

[0131] Figure 23A-23KExemplary techniques and user interfaces for managing a playback queue are shown according to some embodiments.

[0132] Figure 24A-24B is a flowchart illustrating a process for managing a playback queue according to some embodiments.

[0133] Figure 25A-Figure 25I Exemplary techniques and user interfaces for playing back media according to some embodiments are shown.

[0134] Figure 26A-26B is a flowchart illustrating a process for playing back media according to some embodiments.

[0135] Figure 27A-Figure 27E Exemplary techniques and user interfaces for providing access to an electronic device according to some embodiments are shown.

[0136] Figure 28A-28C is a flowchart illustrating a process for providing access to an electronic device according to some embodiments.

[0137] Figure 29A-29I Described are exemplary techniques and user interfaces for managing media playback according to some embodiments.

[0138] Figure 30A-Figure 30C is a flowchart illustrating a process for managing media playback according to some embodiments.

[0139] Figure 31A-Figure 31N Exemplary techniques and user interfaces for providing output according to some embodiments are shown.

[0140] Figure 32A-Figure 32C is a flow chart illustrating a process for providing output according to some embodiments.

[0141] Figure 33A-33G Depicted are exemplary techniques and user interfaces for controlling media playback according to some embodiments.

[0142] Figure 34A-Figure 34B is a flowchart illustrating a process for controlling media playback according to some embodiments.

[0143] Figure 35A-35J Described are exemplary techniques and user interfaces for managing media playback according to some embodiments.

[0144] Figure 36A-Figure 36C is a flowchart illustrating a process for managing media playback according to some embodiments.

[0145] Figure 37A-Figure 37DDepicted are exemplary techniques and user interfaces for controlling media playback according to some embodiments.

[0146] Figure 38A-Figure 38B is a flowchart illustrating a process for managing media playback according to some embodiments.

[0147] Figure 39A-Figure 39C is a flowchart illustrating a process for configuring an electronic device according to some embodiments. DETAILED DESCRIPTION

[0148] The following description sets forth exemplary methods, parameters, etc. However, it should be appreciated that such description is not intended to limit the scope of the present disclosure, but is provided as a description of exemplary embodiments.

[0149] Electronic devices need to provide efficient methods and interfaces for managing media playback devices. For example, methods and techniques for transferring playback between devices are described below. Such techniques can reduce the cognitive burden on users accessing event notifications, thereby increasing productivity. In addition, such techniques can reduce processor power and battery power that would otherwise be wasted on redundant user input.

[0150] under Figure 1A-1B , Figure 2 , Figure 3 , Figure 4A-4B and Figure 5A-5H A description of an exemplary device for performing techniques for management event notifications is provided. Figure 6A-6AR Exemplary techniques and user interfaces for playing back media according to some embodiments are shown. Figure 7A-7D is a flowchart illustrating a process for playing back media according to some embodiments. Figure 6A-6AR The user interface in is used to illustrate the process described below, including Figure 7A-7D process. Figure 8A-Figure 8P Exemplary techniques and user interfaces for playing back media according to some embodiments are shown. Figure 9A-9C is a flowchart illustrating a process for playing back media according to some embodiments. Figure 8A-Figure 8P The user interface in is used to illustrate the process described below, including Figure 9A-9C process. Figures 10A-10O Exemplary techniques and user interfaces according to some embodiments are shown. Figures 11A-11D is a flowchart illustrating a process for displaying content according to some embodiments. Figures 10A-10O The user interface in is used to illustrate the process described below, including Figures 11A-11D process. Figure 12A-12AM Exemplary techniques and user interfaces for viewing media information according to some embodiments are shown. Figures 13A-13Fis a flowchart illustrating a process for viewing media information according to some embodiments. Figure 12A-12AM The user interface in is used to illustrate the process described below, including Figures 13A-13F process. Figures 14A-14T Exemplary techniques and user interfaces for controlling electronic devices according to some embodiments are shown. Figure 15A-Figure 15C is a flowchart illustrating a process for controlling an electronic device according to some embodiments. Figures 14A-14T The user interface in is used to illustrate the process described below, including Figure 15A-Figure 15C process. Figure 16A-Figure 16P Exemplary techniques and user interfaces for managing a playback queue are shown according to some embodiments. Figure 17A-17C is a flowchart illustrating a process for managing a playback queue according to some embodiments. Figures 18A-18C is a flowchart illustrating a process for managing a playback queue according to some embodiments. Figure 16A-Figure 16P The user interface in is used to illustrate the process described below, including Figure 17A-17C and Figures 18A-18C process. Figures 19A-19AL Exemplary techniques and user interfaces for configuring electronic devices according to some embodiments are shown. Figure 20A-20C is a flowchart illustrating a process for configuring an electronic device according to some embodiments. Figures 19A-19AL The user interface in is used to illustrate the process described below, including Figure 20A-20C process. Figure 21A-Figure 21I Exemplary techniques and user interfaces for adjusting the audible output of an electronic device are shown according to some embodiments. Figure 22A-22B is a flowchart illustrating a process for adjusting the audible output of an electronic device according to some embodiments. Figure 21A-Figure 21I The user interface in is used to illustrate the process described below, including Figure 22A-22B process. Figure 23A-23K Exemplary techniques and user interfaces for managing a playback queue are shown according to some embodiments. Figure 24A-24B is a flowchart illustrating a process for managing a playback queue according to some embodiments. Figure 23A-23K The user interface in is used to illustrate the process described below, including Figure 24A-24B process. Figure 25A-Figure 25I Exemplary techniques and user interfaces for playing back media according to some embodiments are shown. Figure 26A-26B is a flowchart illustrating a process for playing back media according to some embodiments. Figure 25A-Figure 25I The user interface in is used to illustrate the process described below, including Figure 26A-26B process. Figure 27A-Figure 27EExemplary techniques and user interfaces for providing access to an electronic device according to some embodiments are shown. Figure 28A-28C is a flowchart illustrating a process for providing access to an electronic device according to some embodiments. Figure 27A-Figure 27E The user interface in is used to illustrate the process described below, including Figure 28A-28C process. Figure 29A-29I Described are exemplary techniques and user interfaces for managing media playback according to some embodiments. Figure 30A-Figure 30C is a flowchart illustrating a process for managing media playback according to some embodiments. Figure 29A-29I The user interface in is used to illustrate the process described below, including Figure 30A-Figure 30C process. Figure 31A-Figure 31N Exemplary techniques and user interfaces for providing output according to some embodiments are shown. Figure 32A-Figure 32C is a flow chart illustrating a process for providing output according to some embodiments. Figure 31A-Figure 31N The user interface in is used to illustrate the process described below, including Figure 32A-Figure 32C process. Figure 33A-33G Depicted are exemplary techniques and user interfaces for controlling media playback according to some embodiments. Figure 34A-Figure 34B is a flowchart illustrating a process for controlling media playback according to some embodiments. Figure 33A-33G The user interface in is used to illustrate the process described below, including Figure 34A-Figure 34B process. Figure 35A-35J Described are exemplary techniques and user interfaces for managing media playback according to some embodiments. Figure 36A-Figure 36C is a flowchart illustrating a process for managing media playback according to some embodiments. Figure 35A-35J The user interface in is used to illustrate the process described below, including Figure 36A-Figure 36C process. Figure 37A-Figure 37D Described are exemplary techniques and user interfaces for managing media playback according to some embodiments. Figure 38A-Figure 38B is a flowchart illustrating a process for managing media playback according to some embodiments. Figure 37A-Figure 37D The user interface in is used to illustrate the process described below, including Figure 38A-Figure 38B process.

[0151] Although the following description uses the terms first, second, etc. to describe various elements, these elements should not be limited by the terms. These terms are only used to distinguish one element from another element. For example, the first touch can be named as the second touch and similarly the second touch can be named as the first touch without departing from the scope of the various embodiments. Both the first touch and the second touch are touches, but they are not the same touch.

[0152] The terms used in the description of various described embodiments in this article are only for the purpose of describing specific embodiments, and are not intended to be limited. As used in the description of various described embodiments and in the appended claims, the singular forms "one" and "the" are intended to also include plural forms, unless the context clearly indicates otherwise. It should also be understood that the term "and / or" used herein refers to and encompasses any and all possible combinations of one or more items in the items listed in association. It will also be understood that the term "includes" "including" "comprises" and / or "comprising" specifies the presence of stated features, integers, steps, operations, elements, and / or parts when used in this specification, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, parts, and / or its grouping.

[0153] The term "if" is optionally interpreted to mean "when," "upon," or "in response to determining," or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined that ..." or "if [a stated condition or event] is detected" are optionally interpreted to mean "upon determining that ..." or "in response to determining that ..." or "upon detecting [a stated condition or event]," or "in response to detecting [a stated condition or event]," depending on the context.

[0154] Embodiments of electronic devices, user interfaces for such devices, and associated processes for using such devices are described herein. In some embodiments, the device is a portable communication device, such as a mobile phone, that also includes other functions, such as a PDA and / or a music player function. Exemplary embodiments of portable multifunction devices include, but are not limited to, the Apple iPod from Apple Inc. (Cupertino, California). Devices, iPod Equipment, and Device. Other portable electronic devices, such as laptops or tablet computers with touch-sensitive surfaces (e.g., touch screen displays and / or touch pads) are optionally used. It should also be understood that in some embodiments, the device is not a portable communication device, but a desktop computer with a touch-sensitive surface (e.g., touch screen displays and / or touch pads).

[0155] In the following discussion, an electronic device including a display and a touch-sensitive surface is described. However, it should be understood that the electronic device optionally includes one or more other physical user interface devices, such as a physical keyboard, mouse and / or joystick.

[0156] The device typically supports a variety of applications, such as one or more of the following: a drawing application, a presentation application, a word processing application, a website creation application, a disk editing application, a spreadsheet application, a gaming application, a telephony application, a video conferencing application, an email application, an instant messaging application, a fitness support application, a photo management application, a digital camera application, a digital video camera application, a web browsing application, a digital music player application, and / or a digital video player application.

[0157] Various applications executed on the device optionally use at least one common physical user interface device, such as a touch-sensitive surface. One or more functions of the touch-sensitive surface and corresponding information displayed on the device are optionally adjusted and / or varied for different applications, and / or adjusted and / or varied within the respective applications. In this way, the common physical architecture of the device (such as a touch-sensitive surface) optionally supports a variety of applications with a user interface that is intuitive and clear to the user.

[0158] Attention is now turned to embodiments of portable devices having touch-sensitive displays. Figure 1A is a block diagram showing a portable multifunction device 100 with a touch-sensitive display system 112 according to some embodiments. The touch-sensitive display 112 is sometimes referred to as a "touch screen" for convenience, and is sometimes referred to as or referred to as a "touch-sensitive display system." The device 100 includes a memory 102 (which optionally includes one or more computer-readable storage media), a memory controller 122, one or more processing units (CPUs) 120, a peripheral device interface 118, an RF circuit 108, an audio circuit 110, a speaker 111, a microphone 113, an input / output (I / O) subsystem 106, other input control devices 116, and an external port 124. The device 100 optionally includes one or more optical sensors 164. The device 100 optionally includes one or more contact force sensors 165, which are used to detect the intensity of contact on the device 100 (e.g., a touch-sensitive surface such as the touch-sensitive display system 112 of the device 100). Device 100 optionally includes one or more tactile output generators 167 for generating tactile outputs on device 100 (e.g., on a touch-sensitive surface such as touch-sensitive display system 112 of device 100 or touch pad 355 of device 300). These components optionally communicate via one or more communication buses or signal lines 103.

[0159] As used in this specification and claims, the term "intensity" of a contact on a touch-sensitive surface refers to the force or pressure (force per unit area) of a contact (e.g., a finger contact) on the touch-sensitive surface, or to a surrogate (surrogate) of the force or pressure of a contact on the touch-sensitive surface. The intensity of a contact has a range of values ​​that includes at least four different values ​​and more typically includes hundreds of different values ​​(e.g., at least 256). The intensity of a contact is optionally determined (or measured) using various methods and various sensors or combinations of sensors. For example, one or more force sensors below or adjacent to the touch-sensitive surface are optionally used to measure the force at different points on the touch-sensitive surface. In some implementations, force measurements from multiple force sensors are combined (e.g., a weighted average) to determine an estimated contact force. Similarly, the pressure-sensitive tip of a stylus is optionally used to determine the pressure of the stylus on the touch-sensitive surface. Alternatively, the size of the contact area detected on the touch-sensitive surface and / or its change, the capacitance of the touch-sensitive surface adjacent to the contact and / or its change, and / or the resistance of the touch-sensitive surface adjacent to the contact and / or its change are optionally used as a substitute for the force or pressure of the contact on the touch-sensitive surface. In some embodiments, the substitute measurement of the contact force or pressure is used directly to determine whether an intensity threshold has been exceeded (e.g., the intensity threshold is described in units corresponding to the substitute measurement). In some embodiments, the substitute measurement of the contact force or pressure is converted into an estimated force or pressure, and the estimated force or pressure is used to determine whether an intensity threshold has been exceeded (e.g., the intensity threshold is a pressure threshold measured in units of pressure). Using the intensity of the contact as an attribute of the user input allows the user to access additional device functionality that the user may not otherwise be able to access on a smaller device with limited real estate for displaying an indication (e.g., on a touch-sensitive display) and / or receiving user input (e.g., via a touch-sensitive display, touch-sensitive surface, or physical / mechanical controls, such as knobs or buttons).

[0160] As used in this specification and claims, the term "tactile output" refers to a physical displacement of a device relative to a previous position of the device, a physical displacement of a component of the device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., a housing), or a displacement of a component relative to the center of mass of the device, which will be detected by a user using the user's sense of touch. For example, in the case where a device or a component of the device is in contact with a user's touch-sensitive surface (e.g., a finger, palm, or other part of the user's hand), the tactile output generated by the physical displacement will be interpreted by the user as a tactile sensation that corresponds to a perceived change in a physical characteristic of the device or component of the device. For example, movement of a touch-sensitive surface (e.g., a touch-sensitive display or trackpad) is optionally interpreted by the user as a "press click" or "release click" to a physical actuation button. In some cases, the user will feel a tactile sensation, such as a "press click" or "release click", even when the physical actuation button associated with the touch-sensitive surface that is physically pressed (e.g., displaced) by the user's movement does not move. As another example, movement of a touch-sensitive surface may optionally be interpreted or sensed by a user as "roughness" of the touch-sensitive surface even when there is no change in the smoothness of the touch-sensitive surface. While such interpretation of touch by a user will be limited by the user's individualized sensory perceptions, there are many sensory perceptions of touch that are common to most users. Thus, when tactile outputs are described as corresponding to a particular sensory perception of a user (e.g., "release click," "press click," "roughness"), unless otherwise stated, the tactile outputs generated correspond to physical displacements of the device or a component thereof that would generate the described sensory perceptions for a typical (or average) user.

[0161] It should be understood that device 100 is only one example of a portable multifunction device, and that device 100 optionally has more or fewer components than shown, optionally combines two or more components, or optionally has a different configuration or arrangement of the components. Figure 1A The various components shown in the drawings are implemented in hardware, software, or a combination of hardware and software, including one or more signal processing circuits and / or application specific integrated circuits.

[0162] Memory 102 optionally includes high-speed random access memory, and optionally also includes non-volatile memory, such as one or more disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Memory controller 122 optionally controls other components of device 100 to access memory 102.

[0163] The peripheral device interface 118 can be used to couple the input peripheral devices and output peripheral devices of the device to the CPU 120 and the memory 102. The one or more processors 120 run or execute various software programs and / or instruction sets stored in the memory 102 to perform various functions of the device 100 and process data. In some embodiments, the peripheral device interface 118, the CPU 120, and the memory controller 122 are optionally implemented on a single chip such as the chip 104. In some other embodiments, they are optionally implemented on separate chips.

[0164] RF (radio frequency) circuit 108 receives and transmits RF signals, also called electromagnetic signals. RF circuit 108 converts electrical signals into / converts electromagnetic signals into electrical signals, and communicates with a communication network and other communication devices via electromagnetic signals. RF circuit 108 optionally includes well-known circuits for performing these functions, including but not limited to an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a codec chipset, a user identity module (SIM) card, a memory, and the like. RF circuit 108 optionally communicates with a network and other devices through wireless communication, such as the Internet (also known as the World Wide Web (WWW)), an intranet, and / or a wireless network (such as a cellular telephone network, a wireless local area network (LAN), and / or a metropolitan area network (MAN)). RF circuit 108 optionally includes well-known circuits for detecting a near field communication (NFC) field, such as through a short-range communication radio component. Wireless communication optionally uses any of a variety of communication standards, protocols, and technologies, including, but not limited to, Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), High Speed ​​Downlink Packet Access (HSDPA), High Speed ​​Uplink Packet Access (HSUPA), Evolution, Data-Only (EV-DO), HSPA, HSPA+, Dual Cell HSPA (DC-HSPDA), Long Term Evolution (LTE), Near Field Communication (NFC), Wideband Code Division Multiple Access (W-CDMA), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Bluetooth, Bluetooth Low Energy (BTLE), Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.11d), IEEE 802.11e, IEEE 802.11f, IEEE 802.11g, IEEE 802.11g). 802.11n and / or IEEE 802.11ac), Voice over Internet Protocol (VoIP), Wi-MAX, email protocols (e.g., Internet Message Access Protocol (IMAP) and / or Post Office Protocol (POP)), instant messaging (e.g., Extensible Messaging and Presence Protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Utilizing Extensions (SIMPLE), Instant Messaging and Presence Service (IMPS)), and / or Short Message Service (SMS), or any other suitable communication protocol including communication protocols that have not been developed as of the filing date of this document.

[0165] The audio circuit 110, the speaker 111, and the microphone 113 provide an audio interface between the user and the device 100. The audio circuit 110 receives audio data from the peripheral device interface 118, converts the audio data into electrical signals, and transmits the electrical signals to the speaker 111. The speaker 111 converts the electrical signals into sound waves audible to humans. The audio circuit 110 also receives electrical signals converted from sound waves by the microphone 113. The audio circuit 110 converts the electrical signals into audio data and transmits the audio data to the peripheral device interface 118 for processing. The audio data is optionally retrieved from and / or transmitted to the memory 102 and / or the RF circuit 108 by the peripheral device interface 118. In some embodiments, the audio circuit 110 also includes a headphone jack (e.g., Figure 2 The headset jack provides an interface between the audio circuit 110 and a removable audio input / output peripheral device, such as an output-only headset or a headset with both output (e.g., a single-ear headset or a dual-ear headset) and input (e.g., a microphone).

[0166] The I / O subsystem 106 couples input / output peripherals on the device 100, such as a touch screen 112 and other input control devices 116, to a peripheral device interface 118. The I / O subsystem 106 optionally includes a display controller 156, an optical sensor controller 158, an intensity sensor controller 159, a tactile feedback controller 161, and one or more input controllers 160 for other input or control devices. The one or more input controllers 160 receive / send electrical signals from other input control devices 116. Other input control devices 116 optionally include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slide switches, joysticks, click wheels, etc. In some alternative embodiments, the input controller 160 is optionally coupled to any (or none) of the following: a keyboard, an infrared port, a USB port, and a pointer device such as a mouse. The one or more buttons (e.g., Figure 2 208) optionally includes an up / down button for volume control of the speaker 111 and / or the microphone 113. The one or more buttons optionally include a push button (e.g., Figure 2 206).

[0167] A quick press of the push button optionally unlocks the touch screen 112 or optionally begins the process of unlocking the device using gestures on the touch screen, as described in U.S. Patent Application 11 / 322,549, filed on December 23, 2005, entitled "Unlocking a Device by Performing Gestures on an Unlock Image" (i.e., U.S. Patent No. 7,657,849), which is hereby incorporated by reference in its entirety. A long press of the push button (e.g., 206) optionally turns the device 100 on or off. The functions of one or more buttons are optionally user-customizable. The touch screen 112 is used to implement virtual buttons or soft buttons and one or more soft keyboards.

[0168] The touch-sensitive display 112 provides an input interface and an output interface between the device and the user. The display controller 156 receives electrical signals from the touch screen 112 and / or sends electrical signals to the touch screen. The touch screen 112 displays visual output to the user. The visual output optionally includes graphics, text, icons, videos, and any combination thereof (collectively referred to as "graphics"). In some embodiments, some or all of the visual output optionally corresponds to user interface objects.

[0169] The touch screen 112 has a touch-sensitive surface, sensor, or set of sensors that accepts input from a user based on tactile and / or haptic contact. The touch screen 112 and display controller 156 (together with any associated modules and / or instruction sets in memory 102) detect contact (and any movement or interruption of the contact) on the touch screen 112 and convert the detected contact into interaction with a user interface object (e.g., one or more soft keys, icons, web pages, or images) displayed on the touch screen 112. In an exemplary embodiment, the point of contact between the touch screen 112 and the user corresponds to a finger of the user.

[0170] The touch screen 112 optionally uses LCD (liquid crystal display) technology, LPD (light emitting polymer display) technology, or LED (light emitting diode) technology, although other display technologies are used in other embodiments. The touch screen 112 and display controller 156 optionally use any of a variety of touch sensing technologies now known or later developed, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with the touch screen 112 to detect contact and any movement or interruption thereof. In an exemplary embodiment, projected mutual capacitance sensing technology is used, such as that used in the Apple Inc. (Cupertino, California) and iPod Technology found in.

[0171] The touch-sensitive display in some embodiments of the touch screen 112 is optionally similar to the multi-touch-sensitive trackpad described in the following U.S. Patents: 6,323,846 (Westerman et al.), 6,570,557 (Westerman et al.), and / or 6,677,932 (Westerman et al.), and / or U.S. Patent Publication 2002 / 0015024A1, each of which is hereby incorporated by reference in its entirety. However, the touch screen 112 displays visual output from the device 100, while the touch-sensitive trackpad does not provide visual output.

[0172] In some embodiments, the touch-sensitive display of the touch screen 112 is described in the following applications: (1) U.S. patent application No. 11 / 381,313, entitled “Multipoint Touch Surface Controller,” filed on May 2, 2006; (2) U.S. patent application 10 / 840,862, entitled “Multipoint Touchscreen,” filed on May 6, 2004; (3) U.S. patent application 10 / 903,964, entitled “Gestures For Touch Sensitive Input Devices,” filed on July 30, 2004; (4) U.S. patent application No. 11 / 048,264, entitled “Gestures For Touch Sensitive Input Devices,” filed on January 31, 2005; (5) U.S. patent application No. 11 / 086,874, entitled “Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices,” filed on January 18, 2005 and (9) U.S. patent application Ser. No. 11 / 367,749, filed on March 3, 2006, entitled “Multi-Functional Hand-Held Device.” All of these patent applications are hereby incorporated by reference in their entirety.

[0173] The touch screen 112 optionally has a video resolution of more than 100 dpi. In some embodiments, the touch screen has a video resolution of about 160 dpi. The user optionally uses any suitable object or appendage such as a stylus, finger, etc. to contact the touch screen 112. In some embodiments, the user interface is designed to work primarily with finger-based contacts and gestures, which may not be as precise as stylus-based input due to the larger contact area of ​​the finger on the touch screen. In some embodiments, the device translates the rough finger-based input into a precise pointer / cursor position or command for performing the action desired by the user.

[0174] In some embodiments, in addition to the touch screen, the device 100 optionally includes a touchpad (not shown) for activating or deactivating specific functions. In some embodiments, the touchpad is a touch-sensitive area of ​​the device that, unlike the touch screen, does not display visual output. The touchpad is optionally a touch-sensitive surface separate from the touch screen 112, or an extension of the touch-sensitive surface formed by the touch screen.

[0175] The device 100 also includes a power system 162 for powering the various components. The power system 162 optionally includes a power management system, one or more power sources (e.g., batteries, alternating current (AC)), a recharging system, a power fault detection circuit, a power converter or inverter, a power status indicator (e.g., a light emitting diode (LED)), and any other components associated with the generation, management, and distribution of power in a portable device.

[0176] Device 100 optionally also includes one or more optical sensors 164 . Figure 1AAn optical sensor coupled to an optical sensor controller 158 in the I / O subsystem 106 is shown. The optical sensor 164 optionally includes a charge coupled device (CCD) or a complementary metal oxide semiconductor (CMOS) phototransistor. The optical sensor 164 receives light projected through one or more lenses from the environment and converts the light into data representing an image. In conjunction with the imaging module 143 (also called a camera module), the optical sensor 164 optionally captures a static image or video. In some embodiments, the optical sensor is located on the rear of the device 100, opposite to the touch screen display 112 on the front of the device, so that the touch screen display can be used as a viewfinder for static image and / or video image acquisition. In some embodiments, the optical sensor is located on the front of the device so that the user's image is optionally obtained while the user is viewing other video conference participants on the touch screen display for video conferencing. In some embodiments, the position of the optical sensor 164 can be changed by the user (e.g., by rotating the lens and sensor in the device housing) so that a single optical sensor 164 is used with the touch screen display for both video conferencing and static image and / or video image acquisition.

[0177] Device 100 optionally also includes one or more contact intensity sensors 165 . Figure 1A A contact force sensor is shown coupled to a force sensor controller 159 in the I / O subsystem 106. Contact force sensor 165 optionally includes one or more piezoresistive strain gauges, capacitive force sensors, electrical force sensors, piezoelectric force sensors, optical force sensors, capacitive touch-sensitive surfaces, or other force sensors (e.g., sensors for measuring the force (or pressure) of contact on a touch-sensitive surface). Contact force sensor 165 receives contact force information (e.g., pressure information or a surrogate for pressure information) from the environment. In some embodiments, at least one contact force sensor is juxtaposed or adjacent to a touch-sensitive surface (e.g., touch-sensitive display system 112). In some embodiments, at least one contact force sensor is located on the back of device 100, opposite to touch screen display 112 located on the front of device 100.

[0178] Device 100 optionally also includes one or more proximity sensors 166 . Figure 1AA proximity sensor 166 is shown coupled to the peripherals interface 118. Alternatively, the proximity sensor 166 is optionally coupled to the input controller 160 in the I / O subsystem 106. The proximity sensor 166 is optionally implemented as described in the following U.S. patent applications: 11 / 241,839, entitled "Proximity Detector In Handheld Device"; No. 11 / 240,788, entitled "Proximity Detector In Handheld Device"; No. 11 / 620,702, entitled "Using Ambient Light Sensor To Augment Proximity Sensor Output"; No. 11 / 586,862, entitled "Automated Response To And Sensing Of User Activity In Portable Devices"; and No. 11 / 638,251, entitled "Methods And Systems For Automatic Configuration Of Peripherals", which are hereby incorporated by reference in their entirety. In some embodiments, when the multifunction device is placed near the user's ear (e.g., when the user is on a phone call), the proximity sensor turns off and disables the touch screen 112.

[0179] Device 100 optionally also includes one or more tactile output generators 167 . Figure 1AA tactile output generator is shown coupled to a tactile feedback controller 161 in the I / O subsystem 106. The tactile output generator 167 optionally includes one or more electroacoustic devices such as a speaker or other audio component, and / or an electromechanical device that converts energy into linear motion such as a motor, solenoid, electroactive polymer, piezoelectric actuator, electrostatic actuator, or other tactile output generating component (e.g., a component for converting an electrical signal into a tactile output on the device). The contact force sensor 165 receives tactile feedback generation instructions from the tactile feedback module 133 and generates a tactile output on the device 100 that can be felt by a user of the device 100. In some embodiments, at least one tactile output generator is arranged in parallel or adjacent to a touch-sensitive surface (e.g., touch-sensitive display system 112) and optionally generates tactile output by moving the touch-sensitive surface vertically (e.g., inward / outward of the surface of the device 100) or laterally (e.g., backward and forward in the same plane as the surface of the device 100). In some embodiments, at least one tactile output generator sensor is located on the back of the device 100, opposite the touch screen display 112 located on the front of the device 100.

[0180] Device 100 optionally also includes one or more accelerometers 168 . Figure 1A An accelerometer 168 is shown coupled to the peripheral device interface 118. Alternatively, the accelerometer 168 is optionally coupled to the input controller 160 in the I / O subsystem 106. The accelerometer 168 optionally implements as described in the following U.S. Patent Publication: U.S. Patent Publication 20050190059, entitled "Acceleration-based Theft Detection System for Portable Electronic Devices" and U.S. Patent Publication 20060017692, entitled "Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer", both of which are incorporated herein by reference in their entirety. In some embodiments, information is displayed in a portrait view or a landscape view on the touch screen display based on analysis of data received from one or more accelerometers. Device 100 optionally includes a magnetometer (not shown) and a GPS (or GLONASS or other global navigation system) receiver (not shown) in addition to accelerometer 168 for obtaining information about the position and orientation (e.g., portrait or landscape) of device 100.

[0181] In some embodiments, the software components stored in memory 102 include an operating system 126, a communication module (or instruction set) 128, a contact / motion module (or instruction set) 130, a graphics module (or instruction set) 132, a text input module (or instruction set) 134, a global positioning system (GPS) module (or instruction set) 135, and an application (or instruction set) 136. In addition, in some embodiments, memory 102 ( Figure 1A ) or 370( Figure 3 ) storage device / global internal state 157, such as Figure 1A and Figure 3 . The device / global internal state 157 includes one or more of the following: an active application state, which indicates which applications (if any) are currently active; a display state, which indicates what applications, views, or other information occupy various areas of the touch screen display 112; a sensor state, including information obtained from the device's various sensors and input control devices 116; and position information about the device's position and / or posture.

[0182] The operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, iOS, WINDOWS, or an embedded operating system such as VxWorks) includes various software components and / or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.), and facilitating communication between various hardware components and software components.

[0183] The communication module 128 facilitates communication with other devices through one or more external ports 124, and also includes various software components for processing data received by the RF circuit 108 and / or the external port 124. The external port 124 (e.g., Universal Serial Bus (USB), FireWire, etc.) is suitable for coupling directly to other devices, or indirectly through a network (e.g., the Internet, wireless LAN, etc.). In some embodiments, the external port is connected to (trademark of Apple Inc.) devices.

[0184] The contact / motion module 130 optionally detects contact with the touch screen 112 (in conjunction with the display controller 156) and other touch-sensitive devices (e.g., a touchpad or physical click wheel). The contact / motion module 130 includes various software components for performing various operations related to the detection of contact, such as determining whether contact has occurred (e.g., detecting a finger press event), determining the strength of the contact (e.g., the force or pressure of the contact, or a substitute for the force or pressure of the contact), determining whether there is movement of the contact and tracking the movement on the touch-sensitive surface (e.g., detecting one or more finger drag events), and determining whether the contact has stopped (e.g., detecting a finger lift event or contact disconnection). The contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of the contact point optionally includes determining the rate (magnitude), velocity (magnitude and direction) and / or acceleration (change in magnitude and / or direction) of the contact point, and the movement of the contact point is represented by a series of contact data. These operations are optionally applied to a single point of contact (e.g., a single finger contact) or multiple points of simultaneous contact (e.g., "multi-touch" / multiple finger contacts). In some embodiments, the contact / motion module 130 and display controller 156 detect contact on the touch pad.

[0185] In some embodiments, the contact / motion module 130 uses a set of one or more intensity thresholds to determine whether an action has been performed by a user (e.g., to determine whether a user has "clicked" an icon). In some embodiments, at least a subset of the intensity thresholds are determined based on software parameters (e.g., the intensity thresholds are not determined by the activation threshold of a particular physical actuator and can be adjusted without changing the physical hardware of the device 100). For example, without changing the touchpad or touchscreen display hardware, the mouse "click" threshold of a touchpad or touchscreen display can be set to any one of a large range of predefined thresholds. In addition, in some specific implementations, a software setting is provided to the user of the device for adjusting one or more intensity thresholds in a set of intensity thresholds (e.g., by adjusting individual intensity thresholds and / or by utilizing a system-level click on an "intensity" parameter to adjust multiple intensity thresholds at once).

[0186] The contact / motion module 130 optionally detects gesture input by the user. Different gestures on the touch-sensitive surface have different contact patterns (e.g., different motions, timings, and / or intensities of the detected contacts). Therefore, gestures are optionally detected by detecting specific contact patterns. For example, detecting a finger tap gesture includes detecting a finger press event, and then detecting a finger lift (lift-off) event at the same location (or substantially the same location) as the finger press event (e.g., at the location of an icon). As another example, detecting a finger swipe gesture on the touch-sensitive surface includes detecting a finger press event, then detecting one or more finger drag events, and then detecting a finger lift (lift-off) event.

[0187] The graphics module 132 includes various known software components for rendering and displaying graphics on the touch screen 112 or other display, including components for changing the visual impact (e.g., brightness, transparency, saturation, contrast, or other visual attributes) of the displayed graphics. As used herein, the term "graphics" includes any object that can be displayed to a user, including, but not limited to, text, web pages, icons (such as user interface objects including soft keys), digital images, videos, animations, etc.

[0188] In some embodiments, the graphics module 132 stores data representing graphics to be used. Each graphic is optionally assigned a corresponding code. The graphics module 132 receives one or more codes for specifying the graphics to be displayed from an application program, etc., and also receives coordinate data and other graphic attribute data together if necessary, and then generates screen image data to be output to the display controller 156.

[0189] Haptic feedback module 133 includes various software components for generating instructions used by tactile output generator 167 to produce tactile output at one or more locations on device 100 in response to user interaction with device 100 .

[0190] Text input module 134, which is optionally a component of graphics module 132, provides a soft keyboard for entering text in various applications (e.g., contacts 137, email 140, IM 141, browser 147, and any other application requiring text input).

[0191] The GPS module 135 determines the location of the device and provides this information for use in various applications (e.g., to the phone 138 for use in location-based dialing; to the camera 143 as picture / video metadata; and to applications that provide location-based services, such as the Weather widget, the Local Pages widget, and the Maps / Navigation widget).

[0192] The application 136 optionally includes the following modules (or instruction sets) or a subset or superset thereof:

[0193] Contacts module 137 (sometimes called address book or contact list);

[0194] Telephone module 138;

[0195] Video conferencing module 139;

[0196] Email client module 140;

[0197] Instant messaging (IM) module 141;

[0198] Fitness support module 142;

[0199] A camera module 143 for still images and / or video images;

[0200] Image management module 144;

[0201] Video player module;

[0202] Music player module;

[0203] Browser module 147;

[0204] Calendar module 148;

[0205] A widget module 149, which optionally includes one or more of the following: a weather widget 149-1, a stock widget 149-2, a calculator widget 149-3, an alarm widget 149-4, a dictionary widget 149-5, and other widgets obtained by the user, and a user-created widget 149-6;

[0206] A widget creator module 150 for forming a user-created widget 149-6;

[0207] Search module 151;

[0208] Video and music player module 152, which combines the video player module and the music player module;

[0209] Notepad module 153;

[0210] Map module 154; and / or

[0211] Online video module 155.

[0212] Examples of other applications 136 optionally stored in memory 102 include other word processing applications, other image editing applications, drawing applications, rendering applications, JAVA-enabled applications, encryption, digital rights management, voice recognition, and voice replication.

[0213] In conjunction with the touch screen 112, display controller 156, touch / motion module 130, graphics module 132, and text input module 134, the contact module 137 is optionally used to manage an address book or contact list (e.g., stored in the application internal state 192 of the contact module 137 in memory 102 or memory 370), including: adding one or more names to the address book; deleting names from the address book; associating telephone numbers, email addresses, physical addresses, or other information with names; associating images with names; categorizing and classifying names; providing telephone numbers or email addresses to initiate and / or facilitate communications via telephone 138, video conferencing module 139, email 140, or instant messaging 141; and the like.

[0214] In conjunction with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, phone module 138 is optionally used to enter a sequence of characters corresponding to a phone number, access one or more phone numbers in contact module 137, modify an entered phone number, dial a corresponding phone number, conduct a conversation, and disconnect or hang up when the conversation is complete. As described above, wireless communication optionally uses any of a variety of communication standards, protocols, and technologies.

[0215] In combination with RF circuit 108, audio circuit 110, speaker 111, microphone 113, touch screen 112, display controller 156, optical sensor 164, optical sensor controller 158, touch / motion module 130, graphics module 132, text input module 134, contact module 137 and telephone module 138, video conferencing module 139 includes executable instructions for initiating, conducting and terminating a video conference between a user and one or more other participants in accordance with user instructions.

[0216] In conjunction with RF circuit 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, email client module 140 includes executable instructions for creating, sending, receiving, and managing emails in response to user instructions. In conjunction with image management module 144, email client module 140 makes it very easy to create and send emails with still images or video images captured by camera module 143.

[0217] In conjunction with RF circuit 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, instant messaging module 141 includes executable instructions for the following operations: inputting a character sequence corresponding to an instant message, modifying previously input characters, transmitting a corresponding instant message (e.g., using a short message service (SMS) or multimedia message service (MMS) protocol for phone-based instant messaging, or using XMPP, SIMPLE, or IMPS for Internet-based instant messaging), receiving instant messages, and viewing received instant messages. In some embodiments, the transmitted and / or received instant messages optionally include graphics, photos, audio files, video files, and / or other attachments supported in MMS and / or enhanced messaging services (EMS). As used herein, "instant messaging" refers to both phone-based messages (e.g., messages sent using SMS or MMS) and Internet-based messages (e.g., messages sent using XMPP, SIMPLE, or IMPS).

[0218] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, the text input module 134, the GPS module 135, the map module 154 and the music player module, the fitness support module 142 includes executable instructions for creating a fitness (e.g., with time, distance and / or calorie burn goals); communicating with fitness sensors (sports equipment); receiving fitness sensor data; calibrating sensors for monitoring fitness; selecting and playing music for fitness; and displaying, storing and transmitting fitness data.

[0219] In combination with the touch screen 112, the display controller 156, one or more optical sensors 164, the optical sensor controller 158, the contact / motion module 130, the graphics module 132, and the image management module 144, the camera module 143 includes executable instructions for the following operations: capturing still images or videos (including video streams) and storing them in the memory 102, modifying the characteristics of the still images or videos, or deleting the still images or videos from the memory 102.

[0220] In conjunction with touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, and camera module 143, image management module 144 includes executable instructions for arranging, modifying (e.g., editing) or otherwise manipulating, labeling, deleting, presenting (e.g., in a digital slideshow or album), and storing still images and / or video images.

[0221] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the touch / motion module 130, the graphics module 132 and the text input module 134, the browser module 147 includes executable instructions for browsing the Internet (including searching, linking to, receiving and displaying web pages or portions thereof, as well as attachments and other files linked to web pages) in accordance with user instructions.

[0222] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the touch / motion module 130, the graphics module 132, the text input module 134, the email client module 140 and the browser module 147, the calendar module 148 includes executable instructions for creating, displaying, modifying and storing calendars and data associated with the calendar (e.g., calendar entries, to-do items, etc.) in accordance with user instructions.

[0223] In conjunction with the RF circuit 108, the touch screen 112, the display system controller 156, the contact / motion module 130, the graphics module 132, the text input module 134, and the browser module 147, the desktop widget module 149 is a mini-application that is optionally downloaded and used by the user (e.g., the weather desktop widget 149-1, the stock desktop widget 149-2, the calculator desktop widget 149-3, the alarm desktop widget 149-4, and the dictionary desktop widget 149-5) or a mini-application created by the user (e.g., the user-created desktop widget 149-6). In some embodiments, the desktop widget includes an HTML (Hypertext Markup Language) file, a CSS (Cascading Style Sheets) file, and a JavaScript file. In some embodiments, the desktop widget includes an XML (Extensible Markup Language) file and, a JavaScript file (e.g., the Yahoo! desktop widget).

[0224] In combination with the RF circuit 108, touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134 and browser module 147, the desktop widget creator module 150 is optionally used by a user to create a desktop widget (e.g., transferring a user-specified portion of a web page to a desktop widget).

[0225] In combination with the touch screen 112, display controller 156, contact / motion module 130, graphics module 132 and text input module 134, the search module 151 includes executable instructions for searching the memory 102 for text, music, sound, images, videos and / or other files that match one or more search criteria (e.g., one or more user-specified search terms) in accordance with user instructions.

[0226] In conjunction with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, and browser module 147, video and music player module 152 includes executable instructions that allow a user to download and play back recorded music and other sound files stored in one or more file formats (such as MP3 or AAC files), as well as executable instructions for displaying, presenting, or otherwise playing back video (e.g., on touch screen 112 or on an external display connected via external port 124). In some embodiments, device 100 optionally includes the functionality of an MP3 player, such as an iPod (trademark of Apple Inc.).

[0227] In conjunction with the touch screen 112, display controller 156, contact / motion module 130, graphics module 132 and text input module 134, the notepad module 153 includes executable instructions for creating and managing notes, to-do lists, etc. according to user instructions.

[0228] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the touch / motion module 130, the graphics module 132, the text input module 134, the GPS module 135 and the browser module 147, the map module 154 is optionally used to receive, display, modify and store maps and data associated with the maps (e.g., driving directions, data relating to stores and other points of interest at or near a particular location, and other location-based data) in accordance with user instructions.

[0229] In conjunction with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuit 110, speaker 111, RF circuit 108, text input module 134, email client module 140, and browser module 147, online video module 155 includes instructions for performing the following operations: allowing a user to access, browse, receive (e.g., by streaming and / or downloading), playback (e.g., on the touch screen or on an external display connected via external port 124), send an email with a link to a specific online video, and otherwise manage online videos in one or more file formats such as H.264. In some embodiments, instant messaging module 141 is used instead of email client module 140 to send a link to a specific online video. Additional description of online video applications can be found in U.S. Provisional Patent Application No. 60 / 936,562, filed on June 20, 2007, entitled “Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos,” and U.S. Patent Application No. 11 / 968,067, filed on December 31, 2007, entitled “Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos,” the contents of which are hereby incorporated by reference in their entirety.

[0230] Each of the above modules and applications corresponds to a set of executable instructions for performing one or more of the above functions and the methods described in this patent application (e.g., computer-implemented methods and other information processing methods described herein). These modules (e.g., instruction sets) do not have to be implemented as independent software programs, processes, or modules, and therefore various subsets of these modules are optionally combined or otherwise rearranged in various embodiments. For example, a video player module is optionally combined with a music player module into a single module (e.g., Figure 1A In some embodiments, the memory 102 optionally stores a subset of the above modules and data structures. In addition, the memory 102 optionally stores additional modules and data structures not described above.

[0231] In some embodiments, the device 100 is a device where the operation of a predefined set of functions on the device is performed exclusively through a touch screen and / or a touch pad. By using a touch screen and / or a touch pad as the primary input control device for operating the device 100, the number of physical input control devices (e.g., push buttons, dials, etc.) on the device 100 is optionally reduced.

[0232] The set of predefined functions that are performed exclusively through the touch screen and / or touchpad optionally includes navigating between user interfaces. In some embodiments, the touchpad, when touched by the user, navigates the device 100 from any user interface displayed on the device 100 to a main menu, a home menu, or a root menu. In such embodiments, a "menu button" is implemented using a touchpad. In some other embodiments, the menu button is a physical push button or other physical input control device, rather than a touchpad.

[0233] Figure 1B 1 is a block diagram illustrating exemplary components for event processing according to some embodiments. In some embodiments, memory 102 ( Figure 1A ) or memory 370( Figure 3 ) includes an event classifier 170 (e.g., in the operating system 126) and a corresponding application 136-1 (e.g., any one of the aforementioned applications 137 to 151, 155, 380 to 390).

[0234] The event classifier 170 receives event information and determines the application 136-1 and the application view 191 of the application 136-1 to which the event information is to be delivered. The event classifier 170 includes an event monitor 171 and an event distributor module 174. In some embodiments, the application 136-1 includes an application internal state 192, which indicates one or more current application views displayed on the touch-sensitive display 112 when the application is active or executing. In some embodiments, the device / global internal state 157 is used by the event classifier 170 to determine which application(s) is currently active, and the application internal state 192 is used by the event classifier 170 to determine the application view 191 to which the event information is to be delivered.

[0235] In some embodiments, the application internal state 192 includes additional information, such as one or more of the following: resumption information to be used when the application 136-1 resumes execution, user interface state information indicating that information is being displayed by the application 136-1 or is ready to be displayed by the application, a state queue for enabling a user to return to a previous state or view of the application 136-1, and a repeat / undo queue of previous actions taken by the user.

[0236] Event monitor 171 receives event information from peripherals interface 118. The event information includes information about sub-events (e.g., user touches on touch-sensitive display 112 as part of a multi-touch gesture). Peripherals interface 118 transmits information it receives from I / O subsystem 106 or sensors such as proximity sensor 166, accelerometer 168, and / or microphone 113 (through audio circuit 110). The information that peripherals interface 118 receives from I / O subsystem 106 includes information from touch-sensitive display 112 or a touch-sensitive surface.

[0237] In some embodiments, event monitor 171 sends requests to peripheral device interface 118 at predetermined intervals. In response, peripheral device interface 118 transmits event information. In other embodiments, peripheral device interface 118 transmits event information only when there is a significant event (e.g., receiving an input above a predetermined noise threshold and / or receiving an input for more than a predetermined duration).

[0238] In some embodiments, the event classifier 170 also includes a hit view determination module 172 and / or an active event identifier determination module 173.

[0239] When the touch-sensitive display 112 displays more than one view, the hit view determination module 172 provides software procedures for determining where within one or more views a sub-event has occurred. A view consists of controls and other elements that a user can see on the display.

[0240] Another aspect of the user interface associated with an application is a set of views, sometimes referred to herein as application views or user interface windows, in which information is displayed and touch-based gestures occur. The application views (of the respective application) in which a touch is detected optionally correspond to a programmatic level within the programmatic or view hierarchy of the application. For example, the lowest level view in which a touch is detected is optionally referred to as a hit view, and the set of events recognized as correct input is optionally determined at least in part based on the hit view of the initial touch that started the touch-based gesture.

[0241] Hit view determination module 172 receives information related to sub-events of touch-based gestures. When an application has multiple views organized in a hierarchy, hit view determination module 172 identifies the hit view as the lowest view in the hierarchy where the sub-events should be processed. In most cases, the hit view is the lowest level view in which the initiating sub-event (e.g., the first sub-event in a sequence of sub-events that form an event or potential event) occurs. Once a hit view is identified by hit view determination module 172, the hit view typically receives all sub-events related to the same touch or input source for which it was identified as the hit view.

[0242] Active event recognizer determination module 173 determines which view or views within the view hierarchy should receive a particular sequence of sub-events. In some embodiments, active event recognizer determination module 173 determines that only the hit view should receive a particular sequence of sub-events. In other embodiments, active event recognizer determination module 173 determines that all views that include the physical location of the sub-event are actively participating views, and therefore determines that all actively participating views should receive a particular sequence of sub-events. In other embodiments, even if a touch sub-event is completely confined to an area associated with one particular view, views higher in the hierarchy will still remain actively participating views.

[0243] Event distributor module 174 distributes event information to event recognizers (e.g., event recognizers 180). In embodiments including active event recognizer determination module 173, event distributor module 174 delivers the event information to the event recognizers determined by active event recognizer determination module 173. In some embodiments, event distributor module 174 stores the event information in an event queue, which is retrieved by corresponding event receivers 182.

[0244] In some embodiments, operating system 126 includes event classifier 170. Alternatively, application 136-1 includes event classifier 170. In other embodiments, event classifier 170 is a standalone module, or is part of another module (such as contact / motion module 130) stored in memory 102.

[0245] In some embodiments, application 136-1 includes multiple event handlers 190 and one or more application views 191, each of which includes instructions for handling touch events occurring within a corresponding view of the user interface of the application. Each application view 191 of application 136-1 includes one or more event recognizers 180. Typically, the corresponding application view 191 includes multiple event recognizers 180. In other embodiments, one or more event recognizers in event recognizers 180 are part of an independent module, such as a user interface toolkit (not shown) or a higher level object from which application 136-1 inherits methods and other properties. In some embodiments, the corresponding event handler 190 includes one or more of the following: data updater 176, object updater 177, GUI updater 178, and / or event data 179 received from event classifier 170. Event handler 190 optionally utilizes or calls data updater 176, object updater 177, or GUI updater 178 to update application internal state 192. Alternatively, one or more of the application views 191 include one or more corresponding event handlers 190. In addition, in some embodiments, one or more of the data updater 176, the object updater 177, and the GUI updater 178 are included in the corresponding application view 191.

[0246] A corresponding event identifier 180 receives event information (e.g., event data 179) from event classifier 170 and identifies an event from the event information. Event identifier 180 includes an event receiver 182 and an event comparator 184. In some embodiments, event identifier 180 also includes metadata 183 and at least a subset of event delivery instructions 188 (which optionally include sub-event delivery instructions).

[0247] Event receiver 182 receives event information from event classifier 170. The event information includes information about sub-events such as touch or touch movement. Depending on the sub-event, the event information also includes additional information, such as the location of the sub-event. When the sub-event involves the movement of the touch, the event information optionally also includes the speed and direction of the sub-event. In some embodiments, the event includes a rotation of the device from one orientation to another orientation (e.g., from a longitudinal orientation to a transverse orientation, or vice versa), and the event information includes corresponding information about the current orientation of the device (also referred to as the device posture).

[0248] Event comparator 184 compares event information with predefined event or sub-event definitions, and determines an event or sub-event based on the comparison, or determines or updates the state of an event or sub-event. In some embodiments, event comparator 184 includes event definition 186. Event definition 186 includes a definition of an event (e.g., a predefined sequence of sub-events), such as event 1 (187-1), event 2 (187-2), and other events. In some embodiments, sub-events in event (187) include, for example, touch start, touch end, touch move, touch cancel, and multi-touch. In one example, the definition of event 1 (187-1) is a double-click on a displayed object. For example, a double-click includes a first touch (touch start) of a predetermined duration on a displayed object, a first lift-off (touch end) of a predetermined duration, a second touch (touch start) of a predetermined duration on a displayed object, and a second lift-off (touch end) of a predetermined duration. In another example, the definition of event 2 (187-2) is a drag on a displayed object. For example, dragging includes a touch (or contact) of a predetermined duration on a displayed object, movement of the touch on the touch-sensitive display 112, and lifting of the touch (end of touch). In some embodiments, the event also includes information for one or more associated event handlers 190.

[0249] In some embodiments, event definition 187 includes a definition of an event for a corresponding user interface object. In some embodiments, event comparator 184 performs a hit test to determine which user interface object is associated with a sub-event. For example, in an application view that displays three user interface objects on touch display 112, when a touch is detected on touch-sensitive display 112, event comparator 184 performs a hit test to determine which of the three user interface objects is associated with the touch (sub-event). If each displayed object is associated with a corresponding event handler 190, the event comparator uses the result of the hit test to determine which event handler 190 should be activated. For example, event comparator 184 selects an event handler associated with a sub-event and an object that triggers the hit test.

[0250] In some embodiments, the definition of the corresponding event 187 also includes a delay action that delays the delivery of the event information until it has been determined whether the sub-event sequence does or does not correspond to the event type of the event identifier.

[0251] When a corresponding event recognizer 180 determines that a sequence of sub-events does not match any event in event definition 186, the corresponding event recognizer 180 enters an event impossible, event failed, or event ended state, after which subsequent sub-events of the touch-based gesture are ignored. In this case, other event recognizers (if any) that remain active for the hit view continue to track and process sub-events of the ongoing touch-based gesture.

[0252] In some embodiments, the corresponding event recognizers 180 include metadata 183 with configurable properties, flags, and / or lists that indicate how the event delivery system should perform sub-event delivery to actively participating event recognizers. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate how event recognizers interact or can interact with each other. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate whether sub-events are delivered to different levels in a view or programmatic hierarchy.

[0253] In some embodiments, when one or more specific sub-events of an event are identified, the corresponding event recognizer 180 activates an event handler 190 associated with the event. In some embodiments, the corresponding event recognizer 180 delivers event information associated with the event to the event handler 190. Activating the event handler 190 is different from sending (and deferred sending) the sub-events to the corresponding hit view. In some embodiments, the event recognizer 180 throws a flag associated with the identified event, and the event handler 190 associated with the flag receives the flag and performs a predefined process.

[0254] In some embodiments, the event delivery instructions 188 include a sub-event delivery instruction that delivers event information about a sub-event without activating an event handler. Instead, the sub-event delivery instruction delivers the event information to an event handler associated with a sub-event series or to an actively participating view. The event handler associated with the sub-event series or with an actively participating view receives the event information and performs a predetermined process.

[0255] In some embodiments, data updater 176 creates and updates data used in application 136-1. For example, data updater 176 updates phone numbers used in contact module 137 or stores video files used in video player module. In some embodiments, object updater 177 creates and updates objects used in application 136-1. For example, object updater 177 creates new user interface objects or updates the position of user interface objects. GUI updater 178 updates the GUI. For example, GUI updater 178 prepares display information and sends the display information to graphics module 132 for display on a touch-sensitive display.

[0256] In some embodiments, event handler 190 includes or has access to data updater 176, object updater 177, and GUI updater 178. In some embodiments, data updater 176, object updater 177, and GUI updater 178 are included in a single module of the corresponding application 136-1 or application view 191. In other embodiments, they are included in two or more software modules.

[0257] It should be understood that the above discussion of event processing for user touches on a touch-sensitive display also applies to other forms of user input that utilize input devices to operate the multifunction device 100, and not all user input is initiated on the touch screen. For example, mouse movement and mouse button presses, optionally in conjunction with single or multiple keyboard presses or holddowns; contact movement on a touch pad, such as tapping, dragging, scrolling, etc.; stylus input; movement of the device; verbal commands; detected eye movement; biometric input; and / or any combination thereof are optionally used as input corresponding to sub-events defining an event to be recognized.

[0258] Figure 2A portable multifunction device 100 with a touch screen 112 according to some embodiments is shown. The touch screen optionally displays one or more graphics within a user interface (UI) 200. In this embodiment and in other embodiments described below, a user can select one or more of the graphics by, for example, making gestures on the graphics using one or more fingers 202 (not drawn to scale in the accompanying drawings) or using one or more styluses 203 (not drawn to scale in the accompanying drawings). In some embodiments, selection of one or more graphics will occur when the user interrupts contact with the one or more graphics. In some embodiments, gestures optionally include one or more taps, one or more swipes (from left to right, from right to left, up and / or down) and / or rolling of fingers that have been in contact with the device 100 (from right to left, from left to right, up and / or down). In some specific implementations or in some cases, inadvertent contact with a graphic will not select the graphic. For example, when the gesture corresponding to the selection is a tap, a swipe gesture that sweeps over an application icon optionally does not select the corresponding application.

[0259] The device 100 optionally also includes one or more physical buttons, such as a "home" or menu button 204. As previously described, the menu button 204 is optionally used to navigate to any application 136 in a set of applications that are optionally executed on the device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key in a GUI displayed on the touch screen 112.

[0260] In some embodiments, the device 100 includes a touch screen 112, a menu button 204, a push button 206 for turning the device on / off and for locking the device, one or more volume adjustment buttons 208, a user identity module (SIM) card slot 210, an earphone jack 212, and a docking / charging external port 124. The push button 206 is optionally used to turn the device on / off by pressing the button and keeping the button in a pressed state for a predefined time interval; lock the device by pressing the button and releasing the button before the predefined time interval passes; and / or unlock the device or initiate an unlocking process. In an alternative embodiment, the device 100 also accepts speech input for activating or deactivating some functions through a microphone 113. The device 100 also optionally includes one or more contact strength sensors 165 for detecting the strength of contact on the touch screen 112, and / or one or more tactile output generators 167 for generating tactile output for a user of the device 100.

[0261] Figure 3300 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface according to some embodiments. The device 300 does not have to be portable. In some embodiments, the device 300 is a laptop computer, a desktop computer, a tablet computer, a multimedia player device, a navigation device, an educational device (such as a children's learning toy), a game system, or a control device (e.g., a home controller or an industrial controller). The device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, a memory 370, and one or more communication buses 320 for interconnecting these components. The communication bus 320 optionally includes circuits (sometimes called chipsets) that interconnect system components and control communications between system components. The device 300 includes an input / output (I / O) interface 330 with a display 340, which is typically a touch screen display. The I / O interface 330 also optionally includes a keyboard and / or a mouse (or other pointing device) 350 and a touchpad 355, a tactile output generator 357 for generating tactile output on the device 300 (e.g., similar to the above reference). Figure 1A The tactile output generator 167 described above), sensor 359 (e.g., optical sensor, acceleration sensor, proximity sensor, touch sensor and / or contact intensity sensor (similar to the above reference Figure 1A The memory 370 may include a high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid-state memory devices; and may optionally include a non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. The memory 370 may optionally include one or more storage devices located away from the CPU 310. In some embodiments, the memory 370 stores data related to the portable multifunction device 100 ( Figure 1A ) or a subset thereof. In addition, memory 370 optionally stores additional programs, modules, and data structures not present in memory 102 of portable multifunction device 100. For example, memory 370 of device 300 optionally stores a drawing module 380, a presentation module 382, ​​a word processing module 384, a website creation module 386, a disk editing module 388, and / or a spreadsheet module 390, while portable multifunction device 100 ( Figure 1A )'s memory 102 optionally does not store these modules.

[0262] Figure 3Each element in the above-mentioned elements in is optionally stored in one or more memory devices of the previously mentioned memory device.Each module in the above-mentioned identified module corresponds to the instruction set for performing the above-mentioned functions.The above-mentioned modules or programs (e.g., instruction sets) need not be implemented as independent software programs, processes or modules, and therefore the various subsets of these modules are optionally combined or otherwise rearranged in various embodiments.In some embodiments, memory 370 optionally stores the subset of the above-mentioned modules and data structures.In addition, memory 370 optionally stores other modules and data structures not described above.

[0263] Attention is now turned to an embodiment of a user interface that is optionally implemented on, for example, portable multifunction device 100.

[0264] Figure 4A An exemplary user interface for a menu of applications on portable multifunction device 100 is shown according to some embodiments. A similar user interface is optionally implemented on device 300. In some embodiments, user interface 400 includes the following elements, or a subset or superset thereof:

[0265] One or more signal strength indicators 402 of one or more wireless communications (e.g., cellular signals and Wi-Fi signals);

[0266] Time 404;

[0267] Bluetooth indicator 405;

[0268] Battery status indicator 406;

[0269] A tray 408 with common application icons, such as:

[0270] o an icon 416 labeled “Phone” of the phone module 138, the icon 416 optionally including an indicator 414 of the number of missed calls or voice messages;

[0271] o an icon 418 labeled “Mail” of the email client module 140, the icon 418 optionally including an indicator 410 of the number of unread emails;

[0272] o An icon 420 labeled “Browser” of the browser module 147; and

[0273] o an icon 422 labeled “iPod” for a video and music player module 152 (also referred to as an iPod (trademark of Apple Inc.) module 152); and

[0274] Icons of other applications, such as:

[0275] o Icon 424 labeled “Message” of IM module 141;

[0276] o An icon 426 labeled “Calendar” of the calendar module 148;

[0277] o Icon 428 labeled “Photos” of the image management module 144;

[0278] o An icon 430 labeled “Camera” of the camera module 143;

[0279] o Icon 432 labeled “Online Video” of the online video module 155;

[0280] o Icon 434 labeled "Stock Market" of the Stock Market widget 149-2;

[0281] o an icon 436 labeled “MAP” of the map module 154;

[0282] o Icon 438 labeled "Weather" of the Weather widget 149-1;

[0283] o Icon 440 labeled “Clock” of the alarm clock widget 149-4;

[0284] o an icon 442 labeled “Fitness Support” of the fitness support module 142;

[0285] o An icon 444 labeled "Notepad" of the notepad module 153; and

[0286] o An icon 446 labeled “Settings” for a settings application or module that provides access to settings for the device 100 and its various applications 136.

[0287] Please note that Figure 4A The icon labels shown in are exemplary only. For example, icon 422 of video and music player module 152 is labeled "Music" or "Music Player". Other labels are optionally used for various application icons. In some embodiments, the label of a corresponding application icon includes the name of the application corresponding to the corresponding application icon. In some embodiments, the label of a particular application icon is different from the name of the application corresponding to the particular application icon.

[0288] Figure 4B A touch-sensitive surface 451 (eg, touch screen display 112) is shown having a touch-sensitive surface 451 (eg, Figure 3 tablet or touch pad 355) device (e.g., Figure 3Device 300 also optionally includes one or more contact intensity sensors (e.g., one or more of sensors 359) for detecting intensity of contacts on touch-sensitive surface 451 and / or one or more tactile output generators 357 for generating tactile output for a user of device 300.

[0289] Although some of the examples below are given with reference to input on a touch screen display 112 (where a touch-sensitive surface and a display are combined), in some embodiments, the device detects input on a touch-sensitive surface that is separate from the display, such as Figure 4B In some embodiments, the touch-sensitive surface (e.g., Figure 4B 451) has a main axis (e.g., Figure 4B 453) corresponding to the principal axis (for example, Figure 4B According to these embodiments, the device detects a position corresponding to a corresponding position on the display (e.g., Figure 4B 460 corresponds to 468 and 462 corresponds to 470) in contact with touch-sensitive surface 451 (e.g., Figure 4B 460 and 462 in FIG. 4 ). Thus, on a touch-sensitive surface (eg, Figure 4B 451) and the display of a multi-function device ( Figure 4B When the user input detected by the device on the touch-sensitive surface (e.g., contacts 460 and 462 and their movement) is separated, the device is used to manipulate the user interface on the display. It should be understood that similar methods are optionally used for other user interfaces described herein.

[0290] In addition, although the following examples are primarily given with reference to finger inputs (e.g., finger contacts, single-finger tap gestures, finger swipe gestures), it should be understood that in some embodiments, one or more of these finger inputs are replaced by input from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture is optionally replaced by a mouse click (e.g., instead of contact), followed by movement of the cursor along the path of the swipe (e.g., instead of movement of the contact). As another example, a tap gesture is optionally replaced by a mouse click when the cursor is over the location of the tap gesture (e.g., instead of detection of contact, and then ceasing to detect contact). Similarly, when multiple user inputs are detected simultaneously, it should be understood that multiple computer mice are optionally used simultaneously, or a mouse and finger contact are optionally used simultaneously.

[0291] Figure 5AAn exemplary personal electronic device 500 is shown. Device 500 includes a body 502. In some embodiments, device 500 may include a body 502 relative to devices 100 and 300 (e.g., Figure 1A-Figure 4B ) some or all of the features described in the foregoing. In some embodiments, device 500 has a touch-sensitive display screen 504, referred to hereinafter as touch screen 504. Alternatively or in addition to touch screen 504, device 500 also has a display and a touch-sensitive surface. As with devices 100 and 300, in some embodiments, touch screen 504 (or touch-sensitive surface) optionally includes one or more intensity sensors for detecting the intensity of contact (e.g., touch) applied. One or more intensity sensors of touch screen 504 (or touch-sensitive surface) can provide output data representing the intensity of touch. The user interface of device 500 can respond to touch based on its intensity, which means that touches of different intensities can invoke different user interface operations on device 500.

[0292] Exemplary techniques for detecting and processing touch intensity are found, for example, in the following related patent applications: International patent application serial number PCT / US2013 / 040061, entitled “Device, Method, and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application,” filed on May 8, 2013, published as WIPO patent publication number WO / 2013 / 169849; and International patent application serial number PCT / US2013 / 069483, entitled “Device, Method, and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships,” filed on November 11, 2013, published as WIPO patent publication number WO / 2014 / 105276, each of which is hereby incorporated by reference in its entirety.

[0293] In some embodiments, the device 500 has one or more input mechanisms 506 and 508. The input mechanism 506 and the input mechanism 508 (if included) can be physical. Examples of physical input mechanisms include push buttons and rotatable mechanisms. In some embodiments, the device 500 has one or more attachment mechanisms. Such attachment mechanisms (if included) can allow the device 500 to be attached to, for example, hats, glasses, earrings, necklaces, shirts, jackets, bracelets, watchbands, bracelets, pants, belts, shoes, wallets, backpacks, etc. These attachment mechanisms allow the device 500 to be worn by the user.

[0294] Figure 5B An exemplary personal electronic device 500 is shown. In some embodiments, the device 500 may include a Figure 1A , Figure 1B and Figure 3 Some or all of the components described. Device 500 has a bus 512 that operatively couples an I / O portion 514 to one or more computer processors 516 and a memory 518. I / O portion 514 may be connected to a display 504, which may have a touch-sensitive component 522 and optionally a strength sensor 524 (e.g., a contact strength sensor). In addition, I / O portion 514 may be connected to a communication unit 530 for receiving application and operating system data using Wi-Fi, Bluetooth, near field communication (NFC), cellular and / or other wireless communication technologies. Device 500 may include input mechanisms 506 and / or 508. For example, input mechanism 506 is optionally a rotatable input device or a depressible input device and a rotatable input device. In some examples, input mechanism 508 is optionally a button.

[0295] In some examples, input mechanism 508 is optionally a microphone. Personal electronic device 500 optionally includes various sensors, such as GPS sensor 532, accelerometer 534, orientation sensor 540 (e.g., compass), gyroscope 536, motion sensor 538, and / or combinations thereof, all of which can be operatively connected to I / O portion 514.

[0296] The memory 518 of the personal electronic device 500 may include one or more non-transitory computer-readable storage media for storing computer-executable instructions, which when executed by one or more computer processors 516 may cause the computer processors to perform the following techniques, including process 700 (Figure 7), process 900 (Figure 9), process 1100 (Figure 11), process 1300 (Figure 13), process 1500 (Figure 15), process 1700 (Figure 17), process 1800 (Figure 18), process 2000 (Figure 20), process 2200 (Figure 22), process 2400 (Figure 24), process 2600 (Figure 26), process 2800 (Figure 28), process 3000 (Figure 30), process 3200 (Figure 32), process 3400 (Figure 34), process 3600 (Figure 36) and process 3800 (Figure 38). Computer-readable storage media can be any medium that can tangibly contain or store computer-executable instructions for use by or in conjunction with instruction execution systems, devices, and apparatuses. In some examples, the storage medium is a transient computer-readable storage medium. In some examples, the storage medium is a non-transitory computer-readable storage medium. Non-transitory computer-readable storage media may include, but are not limited to, magnetic storage devices, optical storage devices, and / or semiconductor storage devices. Examples of such storage devices include magnetic disks, optical disks based on CD, DVD, or Blu-ray technology, and persistent solid-state memories such as flash memory, solid-state drives, and the like. Personal electronic device 500 is not limited to Figure 5B components and configurations, but may include other components or additional components in a variety of configurations.

[0297] As used herein, the term "indicative representation" refers to an optional feature of the apparatus 100, 300, and / or 500 ( Figure 1A , Figure 3 and Figure 5A-Figure 5B ) is a user-interactive graphical user interface object displayed on a display screen of a computer. For example, an image (e.g., an icon), a button, and text (e.g., a hyperlink) optionally each constitute an affordance.

[0298] As used herein, the term "focus selector" refers to an input element used to indicate the current portion of a user interface that a user is interacting with. In some implementations that include a cursor or other position marker, the cursor acts as a "focus selector" such that when the cursor is over a particular user interface element (e.g., a button, window, slider, or other user interface element), a focus selector is displayed on a touch-sensitive surface (e.g., Figure 3 Touchpad 355 or Figure 4B In the event that an input (e.g., a press input) is detected on the touch-sensitive surface 451 in FIG. 4 , the particular user interface element is adjusted according to the detected input. In the case that a touch screen display (e.g., Figure 1A The touch-sensitive display system 112 or Figure 4A In some implementations of the touch screen 112 in FIG. 1 , a contact detected on the touch screen acts as a “focus selector” such that when an input (e.g., a press input by the contact) is detected at the location of a particular user interface element (e.g., a button, window, slider, or other user interface element) on the touch screen display, the particular user interface element is adjusted in accordance with the detected input. In some implementations, the focus moves from one area of ​​the user interface to another area of ​​the user interface without corresponding movement of a cursor or movement of a contact on the touch screen display (e.g., by using a tab key or arrow keys to move the focus from one button to another); in these implementations, the focus selector moves in accordance with the movement of the focus between different areas of the user interface. Regardless of the specific form the focus selector takes, the focus selector is typically a user interface element (or contact on the touch screen display) that is controlled by the user to deliver the user's intended interaction with the user interface (e.g., by indicating to the device the element of the user interface with which the user desires to interact). For example, when a press input is detected on a touch-sensitive surface (e.g., a trackpad or touchscreen), the position of a focus selector (e.g., a cursor, contact, or selection box) over a corresponding button will indicate that the user intends to activate the corresponding button (rather than other user interface elements shown on the device's display).

[0299] As used in the specification and claims, the term "characteristic intensity" of a contact refers to a characteristic of a contact based on one or more intensities of the contact. In some embodiments, the characteristic intensity is based on multiple intensity samples. The characteristic intensity is optionally based on a predefined number of intensity samples or a set of intensity samples sampled during a predetermined time period (e.g., 0.05 seconds, 0.1 seconds, 0.2 seconds, 0.5 seconds, 1 second, 2 seconds, 5 seconds, 10 seconds) relative to a predefined event (e.g., after contact is detected, before contact is detected to be lifted, before or after contact starts to move, before contact ends, before or after the intensity of the contact is detected to be increased, and / or before or after the intensity of the contact is detected to be reduced). The characteristic intensity of a contact is optionally based on one or more of the following: the maximum value of the intensity of the contact, the mean value of the intensity of the contact, the average value of the intensity of the contact, the value at the top 10% of the intensity of the contact, the half-maximum value of the intensity of the contact, the 90% maximum value of the intensity of the contact, etc. In some embodiments, the duration of the contact is used when determining the characteristic intensity (e.g., when the characteristic intensity is the average value of the intensity of the contact over time). In some embodiments, the feature strength is compared to a set of one or more strength thresholds to determine whether the user has performed an operation. For example, the set of one or more strength thresholds optionally includes a first strength threshold and a second strength threshold. In this example, a contact whose feature strength does not exceed the first threshold results in a first operation, a contact whose feature strength exceeds the first strength threshold but does not exceed the second strength threshold results in a second operation, and a contact whose feature strength exceeds the second threshold results in a third operation. In some embodiments, a comparison between the feature strength and one or more thresholds is used to determine whether to perform one or more operations (e.g., whether to perform the corresponding operation or to abandon the corresponding operation) rather than to determine whether to perform the first operation or the second operation.

[0300] Figure 5C Detecting multiple contacts 552A-552E on touch-sensitive display screen 504 using multiple intensity sensors 524A-524D is shown. Figure 5C Also included is an intensity graph that shows the current intensity measurements of intensity sensors 524A-524D relative to intensity units. In this example, the intensity measurements of intensity sensors 524A and 524D are each 9 intensity units, and the intensity measurements of intensity sensors 524B and 524C are each 7 intensity units. In some implementations, the cumulative intensity is the sum of the intensity measurements of multiple intensity sensors 524A-524D, which is 32 intensity units in this example. In some embodiments, each contact is assigned a corresponding intensity, which is a portion of the cumulative intensity. Figure 5DThe cumulative strength assigned to contacts 552A-552E based on their distance from the center of force 554 is shown. In this example, each of contacts 552A, 552B, and 552E is assigned a contact strength of 8 strength units of the cumulative strength, and each of contacts 552C and 552D is assigned a contact strength of 4 strength units of the cumulative strength. More generally, in some embodiments, each contact j is assigned a corresponding strength Ij, which is a portion of the cumulative strength A, according to a predefined mathematical function Ij=A·(Dj / ΣDi), where Dj is the distance of the corresponding contact j from the center of force, and ΣDi is the sum of the distances of all corresponding contacts (e.g., i=1 to the last) from the center of force. The reference may be performed using an electronic device similar to or equivalent to device 100, 300, or 500. Figure 5C-5D In some embodiments, the characteristic intensity of the contact is based on one or more intensities of the contact. In some embodiments, the intensity sensor is used to determine a single characteristic intensity (e.g., a single characteristic intensity of a single contact). It should be noted that the intensity map is not part of the displayed user interface, but is included in the Figure 5C-5D To help readers.

[0301] In some embodiments, a portion of a gesture is identified for determining characteristic strength. For example, the touch-sensitive surface optionally receives a continuous swipe contact that transitions from a starting position and reaches an end position, where the contact strength increases. In this example, the characteristic strength of the contact at the end position is optionally based only on a portion of the continuous swipe contact, rather than the entire swipe contact (e.g., only the portion of the swipe contact at the end position). In some embodiments, a smoothing algorithm is optionally applied to the intensity of the swipe contact before determining the characteristic strength of the contact. For example, the smoothing algorithm optionally includes one or more of the following: an unweighted sliding average smoothing algorithm, a triangular smoothing algorithm, a median filter smoothing algorithm, and / or an exponential smoothing algorithm. In some cases, these smoothing algorithms eliminate narrow peaks or depressions in the intensity of the swipe contact for determining the characteristic strength.

[0302] The intensity of contact on the touch-sensitive surface is optionally characterized relative to one or more intensity thresholds such as a contact detection intensity threshold, a light press intensity threshold, a deep press intensity threshold, and / or one or more other intensity thresholds. In some embodiments, the light press intensity threshold corresponds to an intensity at which the device will perform an operation typically associated with clicking a button of a physical mouse or trackpad. In some embodiments, the deep press intensity threshold corresponds to an intensity at which the device will perform an operation different from the operation typically associated with clicking a button of a physical mouse or trackpad. In some embodiments, when a contact having a characteristic intensity below the light press intensity threshold (e.g., and above a nominal contact detection intensity threshold, contacts lower than the nominal contact detection intensity threshold are no longer detected) is detected, the device will move the focus selector according to the movement of the contact on the touch-sensitive surface without performing an operation associated with the light press intensity threshold or the deep press intensity threshold. Generally speaking, unless otherwise stated, these intensity thresholds are consistent between different groups of user interface illustrations.

[0303] An increase in the characteristic intensity of a contact from an intensity below a light press intensity threshold to an intensity between the light press intensity threshold and the deep press intensity threshold is sometimes referred to as a "light press" input. An increase in the characteristic intensity of a contact from an intensity below a deep press intensity threshold to an intensity above the deep press intensity threshold is sometimes referred to as a "deep press" input. An increase in the characteristic intensity of a contact from an intensity below a contact detection intensity threshold to an intensity between the contact detection intensity threshold and the light press intensity threshold is sometimes referred to as detecting contact on the touch surface. A decrease in the characteristic intensity of a contact from an intensity above the contact detection intensity threshold to an intensity below the contact detection intensity threshold is sometimes referred to as detecting contact lifted from the touch surface. In some embodiments, the contact detection intensity threshold is zero. In some embodiments, the contact detection intensity threshold is greater than zero.

[0304] In some embodiments described herein, one or more operations are performed in response to detecting a gesture that includes a corresponding press input or in response to detecting a corresponding press input performed using a corresponding contact (or multiple contacts), wherein the corresponding press input is detected at least in part based on detecting that the strength of the contact (or multiple contacts) increases to above a press input strength threshold. In some embodiments, the corresponding operation is performed in response to detecting that the corresponding contact strength increases to above the press input strength threshold (e.g., a "down stroke" of the corresponding press input). In some embodiments, the press input includes an increase in the corresponding contact strength to above the press input strength threshold and the contact strength subsequently decreases to below the press input strength threshold, and the corresponding operation is performed in response to detecting that the corresponding contact strength subsequently decreases to below the press input threshold (e.g., an "up stroke" of the corresponding press input).

[0305] Figure 5E-Figure 5HDetection of a gesture is shown, the gesture comprising contact 562 with an intensity from below Figure 5E The light press intensity threshold in L ”) increases to a strength higher than Figure 5H The deep compression intensity threshold in D ”) corresponding to a press input with an intensity of a deep press intensity threshold (e.g., “IT 2”). On the displayed user interface 570 including application icons 572A-572D displayed in the predefined area 574, a cursor 576 is displayed above the application icon 572B corresponding to application 2, and a gesture performed using contact 562 is detected on the touch-sensitive surface 560. In some embodiments, gestures are detected on the touch-sensitive display 504. The intensity sensor detects the intensity of the contact on the touch-sensitive surface 560. The device determines that the intensity of the contact 562 is within the deep press intensity threshold (e.g., “IT 2”). D ”) reaches a peak above. Contact 562 is maintained on touch-sensitive surface 560. In response to detecting the gesture, and according to the increase in intensity during the gesture to a deep press intensity threshold (e.g., “IT D ”) above contact 562, displays reduced-scale representations 578A-578C (e.g., thumbnails) of documents recently opened for application 2, such as Figure 5F-5H In some embodiments, the intensity is a characteristic intensity of the contact compared to one or more intensity thresholds. It should be noted that the intensity map for contact 562 is not part of the displayed user interface, but is included in the Figure 5E-Figure 5H To help readers.

[0306] In some embodiments, the display of representations 578A-578C includes animation. For example, representation 578A is initially displayed near application icon 572B, such as Fig. 5F As the animation progresses, representation 578A moves upward and representation 578B is displayed near application icon 572B, as shown in FIG. Figure 5G Then, representation 578A moves upward, 578B moves upward toward representation 578A, and representation 578C is displayed near application icon 572B, as shown in FIG. Figure 5H 578A-578C form an array above icon 572B. In some embodiments, the animation progresses according to the intensity of contact 562, such as Figure 5F-5G , where representations 578A-578C appear and increase as the strength of contact 562 approaches a deep press strength threshold (eg, “IT D ”) increases and moves upward. In some embodiments, the intensity according to which the animation progresses is the characteristic intensity of the contact. The reference may be performed using an electronic device similar to or equivalent to device 100, 300, or 500. Figure 5E-Figure 5H The operation described.

[0307] In some embodiments, the device employs intensity hysteresis to avoid unexpected inputs sometimes referred to as "jitter," where the device defines or selects a hysteresis intensity threshold that has a predefined relationship to a press input intensity threshold (e.g., the hysteresis intensity threshold is X intensity units less than the press input intensity threshold, or the hysteresis intensity threshold is 75%, 90%, or some reasonable proportion of the press input intensity threshold). Thus, in some embodiments, a press input includes an increase in the intensity of the corresponding contact to above the press input intensity threshold and a subsequent decrease in the intensity of the contact to below a hysteresis intensity threshold corresponding to the press input intensity threshold, and a corresponding operation is performed in response to detecting a subsequent decrease in the intensity of the corresponding contact to below the hysteresis intensity threshold (e.g., an "upward stroke" of the corresponding press input). Similarly, in some embodiments, a press input is detected only when the device detects that the intensity of the contact increases from an intensity equal to or less than the hysteresis intensity threshold to an intensity equal to or greater than the press input intensity threshold and, optionally, that the intensity of the contact subsequently decreases to an intensity equal to or less than the hysteresis intensity, and a corresponding operation is performed in response to detecting the press input (e.g., an increase in the intensity of the contact or a decrease in the intensity of the contact, depending on the circumstances).

[0308] For ease of explanation, optionally, a description of an operation performed in response to a press input associated with a press input intensity threshold or in response to a gesture including a press input is triggered in response to detecting any of the following: contact intensity increasing to above the press input intensity threshold, contact intensity increasing from an intensity below a hysteresis intensity threshold to an intensity above the press input intensity threshold, contact intensity decreasing to below the press input intensity threshold, and / or contact intensity decreasing to below a hysteresis intensity threshold corresponding to the press input intensity threshold. Additionally, in examples where an operation is described as being performed in response to detecting that the intensity of the contact decreases below the press input intensity threshold, the operation is optionally performed in response to detecting that the intensity of the contact decreases below a hysteresis intensity threshold that corresponds to and is less than the press input intensity threshold.

[0309] Fig.5I An exemplary electronic device 580 is shown. Device 580 includes a body 580A. In some embodiments, device 580 may include a body 580A relative to devices 100, 300, and 500 (e.g., Figure 1A-Figure 5B) Some or all of the features described in the main body 580A. In some embodiments, the device 580 has one or more speakers 580B (hidden in the main body 580A), one or more microphones 580C, one or more touch-sensitive surfaces 580D, and one or more displays 580E. Alternatively or in addition to the display and touch-sensitive surface 580D, the device also has a touch-sensitive display (also referred to as a touch screen). As with devices 100, 300, and 500, in some embodiments, the touch-sensitive surface 580D (or touch screen) optionally includes one or more intensity sensors for detecting the intensity of the applied contact (e.g., touch). The one or more intensity sensors of the touch-sensitive surface 580D (or touch screen) can provide output data representing the intensity of the touch. The user interface of the device 580 can respond to the touch based on its intensity, which means that touches of different intensities can invoke different user interface operations on the device 580. In some embodiments, the one or more displays 580E are one or more light emitting diodes (LEDs). For example, the display can be a single LED, a cluster of LEDs (e.g., red, green, and blue LEDs), multiple discrete LEDs, multiple discrete LED clusters, or other arrangements of one or more LEDs. For example, display 580E can be an array of nine discrete LED clusters arranged in a circle (e.g., an annular shape). In some examples, the one or more displays include one or more light-emitting elements of another type.

[0310] Figure 5J An exemplary personal electronic device 580 is depicted. In some embodiments, the device 580 may include a Figure 1A , Figure 1B , Figure 3 and Figure 5A-Figure 5B Some or all of the components described. Device 580 has a bus 592 that operatively couples an I / O portion 594 to one or more computer processors 596 and a memory 598. The I / O portion 594 may be connected to a display 582, which may have a touch-sensitive component 584 and optionally a strength sensor 585 (e.g., a contact strength sensor). In some embodiments, the touch-sensitive component 584 is a component separated from the display 582. In addition, the I / O portion 594 may be connected to a communication unit 590 for receiving application and operating system data using Wi-Fi, Bluetooth, near field communication (NFC), cellular and / or other wireless communication technologies. Device 580 may include an input mechanism 588. In some examples, the input mechanism 588 is optionally a button. In some examples, the input mechanism 588 is optionally a microphone. The input mechanism 588 is optionally a plurality of microphones (e.g., a microphone array).

[0311] The electronic device 580 includes a speaker 586 for outputting audio. The device 580 may include an audio circuit (e.g., in the I / O portion 594) that receives audio data, converts the audio data into an electrical signal, and transmits the electrical signal to the speaker 586. The speaker 586 converts the electrical signal into a sound wave audible to humans. The audio circuit (e.g., in the I / O portion 594) also receives an electrical signal converted from a sound wave by a microphone (e.g., input mechanism 588). The audio circuit (e.g., in the I / O portion 594) converts the electrical signal into audio data. The audio data is optionally retrieved from and / or transmitted to a memory 598 and / or an RF circuit (e.g., in the communication unit 590) by the I / O portion 594.

[0312] The memory 598 of the personal electronic device 580 may include one or more non-transitory computer-readable storage media for storing computer-executable instructions, which when executed by one or more computer processors 596 may cause the computer processors to perform the following techniques, including process 700 (Figure 7), process 900 (Figure 9), process 1100 (Figure 11), process 1300 (Figure 13), process 1500 (Figure 15), process 1700 (Figure 17), process 1800 (Figure 18), process 2000 (Figure 20), process 2200 (Figure 22), process 2400 (Figure 24), process 2600 (Figure 26), process 2800 (Figure 28), process 3000 (Figure 30), process 3200 (Figure 32), process 3400 (Figure 34), process 3600 (Figure 36) and process 3800 (Figure 38). Computer-readable storage media can be any medium that can tangibly contain or store computer-executable instructions for use by or in conjunction with instruction execution systems, devices, and apparatuses. In some examples, the storage medium is a transient computer-readable storage medium. In some examples, the storage medium is a non-transitory computer-readable storage medium. Non-transitory computer-readable storage media may include, but are not limited to, magnetic storage devices, optical storage devices, and / or semiconductor storage devices. Examples of such storage devices include magnetic disks, optical disks based on CD, DVD, or Blu-ray technology, and persistent solid-state memories such as flash memory, solid-state drives, and the like. Personal electronic device 580 is not limited to Figure 5J components and configurations, but may include other components or additional components in a variety of configurations.

[0313] As used herein, an "installed application" refers to a software application that has been downloaded to an electronic device (e.g., device 100, 300, and / or 500) and is ready to be launched (e.g., become open) on the device. In some embodiments, a downloaded application becomes an installed application using an installer program that extracts program portions from a downloaded software package and integrates the extracted portions with the operating system of a computer system.

[0314] As used herein, the term "open application" or "executing application" refers to a software application that has maintained state information (e.g., as part of device / global internal state 157 and / or application internal state 192). An open or executing application is optionally any of the following types of applications:

[0315] The active application, which is currently displayed on the display of the device on which the application is being used;

[0316] Background applications (or background processes) that are not currently displayed but whose processes are being processed by one or more processors; and

[0317] - A suspended or dormant application that is not running but has state information stored in memory (volatile and non-volatile respectively) that can be used to resume execution of the application.

[0318] As used herein, the term "closed application" refers to a software application that does not have retained state information (e.g., the state information of a closed application is not stored in the memory of a device). Thus, closing an application includes stopping and / or removing the application's application process and removing the application's state information from the memory of a device. Generally speaking, while in a first application, opening a second application does not close the first application. When the second application is displayed and the first application ceases to be displayed, the first application becomes a background application.

[0319] Reference is made throughout this document to functions, operations, and features associated with digital assistants (also referred to as "voice assistants" or "personal digital assistants"). A digital assistant may refer to any information processing system that interprets natural language input in the form of speech and / or text to infer user intent and performs actions based on the inferred user intent. For example, to comply with the inferred user intent, the system may perform one or more of the following: identify a task flow with steps and parameters designed to implement the inferred user intent, input specific requirements from the inferred user intent into the task flow; execute the task flow by calling a program, method, service, API, etc.; and generate an output response to the user in an audible (e.g., voice) and / or visual form.

[0320] Specifically, the digital assistant may be able to accept user requests in the form of natural language commands, requests, statements, narrations and / or inquiries, at least in part. Typically, the user request may seek an informative answer from the digital assistant, or seek a digital assistant to perform a task. A satisfactory response to the user request may be to provide the requested informative answer, perform the requested task, or a combination of the two. For example, the user may ask the digital assistant a question, such as "where am I now?" Based on the user's current location, the digital assistant may answer "you are near the west gate of Central Park." The user may also request to perform a task, such as "please invite my friends to my girlfriend's birthday party next week." In response, the digital assistant may confirm the request by saying "OK, right away," and then send a suitable calendar invitation to each of the user's friends listed in the user's electronic address book on behalf of the user. During the execution of the requested task, the digital assistant may sometimes interact with the user in a continuous dialogue involving multiple information exchanges over a long period of time. There are many other methods of interacting with the digital assistant to request information or perform various tasks. In addition to providing verbal responses and taking programmed actions, digital assistants can also provide responses in other visual or audio forms, such as text, alerts, music, video, animation, etc.

[0321] In some examples, a digital assistant may be implemented according to a client-server model (e.g., an exemplary "digital assistant system"). The digital assistant may include a client-side portion (hereinafter referred to as a "DA client") that executes on a user device (e.g., device 100, 300, 500, or 580) and a server-side portion (hereinafter referred to as a "DA server") that executes on a server system (e.g., remote from the user device). A DA client may communicate with a DA server over one or more networks. A DA client may provide client-side functionality, such as user-facing input and output processing, and communicating with a DA server. A DA server may provide server-side functionality for any number of DA clients, each located on a respective user device.

[0322] In some examples, a DA server may include a client-facing I / O interface, one or more processing modules, data and models, and an I / O interface to external services. The client-facing I / O interface may facilitate the DA server to perform client-facing input and output processing. The one or more processing modules may utilize the data and models to process voice input and determine the user's intent based on natural language input. In addition, the one or more processing modules perform tasks based on the inferred user intent. In some examples, the DA server may communicate with external services over one or more networks to complete tasks or collect information. The I / O interface to external services may facilitate such communications.

[0323] The user device may be any suitable electronic device. For example, the user device may be a portable multi-function device (e.g., Figure 1A Device 100 described above), a multi-function device (e.g., Figure 3 Device 300 described herein), personal electronic devices (eg, Figure 5A-Figure 5B The device 500 described above) or an electronic device (eg, the device 500 described above) Figure 5I-5J The portable multifunction device may be, for example, a mobile phone that also includes other functions such as a PDA and / or a music player. Specific examples of portable multifunction devices may include the Apple iPod from Apple Inc. (Cupertino, California). Devices, iPod Equipment and Device. Other examples of portable multifunction devices may include, but are not limited to, laptop computers or tablet computers. In addition, in some examples, the user device may be a non-portable multifunction device. Specifically, the user device may be a desktop computer, a game console, a television, a smart speaker, or a television set-top box. In some examples, the user device may include a touch-sensitive surface (e.g., a touch screen display and / or a trackpad). In addition, the user device may optionally include one or more other physical user interface devices, such as a physical keyboard, a mouse, and / or a joystick. Various examples of electronic devices such as multifunction devices are described in more detail below.

[0324] Examples of one or more communication networks may include local area networks (LANs) and wide area networks (WANs), such as the Internet. The one or more communication networks may be implemented using any known network protocol, including various wired or wireless protocols, such as Ethernet, Universal Serial Bus (USB), FireWire, Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Bluetooth, Wi-Fi, Voice over Internet Protocol (VoIP), Wi-MAX, or any other suitable communication protocol.

[0325] The server system can be implemented on one or more stand-alone data processing devices or distributed networks of a computer. In some examples, the server system can also use various virtual devices and / or services of a third-party service provider (e.g., a third-party cloud service provider) to provide potential computing resources and / or infrastructure resources of the server system.

[0326] In some examples, a user device (also referred to as a first user device) may communicate with a DA server via a second user device. The second user device may be similar or identical to the user device described above. For example, the second user device may be similar to the user device described above. Figure 1A , Figure 3 , Figure 5A-Figure 5B and Figure 5I-5J Device 100, 300, 500 or 580 described. The first user device may be configured to be communicatively coupled to the second user device via a direct communication connection such as Bluetooth, NFC, BTLE, etc. or via a wired or wireless network such as a local Wi-Fi network. In some examples, the second user device may be configured to act as a proxy between the first user device and the DA server. For example, the DA client of the first user device may be configured to transmit information (e.g., a user request received at the first user device) to the DA server via the second user device. The DA server may process the information and return relevant data (e.g., data content in response to the user request) to the first user device via the second user device.

[0327] In some examples, the digital assistant system may be implemented on a stand-alone computer system. In some examples, the digital assistant system may be distributed across multiple computers. In some examples, as described above, some of the modules and functions of the digital assistant may be divided into a server portion and a client portion, wherein the client portion is located on one or more user devices (e.g., devices 100, 300, 500, 580) and communicates with the server portion via one or more networks. In some examples, the digital assistant system may be a specific implementation of a server system (and / or DA server).

[0328] In some examples, the digital assistant system includes a memory that can also store the digital assistant module (or the server portion of the digital assistant). In some examples, the digital assistant module may include the following submodules or subsets or supersets thereof: input / output processing module, speech-to-text (STT) processing module, natural language processing module, dialogue flow processing module, task flow processing module, service processing module, and speech synthesis module. Each of these modules may have access to one or more of the following digital assistant module systems or data and models or subsets or supersets thereof: knowledge ontology, vocabulary index, user data, task flow model, service model, and ASR system.

[0329] In some examples, using processing modules, data, and models implemented in the digital assistant module, the digital assistant may perform at least some of the following: converting voice input into text; recognizing the user's intent expressed in natural language input received from the user; proactively eliciting and obtaining information needed to fully infer the user's intent (e.g., by disambiguating words, games, intents, etc.); determining a task flow for satisfying the inferred intent; and executing the task flow to satisfy the inferred intent.

[0330] In some examples, the I / O processing module may interact with the user through an I / O device or interact with a user device (e.g., device 100, 300, 500, or 580) through a network communication interface to obtain user input (e.g., voice input) and provide a response to the user input (e.g., as voice output). The I / O processing module may optionally obtain context information associated with the user input from the user device along with or shortly after receiving the user input. The context information may include user-specific data, vocabulary, and / or preferences related to the user input. In some examples, the context information also includes the software state and hardware state of the user device when the user request is received, and / or information related to the user's surrounding environment when the user request is received. In some examples, the I / O processing module may also send follow-up questions about the user request to the user and receive answers from the user. When the user request is received by the I / O processing module and the user request may include voice input, the I / O processing module may forward the voice input to the STT processing module (or speech recognizer) for speech-to-text conversion.

[0331] The STT processing module may include one or more ASR systems. The one or more ASR systems may process the speech input received by the I / O processing module to produce a recognition result. Each ASR system may include a front-end speech preprocessor. The front-end speech preprocessor may extract a representative feature portion from the speech input. For example, the front-end speech preprocessor may perform Fourier transform on the speech input to extract the spectral feature portion characterizing the speech input as a sequence of representative multidimensional vectors. In addition, each ASR system may include one or more speech recognition models (e.g., sound models and / or language models), and may implement one or more speech recognition engines. Examples of speech recognition models may include hidden Markov models, Gaussian mixture models, deep neural network models, n-gram language models, and other statistical models. Examples of speech recognition engines may include engines based on dynamic time warping and engines based on weighted finite state transducers (WFST). One or more speech recognition models and one or more speech recognition engines may be used to process the extracted representative feature portions of the front-end speech preprocessor to generate intermediate recognition results (e.g., phonemes, phoneme strings, and sub-words), and ultimately generate text recognition results (e.g., words, word strings, or sequences of symbols). In some examples, the speech input may be at least partially processed by a third-party service or processed on the user's device (e.g., device 100, 300, 500, or 580) to generate recognition results. Once the STT processing module generates a recognition result containing a text string (e.g., a word, or a sequence of words, or a sequence of symbols), the recognition result may be passed to the natural language processing module for intent inference.

[0332] In some examples, a natural language processing module ("natural language processor") of a digital assistant may obtain a sequence of words or symbols ("symbol sequence") generated by an STT processing module and attempt to associate the symbol sequence with one or more "executable intents" recognized by the digital assistant. An "executable intent" may represent a task that can be executed by a digital assistant and may have an associated task flow implemented in a task flow model of the digital assistant system. An associated task flow may be a series of programmed actions and steps taken by the digital assistant to perform a task. The scope of the digital assistant's capabilities may depend on the number and variety of task flows that have been implemented and stored in the task flow model, or in other words, on the number and variety of "executable intents" recognized by the digital assistant. However, the effectiveness of the digital assistant may also depend on the assistant's ability to infer the correct "one or more executable intents" from a user request expressed in natural language.

[0333] In some examples, natural language processing may be based on, for example, a knowledge ontology. A knowledge ontology may be a hierarchical structure containing many nodes, each node representing an "executable intent" or an "attribute" related to one or more of an "executable intent" or other "attributes". As described above, an "executable intent" may represent a task that a digital assistant can perform, i.e., the task is "executable" or can be performed. An "attribute" may represent a parameter associated with a sub-aspect of an executable intent or another attribute. The link between an executable intent node and an attribute node in the knowledge ontology may define how the parameter represented by the attribute node is subordinate to the task represented by the executable intent node.

[0334] In some examples, once the natural language processing module identifies an executable intent (or domain) based on a user request, the natural language processing module may generate a structured query to represent the identified executable intent. In some examples, the structured query may include parameters for one or more nodes within the domain of the executable intent, and at least some of the parameters are filled with specific information and requirements specified in the user request. For example, a user may say "help me reserve a seat at 7pm at the sushi restaurant." In this case, the natural language processing module may be able to correctly identify the executable intent as "restaurant reservation" based on the user input. According to the knowledge ontology, a structured query for the "restaurant reservation" domain may include parameters such as {cuisine}, {time}, {date}, {number of companions}, etc. In some examples, based on voice input and text derived from the voice input using the STT processing module, the natural language processing module may generate a partial structured query for the restaurant reservation domain, wherein the partial structured query includes parameters {cuisine = "sushi category"} and {time = "7pm"}. However, in this example, the user utterance contains insufficient information to complete the structured query associated with the domain. Therefore, based on the currently available information, other necessary parameters such as {number of people in the group} and {date} may not be specified in the structured query. In some examples, the natural language processing module may populate some parameters of the structured query with the received contextual information. For example, in some examples, if the user requests a sushi restaurant "nearby", the natural language processing module may populate the {location} parameter in the structured query with the GPS coordinates from the user's device.

[0335] In some examples, the natural language processing module may pass the generated structured query (including any completed parameters) to a task flow processing module ("task flow processor"). The task flow processing module may be configured to receive the structured query from the natural language processing module, complete the structured query (if necessary), and perform the actions required to "complete" the user's final request. In some examples, the various processes necessary to complete these tasks may be provided in a task flow model. In some examples, the task flow model may include a process for obtaining additional information from the user, and a task flow for performing actions associated with an executable intent.

[0336] As described above, in order to complete the structured query, the task flow processing module may need to initiate an additional dialogue with the user in order to obtain additional information and / or clarify the utterances that may be ambiguous. When it is necessary to conduct such an interaction, the task flow processing module may call the dialogue flow processing module to participate in the dialogue with the user. In some examples, the dialogue flow processing module may determine how (and / or when) to request additional information from the user, and receive and process the user response. Questions may be provided to the user and answers may be received from the user through the I / O processing module. In some examples, the dialogue flow processing module may present the dialogue output to the user via audio and / or visual output, and receive input from the user via verbal or physical (e.g., click) responses. Continuing the above example, when the task flow processing module calls the dialogue flow processing module to determine the "number of people traveling together" and "date" information for the structured query associated with the domain "restaurant reservation", the dialogue flow processing module may generate questions such as "how many people in a row?" and "which day to book?" to pass to the user. Once the answer is received from the user, the dialogue flow processing module can fill the structured query with missing information, or pass the information to the task flow processing module to complete the missing information according to the structured query.

[0337] Once the task flow processing module has completed the structured query for the executable intent, the task flow processing module can proceed to execute the final task associated with the executable intent. Therefore, the task flow processing module can execute the steps and instructions in the task flow model according to the specific parameters contained in the structured query. For example, the task flow model for the executable intent "restaurant reservation" may include steps and instructions for contacting a restaurant and actually requesting a reservation for a specific number of people at a specific time. For example, using a structured query such as: {restaurant reservation, restaurant = ABC Cafe, date = 3 / 12 / 2012, time = 7pm, number of people = 5}, the task flow processing module can perform the following steps: (1) Log in to the server of ABC Cafe or a restaurant reservation system such as (2) entering date, time and party size information into a form on the website, (3) submitting the form, and (4) making a calendar entry for the reservation on the user's calendar.

[0338] As discussed throughout this article, various techniques for receiving user input at a first device and causing an action or output at a second device are discussed. For example, a first user device (e.g., 580 or 3300) receives user input (e.g., "Play a song by the Ramones in my living room"). In some examples, the user input includes user voice, and the first user device uses a microphone of the first electronic device to receive the user input. In some examples, the first electronic device converts the user input to a representation of the audio input. The representation of the audio input can be an analog representation or a digital representation. In some examples, the representation is a text representation, and the first electronic device uses speech-to-text conversion to convert the user input to a text representation. Any known speech-to-text conversion process can be used to convert the user voice.

[0339] In some embodiments, the user input or a representation thereof is provided (e.g., transmitted) by the first electronic device to a virtual assistant server (e.g., a DA server) for processing.

[0340] Based on the user input, the virtual assistant server identifies one or more tasks and parameters. For example, the virtual assistant server interprets the text representation of the user input to derive the intent and operationalizes the intent into one or more tasks. In the depicted example, based on the user input "play the Ramones song in my living room", the virtual assistant server identifies the task of adding one or more media items to the media playback queue at the desired electronic device (e.g., 580, 3304). The task can be identified in any manner. The technology for identifying tasks can be found in, for example, U.S. Utility Application No. 14 / 503,105 entitled "Intelligent Assistant for Home Automation" filed on September 30, 2014 and U.S. Provisional Patent Application Serial No. 62 / 348,015 entitled "Intelligent Automated Assistant in a Home Environment" filed on June 9, 2016 (Agent File No. 770003000100 (P30331USP1)), the entire disclosure of the above application is incorporated herein by reference.

[0341] In addition, the virtual assistant server identifies relevant parameters required to complete the task. In some examples, the parameters include an indication of the media item to be played, such as a song title and a media file name. In some examples, the parameters include an indication of the type of media item to be played, such as audio, video, and text. In some examples, the parameters include an indication of the location of the desired electronic device, such as a named location and configuration associated with the user ("Living Room", "Garage", "Upstairs") or GPS coordinates. In some examples, the parameters include an indication of the type of electronic device desired, such as a television, a speaker dock, and a smartwatch. In this example, the virtual assistant server identifies the parameters as "Ramones" and "Living Room".

[0342] The virtual assistant server may transmit a request for identifying one or more user devices to a device identification storage device (e.g., on the virtual assistant server). The request includes one or more parameters for identifying the one or more user devices. In some examples, the one or more parameters may specify a named location (e.g., "living room"), a device type (e.g., "AppleTV"), and / or one or more attributes of a media item, such as a type of media item (e.g., "audio" and "video").

[0343] A device identification storage device (e.g., on a virtual assistant server) may store data and / or models for a variety of attributes and related information associated with various electronic devices. Attributes that may be stored for electronic devices include, but are not limited to, unique identifiers, states, types, locations, supported media types, and ownership. For example, a device identification storage device may store information associating a device with a type of "AppleTV," a named location of "Living Room," and supported media types of "Audio" and "Video." As another example, a device identification storage device may store information associating a device with a type of "Speaker," a named location of "Garage," and supported media type of "Audio."

[0344] Device type is particularly relevant to smart device arbitration when the user's input specifies a task to be performed, such as, "Hey Siri, find me a TV episode" or "Hey Siri, drive me there." In some embodiments, the electronic device will respond to the audio input if, based on the broadcasted value, the electronic device is the only device that can handle the type of task specified in the audio input.

[0345] In some examples, the electronic device obtains a list of acceptable device types that can handle a specified task (e.g., by locally analyzing the audio input and / or by receiving the list from one or more servers), and determines whether the device will respond to the audio input based on the broadcasted “device type” value and the list of acceptable device types. In some examples, one or more servers receive data representing sampled audio input from one or more electronic devices in the electronic device, derive user intent based on the data, and identify a task with one or more parameters based on the user intent. In some examples, once the one or more servers determine the task based on the audio input, the one or more servers transmit the task, parameters (if any), and a list of acceptable device types for processing the task. Additional details about identifying tasks from natural language input can be found, for example, in U.S. Utility Application No. 15 / 144,618, entitled “Intelligent Device Identification,” filed on May 2, 2016, which is hereby incorporated by reference in its entirety.

[0346] The device identification storage device (e.g., on the virtual assistant server) can be implemented via hardware, software, or a combination thereof. In some examples, the device identification storage device can be located on one or more of the above-mentioned electronic devices including the first user device (e.g., 580, 3300) and the second user device (e.g., 5380, 3304). The device identification storage device can be located on the same electronic device that hosts either the media identification storage device and the virtual assistant server.

[0347] At the device identification storage, one or more user devices are identified based on the parameters provided in the request from the virtual assistant server. In some examples, the device identification storage determines whether any of the electronic devices having an entry in the database has attributes that match the parameters. Additional details regarding the identification of electronic devices can be found, for example, in U.S. Utility Application No. 14 / 503,105, filed on September 30, 2014, entitled “Intelligent Assistant for Home Automation,” the entire disclosure of which is incorporated herein by reference.

[0348] In response to the request for identifying one or more devices, the virtual assistant server receives identification information for the one or more devices. For example, the identification information includes a unique identifier corresponding to the identified user device (eg, "uid=123456").

[0349] The virtual assistant server transmits a request for identifying one or more media items to a media identification storage device. The request includes one or more parameters that take into account the identification of the one or more media items, such as the parameter "Ramones". The media identification storage device includes a database that associates (e.g., catalogs) a set of media items by one or more attributes, wherein the one or more attributes include title, artist, genre, length, and any other relevant information associated with the media items. By way of example only, one or more media items are identified based on the parameter "Ramones" at the media identification storage device.

[0350] In response to a request for identifying one or more media items, the virtual assistant server receives identification information for the one or more media items identified from the media identification storage device. In some embodiments, the identification information includes a unique identifier corresponding to the one or more media items identified, such as "artist: / / store / 56989". The unique identifiers of the one or more media items can be used, for example, to identify the one or more media items and subsequently access the one or more identified media items using one or more applications that support media playback. The media identification storage device can be located on any local or remote electronic device (such as the same electronic device where the virtual assistant server is located).

[0351] In some embodiments, the virtual assistant server provides a unified command to a first user device (e.g., 580, 3300). The command includes identification information of the one or more media items and identification information of a second user device (e.g., 3403). For example, the unified command includes the text string "SetMediaPlayerQueue artist: / / store / 56989AirplayRouteUid=12456". In response to receiving the unified command, the user device (e.g., 3300) triggers playback of the identified one or more media items (e.g., media related to the Ramones) at the identified user device (e.g., the second user device 3304). In some examples, the first user device (e.g., 3300) transmits relevant information derived from the unified command to the second user device (e.g., 3304).

[0352] Attention is now turned to embodiments of a user interface ("UI") and associated processes implemented on an electronic device, such as portable multifunction device 100, device 300, or device 500.

[0353] Figure 6A-6AR An exemplary user interface for accessing the media playback status of multiple available playback devices is shown according to some embodiments. The user interface in these figures is used to illustrate the media playback status of multiple available playback devices. Figure 7A-7DThe process is described below in the process.

[0354] Figure 6A-6B An exemplary user interface for managing and controlling a group of devices is shown. In some embodiments, the group of devices includes devices throughout a user's home to perform various functions. Such functions may include controlling smart devices (e.g., light bulbs, thermostats, media devices), configuring home automation, and controlling home entertainment.

[0355] Fig. 6A A home summary screen 601 (on a display 602 of the device 600) representing an exemplary interface for a home control application (also referred to as a "device management application") executed on the device 600 is depicted. In some embodiments, the device 600 includes one or more features of the device 100, 300, or 500. An example of a home control application is "Home" (developed by Apple Inc. (Cupertino, California, USA)). The home summary screen 601 includes stored scenes (e.g., pre-configured sets of settings for one or more home devices) and indications of devices in the user's home (also referred to as "home devices", etc.). Home devices are represented by indicators 601A to 601C. Indicator 601A corresponds to a device named "Smart Speaker 1" in the room "Living Room". Indicator 601B corresponds to a device named "Smart Speaker 2" in the room "Kitchen". Indicator 601C corresponds to a device named "Smart Light Bulb" in the room "Bedroom". Exemplary interfaces and techniques for home control applications are described in U.S. patent application 62 / 349,057, entitled “User Interface for Managing Controllable External Devices,” filed on June 12, 2016, which is hereby incorporated by reference in its entirety.

[0356] Fig. 6AAlso depicted is an exemplary home configuration screen 603, which shows an exemplary interface for managing configuration settings associated with home devices represented in home summary screen 601. In some examples, in response to a user input selection of affordance 601D at home summary screen 601, device 600 displays home configuration screen 603. In home configuration screen 603, a user can edit the name of the home (in this example, "Home"), edit the members of the home (e.g., in this example, users 1, 2, and 3), include notes to other members, and other functions. As can be seen, "Home" in this example includes three members: user 1 (represented by indicator 603A), user 2 (represented by indicator 603B), and user 3 (represented by indicator 603C). In some examples, users 1 to 3 represent users who live at a location (collectively referred to as "Home") that physically includes home devices. Therefore, users 1 to 3 are members of the home. As members of the home (or other location), in some examples, users are provided with permission to control devices associated with the home. The user can control the home device using one or more personal devices associated with at least one of the users. In some examples, a device is associated with a user when the device is logged into an account associated with (e.g., owned by) a user. For example, a device logged into one or more user accounts associated with the exemplary User 1 to User 3 described above is associated with at least one user, and specifically, is associated with at least one user of Home (e.g., a home device).

[0357] Figure 6B An exemplary user interface of a portable electronic device 600 is depicted. Device home screen 605 displayed on display 602 is an exemplary default home screen for device 600. Device home screen 605 includes affordances associated with applications stored on the device. For example, affordance 605A corresponds to a music application. In some examples, selection of affordance 605A causes the device to display a user interface for the corresponding music application. Figure 6B Also depicted is an exemplary user input 604 received by device 600 while displaying screen 603. In this example, user input 604 is a swipe gesture (e.g., a touch input followed by a drag) on ​​touch-sensitive display 602 of device 600. Figure 6BIn the depicted example, user input 604 is a swipe gesture that originates at the edge of touch-sensitive display 602. In some embodiments, user input 604 is an arc-shaped swipe gesture. For example, an arc-shaped swipe gesture is a gesture that includes both a horizontal component (e.g., an x-direction) and a vertical component (e.g., a y-direction) that meet the arc criteria. For example, user input 604 can be a touch and drag in the form of a quarter circle on the touch-sensitive surface. In response to input 604, device 600 displays a control center interface (e.g., Figure 6C and Fig.6D ).

[0358] Figure 6C An exemplary control center interface is shown. The control center interface 606 includes various affordances for controlling various functions and / or components of the device 600. In the depicted example, the control center interface 606 includes exemplary illustrations of the following items: a media control interface 606A, a volume control interface 606C, a screen brightness control interface 606D, a camera affordance 606E, a calculator affordance 606F, a timer affordance 606G, a flashlight affordance 606H, a wireless media streaming affordance 606I, a screen rotation lock affordance 606J, a do not disturb affordance 606K, and a wireless antenna control interface 606L. The exemplary media control interface 606A includes media playback controls 606M (e.g., previous track, pause / play, next track) and a device selection affordance 606B. The exemplary wireless antenna control affordance 606L includes an affordance 606N for switching back and forth (e.g., turning on and off) the Wi-Fi function of the device 600.

[0359] Fig.6D Another exemplary control center interface 606 is shown when the device 600 is playing back media through an external device. Fig.6D As shown, device selection affordance 606B includes an indication that the media currently being played back (e.g., the song track “Same Thing” by the artist “Jambug”) is being played back through an external device (or devices) named “AirPods”. Thus, media control interface 606A indicates the media currently being played (otherwise referred to as being played back, currently playing back, etc.) and the device to which the audio output is being routed. In this case, the audio output is generated by wireless personal earbuds (“AirPods” developed by Apple Inc. (Cupertino, California, USA)). Fig.6D Also shown is a volume control enable indication 606C including an indicator 606M representing an “AirPods” device, indicating that the volume control enable indication 606C can be used to adjust the volume of the audio output of the external device “AirPods”.

[0360] Fig. 6E It shows that Figure 6C 6B, but with user input 608A on the device selection affordance 606B. In some embodiments, in response to receiving user input 608A, device 600 displays a multi-device interface (e.g., Figure 6J For example, user input 608A is a touch (e.g., also referred to as a “tap” or “press”) on the device selection affordance.

[0361] Fig. 6F It shows that Figure 6C 6B, but with user input 608B at a location on media control interface 606A. In some embodiments, in response to receiving user input 608B, device 600 displays a multi-device interface (e.g., Figure 6J 606A). In some examples, user input 608B is a deep press (e.g., a touch having a characteristic intensity that satisfies an intensity-dependent criterion). In some examples, the intensity-dependent criterion is whether the characteristic intensity of the touch exceeds a threshold intensity. In some examples, user input 608B is a tap and hold (e.g., continuous detection of a touch input on a touch-sensitive surface of device 600 that arrives for a time length greater than a threshold). In some examples, user input 608B (e.g., whether a deep press or a tap and hold input) may be received at any location on media control interface 606A (e.g., fully or partially within the media control interface). For example, in response to receiving user input 606B on a playback control affordance (e.g., 606M), device 600 performs an operation different from what it would have performed if the user input was a tap (e.g., device 600 performs a second operation instead of a playback control operation such as pausing playback).

[0362] Figure 6G An exemplary expanded media control interface of the device is shown. In some embodiments, in response to receiving user input 608B, the device 600 displays Figure 6G609 of the expanded media control interface. As shown, the expanded media control interface 609 includes an indicator 609A indicating the media currently being played back on the device 600. In this example, the device 600 is named "iPhone" and is currently playing the media track "Same Thing" by the artist "Jambug". Indicator 609A includes a graphic to the left of the track name, indicating the album cover associated with the media track. In some examples, the graphic included in indicator 609A can be any graphic associated with the media track or that can otherwise provide a visual representation of the media currently being played. For example, other suitable graphic indicators include, but are not limited to: artist photos, album covers, movie covers, movie posters, stylized text depictions, etc. The exemplary expanded media control interface 609 includes a media progress indicator 609B (e.g., depicting the time progress (elapsed time) of the media track played and the amount of time (remaining time) until the current media ends). The exemplary expanded media control interface 609 also includes a playback control enable indication 609C (e.g., functioning similarly or identically to those described above), a volume control enable indication 609D (e.g., functioning similarly or identically to those described above), and a device selection enable indication 609E.

[0363] Figure 6H-Figure 6N An exemplary multi-device interface according to some embodiments is shown. Figure 6H An exemplary multi-device interface 610 is depicted that includes affordances 610B through 610D for current device 600. In some embodiments, in response to receiving user input 608A, device 600 displays multi-device interface 610. In some embodiments, in response to receiving user input 608B, device 600 displays multi-device interface 610.

[0364] like Figure 6H As shown, as described above with respect to expanding media control interface 609, multi-device interface 610 includes indicator 610A representing media (media currently being played back on device 600 (named "iPhone")), media progress indicator 610B (e.g., depicting the time progression (elapsed time) that the media track has been played and the amount of time (remaining time) until the current media ends). Exemplary multi-device interface 610 also includes playback control enable indication 610C (e.g., functions similarly or identically to those described above), volume control enable indication 610D (e.g., functions similarly or identically to those described above), and device selection enable indication 610E. Figure 6G Compared to the expanded media control interface 609, the multiple device interface 610 provides the user with information about the media playback status of multiple devices and the ability to affect the media playback status of the multiple devices.

[0365] like Figure 6H As shown, the multi-device interface 610 also includes indicators associated with other playback devices. Indicator 610F corresponds to one or more devices named "Living Room" (or in a group of devices named "Living Room"). In some embodiments, a group of devices may include one or more devices. The name "Living Room" can be assigned to the group of devices based on their location in the user's home. For example, when (for example, using device 600 and a home control application) one or more devices in a group named Living Room are configured (for example, before first use), the name "Living Room" is assigned to the one or more devices in the group. Therefore, when selecting or viewing the playback status of devices throughout the home, intuitive identification of the group of devices is provided to the user by location. In some embodiments, the name of the device or device group is a default name. For example, if the user does not configure the device to have a specific name, the device may be (for example, by the user or automatically) simply named "Device 1" or "Device 1-Living Room" (if the location is associated). In some embodiments, the name of the device or device group is a user-configured name. For example, the user selects a name from a predefined set of names. In some examples, the name displayed for a device (e.g., in a multi-device interface) is the location of the device. For example, a device may be named "Tim's Speaker" (e.g., in a configuration setting or home control application) but appear as "Tim's Room" based on the location associated with the device. In some embodiments, a group of devices is custom named. For example, a user can assign a personalized name to a group of devices, such as "Tim's Room." In some embodiments, names other than location names are used. For example, a user can give a group of devices an arbitrary name.

[0366] In this example, a group of devices named Living Room, represented by indicator 610F, is currently playing back a media item titled "Heart Wave" by artist "MKTS", with the artist and title indicated within indicator 610F. In some embodiments, the media item is one or more of a song, a video, a podcast, an audio stream, a video stream, an audio file, a video file, an electronic book (e.g., also referred to as an e-book), a text document, a web page, a phone call, a video call, etc. Indicator 610G corresponds to a group of devices named "Bedroom" or included in a group named "Bedroom", which is currently playing back a song titled "Vibes" by artist "John Appleseed". In some embodiments, indicators for a corresponding group of devices (e.g., indicators 610F and 610G) are displayed (e.g., in a multi-device interface) even when a group of devices is not currently playing back media. In some embodiments, indicators for a corresponding group of devices (e.g., indicators 610F and 610G) are displayed (e.g., in a multi-device interface) even when not all devices in a group are currently playing back media. For example, if a living room device group includes three devices (e.g., three smart speaker devices, such as device 580), and only one of the devices is currently playing a media item (e.g., a "Heart Wave" by "MKTS"), the corresponding indicator in the multi-device interface still includes an identification of the media currently being played back (e.g., a "Heart Wave" by "MKTS" is displayed inside indicator 610F for the device group "Living Room").

[0367] In some embodiments, if individual devices in the group of devices are playing back different media items at the same time, the multi-device interface displays an indication that multiple media items are being played on devices in a group of devices. For example, the multi-device interface may include a single indicator for the group (e.g., 610F) and an identification that multiple media items are being played back on these devices (e.g., "1 movie, 1 song"). For example, the multi-device interface may include two indicators for the group (e.g., 610F) and an identification of each corresponding media item being played back (e.g., an indicator for each media item such as 610F, both of which are identified as "Living Room", or as "Living Room-Device 1" and "Living Room-Device 2").

[0368] A group of devices may also be referred to as a group of "available playback devices." In some embodiments, available playback devices include one or more (e.g., remote, external) devices on which a current device (e.g., device 600) can control or affect playback (e.g., using a multi-device interface such as 610). For example, Figure 6HAs shown, if a group of devices named living room includes three external devices (e.g., Fig.5I 580) and can be controlled by instructions issued by device 600 (e.g., representing user input), then the devices in the group named living room are "available playback devices." In some embodiments, affecting or controlling playback on available playback devices is subject to conditions or restrictions. For example, device 600 can see the devices in the living room represented by indicator 610F, but modifying the playback status of these devices may be subject to permissions (e.g., if the media being played back on the living room device is initiated by another device or user). In some embodiments, the available playback devices include the current device. For example, in the example where the living room includes three devices, the multiple available devices include device 600 and these three living room devices, for a total of at least four devices. Therefore, multi-device interface 610 provides a convenient interface that provides an indication of what is playing on the current device and other devices.

[0369] In some embodiments, one or more devices automatically detect another device. In some embodiments, the devices then form a network between them. For example, two devices (e.g., 580) may detect each other after the first startup (e.g., out of the box, not configured by the user), establish a connection link between them (e.g., and between and device 600), and appear in a multi-device interface (e.g., with a name such as "speaker 1" and / or a location such as "no location"). In some embodiments, the device (e.g., 580) is configured as part of the user's home (e.g., a home device). Those skilled in the art will appreciate that a variety of technologies can be used to interconnect and / or transmit information between devices (e.g., 580, 600), which are all contemplated within the scope of the present disclosure and therefore additional details are not included herein.

[0370] exist Fig.6I , device 600 receives user input 612 representing a selection of device selection affordance 610E. For example, user input 612 can be a tap or touch at a location associated with displayed device selection affordance 610E.

[0371] Figure 6J An exemplary multi-device user interface is shown according to some embodiments. In some embodiments, in response to receiving user input 608B, device 600 displays multi-device interface 610. In some embodiments, in response to receiving user input 612, device 600 displays multi-device interface 610. In some examples, in response to selecting an affordance for a device in any media application (e.g., Fig.6I 610E) to display the multi-device interface.

[0372] like Figure 6J As shown, multi-device interface 610 includes separate indicators 610H through 610O for each of the available playback devices. In the depicted example, the separate indicators are visually associated with indicator 610A, which identifies the media item "Same Thing" by "Jambug" and the device that is currently playing back the media (in this case, only the device named "iPhone"). Indicator 610H identifies the current device (named "iPhone") and includes selection indicator 610I. In this example, selection indicator 610I includes a check mark indicating that device 610H is currently playing back the media of indicator 610A. Indicator 610J identifies a group of devices named "Bedroom" and includes indicator 610K that does not include a check mark (e.g., the bedroom group devices are not currently playing back the media track "Same Thing" by "Jambug"). Indicator 610J also includes an indication that the bedroom group devices are currently playing back other media. For example, in Figure 6J , indicator 610J includes the title of the track "Vibes." The visual indication communicates to the user that the bedroom device group is currently busy. If the user wishes to add the bedroom device group to the current playback of "Same Thing" by "Jambug" (e.g., by selecting indicator 610K), doing so would interrupt the media currently playing in the bedroom. Indicator 610L identifies a group of devices named "Kitchen" and includes indicator 610M that does not include a check mark (e.g., the kitchen group devices are not currently playing back the media track "Same Thing" by "Jambug"). Indicator 610N identifies a group of devices named "Living Room" and includes indicator 610O that does not include a check mark (e.g., the living room group devices are not currently playing back the media track "Same Thing" by "Jambug"). Indicator 610N also includes an indication that the living room group devices are currently playing back other media. For example, in Figure 6J , indicator 610J includes the title of the track "Vibes".

[0373] like Figure 6J As shown, the individual indicators are visually associated with indicator 610A. It can be seen that individual indicators 610H through 610O are included within the box outline of indicator 610A. In some examples, this provides a visual indication that the multi-device interface is currently "pointing to" or "focusing on" the "media session" identified by indicator 610A. In some embodiments, a media session includes devices and media items. Figure 6JIn the example shown, indicator 610A represents a media session that includes media item "Same Thing" by "Jambug" and device "iPhone" (e.g., device 600). In some embodiments, the media session includes multiple devices. In some embodiments, the media session includes multiple media items. For example, a media session may include playback of a playlist or other collection of multiple media items. Visually associating indicators for separate devices with indicators for media sessions visually indicates that selecting a separate device will add the device to the media session. This visual indication is useful, for example, when there are multiple concurrent media sessions in a user's home. For example, indicator 610F and indicator 610G each represent other media sessions (e.g., indicating playback of different media on different devices).

[0374] like Figure 6J As shown, the indicator for the separate device has replaced the media playback control affordance (e.g., 610B to 610D). In some embodiments, the indicator for the separate device and the media playback control affordance are displayed simultaneously.

[0375] In some embodiments, the indicator associated with a group of devices or an individual device includes an identification of the user who initiated playback of the media on the group of devices or the individual device, respectively. Figure 6J , when a media session in the bedroom is initiated by a user (e.g., Steve) other than the user currently associated with device 600 (e.g., Tim), one or more of indicators 610G or 610J may identify the user initiating the media playback in the bedroom—e.g., “Steve is playing Vibes by John Appleseed.”

[0376] Figure 6J The multi-device interface 610 may include an enable indication 610R. For example, selecting an enable indication 610R may cause the indicator for the individual device to stop being displayed (and, for example, the media playback control enable indication to be displayed again). In some examples, if the device 600 receives a selection of one or more individual indicators 610K, 610M, or 610O (e.g., user input that causes the device 600 to display a check mark inside the indicator), the selection of the enable indication 610R causes the device 600 to initiate media playback on the corresponding selected device in response. In some embodiments, the device 600 initiates playback in response to the selection of one or more individual indicators 610K, 610M, or 610O.

[0377] Figure 6KDevice 600 is shown receiving a selection of an individual indicator for a device in the available playback devices. User input 614 is received on indicator 610 associated with a kitchen group device (represented by 610L). In some examples, user input 614 is a tap or touch on a location associated with indicator 610M. In some examples, user input 614 is a deep press on a location associated with indicator 610M.

[0378] Figure 6L An exemplary multi-device interface 610 is shown after receiving a selection (eg, user input 614) of an individual indicator for a device among the available playback devices. Figure 6L As can be seen in the figure, indicator 610A now includes an indication that the current media session includes the kitchen group devices and the device named iPhone (e.g., device 600) ("Kitchen+iPhone"). In addition, indicator 610L has been updated to include a separate volume control enable representation, and indicator 610M now includes a check mark. In some examples, in response to a user input selection of indicator 610M associated therewith, the kitchen device group is added to the current media session of indicator 610A. In some examples, additional user input (e.g., user input 615) on enable representation 610R causes the kitchen devices to be added to the current media session of indicator 610A.

[0379] Figure 6M-Figure 6N Switching between media sessions when using an exemplary multi-device interface is shown. Figure 6M , a multi-device interface 610 is shown with a first media session associated with indicator 610A (e.g., playback of “SameThing” by artist “Jambug” on device “iPhone”). Figure 6M As shown, device 600 receives user input 616 associated with indicator 610F, which is associated with a second media session (e.g., playback of "Heart Wave" by artist "MKTS" on the "Living Room" group of devices). In some examples, user input 616 is a tap or touch at a location associated with indicator 610F. In some examples, user input 616 is a deep press at a location associated with indicator 610F.

[0380] In some embodiments, in response to user input 616, device 600 updates the display of the multi-device interface to "focus" (also referred to as "point to") the second media session. For example, Figure 6NIndicator 610A associated with the first media session is depicted as minimized (e.g., without visually associated indicators for individual available playback devices or media playback controls). However, indicator 610F has been expanded to include individual indicators for each of the plurality of available playback devices. Alternatively or in addition, expanded indicators for the media sessions (e.g., Figure 6N The indicator 610F) may include a media playback control affordance. Figure 6N As shown, indicators 610H, 610J, 610L, and 610N are now visually associated with indicator 610F for the second media session on the living room group device. In particular, indicator 610M and indicator 610O now include check marks, indicating that they are part of the currently selected media session (e.g., associated with expansion indicator 610F).

[0381] Switching between media sessions can be referred to as "re-pointing," "pointing," "refocusing," "focusing," etc. Thus, selection of indicator 610F can be referred to as "focusing" current device 600 or causing multi-device interface 610 to "focus" on a group of devices or media sessions.

[0382] As above relative to Figure 6H-Figure 6N As shown, the multi-device interface can be used to view the media playback status of multiple available playback devices. In addition, the multi-device interface can be used to view the content currently being played back by each device in a set of available playback devices. In addition, the multi-device interface can be used to add individual devices to a media session or remove individual devices from a media session. Figure 6H-Figure 6N In addition to the examples shown, other exemplary techniques for invoking and interacting with a multi-device interface can be used, as described below.

[0383] Figure 6O-Figure 6Y Example techniques for interacting with a multi-device user interface are shown according to some embodiments. Figure 6O-Figure 6R Exemplary techniques for initiating playback directly onto one or a dynamically selected external device are shown. Fig.6O An exemplary browsing interface is shown. Browsing interface 620 depicts an interface for browsing media items. For example, a user can use the browsing interface to find and select one or more media items for playback. Exemplary browsing interfaces include interfaces for browsing music libraries, video libraries, media content that can be used for streaming, etc. In this example, browsing interface 620 is a music browsing interface. Indicator 620A shows that the device is displaying a list of media items (e.g., a playlist) titled "New Music". Media item 620B (also referred to as song 620B) is a song titled "Monday Morning" by artist "The Fomoers".

[0384] exist Figure 6P , device 600 receives user input 622 on song 620B. In some examples, a user input representing a selection of a media item (e.g., a tap on a song) causes playback of the song to be initiated on the current device. For example, if device 600 is currently only "pointing" to itself, a tap on a media item causes playback to be initiated on device 600. For another example, if device 600 is currently pointing to itself and the device group "living room", a tap on a media item causes playback to be initiated on device 600 and the group of devices named "living room". In some examples, a deep press user input or a tap and hold user input on a media item causes device 600 to perform a secondary operation (e.g., an operation other than immediately initiating playback of the corresponding media item on one or more devices pointed to). In some examples, a secondary operation allows one or more devices on which the user wants to initiate media playback to be selected before initiating playback of the corresponding media. In this way, the user can start playback directly on the desired set of devices without first initiating playback on the current device (e.g., device 600) and then transferring playback to one or more external devices (e.g., through a cumbersome interface arrangement). One of the disadvantages of first initiating playback on the current device (e.g., a personal device) and then transferring playback to other devices (e.g., a home theater system) is that the media item has already begun playing on the device before the media playback is initiated on the desired set of devices - this is not desirable if the playback is for a room full of listeners. Even if playback is restarted in response to or after the playback is transferred to the desired set of devices (manually or automatically), the original device that initiated playback will waste device resources by starting playback of the song, and such operations are not desirable for the user. In some examples, a tap input invokes a primary operation, and a deep press or tap and hold input invokes a secondary operation. Those skilled in the art will recognize that any two user inputs that can be recognized by the device as different types of user inputs can be used to invoke corresponding primary and secondary operations.

[0385] Figure 6Q An exemplary media item menu is shown. For example, in response to user input 622, which is a deep press or a tap and hold input (e.g., to invoke a secondary operation related to a media item), a media item menu 624 is displayed. Menu 624 includes a list of possible actions that can be selected for media item 620B (a song titled "Monday Morning" by "The Fomoers"). Media item menu 624 includes a play to speaker affordance 624A. Figure 6R, device 600 receives user input 626 on play to speaker enable indication 624A. For example, user input 626 is a tap. In some examples, in response to receiving user input 626 indicating a selection of play to speaker enable indication 624A, device 600 displays a multi-device interface (e.g., similar to FIG. 1 ) for selecting one or more devices on which to initiate playback. Figure 6J ). For example, a multi-device interface may be displayed that includes an indicator (e.g., 610A) for a media session that includes the media item "Monday Morning" by "The Fomoers" and no selected devices (e.g., devices with indicators that do not include a check mark). In this example, after selecting the one or more desired devices (e.g., adding them to the media session), playback is then initiated on the desired devices (e.g., device 600 initiates playback on itself and / or transmits instructions to other devices in the group of desired devices). In this example, user input (e.g., 622) associated with the media item is used to invoke the multi-device interface (e.g., 610) so that one or more external devices can be selected before device 600 initiates playback of the media. Thus, device 600 initiates playback of the media item (e.g., as shown in FIG. 1 ) from the beginning (e.g., from the beginning of the song) on ​​the selected one or more external devices. Figure 6P ” Monday Morning”) rather than first initiating playback on device 600 and then subsequently transmitting the playback (e.g., during playback).

[0386] Figure 6S-Figure 6Y Exemplary techniques for providing an indication of device focus are shown. Figure 6S An exemplary current media interface is shown. Current media interface 630 (also referred to as a “now playing interface”) identifies the media item currently being played back. Current media interface 630 includes album cover 630A, media identifier 630B (song title “Same Thing”), media identifier 630C (artist “Jambug”), media identifier 630D (album “Fly Away”), and device selection affordance 630E. Figure 6S As shown, device selection affordance 630E does not include an identifier for another device. Therefore, in this example, the media item identified in current media interface 630A is currently being played back on the current device (device 600). In some examples, the media identified by the current media interface is currently being played back on other devices (e.g., in addition to the current device or excluding the group of the current device).

[0387] exist Figure 6TIn the embodiment of the present invention, device 600 receives user input 632 on device selection indication 630E. In response to receiving user input 632, Figure 6U In the example, the device displays a multi-device interface 610. Figure 6U As can be seen in FIG, a first area 611A of the display (e.g., shown with a first dashed pattern as a boundary for illustrative purposes) includes multi-device interface 610, and a second area 611B of the display (e.g., shown with a second dashed pattern for illustrative purposes) includes a visible indication of content that was displayed before the multi-device interface was displayed. In this case, the content that was displayed before the multi-device interface was displayed is current media interface 630. For example, album cover 630A is visible through the multi-device interface. In this example, the first area visually overlays the second area.

[0388] exist Figure 6V , device 600 receives user input 634 on indicator 610F. In some examples, user input 634 is a tap or touch at a location associated with indicator 610F. In some examples, user input 634 is a deep press at a location associated with indicator 610F.

[0389] like Figure 6W As shown, in some examples, in response to user input 634, device 600 displays multi-device interface 610, in which indicator 610F is expanded to show individual indicators for devices in the group of available playback devices that are visually associated with indicator 610F. Thus, device 600 is now focused on the media session that includes the device group living room. Figure 6W , the current media interface 636 (described below) is visible (via the multi-device interface 610). In particular, Figure 6W As seen in FIG. 6 , in response to input 634, device 600 ceases to display the visual indication associated with current media interface 630 and displays the visual indication associated with current media interface 636. This is a replacement of the current media interface, indicating that the device changes the pointed media session from the session associated with indicator 610A to the session associated with indicator 610F ( Figure 6U ).

[0390] like Figure 6X As shown, in some examples, in response to user input 634, device 600 stops displaying multi-device interface 610 and displays current media interface 636. Figure 6XAn alternative response of device 600 to receiving user input 634 is shown. Similar to interface 630, current media interface 636 includes album cover 636A, media identifier 636B (song title "Heart Wave"), media identifier 636C (artist "MKTS"), media identifier 636D (album "MKTS"), and device selection affordance 636E. However, each of these indicators has been updated to reflect that the media items and devices of the selected media session have changed (e.g., because device 600 is now pointing to a media session that includes a different set of devices). In particular, device selection affordance 636E includes identifier 636F that identifies the currently pointed device. As shown in FIG. Figure 6X As shown, identifier 636F includes the text "Living Room," which indicates that current media interface 636 is the current media interface for media currently playing back on a group of devices named Living Room.

[0391] Even when viewing an interface for a non-media related application on their device, a user may desire to view the media status of multiple devices in their home at any time. Therefore, this article describes a technology for easily and quickly accessing a multi-device interface from any application executing on a device. Figure 6Y-Figure 6AA Example techniques for accessing a multi-device interface are shown according to some embodiments. Figure 6Y An exemplary interface for an application is shown. Web browsing interface 640 depicts a currently displayed web browsing session (e.g., the home page of the website "Apple.com"). Web browsing interface 640 includes web page content 640A. Figure 6Z In some examples, device 600 receives user input 642. In some examples, user input 642 is a swipe gesture originating from an edge of a touch-sensitive surface of device 600. In some examples, in response to user input 642, device 600 displays a playback control interface. For example, in response to user input 642, device 600 displays Figure 6C In some embodiments, in response to receiving user input 608A on device selection indication 606B at playback control interface 606A, device 600 displays a multi-device interface (e.g., Figure 6AA of 610).

[0392] Figure 6AA An exemplary multi-device interface visually overlaid on an application interface is shown. Figure 6AA As shown, multi-device interface 610 includes separate indicators for available playback devices. Figure 6AAIn the depicted example, only one media session is active on the available devices in the user's home, and that media session includes playback of "SameThing" by "Jambug" on current device 600. In some examples, the multi-device interface is displayed simultaneously with the previously displayed content. Figure 6AA As shown, the multi-device interface 610 (eg, displayed in the first area) is visually overlaid on the web browsing interface 640 (eg, displayed in the second area).

[0393] Figure 6AB-Figure 6AC Exemplary techniques for adjusting the volume of available playback devices are shown. Figure 6AB Multi-device interface 610 is depicted with a single media session including playback of a media item “Same Thing” by “Jambug” on three devices: an “iPhone” (eg, device 600 ), a kitchen group device, and a living room group device. Figure 6AB Depicted are individual volume control affordances 610S (corresponding to device iPhone), individual volume control affordances 610T (corresponding to device group Kitchen), and individual volume control affordances 610U (corresponding to device group Living Room). For example, the individual volume control affordances are selectable and can be manipulated (e.g., left and right) to adjust the volume of the respective corresponding devices. In some examples, individual volume control affordances are not displayed for devices that are not included in the current media session (e.g., Figure 6AB The equipment in the bedroom does not correspond to the separate volume control affordance shown). Figure 6AB Also depicted is a group volume control affordance 610D that is selectable and can be manipulated (e.g., left and right) to adjust the volume of multiple devices included in the media session represented by indicator 610A. Figure 6AB , device 600 receives user input 644 on group volume control affordance 610D, which represents a tap and slide gesture in a left direction (e.g., representing a request to turn down the volume). In response to user input 644, the device turns down the group volume represented by the position of sliding affordance 610D, as shown in FIG. Figure 6AC shown. Figure 6AC Also shown are individual volume control indicators for each device in the group, indicating that they have been turned down accordingly.

[0394] Figure 6AD-Figure 6AGAn exemplary interface for initiating playback on a preferred device is shown. In some cases, a user may desire to automatically initiate playback of media at one or more preferred devices. For example, because media content may include visual aspects (e.g., if the media is a video), it is desirable to automatically initiate playback of such content on a device with a display or on a device with a large display (e.g., a device larger than a device that receives a user input request for initiating playback). For example, a user may browse media content using their personal device (e.g., device 600) with a relatively small screen, but desire to start playback of a selected media item (e.g., a feature film) on their large-screen TV. In other examples, a user may request playback of media via a voice command to a device (e.g., device 580) that does not have video playback capabilities. In this latter example, a device that does not have video playback capabilities can receive a user's request, but the video playback responsibility is handed over to another device.

[0395] Go to the attached picture, Figure 6AD An exemplary browsing interface is shown. Figure 6AD As shown, media browsing interface 650 includes media items with video content. In this example, media item 650A represents an episode of a television program named "Super Heroes". Figure 6AE , device 600 receives user input 652 associated with media item 650A. In some examples, user input 652 is a tap or touch on media item 650A. In some examples, user input 652 is a deep press on media item 650A.

[0396] In response to receiving user input 652, device 600 displays Figure 6AFMessage interface 654 in. Message interface 654 includes an indication that playback of video content is initiated or has been initiated on a different device that is not device 600 ("Start playback on Apple TV"). In this example, the device named "Apple TV" is different from device 600 and represents a preferred device for playback of video media. For example, the device Apple TV can be connected to the user's large-screen TV. In some embodiments, in response to user input (e.g., user input 652), the device (e.g., 600) determines whether it is currently connected to a home network. Based on determining that the device is currently connected to a home network, the device initiates playback on a preferred device (e.g., transmits instructions to initiate playback on a preferred device). For example, if the device determines that the user is at home, it abandons initiating playback on itself and initiates playback on an external preferred device. Based on determining that the device is not currently connected to a home network, the device initiates playback on itself. For example, if the device determines that the user is not at home, it initiates playback on itself. In some examples, the preferred device is a group of preferred devices (e.g., one or more). In some examples, the preferred device (or a group of devices) is predetermined. For example, a user may select a preferred device and save it to the device or user account settings. In another example, a preferred device is automatically selected. For example, if the user's home includes only one external device (e.g., Apple TV) that is identified as capable of playing back videos, it may be designated as a preferred device. In some embodiments, the device prompts the user whether to initiate playback on the preferred device. For example, regardless of whether the user has pre-configured a preferred device, in response to user input 652, the device 600 may prompt (e.g., visually or audibly) and ask, "Do you want to initiate playback of "Super Heroes" on your Apple TV?"

[0397] For example, each device (e.g., a group of devices such as each device in a group of preferred devices, such as device 600 and device Apple TV) generates and broadcasts a set of one or more values ​​(e.g., in response to user input such as 652). In this example, each group of one or more values ​​includes a "device type" value. The device (e.g., 600) analyzes the broadcasted "device type" value according to the task specified in the user request (e.g., 652). The device (e.g., 600) makes a determination based on the device type broadcasted by other electronic devices (e.g., Apple TV) and a list of acceptable device types. In some examples, if the device (e.g., 600) determines that none of the other electronic devices has an acceptable device type for processing the task, the device outputs an error message to the user or prompts the user to make additional input (e.g., "Do you want to play back the video on your iPhone?").

[0398] Figure 6AGAn exemplary playback control interface for video content is shown. Playback control interface 656 includes an indication 656A of the media content currently being played ("Super Heroes"), playback control affordances 656B (e.g., rewind 10 seconds, pause and skip 10 seconds), and an indication 656C of the device currently playing the media content ("Apple TV"). In some embodiments, interface 656 is displayed after message interface 654.

[0399] Figure 6AH-Figure 6AQ An exemplary multi-device interface is shown. As described herein, a multi-device interface can be used to view and control the media playback status of multiple available playback devices in a group of interconnected devices (e.g., devices associated with a user's account in a user's home). Thus, multiple different types of devices can be controlled, and each device can have a different interface. For example, a group of devices in a home may include a first smart speaker (e.g., 580) manufactured by a first manufacturer, a second smart speaker (e.g., 580) manufactured by a second manufacturer different from the first manufacturer, and a home media hub (e.g., Apple TV developed by Apple Inc. (Cupertino, California, USA)). An exemplary home media hub may include or otherwise be connected to a large display (e.g., a display larger than personal device 600), and therefore may have the same, similar, or different interfaces as those described above with respect to device 600. Additional exemplary interfaces are described in detail below.

[0400] Figure 6AH An exemplary current media interface 664 is shown displayed on display 660A of device 660. In some embodiments, device 660 includes one or more features of device 100, 300, or 500. Device 660 is itself a device included in a set of devices associated with a user's home (or is otherwise configured to act as a display for a device included in a set of devices associated with a user's home). Current media interface 664 includes device selection affordance 664A (e.g., which is associated with Figure 6SDevice selection affordance 664A is associated with the text "Living Room Apple TV," which indicates that device 660 is currently pointing at itself (i.e., device 660). Current media interface 664 also includes an indication of the media currently being played (e.g., indicator 664C), where the media currently being played is a song titled "Heart Wave" (e.g., indicator 664D) by artist "MKTS" (e.g., indicator 664E). In some examples, indicator 664C of currently playing interface 664 is an animated indicator that further communicates that the associated media item is currently being played back. Indicator 664F and indicator 664G correspond to one or more other media items available for playback.

[0401] Figure 6AH Also shown is an exemplary remote control for controlling device 660. In some examples, remote control 662 is connected to device 660 (e.g., paired) and used by a user to interact with an interface displayed on device 660. Because the remote control is effectively an extension of the device for remotely controlling the device, for purposes of this disclosure, user input received at device 662 is considered to be the same as user input received at device 660, unless otherwise specified herein. For example, a tap input received on device 662 representing a request to select an affordance is considered to be the same as a tap on device 660 representing a request to select the same affordance (e.g., if device 660 includes a touch-sensitive surface), unless otherwise specified. However, it will be understood by those skilled in the art that user input may be received at any device and communicated to another device (e.g., for processing and performing an action in response), and that the particular device that physically receives the user input is unimportant unless otherwise specified. Likewise, in the example where device 660 is an external display device (e.g., a television) used by another device (e.g., an Apple TV that is a "home device" that receives and processes user input playback commands), because device 660 is effectively an extension of the other device, references to device 660 herein are interchangeable with the other device unless otherwise noted. For example, references to the "focus" or "pointing" of device 660 with respect to controlling media refer to the focus or pointing of the other device (e.g., the Apple TV) unless otherwise noted.

[0402] exist Figure 6AH, device 662 receives user input 668 on device 662. User input 668 indicates a selection of device selection enable indication 664A. In some examples, user input 668 is a button press on device 662, and device selection enable indication 664A is highlighted or otherwise selected at interface 664. In some examples, user input 662 is a tap, a tap and a hold or a deep press on a touch-sensitive surface. In some embodiments, in response to receiving user input 668, device 660 displays a multi-device interface (e.g., Figure 6AI of 670).

[0403] Figure 6AI An exemplary multi-device interface is shown according to some embodiments. Multi-device interface 670 includes identification of the current focus of device 660 (e.g., the currently selected media session). Header 670A indicates that the current focus of the device is the living room Apple TV (e.g., device 660). Multi-devic...

Claims

1. A computer-implemented method comprising: At a first device associated with a first user account, wherein the first user account is associated with a first media preference profile: detecting that a second device associated with a second user account is connected to the first device, wherein the second user account is associated with a second media preference profile that is different than the first media preference profile; Displaying a playlist creation interface for creating a playlist, the playlist creation interface includes: an indication that the playlist is public; and an affordance for adding media to the playlist; While displaying the playlist creation interface, receiving a first user input representing a selection of the affordance; in response to receiving the first user input representing a selection of the affordance, displaying a prompt to generate a set of media items based on the first media preference profile and the second media preference profile, wherein the prompt includes an identity of a user of the second device and an indication that the second device is within proximity of the first device; receiving a second user input representing a selection of the prompt; in response to receiving the second user input representing a selection of the prompt, generating the set of media items, wherein the set of media items includes media from the first media preference profile and media from the second media preference profile; adding the set of media items to the playlist; Initiating playback of the playlist; receiving media items; and In response to receiving the media item: Based on determining that the media item was received from the first device, updating the first media preference profile based on the media item; and Based on determining that the media item was received from the second device, updating the first media preference profile based on the media item is abandoned.

2. The method according to claim 1, further comprising: A combined preference profile is determined based on the first media preference profile and the second media preference profile.

3. The method of claim 2, wherein determining a combined preference profile based on the first media preference profile and the second media preference profile comprises: Media preferences associated with both the first media preference profile and the second media preference profile are determined.

4. The method according to any one of claims 1 to 3, further comprising: adding a plurality of media items to a playback queue based on the first media preference profile and the second media preference profile; as well as Playback of the plurality of media items is initiated.

5. The method according to any one of claims 1 to 3, further comprising: A request to initiate playback on the first device is received, wherein playback of the playlist is initiated after receiving the request to initiate playback on the first device. The method of claim 5 , wherein the request is received from the second device.

7. The method of claim 5, wherein the first device comprises a display, and wherein the method further comprises: A second affordance is displayed on the display, wherein receiving the request to initiate playback on the first device includes receiving user input corresponding to selecting the second affordance.

8. The method according to any one of claims 1 to 3, wherein initiating playback of the playlist comprises: An instruction is transmitted to a third device to initiate playback of the playlist.

9. A computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a first device, the one or more programs comprising instructions for executing the method according to any one of claims 1-8.

10. A first device, comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs comprising instructions for executing the method according to any one of claims 1-8.

11. A first device, comprising: An apparatus for performing the method according to any one of claims 1 to 8.

Citation Information

Patent Citations

  • Movement detecting device

    JP1989000412A

  • Water level detecting device for checking operation end

    JP1989000422A

  • Device for determining the optical path of the light beam passes through the pulsed atmosphere

    JP1989000426A

  • Intelligent assistant for home automation

    US10170123B2

  • Method and apparatus for integrating manual input

    US20020015024A1