User interface for audio media control
The described methods and interfaces address inefficiencies in audio playback control by using proximity detection and input-based media affordance changes, enhancing user experience and conserving energy in battery-operated devices.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- APPLE INC
- Filing Date
- 2026-02-06
- Publication Date
- 2026-06-23
AI Technical Summary
Existing technologies for controlling audio playback on electronic devices are cumbersome and inefficient, often requiring multiple key presses or taps, wasting user time and device energy, particularly in battery-operated devices.
Implementing methods and interfaces that utilize proximity detection to control audio playback on external devices through a display, allowing for faster and more efficient control via inputs that change the media information affordances displayed based on input types.
Enhances user efficiency and reduces power consumption by providing quicker and more intuitive control methods for audio playback, extending battery life in portable devices.
Smart Images

Figure 2026102540000001_ABST
Abstract
Description
Cross - reference to related applications
[0001] This application claims priority to U.S. Patent Application No. 16 / 583,989, titled "USER INTERFACES FOR AUDIO MEDIA CONTROL", filed on September 26, 2019; U.S. Patent Application No. 16 / 584,490, titled "USER INTERFACES FOR AUDIO MEDIA CONTROL", filed on September 26, 2019; U.S. Provisional Patent Application No. 63 / 032,603, titled "USER INTERFACES FOR AUDIO MEDIA CONTROL", filed on May 30, 2020; and U.S. Provisional Patent Application No. 62 / 855,852, titled "USER INTERFACES FOR AUDIO MEDIA CONTROL", filed on May 31, 2019, the entire contents of each of which are hereby incorporated by reference.
Technical Field
[0002] This disclosure generally relates to computer user interfaces, and more specifically to techniques for controlling audio playback.
Background Art
[0003] The number of electronic devices, especially smart devices, continues to increase. These devices are increasingly interconnected with each other and are increasingly capable of performing more complex tasks. Therefore, these devices are increasingly expected to have well - designed user interfaces.
Summary of the Invention
[0004] Some technologies for controlling audio playback using electronic devices are generally cumbersome and inefficient. For example, some existing technologies employ complex and time-consuming user interfaces that may involve multiple key presses or taps. Such technologies take more time than necessary, wasting both the user's time and the device's energy. The latter problem is particularly serious in battery-powered devices.
[0005] Therefore, this technology provides electronic devices with faster and more efficient methods and interfaces for controlling audio playback. Such methods and interfaces optionally complement or replace other methods for controlling audio playback. Such methods and interfaces reduce the cognitive burden on the user and create a more efficient human-machine interface. In the case of battery-operated computing devices, such methods and interfaces conserve power and extend the interval between battery charges.
[0006] Examples of methods are disclosed herein. An exemplary method includes, in an electronic device equipped with a display device, detecting an indication that the physical proximity between the electronic device and the external device satisfies a proximity condition while connected to an external device; displaying, via the display device, a first media information affordance representing a first media item, which includes a first set of information relating to the first media item, in response to the detection of the indication that the physical proximity satisfies a proximity condition; receiving a first input representing a selection of the first media information affordance; sending a command to the external device to start playback of the first media item on the external device, in response to the receipt of the first input, according to the determination that the first input is a first type of input; and displaying, via the display device, a second media information affordance representing a first media item, which is different from the first media information affordance and includes a second set of information relating to the first media item, in accordance with the determination that the first input is a second type of input different from a first type of input.
[0007] Exemplary non-temporary computer-readable storage media are described herein. An exemplary non-temporary 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 device, the one or more programs include instructions to detect an indication that the physical proximity between the electronic device and the external device satisfies a proximity condition while connected to an external device, to display a first media information affordance via the display device in response to detecting the indication that the physical proximity satisfies a proximity condition, the first media information affordance representing a first media item and including a first set of information about the first media item, to receive a first input representing a selection of the first media information affordance, to send a command to the external device to start playback of the first media item on the external device in response to receiving the first input and determining that the first input is a first type of input, and to display a second media information affordance via the display device in response to determining that the first input is a second type of input different from a first type of input.
[0008] Exemplary temporary computer-readable storage media are described herein. An exemplary temporary 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 device, the one or more programs include instructions to detect an indication that the physical proximity between the electronic device and the external device satisfies a proximity condition while connected to an external device, to display a first media information affordance via the display device representing a first media item, which includes a first set of information relating to the first media item, to receive a first input representing a selection of the first media information affordance, to send a command to the external device to start playback of the first media item on the external device in response to receiving the first input, according to a determination that the first input is a first type of input, and to display a second media information affordance via the display device representing a first media item, which is different from the first media information affordance and includes a second set of information relating to the first media item, according to a determination that the first input is a second type of input different from a first type of input.
[0009] Exemplary electronic devices are described herein. An exemplary electronic device includes a display device, one or more processors, and a memory for storing one or more programs configured to be executed by the one or more processors, wherein the one or more programs, while connected to an external device, detect an indication that the physical proximity between the electronic device and the external device satisfies a proximity condition, and in response to detecting the indication that the physical proximity satisfies a proximity condition, display a first media information affordance representing a first media item, which includes a first set of information relating to the first media item, receive a first input representing the selection of the first media information affordance, and in response to receiving the first input, send a command to the external device to start playback of the first media item on the external device, according to the determination that the first input is a first type of input, and display a second media information affordance representing a first media item, according to the determination that the first input is a second type of input different from the first type of input, via the display device, which includes a command to display a second media information affordance representing a first media item, which is different from the first media information affordance and includes a second set of information relating to the first media item.
[0010] An exemplary electronic device includes a display device, means for detecting an indication that the physical proximity between the electronic device and the external device satisfies a proximity condition while connected to an external device, means for displaying a first media information affordance representing a first media item, comprising a first set of information relating to the first media item, via the display device in response to detecting the indication that the physical proximity satisfies a proximity condition, means for receiving a first input representing a selection of the first media information affordance, and means for receiving the first input and, in accordance with the determination that the first input is a first type of input, sending a command to the external device to start playback of the first media item on the external device, and, in accordance with the determination that the first input is a second type of input different from the first type of input, displaying a second media information affordance representing a first media item, which is different from the first media information affordance and comprises a second set of information relating to the first media item, via the display device.
[0011] An exemplary method includes, in an electronic device equipped with a display device, detecting an indication that the physical proximity between the electronic device and the external device satisfies a proximity condition while connected to an external device; displaying, via the display device, a first media information affordance representing a first media item currently being played on the external device, which includes a first set of information about the first media item, in response to the detection of the indication that the physical proximity satisfies a proximity condition; receiving a first input representing the selection of the first media information affordance; in response to receiving the first input, starting playback of the first media item on the electronic device according to the determination that the first input is a first type of input; and displaying, via the display device, a second media information affordance representing a first media item, which is different from the first media information affordance and includes a second set of information about the first media item, in response to the determination that the first input is a second type of input different from a first type of input.
[0012] An exemplary non-temporary 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 device, the one or more programs include instructions to detect an indication that the physical proximity between the electronic device and the external device satisfies a proximity condition while connected to an external device, and in response to detecting the indication that the physical proximity satisfies a proximity condition, to display a first media information affordance via the display device, which represents a first media item currently being played on the external device and includes a first set of information about the first media item, to receive a first input representing a selection of the first media information affordance, and in response to receiving the first input, to start playing the first media item on the electronic device according to a determination that the first input is a first type of input, and to display a second media information affordance via the display device, which represents a first media item, which is different from the first media information affordance and includes a second set of information about the first media item, according to a determination that the first input is a second type of input different from a first type of input.
[0013] An exemplary temporary 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 device, the one or more programs include instructions to detect an indication that the physical proximity between the electronic device and the external device satisfies a proximity condition while connected to an external device, and in response to detecting the indication that the physical proximity satisfies a proximity condition, to display a first media information affordance via the display device, which represents a first media item currently being played on the external device and includes a first set of information about the first media item, to receive a first input representing a selection of the first media information affordance, and in response to receiving the first input, to start playing the first media item on the electronic device according to a determination that the first input is a first type of input, and to display a second media information affordance via the display device, which represents a first media item, which is different from the first media information affordance and includes a second set of information about the first media item, according to a determination that the first input is a second type of input different from a first type of input.
[0014] An exemplary electronic device includes a display device, one or more processors, and a memory for storing one or more programs configured to be executed by the one or more processors, wherein the one or more programs, while connected to an external device, detect an indication that the physical proximity between the electronic device and the external device satisfies a proximity condition, and in response to detecting the indication that the physical proximity satisfies a proximity condition, display a first media information affordance via the display device, which represents a first media item currently being played on the external device and includes a first set of information about the first media item, receive a first input representing the selection of the first media information affordance, and in response to receiving the first input, start playing the first media item on the electronic device according to a determination that the first input is a first type of input, and display a second media information affordance via the display device, which represents a first media item, which is different from the first media information affordance and includes a second set of information about the first media item, according to a determination that the first input is a second type of input different from a first type of input.
[0015] An exemplary electronic device includes a display device; means for detecting an indication that the physical proximity between the electronic device and the external device satisfies a proximity condition while connected to an external device; means for displaying, via the display device, a first media information affordance representing a first media item currently being played on the external device, which includes a first set of information relating to the first media item; means for receiving a first input representing a selection of the first media information affordance; and means for starting playback of the first media item on the electronic device in accordance with the determination that the first input is a first type of input, in accordance with the determination that the first input is a second type of input different from the first type of input, and for displaying, via the display device, a second media information affordance representing a first media item, which is different from the first media information affordance and includes a second set of information relating to the first media item.
[0016] An exemplary method includes, in an electronic device equipped with a display device, detecting an indication that the physical proximity between the electronic device and the external device satisfies a first proximity condition while the electronic device is connected to an external device; displaying a first media information affordance representing a first media item via the display device in response to the detection of the indication that the physical proximity satisfies the first proximity condition; detecting an indication that the physical proximity between the electronic device and the external device satisfies a second proximity condition while the first media information affordance representing the first media item is being displayed; and starting playback of the first media item in response to the detection of the indication that the physical proximity satisfies the second proximity condition.
[0017] An exemplary non-temporary 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 device, the one or more programs include instructions to detect an indication that the physical proximity between the electronic device and the external device satisfies a first proximity condition while connected to an external device, to display a first media information affordance representing a first media item via the display device in response to the detection of the indication that the physical proximity satisfies the first proximity condition, to detect an indication that the physical proximity between the electronic device and the external device satisfies a second proximity condition while the first media information affordance representing the first media item is being displayed, and to start playback of the first media item in response to the detection of the indication that the physical proximity satisfies the second proximity condition.
[0018] An exemplary temporary 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 device, the one or more programs include instructions to detect an indication that the physical proximity between the electronic device and the external device satisfies a first proximity condition while connected to an external device, to display a first media information affordance representing a first media item via the display device in response to the detection of the indication that the physical proximity satisfies a first proximity condition, to detect an indication that the physical proximity between the electronic device and the external device satisfies a second proximity condition while the first media information affordance representing the first media item is being displayed, and to start playback of the first media item in response to the detection of the indication that the physical proximity satisfies a second proximity condition.
[0019] An exemplary electronic device includes a display device, one or more processors, and a memory for storing one or more programs configured to be executed by the one or more processors, wherein the one or more programs include instructions for detecting an indication that the physical proximity between the electronic device and the external device satisfies a first proximity condition while connected to an external device, and in response to detecting the indication that the physical proximity satisfies the first proximity condition, displaying a first media information affordance representing a first media item via the display device, and while displaying the first media information affordance representing the first media item, detecting an indication that the physical proximity between the electronic device and the external device satisfies a second proximity condition, and in response to detecting the indication that the physical proximity satisfies the second proximity condition, starting playback of the first media item.
[0020] An exemplary electronic device includes a display device, means for detecting an indication that the physical proximity between the electronic device and the external device satisfies a first proximity condition while connected to an external device, means for displaying a first media information affordance representing a first media item via the display device in response to the detection of the indication that the physical proximity satisfies a first proximity condition, means for detecting an indication that the physical proximity between the electronic device and the external device satisfies a second proximity condition while the first media information affordance representing the first media item is being displayed, and means for initiating playback of the first media item in response to the detection of the indication that the physical proximity satisfies a second proximity condition.
[0021] An exemplary method includes, in a computer system communicating with a display generation component and one or more input devices, displaying a first user interface via the display generation component, the first user interface including a plurality of first selectable user interface objects, the first plurality of selectable user interface objects including: a first selectable user interface object that, when selected, causes the computer system to change the state of the computer system; a second selectable user interface object that, when selected according to a determination that the computer system is in a first usage context, causes a first external accessory device of a plurality of external accessory devices to perform a first function; and a third selectable user interface object, different from the second selectable user interface object, which, when selected according to a determination that the computer system is in a second usage context different from the first usage context, causes a second external accessory device of a plurality of external accessory devices to perform a second function, and which, when selected according to a determination that the computer system is in a first usage context, is not included in the user interface.
[0022] An exemplary non-temporary computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with a display generating component and one or more input devices, the one or more programs including instructions for displaying a first user interface including a first plurality of selectable user interface objects via the display generating component, the first plurality of selectable user interface objects including a first selectable user interface object that, when selected, causes the computer system to change the state of the computer system; a second selectable user interface object that, when selected according to a determination that the computer system is in a first usage context, causes a first external accessory device of a plurality of external accessory devices to perform a first function; and a third selectable user interface object, different from the second selectable user interface object, which, when selected according to a determination that the computer system is in a second usage context different from the first usage context, causes a second external accessory device of a plurality of external accessory devices to perform a second function, and which, when selected according to a determination that the computer system is in a first usage context, is not included in the user interface.
[0023] An exemplary temporary computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with a display generation component and one or more input devices, the one or more programs including instructions for displaying a first user interface including a first plurality of selectable user interface objects via the display generation component, the first plurality of selectable user interface objects including a first selectable user interface object that, when selected, causes the computer system to change the state of the computer system; a second selectable user interface object that, when selected according to a determination that the computer system is in a first usage context, causes a first external accessory device of a plurality of external accessory devices to perform a first function; and a third selectable user interface object, different from the second selectable user interface object, which, when selected according to a determination that the computer system is in a second usage context different from the first usage context, causes a second external accessory device of a plurality of external accessory devices to perform a second function, and which, when selected according to a determination that the computer system is in a first usage context, is not included in the user interface.
[0024] An exemplary computer system comprises one or more processors, the computer system communicating with a display generation component and one or more input devices, and a memory storing one or more programs configured to be executed by the one or more processors. The one or more programs include instructions for displaying a first user interface including a first plurality of selectable user interface objects via the display generation component, the first plurality of selectable user interface objects including a first selectable user interface object that, when selected, causes the computer system to change the state of the computer system; a second selectable user interface object that, when selected according to a determination that the computer system is in a first usage context, causes a first external accessory device of a plurality of external accessory devices to perform a first function; and a third selectable user interface object, different from the second selectable user interface object, that, when selected according to a determination that the computer system is in a second usage context different from the first usage context, causes a second external accessory device of a plurality of external accessory devices to perform a second function, and which, when selected according to a determination that the computer system is in a first usage context, is not included in the user interface.
[0025] An exemplary computer system includes means for displaying a first user interface including a plurality of first selectable user interface objects via a display generation component, the computer system communicates with the display generation component and one or more input devices, the plurality of first selectable user interface objects including: a first selectable user interface object that, when selected, causes the computer system to change the state of the computer system; a second selectable user interface object that, when selected according to a determination that the computer system is in a first usage context, causes a first external accessory device of a plurality of external accessory devices to perform a first function; and a third selectable user interface object, different from the second selectable user interface object, which, when selected according to a determination that the computer system is in a second usage context different from the first usage context, causes a second external accessory device of a plurality of external accessory devices to perform a second function, and which, when selected according to a determination that the computer system is in a first usage context, is not included in the user interface.
[0026] An exemplary method includes, in a computer system communicating with a display generation component and one or more input devices, receiving data indicating the current media playback status of an external media playback device, and, in response to receiving the data and in accordance with a determination that a set of external media playback device control criteria has been met, displaying a user interface via the display generation component for controlling media playback on the external media playback device, which includes a first selectable user interface object that, when selected via one or more input devices in accordance with a determination that the data indicates the external media playback device is currently performing a media playback operation, causes the external media playback device to change its media playback operation; a second selectable user interface object that, when selected via one or more input devices in accordance with a determination that the data indicates the external media playback device is not currently performing a media playback operation, causes the external media playback device to start playing a first predetermined media item; and a third selectable user interface object that, when selected via one or more input devices, causes the external media playback device to start playing a second predetermined media item.
[0027] An exemplary non - transient computer - readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with a display generation component and one or more input devices. The one or more programs receive data indicating a current media playback state of an external media playback device, and in response to receiving the data and according to a determination that a set of external media playback device control criteria is satisfied, via the display generation component, a user interface for controlling media playback in the external media playback device, including a first selectable user interface object that causes the external media playback device to change a media playback operation when selected via one or more input devices according to a determination that the data indicates that the external media playback device is currently performing a media playback operation, a second selectable user interface object that causes the external media playback device to start playing a first predetermined media item when selected via one or more input devices according to a determination that the data indicates that the external media playback device is not currently performing a media playback operation, and a third selectable user interface object that causes the external media playback device to start playing a second predetermined media item when selected via one or more input devices, and includes instructions to display the user interface.
[0028] An exemplary temporary computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with a display generating component and one or more input devices, the one or more programs receiving data indicating the current media playback state of an external media playback device, and in response to receiving the data and in accordance with the determination that a set of external media playback device control criteria has been met, the display generating component includes a first selectable user interface object that, when selected via one or more input devices in accordance with the determination that the data indicates the external media playback device is currently performing a media playback operation, causes the external media playback device to change its media playback operation; a second selectable user interface object that, when selected via one or more input devices in accordance with the determination that the data indicates the external media playback device is not currently performing a media playback operation, causes the external media playback device to start playing a first predetermined media item; and a third selectable user interface object that, when selected via one or more input devices, causes the external media playback device to start playing a second predetermined media item.
[0029] An exemplary computer system comprises one or more processors, the computer system communicating with a display generation component and one or more input devices, and a memory storing one or more programs configured to be executed by the one or more processors. The one or more programs receive data indicating the current media playback state of an external media playback device, and in response to the receipt of the data and in accordance with the determination that a set of external media playback device control criteria has been met, the program includes instructions for displaying a user interface for controlling media playback on the external media playback device via the display generation component, which includes a first selectable user interface object that, when selected via one or more input devices in accordance with the determination that the data indicates the external media playback device is currently performing a media playback operation, causes the external media playback device to change its media playback operation; a second selectable user interface object that, when selected via one or more input devices in accordance with the determination that the data indicates the external media playback device is not currently performing a media playback operation, causes the external media playback device to start playing a first predetermined media item; and a third selectable user interface object that, when selected via one or more input devices, causes the external media playback device to start playing a second predetermined media item.
[0030] An exemplary computer system includes means for receiving data indicating the current media playback state of an external media playback device, where the computer system communicates with a display generation component and one or more input devices; and a user interface for controlling media playback on the external media playback device via the display generation component in response to receiving the data and according to a determination that a set of external media playback device control criteria is met. The user interface includes a first selectable user interface object that causes the external media playback device to change the media playback operation when selected via one or more input devices according to a determination that the data indicates the external media playback device is currently performing a media playback operation; a second selectable user interface object that causes the external media playback device to start playing a first predetermined media item when selected via one or more input devices according to a determination that the data indicates the external media playback device is not currently performing a media playback operation; and a third selectable user interface object that causes the external media playback device to start playing a second predetermined media item when selected via one or more input devices. The computer system also includes means for displaying the user interface.
[0031] An exemplary method includes, in a computer system communicating with a display generation component and one or more input devices, displaying a user interface via the display generation component, the user interface comprising: a first selectable user interface object for controlling a first set of one or more media playback devices; a second selectable user interface object for controlling a second set of one or more media playback devices different from the first set of one or more media playback devices; and an indication that the first selectable user interface object is selected; receiving user input corresponding to the selection of the second selectable user interface object while the user interface contains the indication; displaying a third selectable user interface object in the user interface for controlling one or a third set of media playback devices, including the first set of one or more media playback devices and the second set of one or more media playback devices, in response to receiving user input corresponding to the selection of the second selectable user interface object and in accordance with the determination that a set of criteria has been met; and ceasing to display the first selectable user interface object and the second user interface object.
[0032] An exemplary non-temporary computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with a display generating component and one or more input devices, the one or more programs including instructions to display a user interface via the display generating component, the user interface including a first selectable user interface object for controlling a first set of one or more media playback devices, a second selectable user interface object for controlling a second set of one or more media playback devices different from the first set of one or more media playback devices, and an indication that the first selectable user interface object is selected, and while the user interface includes the indication, receive user input corresponding to the selection of the second selectable user interface object, and, in response to receiving user input corresponding to the selection of the second selectable user interface object and in accordance with the determination that a set of criteria has been met, display a third selectable user interface object in the user interface for controlling one or a third set of media playback devices, including the first set of one or more media playback devices and the second set of one or more media playback devices, and stop displaying the first selectable user interface object and the second user interface object.
[0033] An exemplary temporary computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with a display generating component and one or more input devices, the one or more programs including instructions to display a user interface via the display generating component, the user interface including a first selectable user interface object for controlling a first set of one or more media playback devices, a second selectable user interface object for controlling a second set of one or more media playback devices different from the first set of one or more media playback devices, and an indication that the first selectable user interface object is selected, and while the user interface includes the indication, receive user input corresponding to the selection of the second selectable user interface object, and, in response to receiving user input corresponding to the selection of the second selectable user interface object and in accordance with the determination that a set of criteria has been met, display a third selectable user interface object in the user interface for controlling one or a third set of media playback devices, including the first set of one or more media playback devices and the second set of one or more media playback devices, and stop displaying the first selectable user interface object and the second user interface object.
[0034] An exemplary computer system comprises one or more processors, the computer system communicating with a display generation component and one or more input devices, and memory storing one or more programs configured to be executed by the one or more processors. One or more programs include instructions to display a user interface via the display generation component, the user interface including a first selectable user interface object for controlling a first set of one or more media playback devices, a second selectable user interface object for controlling a second set of one or more media playback devices different from the first set of one or more media playback devices, and an indication that the first selectable user interface object is selected; to receive user input corresponding to the selection of the second selectable user interface object while the user interface includes the indication; to display a third selectable user interface object in the user interface for controlling one or a third set of media playback devices, including the first set of one or more media playback devices and the second set of one or more media playback devices, in response to receiving user input corresponding to the selection of the second selectable user interface object and in accordance with the determination that a set of criteria has been met; and to stop displaying the first selectable user interface object and the second user interface object.
[0035] An exemplary computer system includes means for displaying a user interface via a display generation component, the user interface comprising: a first selectable user interface object for controlling a first set of one or more media playback devices; a second selectable user interface object for controlling a second set of one or more media playback devices different from the first set of one or more media playback devices; and an indication that the first selectable user interface object is selected; means for receiving user input corresponding to the selection of the second selectable user interface object while the user interface includes the indication; and means for displaying a third selectable user interface object in the user interface for controlling one or a third set of media playback devices, including the first set of one or more media playback devices and the second set of one or more media playback devices, in response to receiving user input corresponding to the selection of the second selectable user interface object and in accordance with a determination that a set of criteria has been met, and for ceasing to display the first selectable user interface object and the second user interface object.
[0036] An exemplary method is to start a first process in a computer system, which provides media to a second set of one or more devices while the computer system is providing media to a first set of one or more devices, and while the computer system is continuing to provide media to a first set of one or more devices, the first process includes receiving first data from a first external device communicating with the second set of one or more devices indicating a first request to proceed with the first process of providing media to a second set of one or more devices, and receiving second data indicating a second request to proceed with the first process of providing media to a second set of one or more devices, which is received from a second external device communicating with the second set of one or more devices, or received from a first device of the second set of one or more devices, and after receiving the first and second data, providing media to a second set of one or more devices while continuing to provide media to the first set of one or more devices.
[0037] An exemplary non-temporary computer-readable storage medium stores one or more programs configured to be executed by one or more processors, and the one or more programs include instructions to start a first process, which provides media to one or more devices while the computer system is providing media to a first set of one or more devices, and while the computer system is providing media to a first set of one or more devices, and while the computer system is continuing to provide media to a second set of one or more devices, the first process includes receiving first data indicating a first request to proceed with the first process of providing media to a second set of one or more devices from a first external device communicating with the second set of one or more devices, and receiving second data indicating a second request to proceed with the first process of providing media to a second set of one or more devices, which is received from a second external device communicating with the second set of one or more devices, or from a first device of the second set of one or more devices.
[0038] An exemplary temporary computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system, and the one or more programs include instructions to start a first process, which provides media to one or more devices while the computer system is providing media to a first set of one or more devices, and while the computer system is providing media to one or more devices, and while the computer system is continuing to provide media to one or more devices, the first process includes receiving first data indicating a first request to proceed with the first process of providing media to one or more devices from a first external device communicating with the second set of one or more devices, and receiving second data indicating a second request to proceed with the first process of providing media to one or more devices, which is received from a second external device communicating with the second set of one or more devices, or from a first device of the second set of one or more devices.
[0039] An exemplary computer system comprises one or more processors and memory for storing one or more programs configured to run by one or more processors. The one or more programs include instructions for starting a first process, which provides media to one or more devices while the computer system is providing media to a first set of one or more devices, and continuing to provide media to one or more devices while the computer system is providing media to a first set of one or more devices, and which includes receiving first data from a first external device communicating with the second set of one or more devices indicating a first request to advance the first process of providing media to one or more devices, and receiving second data indicating a second request to advance the first process of providing media to one or more devices, which is received from a second external device communicating with the second set of one or more devices, or received from a first device of the second set of one or more devices.
[0040] An exemplary computer system includes means for initiating a first process of providing media to a second set of one or more devices while the computer system is providing media to a first set of one or more devices, and while continuing to provide media to a first set of one or more devices, means for receiving first data indicating a first request to proceed with the first process of providing media to a second set of one or more devices from a first external device communicating with the second set of one or more devices; and means for receiving second data indicating a second request to proceed with the first process of providing media to a second set of one or more devices, which is received from a second external device communicating with the second set of one or more devices, or from a first device of the second set of one or more devices; and means for providing media to a second set of one or more devices while continuing to provide media to a first set of one or more devices after receiving the first and second data.
[0041] An exemplary method includes, in a computer system communicating with one or more input devices, receiving a first request from a first user to perform an action; in response to the first request, initiating the execution of a first action performed based on at least first execution parameters; after initiating the execution of the first action, receiving a second request to perform an action via one or more input devices; in response to receiving the second request, in accordance with the determination that the second request was made by the first user, initiating the execution of a second action performed based on at least first execution parameters; and in accordance with the determination that the second request was made by a second user different from the first user, initiating the execution of a third action different from the first action.
[0042] An exemplary non-temporary computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with a display-generating component and one or more input devices, the one or more programs include instructions that receive a first request from a first user to perform an action, and in response to the first request, initiate the execution of a first action performed based on at least first execution parameters, and after initiating the execution of the first action, receive a second request to perform an action via one or more input devices, and in response to receiving the second request, initiate the execution of a second action performed based on at least first execution parameters, according to a determination that the second request was made by the first user, and initiate the execution of a third action different from the first action, according to a determination that the second request was made by a second user different from the first user.
[0043] An exemplary temporary computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system communicating with a display generation component and one or more input devices, the one or more programs include instructions that receive a first request from a first user to perform an action, and in response to the first request, initiate the execution of a first action performed based on at least first execution parameters, and after initiating the execution of the first action, receive a second request to perform an action via one or more input devices, and in response to receiving the second request, initiate the execution of a second action performed based on at least first execution parameters, according to the determination that the second request was made by the first user, and initiate the execution of a third action different from the first action, according to the determination that the second request was made by a second user different from the first user.
[0044] An exemplary computer system comprises one or more processors, the computer system communicating with a display generation component and one or more input devices, and a memory storing one or more programs configured to be executed by the one or more processors. The one or more programs include instructions that receive a first request from a first user to perform an action, and in response to the first request, start the execution of a first action performed based on at least first execution parameters, and after starting the execution of the first action, receive a second request to perform an action via one or more input devices, and in response to receiving the second request, start the execution of a second action performed based on at least first execution parameters according to the determination that the second request was made by the first user, and start the execution of a third action different from the first action according to the determination that the second request was made by a second user different from the first user.
[0045] An exemplary computer system includes means for receiving a first request from a first user to perform an operation; means for initiating the execution of a first operation performed based on at least first execution parameters in response to the first request; means for receiving a second request to perform an operation via one or more input devices after initiating the execution of the first operation; and means for, upon receiving the second request, in accordance with the determination that the second request was made by the first user, to initiate the execution of a second operation performed based on at least first execution parameters, and in accordance with the determination that the second request was made by a second user different from the first user, to initiate the execution of a third operation different from the first operation.
[0046] The executable instructions that perform these functions are optionally contained within a non-temporary computer-readable storage medium or other computer program product configured to be executed by one or more processors.
[0047] Therefore, faster and more efficient methods and interfaces for controlling audio playback are provided to the device, thereby increasing the effectiveness, efficiency, and user satisfaction of such a device. Such methods and interfaces can complement or replace other methods for controlling audio playback. [Brief explanation of the drawing]
[0048] To better understand the various embodiments described, the following “Modes for Carrying Out the Invention” should be referenced in conjunction with the following drawings, and similar reference numbers throughout the following drawings refer to the corresponding parts.
[0049] [Figure 1A] This is a block diagram showing a portable multifunctional device having a touch-sensitive display, according to several embodiments.
[0050] [Figure 1B] This is a block diagram showing exemplary components for event handling according to several embodiments.
[0051] [Figure 2] This figure shows a portable multifunctional device having a touchscreen, according to several embodiments.
[0052] [Figure 3] This is a block diagram of an exemplary multifunctional device having a display and a touch-sensitive surface, according to several embodiments.
[0053] [Figure 4A] This figure shows an exemplary user interface for an application menu on a portable multifunction device, according to several embodiments.
[0054] [Figure 4B]This figure shows an exemplary user interface for a multifunctional device having a touch-sensitive surface separate from the display, according to several embodiments.
[0055] [Figure 5A] This figure shows a personal electronic device according to several embodiments.
[0056] [Figure 5B] This is a block diagram showing a personal electronic device according to several embodiments.
[0057] [Figure 5C] The following are exemplary components of a personal electronic device having a touch-sensitive display and intensity sensor according to several embodiments. [Figure 5D] The following are exemplary components of a personal electronic device having a touch-sensitive display and intensity sensor according to several embodiments.
[0058] [Figure 5E] The following are exemplary components and user interfaces of personal electronic devices according to several embodiments. [Figure 5F] The following are exemplary components and user interfaces of personal electronic devices according to several embodiments. [Figure 5G] The following are exemplary components and user interfaces of personal electronic devices according to several embodiments. [Figure 5H] The following are exemplary components and user interfaces of personal electronic devices according to several embodiments.
[0059] [Figure 5I] Several embodiments of electronic devices are shown.
[0060] [Figure 5J] This is a block diagram showing an electronic device according to several embodiments.
[0061] [Figure 6A] Several exemplary user interfaces according to certain embodiments are shown. [Figure 6B] Several exemplary user interfaces according to certain embodiments are shown. [Figure 6C] Several exemplary user interfaces according to certain embodiments are shown. [Figure 6D] Several exemplary user interfaces according to certain embodiments are shown. [Figure 6E] Several exemplary user interfaces according to certain embodiments are shown. [Figure 6F] Several exemplary user interfaces according to certain embodiments are shown. [Figure 6G] Several exemplary user interfaces according to certain embodiments are shown. [Figure 6H] Several exemplary user interfaces according to certain embodiments are shown. [Figure 6I] Several exemplary user interfaces according to certain embodiments are shown. [Figure 6J] Several exemplary user interfaces according to certain embodiments are shown. [Figure 6K] Several exemplary user interfaces according to certain embodiments are shown. [Figure 6L] Several exemplary user interfaces according to certain embodiments are shown. [Figure 6M] Several exemplary user interfaces according to certain embodiments are shown. [Figure 6N] Several exemplary user interfaces according to certain embodiments are shown. [Figure 6O] Several exemplary user interfaces according to certain embodiments are shown. [Figure 6P] Several exemplary user interfaces according to certain embodiments are shown.
[0062] [Figure 7]Several exemplary methods according to some embodiments are shown.
[0063] [Figure 8] Several exemplary methods according to some embodiments are shown.
[0064] [Figure 9A] Several exemplary user interfaces according to certain embodiments are shown. [Figure 9B] Several exemplary user interfaces according to certain embodiments are shown. [Figure 9C] Several exemplary user interfaces according to certain embodiments are shown. [Figure 9D] Several exemplary user interfaces according to certain embodiments are shown.
[0065] [Figure 10] Several exemplary methods according to some embodiments are shown.
[0066] [Figure 11A] Several exemplary user interfaces according to certain embodiments are shown. [Figure 11B] Several exemplary user interfaces according to certain embodiments are shown. [Figure 11C] Several exemplary user interfaces according to certain embodiments are shown. [Figure 11D] Several exemplary user interfaces according to certain embodiments are shown.
[0067] [Figure 12] This figure shows an exemplary set of devices according to several embodiments.
[0068] [Figure 13A] Several exemplary user interfaces according to certain embodiments are shown. [Figure 13B] Several exemplary user interfaces according to certain embodiments are shown. [Figure 13C]Several exemplary user interfaces according to certain embodiments are shown. [Figure 13D] Several exemplary user interfaces according to certain embodiments are shown. [Figure 13E] Several exemplary user interfaces according to certain embodiments are shown. [Figure 13F] Several exemplary user interfaces according to certain embodiments are shown. [Figure 13G] Several exemplary user interfaces according to certain embodiments are shown. [Figure 13H] Several exemplary user interfaces according to certain embodiments are shown. [Figure 13I] Several exemplary user interfaces according to certain embodiments are shown. [Figure 13J] Several exemplary user interfaces according to certain embodiments are shown. [Figure 13K] Several exemplary user interfaces according to certain embodiments are shown. [Figure 13L] Several exemplary user interfaces according to certain embodiments are shown. [Figure 13M] Several exemplary user interfaces according to certain embodiments are shown. [Figure 13N] Several exemplary user interfaces according to certain embodiments are shown.
[0069] [Figure 14] Several exemplary methods according to some embodiments are shown.
[0070] [Figure 15A] Several exemplary user interfaces according to certain embodiments are shown. [Figure 15B] Several exemplary user interfaces according to certain embodiments are shown. [Figure 15C] Several exemplary user interfaces according to certain embodiments are shown. [Figure 15D] Several exemplary user interfaces according to certain embodiments are shown. [Figure 15E] Several exemplary user interfaces according to certain embodiments are shown. [Figure 15F] Several exemplary user interfaces according to certain embodiments are shown. [Figure 15G] Several exemplary user interfaces according to certain embodiments are shown. [Figure 15H] Several exemplary user interfaces according to certain embodiments are shown. [Figure 15I] Several exemplary user interfaces according to certain embodiments are shown. [Figure 15J] Several exemplary user interfaces according to certain embodiments are shown. [Figure 15K] Several exemplary user interfaces according to certain embodiments are shown. [Figure 15L] Several exemplary user interfaces according to certain embodiments are shown.
[0071] [Figure 16] Several exemplary methods according to some embodiments are shown.
[0072] [Figure 17A] Several exemplary user interfaces according to certain embodiments are shown. [Figure 17B] Several exemplary user interfaces according to certain embodiments are shown. [Figure 17C] Several exemplary user interfaces according to certain embodiments are shown. [Figure 17D] Several exemplary user interfaces according to certain embodiments are shown. [Figure 17E] Several exemplary user interfaces according to certain embodiments are shown. [Figure 17F] Several exemplary user interfaces according to certain embodiments are shown. [Figure 17G] Several exemplary user interfaces according to certain embodiments are shown. [Figure 17H]Several exemplary user interfaces according to certain embodiments are shown. [Figure 17I] Several exemplary user interfaces according to certain embodiments are shown. [Figure 17J] Several exemplary user interfaces according to certain embodiments are shown. [Figure 17K] Several exemplary user interfaces according to certain embodiments are shown. [Figure 17L] Several exemplary user interfaces according to certain embodiments are shown. [Figure 17M] Several exemplary user interfaces according to certain embodiments are shown. [Figure 17N] Several exemplary user interfaces according to certain embodiments are shown. [Figure 17O] Several exemplary user interfaces according to certain embodiments are shown. [Figure 17P] Several exemplary user interfaces according to certain embodiments are shown.
[0073] [Figure 18] Several exemplary methods according to some embodiments are shown.
[0074] [Figure 19A] Several exemplary user interfaces according to certain embodiments are shown. [Figure 19B] Several exemplary user interfaces according to certain embodiments are shown. [Figure 19C] Several exemplary user interfaces according to certain embodiments are shown. [Figure 19C1] Several exemplary user interfaces according to certain embodiments are shown. [Figure 19D] Several exemplary user interfaces according to certain embodiments are shown. [Figure 19E] Several exemplary user interfaces according to certain embodiments are shown. [Figure 19F] Several exemplary user interfaces according to certain embodiments are shown. [Figure 19G] Several exemplary user interfaces according to certain embodiments are shown. [Figure 19H] Several exemplary user interfaces according to certain embodiments are shown. [Figure 19I] Several exemplary user interfaces according to certain embodiments are shown.
[0075] [Figure 20] Several exemplary methods according to some embodiments are shown.
[0076] [Figure 21A] Several exemplary user interfaces according to certain embodiments are shown. [Figure 21B] Several exemplary user interfaces according to certain embodiments are shown. [Figure 21C] Several exemplary user interfaces according to certain embodiments are shown. [Figure 21D] Several exemplary user interfaces according to certain embodiments are shown. [Figure 21E] Several exemplary user interfaces according to certain embodiments are shown. [Figure 21F] Several exemplary user interfaces according to certain embodiments are shown.
[0077] [Figure 22A] Several exemplary user interfaces according to certain embodiments are shown. [Figure 22B] Several exemplary user interfaces according to certain embodiments are shown. [Figure 22C] Several exemplary user interfaces according to certain embodiments are shown. [Figure 22D] Several exemplary user interfaces according to certain embodiments are shown. [Figure 22E] Several exemplary user interfaces according to certain embodiments are shown. [Figure 22F]Several exemplary user interfaces according to certain embodiments are shown.
[0078] [Figure 23] Several exemplary methods according to some embodiments are shown. [Modes for carrying out the invention]
[0079] The following description includes exemplary methods, parameters, etc. However, it should be noted that such descriptions are not intended to limit the scope of this disclosure, but rather are provided to describe exemplary embodiments.
[0080] There is a need for electronic devices that provide efficient methods and interfaces for controlling audio playback. The technology described below allows a user to transfer audio playback from one device to another by bringing the two devices close together. For example, while playing music on a phone, a user can place the phone close to a wireless speaker and transfer the music playback to the wireless speaker, which may provide better sound quality than the phone. When the phone is brought close to the speaker, a notification appears on the phone (e.g., at the top of the phone's display) informing the user that music can be played on the speaker. The notification can be tapped to start playback of the music on the speaker. Instead of starting playback, a swipe gesture to pull down the notification provides an interface with additional information, such as a queue of recent and / or scheduled media items that can be selected to play on the speaker. The audio media playing on the speaker can be transferred to the phone in a similar manner. While audio is playing on the speaker, bringing the phone closer to the speaker allows the phone to display a notification similar to the one described above, except that tapping the notification transfers the audio from the speaker to the phone, and swiping the notification displays additional information about the media playing on the speaker. In some embodiments, while the notification is displayed, the phone can be brought even closer to the speaker to start playback without any touch input on the phone's display. Such techniques can reduce the cognitive burden on the user to start playback of audio media, thereby increasing productivity. Furthermore, such techniques can reduce the power of the processor and battery that would normally be wasted on redundant user input.
[0081] Figures 1A-1B, 2, 3, 4A-4B, and 5A-5J below provide a description of exemplary devices that perform techniques for managing event notifications. Figures 6A-6P and 11A-11D show exemplary user interfaces for controlling audio playback. Figures 7-8 are flowcharts illustrating methods for controlling audio playback according to several embodiments. The user interfaces in Figures 6A-6P and 11A-11D are used to illustrate processes described later, including the processes shown in Figures 7-8. Figures 9A-9D and 11A-11D show exemplary user interfaces for controlling audio playback. Figure 10 is a flowchart illustrating methods for controlling audio playback according to several embodiments. The user interfaces in Figures 9A-9D and 11A-11D are used to illustrate processes described later, including the processes shown in Figure 10. Figure 12 is a diagram showing a set of exemplary devices according to several embodiments. The diagram in Figure 12 is used to illustrate a process described later, including the processes shown in Figures 14, 18, 20, and 23. Figures 13A to 13N show exemplary user interfaces for managing controls according to several embodiments. Figure 14 is a flowchart showing a method for managing controls according to several embodiments. The user interfaces in Figures 13A to 13N are used to illustrate a process described later, including the process shown in Figure 14. Figures 15A to 15L show exemplary user interfaces for controlling audio playback according to several embodiments. Figure 16 is a flowchart showing a method for controlling audio playback according to several embodiments. The user interfaces in Figures 15A to 15L are used to illustrate a process described later, including the process shown in Figure 16. Figures 17A to 17P show exemplary user interfaces for managing controls for controlling audio playback on a group of devices according to several embodiments. Figure 18 is a flowchart showing a method for managing controls for controlling audio playback on a group of devices.The user interfaces in Figures 17A to 17P are used to illustrate processes described later, including the process shown in Figure 18. Figures 19A to 19I show exemplary user interfaces for sharing media according to several embodiments. Figure 20 is a flowchart illustrating how to share media. The user interfaces in Figures 19A to 19I are used to illustrate processes described later, including the process shown in Figure 20. Figures 21A to 21F show exemplary user interfaces for managing voice input according to several embodiments. Figures 22A to 22F show exemplary user interfaces for managing voice input according to several embodiments. Figure 23 is a flowchart illustrating how to manage voice input according to several embodiments. The user interfaces in Figures 21A to 21F and Figures 22A to 22F are used to illustrate processes described later, including the process shown in Figure 23.
[0082] In the following description, terms such as “first,” “second,” etc., are used to describe various elements, but these elements should not be limited by these terms. These terms are used solely to distinguish one element from another. For example, without departing from the scope of the various embodiments described, the first touch may be called the second touch, and similarly, the second touch may be called the first touch. Both the first touch and the second touch are touches, but they are not the same touch.
[0083] The terminology used in the descriptions of the various embodiments described herein is intended solely to describe specific embodiments and is not intended to be limiting. In the descriptions of the various embodiments and the accompanying claims, the singular forms “a,” “an,” and “the” are intended to include the plural forms as well, unless otherwise explicitly stated in the context. Furthermore, it should be understood that, as used herein, the term “and / or” refers to and includes any and all possible combinations of one or more of the enumerated items relating to the description. It will be further understood that, as used herein, the terms “includes,” “comprises,” and / or “comprising” specify the presence of the described features, integers, steps, actions, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, actions, elements, components, and / or groups thereof.
[0084] The phrase "if" can be interpreted, at will, depending on the context, as "when" or "upon," or "in response to determining" or "in response to detecting." Similarly, the phrases "if it is determined" or "if [a stated condition or event] is detected" can be interpreted, at will, depending on the context, as "upon determining" or "in response to determining," or "upon detecting [the stated condition or event]" or "in response to detecting [the stated condition or event]."
[0085] Embodiments of electronic devices, user interfaces for such devices, and associated processes for using such devices are described. In some embodiments, the device is a portable communication device, such as a mobile phone, which also includes other functions such as PDA functionality and / or music player functionality. Exemplary embodiments of portable multifunction devices include, but are not limited to, the iPhone®, iPod Touch®, and iPad® devices from Apple Inc., Cupertino, California. Optionally, other portable electronic devices such as laptops or tablet computers having a touch-sensitive surface (e.g., a touchscreen display and / or touchpad) are also used. It should also be understood that in some embodiments, the device is not a portable communication device but a desktop computer having a touch-sensitive surface (e.g., a touchscreen display and / or touchpad). In some embodiments, the electronic device is a computer system communicating with a display-generating component (e.g., via wireless communication over wired communication). The display-generating component is configured to provide a visual output, such as a display via a CRT display, a display via an LED display, or a display via image projection. In some embodiments, the display-generating component is integrated with the computer system. In some embodiments, the display-generating component is separate from the computer system. When used herein, "display" content includes displaying content (e.g., video data rendered or decoded by the display controller 156) by transmitting data (e.g., image data or video data) via a wired or wireless connection to an integrated or external display generation component in order to visually generate the content.
[0086] The following discussion describes electronic devices including displays and touch-sensitive surfaces. However, it should be understood that electronic devices optionally include one or more other physical user interface devices such as physical keyboards, mice, and / or joysticks.
[0087] The device typically supports a variety of applications, including drawing applications, presentation applications, word processing applications, website creation applications, disk authoring applications, spreadsheet applications, game applications, telephone applications, video conferencing applications, email applications, instant messaging applications, training support applications, photo management applications, digital camera applications, digital video camera applications, web browsing applications, digital music player applications, and / or digital video player applications.
[0088] Various applications running on this device optionally utilize at least one common physical user interface device, such as a touch-sensitive surface. One or more functions of the touch-sensitive surface, as well as the corresponding information displayed on the device, are optionally adjusted and / or modified on an application-by-application basis and / or within each application. In this way, the device's common physical architecture (such as the touch-sensitive surface) optionally supports a variety of applications with intuitive and transparent user interfaces for the user.
[0089] Here, we turn our attention to embodiments of portable devices having a touch-sensitive display. Figure 1A is a block diagram of a portable multifunction device 100 having a touch-sensitive display system 112 according to several embodiments. The touch-sensitive display 112 may be conveniently referred to as a “touchscreen” and may be known or referred to as a “touch-sensitive display system”. Device 100 includes a memory 102 (optionally including one or more computer-readable storage media), a memory controller 122, one or more processing units (CPUs) 120, a peripheral 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. Device 100 optionally includes one or more optical sensors 164. Device 100 optionally includes one or more contact intensity sensors 165 (e.g., touch-sensitive surfaces such as the touch-sensitive display system 112 of Device 100) that detect the intensity of contact on Device 100. Device 100 optionally includes one or more tactile output generators 167 that generate tactile outputs on Device 100 (for example, on touch-sensitive surfaces such as the touch-sensitive display system 112 of Device 100 or the touchpad 355 of Device 300). These components optionally communicate via one or more communication buses or signal lines 103.
[0090] As used herein and in the claims, the term “strength” of contact on a touch-sensitive surface refers to the force or pressure (force per unit area) of contact on the touch-sensitive surface (e.g., finger contact), or a proxy for the force or pressure of contact on the touch-sensitive surface. The strength of contact has a range of values, including at least four distinct values, and more typically, including several hundred (e.g., at least 256) distinct values. The strength of 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 forces at various points on the touch-sensitive surface. In some implementations, force measurements from multiple force sensors are combined (e.g., weighted averaged) to determine an estimated force of contact. 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 and / or variation of the contact area detected on the touch-sensing surface, the capacitance and / or variation of the touch-sensing surface adjacent to the contact, and / or the resistance and / or variation of the touch-sensing surface adjacent to the contact may optionally be used as a substitute for the force or pressure of the contact on the touch-sensing surface. In some implementations, the substitute measurement of the contact force or pressure is used directly to determine whether it exceeds an intensity threshold (e.g., the intensity threshold is described in units corresponding to the substitute measurement). In some implementations, the substitute measurement of the contact force or pressure is converted into an estimate of the force or pressure, which is then used to determine whether it exceeds an intensity threshold (e.g., the intensity threshold is a pressure threshold measured in units of pressure). By using the intensity of contact as an attribute of user input, it becomes possible for users to access additional device functions that might otherwise be inaccessible (e.g., on a touch-sensitive display) and / or receive user input (e.g., via a touch-sensitive display, touch-sensitive surface, or physical / mechanical control such as a knob or button) on reduced-size devices where the implementation area for displaying affordances is limited.
[0091] As used herein and in the claims, the term “tactile output” refers to the physical displacement of a device relative to its previous position, the physical displacement of a component of a device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., a housing), or the displacement of a component relative to the center of mass of a device, which will be detected by the user through the user’s sense of touch. For example, in a situation where a device or component of a device is in contact with a touch-sensitive user’s surface (e.g., the user’s fingers, palm, or other part of their hand), the tactile output generated by the physical displacement will be interpreted by the user as a tactile sensation corresponding to a perceived change in the physical properties of the device or component of the device. For example, the movement of a touch-sensitive surface (e.g., a touch-sensitive display or trackpad) may be optionally interpreted by the user as a “down-click” or “up-click” of a physical actuator button. In some cases, the user may feel a tactile sensation such as a “down-click” or “up-click” even when there is no movement of a physical actuator button associated with a touch-sensitive surface that has been physically pressed (e.g., displaced) by the user’s action. As another example, movement of a touch-sensitive surface may be interpreted or perceived by the user as "roughness" of that surface, even if there is no change in the smoothness of the touch-sensitive surface. Such user interpretations of touch depend on the user's personal sensory perception, but there are many touch sensory perceptions common to the majority of users. Therefore, when a tactile output is described as corresponding to a user's specific sensory perception (e.g., "up-click," "down-click," "roughness"), unless otherwise stated, the generated tactile output corresponds to the physical displacement of the device or its components that produce the described sensory perception of a typical (or average) user.
[0092] It should be understood that device 100 is merely an example of a portable multifunction device, and that device 100 may optionally have more or fewer components than those shown, may optionally combine two or more components, or may optionally have different configurations or arrangements of those components. The various components shown in Figure 1A are implemented in hardware, software, or a combination of both hardware and software, including one or more signal processing circuits and / or application-specific integrated circuits.
[0093] Memory 102 optionally includes high-speed random-access memory and optionally includes non-volatile memory such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Memory controller 122 optionally controls access to memory 102 by other components of device 100.
[0094] The peripheral interface 118 can be used to connect the device's input and output peripherals to the CPU 120 and memory 102. One or more processors 120 operate or execute various software programs and / or instruction sets stored in memory 102 to perform various functions for device 100 and process data. In some embodiments, the peripheral interface 118, CPU 120, and memory controller 122 are optionally implemented on a single chip, such as chip 104. In some other embodiments, they are optionally implemented on separate chips.
[0095] The RF (radio frequency) circuit 108 transmits and receives RF signals, also known as electromagnetic signals. The RF circuit 108 converts electrical signals to electromagnetic signals or electromagnetic signals to electrical signals and communicates with communication networks and other communication devices via electromagnetic signals. The RF circuit 108 optionally includes well-known circuits for performing these functions, which include, but are not limited to, antenna systems, RF transceivers, one or more amplifiers, tuners, one or more oscillators, digital signal processors, CODEC chipsets, subscriber identity module (SIM) cards, and memory. The RF circuit 108 optionally communicates wirelessly with networks such as the Internet, also known as the World Wide Web (WWW), intranets, and / or wireless networks such as cellular telephone networks, wireless local area networks (LANs), and / or metropolitan area networks (MANs), as well as with other devices. The RF circuit 108 optionally includes a well-known circuit for detecting a near-field communication (NFC) field using a short-range communication radio. Wireless communication is not limited to this, but optionally includes 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), and long-term evolution.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.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) Using any of several communication standards, protocols, and technologies, including the XMPP protocol, the Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE), the Instant Messaging and Presence Service (IMPS), and / or the Short Message Service (SMS), or any other suitable communication protocol, including a communication protocol not yet developed as of the filing date of this specification.
[0096] The audio circuit 110, speaker 111, and microphone 113 provide an audio interface between the user and the device 100. The audio circuit 110 receives audio data from the peripheral interface 118, converts this audio data into an electrical signal, and transmits this electrical signal to the speaker 111. The speaker 111 converts the electrical signal into human audible sound waves. The audio circuit 110 also receives the electrical signal converted from the sound waves by the microphone 113. The audio circuit 110 converts the electrical signal into audio data and transmits this audio data to the peripheral interface 118 for processing. The audio data is optionally retrieved from and / or transmitted to the memory 102 and / or RF circuit 108 by the peripheral interface 118. In some embodiments, the audio circuit 110 also includes a headset jack (e.g., 212 in Figure 2). The headset jack provides an interface between the audio circuit 110 and detachable audio input / output peripherals such as output-only headphones or headsets that have both output (e.g., headphones for one or both ears) and input (e.g., a microphone).
[0097] The I / O subsystem 106 connects input / output peripherals on device 100, such as the touchscreen 112 and other input control devices 116, to the peripheral interface 118. The I / O subsystem 106 optionally includes a display controller 156, an optical sensor controller 158, a depth camera controller 169, an intensity sensor controller 159, a haptic feedback controller 161, and one or more input controllers 160 for other input or control devices. One or more input controllers 160 receive electrical signals from / transmit electrical signals to other input control devices 116. The other input control devices 116 optionally include physical buttons (e.g., push buttons, rocker buttons), dials, slider switches, joysticks, click wheels, etc. In some embodiments, one or more input controllers 160 are optionally connected to (or not connected to) one of the following: a keyboard, an infrared port, a USB port, and a pointer device such as a mouse. One or more buttons (e.g., 208 in Figure 2) optionally include up / down buttons for volume control of speaker 111 and / or microphone 113. One or more buttons optionally include push buttons (e.g., 206 in Figure 2). In some embodiments, the electronic device is a computer system communicating with one or more input devices (e.g., via wireless communication over wired communication). In some embodiments, one or more input devices include a touch-sensitive surface (e.g., a trackpad as part of a touch-sensitive display). In some embodiments, one or more input devices include one or more camera sensors (e.g., one or more light sensors 164 and / or one or more depth camera sensors 175), for example, to track user gestures (e.g., hand gestures) as input. In some embodiments, one or more input devices are integrated with the computer system. In some embodiments, one or more input devices are separate from the computer system.
[0098] As described in U.S. Patent Application No. 11 / 322,549, “Unlocking a Device by Performing Gestures on an Unlock Image,” filed December 23, 2005, U.S. Patent No. 7,657,849, which is incorporated herein by reference in its entirety, a quick press of a push button optionally unlocks the touchscreen 112, or optionally initiates a process to unlock the device using gestures on the touchscreen. A longer press of a push button (e.g., 206) optionally turns power on or off the device 100. The functionality of one or more of the buttons is optionally customizable by the user. The touchscreen 112 is used to implement virtual or soft buttons and one or more soft keyboards.
[0099] The touch-sensitive display 112 provides input and output interfaces between the device and the user. The display controller 156 receives electrical signals from and / or transmits electrical signals to the touchscreen 112. The touchscreen 112 displays a visual output to the user. This visual output optionally includes graphics, text, icons, videos, and any combination thereof (collectively, “graphics”). In some embodiments, some or all of the visual output optionally corresponds to user interface objects.
[0100] The touchscreen 112 has a touch-sensing surface, sensor, or set of sensors that accept user input based on touch and / or tactile contact. The touchscreen 112 and the display controller 156 (together with any associated modules and / or instruction sets in memory 102) detect contact (and any movement or interruption of contact) on the touchscreen 112 and translate the detected contact into interaction with user interface objects displayed on the touchscreen 112 (e.g., one or more soft keys, icons, web pages, or images). In an exemplary embodiment, the point of contact between the touchscreen 112 and the user corresponds to the user's finger.
[0101] The touchscreen 112 optionally uses LCD (liquid crystal display) technology, LPD (polymer light-emitting display) technology, or LED (light-emitting diode) technology, but other display technologies may also be used in other embodiments. The touchscreen 112 and the display controller 156 optionally, but not limited to, use any of a number of currently known or future-developed touch sensing technologies, including capacitive, resistive, infrared, and surface acoustic technologies, as well as other proximity sensor arrays or other elements that determine one or more points of contact with the touchscreen 112, to detect contact and any movement or interruption thereof. In exemplary embodiments, projected mutual capacitive sensing technology is used, such as that found in the iPhone® and iPod Touch® from Apple Inc. of Cupertino, California.
[0102] The touch-sensitive displays in some embodiments of the touchscreen 112 are optionally similar to the multi-touch-sensitive touchpads described in U.S. Patent No. 6,323,846 (Westerman et al.), No. 6,570,557 (Westerman et al.), and / or No. 6,677,932 (Westerman), and / or U.S. Patent Publication No. 2002 / 0015024(A1), which are each incorporated herein in whole by reference. However, the touchscreen 112 displays visual output from device 100, whereas the touch-sensitive touchpad does not provide visual output.
[0103] Touch-sensitive displays in some embodiments of the touchscreen 112 are described in the following application. (1) U.S. Patent Application No. 11 / 381,313, filed May 2, 2006, "Multipoint Touch Surface Controller", (2) U.S. Patent Application No. 10 / 840,862, filed May 6, 2004, "Multipoint Touchscreen", (3) U.S. Patent Application No. 10 / 903,964, filed July 30, 2004, "Gestures For Touch Sensitive Input Devices", (4) U.S. Patent Application No. 11 / 048,264, filed January 31, 2005, "Gestures For Touch Sensitive Input Devices", (5) U.S. Patent Application No. 11 / 038,590, filed January 18, 2005, "Mode-Based Graphical User Interfaces For Touch Sensitive Input (6) U.S. Patent Application No. 11 / 228,758, filed September 16, 2005, "Virtual Input Device Placement On A Touch Screen User Interface", (7) U.S. Patent Application No. 11 / 228,700, filed September 16, 2005, "Operation Of A Computer With A Touch Screen Interface", (8) U.S. Patent Application No. 11 / 228,737, filed September 16, 2005, "Activating Virtual Keys Of A Touch-Screen Virtual Keyboard", and (9) U.S. Patent Application No. 11 / 367,749, filed March 3, 2006, "Multi-Functional Hand-Held Device". All of these applications are incorporated herein by reference in their entirety.
[0104] The touchscreen 112 optionally has a video resolution greater than 100 dpi. In some embodiments, the touchscreen has a video resolution of approximately 160 dpi. The user optionally touches the touchscreen 112 using any suitable object or attachment such as a stylus or finger. In some embodiments, the user interface is designed to operate primarily using finger-based touch and gestures, which may be less precise than stylus-based input due to the larger contact area of the finger on the touchscreen. In some embodiments, the device translates coarse finger input into a precise pointer / cursor position or command to perform an action desired by the user.
[0105] In some embodiments, in addition to the touchscreen, the device 100 optionally includes a touchpad for activating or deactivating specific functions. In some embodiments, the touchpad is a touch-sensitive area of the device that, unlike the touchscreen, does not display a visual output. The touchpad is optionally a touch-sensitive surface separate from the touchscreen 112 or an extension of the touch-sensitive surface formed by the touchscreen.
[0106] Device 100 also includes a power system 162 that supplies power to various components. The power system 162 optionally includes a power management system, one or more power sources (e.g., a battery, alternating current (AC)), a recharge system, a power failure detection circuit, a power converter or inverter, a power status indicator (e.g., a light-emitting diode (LED)), and any other components associated with generating, managing, and distributing power within the portable device.
[0107] The device 100 also optionally includes one or more optical sensors 164. Figure 1A shows optical sensors coupled to an optical sensor controller 158 in the I / O subsystem 106. The optical sensors 164 optionally include a charge-coupled device (CCD) or a complementary metal-oxide semiconductor (CMOS) phototransistor. The optical sensors 164 receive light from the environment projected through one or more lenses and convert that light into data representing an image. The optical sensors 164 work in conjunction with an imaging module 143 (also called a camera module) to optionally capture still images or video. In some embodiments, the optical sensors are located on the back of the device 100, opposite the touchscreen display 112 which is on the front of the device, so that the touchscreen display can be used as a viewfinder for acquiring still images and / or video. In some embodiments, the optical sensors are located on the front of the device so that the user's image is optionally acquired for video conferencing while the user is viewing other video conference participants on the touchscreen display. In some embodiments, the position of the light sensor 164 can be changed by the user (for example, by rotating the lens and sensor within the device housing), so that a single light sensor 164 can be used for both video conferencing and acquiring still images and / or videos, together with the touchscreen display.
[0108] Device 100 optionally also includes one or more depth camera sensors 175. Figure 1A shows a depth camera sensor coupled to a depth camera controller 169 in the I / O subsystem 106. The depth camera sensor 175 receives data from the environment to create a three-dimensional model of an object in the scene (e.g., a face) from a viewpoint (e.g., the depth camera sensor). In some embodiments, in conjunction with an imaging module 143 (also called a camera module), the depth camera sensor 175 is optionally used to determine depth maps of different parts of an image captured by the imaging module 143. In some embodiments, the depth camera sensor is positioned on the front of Device 100 to optionally acquire an image of the user with depth information for video conferencing while the user views other video conference participants on a touchscreen display, and also to capture a selfie image with depth map data. In some embodiments, the depth camera sensor 175 is positioned on the back of the device, or on both the back and front of Device 100. In some embodiments, the position of the depth camera sensor 175 can be changed by the user (for example, by rotating the lens and sensor within the device housing), so that the depth camera sensor 175, together with the touchscreen display, can be used for both video conferencing and the acquisition of still images and / or videos.
[0109] Device 100 also optionally includes one or more contact intensity sensors 165. Figure 1A shows a contact intensity sensor coupled to an intensity sensor controller 159 in the I / O subsystem 106. The contact intensity sensor 165 optionally includes one or more piezoresistive strain gauges, capacitive force sensors, electric force sensors, pressure-power sensors, optical force sensors, capacitive touch-sensing surfaces, or other intensity sensors (e.g., sensors used to measure the force (or pressure) of contact on a touch-sensing surface). The contact intensity sensor 165 receives contact intensity information (e.g., pressure information, or a proxy for pressure information) from the environment. In some embodiments, at least one contact intensity sensor is positioned juxtaposed with or adjacent to a touch-sensing surface (e.g., a touch-sensing display system 112). In some embodiments, at least one contact intensity sensor is positioned on the back of Device 100, opposite the touchscreen display 112 located on the front of Device 100.
[0110] The device 100 also optionally includes one or more proximity sensors 166. Figure 1A shows a proximity sensor 166 coupled to a peripheral interface 118. Alternatively, the proximity sensor 166 is optionally coupled to an input controller 160 in the I / O subsystem 106. The proximity sensor 166 optionally functions as described in U.S. Patent Applications 11 / 241,839, “Proximity Detector In Handheld Device”, 11 / 240,788, “Proximity Detector In Handheld Device”, 11 / 620,702, “Using Ambient Light Sensor To Augment Proximity Sensor Output”, 11 / 586,862, “Automated Response To And Sensing Of User Activity In Portable Devices”, and 11 / 638,251, “Methods And Systems For Automatic Configuration Of Peripherals”, which are all incorporated herein by reference. In some embodiments, if the multifunction device is placed near the user's ear (for example, when the user is making a phone call), the proximity sensor turns off and disables the touchscreen 112.
[0111] Device 100 also optionally includes one or more tactile output generators 167. Figure 1A shows a tactile output generator 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 electromechanical devices that convert 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 that converts an electrical signal into a tactile output on the device). The contact intensity sensor 165 receives a tactile feedback generation command from the tactile feedback module 133 and generates a tactile output on device 100 that can be sensed by the user of device 100. In some embodiments, at least one tactile output generator is positioned alongside or adjacent to a touch-sensing surface (e.g., a touch-sensing display system 112) and optionally generates a tactile output by moving the touch-sensing surface vertically (e.g., inward / outward from the surface of device 100) or horizontally (e.g., forward / backward in the same plane as the surface of device 100). In some embodiments, at least one tactile output generator sensor is positioned on the back of device 100, opposite the touchscreen display 112 which is positioned on the front of device 100.
[0112] The device 100 also optionally includes one or more accelerometers 168. Figure 1A shows an accelerometer 168 coupled to a peripheral interface 118. Alternatively, the accelerometer 168 is optionally coupled to an input controller 160 in the I / O subsystem 106. The accelerometer 168 optionally functions as described in U.S. Patent Publication No. 20050190059, “Acceleration-based Theft Detection System for Portable Electronic Devices,” and U.S. Patent Publication No. 20060017692, “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 on a touchscreen display in portrait or landscape orientation based on an analysis of data received from one or more accelerometers. In addition to one or more accelerometers 168, device 100 optionally includes a magnetometer and a GPS (or GLONASS or other global navigation system) receiver for acquiring information regarding the position and orientation of device 100 (e.g., vertical or horizontal).
[0113] In some embodiments, the software components stored in memory 102 include an operating system 126, a communications 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. Furthermore, in some embodiments, memory 102 (Figure 1A) or 370 (Figure 3) stores a device / global internal state 157, as shown in Figures 1A and 3. The device / global internal state 157 includes one or more of the following: an active application state indicating which application is active, if there is an application currently active; a display state indicating which applications, views, or other information occupy different areas of the touchscreen display 112; a sensor state including information obtained from various sensors and input control devices 116 of the device; and location information relating to the device's position and / or orientation.
[0114] An operating system 126 (for example, an embedded operating system such as Darwin, RTXC, LINUX, UNIX, OS X, iOS, WINDOWS, or VxWorks) includes various software components and / or drivers that control and manage general system tasks (e.g., memory management, storage control, power management, etc.) and facilitate communication between various hardware components and software components.
[0115] The communication module 128 facilitates communication with other devices via 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 ports 124. The external ports 124 (e.g., Universal Serial Bus (USB), FIREWIRE®, etc.) are adapted to connect to other devices directly or indirectly via a network (e.g., the Internet, Wi-Fi, etc.). In some embodiments, the external ports are multi-pin (e.g., 30-pin) connectors that are the same as and / or compatible with the 30-pin connector used on iPod® (a trademark of Apple Inc.) devices.
[0116] The contact / motion module 130 optionally detects contact with the touchscreen 112 and other touch-sensitive devices (e.g., a touchpad or physical click wheel) (in cooperation with the display controller 156). The contact / motion module 130 includes various software components for performing various contact detection operations, such as determining whether contact has occurred (e.g., detecting a finger down event), determining the intensity 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 contact and tracking movement across the touch-sensitive surface (e.g., detecting one or more events of a finger dragging), and determining whether contact has stopped (e.g., detecting a finger up event or interruption of contact). The contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of the contact point, represented by a series of contact data, optionally includes determining the speed (magnitude), velocity (magnitude and direction), and / or acceleration (change in magnitude and / or direction) of the contact point. These actions can be optionally applied to a single contact (e.g., a single finger contact) or multiple simultaneous contacts (e.g., "multi-touch" / multiple finger contacts). In some embodiments, the contact / motion module 130 and the display controller 156 detect contact on the touchpad.
[0117] 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 (for example, to determine whether a user has "clicked" on an icon). In some embodiments, at least one subset of the intensity thresholds is determined according to a software parameter (for example, the intensity thresholds can be adjusted without modifying the physical hardware of device 100, rather than being determined by the activation threshold of a particular physical actuator). For example, the mouse "click" threshold for a trackpad or touchscreen display can be set to one of a range of default thresholds without modifying the trackpad or touchscreen display hardware. In addition, in some implementations, the user of the device is provided with software settings to adjust one or more of the set of intensity thresholds (for example, by adjusting individual intensity thresholds and / or by adjusting multiple intensity thresholds at once using a system-level click "intensity" parameter).
[0118] The contact / motion module 130 optionally detects gesture input from the user. Different gestures on the touch-sensitive surface have different contact patterns (e.g., different motion, timing, and / or intensity of the detected contact). Therefore, gestures are optionally detected by detecting a specific contact pattern. For example, detecting a finger tap gesture involves detecting a finger down event, followed by a finger up (lift-off) event at the same location (or substantially the same location) as the finger down event (e.g., the location of an icon). As another example, detecting a finger swipe gesture on the touch-sensitive surface involves detecting a finger down event, followed by one or more finger drag events, and then a finger up (lift-off) event.
[0119] The graphics module 132 includes various known software components for rendering and displaying graphics on the touchscreen 112 or other display, including components for changing the visual effects of the displayed graphics (e.g., brightness, transparency, saturation, contrast, or other visual properties). In this specification, the term “graphics” includes, but is not limited to, any object that can be displayed to the user, including characters, web pages, icons (such as user interface objects including soft keys), digital images, videos, animations, etc.
[0120] In some embodiments, the graphics module 132 stores data representing the graphics to be used. Each graphic is optionally assigned a corresponding code. The graphics module 132 receives one or more codes from an application or the like, as needed, along with coordinate data and other graphic characteristic data, specifying the graphics to be displayed, and then generates screen image data to be output to the display controller 156.
[0121] The haptic feedback module 133 includes various software components for generating commands used by the haptic output generator 167, which generates haptic outputs at one or more locations on the device 100 in response to the user's interaction with the device 100.
[0122] The text input module 134 is optionally a component of the graphics module 132 and provides a soft keyboard for entering text in various applications (e.g., contacts 137, email 140, IM 141, browser 147, and any other applications that require text input).
[0123] The GPS module 135 determines the location of the device and provides this information for use in various applications (for example, to the telephone 138 for use in location-based dialing, to the camera 143 as metadata for photos / videos, and to applications that provide location-based services such as weather widgets, local occupational phonebook widgets, and map / navigation widgets).
[0124] Application 136 optionally includes the following modules (or instruction sets) or subsets or supersets thereof: ● Contact module 137 (sometimes called the address book or contact list), ●Telephone module 138, ●Video conferencing module 139, ● Email client module 140, ● Instant messaging (IM) module 141, ●Training support module 142, ● Camera module 143 for still images and / or video, ●Image management module 144, ●Video player module, ● Music player module, ● Browser module 147, ●Calendar module 148, ●Optionally, a widget module 149 may include one or more of the following: weather widget 149-1, stock widget 149-2, calculator widget 149-3, alarm clock widget 149-4, dictionary widget 149-5, and other widgets obtained by the user, as well as user-created widgets 149-6. ●Widget creator module 150 for creating user-created widget 149-6, ● Search module 151, ●Video and music player module 152, which integrates a video player module and a music player module. ●Memo Module 153, ●Map module 154, and / or, ● Online video module 155.
[0125] Examples of other applications 136 that may be optionally stored in memory 102 include other word processing applications, other image editing applications, drawing applications, presentation applications, Java®-enabled applications, encryption, digital rights management, speech recognition, and speech duplication.
[0126] The contact module 137 works in conjunction with the touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134 to optionally manage an address book or contact list (for example, by storing it in the application internal state 192 of the contact module 137 in memory 102 or memory 370). Management by the contact module 137 includes: This includes adding names to an address book, removing names (single or multiple) from an address book, associating names with telephone numbers (single or multiple), email addresses (single or multiple), physical addresses (single or multiple), or other information, associating images with names, categorizing and sorting names, and providing telephone numbers or email addresses to initiate and / or facilitate communication by telephone 138, video conferencing module 139, email 140, or IM 141.
[0127] The telephone module 138 works in conjunction with the RF circuit 108, audio circuit 110, speaker 111, microphone 113, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134 to optionally input character sequences corresponding to telephone numbers, access one or more telephone numbers in the contact module 137, modify entered telephone numbers, dial each telephone number, make a call, and disconnect and terminate a call at the end of the call. As previously mentioned, wireless communication may optionally use any of several communication standards, protocols, and technologies.
[0128] The video conferencing module 139 works in conjunction with an RF circuit 108, an audio circuit 110, a speaker 111, a microphone 113, a touchscreen 112, a display controller 156, a light sensor 164, a light sensor controller 158, a contact / motion module 130, a graphics module 132, a text input module 134, a contact module 137, and a telephone module 138 to include executable commands for starting, running, and ending video conferences between the user and one or more other participants, according to the user's instructions.
[0129] The email client module 140, in conjunction with the RF circuit 108, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, includes executable commands for creating, sending, receiving, and managing emails in response to user instructions. In conjunction with the image management module 144, the email client module 140 makes it extremely easy to create and send emails containing still or video images captured by the camera module 143.
[0130] The instant messaging module 141, in conjunction with the RF circuit 108, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, includes executable commands for inputting character sequences corresponding to instant messages, modifying previously entered characters, sending each instant message (e.g., using the Short Message Service (SMS) or Multimedia Message Service (MMS) protocol for telephone-based instant messaging, or 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, photographs, audio files, video files, and / or other attachments, such as those supported by MMS and / or Enhanced Messaging Service (EMS). In this specification, “instant messaging” refers to both telephone-based messaging (e.g., messages sent using SMS or MMS) and internet-based messaging (e.g., messages sent using XMPP, SIMPLE, or IMPS).
[0131] The training support module 142 works in conjunction with the RF circuit 108, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, GPS module 135, map module 154, and music player module to create training (e.g., with time, distance, and / or calorie burn goals), communicate with training sensors (sports devices), receive training sensor data, calibrate sensors used to monitor training, select and play music for training, and includes executable commands for displaying, storing, and transmitting training data.
[0132] The camera module 143 works in conjunction with the touchscreen 112, display controller 156, light sensor 164, light sensor controller 158, contact / motion module 130, graphics module 132, and image management module 144 to include executable commands for capturing still images or videos (including video streams) and storing them in memory 102, modifying the characteristics of still images or videos, or deleting still images or videos from memory 102.
[0133] The image management module 144 works in conjunction with the touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, and camera module 143 to include executable commands for arranging, modifying (e.g., editing), or otherwise manipulating still images and / or videos, labeling, deleting, presenting (e.g., in a digital slideshow or album), and storing them.
[0134] The browser module 147, in conjunction with the RF circuit 108, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, includes executable commands for browsing the internet according to user instructions, including searching, linking, receiving, and displaying web pages or portions thereof, as well as attachments and other files linked to web pages.
[0135] The calendar module 148 works in conjunction with the RF circuit 108, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, email client module 140, and browser module 147 to include executable commands for creating, displaying, modifying, and storing a calendar and data associated with the calendar (e.g., calendar items, to-do lists, etc.) according to user instructions.
[0136] The widget module 149 works in conjunction with the RF circuit 108, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, and browser module 147 to optionally download and use mini-applications (e.g., weather widget 149-1, stock widget 149-2, calculator widget 149-3, alarm clock widget 149-4, and dictionary widget 149-5) or mini-applications created by the user (e.g., user-created widget 149-6). In some embodiments, the widget includes an HTML (Hypertext Markup Language) file, a CSS (Cascading Style Sheets) file, and a JavaScript file. In some embodiments, the widget includes an XML (Extensible Markup Language) file and a JavaScript file (e.g., Yahoo! widget).
[0137] The widget creator module 150 works in conjunction with the RF circuit 108, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, and browser module 147 to be used by the user to optionally create widgets (for example, to turn a user-specified portion of a web page into a widget).
[0138] The search module 151 works in conjunction with the touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134 to include executable commands for searching for characters, music, sounds, images, videos, and / or other files in memory 102 that match one or more search criteria (e.g., one or more user-specified search terms) according to user instructions.
[0139] The video and music player module 152 works in conjunction with the touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuit 110, speaker 111, RF circuit 108, and browser module 147 to include executable commands that allow the user to download and play recorded music and other sound files stored in one or more file formats such as MP3 or AAC files, as well as executable commands for displaying, presenting, or otherwise playing videos (for example, on the touchscreen 112 or on an external display connected via the external port 124). In some embodiments, the device 100 optionally includes the functionality of an MP3 player such as an iPod (a trademark of Apple Inc.).
[0140] The memo module 153 works in conjunction with the touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134 to include executable commands for creating and managing memos, to-do lists, etc., according to user instructions.
[0141] The map module 154 works in conjunction with the RF circuit 108, touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, GPS module 135, and browser module 147 to optionally receive, display, modify, and store maps and map-related data (e.g., driving directions, data on shops and other points of interest in or near a specific location, and other location-based data) according to user instructions.
[0142] The online video module 155, in conjunction with the touchscreen 112, display controller 156, touch / 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, includes instructions that enable the user to access a specific online video, browse a specific online video, receive it (e.g., by streaming and / or downloading), play it (e.g., on the touchscreen or on an external display connected via external port 124), send an email with a link to a specific online video, and perform other management of online videos in one or more file formats such as H.264. In some embodiments, an instant messaging module 141 is used instead of the email client module 140 to send a link to a specific online video. For further information regarding online video applications, please refer to U.S. Provisional Patent Application No. 60 / 936,562, “Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos,” filed June 20, 2007, and U.S. Patent Application No. 11 / 968,067, “Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos,” filed December 31, 2007, the entire contents of which are incorporated herein by reference.
[0143] Each of the modules and applications identified above corresponds to a set of executable instructions that perform one or more of the functions described above and the methods described in this application (e.g., the computer-implemented methods and other information processing methods described herein). These modules (e.g., instruction sets) do not need to be implemented as separate software programs, procedures, or modules; therefore, in various embodiments, various subsets of these modules can be optionally combined or otherwise reconfigured. For example, a video player module can optionally be combined with a music player module to form a single module (e.g., the video and music player module 152 in Figure 1A). In some embodiments, memory 102 optionally stores a subset of the modules and data structures identified above. Furthermore, memory 102 optionally stores additional modules and data structures not described above.
[0144] In some embodiments, device 100 is a device in which the operation of a default set of functions in the device is performed solely via a touchscreen and / or touchpad. By using a touchscreen and / or touchpad as the primary input control device for device 100 to operate, the number of physical input control devices (push buttons, dials, etc.) on device 100 is optionally reduced.
[0145] A default set of functions, which are performed only through the touchscreen and / or touchpad, optionally includes navigation 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 the main menu, home menu, or root menu. In such embodiments, a “menu button” is implemented using the touchpad. In some other embodiments, the menu button is a physical push button or other physical input control device, rather than a touchpad.
[0146] Figure 1B is a block diagram showing exemplary components for event processing according to several embodiments. In some embodiments, memory 102 (Figure 1A) or 370 (Figure 3) includes an event sorter 170 (e.g., within the operating system 126) and each application 136-1 (e.g., any of the aforementioned applications 137-151, 155, 380-390).
[0147] The event sorter 170 receives event information and determines the application 136-1 that distributes the event information, and the application view 191 of application 136-1. The event sorter 170 includes an event monitor 171 and an event dispatcher module 174. In some embodiments, application 136-1 includes an application internal state 192 that indicates the current application view displayed on the touch-sensitive display 112 when the application is active or running. In some embodiments, a device / global internal state 157 is used by the event sorter 170 to determine which application(s) are currently active, and the application internal state 192 is used by the event sorter 170 to determine the application view 191 from which the event information is distributed.
[0148] In some embodiments, the application internal state 192 includes additional information such as resume information to be used when the application 136-1 resumes execution, user interface state information that indicates or is ready to display information displayed by the application 136-1, a state queue that allows the user to return to a previous state or view of the application 136-1, and one or more redo / undo queues of previous actions performed by the user.
[0149] The event monitor 171 receives event information from the peripheral interface 118. The event information includes information about sub-events (for example, user touch as part of a multi-touch gesture on the touch-sensitive display 112). The peripheral interface 118 transmits information received from the I / O subsystem 106, or from sensors such as the proximity sensor 166, one or more accelerometers 168, and / or the microphone 113 (via the audio circuit 110). The information received by the peripheral interface 118 from the I / O subsystem 106 includes information from the touch-sensitive display 112 or the touch-sensitive surface.
[0150] In some embodiments, the event monitor 171 sends requests to the peripheral interface 118 at predetermined intervals. In response, the peripheral interface 118 transmits event information. In other embodiments, the peripheral interface 118 transmits event information only when there is a significant event (e.g., reception of input exceeding a predetermined noise threshold and / or exceeding a predetermined duration).
[0151] In some embodiments, the event sorter 170 also includes a hit view determination module 172 and / or an active event recognition determination module 173.
[0152] The hit view determination module 172 provides a software procedure for determining where in one or more views a sub-event occurred when the touch-sensitive display 112 is displaying two or more views. A view consists of control devices and other elements that the user can see on the display.
[0153] 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 view (of each application) in which a touch is detected optionally corresponds to the program level within the application's program hierarchy or view hierarchy. For example, the lowest-level view in which a touch is detected optionally refers to the hit view, and the set of events recognized as appropriate input is optionally determined at least in part based on the hit view of the initial touch that initiates the touch gesture.
[0154] The hit view determination module 172 receives information related to sub-events of touch-based gestures. When an application has multiple views arranged in a hierarchy, the hit view determination module 172 identifies the hit view as the lowest-level view in the hierarchy from which the sub-events should be processed. In most situations, the hit view is the lowest-level view from which the initiating sub-event (e.g., the first sub-event in a sub-event sequence that forms an event or potential event) occurs. Once the hit view is identified by the hit view determination module 172, the hit view typically receives all sub-events related to the same touch or input source that was identified as the hit view.
[0155] The active event recognition determination module 173 determines which view(s) in the view hierarchy should receive a particular sequence of sub-events. In some embodiments, the active event recognition determination module 173 determines that only the hit view should receive a particular sequence of sub-events. In other embodiments, the active event recognition determination module 173 determines that all views, including the physical location of the sub-event, are actively involved views, and therefore all actively involved views should receive a particular sequence of sub-events. In other embodiments, even if the touch sub-event is entirely confined to an area associated with one particular view, higher-level views in the hierarchy still remain actively involved views.
[0156] The event dispatcher module 174 dispatches event information to an event recognition unit (e.g., an event recognition unit 180). In embodiments including an active event recognition unit determination module 173, the event dispatcher module 174 distributes the event information to the event recognition unit determined by the active event recognition unit determination module 173. In some embodiments, the event dispatcher module 174 stores the event information acquired by each event receiving unit 182 in an event queue.
[0157] In some embodiments, the operating system 126 includes an event sorter 170. Alternatively, application 136-1 includes an event sorter 170. In yet another embodiment, the event sorter 170 is a standalone module or part of another module stored in memory 102, such as a contact / motion module 130.
[0158] In some embodiments, application 136-1 includes a plurality of event processing units 190 and one or more application views 191, each containing instructions for handling touch events occurring within each view of the application's user interface. Each application view 191 of application 136-1 includes one or more event recognition units 180. Typically, each application view 191 includes a plurality of event recognition units 180. In other embodiments, one or more of the event recognition units 180 are part of a separate module, such as a user interface kit or a higher-level object from which application 136-1 inherits methods and other properties. In some embodiments, each event processing unit 190 includes one or more of the following: a data update unit 176, an object update unit 177, a GUI update unit 178, and / or event data 179 received from an event sorter 170. The event processing unit 190 optionally uses or calls the data update unit 176, the object update unit 177, or the GUI update unit 178 to update the application's internal state 192. Alternatively, one or more of the application views 191 include one or more event processing units 190. In some embodiments, one or more of the data update unit 176, object update unit 177, and GUI update unit 178 are included in each application view 191.
[0159] Each event recognition unit 180 receives event information (e.g., event data 179) from the event sorter 170 and identifies an event from the event information. The event recognition unit 180 includes an event receiving unit 182 and an event comparison unit 184. In some embodiments, the event recognition unit 180 also includes at least a subset of metadata 183 and event distribution commands 188 (optionally including sub-event distribution commands).
[0160] The event receiving unit 182 receives event information from the event sorter 170. The event information includes information about sub-events, such as touches or the movement of touches. Depending on the sub-event, the event information also includes additional information, such as the position of the sub-event. When the sub-event involves the movement of a touch, the event information also optionally includes the speed and direction of the sub-event. In some embodiments, an event includes the rotation of the device from one orientation to another (e.g., from portrait to landscape, or vice versa), and the event information includes corresponding information about the current orientation of the device (also called the device's orientation).
[0161] The event comparison unit 184 compares event information with a predefined definition of an event or sub-event, and based on the comparison, determines an event or sub-event, or determines or updates the state of an event or sub-event. In some embodiments, the event comparison unit 184 includes an event definition 186. The event definition 186 includes definitions of events (e.g., a sequence of default sub-events), such as event 1 (187-1) and event 2 (187-2). In some embodiments, sub-events within event (187) include, for example, touch start, touch end, touch movement, touch cancel, and multiple touches. In one embodiment, the definition for event 1 (187-1) is a double tap on a displayed object. A double tap includes, for example, a first touch on the displayed object for a predetermined stage (touch start), a first lift-off for the predetermined stage (touch end), a second touch on the displayed object for the predetermined stage (touch start), and a second lift-off for the predetermined stage (touch end). In another embodiment, event 2(187-2) is defined as a drag on a displayed object. The drag includes, for example, a touch (or contact) on the displayed object to a predetermined stage, movement of the touch across the touch-sensitive display 112, and lift-off of the touch (end of touch). In some embodiments, the event also includes information about one or more associated event processing units 190.
[0162] In some embodiments, the event definition 187 includes an event definition for each user interface object. In some embodiments, the event comparison unit 184 performs a hit test to determine which user interface object is associated with a sub-event. For example, in an application view where three user interface objects are displayed on the touch-sensitive display 112, when a touch is detected on the touch-sensitive display 112, the event comparison unit 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 its respective event processing unit 190, the event comparison unit uses the results of the hit test to determine which event processing unit 190 should be activated. For example, the event comparison unit 184 selects the sub-event and the event processing unit associated with the object that triggers the hit test.
[0163] In some embodiments, the definition of each event 187 also includes a delay action that delays the transmission of event information until it is determined whether the sequence of sub-events corresponds to the event type of the event recognition unit.
[0164] If each event recognition unit 180 determines that a series of sub-events does not match any of the events in the event definition 186, each event recognition unit 180 enters an event impossible, event failed, or event terminated state and thereafter ignores subsequent sub-events of the touch-based gesture. In this situation, if there are other event recognition units that remain active for the hit view, those event recognition units continue to track and process the sub-events of the ongoing touch-based gesture.
[0165] In some embodiments, each event recognition unit 180 includes metadata 183 having configurable properties, flags, and / or lists that indicate to the actively involved event recognition unit how the event distribution system should perform sub-event distribution. In some embodiments, the metadata 183 includes configurable properties, flags, and / or lists that indicate how the event recognition units interact with each other, or how they can interact with each other. In some embodiments, the metadata 183 includes configurable properties, flags, and / or lists that indicate how sub-events are distributed to various levels in the view hierarchy or program hierarchy.
[0166] In some embodiments, each event recognition unit 180 activates an event processing unit 190 associated with an event when one or more specific sub-events of an event are recognized. In some embodiments, each event recognition unit 180 delivers event information associated with the event to the event processing unit 190. Activating the event processing unit 190 is separate from sending (and delaying the sending of) sub-events to the respective hit view. In some embodiments, the event recognition unit 180 sets a flag associated with the recognized event, and the event processing unit 190 associated with that flag captures the flag and executes a default process.
[0167] In some embodiments, the event distribution command 188 includes a sub-event distribution command that distributes event information about a sub-event without activating an event processing unit. Instead, the sub-event distribution command distributes event information to an event processing unit associated with a set of sub-events, or to a view that is actively involved. The event processing unit associated with the set of sub-events or the view that is actively involved receives the event information and performs predetermined processing.
[0168] In some embodiments, the data update unit 176 creates and updates data used in application 136-1. For example, the data update unit 176 updates telephone numbers used in contact module 137 or stores video files used in video player module. In some embodiments, the object update unit 177 creates and updates objects used in application 136-1. For example, the object update unit 177 creates new user interface objects or updates the position of user interface objects. The GUI update unit 178 updates the GUI. For example, the GUI update unit 178 prepares display information and sends it to graphics module 132 for display on touch-sensitive display.
[0169] In some embodiments, the event processing unit(s) 190 includes or has access to a data update unit 176, an object update unit 177, and a GUI update unit 178. In some embodiments, the data update unit 176, the object update unit 177, and the GUI update unit 178 are included in a single module of their respective applications 136-1 or application view 191. In other embodiments, they are included in two or more software modules.
[0170] The foregoing description regarding the handling of user touch events on a touch-sensitive display also applies to other forms of user input for operating the multifunction device 100 using input devices, but it should be understood that not all of these begin on the touchscreen. For example, mouse movement and mouse button presses, touch movements such as taps, drags, and scrolls on a touchpad, pen stylus input, device movement, verbal commands, detected eye movements, biometric input, and / or any combination thereof may be optionally used as inputs corresponding to sub-events that define the events to be recognized.
[0171] Figure 2 shows a portable multifunction device 100 having a touchscreen 112 according to several embodiments. The touchscreen optionally displays one or more graphics within a user interface (UI) 200. In this embodiment, and in other embodiments described below, the user can select one or more of the graphics by performing gestures on the graphics using, for example, one or more fingers 202 (not shown in the figure to an exact scale) or one or more styluses 203 (not shown in the figure to an exact scale). In some embodiments, the selection of one or more graphics is performed when the user interrupts contact with that one or more graphics. In some embodiments, the gesture optionally includes one or more taps, one or more swipes (from left to right, right to left, upward and / or downward) and / or rolling (from right to left, left to right, upward and / or downward) with a finger in contact with the device 100. In some implementations or situations, accidental contact with a graphic does not constitute a selection of that graphic. For example, if the gesture corresponding to selection is a tap, a swipe gesture sweeping over an application icon does not arbitrarily select the corresponding application.
[0172] Device 100 also optionally includes one or more physical buttons, such as a "Home" button or a menu button 204. As previously mentioned, the menu button 204 is optionally used to navigate to any application 136 within a set of applications running on device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key in a GUI displayed on the touchscreen 112.
[0173] In some embodiments, device 100 includes a touchscreen 112, a menu button 204, a push button 206 for turning the device on / off and locking the device, volume control buttons 208, a subscriber identification module (SIM) card slot 210, a headset jack 212, and an external port 124 for docking / charging. The push button 206 is optionally used to turn the device on / off by pressing down and holding the button down for a predetermined period of time, to lock the device by pressing down and releasing the button before a predetermined period of time has elapsed, and / or to unlock the device or initiate an unlocking process. In alternative embodiments, device 100 also accepts verbal input via a microphone 113 to activate or deactivate certain functions. Device 100 also optionally includes one or more contact intensity sensors 165 for detecting the intensity of contact on the touchscreen 112, and / or one or more tactile output generators 167 for generating tactile output to the user of device 100.
[0174] Figure 3 is a block diagram of an exemplary multifunctional device having a display and a touch-sensitive surface according to several embodiments. The device 300 does not need 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 or commercial controller). The device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, memory 370, and one or more communication buses 320 that interconnect these components. The communication buses 320 optionally include circuitry (sometimes called a chipset) that interconnects and controls communication between system components. The device 300 includes an input / output (I / O) interface 330 including a display 340, the display 340 is typically a touchscreen display. The I / O interface 330 also optionally includes a keyboard and / or mouse (or other pointing device) 350 and a touchpad 355, a tactile output generator 357 that generates tactile output on device 300 (for example, similar to the tactile output generator 167 described above with reference to Figure 1A), and a sensor 359 (for example, light, acceleration, proximity, touch sensing, and / or a contact intensity sensor similar to the contact intensity sensor 165 described above with reference to Figure 1A). The memory 370 includes high-speed random access memory such as DRAM, SRAM, DDR RAM, or other random access solid-state memory devices, and optionally includes 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 optionally includes one or more storage devices located remotely from the CPU(s) 310.In some embodiments, memory 370 stores programs, modules, and data structures similar to, or subsets thereof, that are stored in memory 102 of the portable multifunction device 100 (Figure 1A). Furthermore, memory 370 optionally stores additional programs, modules, and data structures that are not present in memory 102 of the 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 authoring module 388, and / or a spreadsheet module 390, whereas memory 102 of the portable multifunction device 100 (Figure 1A) optionally does not store these modules.
[0175] Each of the elements identified above in Figure 3 is optionally stored in one or more of the memory devices described above. Each of the modules identified above corresponds to an instruction set that performs the function described above. The modules or programs (e.g., instruction sets) identified above do not need to be implemented as separate software programs, procedures, or modules, and therefore in various embodiments, various subsets of these modules are optionally combined or otherwise reconfigured. In some embodiments, memory 370 optionally stores a subset of the modules and data structures identified above. Furthermore, memory 370 optionally stores additional modules and data structures not described above.
[0176] Next, we optionally turn our attention to an embodiment of a user interface implemented in, for example, a portable multi-functional device 100.
[0177] Figure 4A shows an exemplary user interface for an application menu on a portable multifunction device 100 according to several embodiments. A similar user interface is optionally implemented on device 300. In some embodiments, the user interface 400 includes the following elements, or subsets or supersets thereof. ● Signal strength indicators (single or multiple) for wireless communication (single or multiple) such as cellular signals and Wi-Fi signals 402, ●Time 404, ●Bluetooth indicator 405, ●Battery status indicator 406, ●Tray 408 containing icons for frequently used applications, as shown below. ○Optionally including an indicator 414 for the number of missed calls or voicemail messages, an icon 416 of the telephone module 138 labeled "Telephone", ○Optionally including an indicator 410 for the number of unread emails, an icon 418 of the email client module 140 labeled "Mail", ○ Icon 420 of browser module 147, labeled "Browser", and ○ Icon 422 for the video and music player module 152, also known as the iPod (trademark of Apple Inc.) module 152, which is labeled "iPod", and ● Icons of other applications, such as the following: ○ Icon 424 of IM module 141, labeled "Message", ○ Icon 426 of calendar module 148, labeled "Calendar" ○ Icon 428 of image management module 144, labeled "Photo" ○ Icon 430 of camera module 143, labeled "Camera" ○ Icon 432 of online video module 155, labeled "online video" ○ Icon 434 of stock widget 149-2, labeled "Stock Price" ○ Icon 436 of map module 154, labeled "Map" ○ Icon 438 of weather widget 149-1, labeled "Weather" ○ Icon 440 of the alarm clock widget 149-4, labeled "Clock" ○ Icon 442 of training support module 142, labeled "Training Support" ○ Icon 444 of memo module 153, labeled as "Memo", and ○ An icon 446 labeled "Settings," which provides access to the settings of device 100 and its various applications 136, for a settings application or module.
[0178] Please note that the icon labels shown in Figure 4A are for illustrative purposes only. For example, the icon 422 for the video and music player module 152 is labeled "Music" or "Music Player," and other labels are optionally used for various application icons. In some embodiments, the label for each application icon includes the name of the application to which that application icon corresponds. In some embodiments, the label for a particular application icon is different from the name of the application to which that particular application icon corresponds.
[0179] Figure 4B shows an exemplary user interface on a device (e.g., device 300 in Figure 3) having a touch-sensitive surface 451 (e.g., tablet or touchpad 355 in Figure 3) separate from the display 450 (e.g., touchscreen display 112). Device 300 also optionally includes one or more contact intensity sensors (e.g., one or more of sensors 359) for detecting the intensity of contact on the touch-sensitive surface 451, and / or one or more tactile output generators 357 for generating tactile output to the user of device 300.
[0180] Some of the following examples are given by referring to input on a touchscreen display 112 (a combination of a touch-sensing surface and a display), but in some embodiments, the device detects input on a touch-sensing surface separate from the display, as shown in Figure 4B. In some embodiments, the touch-sensing surface (e.g., 451 in Figure 4B) has a primary axis (e.g., 452 in Figure 4B) corresponding to a primary axis (e.g., 453 in Figure 4B) on the display (e.g., 450). According to these embodiments, the device detects contact with the touch-sensing surface 451 (e.g., 460 and 462 in Figure 4B) at positions corresponding to each of the positions on the display (e.g., 460 corresponds to 468 and 462 corresponds to 470 in Figure 4B). In this way, user input (e.g., touches 460 and 462, and their movement) detected by the device on a touch-sensitive surface (e.g., 451 in Figure 4B) is used by the device to operate the user interface on the display of the multifunction device (e.g., 450 in Figure 4B) when the touch-sensitive surface is separate from the display. It should be understood that a similar method may be optionally used for other user interfaces described herein.
[0181] In addition, while the following examples are given primarily with reference to finger input (e.g., finger touch, finger tap gesture, finger swipe gesture), it should be understood that in some embodiments, one or more of the finger inputs may be replaced by input from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture may optionally be replaced by a mouse click (e.g., instead of touch), followed by a mouse click with cursor movement along the swipe path (e.g., instead of touch movement). As another example, a tap gesture may optionally be replaced by a mouse click (e.g., instead of touch detection and subsequent cessation of touch detection) while the cursor is located over the tap gesture position. Similarly, it should be understood that when multiple user inputs are detected simultaneously, multiple computer mice may optionally be used simultaneously, or mouse and finger touch may optionally be used simultaneously.
[0182] Figure 5A shows an exemplary personal electronic device 500. Device 500 includes a body 502. In some embodiments, device 500 may include some or all of the features described with respect to devices 100 and 300 (e.g., Figures 1A to 4B). In some embodiments, device 500 has a touch-sensitive display screen 504, hereafter referred to as touchscreen 504. Alternatively, in addition to touchscreen 504, device 500 may have a display and a touch-sensitive surface. Similar to devices 100 and 300, in some embodiments, touchscreen 504 (or touch-sensitive surface) optionally includes one or more intensity sensors that detect the intensity of the applied contact (e.g., touch). One or more intensity sensors on touchscreen 504 (or touch-sensitive surface) may provide output data representing the intensity of the touch. The user interface of device 500 may respond to touches based on their intensity, meaning that touches of different intensity may invoke different user interface behaviors on device 500.
[0183] For example, see, for instance, International Patent Application PCT / US2013 / 040061, “Device, Method, and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application,” filed 8 May 2013, published as International Patent WO / 2013 / 169849, and International Patent Application PCT / US2013 / 069483, “Device, Method, and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships,” filed 11 November 2013, published as International Patent WO / 2014 / 105276.
[0184] In some embodiments, the device 500 has one or more input mechanisms 506 and 508. The input mechanisms 506 and 508 may be physical, if included. 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, eyeglasses, earrings, necklaces, shirts, jackets, bracelets, watch bands, chains, trousers, belts, shoes, wallets, backpacks, etc. These attachment mechanisms allow the user to wear the device 500.
[0185] Figure 5B shows an exemplary personal electronic device 500. In some embodiments, the device 500 may include some or all of the components described with respect to Figures 1A, 1B, and 3. The device 500 has a bus 512 that operably connects an I / O section 514 to one or more computer processors 516 and memory 518. The I / O section 514 may be connected to a display 504, which may have a touch-sensing component 522 and optionally a strength sensor 524 (e.g., a contact strength sensor). In addition, the I / O section 514 may be connected to a communication unit 530 that receives application and operating system data using Wi-Fi, Bluetooth, near-field communication (NFC), cellular, and / or other wireless communication technologies. The device 500 may include input mechanisms 506 and / or 508. The input mechanism 506 may optionally be, for example, a rotatable input device or a pressable and rotatable input device. In some embodiments, the input mechanism 508 may optionally be a button.
[0186] In some embodiments, the input mechanism 508 is optionally a microphone. The personal electronic device 500 optionally includes various sensors such as a GPS sensor 532, an accelerometer 534, a direction sensor 540 (e.g., a compass), a gyroscope 536, a motion sensor 538, and / or a combination thereof, all of which can be operably connected to the I / O section 514.
[0187] The memory 518 of the personal electronic device 500 may include one or more non-temporary computer-readable storage media for storing computer-executable instructions, which, when executed by one or more computer processors 516, can cause the computer processors to execute techniques described below, including processes 700, 800, 1000, 1400, 1600, 1800, 2000, and 2300 (Figures 7, 8, 10, 14, 18, 20, and 23). The computer-readable storage media may be any medium capable of tangibly containing or storing computer-executable instructions used by or in connection with an instruction execution system, apparatus, or device. In some embodiments, the storage medium is a temporary computer-readable storage medium. In some embodiments, the storage medium is a non-temporary computer-readable storage medium. The non-temporary computer-readable storage medium may include, but is not limited to, magnetic, optical, and / or semiconductor storage devices. Examples of such storage devices include magnetic disks, CDs, DVDs, or optical disks based on Blu-ray technology, as well as resident solid-state memory such as flash and solid-state drives. The personal electronic device 500 is not limited to the components and configurations shown in Figure 5B, and may include other or additional components in multiple configurations.
[0188] As used herein, the term “affordance” optionally refers to user interaction graphical user interface objects displayed on the display screens of devices 100, 300, and / or 500 (Figures 1A, 3, and 5A-5B). For example, images (e.g., icons), buttons, and text (e.g., hyperlinks) each optionally constitute an affordance.
[0189] As used herein, the term “focus selector” refers to an input element that indicates the current part of the user interface that the user is interacting with. In some implementations, including a cursor or other position marker, the cursor acts as a “focus selector,” and therefore, when an input (e.g., a press input) is detected on a touch-sensitive surface (e.g., touchpad 355 in Figure 3 or touch-sensitive surface 451 in Figure 4B) while the cursor is positioned over a particular user interface element (e.g., a button, window, slider, or other user interface element), the particular user interface element is adjusted according to the detected input. In some implementations, including a touchscreen display that enables direct interaction with user interface elements on the touchscreen display (e.g., touch-sensitive display system 112 in Figure 1A or touchscreen 112 in Figure 4A), a detected contact on the touchscreen acts as a “focus selector,” and therefore, when an input (e.g., a press input by touch) is detected at the location of a particular user interface element (e.g., a button, window, slider, or other user interface element) on the touchscreen display, the particular user interface element is adjusted according to the detected input. In some implementations, focus is moved from one area of the user interface to another without corresponding cursor movement or touch movement on the touchscreen display (for example, by using the tab key or arrow keys to move focus from one button to another), and in these implementations, the focus selector moves in accordance with the movement of focus between different areas of the user interface. Regardless of the specific form the focus selector takes, the focus selector is generally a user interface element (or touch on the touchscreen display) controlled by the user to communicate about the user's intended interaction with the user interface (for example, by pointing to the device the user interface element through which the user intends to interact).For example, the position of a focus selector (e.g., cursor, touch, or selection box) over a corresponding button while pressure input is detected on a touch-sensitive surface (e.g., a touchpad or touchscreen) indicates that the user intends to activate that corresponding button (rather than other user interface elements displayed on the device's display).
[0190] As used herein and in the claims, the term “characteristic intensity” of a contact refers to the characteristics of that 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 set of intensity samples collected over a predetermined time period (e.g., 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10 seconds) associated with a predetermined event (e.g., after detection of contact, before detection of lift-off of contact, before or after detection of the start of movement of contact, before detection of the end of contact, before or after detection of an increase in contact intensity, and / or before or after detection of a decrease in contact intensity). The characteristic intensity of a contact is optionally based on one or more of the following: the maximum value of the contact intensity, the mean value of the contact intensity, the average value of the contact intensity, the top 10 percentile value of the contact intensity, the maximum half value of the contact intensity, the maximum 90 percent value of the contact intensity, and so on. In some embodiments, the duration of contact is used when determining characteristic intensity (for example, when characteristic intensity is the average intensity of contact over time). In some embodiments, characteristic intensity is compared to a set of one or more intensity thresholds to determine whether an action has been performed by the user. For example, the set of one or more intensity thresholds optionally includes a first intensity threshold and a second intensity threshold. In this example, contact with a characteristic intensity not exceeding the first threshold results in a first action, contact with a characteristic intensity above the first intensity threshold but not exceeding the second intensity threshold results in a second action, and contact with a characteristic intensity above the second threshold results in a third action. In some embodiments, the comparison between characteristic intensity and one or more thresholds is not used to determine whether a first action should be performed or a second action should be performed, but rather to determine whether one or more actions should be performed at all (for example, whether each action should be performed or whether each action should be postponed).
[0191] Figure 5C shows that multiple intensity sensors 524A-524D detect multiple contacts 552A-552E on a touch-sensitive display screen 504. Figure 5C also includes an intensity diagram showing 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 9 intensity units each, and the intensity measurements of intensity sensors 524B and 524C are 7 intensity units each. In some implementations, the aggregate intensity is the sum of the intensity measurements of the multiple intensity sensors 524A-524D, which in this example is 32 intensity units. In some embodiments, each contact is assigned a corresponding intensity, which is a portion of the aggregate intensity. Figure 5D shows that the aggregate intensity is assigned to contacts 552A-552E based on their distance from the center of force 554. In this example, contacts 552A, 552B, and 552E are each assigned a contact intensity of 8 intensity units of the aggregate intensity, and contacts 552C and 552D are each assigned a contact intensity of 4 intensity units of the aggregate intensity. More generally, in some implementations, each contact j is assigned an intensity Ij, which is a portion of the aggregate intensity A, according to a predetermined mathematical function Ij = A·(Dj / ΣDi), where Dj is the distance from the center of force to each contact j, and ΣDi is the sum of the distances from the center of force to each of the contacts (e.g., from i=1 to the end). The operations described with reference to Figures 5C-5D can be performed using electronic devices similar to or identical to devices 100, 300, or 500. In some embodiments, the characteristic intensity of a contact is based on one or more intensities of the contact. In some embodiments, an intensity sensor is used to determine a single characteristic intensity (e.g., a single characteristic intensity of a single contact). Please note that the intensity diagrams are not part of the display user interface, but are included in Figures 5C-5D to assist the reader.
[0192] In some embodiments, a portion of the gesture is identified for the purpose of determining characteristic intensity. For example, the touch-sensitive surface optionally receives a series of swipe contacts that transition from a starting position to an ending position, where the intensity of contact increases. In this example, the characteristic intensity of the contact at the ending position is optionally based only on a portion of the series of swipe contacts (e.g., only the portion of the swipe contact at the ending position) rather than the entire swipe contact. In some embodiments, optionally, a smoothing algorithm is applied to the intensity of the swipe contact before determining the characteristic intensity of the contact. For example, the smoothing algorithm optionally includes one or more of the following: an unweighted moving average smoothing algorithm, a triangular smoothing algorithm, a median filter smoothing algorithm, and / or an exponential smoothing algorithm. In some situations, these smoothing algorithms eliminate narrow spikes or drops in the swipe contact intensity for the purpose of determining characteristic intensity.
[0193] The intensity of contact on a touch-sensitive surface is optionally characterized 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 the intensity at which the device performs an action typically associated with clicking a physical mouse button or trackpad. In some embodiments, the deep press intensity threshold corresponds to the intensity at which the device performs an action different from the action typically associated with clicking a physical mouse button or trackpad. In some embodiments, when a contact with a characteristic intensity below the light press intensity threshold (for example, above a nominal contact detection intensity threshold below which contact is no longer detected) is detected, the device moves the focus selector in accordance with the movement of the contact on the touch-sensitive surface without performing an action associated with the light press intensity threshold or the deep press intensity threshold. Generally, unless otherwise specified, these intensity thresholds are consistent across various sets of user interface values.
[0194] An increase in the characteristic intensity of 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 called a "light press" input. An increase in the characteristic intensity of contact from an intensity below a deep press intensity threshold to an intensity above the deep press intensity threshold is sometimes called a "deep press" input. An increase in the characteristic intensity of 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 called detection of contact on the touch surface. A decrease in the characteristic intensity of contact from an intensity above a contact detection intensity threshold to an intensity below a contact detection intensity threshold is sometimes called detection of contact lift-off 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.
[0195] In some embodiments described herein, one or more actions are performed in response to the detection of a gesture including each press input, or in response to the detection of each press input performed by each (or more) contact, and each press input is detected at least in part on the detection of an increase in the intensity of the contact (or more) above a press input intensity threshold. In some embodiments, each action is performed in response to the detection of an increase in the intensity of each contact above a press input intensity threshold (e.g., a "downstroke" of each press input). In some embodiments, a press input includes an increase in the intensity of each contact above a press input intensity threshold, followed by a decrease in the intensity of the contact below the press input intensity threshold, and each action is performed in response to the detection of a decrease in the intensity of each contact below the press input threshold (e.g., an "upstroke" of each press input).
[0196] Figures 5E-5H illustrate the detection of a gesture involving a press input corresponding to an increasing intensity of contact 562, from an intensity below the light press intensity threshold (e.g., "ITL") in Figure 5E to an intensity above the deep press intensity threshold (e.g., "ITD") in Figure 5H. The gesture performed by contact 562 is detected on the touch-sensitive surface 560, and on the display user interface 570, which includes application icons 572A-572D displayed within a predetermined area 574, a cursor 576 is displayed over application icon 572B corresponding to app 2. In some embodiments, the gesture is detected on the touch-sensitive display 504. An intensity sensor detects the intensity of the contact on the touch-sensitive surface 560. The device determines that the intensity of contact 562 has peaked above the deep press intensity threshold (e.g., "ITD"). Contact 562 is maintained on the touch-sensitive surface 560. In response to the detection of a gesture, according to a contact 562 having an intensity exceeding a deep press intensity threshold (e.g., "ITD") during the gesture, a scaled representation 578A-578C (e.g., a thumbnail) of the recently opened document for app 2 is displayed, as shown in Figures 5F-5H. In some embodiments, this intensity, compared to one or more intensity thresholds, is the characteristic intensity of the contact. Note that the intensity diagram for contact 562 is not part of the display user interface but is included in Figures 5E-5H to assist the reader.
[0197] In some embodiments, the display of expressions 578A-578C includes animation. For example, as shown in Figure 5F, expression 578A is initially displayed close to the application icon 572B. As the animation progresses, as shown in Figure 5G, expression 578A moves upward and expression 578B is displayed close to the application icon 572B. Then, as shown in Figure 5H, expression 578A moves upward, expression 578B moves upward toward expression 578A, and expression 578C is displayed close to the application icon 572B. Expressions 578A-578C form an array above the icon 572B. In some embodiments, the animation progresses according to the intensity of the contact 562, as shown in Figures 5F-5G, and as the intensity of the contact 562 increases toward a deep pressing intensity threshold (e.g., "ITD"), expressions 578A-578C appear and move upward. In some embodiments, the intensity on which the animation progresses is based is the characteristic intensity of the contact. The operations described with reference to Figures 5E to 5H can be performed using electronic devices similar to or identical to devices 100, 300, or 500.
[0198] In some embodiments, the device employs intensity hysteresis to avoid accidental inputs, which may be referred to as “jitter,” and the device defines or selects a hysteresis intensity threshold that has a predetermined relationship with a press input intensity threshold (for example, the hysteresis intensity threshold is X intensity units lower than the press input intensity threshold, or the hysteresis intensity threshold is 75%, 90%, or some reasonable percentage of the press input intensity threshold). Thus, in some embodiments, a press input includes an increase in the intensity of each contact above the press input intensity threshold, followed by a decrease in the intensity of the contact below the hysteresis intensity threshold corresponding to the press input intensity threshold, and each action is performed in response to the detection of a subsequent decrease in the intensity of each contact below the hysteresis intensity threshold (for example, an “upstroke” of each press input). Similarly, in some embodiments, a press input is detected only when the device detects an increase in contact intensity from below a hysteresis intensity threshold to above a press input intensity threshold, and optionally a decrease in contact intensity to below the hysteresis intensity, and each action is performed in response to the detection of a press input (e.g., depending on the situation, an increase in contact intensity or a decrease in contact intensity).
[0199] For the sake of clarity, the description of an action performed in response to a press input associated with a press input intensity threshold, or a gesture including a press input, is optionally triggered in response to the detection of any of the following: an increase in contact intensity above the press input intensity threshold, an increase in contact intensity from below the hysteresis intensity threshold to above the press input intensity threshold, a decrease in contact intensity below the press input intensity threshold, and / or a decrease in contact intensity below the hysteresis intensity threshold corresponding to the press input intensity threshold. Furthermore, in examples where an action is described to be performed in response to the detection of a decrease in contact intensity below the press input intensity threshold, the action is optionally performed in response to the detection of a decrease in contact intensity below a hysteresis intensity threshold corresponding to and lower than the press input intensity threshold.
[0200] Figure 5I shows an exemplary electronic device 580. Device 580 includes a body 580A. In some embodiments, device 580 may include some or all of the features described with respect to devices 100, 300, and 500 (e.g., Figures 1A-5B). In some embodiments, device 580 has one or more speakers 580B (concealed in the 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 displays and touch-sensitive surfaces 580D, the device may have a touch-sensitive display (also called a touchscreen). As with devices 100, 300, and 500, in some embodiments, the touch-sensitive surface 580D (or touchscreen) optionally includes one or more intensity sensors for detecting the intensity of the applied contact (e.g., touch). One or more intensity sensors on the touch-sensitive surface 580D (or touchscreen) may provide output data representing the intensity of the touch. The user interface of device 580 can respond to touches based on their intensity, meaning that touches of different intensity can invoke different user interface behaviors on device 580. In some embodiments, one or more displays 580E are one or more light-emitting diodes (LEDs). For example, a display may be a single LED, an LED cluster (e.g., red, green, and blue LEDs), multiple isolated LEDs, multiple isolated LED clusters, or other arrangements of one or more LEDs. For example, display 580E may be an array of nine isolated LED clusters arranged in a circular shape (e.g., a ring). In some embodiments, one or more displays consist of any one or more of different types of light-emitting elements.
[0201] Figure 5J illustrates an exemplary personal electronic device 580. In some embodiments, the device 580 may include some or all of the components described with respect to Figures 1A, 1B, 3, and 5A-5B. The device 580 has a bus 592 that operably connects an I / O section 594 to one or more computer processors 596 and memory 598. The I / O section 594 may be connected to a display 582, which may have a touch-sensing component 584 and optionally a strength sensor 585 (e.g., a contact strength sensor). In some embodiments, the touch-sensing component 584 is a component separate from the display 582. In addition, the I / O section 594 may be connected to a communication unit 590 that receives application and operating system data using Wi-Fi, Bluetooth, near-field communication (NFC), cellular, and / or other wireless communication technologies. The device 580 may include an input mechanism 588. In some embodiments, the input mechanism 588 is optionally a button. In some embodiments, the input mechanism 588 is optionally a microphone. The input mechanism 588 is optionally a plurality of microphones (e.g., a microphone array).
[0202] The electronic device 580 includes a speaker 586 that outputs sound. Device 580 may include an audio circuit (e.g., within I / O section 594) that receives sound data, converts the sound data into an electrical signal, and transmits the electrical signal to the speaker 586. The speaker 586 converts the electrical signal into human audible sound waves. The audio circuit (e.g., within I / O section 594) also receives the electrical signal converted from the sound waves by a microphone (e.g., input mechanism 588). The audio circuit (e.g., within I / O section 594) converts the electrical signal into sound data. The sound data is optionally retrieved by I / O section 594 from memory 598 and / or RF circuitry (e.g., communication unit 590) and / or transmitted to memory 598 and / or RF circuitry.
[0203] The memory 598 of the personal electronic device 580 may include one or more non-temporary computer-readable storage media for storing computer-executable instructions, which, when executed by one or more computer processors 596, can cause the computer processors to execute techniques described below, including, for example, process 800 (Figure 8), process 1000 (Figure 10), process 1200 (Figure 12), process 1400 (Figure 14), process 1600 (Figure 16), process 1800 (Figure 18), process 2000 (Figure 20), and process 2300 (Figure 23). The computer-readable storage media may be any medium capable of tangibly containing or storing computer-executable instructions used by or in connection with an instruction execution system, apparatus, or device. In some embodiments, the storage medium is a temporary computer-readable storage medium. In some embodiments, the storage medium is a non-temporary computer-readable storage medium. Non-temporary computer-readable storage media may include, but are not limited to, magnetic, optical, and / or semiconductor storage devices. Examples of such storage devices include magnetic disks, CDs, DVDs, or optical disks based on Blu-ray technology, as well as resident solid-state memory such as flash and solid-state drives. The personal electronic device 580 may include, but is not limited to, the components and configurations shown in Figure 5J, and may include other or additional components in multiple configurations.
[0204] In this specification, “installed application” refers to a software application that has been downloaded onto an electronic device (e.g., device 100, 300, and / or 500) and is ready to be launched on the device (e.g., opened). In some embodiments, a downloaded application becomes an installed application by an installation program that extracts the program portion from the downloaded package and integrates the extracted portion with the operating system of the computer system.
[0205] As used herein, the term "open application" or "running application" refers to a software application that has retained state information (e.g., as part of device / global internal state 157 and / or application internal state 192). An open or running application is optionally any one of the following types of applications. ● An active application currently displayed on the display screen of the device being used by the application, ● A background application (or background process) for which one or more processes are being processed by one or more processors, although not currently displayed, and ● An interrupted or suspended application that is not running but is stored in memory (volatile and non-volatile, respectively) and has state information that can be used to resume execution of the application.
[0206] As used herein, the term "closed application" refers to a software application that does not have retained state information (e.g., state information for a closed application is not stored in the device's memory). Thus, closing an application includes stopping and / or removing the application process for the application and removing the state information for the application from the device's memory. Generally, opening a second application within a first application does not close the first application. When the second application is displayed and the first application has finished being displayed, the first application becomes a background application.
[0207] Next, attention is directed to embodiments of a user interface ("UI") and related processes implemented on an electronic device such as the portable multifunctional device 100, device 300, device 500, device 580, etc.
[0208] Figures 6A to 6P show exemplary user interfaces for controlling audio playback according to some embodiments. The user interfaces of these figures are used to illustrate the processes described later, including the methods of Figures 7 to 8.
[0209] The device can perform one or more functions using the satisfaction of proximity conditions. The use of proximity of one device to another device can be used as a clear indicator that the user (e.g., holding one of the devices) desires to perform some action (e.g., call an interface) on one or both of the devices. For example, this can prevent waste of device resources by avoiding excessive user input (e.g., to navigate one or more menus on the device display) to perform a function. Further, this can also save the user's time by reducing the number of user inputs required (e.g., to call an interface on the display) to perform a function.
[0210] Figure 6A shows an exemplary electronic device 600 (e.g., a telephone) and a device 650 (e.g., a smart speaker). In some embodiments, device 600 includes one or more features of device 100, 300, or 500. Device 650 includes one or more features of device 580. In some embodiments, device 650 includes one or more features of device 100, 300, or 500. In the embodiment shown in Figure 6A, device 650 is placed in the kitchen and designated as a "kitchen speaker". Device 600 and device 650 are connected (e.g., via Bluetooth, near-field communication, network connection) such that device 600 and device 650 can each obtain information about the other device. Such information can include information about the audio currently playing or most recently played on the device.
[0211] Figures 6A to 6P show exemplary physical arrangements of devices 600 and 650. Figure 6A shows a first scenario involving device 650 and device 600 at a relatively long distance from device 650. Figure 6A shows an exemplary overhead view of the first scenario. As shown in Figure 6A, devices 600 and 650 are far apart. Figure 6A shows a proximity condition range indicator 652 around device 650. The proximity condition range indicator is also referred to herein as the “proximity zone indicator” or simply the “proximity zone”. Device 600 is not inside the proximity condition range indicator 652. The proximity condition range indicator is included in the figure to aid understanding but is not displayed on either device 600 or device 650. The proximity condition range indicator 652 is included as a visual aid and is intended to represent the degree of physical proximity that satisfies the proximity condition. For example, the range indicator 652 may represent the range of the near-field communication detection circuit of device 650. In some embodiments, proximity between devices can be detected using any suitable technique. For example, in some embodiments, a broadband radio connection is used. The broadband radio connection is used to determine, for example, one or more of the orientation, distance, and orientation of one or more devices. Thus, the presence of a detectable device within the proximity condition range indicator 652 (e.g., partially or completely) satisfies the proximity condition, but the proximity condition is not satisfied if the detectable device is located outside the range indicator 652. Those skilled in the art will understand that the detection range of physical proximity may be non-uniform, may be affected by a number of variables (e.g., radio interference, air humidity, etc.), may include points in three-dimensional space, and all of these are intended to be within the scope of this disclosure. Therefore, the graphical representation of the proximity condition range indicator 652 is not intended to limit the range for determining whether the proximity condition is met. Furthermore, the figures are not necessarily to scale and are included simply as visual aids. Therefore, unless otherwise noted, the size and scale of the features shown in the figures are not intended to be limitations on the distance required to be close or to satisfy the proximity condition.
[0212] Figure 6A shows an audio activity indicator 625 indicating the audio activity of device 600, and an audio activity indicator 675 indicating the audio activity of device 650. The audio activity indicators 625 and 675 indicate, as shown by the diagonal lines through the musical notes within them, that in the scenario shown in Figure 6A, neither device 600 nor device 650 is currently outputting audio (e.g., not playing any media). The audio activity indicators are included in the figure for illustrative purposes but are not displayed on either device 600 or device 650. In addition to activity indications, some of the figures described below also include audio representations (e.g., 672a–672c), which are also included in the figure to help understand which media item is playing on device 600. These audio representations are also not displayed on either device 600 or device 650.
[0213] Figure 6B shows a second scenario involving device 600 located at a short distance from device 650. Figure 6B shows an exemplary overhead view of the second scenario. As shown in 6B, devices 600 and 650 are in close proximity to each other, and at this time, device 600 is at least partially within the proximity condition range indicator 652. Since the proximity condition range indicator 652 represents the degree of physical proximity that satisfies the proximity condition, device 600 detects an indication that the degree of physical proximity between device 600 and device 650 satisfies the proximity condition (for example, and accordingly initiates communication with device 650 and transmits, for example, an indication that the condition is met). In some embodiments, device 650 detects an indication that the proximity condition is met (for example, and accordingly initiates communication with device 600 and transmits, for example, an indication that the condition is met).
[0214] In response to detecting an indication that physical proximity satisfies the proximity condition, device 600 displays a media information affordance 606 representing a media item recently played on device 600. Exemplary media items include, but are not limited to, music tracks, audiobooks (or parts thereof such as chapters), podcasts, videos, and telephone calls. In some embodiments, the media information affordance 606 represents a media item recently played on device 600, based on the determination that neither device 600 nor device 650 is currently playing audio. In Figure 6B, the media information affordance 606 represents a music track (e.g., a song).
[0215] The media information affordance 606 optionally includes several graphical elements that provide information about a media item, including: (1) an external device indicator 606-1 indicating a device in close proximity to device 600 (e.g., device 650, also called a kitchen speaker); (2) an action indicator 606-2 indicating an action or function associated with the media information affordance 606 (e.g., an action performed in accordance with the selection of the media information affordance 606); (3) a media item indicator 606-3 providing information that identifies the media item (e.g., the title of the song ("Summertime") and the artist "DJ AP"); (4) a media item status indicator 606-4 describing the status of the media item (e.g., "recently played"); and (5) a media item graphic 606-5 including an image associated with the media item (e.g., the album cover of the album containing the song).
[0216] As indicated by the action indicator 606-2, the selection of media information affordance 606 allows the media item associated with media information affordance 606 to be played on device 650. In some embodiments, the action performed in response to the selection of media information affordance 606 depends on the type of input. For example, as indicated by input 610a, in response to input on media information affordance 606, device 650 can perform an action. For example, if the input is a tap gesture, playback of the media item on device 650 is initiated, while if the input is a downward swipe gesture initiated on or near media information affordance 606, a different action is performed.
[0217] As shown in Figure 6B, device 600 can receive input (e.g., a swipe) on media information affordance 606. In response to receiving input, and according to the determination that the input is a swipe (as opposed to a tap), device 600 displays media information affordance 608, as shown in Figure 6C. In the embodiments shown in Figures 6B to 6C, device 600 also stops displaying media information affordance 606 and partially obscures (e.g., grays out, blurs) the portion of the user interface 604 that is not occupied by media information affordance 608. The media information affordance 608 optionally includes several graphical elements that provide information about a media item, including: (1) an external device indicator 608-1 indicating a device in close proximity to device 600 (e.g., device 650, also called a kitchen speaker); (2) an action indicator 608-2 indicating an action or function associated with the media information affordance 608 (e.g., an action performed in accordance with the selection of the media information affordance 608); (3) a media item indicator 608-3 providing information that identifies the media item (e.g., the title of the song ("Summertime") and the artist "DJ AP"); (4) a media item status indicator 608-4 describing the status of the media item (e.g., "recently played"); and (5) a media item graphic 608-5 including an image associated with the media item (e.g., the album cover of the album containing the song). In some embodiments, the media information affordance 608 is different from the media information affordance 606. In the embodiments shown in Figures 6B to 6C, media information affordance 608 is larger than media information affordance 606 and is displayed in or near the center of display 602, while media information affordance 606 is displayed at or near the top of display 602. For example, the media information provided in affordance 608 may be an enlarged and extended version of the media information provided in affordance 606.
[0218] In response to an input corresponding to the selection of a media item while media information affordance 608 is displayed (for example, a tap on media item graphic 608-5 while media item graphic 608-5 is input on media information affordance 608, or a tap on media information affordance 608), playback of the media item "Summertime by DJ AP" on device 650 begins.
[0219] In addition, the media information affordance 608 includes a queue of media items that can be selected for playback on device 650 (e.g., media item graphics 608-5, 608-6 in Figure 6C). As shown in Figure 6C, the media information affordance 608 includes media item graphic 608-6 corresponding to a second media item. In Figure 6C, device 600 receives an input on the media information affordance 608 (e.g., input 601b representing a right-to-left swipe). In response to receiving input 610b, device 600 horizontally scrolls the media item graphics in the media information affordance 608, as shown in Figure 6D. Scrolling the media information affordance 608 includes moving the media item graphic 608-5 partially off-center from the left edge of the media information affordance 608, fully displaying the media item graphic 608-6 in the center of the media information affordance 608, and partially displaying the media item graphic 608-7 that was previously completely hidden (e.g., not displayed). As a result of scrolling, the media item indicator 608-3 is replaced (or updated) with the media item indicator 608-3a, which provides information identifying the media item corresponding to the media item graphic 608-6 (e.g., a playlist ("Hit Mix") and user "Jane"). In some embodiments, the media item corresponding to the media item graphic 608-6 is the media item that was played immediately before the media item corresponding to the media item graphic 608-5 and is considered recently played, as indicated by the media item status indicator 608-4 in Figure 6D. In some embodiments, the queue in media information affordance 608 includes media items scheduled to be played after the media item corresponding to media item graphic 608-5 (e.g., the next two, four, five, or eight media items that will be played).In some such embodiments, the media item corresponding to media item graphic 608-6 represents a media item scheduled to be played after the media item corresponding to media item graphic 608-5, and optionally, the media item status indicator 608-4 is replaced or updated with a media item status indicator such as "next".
[0220] In Figure 6D, device 600 receives an input 610c (e.g., a tap) corresponding to the selection of a media item represented by the media item graphic 608-6. Upon receiving input 610c, device 600 sends a command to device 650 to start playing the media item represented by the media item graphic 608-6 on device 650. Figure 6E shows the state of devices 600 and 650 after playback of the media item on device 650 has begun. In Figure 6E, the audio activity indicator 675 indicates that device 650 is currently playing audio, and the audio activity indicator 625 indicates that device 600 is still not playing audio. The media information affordance 608 is optionally updated to reflect the current state, and the updated action indicator 608-2a indicates that the media item "Hit Mix by Jane" is currently playing on device 650, as indicated by the external device indicator 608-1, which still identifies device 650 ("Kitchen Speaker").
[0221] Figure 6F shows a scenario where device 600 is not inside the proximity range indicator 652, device 600 is playing audio (as indicated by the audio activity indicator 625), and device 650 is not playing audio (as indicated by the audio activity indicator 675). In Figure 6F, device 600 displays the user interface 614 of the music application running on device 600, which shows the media item currently playing on device 600. Figure 6G shows that device 600 has moved at least partially inside the proximity range indicator 652 while device 600 is playing audio (e.g., the song "The Sound" by artist "Mac Band" from the album "Sophomore") and device 650 is not playing audio. The proximity condition range indicator 652 represents the degree of physical proximity that satisfies the proximity condition, so device 600 detects an indication that the physical proximity between device 600 and device 650 satisfies the proximity condition (for example, and in response, initiates communication with device 650 and sends an indication that the condition is met (for example, to send a media item between device 600 and device 650)). In some embodiments, device 650 detects an indication that the proximity condition is met (for example, and in response, initiates communication with device 600 and sends an indication that the condition is met).
[0222] Upon detecting an indication that the physical proximity satisfies the proximity condition, device 600 displays a media information affordance 616 representing the media item currently being played on device 600. In some embodiments, the media information affordance 616 represents the media item currently being played on device 600, according to the determination that device 600 is currently playing a media item.
[0223] The media information affordance 616 optionally includes several graphical elements that provide information about the media item currently playing on device 600, including: (1) an external device indicator 616-1 indicating a device in close proximity to device 600 (e.g., device 650, also called a kitchen speaker); (2) an action indicator 616-2 indicating an action or function associated with the media information affordance 616 (e.g., an action performed in accordance with the selection of the media information affordance 616); (3) a media item indicator 616-3 providing information that identifies the media item (e.g., the title of the song ("The Sound") and the artist "Mac Band"); (4) a media item status indicator 616-4 describing the status of the media item (e.g., "From Phone"); and (5) a media item graphic 616-5 including an image associated with the media item (e.g., the album cover of the album containing the song).
[0224] As indicated by the action indicator 616-2, the selection of media information affordance 616 allows the media item associated with media information affordance 616 to be played on device 650. Furthermore, the media item status indicator 616-4 indicates the source of the media item to be played (e.g., "from phone").
[0225] In some embodiments, the media information affordance 616 corresponding to the currently playing media item is similar to the media information affordance 606 corresponding to the recently played media item. For example, the action performed in response to the selection of media information affordance 616 depends on the type of input. In some embodiments, a tap gesture on media information affordance 616 initiates playback of the media item currently playing on device 600 on device 650, and a downward swipe gesture initiated on or near media information affordance 616 causes device 600 to display a media information affordance similar to the media information affordance 608 described above, but containing information about the media item currently playing on device 600 as shown in Figure 6G.
[0226] In Figure 6G, device 600 receives an input 610d (e.g., a tap) corresponding to the selection of media information affordance 616. Upon receiving input 610d, device 600 sends a command to device 650 to start playback of the media item currently playing on device 600. As shown in Figure 6H, upon receiving input 610d, device 600 displays an updated media information affordance 616a (e.g., replacing media information affordance 616 with a new affordance, or maintaining the display of media information affordance 616 but changing at least part of the information displayed internally). In Figure 6H, media information affordance 616a includes an updated action indicator 616-2a (e.g., "Transferring to speaker") indicating that playback has started. In some embodiments, device 600 displays a media information affordance similar to media information affordance 616a in response to a tap on media information affordance 606 (Figure 6B), except that it has information corresponding to a recently played media item, "Summertime by DJ AP," instead of the currently playing media item, "The Sound by Mac Band."
[0227] As shown in Figure 6I, after displaying the updated media information affordance 616a (for example, in response to an indication that playback has started successfully on device 650, or after a predetermined time has passed since receiving input 610d or displaying media information affordance 616a), device 600 stops displaying media information affordance 616a and updates the user interface 614 with graphical element 614-2 to indicate that audio is playing on device 650, “Kitchen Speaker” (as indicated by audio status indicator 675). Audio status indicator 625 indicates that device 600 stops playing audio when playback starts on device 650 (for example, in response to input 610d). In some embodiments, device 600 continues to play audio (e.g., “The Sound by Mac Band”) while playback is occurring on device 650.
[0228] Figure 6J shows a scenario where device 600 is not inside the proximity range indicator 652, device 600 is playing audio (as indicated by the audio activity indicator 625), and device 650 is playing different audio (as indicated by the audio activity indicator 675) from the audio playing on device 600. Specifically, in Figure 6J, device 600 is playing "O Christmas Tree" as shown on the user interface 618, and device 650 is playing "Old MacDonald" as indicated by the audio representation 672a. The audio representation 672a is provided for illustrative purposes only. In Figure 6J, device 600 displays the user interface 618 of the music application running on device 600, which shows the media item currently playing on device 600. Figure 6K shows that device 600 has moved at least partially inside the proximity range indicator 652 while both device 600 and device 650 are playing their corresponding audio media items. The proximity condition range indicator 652 represents the degree of physical proximity that satisfies the proximity condition, so device 600 detects an indication that the physical proximity between device 600 and device 650 satisfies the proximity condition (for example, and accordingly initiates communication with device 650 and transmits an indication that the condition is met). In some embodiments, device 650 detects an indication that the proximity condition is met (for example, and accordingly initiates communication with device 600 and transmits an indication that the condition is met).
[0229] As shown in FIG. 6K, in response to detecting an indication that the physical proximity meets the proximity condition, device 600 displays a media information affordance 620 representing the media item currently being played on device 600. In some embodiments, media information affordance 620 represents the media item currently being played on device 600 in accordance with a determination that device 600 is currently playing a media item (e.g., regardless of whether device 650 is playing audio). In some embodiments, media information affordance 620 represents the media item currently being played on device 600 in accordance with a determination that both device 600 and device 650 are currently playing audio.
[0230] Media information affordance 620 optionally includes several graphical elements that provide information about the media item currently being played on device 600, including: (1) an external device indicator 620-1 indicating the device (e.g., device 650, also referred to as the kitchen speaker in FIG. 6K) that device 600 is proximate to; (2) an action indicator 620-2 indicating an action or function associated with media information affordance 620 (e.g., an action to be performed in response to selection of media information affordance 620); (3) a media item indicator 620-3 providing information identifying the media item (e.g., the title of the song ("O Christmas Tree") and the artist ("Carolers")); (4) a media item status indicator 620-4 describing the status of the media item (e.g., "from the phone"); and (5) a media item graphic 620-5 including an image associated with the media item (e.g., the album cover of the album containing the song).
[0231] As indicated by the action indicator 620-2, the selection of media information affordance 620 allows the media item associated with media information affordance 620 to be played on device 650. Furthermore, the media item status indicator 620-4 indicates the source of the media item to be played (e.g., "from phone").
[0232] In some embodiments, media information affordance 620 is similar to media information affordance 616. For example, the action performed in response to the selection of media information affordance 620 depends on the type of input. In some embodiments, a tap gesture on media information affordance 620 initiates playback of the media item currently playing on device 600 on device 650, and a downward swipe gesture initiated on or near media information affordance 620 causes device 600 to display a media information affordance similar to media information affordance 608 described above, but having information about the media item currently playing on device 600 as shown in Figure 6K.
[0233] In Figure 6K, device 600 receives an input 610e (e.g., a tap) corresponding to the selection of media information affordance 620. Upon receiving input 610e, device 600 sends a command to device 650 to start playback of the media item currently playing on device 600. In some embodiments, upon receiving input 610e, device 600 displays an updated media information affordance similar to the updated media information affordance 616a to indicate that the media item currently playing on device 600 has been transferred for playback on device 650.
[0234] As shown in Figure 6L, after receiving input 610e (for example, in response to receiving input 610e), device 600 stops displaying media information affordance 620 and updates user interface 618 with graphical element 618-2 to indicate that audio is playing on device 650, “Kitchen Speaker” (as indicated by audio status indicator 675). Audio status indicator 625 indicates that device 600 stops playing audio when playback begins on device 650 (for example, in response to input 610e). Audio status indicator 675 indicates that device 650 is playing audio (for example, “O Christmas Tree” as indicated by audio expression 672b). In some embodiments, device 600 continues to play audio (for example, “O Christmas Tree”) while playback is occurring on device 650.
[0235] Figure 6M illustrates a scenario where device 600 is not inside the proximity condition range indicator 652, device 600 is not playing audio (as indicated by the audio activity indicator 625), and device 650 is playing audio (as indicated by the audio activity indicator 675, "Anything" by The Stars (e.g., 672c)). In Figure 6M, device 600 displays the user interface 604 (e.g., the home screen with application icons). Figure 6N shows that device 600 has moved at least partially inside the proximity condition range indicator 652 while both device 600 and device 650 are playing their corresponding audio media items. Since the proximity condition range indicator 652 represents the physical proximity that satisfies the proximity condition, device 600 detects an indication that the physical proximity between device 600 and device 650 satisfies the proximity condition (e.g., and accordingly initiates communication with device 650, e.g., sending an indication that the condition is met). In some embodiments, device 650 detects an indication that the proximity condition is met (for example, and in response, initiates communication with device 600 and, for example, transmits an indication that the condition is met).
[0236] In response to detecting an indication that the physical proximity condition is met, device 600 displays a media information affordance 622 representing the media item currently playing on device 650. In some embodiments, the media information affordance 622 represents the media item currently playing on device 650, according to the determination that device 650 is currently playing a media item and device 600 is not currently playing a media item. In some embodiments, the media information affordance 620 represents the media item currently playing on device 650 (regardless of whether device 600 is playing a media item, for example) according to the determination that device 650 is currently playing a media item.
[0237] The media information affordance 622 optionally includes several graphical elements that provide information about the media item currently playing on device 650, including: (1) an external device indicator 622-1 indicating a device in close proximity to device 600 (e.g., device 650 also called a kitchen speaker); (2) an action indicator 622-2 indicating an action or function associated with the media information affordance 622 (e.g., an action performed in accordance with the selection of the media information affordance 622); (3) a media item indicator 622-3 providing information that identifies the media item (e.g., the title of the song ("Anything") and the artist "The Stars"); and (4) a media item graphic 622-4 including an image associated with the media item (e.g., the album cover of the album containing the song).
[0238] As indicated by the action indicator 622-2, selecting media information affordance 622 allows the media item associated with media information affordance 622 to be played on device 600 (for example, transferred from device 650).
[0239] In some embodiments, the action performed in response to the selection of media information affordance 622 depends on the type of input. For example, a tap gesture on media information affordance 622 may initiate playback of the media item currently playing on device 650 on device 600, and a downward swipe gesture initiated on or near media information affordance 622 may cause device 600 to display a media information affordance similar to the media information affordance 608 described above, but containing information about the media item currently playing on device 650 as shown in Figure 6N.
[0240] In Figure 6N, device 600 receives an input 610f (e.g., a tap) corresponding to the selection of media information affordance 622. Upon receiving input 610f, device 600 begins playback on device 600 of the media item currently playing on device 650. As shown in Figure 6O, upon receiving input 610f, device 600 displays an updated media information affordance 622a (similar to the updated media information affordance 616a) with an updated action indicator 622-2a to indicate that the media item currently playing on device 650 is being transferred for playback on device 600.
[0241] As shown in Figure 6P, after displaying the updated media information affordance 622a (for example, in response to an indication that playback has started successfully on device 600, or after a predetermined time has passed since receiving input 610f or displaying media information affordance 622a), device 600 stops displaying media information affordance 622a and displays the user interface 624 to indicate that audio is playing on device 600 (as indicated by the audio status indicator 625). In some embodiments, the user interface 624 corresponds to a music application that is launched in response to playback starting on device 600, allowing the user to further control playback on device 600. The audio status indicator 675 indicates that device 650 stops playing audio when playback starts on device 600 (for example, in response to input 610f). In some embodiments, device 650 continues to play audio (for example, "Anything" by The Stars) while playback is on device 600.
[0242] Figure 7 is a flowchart illustrating a method for controlling audio playback using an electronic device according to several embodiments. Method 700 is performed on a device (e.g., 100, 300, 500, or 600) equipped with a display device (e.g., 602). Some operations of Method 700 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0243] As will be described later, Method 700 provides an intuitive way to control audio playback. This method reduces the cognitive burden on the user to control audio playback, thereby creating a more efficient human-machine interface. In the case of battery-powered computing devices, power is saved and the intervals between battery charges are increased by enabling the user to control audio playback faster and more efficiently.
[0244] In some embodiments, the electronic device (e.g., 600) is a computer system. The computer system optionally includes communication (e.g., wired communication, wireless communication) between a display generation component and one or more input devices. The display generation component is configured to provide a visual output, such as a display via a CRT display, a display via an LED display, or a display via image projection. In some embodiments, the display generation component is integrated with the computer system. In some embodiments, the display generation component is separate from the computer system. One or more input devices are configured to receive input, such as a touch-sensitive surface that receives user input. In some embodiments, one or more input devices are integrated with the computer system. In some embodiments, one or more input devices are separate from the computer system. Thus, the computer system can transmit data (e.g., image data or video data) via wired or wireless connections to an integrated or external display generation component to visually generate content (e.g., using a display device), and can receive input from one or more input devices via wired or wireless connections.
[0245] The electronic device, while connected to an external device (e.g., 650), detects an indication that the physical proximity between the electronic device and the external device satisfies a proximity condition (e.g., represented by 652) (702). In some embodiments, the indication is provided in response to the determination that the physical proximity between the electronic device and the external device satisfies the proximity condition. In some embodiments, the proximity condition is satisfied if the distance to the electronic device is less than a threshold distance (e.g., 6 inches, 12 inches, 18 inches, 24 inches).
[0246] In response to detecting an indication that physical proximity satisfies the proximity condition, the electronic device displays, via a display device, a first media information affordance (e.g., 606, 616, 620) representing a first media item (e.g., a music track, an audiobook (or a portion thereof such as a chapter), a podcast, a video, a phone call, a media item currently playing on the electronic device, the most recently played and finished or stopped media item on the electronic device, or a media item scheduled to be played next on the electronic device, such as a first track in a playlist when the user launches a media application or selects a playlist) (704), the first media information affordance comprising a first set of information about the first media item (e.g., 606-1 to 606-5). By displaying the first media information affordance representing the first media item in response to detecting an indication that physical proximity satisfies the proximity condition, the electronic device automatically provides feedback to the user by indicating that physical proximity satisfies the proximity condition, and thus reduces the number of inputs required to display the first media information affordance. By providing improved feedback, reducing the number of inputs required to perform an action, and executing an action when a set of conditions is met without requiring further user input, the device's usability is enhanced; the user-device interface is made more efficient (for example, by helping the user provide appropriate input when operating / interacting with the device and reducing user errors); and in addition, power consumption is reduced and the device's battery life is improved by enabling the user to use the device more quickly and efficiently.
[0247] The electronic device receives a first input (e.g., 610a, 610d, 610e) representing a selection of first media information affordances (706).
[0248] Upon receiving a first input (708), and determining that the first input is an input of a first type (for example, a tap gesture on the touch-sensitive display of the electronic device at a position corresponding to a first media information affordance), the electronic device sends a command to the external device to start playback of a first media item on the external device (710) (for example, Figures 6H to 6I).
[0249] Upon receiving a first input (708), and determining that the first input is a second type of input (e.g., a directional swipe gesture on a first media information affordance) different from a first type of input, the electronic device displays a second media information affordance (e.g., 608) representing a first media item via a display device (712), the second media information affordance differing from the first media information affordance in that it includes a second set of information about the first media item. Depending on the type of input that selects the first media affordance, additional control options regarding the first media affordance are provided without cluttering the user interface with additional displayed controls by sending a command to the external device to start playback of the first media item on the external device, or by displaying the second media information affordance representing the first media item. By providing additional control options without cluttering the UI with additional controllers, the usability of the device is enhanced, the user-device interface becomes more efficient (for example, by helping users provide appropriate input when operating / interacting with the device and reducing user errors), and in addition, power consumption is reduced and the device's battery life is improved by allowing users to use the device more quickly and efficiently.
[0250] In some embodiments, the electronic device displays a second media information affordance without sending a command to the external device to begin playback of a first media item on the external device. In some embodiments, the second set of information includes the first set of information but is displayed differently. In some embodiments, the second media information affordance includes additional information (e.g., more detailed) and / or a larger graphical representation of the first media item. In some embodiments, the second set of information includes a queue of media items, which includes media items that follow the first media item (e.g., media items scheduled to be played after the first media item), and / or media items that precede the first media item in the queue (e.g., media items that were played before the first media item, or media items that are placed before the first media item in a list of media items such as a playlist).
[0251] In some embodiments, the first media information affordance includes an indication (e.g., 606-1, 606-2) that identifies an external device. In some embodiments, the second media information affordance includes an indication that identifies an external device. In some embodiments, the first media information affordance includes an indication that the selection of the first media information affordance will initiate playback of a first media item on the external device.
[0252] In some embodiments, upon receiving a first input and in accordance with the determination that the first input is of a first type, the electronic device changes the visual appearance of a first media information affordance (e.g., 612-2a) to indicate that playback of a first media item on an external device has begun (see, for example, Figure 6H). In some embodiments, changing the visual appearance of the first media information affordance includes displaying text indicating that playback of a first media item on an external device has begun, while optionally maintaining the display of at least a portion of a first set of information about the first media item. In some embodiments, changing the visual appearance of the first media information affordance includes replacing an indication that playback of a first media item on an external device has begun by selection of the first media information affordance with an indication (e.g., text) that playback of a first media item on an external device has begun.
[0253] In some embodiments, a first set of information about a first media item indicates the type of media item corresponding to the first media item (e.g., 606-5, 902-4). Exemplary media item types include, but are not limited to, music tracks, audiobooks, podcasts, videos, and telephone calls. In some embodiments, a first set of information about a telephone call media item includes avatars of the call participants.
[0254] In some embodiments, as part of initiating playback of a first media item on an external device, the electronic device transmits the data of the first media item to the external device upon determination that the first media item meets the data transmission conditions (e.g., the first media item is a telephone call, or the first media item is provided by an application, service, or account that is available to the electronic device but not to the external device). In some embodiments, as part of initiating playback of a first media item on an external device, the electronic device refrains from transmitting the data of the first media item to the external device upon determination that the first media item does not meet the data transmission conditions (e.g., the first media item is provided by a specific application, service, or account that the external device has access to). By transmitting (or not transmitting) the data of the first media item to the external device based on whether the first media item meets the data transmission conditions, the need for the user to provide additional input to transmit data is avoided. By performing actions when a set of conditions is met without requiring further user input, the usability of the device is enhanced, the user-device interface is made more efficient (for example, by assisting the user in providing appropriate input when operating / interacting with the device and reducing user errors), and in addition, power consumption is reduced and the battery life of the device is improved by enabling the user to use the device more quickly and efficiently.
[0255] In some embodiments, a queue of media items, including a first media item, exists on the electronic device before playback begins. In some such embodiments, starting playback includes transferring the queue to an external device. In some embodiments, the first media item is accessible to both the electronic device and the external device via a common user account. In some embodiments, the external device retrieves the first media item from the common user account (for example, playback of the first item does not involve streaming the first media item from the electronic device to the external device). In some embodiments, the external device retrieves the queue from the common user account.
[0256] In some embodiments, after sending a command to the external device to start playback of a first media item on the external device, the electronic device stops displaying a first media information affordance representing the first media item in response to a determination that a time condition has been met (for example, a threshold time has elapsed since receiving a first input of a first type) (see, for example, Figure 6I).
[0257] In some embodiments, while displaying a first media information affordance representing a first media item and before receiving a first input, the electronic device detects an indication that the physical proximity between the electronic device and an external device satisfies a physical isolation condition (e.g., represented by 656). In some embodiments, the indication is provided in response to the determination that the physical proximity between the electronic device and the external device satisfies a physical isolation condition. In some embodiments, the physical isolation condition is satisfied if the distance between the electronic device and the external device exceeds a predetermined threshold distance. In some embodiments, the threshold distance associated with the physical isolation condition is greater than a first threshold distance associated with a (first) proximity condition. For example, the physical isolation condition is satisfied if the distance between the electronic device and the external device exceeds a third threshold distance (e.g., 20 feet), the first proximity condition is satisfied if the distance between the electronic device and the external device is less than a first threshold distance (e.g., 1-2 feet), and the third threshold distance is greater than the first threshold distance. In some embodiments, while displaying a first media information affordance representing a first media item, and before receiving a first input, the electronic device stops displaying the first media information affordance representing the first media item in response to detecting an indication that the physical proximity satisfies a physical separation condition (e.g., Figure 11D). By stopping the display of the first media information affordance representing the first media item in response to detecting an indication that the physical proximity satisfies a physical separation condition, the device provides feedback to the user indicating that playback of the first media information affordance selection can no longer be started on the external device.By providing improved feedback, the usability of the device is enhanced, the user device interface becomes more efficient (for example, by helping users make appropriate inputs when operating / interacting with the device and reducing user errors), which in turn reduces power consumption and improves the device's battery life by allowing users to use the device more quickly and efficiently.
[0258] In some embodiments, a first type of input includes a tap gesture (e.g., 610d), and a second type of input includes a swipe or drag gesture (e.g., 610a, a vertical upward or vertical downward swipe or drag gesture).
[0259] In some embodiments, while displaying a second media information affordance representing a first media item, the electronic device receives a second input (e.g., 610c) representing a selection of the second media information affordance. In some embodiments, upon receiving the second input representing a selection of the second media information affordance, the electronic device sends a command to the external device to begin playback of the second media item on the external device. In some embodiments, the second media item is the first media item. In some embodiments, the second media information affordance represents a queue of media items, including representations of the first media item and representations of at least one other media item. In some such embodiments, the electronic device scrolls the queue in response to an input (e.g., a horizontal swipe or drag gesture). In some embodiments, in response to an input corresponding to a selection of a media item in the queue, the electronic device sends a command to the external device to begin playback of the selected media item on the external device. Improved feedback is provided by displaying a second media information affordance (for example, having additional information about a first media item) and, depending on the selection of the second media information affordance, initiating playback of the second media item on an external device, thereby providing the user with additional information and / or control over playback on an external device. By providing improved feedback, the usability of the device is enhanced, the user device interface becomes more efficient (for example, by helping the user make appropriate inputs when operating / interacting with the device and reducing user errors), which further reduces power consumption and improves the device's battery life by allowing the user to use the device more quickly and efficiently.
[0260] In some embodiments, detection of an indication that the physical proximity between an electronic device and an external device satisfies a proximity condition occurs while the electronic device is triggering playback of a first media item (e.g., Figure 6G). In some embodiments, triggering playback includes outputting the media item through one or more speakers of the electronic device, or causing output through one or more connected external speakers. In some embodiments, in response to receiving a first input and in accordance with the determination that the first input is an input of a first type, the electronic device stops triggering playback of the first media item in the electronic device (see e.g., Figure 6I). In some embodiments, the electronic device continues to play the first media item.
[0261] In some embodiments, the first media information affordance represents the first media item according to the determination that the first media item is being played on the electronic device while detecting an indication that the physical proximity between the electronic device and the external device satisfies the proximity condition (e.g., Figure 6G). In some embodiments, sending a command to the external device to start playing the first media item on the external device is performed according to the determination that the first media item is currently being played on the electronic device.
[0262] In some embodiments, as part of starting playback of a first media item on an external device, the electronic device stops playing a third media item on the external device (see, for example, Figure 6L).
[0263] In some embodiments, the first media item is the media item most recently played on the electronic device before the detection of the indication that the physical proximity between the electronic device and the external device satisfies the proximity condition (e.g., Figure 6B), while an indication that the physical proximity between the electronic device and the external device satisfies the proximity condition is detected. In some embodiments, the first media information affordance represents the media item most recently played on the electronic device at the time the indication that the physical proximity between the electronic device and the external device satisfies the proximity condition is detected, according to the determination that the external device is not playing the media item.
[0264] It should be noted that the process details described above in relation to Method 700 (e.g., Figure 7) are also applicable in a similar manner to the methods described later. For example, Method 800 and / or Method 1000 optionally include one or more characteristics of the various methods described above with reference to Method 700. For example, operation 706 of Method 700 may be performed to select the first media information affordance described in operation 1004 of Method 1000, and operations 708, 710, and / or 712 may be performed as part of Method 1000, depending on the selection. For brevity, these details will not be repeated below.
[0265] Figure 8 is a flowchart illustrating a method for controlling audio playback using an electronic device according to several embodiments. Method 800 is performed on a device (e.g., 100, 300, 500, or 600) equipped with a display device (e.g., 602). Some operations of Method 800 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0266] As will be described later, Method 800 provides an intuitive way to control audio playback. This method reduces the cognitive burden on the user to control audio playback, thereby creating a more efficient human-machine interface. In the case of battery-powered computing devices, power is saved and the intervals between battery charges are increased by enabling the user to control audio playback faster and more efficiently.
[0267] In some embodiments, the electronic device (e.g., 600) is a computer system. The computer system optionally includes communication (e.g., wired communication, wireless communication) between a display generation component and one or more input devices. The display generation component is configured to provide a visual output, such as a display via a CRT display, a display via an LED display, or a display via image projection. In some embodiments, the display generation component is integrated with the computer system. In some embodiments, the display generation component is separate from the computer system. One or more input devices are configured to receive input, such as a touch-sensitive surface that receives user input. In some embodiments, one or more input devices are integrated with the computer system. In some embodiments, one or more input devices are separate from the computer system. Thus, the computer system can transmit data (e.g., image data or video data) via wired or wireless connections to an integrated or external display generation component to visually generate content (e.g., using a display device), and can receive input from one or more input devices via wired or wireless connections.
[0268] An electronic device, while connected to an external device (e.g., 650), detects an indication that the physical proximity between the electronic device and the external device satisfies a proximity condition (e.g., represented by 652) (802). In some embodiments, the indication is provided in response to the determination that the physical proximity between the electronic device and the external device satisfies the proximity condition. In some embodiments, the proximity condition is satisfied if the distance between the electronic devices is less than a threshold distance (e.g., 6 inches, 12 inches, 18 inches, 24 inches).
[0269] In response to detecting an indication that physical proximity satisfies the proximity condition, the electronic device displays a first media information affordance (e.g., 622) via a display device representing a first media item (e.g., a music track, an audiobook (or a portion thereof such as a chapter), a podcast, a video, or a phone call) currently playing on the external device (804). In some embodiments, the first media information affordance represents the first media item according to the determination that the first media item is currently playing on the external device and not currently playing on the electronic device. In some embodiments, the first media information affordance includes a first set of information (e.g., 622-1 to 622-4) about the first media item. By displaying the first media information affordance representing the first media item in response to detecting an indication that physical proximity satisfies the proximity condition, feedback is automatically provided to the user by indicating that physical proximity satisfies the proximity condition, and thus the number of inputs required to display the first media information affordance is reduced. By providing improved feedback, reducing the number of inputs required to perform an action, and executing an action when a set of conditions is met without requiring further user input, the device's usability is enhanced; the user-device interface is made more efficient (for example, by helping the user provide appropriate input when operating / interacting with the device and reducing user errors); and in addition, power consumption is reduced and the device's battery life is improved by enabling the user to use the device more quickly and efficiently.
[0270] The electronic device receives a first input (e.g., 610f) representing a selection of a first media information affordance (806).
[0271] Upon receiving a first input (808), and determining that the first input is an input of a first type (for example, a tap gesture on the touch-sensitive display of the electronic device at a position corresponding to a first media information affordance), the electronic device begins playing a first media item on the electronic device (810).
[0272] Upon receiving a first input (808), and determining that the first input is a second type of input (e.g., a directional swipe gesture on a first media information affordance) different from a first type of input, the electronic device displays a second media information affordance (e.g., 608) representing a first media item via a display device (812), the second media information affordance differing from the first media information affordance in that it includes a second set of information about the first media item. Depending on the type of input that selects the first media affordance, the electronic device can start playback of the first media item or display a second media information affordance representing the first media item, thereby providing additional control options for the first media affordance without cluttering the user interface with additional displayed controls. By providing additional control options without cluttering the UI with additional controllers, the usability of the device is enhanced, the user-device interface becomes more efficient (for example, by helping users provide appropriate input when operating / interacting with the device and reducing user errors), and in addition, power consumption is reduced and the device's battery life is improved by allowing users to use the device more quickly and efficiently.
[0273] In some embodiments, the second set of information includes the first set of information but is displayed differently. In some embodiments, the second media information affordance includes additional information (e.g., more detail) about the first media item and / or a larger graphical representation of the first media item. In some embodiments, the second set of information includes a queue of media items, which includes media items that follow the first media item (e.g., media items scheduled to be played after the first media item) and / or media items that precede the first media item in the queue (e.g., media items that were played before the first media item, or media items that are placed before the first media item in a list of media items such as a playlist).
[0274] In some embodiments, when an electronic device detects an indication that the physical proximity between the electronic device and an external device satisfies a proximity condition, it determines that the electronic device is not playing an audio media item and displays a first media information affordance representing a first media item currently playing on the external device (for example, Figure 6N).
[0275] In some embodiments, the first media information affordance includes an indication (e.g., 622-2) that identifies an electronic device. In some embodiments, the second media affordance includes an indication that identifies an electronic device. In some embodiments, the first media information affordance includes an indication that the selection of the first media information affordance initiates playback of a first media item on the electronic device.
[0276] In some embodiments, upon receiving a first input and in accordance with the determination that the first input is of a first type, the electronic device changes the visual appearance of a first media information affordance (e.g., 622-2a) to indicate that playback of a first media item on the electronic device has begun. In some embodiments, changing the visual appearance of the first media information affordance includes displaying text indicating that playback of a first media item on the electronic device has begun, while optionally maintaining the display of at least a portion of a first set of information about the first media item. In some embodiments, changing the visual appearance of the first media information affordance includes replacing an indication that playback of a first media item on the electronic device has begun by selection of the first media information affordance with an indication (e.g., text) that playback of a first media item on the electronic device has begun.
[0277] In some embodiments, the first media information affordance includes an indication (e.g., 622-1) that identifies an external device as the source of the first media item.
[0278] In some embodiments, a first set of information about a first media item indicates the type of media item corresponding to the first media item (e.g., 622-4, 902-4). Exemplary media item types include, but are not limited to, music tracks, audiobooks, podcasts, videos, and telephone calls. In some embodiments, a first set of information about a telephone call media item includes avatars of the call participants.
[0279] In some embodiments, as part of initiating playback of a first media item on the electronic device, the electronic device receives data for the first media item from an external device, based on a determination that the first media item satisfies data transmission conditions (e.g., the first media item is provided by an application or account that is available to an external device but not to the electronic device). In some embodiments, a queue of media items, including the first media item, exists on the external device before playback is initiated. In some such embodiments, initiating playback includes transferring the queue to the electronic device. In some embodiments, as part of initiating playback of a first media item on the electronic device, the electronic device stops receiving data for the first media item from an external device, based on a determination that the first media item does not satisfy data transmission conditions (e.g., the electronic device was transmitting data for the first media item to an external device, the first media item is a telephone call, or the first media item is provided by a specific application, service, or account that the electronic device has access to). By receiving (or not receiving) data from an external device for a first media item based on whether the first media item meets the data transmission conditions, the system avoids requiring the user to provide additional input to receive data. By performing an action when a set of conditions is met without requiring further user input, the device's usability is enhanced, the user-device interface is made more efficient (for example, by helping the user provide appropriate input when operating / interacting with the device and reducing user errors), and in addition, power consumption is reduced and the device's battery life is improved by allowing the user to use the device more quickly and efficiently.
[0280] In some embodiments, a queue of media items, including a first media item, exists on an external device before playback begins. In some such embodiments, starting playback includes transferring the queue to the electronic device. In some embodiments, the first media item is accessible to both the electronic device and the external device via a common user account. In some embodiments, the electronic device retrieves the first media item from the common user account (for example, playback of the first item does not involve streaming the first media item from the external device to the electronic device). In some embodiments, the electronic device retrieves the queue from the common user account.
[0281] In some embodiments, after playback of a first media item on an electronic device has begun, the electronic device stops displaying a first media information affordance representing the first media item in response to a determination that a time condition has been met (for example, a threshold time has elapsed since receiving a first input of a first type) (see, for example, Figure 6P).
[0282] In some embodiments, after displaying a first media information affordance representing a first media item and before receiving a first input, the electronic device detects an indication that the physical proximity between the electronic device and an external device satisfies a physical isolation condition (e.g., represented by 656). In some embodiments, the indication is provided in response to the determination that the physical proximity between the electronic device and the external device satisfies a physical isolation condition. In some embodiments, the physical isolation condition is satisfied if the distance between the electronic device and the external device exceeds a predetermined threshold distance. In some embodiments, the threshold distance associated with the physical isolation condition is greater than a first threshold distance associated with a (first) proximity condition. For example, the physical isolation condition is satisfied if the distance between the electronic device and the external device exceeds a third threshold distance (e.g., 20 feet), the first proximity condition is satisfied if the distance between the electronic device and the external device is less than a first threshold distance (e.g., 1-2 feet), and the third threshold distance is greater than the first threshold distance. In some embodiments, after displaying a first media information affordance representing a first media item and before receiving a first input, the electronic device stops displaying the first media information affordance representing the first media item in response to detecting an indication that the physical proximity satisfies the physical separation condition (see, for example, Figure 11D). By stopping the display of the first media information affordance representing the first media item in response to detecting an indication that the physical proximity satisfies the physical separation condition, feedback is provided to the user indicating that playback can no longer be started on the electronic device with the selection of the first media information affordance.By providing improved feedback, the usability of the device is enhanced, the user device interface becomes more efficient (for example, by helping users make appropriate inputs when operating / interacting with the device and reducing user errors), which in turn reduces power consumption and improves the device's battery life by allowing users to use the device more quickly and efficiently.
[0283] In some embodiments, the first type of input includes a tap gesture (e.g., 610f), and the second type of input includes a swipe or drag gesture (e.g., 610a, a vertical upward or vertical downward swipe or drag gesture).
[0284] In some embodiments, while displaying a second media information affordance (e.g., 608) representing a first media item, the electronic device receives a second input (e.g., 610c) representing a selection of the second media information affordance. In some embodiments, in response to receiving the second input representing a selection of the second media information affordance, the electronic device begins playback of the second media item on the electronic device. In some embodiments, the second media item is the first media item. In some embodiments, the second media information affordance represents a queue of media items, including representations of the first media item and representations of at least one other media item. In some such embodiments, the electronic device scrolls the queue in response to an input (e.g., a horizontal swipe or drag gesture). In some embodiments, in response to an input corresponding to a selection of a media item in the queue, the electronic device begins playback of the selected media item on the electronic device. Improved feedback is provided by displaying a second media information affordance (for example, having additional information about a first media item) and, depending on the selection of the second media information affordance, initiating playback of the second media item on the electronic device, thereby providing the user with additional information and / or control over playback on an external device. By providing improved feedback, the usability of the device is enhanced, the user device interface becomes more efficient (for example, by helping the user make appropriate inputs when operating / interacting with the device and reducing user errors), which further reduces power consumption and improves the device's battery life by allowing the user to use the device more quickly and efficiently.
[0285] In some embodiments, upon receiving a first input and determining that the first input is of a first type, the external device stops playing the first media item (see, for example, Figure 6P). In some embodiments, the external device continues playing the first media item.
[0286] It should be noted that the process details described above in relation to Method 800 (e.g., Figure 8) are also applicable in a similar manner to the methods described later. For example, Method 1000 optionally includes one or more characteristics of the various methods described above with reference to Method 800. For example, operation 806 of Method 800 can be performed to select the first media information affordance described in operation 1004 of Method 1000, and operations 808, 810, and / or 812 can be performed as part of Method 1000, depending on the selection. For brevity, these details will not be repeated below.
[0287] Figures 9A to 9D illustrate exemplary methods and user interfaces for controlling media playback according to several embodiments. In some embodiments, the techniques described with reference to Figures 9A to 9D allow a user to initiate playback of media items on different devices via touch input.
[0288] Figure 9A shows devices 600, 650, and proximity range indicator 652, as described above with reference to Figures 6A to 6P. In addition, Figure 9A shows the playback proximity range indicator 654. As will be explained in more detail below, playback of a media item can be started automatically (without selecting media information affordances such as 606, 608, 616, 620, and 622) by bringing device 600 into the playback proximity range indicator 654.
[0289] The regeneration proximity range indicator 654 is included as a visual aid and is intended to represent the physical proximity required to satisfy the regeneration proximity condition. The presence of a detectable device (e.g., 600) within the regeneration proximity range indicator 654 (e.g., partially or completely) satisfies the regeneration proximity condition, but if the detectable device is located outside the regeneration proximity range indicator 654, the regeneration proximity condition is not satisfied. The graphical representation of the regeneration proximity range indicator 654 is not intended to limit the range used to determine whether the regeneration proximity condition is satisfied. Furthermore, the figures are not necessarily to scale and are included simply as a visual aid. Therefore, unless otherwise noted, the size and scale of the features shown in the figures are not intended to be limitations on the distance required to be close or to satisfy the regeneration proximity condition. However, as shown by arrows d1 and d2 in Figure 9A, the regeneration proximity range indicator 654 is inside the proximity range indicator 652 (for example, d1 is greater than d2), so that device 600 must be closer to device 650 to satisfy the regeneration proximity condition associated with the regeneration proximity range indicator 654 than to satisfy the proximity condition associated with the proximity range indicator 652.
[0290] Figure 9A illustrates a scenario where device 600 is not within the proximity condition range indicator 652, device 600 has an active phone call (as indicated by the phone user interface 900 and audio activity indicator 625), and device 650 is not playing audio (as indicated by the audio activity indicator 675). In Figure 9A, device 600 is providing an audio output for the phone call (as indicated by the audio status indicator 900-1) and receiving an audio input for the phone call. Although Figures 9A to 9D are illustrated with reference to phone call media items, the techniques described can be applied to other types of media items (e.g., video calls, music tracks, audiobooks, podcasts). Similarly, the techniques described above with reference to Figures 6A to 6P can be applied to phone calls.
[0291] Figure 9B shows that device 600 is moved at least partially inside the proximity condition range indicator 652 during a phone call on device 600. Since the proximity condition range indicator 652 represents the degree of physical proximity that satisfies the proximity condition, device 600 detects an indication that the physical proximity between device 600 and device 650 satisfies the proximity condition (for example, and in response, initiates communication with device 650 and sends an indication that the condition is met). In some embodiments, device 650 detects an indication that the proximity condition is met (for example, and in response, initiates communication with device 600 and sends an indication that the condition is met).
[0292] Upon detecting an indication that physical proximity satisfies the proximity condition, device 600 displays a media information affordance 902 representing the media item currently playing on device 600 (e.g., a telephone call associated with user interface 900). Media information affordance 902 is similar to media information affordances 606, 608, 616, 620, and 622, which are applied to telephone call media items.
[0293] The media information affordance 902 optionally includes several graphical elements that provide information about the telephone call in Figure 9B, including: (1) an external device indicator 902-1 indicating a device in close proximity to device 600 (e.g., device 650, also called a kitchen speaker); (2) an action indicator 902-2 indicating an action or function associated with the media information affordance 902 (e.g., an action performed in accordance with the selection of the media information affordance 902); (3) a media item indicator 902-3 providing information identifying a media item (e.g., the call participant ("John Appleseed") and the current call source "telephone"); and (4) a media item graphic 902-4 including an image associated with the media item. In the embodiment shown in Figure 9B, the media item graphic 902-4 includes a representation of the call participant on the other end of the call (e.g., an avatar) and an icon or thumbnail representing the telephone. In some embodiments, the representation of the call participant in the media item graphic 902-4 includes the participant's initials or name.
[0294] Figure 9B shows that while media information affordance 902 is displayed on device 600 and a telephone call is in progress on device 600, device 600 is moved at least partially within the playback proximity range indicator 654. Since the playback proximity range indicator 654 represents the physical proximity that satisfies the playback proximity condition, device 600 detects an indication that the physical proximity between device 600 and device 650 satisfies the playback proximity condition (for example, and accordingly initiates communication with device 650 and transmits an indication that the playback proximity condition is met). In some embodiments, device 650 detects an indication that the playback proximity condition is met (for example, and accordingly initiates communication with device 600 and transmits an indication that the playback proximity condition is met).
[0295] Upon detecting an indication that the physical proximity meets the playback proximity condition, device 600 begins playback of the telephone call on device 650. As shown in Figure 9C, upon detecting an indication that the physical proximity meets the playback proximity condition, device 600 displays an updated media information affordance 902a (similar to the updated media information affordances 616a and 622a) with an updated action indicator 902-2a to indicate that an ongoing telephone call on device 600 is being transferred to device 600. In some embodiments, beginning playback of the telephone call includes outputting the audio of the telephone call on device 650. In some embodiments, upon detecting an indication that the physical proximity meets the playback proximity condition, device 650 begins receiving audio input for the telephone call (e.g., the audio received by device 650 is transmitted to the other participants). In some embodiments, device 600 remains the source of the telephone call.
[0296] As shown in Figure 9D, after displaying the updated media information affordance 902a (for example, in response to an indication that playback has started successfully on device 650, or after detecting an indication that the physical proximity meets the playback proximity condition, or after a predetermined time has passed since displaying the media information affordance 902a), device 600 stops displaying the media information affordance 902a and updates the user interface 900 to indicate that audio is being played on device 650 (as indicated by the updated audio status indicator 900-1a).
[0297] Figure 10 is a flowchart illustrating a method for controlling audio playback using an electronic device according to several embodiments. Method 1000 is performed on a device (e.g., 100, 300, 500, or 600) equipped with a display device (e.g., 602). Some operations of Method 1000 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0298] As will be described later, Method 1000 provides an intuitive method for controlling audio playback. This method reduces the cognitive burden on the user to control audio playback, thereby creating a more efficient human-machine interface. In the case of battery-powered computing devices, power is saved and the interval between battery charges is increased by enabling the user to control audio playback faster and more efficiently.
[0299] In some embodiments, the electronic device (e.g., 600) is a computer system. The computer system optionally includes communication (e.g., wired communication, wireless communication) between a display generation component and one or more input devices. The display generation component is configured to provide a visual output, such as a display via a CRT display, a display via an LED display, or a display via image projection. In some embodiments, the display generation component is integrated with the computer system. In some embodiments, the display generation component is separate from the computer system. One or more input devices are configured to receive input, such as a touch-sensitive surface that receives user input. In some embodiments, one or more input devices are integrated with the computer system. In some embodiments, one or more input devices are separate from the computer system. Thus, the computer system can transmit data (e.g., image data or video data) via wired or wireless connections to an integrated or external display generation component to visually generate content (e.g., using a display device), and can receive input from one or more input devices via wired or wireless connections.
[0300] The electronic device detects an indication that the physical proximity between the electronic device and the external device satisfies a first proximity condition (represented by, for example, 652) while connected to an external device (e.g., 650) (1002). In some embodiments, the indication is provided in response to the determination that the physical proximity between the electronic device and the external device satisfies the first proximity condition. In some embodiments, the first proximity condition is satisfied if the distance between the electronic device and the external device is less than a first threshold distance (e.g., 6 inches, 12 inches, 18 inches, 24 inches).
[0301] In response to detecting an indication that physical proximity satisfies a first proximity condition, the electronic device displays a first media information affordance (e.g., 902) (1004) via a display device representing a first media item (e.g., a music track, an audiobook (or a portion thereof such as a chapter), a podcast, a video, a phone call, a media item to be played on the electronic device (e.g., a media item currently playing on the electronic device, the most recently played and finished or stopped media item on the electronic device, a media item scheduled to be played next on the electronic device, such as the first track in a playlist when the user launches a media application or selects a playlist), or a media item to be played on an external device). By displaying the first media information affordance representing the first media item in response to detecting an indication that physical proximity satisfies a first proximity condition, the electronic device automatically provides feedback to the user by indicating that physical proximity satisfies the proximity condition, and thus reduces the number of inputs required to display the first media information affordance. By providing improved feedback, reducing the number of inputs required to perform an action, and executing an action when a set of conditions is met without requiring further user input, the device's usability is enhanced; the user-device interface is made more efficient (for example, by helping the user provide appropriate input when operating / interacting with the device and reducing user errors); and in addition, power consumption is reduced and the device's battery life is improved by enabling the user to use the device more quickly and efficiently.
[0302] While displaying a first media information affordance representing a first media item, the electronic device detects an indication that the physical proximity between the electronic device and an external device satisfies a second proximity condition (e.g., represented by 654) (1006). In some embodiments, the indication is provided in response to the determination that the physical proximity between the electronic device and the external device satisfies the second proximity condition. In some embodiments, the second proximity condition is satisfied if the distance between the electronic device and the external device is less than a second threshold distance, where the second threshold distance is less than a first threshold distance (e.g., less than 0 inches, 0.5 inches, 1 inch, 1.5 inches, 2 inches, or 6 inches). In some embodiments, the second proximity condition corresponds to the electronic device being closer to the external device than the proximity required to satisfy the first proximity condition (e.g., the proximity required to trigger the display of the first media information affordance).
[0303] In response to detecting an indication that the physical proximity satisfies a second proximity condition, the electronic device begins playback of the first media item (1008) (e.g., Figure 9C). In some embodiments, beginning playback of the first media item is performed without detecting the selection of the first media information affordance. In some embodiments, beginning playback of the first media item causes the first media item to be played on the electronic device. In some embodiments, beginning playback of the first media item causes the first media item to be played on an external device. In some embodiments, beginning playback of the first media item includes sending a command to the external device to begin playback of the first media item on the external device. By beginning playback of the first media item in response to detecting an indication that the physical proximity satisfies a second proximity condition, feedback is automatically provided by indicating to the user that the physical proximity satisfies the proximity condition, and thus the number of inputs required to display the first media information affordance is reduced. By providing improved feedback, reducing the number of inputs required to perform an action, and executing an action when a set of conditions is met without requiring further user input, the device's usability is enhanced; the user-device interface is made more efficient (for example, by helping the user provide appropriate input when operating / interacting with the device and reducing user errors); and in addition, power consumption is reduced and the device's battery life is improved by enabling the user to use the device more quickly and efficiently.
[0304] In some embodiments, the first proximity condition is met if the physical proximity between the electronic device and the external device is less than a first threshold distance (e.g., 652, D1). In some embodiments, the second proximity condition is met if the physical proximity between the electronic device and the external device is less than a second threshold distance (e.g., 654, D2) which is less than the first threshold distance.
[0305] In some embodiments, the first media information affordance includes an indication (e.g., 902-1, 902-2) that identifies a device capable of initiating playback of the first media item. In some embodiments, the second media information affordance includes an indication (e.g., destination device) that has initiated playback of the first media item. In some embodiments, the first media information affordance includes an indication of a device capable of initiating playback of the first media item, and initiating playback of the first media item on the device indicated by the selection of the first media information affordance.
[0306] In some embodiments, as part of initiating playback of a first media item, the electronic device changes the visual appearance of a first media information affordance (e.g., 902-2a) to indicate that playback of the first media item has begun. In some embodiments, changing the visual appearance of a first media information affordance includes displaying text indicating that playback of the first media item has begun while optionally maintaining the display of at least some information about the first media item. In some embodiments, changing the visual appearance of a first media information affordance includes replacing an indication that playback of the first media item has begun by selection of a first media information affordance with an indication (e.g., text) that playback of the first media item has begun.
[0307] In some embodiments, the first media information affordance indicates the type of media item corresponding to the first media item (e.g., 606-5, 622-4, 902-4). Exemplary media item types include, but are not limited to, music tracks, audiobooks, podcasts, videos, and telephone calls. In some embodiments, the first media information affordance for a telephone call media item includes avatars of the call participants.
[0308] In some embodiments, as part of initiating playback of a first media item, the electronic device transmits data of the first media item between the electronic device and the external device, based on a determination that the first media item satisfies data transmission conditions (e.g., the first media item is provided by an application, service, or account that is not available to the device on which playback of the first media item is being initiated). In some embodiments, a queue of media items, including the first media item, initially exists on the device that is the source of the first media item before playback is initiated. In some such embodiments, initiating playback includes transferring the queue to the device on which playback of the first media item is being initiated. In some embodiments, as part of initiating playback of a first media item, the electronic device stops transmitting data of the first media item between the electronic device and the external device, based on a determination that the first media item does not satisfy data transmission conditions (e.g., the first media item is provided by a specific application, service, or account that both the electronic device and the external device have access to). By transmitting (or not transmitting) data from a first media item between an electronic device and an external device based on whether the first media item meets the data transmission conditions, the need for the user to provide additional input to transmit data is avoided. By performing an action when a set of conditions is met without requiring further user input, the usability of the device is improved, the user-device interface is made more efficient (for example, by helping the user provide appropriate input when operating / interacting with the device and reducing user errors), and in addition, power consumption is reduced and the battery life of the device is improved by allowing the user to use the device more quickly and efficiently.
[0309] In some embodiments, a queue of media items, including a first media item, exists before playback begins (e.g., on an electronic device or an external device). In some such embodiments, initiating playback includes transferring the queue between the electronic device and the external device. In some embodiments, the first media item is accessible to both the electronic device and the external device via a common user account. In some embodiments, the device on which playback is initiated retrieves the first media item from the common user account (e.g., playback of the first item does not involve streaming the first media item between the electronic device and the external device). In some embodiments, the device on which playback is initiated retrieves the queue from the common user account.
[0310] In some embodiments, after playback of a first media item has started, the electronic device stops displaying the first media information affordance representing the first media item in response to a determination that a time condition has been met (for example, a threshold time has elapsed since an indication that physical proximity satisfies a second proximity condition was detected) (see, for example, Figures 9C to 9D).
[0311] In some embodiments, after displaying a first media information affordance representing a first media item and before detecting an indication that physical proximity satisfies a second proximity condition, the electronic device detects an indication that the physical proximity between the electronic device and an external device satisfies a physical isolation condition (e.g., represented by 656). In some embodiments, the indication is provided in response to the determination that the physical proximity between the electronic device and an external device satisfies a physical isolation condition. In some embodiments, the physical isolation condition is satisfied when the distance between the electronic device and the external device exceeds a predetermined threshold distance. In some embodiments, the threshold distance associated with the physical isolation condition is greater than the threshold distance associated with the first proximity condition (e.g., a first threshold distance). For example, the physical isolation condition is satisfied when the distance between the electronic device and the external device exceeds a third threshold distance (e.g., 20 feet), the first proximity condition is satisfied when the distance between the electronic device and the external device is less than a first threshold distance (e.g., 1-2 feet), and the third threshold distance is greater than the first threshold distance. In some embodiments, after displaying a first media information affordance representing a first media item, and before detecting an indication that the physical proximity satisfies a second proximity condition, the electronic device stops displaying the first media information affordance representing the first media item in response to detecting an indication that the physical proximity satisfies a physical separation condition (see, for example, Figures 11C to 11D). By stopping the display of the first media information affordance representing the first media item in response to detecting an indication that the physical proximity satisfies a physical separation condition, the device provides feedback to the user indicating that playback can no longer be started with the selection of the first media information affordance.By providing improved feedback, the usability of the device is enhanced, the user device interface becomes more efficient (for example, by helping users make appropriate inputs when operating / interacting with the device and reducing user errors), which in turn reduces power consumption and improves the device's battery life by allowing users to use the device more quickly and efficiently.
[0312] In some embodiments, before detecting an indication that physical proximity satisfies a second proximity condition, the electronic device detects an input (e.g., 610a, 610d, 610e, 610f) representing a selection of a first media information affordance. In some embodiments, upon receiving the first input, before detecting an indication that physical proximity satisfies a second proximity condition, the electronic device begins playing the first media item, according to the determination that the first input is an input of a first type (e.g., a tap gesture on the electronic device's touch-sensitive display at a location corresponding to the first media information affordance). In some embodiments, upon receiving a first input before detecting an indication that physical proximity satisfies a second proximity condition, and in accordance with the determination that the first input is a second type of input (e.g., a directional swipe gesture on a first media information affordance) different from a first type of input, the electronic device displays a second media information affordance (e.g., 608) representing a first media item via a display device, wherein the second media information affordance is different from the first media information affordance. Depending on the type of input that selects the first media affordance, additional control options regarding the first media affordance are provided by starting playback of the first media item or by displaying a second media information affordance representing the first media item, without cluttering the user interface with additional displayed controls. By providing additional control options without cluttering the UI with additional controllers, the usability of the device is enhanced, the user-device interface becomes more efficient (for example, by helping users provide appropriate input when operating / interacting with the device and reducing user errors), and in addition, power consumption is reduced and the device's battery life is improved by allowing users to use the device more quickly and efficiently.
[0313] In some embodiments, while displaying a second media information affordance representing a first media item, the electronic device receives a second input (e.g., 610c) representing a selection of the second media information affordance. In some embodiments, in response to receiving the second input representing a selection of the second media information affordance, the electronic device begins playback of the second media item. In some embodiments, the second media item is the first media item. In some embodiments, the second media information affordance represents a queue of media items, including representations of the first media item and representations of at least one other media item. In some such embodiments, the electronic device scrolls the queue in response to an input (e.g., a horizontal swipe or drag gesture). In some embodiments, in response to an input corresponding to a selection of a media item in the queue, the electronic device begins playback of the selected media item. Improved feedback is provided by displaying a second media information affordance (for example, having additional information about a first media item) and initiating playback of the second media item according to the selection of the second media information affordance, thereby providing the user with additional information and / or control over playback. By providing improved feedback, the usability of the device is enhanced, the user device interface becomes more efficient (for example, by helping the user make appropriate inputs when operating / interacting with the device and reducing user errors), which in turn reduces power consumption and improves the device's battery life by allowing the user to use the device more quickly and efficiently.
[0314] In some embodiments, as part of initiating playback of a first media item, while detecting an indication that the physical proximity between the electronic device and the external device satisfies a second proximity condition, the electronic device determines that the first media item is being played on the electronic device (e.g., Figure 6G), and stops playback of the first media item on the electronic device and starts playback of the first media item on the external device (e.g., Figure 6I). In some embodiments, as part of initiating playback of a first media item, while detecting an indication that the physical proximity between the electronic device and the external device satisfies a second proximity condition, the electronic device determines that the first media item is being played on the external device, and stops playback of the first media item on the external device and starts playback of the first media item on the electronic device.
[0315] In some embodiments, a first media item is being played on the electronic device while an indication is detected that the physical proximity between the electronic device and the external device satisfies a first proximity condition (see, for example, Figures 6G and 6K). In some embodiments, starting playback of the first media item includes starting playback of the first media item on the external device as part of starting playback of the first media item. In some embodiments, the first media information affordance represents the first media item in accordance with the determination that the electronic device is playing the first media item at the time an indication is detected that the physical proximity between the electronic device and the external device satisfies a first proximity condition. In some embodiments, sending a command to the external device to start playback of the first media item on the external device is performed in accordance with the determination that the first media item is currently playing on the electronic device. In some embodiments, starting playback of the first media item includes stopping playback of the first media item on the electronic device.
[0316] In some embodiments, as part of starting playback of a first media item on an external device, the electronic device stops playing a third media item on the external device (for example, Figure 6L).
[0317] In some embodiments, while detecting an indication that the physical proximity between the electronic device and the external device satisfies a first proximity condition, the first media item is the media item most recently played on the electronic device prior to detecting the indication that the physical proximity between the electronic device and the external device satisfies a first proximity condition (e.g., 6B). In some embodiments, as part of initiating playback of the first media item, the electronic device starts playback of the first media item on the external device. In some embodiments, the first media information affordance represents the media item most recently played on the electronic device at the time the indication that the physical proximity between the electronic device and the external device satisfies a proximity condition is detected, according to the determination that the external device is not playing a media item.
[0318] In some embodiments, while detecting an indication that the physical proximity between the electronic device and the external device satisfies a first proximity condition, the first media item is determined to be a media item being played on the external device, based on the determination that the electronic device is not playing a media item and the external device is playing a media item (e.g., Figure 6N). In some embodiments, as part of initiating playback of the first media item, the electronic device starts playing the first media item on the electronic device.
[0319] It should be noted that the details of the process described above with respect to Method 1000 (e.g., Figure 10) are also applicable in a similar manner to the methods described above. For example, Methods 700 and / or Method 800 optionally include one or more characteristics of the various methods described above with reference to Method 1000. For example, operations 1006 and 1008 of Method 1000 can be applied to Methods 700 and / or Method 800 to initiate playback of the first media item described in Methods 700 and / or Method 800. For brevity, these details will not be repeated below.
[0320] Figures 11A to 11D illustrate techniques for halting the display of graphical elements such as media information affordances 606, 608, 616, 620, 622, and 902. Figure 11A shows devices 600, 650, and proximity condition range indicator 652 as described above. In addition, Figure 11A includes an element removal condition range indicator 656. The element removal condition range indicator 656 is included as a visual aid and is intended to represent the range that satisfies the element removal condition. The presence of a detectable device (e.g., 600) outside the element removal condition range indicator 656 (e.g., partially or completely) satisfies the element removal condition, but if the detectable device is located inside the element removal condition range indicator 656, the element removal condition is not satisfied. The graphical representation of the element removal condition range indicator 656 is not intended to limit the range for determining whether the element removal condition is satisfied. Furthermore, the figures are not necessarily to scale and are included simply as a visual aid. Therefore, unless otherwise noted, the size and scale of the features shown in the figures are not intended as limitations on the distance required to satisfy the element removal conditions. However, the element removal condition range indicator 656 is outside the proximity condition range indicator 652, and thereby, device 600 must be further away from device 650 to satisfy the element removal condition associated with the element removal condition range indicator 656 than to satisfy the proximity condition associated with the proximity condition range indicator 652.
[0321] Figure 11A shows a scenario where device 600 is not inside the proximity condition range indicator 652 (e.g., Figures 6A, 6F, 6J, 6M, or 9A). Figure 11B shows that device 600 has been moved at least partially inside the proximity condition range indicator 652 (e.g., Figures 6B, 6G, 6K, 6N, or 9B). Since the proximity condition range indicator 652 represents the degree of physical proximity that satisfies the proximity condition, device 600 detects an indication that the physical proximity between device 600 and device 650 satisfies the proximity condition (e.g., and in response, initiates communication with device 650 and sends, for example, an indication that the condition is met). In some embodiments, device 650 detects an indication that the proximity condition is met (e.g., and in response, initiates communication with device 600 and sends, for example, an indication that the condition is met). In response to detecting an indication that physical proximity satisfies the proximity condition, device 600 displays a media information affordance 1100 (e.g., media information affordances 606, 608, 616, 620, 622, or 902) representing a media item. In some embodiments, the media item represented by the media information affordance is based on the audio output state of device 600 and / or device 650, as described above.
[0322] Figure 11C shows that while the media information affordance 1100 is displayed, device 600 moves outside the proximity condition range indicator 652 but remains within the element removal condition range indicator 656. As shown in Figure 11C, device 600 continues to display the media information affordance 1100.
[0323] Figure 11D shows that while the media information affordance 1100 is displayed, device 600 is moved outside the element removal condition range indicator 656. Since the element removal condition range indicator 656 represents a physical range that satisfies the element removal condition, device 600 detects an indication that the physical range between device 600 and device 650 satisfies the element removal condition (for example, and accordingly initiates communication with device 650 and transmits an indication that the element removal condition is satisfied). In some embodiments, device 650 detects an indication that the element removal condition is satisfied (for example, and accordingly initiates communication with device 600 and transmits an indication that the element removal condition is satisfied). In response to detecting an indication that the physical range between device 600 and device 650 satisfies the element removal condition, device 600 stops displaying the media information affordance 1100 (for example, removes the media information affordance 1100 from display 602).
[0324] Figure 12, including Figure 1200, shows a physical structure, as well as a set of exemplary devices arranged within and around the physical structure, according to several embodiments. Figure 12 is used to illustrate processes described later, including the processes shown in Figures 14, 16, 18, 20, and 23.
[0325] Figure 1200 includes a home 1202 and a set of accessory devices (e.g., device 1246, device 1204, etc.). The interior of home 1202 includes several rooms, such as a kitchen 1202a, a dining room 1202b, a bedroom 1202c, a living room 1202d, and a sunroom 1202e. Kitchen 1202a is located in the upper left part of home 1202, dining room 1202b is located between kitchen 1202a and bedroom 1202c, and bedroom 1202c is located to the right of dining room 1202b. Kitchen 1202a and dining room 1202b do not have a wall between them, but dining room 1202b and bedroom 1202c have a wall between them. Living room 1202d is located in the lower left part of home 1202, and sunroom 1202e is located in the lower right part of home 1202. Located outside the home 1202 is the porch 1202f. In some embodiments, the home 1202 includes and / or excludes rooms other than those shown in Figure 12. Figure 1200 shows a home, but this is merely an example, and it should be recognized that the techniques described herein can work in other types of physical structures such as office buildings, hotels, and apartments. As shown in Figure 12, each part of the home 1202 (e.g., rooms, porches) has at least one device. However, in some embodiments, parts of the home 1202 do not have devices.
[0326] As shown in Figure 12, the kitchen speaker 1206 is located on the counter between the range and the wall in kitchen 1202a. The dining room light 1212 and dining room speaker 1216 are located in dining room 1202b. The dining room light 1212 is located above the dining room table, and the dining room speaker 1216 is located to the right of the dining room table. In addition, a thermostat 1218 is also present on the wall in dining room 1202b. In bedroom 1202c, the bedroom light 1232 is adjacent to one side of the bed, and the bedroom speaker 1236 is located on the opposite side of the bed. In living room 1202d, the living room speakers 1246 and 1248 are located on either side of the television 1244, and the living room lamp 1242 is located in front of the television 1244. In sunroom 1202e, sunroom speakers 1256 and 1258 are located on either side of the room. Located on porch 1202f are devices such as porch lighting 1262, camera doorbell 1264, and doorbell 1266.
[0327] In this example, the speakers shown in Figure 12 (e.g., kitchen speaker 1206, dining room speaker 1216, bedroom speaker 1236, living room speaker 1246, living room speaker 1248, sunroom speaker 1256, and sunroom speaker 1258), lighting (e.g., dining room lighting 1212, bedroom lighting 1232, living room lamp 1242, porch lighting 1262), thermostat 1218, television 1244, doorbell camera 1264, and doorbell 1266) are assigned to home 1202 (e.g., programmatically mapped to a group of devices corresponding to home 1202 (e.g., by a user account associated with home 1202)). In addition, each individual speaker, lighting, television, thermostat, camera, and doorbell is also assigned to a part of the home where it is located (e.g., a room, a section) (e.g., mapped to a corresponding group). For example, kitchen speaker 1206 is assigned to kitchen 1202a (for example, programmed to map to its corresponding group), dining room lighting 1212, dining room speaker 1216, and thermostat 1218 are assigned to dining room 1202b, bedroom lighting 1232 and bedroom speaker 1236 are assigned to bedroom 1202c, living room lamp 1242, television 1244, living room speaker 1246, and living room speaker 1248 are assigned to living room 1202d, sunroom speakers 1256 and sunroom speaker 1258 are assigned to sunroom 1202e, and porch lighting 1262, camera doorbell 1264, and doorbell 1266 are assigned to porch 1202f. In some embodiments, each group corresponding to a portion of home 1202 is also assigned to the entire home 1202. Therefore, in this embodiment, devices mapped to a room or porch in home 1202 are also simultaneously mapped to the entire home 1202.
[0328] In some embodiments, the speaker, lighting, camera, doorbell, and television shown in Figure 12 are smart devices directly or indirectly connected to one or more networks (e.g., wireless networks (e.g., Bluetooth, NFC, Wi-Fi, 4G, etc.)). In some embodiments, the speaker includes one or more components of device 650 as described above. In some embodiments, other smart devices such as smart appliances, smart thermostats, and smart plug outlets are connected to one or more networks. In some embodiments, one or more personal devices can be assigned to home 1202. In some embodiments, the personal devices assigned to home 1202 include electronic devices 600. In some embodiments, the personal devices include one or more tablets, smartwatches, laptops, desktops, etc.
[0329] Figures 13A to 13M show exemplary user interfaces for managing controls according to several embodiments. These user interfaces are used to illustrate processes described later, including the process shown in Figure 14.
[0330] Figures 13A–13I illustrate exemplary scenarios for managing the display of multiple controls based on the user context of device 600. Most of Figures 13A–13I include schematic diagrams of a home (e.g., home 1202) and representations of the device relative to the physical properties of the home (e.g., the device's position relative to the walls or rooms of the home). For example, home 1202 in Figure 13A includes an indication (e.g., a person symbol) at position 1302a representing the location of device 600. Schematic diagrams are provided for illustrative purposes only as visual aids for explanation. Therefore, schematic diagrams are not intended to limit the scope of determining whether device 600 is in a particular location. Furthermore, the diagrams are not necessarily to scale and are included simply as visual aids. Therefore, unless otherwise noted, the size and scale of features shown in the diagrams are not intended to be limitations on the location required for device 600 to be in a particular usage context.
[0331] Figure 13A shows a device 600 displaying the user interface 1320. The user interface 1320 includes a dynamic control section 1324 visually positioned between a static control section 1322 (located near the top of the user interface 1320) and a static control section 1326 (located near the bottom of the user interface 1320). Each of the control sections (e.g., 1324, 1322, and 1326) is shown in Figure 13A as containing multiple controls. However, as described herein, the controls presented within the static control sections of the user interface 1320 (e.g., 1322 and 1326) do not change when the usage context of the device 600 changes (e.g., as described herein). Therefore, the controls presented within the static control sections persist even if the usage context of the device changes. However, the controls presented within the dynamic control portion (e.g., 1324) of the user interface 1320 can change when the usage context of device 600 changes (e.g., without device 600 detecting user input directed to one or more of the controls), as described herein. Thus, the controls presented within the dynamic control portion 1324 are dynamic based on the changing usage context.
[0332] As shown in Figure 13A, the static control sections (e.g., 1322 and 1326) include several controls ("local operation controls") for performing operations local to device 600. For example, as shown in Figure 13A, the static control section 1322 includes several local operation controls such as a wireless connection control 1322a, a cellular connection control 1322b, a music application control 1322c, and an orientation lock control 1332d. Similarly, the static control section 1326 includes a flashlight control 1332e and a calculator control 1332f. Each device control on the user interface 1320, when selected, changes the state of device 600 (without changing the state of accessory devices, such as the accessory devices in Home 1202, for example).
[0333] The device control can change the state of device 600 in different ways. In some embodiments, the state of device 600 is changed when one or more of the device 600's settings change, such as connection settings (e.g., wireless, cellular, Bluetooth settings) or display settings (e.g., changing or not changing the display when the orientation of device 600 changes). For example, in some embodiments, device 600 detects a selection of wireless connection control 1322a and changes the wireless connection state of device 600 in response to the detection of the selection (e.g., turning on / off the ability of device 600 to connect to a wireless network). In some embodiments, the state of device 600 is changed when the media output of device 600 changes. For example, in some embodiments, device 600 detects a selection of music application control 1332c and changes the media output state of device 600 in response to the detection of the selection (e.g., rewind, fast forward, play). In some embodiments, the state of device 600 is changed when the display state of device 600 changes (for example, displaying a different user interface in response to receiving a selection of one of the local operation controls, or displaying a different set of controls in response to receiving a selection of one of the local operation controls). For example, in some embodiments, device 600 changes its state by detecting a selection of computer control 1332f and, in response to detecting the selection, replacing user interface 1320 with the user interface of the computer application. In some embodiments, the state of device 600 is changed when one or more hardware components of device 600 are turned on or off. For example, in some embodiments, device 600 detects a selection of flashlight control 1332e and, in response to detecting the selection, changes the state of a light that is part of device 600.
[0334] As shown in Figure 13A, the dynamic control section 1324 includes dynamic accessory device controls that appear based on the usage context in which device 600 is operating, such as the return-home scene control 1334a and the porch lighting control 1334b. Dynamic accessory device controls are controls for controlling accessory devices located outside of device 600. In Figure 13A, the return-home scene control 1334a and the porch lighting control 1334b are controls for controlling accessory devices within the home 1202 (for example, as described above with respect to Figure 12). In Figure 13A, the return-home scene control 1334a is a macro that controls multiple devices. Thus, in some embodiments, device 600 detects a tap gesture on the return-home scene control 1334a and, in response to detecting the tap gesture on the return-home scene control 1334a, sends commands to turn on the thermostat 1218 to set it to a desired temperature, turn on the living room lamp 1242, and play jazz music on the living room speaker 1248. In comparison, the porch lighting control 1334b controls only one device (e.g., the porch light 1262) and performs one function (e.g., toggling the porch light 1262 on / off). Therefore, in some embodiments, device 600 detects a tap gesture on the porch lighting control 1334b and, in response to detecting the tap gesture, sends a command to turn the porch light 1262 on or off.
[0335] As described above in Figure 13A, the return-home scene control 1334a and the porch lighting control 1334b are displayed within the dynamic control section 1324 because the device 600 is operating in a usage context corresponding to the device 600 being located outside the home 1202 (for example, as shown by 1302a). Therefore, in some embodiments, when the device 600 displays the return-home scene control 1334a and the porch lighting control 1334b within the dynamic control section 1324, it is determined that these particular controls are more useful to the user operating the device 600 when the device 600 is located outside the home 1202 (or operating in the corresponding usage context in Figure 13A).
[0336] As shown in Figure 13A, the home control 1333 is also displayed within the dynamic portion 1324. In Figure 13A, the home control 1333 is the control corresponding to home 1202, and when the home control 1333 is selected, device 600 displays one or more accessory device controls that are not currently displayed. In addition, the selection of the home control 1333 is an access point that allows device 600 to navigate to a user interface (e.g., one or more user interface screens) that has the entire set of accessory device controls available to control the accessory devices assigned to home 1202.
[0337] In Figure 13A, device 600 is associated with multiple homes (for example, it is permitted to manage accessory devices assigned to different homes). Since device 600 is currently configured to display accessory devices that are assigned to home 1202 and not assigned to another home to which device 600 is associated, the home control 1333 includes an identifier corresponding to home 1202 (for example, "123 MAIN ST", the address of home 1202). In some embodiments, device 600 is associated with a home when device 600 is registered (for example, in one or more databases) as one or more users, administrators, guests, etc. of the home.
[0338] In some embodiments, if device 600 is configured to display accessory device controls assigned to a different home, device 600 displays a different identifier on the home control 1333 than that shown in Figure 13A. In some embodiments, if device 600 is configured to display accessory devices assigned to a different home, device 600 displays a different dynamic device control (e.g., a device control associated with a particular home). In some embodiments, if it is determined that the corresponding home is the nearest home to which device 600 is associated, device 600 is configured to display accessory device controls assigned to the corresponding home. In some of these embodiments, the determination (e.g., the determination of the nearest home) is made only when the “Current Home” setting is set to active. In some embodiments, if the “Current Home” setting is set to inactive, device 600 is configured to display accessory device controls assigned to the last home to which device 600 displayed a set of accessory device controls. In some embodiments, device 600 is configured to display accessory device controls assigned to the last home to which device 600 sent a command to cause at least one accessory device of the corresponding home to perform an action. In some embodiments, when device 600 is associated with only one home, device 600 displays "Home" as an identifier on the home control 1333. In some embodiments, if device 600 is configured to display accessory device controls assigned to a home that do not have any controls (or the controls assigned to the home do not meet certain criteria (e.g., a certain number or a certain type of accessory)), device 600 resizes the home control 1333 (for example, to a larger size than shown in Figure 13A), thereby allowing the home control 1333 to substantially fill most of the dynamic portion 1324 (e.g., occupy two rows).
[0339] In Figure 13B, the schematic diagram shows that device 600 is moving from position 1302a (for example, in Figure 13A) to position 1302b. As shown in the schematic diagram, device 600 is inside house 1202, specifically inside bedroom 1202c while device 600 is at position 1302b.
[0340] In Figure 13B, it is determined that device 600 is operating in a different usage context than in the context of Figure 13A. Here, device 600 is operating in a different usage context because it has moved from a location outside house 1202 (e.g., 1302a) to a location inside house 1202 (e.g., 1302b). Specifically, in Figure 13B, it is determined that device 600 is operating in a usage context c...
Claims
1. It is a method, In an electronic device equipped with a display device, While connected to an external device, an indication is detected that the physical proximity between the electronic device and the external device satisfies the proximity condition, In response to detecting the indication that the physical proximity satisfies the proximity condition, the display device displays a first media information affordance representing a first media item, which includes a first set of information relating to the first media item. Receiving a first input representing the selection of the first media information affordance, Upon receiving the first input, In accordance with the determination that the first input is an input of a first type, a command is sent to the external device to start playback of the first media item on the external device. In accordance with the determination that the first input is a second type of input different from the first type of input, the display device displays a second media information affordance representing the first media item, which is different from the first media information affordance and includes a second set of information relating to the first media item. Methods that include...
2. The method according to claim 1, wherein the first media information affordance includes an indication for identifying the external device.
3. In response to receiving the first input and in accordance with the determination that the first input is of the first type, the visual appearance of the first media information affordance is changed to indicate that playback of the first media item on the external device has started. The method according to claim 1 or 2, further comprising:
4. The method according to any one of claims 1 to 3, wherein the first set of information relating to the first media item indicates the type of media item corresponding to the first media item.
5. Starting playback of the first media item on the external device is: In accordance with the determination that the first media item satisfies the data transmission conditions, the data of the first media item is transmitted to the external device. In accordance with the determination that the first media item does not satisfy the data transmission conditions, the transmission of the data of the first media item to the external device is stopped. The method according to any one of claims 1 to 4, including the method described in any one of claims 1 to 4.
6. After sending the command to the external device to start playback of the first media item on the external device, the display of the first media information affordance representing the first media item is stopped in response to the determination that the time condition has been met. The method according to any one of claims 1 to 5, further comprising:
7. While displaying the first media information affordance representing the first media item, and before receiving the first input, To detect an indication that the physical proximity between the electronic device and the external device satisfies the physical separation condition, In response to detecting the indication that the physical proximity satisfies the physical separation condition, the display of the first media information affordance representing the first media item is stopped. The method according to any one of claims 1 to 6, further comprising:
8. The method according to any one of claims 1 to 7, wherein the first type of input includes a tap gesture, and the second type of input includes a swipe or drag gesture.
9. While displaying the second media information affordance representing the first media item, a second input representing the selection of the second media information affordance is received, Upon receiving the second input representing the selection of the second media information affordance, a command is sent to the external device to start playback of the second media item on the external device. The method according to claim 8, further comprising:
10. The detection of the indication that the physical proximity between the electronic device and the external device satisfies the proximity condition is performed while the electronic device is causing playback of the first media item, and the method is In response to receiving the first input and determining that the first input is of a first type, the electronic device stops triggering playback of the first media item. The method according to any one of claims 1 to 9, further comprising:
11. The method according to any one of claims 1 to 10, wherein the first media information affordance represents the first media item in accordance with the determination that the first media item is being played on the electronic device while detecting the indication that the physical proximity between the electronic device and the external device satisfies the proximity condition.
12. The method according to claim 11, wherein starting playback of the first media item on the external device includes stopping playback of the third media item on the external device.
13. The method according to any one of claims 1 to 12, wherein, while detecting the indication that the physical proximity between the electronic device and the external device satisfies the proximity condition, the first media item is a media item that was most recently played on the electronic device before detecting the indication that the physical proximity between the electronic device and the external device satisfies the proximity condition, in accordance with the determination that the electronic device is not playing a media item during that time.
14. A non-temporary computer-readable storage medium for storing one or more programs configured to be executed by one or more processors of an electronic device having a display device, wherein the one or more programs include instructions for performing the method according to any one of claims 1 to 13.
15. It is an electronic device, Display device and, One or more processors, A memory that stores one or more programs configured to be executed by one or more processors, The program comprises one or more instructions for performing the method described in any one of claims 1 to 13, Electronic devices.
16. It is an electronic device, Display device and, Means for carrying out the method described in any one of claims 1 to 13, An electronic device equipped with the following features.
17. A non-temporary computer-readable storage medium for storing one or more programs configured to be executed by one or more processors of an electronic device equipped with a display device, wherein the one or more programs are While connected to an external device, an indication is detected that the physical proximity between the electronic device and the external device satisfies the proximity condition. In response to detecting the indication that the physical proximity satisfies the proximity condition, the display device displays a first media information affordance representing a first media item, which includes a first set of information relating to the first media item. Receiving a first input representing the selection of the first media information affordance, Upon receiving the first input, In accordance with the determination that the first input is an input of a first type, a command is sent to the external device to start playback of the first media item on the external device. In accordance with the determination that the first input is a second type of input different from the first type of input, the display device displays a second media information affordance representing the first media item, which is different from the first media information affordance and includes a second set of information relating to the first media item. A non-temporary computer-readable storage medium containing instructions.
18. It is an electronic device, Display device and, One or more processors, A memory that stores one or more programs configured to be executed by one or more processors, The program comprises one or more programs, While connected to an external device, an indication is detected that the physical proximity between the electronic device and the external device satisfies the proximity condition. In response to detecting the indication that the physical proximity satisfies the proximity condition, the display device displays a first media information affordance representing a first media item, which includes a first set of information relating to the first media item. Receiving a first input representing the selection of the first media information affordance, Upon receiving the first input, In accordance with the determination that the first input is an input of a first type, a command is sent to the external device to start playback of the first media item on the external device. In accordance with the determination that the first input is a second type of input different from the first type of input, the display device displays a second media information affordance representing the first media item, which is different from the first media information affordance and includes a second set of information relating to the first media item. An electronic device that includes instructions.
19. It is an electronic device, Display device and, Means for detecting an indication that the physical proximity between the electronic device and the external device satisfies a proximity condition while connected to an external device, In response to detecting the indication that the physical proximity satisfies the proximity condition, means for displaying a first media information affordance representing a first media item, which includes a first set of information relating to the first media item, via the display device, A means for receiving a first input representing the selection of the first media information affordance, Upon receiving the first input, In accordance with the determination that the first input is an input of a first type, a command is sent to the external device to start playback of the first media item on the external device. In accordance with the determination that the first input is a second type of input different from the first type of input, the display device displays a second media information affordance representing the first media item, which is different from the first media information affordance and includes a second set of information relating to the first media item. means and An electronic device equipped with the following features.
20. It is a method, In an electronic device equipped with a display device, While connected to an external device, an indication is detected that the physical proximity between the electronic device and the external device satisfies the proximity condition, In response to detecting the indication that the physical proximity satisfies the proximity condition, the display device shall display a first media information affordance that represents a first media item currently being played on the external device, the first media information affordance comprising a first set of information relating to the first media item, Receiving a first input representing the selection of the first media information affordance, Upon receiving the first input, In accordance with the determination that the first input is an input of a first type, playback of the first media item on the electronic device is started. In accordance with the determination that the first input is a second type of input different from the first type of input, the display device displays a second media information affordance representing the first media item, which is different from the first media information affordance and includes a second set of information relating to the first media item. Methods that include...
21. The method according to claim 20, wherein displaying the first media information affordance representing the first media item currently being played on the external device is performed in accordance with the determination that the electronic device is not playing an audio media item when an indication is detected that the physical proximity between the electronic device and the external device satisfies the proximity condition.
22. The method according to claim 20 or 21, wherein the first media information affordance includes an indication for identifying the electronic device.
23. In response to receiving the first input and determining that the first input is of a first type, the visual appearance of the first media information affordance is changed to indicate that playback of the first media item on the electronic device has started. The method according to any one of claims 20 to 22, further comprising:
24. The method according to any one of claims 20 to 23, wherein the first media information affordance includes an indication that identifies the external device as the source of the first media item.
25. The method according to any one of claims 20 to 24, wherein the first set of information relating to the first media item indicates the type of media item corresponding to the first media item.
26. Starting playback of the first media item on the electronic device is: In accordance with the determination that the first media item satisfies the data transmission conditions, the data of the first media item is received from the external device. In accordance with the determination that the first media item does not satisfy the data transmission conditions, the reception of data from the first media item from the external device is stopped. The method according to any one of claims 20 to 25, including the method described in any one of claims 20 to 25.
27. After playback of the first media item on the electronic device has started, the display of the first media information affordance representing the first media item is stopped in response to a determination that the time condition has been met. The method according to any one of claims 20 to 26, further comprising:
28. After displaying the first media information affordance representing the first media item, and before receiving the first input, To detect an indication that the physical proximity between the electronic device and the external device satisfies the physical separation condition, In response to detecting the indication that the physical proximity satisfies the physical separation condition, the display of the first media information affordance representing the first media item is stopped. The method according to any one of claims 20 to 27, further comprising:
29. The method according to any one of claims 20 to 28, wherein the first type of input includes a tap gesture, and the second type of input includes a swipe or drag gesture.
30. While displaying the second media information affordance representing the first media item, a second input representing the selection of the second media information affordance is received, In response to receiving the second input representing the selection of the second media information affordance, playback of the second media item on the electronic device is started. The method according to claim 29, further comprising:
31. In response to receiving the first input and determining that the first input is of a first type, playback of the first media item on the external device is stopped. The method according to any one of claims 20 to 30, further comprising:
32. A non-temporary computer-readable storage medium for storing one or more programs configured to be executed by one or more processors of an electronic device having a display device, wherein the one or more programs include instructions for performing the method according to any one of claims 20 to 31.
33. It is an electronic device, Display device and, One or more processors, A memory that stores one or more programs configured to be executed by one or more processors, The program comprises one or more instructions for performing the method described in any one of claims 20 to 31, Electronic devices.
34. It is an electronic device, Display device and, Means for carrying out the method described in any one of claims 20 to 31, An electronic device equipped with the following features.
35. A non-temporary computer-readable storage medium for storing one or more programs configured to be executed by one or more processors of an electronic device equipped with a display device, wherein the one or more programs are While connected to an external device, an indication is detected that the physical proximity between the electronic device and the external device satisfies the proximity condition. In response to detecting the indication that the physical proximity satisfies the proximity condition, the display device displays a first media information affordance representing a first media item currently being played on the external device, the first media information affordance including a first set of information relating to the first media item. Receiving a first input representing the selection of the first media information affordance, Upon receiving the first input, In accordance with the determination that the first input is a first type of input, playback of the first media item on the electronic device is started. In accordance with the determination that the first input is a second type of input different from the first type of input, the display device displays a second media information affordance representing the first media item, which is different from the first media information affordance and includes a second set of information relating to the first media item. A non-temporary computer-readable storage medium containing instructions.
36. It is an electronic device, Display device and, One or more processors, A memory that stores one or more programs configured to be executed by one or more processors, The program comprises one or more programs, While connected to an external device, an indication is detected that the physical proximity between the electronic device and the external device satisfies the proximity condition. In response to detecting the indication that the physical proximity satisfies the proximity condition, the display device displays a first media information affordance representing a first media item currently being played on the external device, the first media information affordance including a first set of information relating to the first media item. Receiving a first input representing the selection of the first media information affordance, Upon receiving the first input, In accordance with the determination that the first input is a first type of input, playback of the first media item on the electronic device is started. In accordance with the determination that the first input is a second type of input different from the first type of input, the display device displays a second media information affordance representing the first media item, which is different from the first media information affordance and includes a second set of information relating to the first media item. An electronic device that includes instructions.
37. It is an electronic device, Display device and, Means for detecting an indication that the physical proximity between the electronic device and the external device satisfies a proximity condition while connected to an external device, In response to detecting the indication that the physical proximity satisfies the proximity condition, means for displaying a first media information affordance via the display device, which represents a first media item currently being played on the external device and includes a first set of information relating to the first media item; A means for receiving a first input representing the selection of the first media information affordance, Upon receiving the first input, In accordance with the determination that the first input is a first type of input, playback of the first media item on the electronic device is started. In accordance with the determination that the first input is a second type of input different from the first type of input, the display device displays a second media information affordance representing the first media item, which is different from the first media information affordance and includes a second set of information relating to the first media item. means and Equipped with, Electronic devices.
38. It is a method, In an electronic device equipped with a display device, While connected to an external device, an indication is detected that the physical proximity between the electronic device and the external device satisfies a first proximity condition, In response to detecting the indication that the physical proximity satisfies the first proximity condition, the first media information affordance representing the first media item is displayed via the display device. While displaying the first media information affordance representing the first media item, an indication is detected that the physical proximity between the electronic device and the external device satisfies a second proximity condition, In response to detecting the indication that the physical proximity satisfies the second proximity condition, playback of the first media item is started. Methods that include...
39. The first proximity condition is satisfied when the physical proximity between the electronic device and the external device is less than a first threshold distance. The method according to claim 38, wherein the second proximity condition is satisfied when the physical proximity between the electronic device and the external device is less than a second threshold distance less than the first threshold distance.
40. The method according to claim 38 or 39, wherein the first media information affordance includes an indication that identifies a device capable of initiating playback of the first media item.
41. The method according to any one of claims 38 to 40, wherein initiating playback of the first media item includes changing the visual appearance of the first media information affordance to indicate that playback of the first media item has been initiated.
42. The method according to any one of claims 38 to 41, wherein the first media information affordance indicates the type of media item corresponding to the first media item.
43. Starting playback of the first media item is: In accordance with the determination that the first media item satisfies the data transmission conditions, the data of the first media item is transmitted between the electronic device and the external device. In accordance with the determination that the first media item does not satisfy the data transmission conditions, the transmission of data of the first media item between the electronic device and the external device is stopped. The method according to any one of claims 38 to 42, including the method described in any one of claims 38 to 42.
44. After playback of the first media item has started, in response to a determination that the time condition has been met, the display of the first media information affordance representing the first media item is stopped. The method according to any one of claims 38 to 43, further comprising:
45. After displaying the first media information affordance representing the first media item, and before detecting the indication that the physical proximity satisfies the second proximity condition, To detect an indication that the physical proximity between the electronic device and the external device satisfies the physical separation condition, In response to detecting the indication that the physical proximity satisfies the physical separation condition, the display of the first media information affordance representing the first media item is stopped. The method according to any one of claims 38 to 44, further comprising:
46. Before detecting the indication that the physical proximity satisfies the second proximity condition, To detect an input representing the selection of the first media information affordance, Upon receiving the first input, In accordance with the determination that the first input is an input of a first type, playback of the first media item is started. In accordance with the determination that the first input is a second type of input different from the first type of input, the display device displays a second media information affordance representing the first media item, which is different from the first media information affordance. The method according to any one of claims 38 to 45, further comprising:
47. While displaying the second media information affordance representing the first media item, a second input representing the selection of the second media information affordance is received, Upon receiving the second input representing the selection of the second media information affordance, playback of the second media item is initiated. The method according to claim 46, further comprising:
48. Starting playback of the first media item is: While detecting the indication that the physical proximity between the electronic device and the external device satisfies the second proximity condition, and in accordance with the determination that the first media item is being played on the electronic device, playback of the first media item on the electronic device is stopped and playback of the first media item on the external device is started. While detecting the indication that the physical proximity between the electronic device and the external device satisfies the second proximity condition, and in accordance with the determination that the first media item is being played on the external device, playback of the first media item on the external device is stopped and playback of the first media item on the electronic device is started. The method according to any one of claims 38 to 47, including the method described in any one of claims 38 to 47.
49. The method according to any one of claims 38 to 48, wherein the first media item is being played on the electronic device while detecting the indication that the physical proximity between the electronic device and the external device satisfies the first proximity condition, and initiating playback of the first media item includes initiating playback of the first media item on the external device.
50. The method according to claim 49, wherein starting playback of the first media item on the external device includes stopping playback of the third media item on the external device.
51. The method according to any one of claims 38 to 50, wherein, while detecting the indication that the physical proximity between the electronic device and the external device satisfies the first proximity condition, the first media item is determined to be a media item that was most recently played on the electronic device before detecting the indication that the physical proximity between the electronic device and the external device satisfies the first proximity condition, and initiating playback of the first media item includes initiating playback of the first media item on the external device.
52. The method according to any one of claims 38 to 51, wherein, while detecting the indication that the physical proximity between the electronic device and the external device satisfies the first proximity condition, the electronic device is not playing a media item and the external device is playing a media item, the first media item is the media item being played on the external device, and starting playback of the first media item includes starting playback of the first media item on the electronic device.
53. A non-temporary computer-readable storage medium for storing one or more programs configured to be executed by one or more processors of an electronic device having a display device, wherein the one or more programs include instructions for performing the method according to any one of claims 38 to 52.
54. It is an electronic device, Display device and, One or more processors, A memory that stores one or more programs configured to be executed by one or more processors, The program comprises one or more instructions for performing the method described in any one of claims 38 to 52, Electronic devices.
55. It is an electronic device, Display device and, Means for carrying out the method described in any one of claims 38 to 52, An electronic device equipped with the following features.
56. A non-temporary computer-readable storage medium for storing one or more programs configured to be executed by one or more processors of an electronic device equipped with a display device, wherein the one or more programs are While connected to an external device, an indication is detected that the physical proximity between the electronic device and the external device satisfies a first proximity condition. In response to detecting the indication that the physical proximity satisfies the first proximity condition, the first media information affordance representing the first media item is displayed via the display device. While displaying the first media information affordance representing the first media item, an indication is detected that the physical proximity between the electronic device and the external device satisfies the second proximity condition. In response to detecting the indication that the physical proximity satisfies the second proximity condition, playback of the first media item is started. A non-temporary computer-readable storage medium containing instructions.
57. It is an electronic device, Display device and, One or more processors, A memory that stores one or more programs configured to be executed by one or more processors, The program comprises one or more programs, While connected to an external device, an indication is detected that the physical proximity between the electronic device and the external device satisfies a first proximity condition. In response to detecting the indication that the physical proximity satisfies the first proximity condition, the first media information affordance representing the first media item is displayed via the display device. While displaying the first media information affordance representing the first media item, an indication is detected that the physical proximity between the electronic device and the external device satisfies the second proximity condition. In response to detecting the indication that the physical proximity satisfies the second proximity condition, playback of the first media item is started. An electronic device that includes instructions.
58. It is an electronic device, Display device and, Means for detecting an indication that the physical proximity between the electronic device and the external device satisfies a first proximity condition while connected to an external device, In response to detecting the indication that the physical proximity satisfies the first proximity condition, means for displaying a first media information affordance representing a first media item via the display device, Means for detecting an indication that the physical proximity between the electronic device and the external device satisfies a second proximity condition while the first media information affordance representing the first media item is displayed, In response to detecting the indication that the physical proximity satisfies the second proximity condition, means for starting playback of the first media item, An electronic device equipped with the following features.
59. It is a method, In a computer system that communicates with a display generation component and one or more input devices, A first user interface comprising a plurality of first selectable user interface objects via the display generation component, wherein the plurality of first selectable user interface objects are When selected, a first selectable user interface object causes the computer system to change the state of the computer system, If selected according to the determination that the computer system is in a first usage context, a second selectable user interface object that causes a first external accessory device of a plurality of external accessory devices to perform a first function, If selected according to the determination that the computer system is in a second usage context different from the first usage context, a third selectable user interface object different from the second selectable user interface object causes the second external accessory device of the plurality of external accessory devices to perform a second function, and which, according to the determination that the computer system is in the first usage context, is not included in the user interface, Displaying a first user interface, including Methods that include...
60. The method according to claim 59, wherein the first external accessory device is different from the second external accessory device.
61. The first usage context includes requirements that are met when the first user interface is displayed at a first time, The method according to claim 59 or 60, wherein the second usage context includes requirements that are met when the first user interface is displayed at a second time different from the first time.
62. The first usage context includes requirements that are met when the computer system is detected at a first location, The method according to any one of claims 59 to 61, wherein the second usage context includes requirements that are met when the computer system is detected at a second location different from the first location.
63. The first usage context includes requirements that are met when the computer system has previously caused the first external accessory device to perform a third function, The method according to any one of claims 59 to 62, wherein the second usage context includes requirements that are met when the computer system has previously caused the second external accessory device to perform a fourth function.
64. The first plurality of selectable user interface objects are: In accordance with the determination that the computer system is in the first usage context, it includes a first number of selectable user interface objects, including the first selectable user interface object and the second selectable user interface object, The method according to any one of claims 59 to 63, wherein, according to the determination that the computer system is in the second usage context, the method includes a second number of selectable user interface objects, including the first selectable user interface object and the third selectable user interface object, wherein the first number is different from the second number.
65. Receiving a first user input corresponding to the first selectable user interface object, A user interface for controlling one or more external accessory devices in response to receiving the first user input, The computer system is in a first usage context, which includes the computer system being currently associated with a first position corresponding to a first set of one or more external accessory devices, and when selected, includes a first external accessory device user interface object that causes a first external accessory device of the first set of one or more external accessory devices to perform a fifth function, The computer system is in a second usage context, which includes the computer system being currently associated with a second position corresponding to a second set of one or more external accessory devices different from the first set of one or more external accessory devices, and, when selected, includes a second external accessory device user interface object that causes the first external accessory device of the second set of one or more external accessory devices to perform a sixth function, Displaying a user interface, The method according to any one of claims 59 to 64, further comprising:
66. The first user interface is displayed while the computer system is in a first user-configurable mode, and the method is Displaying a second user interface, which includes a second plurality of user interface objects, while the computer system is in a second user-configurable mode, the second plurality of user interface objects including a first subset of the first plurality of user interface objects, and not including any selectable user interface objects from the second subset of the first plurality of user interface objects which include the first selectable user interface objects and the second selectable user interface objects. The method according to any one of claims 59 to 65, further comprising:
67. The first user interface is displayed while the computer system is in the unlocked user interface state, and the method is The method according to any one of claims 59 to 66, further comprising displaying a third user interface including a third plurality of user interface objects while the computer system is in a locked user interface state, wherein the third plurality of user interface objects include a third subset of the first plurality of user interface objects and does not include a fourth subset of the first plurality of user interface objects.
68. Receiving user input corresponding to the selection of the first selectable user interface object, Upon receiving the user input corresponding to the selection of the first selectable user interface object, While the first user interface is displayed, which includes the second selectable user interface object or the third selectable user interface object, the selection of the sixth selectable user interface object is to display the sixth selectable user interface object, which is different from the second and third selectable user interface objects, and the selection of the sixth selectable user interface object causes the seventh external accessory device of the plurality of external accessory devices to perform a seventh function. The method according to any one of claims 59 to 67, further comprising:
69. A non-temporary computer-readable storage medium for storing one or more programs configured to be executed by one or more processors of a computer system communicating with a display generation component and one or more input devices, wherein the one or more programs include instructions for performing the method according to any one of claims 59 to 68.
70. A computer system, One or more processors, A memory that stores one or more programs configured to be executed by one or more processors, The program comprises one or more instructions for performing the method described in any one of claims 59 to 68, Computer system.
71. A computer system, Means for carrying out the method described in any one of claims 59 to 68, A computer system equipped with the following features.
72. A non-temporary computer-readable storage medium that stores one or more programs configured to be executed by one or more processors of a computer system communicating with a display generation component and one or more input devices, wherein the one or more programs are A first user interface comprising a plurality of first selectable user interface objects via the display generation component, wherein the plurality of first selectable user interface objects are When selected, a first selectable user interface object causes the computer system to change the state of the computer system, If selected according to the determination that the computer system is in a first usage context, a second selectable user interface object that causes a first external accessory device of a plurality of external accessory devices to perform a first function, If selected according to the determination that the computer system is in a second usage context different from the first usage context, a third selectable user interface object different from the second selectable user interface object causes the second external accessory device of the plurality of external accessory devices to perform a second function, and which, according to the determination that the computer system is in the first usage context, is not included in the user interface, Displaying a first user interface, including A non-temporary computer-readable storage medium containing instructions.
73. A computer system, One or more processors, the computer system having one or more processors communicating with a display generation component and one or more input devices, A memory that stores one or more programs configured to be executed by one or more processors, The program comprises one or more programs, A first user interface comprising a plurality of first selectable user interface objects via the display generation component, wherein the plurality of first selectable user interface objects are When selected, a first selectable user interface object causes the computer system to change the state of the computer system, If selected according to the determination that the computer system is in a first usage context, a second selectable user interface object that causes a first external accessory device of a plurality of external accessory devices to perform a first function, If selected according to the determination that the computer system is in a second usage context different from the first usage context, a third selectable user interface object different from the second selectable user interface object causes the second external accessory device of the plurality of external accessory devices to perform a second function, and which, according to the determination that the computer system is in the first usage context, is not included in the user interface, Displaying a first user interface, including A computer system, including instructions.
74. A computer system, Means for displaying a first user interface including a first plurality of selectable user interface objects via the display generation component, wherein the computer system communicates with the display generation component and one or more input devices, and the first plurality of selectable user interface objects are When selected, a first selectable user interface object causes the computer system to change the state of the computer system, If selected according to the determination that the computer system is in a first usage context, a second selectable user interface object that causes a first external accessory device of a plurality of external accessory devices to perform a first function, If selected according to the determination that the computer system is in a second usage context different from the first usage context, a third selectable user interface object different from the second selectable user interface object causes the second external accessory device of the plurality of external accessory devices to perform a second function, and which, according to the determination that the computer system is in the first usage context, is not included in the user interface, means including A computer system equipped with the following features.
75. It is a method, In a computer system that communicates with a display generation component and one or more input devices, Receiving data indicating the current media playback status of an external media playback device, A user interface for controlling media playback on the external media playback device via the display generation component, in response to receiving the aforementioned data and in accordance with the determination that a set of external media playback device control criteria has been met, The system includes a first selectable user interface object that, when selected via one or more input devices in accordance with the determination that the data indicates the external media playback device is currently performing a media playback operation, causes the external media playback device to change its media playback operation. In accordance with the determination that the data indicates the external media playback device is not currently performing media playback, A second selectable user interface object, which, when selected via one or more input devices, causes the external media playback device to start playback of a first predetermined media item, A third selectable user interface object, when selected via one or more input devices, causes the external media playback device to start playback of a second predetermined media item, This includes displaying a user interface, Methods that include...
76. The second selectable user interface object, when displayed, In accordance with the determination that the computer system is operating in a first display state, it is displayed in a first visual appearance. The method according to claim 75, wherein, according to a determination that the computer system is operating in a second display state different from the first display state, the computer system is displayed in a second visual appearance different from the first visual appearance.
77. The computer system receives an indication that it has moved from a first position to a second position while displaying a user interface for controlling media playback on the external media playback device via the display generation component, In response to receiving the indication that the computer system has moved from the first area to the second area, the user interface for controlling media playback on the external playback device is modified. The method according to claim 75 or 76, further comprising:
78. The method according to any one of claims 75 to 77, wherein modifying the media playback operation includes a modification selected from the group consisting of changing the speed of the playback operation, pausing the playback of the media, rewinding the playback of the media, and changing the volume of the playback of the media.
79. The method according to any one of claims 75 to 78, wherein the set of external media playback device control criteria includes criteria that are satisfied when the distance between the computer system and the external media playback device is less than a threshold distance.
80. The method according to any one of claims 75 to 79, wherein the set of external media playback device control criteria includes criteria that are satisfied when an audio command to start playback of media on the external media playback device is received by the computer system.
81. The method according to any one of claims 75 to 80, wherein the set of external media playback device control criteria includes criteria that are satisfied when it is determined that an external media playback device is of a first type.
82. The method according to any one of claims 75 to 81, wherein the set of external media playback device control criteria includes criteria that are met when the external media playback device is currently playing media and the computer system and the external media playback device are currently logged into the same account.
83. The method according to any one of claims 75 to 82, wherein the set of external media playback device control criteria includes criteria that are satisfied when it is determined that the computer system and the external media playback device are in the same location and that the computer system and the external media playback device are currently logged into the same account.
84. The method according to any one of claims 75 to 83, wherein the second selectable user interface object includes an indication of the source of the first predetermined media item.
85. The method according to any one of claims 75 to 84, wherein the first predetermined media item is a playlist containing a plurality of media items.
86. While displaying the second selectable user interface object, receiving gestures, Upon receiving the aforementioned gesture, If the gesture is selected according to the determination that it is a first direction, a third selectable user interface object is displayed which causes the external media playback device to start playback of a third predetermined media item different from the first predetermined media item and the second predetermined media item. If the gesture is selected based on the determination that it is a second direction different from the first direction, a fourth selectable user interface object is displayed that causes the external media playback device to perform a non-media-related function. The method according to any one of claims 75 to 85, further comprising:
87. The method according to any one of claims 75 to 86, wherein the user interface for controlling media playback in the external media playback device includes a third selectable user interface object that, when selected via one or more input devices, causes the external media playback device to perform non-media-related functions.
88. A non-temporary computer-readable storage medium for storing one or more programs configured to be executed by one or more processors of a computer system communicating with a display generation component and one or more input devices, wherein the one or more programs include instructions for performing the method according to any one of claims 75 to 87.
89. A computer system, One or more processors, A memory that stores one or more programs configured to be executed by one or more processors, The program comprises one or more instructions for performing the method described in any one of claims 75 to 87, Computer system.
90. A computer system, Means for carrying out the method described in any one of claims 75 to 87, A computer system equipped with the following features.
91. A non-temporary computer-readable storage medium that stores one or more programs configured to be executed by one or more processors of a computer system communicating with a display generation component and one or more input devices, wherein the one or more programs are Receive data indicating the current media playback status of the external media playback device. A user interface for controlling media playback on the external media playback device via the display generation component, in response to receiving the aforementioned data and in accordance with the determination that a set of external media playback device control criteria has been met, The system includes a first selectable user interface object that, when selected via one or more input devices in accordance with the determination that the data indicates the external media playback device is currently performing a media playback operation, causes the external media playback device to change its media playback operation. In accordance with the determination that the data indicates the external media playback device is not currently performing media playback, A second selectable user interface object, which, when selected via one or more input devices, causes the external media playback device to start playback of a first predetermined media item, A third selectable user interface object, when selected via one or more input devices, causes the external media playback device to start playback of a second predetermined media item, Includes, displaying a user interface, A non-temporary computer-readable storage medium containing instructions.
92. A computer system, One or more processors, the computer system having one or more processors communicating with a display generation component and one or more input devices, A memory that stores one or more programs configured to be executed by one or more processors, The program comprises one or more programs, Receive data indicating the current media playback status of the external media playback device. A user interface for controlling media playback on the external media playback device via the display generation component, in response to receiving the aforementioned data and in accordance with the determination that a set of external media playback device control criteria has been met, The system includes a first selectable user interface object that, when selected via one or more input devices in accordance with the determination that the data indicates the external media playback device is currently performing a media playback operation, causes the external media playback device to change its media playback operation. In accordance with the determination that the data indicates the external media playback device is not currently performing media playback, A second selectable user interface object, which, when selected via one or more input devices, causes the external media playback device to start playback of a first predetermined media item, A third selectable user interface object, when selected via one or more input devices, causes the external media playback device to start playback of a second predetermined media item, Includes, displaying a user interface, A computer system, including instructions.
93. A computer system, A means for receiving data indicating the current media playback status of an external media playback device, wherein the computer system communicates with a display generation component and one or more input devices. A user interface for controlling media playback on the external media playback device via the display generation component, in response to receiving the aforementioned data and in accordance with the determination that a set of external media playback device control criteria has been met, The system includes a first selectable user interface object that, when selected via one or more input devices in accordance with the determination that the data indicates the external media playback device is currently performing a media playback operation, causes the external media playback device to change its media playback operation. In accordance with the determination that the data indicates the external media playback device is not currently performing media playback, A second selectable user interface object, which, when selected via one or more input devices, causes the external media playback device to start playback of a first predetermined media item, A third selectable user interface object, when selected via one or more input devices, causes the external media playback device to start playback of a second predetermined media item, Means for displaying a user interface, including, A computer system equipped with the following features.
94. It is a method, In a computer system that communicates with a display generation component and one or more input devices, The user interface is provided via the display generation component, A first selectable user interface object for controlling a first set of one or more media playback devices, A second selectable user interface object for controlling a second set of one or more media playback devices, which is different from the first set of one or more media playback devices, An indication that the first selectable user interface object is selected, Displaying a user interface that includes, While the user interface includes the indication, it receives user input corresponding to the selection of the second selectable user interface object, In response to receiving the user input corresponding to the selection of the second selectable user interface object, and in accordance with the determination that the set of criteria has been met, Displaying a third selectable user interface object within the user interface for controlling one or a third set of media playback devices, which includes the first set of one or more media playback devices and the second set of one or more media playback devices; To stop displaying the first selectable user interface object and the second user interface object, Methods that include...
95. While the third selectable user interface object is displayed, a first user input corresponding to the selection of the third selectable user interface object is received, Upon receiving the first user input corresponding to the selection of the third selectable user interface object, In accordance with the user interface including an indication that the third selectable user interface object is selected, the display of the indication that the third selectable user interface object is selected within the user interface is stopped. In accordance with the fact that the user interface does not include the indication that the third selectable user interface object is selected, the user interface is to display the indication that the third selectable user interface object is selected. The method according to claim 94, further comprising:
96. The first selectable user interface object includes an identifier associated with the first set of one or more media playback devices, The second selectable user interface object includes identifiers associated with the second set of one or more media playback devices, The method according to claim 94 or 95, wherein displaying the third selectable user interface object includes displaying an identifier associated with the third set of one or more media playback devices, the identifier comprising a portion representing the identifier associated with the first set of one or more media playback devices, and a portion representing the identifier associated with the second set of one or more media playback devices.
97. While the third selectable user interface object is displayed, a second user input is received for the third selectable user interface object, Upon receiving the second user input corresponding to the selection of the third selectable user interface object, Displaying a first selectable user interface object for controlling the first set of one or more media playback devices, and an indication that the first selectable user interface object is selected, Displaying a second selectable user interface object for controlling the second set of one or more media playback devices, and an indication that the second selectable user interface object is selected, The method according to any one of claims 94 to 96, further comprising:
98. The system displays a first selectable user interface object for controlling the first set of one or more media playback devices, and an indication that the first selectable user interface object is selected, and while displaying a second selectable user interface object for controlling the second set of one or more media playback devices, and an indication that the second selectable user interface object is selected, it receives one or more user inputs corresponding to the selection of one or more of the first selectable user interface objects, Upon receiving one or more user inputs, The method according to claim 97, wherein, in accordance with the determination that the last of the one or more selections of the first selectable user interface object has caused the computer system to stop displaying the indication that the first selectable user interface object is selected, the first selectable user interface object and the second selectable user interface object are continued to be displayed without displaying the third selectable user interface object.
99. The user interface includes a fourth selectable user interface object for controlling a fourth set of one or more media playback devices. The aforementioned method, While the third selectable user interface object and the fourth selectable user interface object are displayed, user input corresponding to the selection of the fourth user interface object is received, Upon receiving the user input corresponding to the selection of the fourth user interface object, The user interface displays a fifth selectable user interface object for controlling the first set of one or more media playback devices, the second set of one or more media playback devices, and the fourth set of one or more media playback devices. To stop displaying the third selectable user interface object and the fourth selectable user interface object, The method according to any one of claims 94 to 98, further comprising:
100. Upon receiving the user input corresponding to the selection of the second selectable user interface object, the system transmits grouping information indicating the grouping of the first selectable user interface object and the second selectable user interface object to a second computer system different from the computer system. The method according to any one of claims 94 to 99, further comprising:
101. After displaying the third selectable user interface object within the user interface, data corresponding to an indication that one or more media playback devices are connected to the computer system is received. Upon receiving the aforementioned data, a notification is displayed indicating that the first set of one or more media playback devices and the second set of one or more media playback devices are connected to the computer system. The method according to any one of claims 94 to 100, further comprising:
102. While the user interface is displayed, user input is received at a first position on the user interface. In response to receiving the user input at the first position on the user interface, a second user interface is displayed via the display generation component, which includes selectable user interface objects that, when selected via one or more input devices, cause one or more external media playback devices playing media to change their media playback behavior. The method according to any one of claims 94 to 101, further comprising:
103. The method according to any one of claims 94 to 102, wherein the set of criteria includes an indication that the second selectable user interface object is selected and a criterion that is satisfied when the indication that the first selectable user interface object is selected within a predetermined time.
104. Displaying the third selectable user interface object while the user interface is being displayed is equivalent to displaying the third user interface object before, The first part of the first selectable user interface object, The first part of the second selectable user interface object, The method according to any one of claims 94 to 103, comprising displaying a single user interface object containing a
105. After receiving the user input corresponding to the selection of the second selectable user interface object, display a selectable user interface object for confirming the third selectable user interface object. The method according to any one of claims 94 to 104, further comprising:
106. A non-temporary computer-readable storage medium for storing one or more programs configured to be executed by one or more processors of a computer system communicating with a display generation component and one or more input devices, wherein the one or more programs include instructions for performing the method according to any one of claims 94 to 105.
107. A computer system, One or more processors, A memory that stores one or more programs configured to be executed by one or more processors, The program comprises one or more instructions for performing the method described in any one of claims 94 to 105, Computer system.
108. A computer system, Means for carrying out the method described in any one of claims 94 to 105, Equipped with, Computer system.
109. A non-temporary computer-readable storage medium that stores one or more programs configured to be executed by one or more processors of a computer system communicating with a display generation component and one or more input devices, wherein the one or more programs are The user interface is provided via the display generation component, A first selectable user interface object for controlling a first set of one or more media playback devices, A second selectable user interface object for controlling a second set of one or more media playback devices, which is different from the first set of one or more media playback devices, An indication that the first selectable user interface object is selected, Display a user interface that includes While the user interface includes the indication, it receives user input corresponding to the selection of the second selectable user interface object, In response to receiving the user input corresponding to the selection of the second selectable user interface object, and in accordance with the determination that the set of criteria has been met, Within the user interface, a third selectable user interface object is displayed for controlling one or a third set of media playback devices, including the first set of one or more media playback devices and the second set of one or more media playback devices. The first selectable user interface object and the second user interface object are stopped from being displayed. A non-temporary computer-readable storage medium containing instructions.
110. A computer system, One or more processors, the computer system having one or more processors communicating with a display generation component and one or more input devices, A memory that stores one or more programs configured to be executed by one or more processors, The program comprises one or more programs, The user interface is provided via the display generation component, A first selectable user interface object for controlling a first set of one or more media playback devices, A second selectable user interface object for controlling a second set of one or more media playback devices, which is different from the first set of one or more media playback devices, An indication that the first selectable user interface object is selected, Display a user interface that includes While the user interface includes the indication, it receives user input corresponding to the selection of the second selectable user interface object, In response to receiving the user input corresponding to the selection of the second selectable user interface object, and in accordance with the determination that the set of criteria has been met, Within the user interface, a third selectable user interface object is displayed for controlling one or a third set of media playback devices, including the first set of one or more media playback devices and the second set of one or more media playback devices. The first selectable user interface object and the second user interface object are stopped from being displayed. A computer system, including instructions.
111. A computer system, The user interface is provided via the display generation component, A first selectable user interface object for controlling a first set of one or more media playback devices, A second selectable user interface object for controlling a second set of one or more media playback devices, which is different from the first set of one or more media playback devices, An indication that the first selectable user interface object is selected, Means for displaying a user interface including, While the user interface includes the indication, means for receiving user input corresponding to the selection of the second selectable user interface object, In response to receiving the user input corresponding to the selection of the second selectable user interface object, and in accordance with the determination that the set of criteria has been met, Within the user interface, a third selectable user interface object is displayed for controlling one or a third set of media playback devices, including the first set of one or more media playback devices and the second set of one or more media playback devices. The first selectable user interface object and the second user interface object are stopped from being displayed. means and A computer system equipped with the following features.
112. It is a method, In computer systems, A first process of providing media to a second set of one or more devices while the computer system is providing media to a first set of one or more devices, while continuing to provide media to the first set of one or more devices, Receiving first data from a first external device communicating with the second set of one or more devices, indicating a first request to proceed with the first process of providing the media to the second set of one or more devices, Receiving second data indicating a second request for proceeding the first process of providing the media to the second set of one or more devices, which is received from a second external device communicating with the second set of one or more devices, or from a first device of the second set of one or more devices. This includes initiating the first process, After receiving the first data and the second data, while continuing to provide the media to the first set of one or more devices, the media is provided to the second set of one or more devices. Methods that include...
113. The computer system communicates with the display generation component, and the method is Before starting the first process, via the display generation component, Displaying a first user interface that includes a first selectable user interface object which, when selected, initiates the first process, in accordance with the determination that a first set of media provision criteria is met. The method according to claim 112, further comprising:
114. The method according to claim 113, wherein the first set of media provision criteria is satisfied when the computer system provides media to a predetermined number of sets of one or more devices.
115. The first process described above is Before receiving the first data, initiate sending a first request to the first external device communicating with the second set of one or more devices, authorizing the provision of the media to the second set of one or more devices. The method according to any one of claims 112 to 114, including the method described in any one of claims 112 to 114.
116. The method according to claim 115, wherein initiating the transmission of the first request to the first external device includes initiating the broadcast of requests to a plurality of potential external devices.
117. The method according to claim 115 or 116, wherein the computer system is not communicating with the second set of one or more devices when it initiates the transmission of the first request.
118. Upon receiving the first data, a confirmation user interface including a second selectable user interface object is displayed, Receiving input corresponding to the second selectable user interface object, In response to receiving the input corresponding to the second selectable user interface object, the system displays a prompt for input on the second external device, or displays a prompt for input on the first device of the second set of one or more devices, The method according to any one of claims 112 to 117, further comprising:
119. The method according to claim 118, wherein the confirmation user interface is displayed before receiving the second data.
120. The method according to any one of claims 112 to 119, wherein while the media continues to be provided to the first set of one or more devices, providing the media to the second set of one or more devices includes displaying an indication that the media is being provided to the second set of one or more devices.
121. The method according to any one of claims 112 to 120, wherein, before initiating the first process, the second set of one or more devices is configured to play media provided by the first external device.
122. The aforementioned computer system is associated with a first user account, The method according to any one of claims 112 to 121, wherein the first external device is associated with a second user account different from the first user account.
123. A non-temporary computer-readable storage medium for storing one or more programs configured to be executed by one or more processors of a computer system, wherein the one or more programs include instructions for performing the method according to any one of claims 112 to 122.
124. A computer system, One or more processors, A memory that stores one or more programs configured to be executed by one or more processors, The program comprises one or more instructions for performing the method according to any one of claims 112 to 122, Computer system.
125. A computer system, Means for carrying out the method according to any one of claims 112 to 122, A computer system equipped with the following features.
126. A non-temporary computer-readable storage medium for storing one or more programs configured to be executed by one or more processors of a computer system, wherein the one or more programs are A first process of providing media to a second set of one or more devices while the computer system is providing media to a first set of one or more devices, while continuing to provide media to the first set of one or more devices, Receiving first data from a first external device communicating with the second set of one or more devices, indicating a first request to proceed with the first process of providing the media to the second set of one or more devices, Receiving second data indicating a second request for proceeding the first process of providing the media to the second set of one or more devices, which is received from a second external device communicating with the second set of one or more devices, or from a first device of the second set of one or more devices. The first process, which includes, After receiving the first data and the second data, while continuing to provide the media to the first set of one or more devices, provide the media to the second set of one or more devices. A non-temporary computer-readable storage medium containing instructions.
127. A computer system, One or more processors, A memory that stores one or more programs configured to be executed by one or more processors, The program comprises one or more programs, A first process of providing media to a second set of one or more devices while the computer system is providing media to a first set of one or more devices, while continuing to provide media to the first set of one or more devices, Receiving first data from a first external device communicating with the second set of one or more devices, indicating a first request to proceed with the first process of providing the media to the second set of one or more devices, Receiving second data indicating a second request for proceeding the first process of providing the media to the second set of one or more devices, which is received from a second external device communicating with the second set of one or more devices, or from a first device of the second set of one or more devices. The first process, which includes, After receiving the first data and the second data, while continuing to provide the media to the first set of one or more devices, provide the media to the second set of one or more devices. A computer system, including instructions.
128. A computer system, Means for initiating a first process of providing media to a second set of one or more devices while the computer system is providing media to a first set of one or more devices, and while continuing to provide media to the first set of one or more devices, means for receiving first data from a first external device communicating with the second set of one or more devices, indicating a first request to proceed with the first process of providing the media to the second set of one or more devices, means for receiving second data indicating a second request for proceeding the first process of providing the media to the second set of one or more devices, which is received from a second external device communicating with the second set of one or more devices, or from a first device of the second set of one or more devices. means including, Means for providing the media to a second set of one or more devices while continuing to provide the media to a first set of one or more devices after receiving the first data and the second data, A computer system equipped with the following features.
129. It is a method, In a computer system communicating with one or more input devices, Receiving a first request from the first user to perform an action, In response to the first request, the execution of a first operation performed based on at least a first execution parameter is initiated, After initiating the execution of the first operation, the system receives a second request to perform an operation via one or more input devices. Upon receiving the second request, In accordance with the determination that the second request was made by the first user, the execution of a second operation performed at least based on the first execution parameters is initiated. In accordance with the determination that the second request was made by a second user different from the first user, the execution of a third operation different from the first operation is initiated. Methods that include...
130. The method according to claim 129, wherein the second request is received while the execution of the first operation is in progress.
131. The method according to claim 129 or 130, wherein the first execution parameter is the identification information of the first user.
132. The computer system communicates with one or more output devices, and the third operation is: The method according to any one of claims 129 to 131, comprising outputting an input request via one or more output devices that identifies a set of one or more devices for performing a fourth operation.
133. The first operation is performed on a first set of one or more devices, and the method is: After outputting the request for the input which identifies a set of one or more devices for performing the fourth operation, the system receives a first input via the one or more input devices which identifies a second set of one or more devices different from the first set of one or more devices, In response to receiving the first input, the execution of the fourth operation in the second set of one or more devices is initiated, The method according to claim 132, further comprising:
134. After commencing the execution of the first operation and before commencing the execution of the fourth operation, the computer system is identifiable to at least a first external device as a member of the first set of one or more devices. The method according to claim 133, wherein, after the execution of the fourth operation has commenced, the computer system is identifiable to at least the first external device as a member of the second set of one or more devices.
135. After initiating the execution of the first operation, the system receives a third request to perform an operation via one or more input devices. In response to the third request, the execution of a fifth action is initiated, which is performed regardless of the identification information of the user who made the fourth request. The method according to any one of claims 129 to 134, further comprising:
136. The method according to any one of claims 129 to 135, wherein the determination that the second request was made by a second user different from the first user includes determining specific identification information of the second user.
137. The method according to any one of claims 129 to 135, wherein the determination that the second request was made by a second user different from the first user does not involve determining specific identification information of the second user.
138. The method according to any one of claims 129 to 137, wherein the first operation is selected from the group consisting of playing media, starting a timer, starting an alarm, and providing a navigation command.
139. Providing the media to a second set of one or more devices while continuing to provide the media to a first set of one or more devices is: In accordance with the determination that input corresponding to the selection of a temporary sharing option has been received, the media is provided to the second set of one or more devices for a period of no more than a first predetermined period, In accordance with the determination that input corresponding to the selection of a non-temporary sharing option has been received, the media is provided to the second set of one or more devices without constituting a predetermined time limit for providing the media to the second set of one or more devices, The method according to any one of claims 129 to 138, including the method described in any one of claims 129 to 138.
140. The method according to claim 139, wherein the first predetermined period is selected from the group consisting of a predetermined period from the current time, a predetermined period selected based on the media currently being played, and a predetermined period until a predetermined event.
141. A non-temporary computer-readable storage medium for storing one or more programs configured to be executed by one or more processors of a computer system communicating with a display generation component and one or more input devices, wherein the one or more programs include instructions for performing the method according to any one of claims 129 to 140.
142. A computer system, One or more processors, A memory that stores one or more programs configured to be executed by one or more processors, The program comprises one or more instructions for performing the method described in any one of claims 129 to 140, Computer system.
143. A computer system, Means for carrying out the method described in any one of claims 129 to 140, A computer system equipped with the following features.
144. A non-temporary computer-readable storage medium that stores one or more programs configured to be executed by one or more processors of a computer system communicating with a display generation component and one or more input devices, wherein the one or more programs are The system receives a first request from the first user to perform an action. In response to the first request, the execution of a first operation performed based on at least a first execution parameter is initiated. After initiating the execution of the first operation, a second request to perform an operation is received via one or more input devices. Upon receiving the second request, In accordance with the determination that the second request was made by the first user, the execution of a second operation, which is performed at least based on the first execution parameters, is initiated. In accordance with the determination that the second request was made by a second user different from the first user, the system initiates the execution of a third operation different from the first operation. A non-temporary computer-readable storage medium containing instructions.
145. A computer system, One or more processors, the computer system having one or more processors communicating with a display generation component and one or more input devices, A memory that stores one or more programs configured to be executed by one or more processors, The program comprises one or more programs, The system receives a first request from the first user to perform an action. In response to the first request, the execution of a first operation performed based on at least a first execution parameter is initiated. After initiating the execution of the first operation, a second request to perform an operation is received via one or more input devices. Upon receiving the second request, In accordance with the determination that the second request was made by the first user, the execution of a second operation, which is performed at least based on the first execution parameters, is initiated. In accordance with the determination that the second request was made by a second user different from the first user, the system initiates the execution of a third operation different from the first operation. A computer system, including instructions.
146. A computer system, Means for receiving a first request from a first user to perform an action, In response to the first request, means for initiating the execution of a first operation which is performed based on at least a first execution parameter, After the execution of the first operation has begun, means for receiving a second request to perform an operation via one or more input devices, Upon receiving the second request, In accordance with the determination that the second request was made by the first user, the execution of a second operation, which is performed at least based on the first execution parameters, is initiated. In accordance with the determination that the second request was made by a second user different from the first user, the system initiates the execution of a third operation different from the first operation. means and A computer system equipped with the following features.