Method and user interface for sharing audio
The method and interface for sharing audio data through user interface affordances and proximity-based transmission address inefficiencies in existing technologies, improving user experience and conserving battery life in electronic devices.
Patent Information
- Application Number
- JP2024147808
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2019-08-27
- Filing Date
- 2024-08-29
- Publication Date
- 2024-12-17
- Estimated Expiration
- 2040-03-31
AI Technical Summary
Existing methods for sharing audio data using electronic devices are cumbersome and inefficient, often requiring complex user interfaces with multiple key presses and consuming unnecessary time and energy, particularly in battery-operated devices.
A method and interface for sharing audio data that involves displaying a user interface with affordances, detecting inputs for selecting these affordances, and initiating simultaneous audio data transmission to multiple devices based on physical proximity, reducing the need for redundant user inputs and conserving power.
This approach enhances user efficiency and reduces cognitive burden by providing faster, more efficient audio sharing, conserving battery life in portable devices.
Smart Images

Figure 2024174914000001_ABST
Abstract
Description
[Technical field]
[0001] (CROSS REFERENCE TO RELATED APPLICATIONS) This application claims priority to U.S. Provisional Patent Application No. 62 / 855,897, entitled "METHODS AND USER INTERFACES FOR SHARING AUDIO," filed May 31, 2019, and Danish Patent Application No. PA201970533, entitled "METHODS AND USER INTERFACES FOR SHARING AUDIO," filed August 27, 2019, the contents of each of which are incorporated by reference herein in their entirety for all purposes.
[0002] FIELD OF THE DISCLOSURE This disclosure relates generally to computer user interfaces, and more specifically to techniques for sharing audio data. [Background technology]
[0003] Electronic devices can play various types of media including audio, such as music tracks, podcasts, audiobooks, and videos. Most modern electronic devices can provide audio data through wireless connections to audio output devices, such as wireless speakers and wireless headphones. Summary of the Invention
[0004] However, some techniques for sharing audio data using electronic devices are generally cumbersome and inefficient. For example, some existing techniques use complex and time-consuming user interfaces that may involve multiple key presses or keystrokes. Existing techniques take more time than necessary, wasting the user's time and the device's energy. The latter problem is particularly acute in battery-operated devices.
[0005] Thus, the present technology provides electronic devices with faster, more efficient methods and interfaces for sharing audio data. Such methods and interfaces optionally complement or replace other methods for sharing audio data. Such methods and interfaces reduce the cognitive burden on users and create a more efficient human-machine interface. For battery-operated computing devices, such methods and interfaces conserve power and increase the time between battery charges.
[0006] An example method is disclosed herein. The example method includes, in an electronic device having a display device, while the electronic device is connected to a first external device via a communication link, the electronic device is configured to provide audio data to the first external device via the communication link, displaying, via the display device, a first user interface including a first affordance, detecting an input corresponding to a selection of the first affordance, in response to detecting the input corresponding to a selection of the first affordance, initiating a process of simultaneously providing audio data to the first external device and a second external device different from the first external device, after initiating the process of simultaneously providing audio data to the first external device and the second external device, detecting an indication that a physical proximity between the electronic device and the second external device satisfies a proximity condition, and in response to detecting the indication that a physical proximity between the electronic device and the second external device satisfies the proximity condition, displaying a second user interface indicating that a physical proximity between the electronic device and the second external device satisfies the proximity condition.
[0007] Exemplary non-transitory computer readable storage media are described herein. An exemplary non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display device, the one or more programs including instructions for: displaying, via the display device, a first user interface including a first affordance, while the electronic device is connected to a first external device via a communication link; detecting an input corresponding to a selection of the first affordance; in response to detecting the input corresponding to a selection of the first affordance, initiating a process of simultaneously providing audio data to the first external device and a second external device different from the first external device; after initiating the process of simultaneously providing audio data to the first external device and the second external device, detecting an indication that a physical proximity between the electronic device and the second external device satisfies a proximity condition; and in response to detecting the indication that the physical proximity between the electronic device and the second external device satisfies the proximity condition, displaying a second user interface indicating that the physical proximity between the electronic device and the second external device satisfies the proximity condition.
[0008] An exemplary transitory computer-readable storage medium is 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 including instructions for: displaying, via the display device, a first user interface including a first affordance, while the electronic device is connected to a first external device via a communication link; detecting an input corresponding to a selection of the first affordance; in response to detecting the input corresponding to a selection of the first affordance, initiating a process of simultaneously providing audio data to the first external device and a second external device different from the first external device; after initiating the process of simultaneously providing audio data to the first external device and the second external device, detecting an indication that a physical proximity between the electronic device and the second external device satisfies a proximity condition; and in response to detecting the indication that the physical proximity between the electronic device and the second external device satisfies the proximity condition, displaying a second user interface indicating that the physical proximity between the electronic device and the second external device satisfies the proximity condition.
[0009] Exemplary electronic devices are described herein. An example electronic device includes a display device, one or more processors, and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: displaying, via the display device, a first user interface including a first affordance, detecting an input corresponding to a selection of the first affordance, in response to detecting the input corresponding to a selection of the first affordance, initiating a process of simultaneously providing audio data to the first external device and a second external device different from the first external device, after initiating the process of simultaneously providing audio data to the first external device and the second external device, detecting an indication that a physical proximity between the electronic device and the second external device satisfies a proximity condition, and in response to detecting the indication that a physical proximity between the electronic device and the second external device satisfies the proximity condition, displaying a second user interface indicating that a physical proximity between the electronic device and the second external device satisfies the proximity condition.
[0010] An exemplary electronic device includes a display device, and the electronic device is configured to provide audio data to the first external device via the communication link while the electronic device is connected to the first external device via the communication link, the electronic device including: means for displaying a first user interface via the display device, the first user interface including a first affordance; means for detecting an input corresponding to a selection of the first affordance; means for initiating a process of simultaneously providing audio data to the first external device and a second external device different from the first external device in response to detecting the input corresponding to a selection of the first affordance; means for detecting an indication that a physical proximity between the electronic device and the second external device satisfies a proximity condition after initiating the process of simultaneously providing audio data to the first external device and the second external device; and means for displaying a second user interface indicating that a physical proximity between the electronic device and the second external device satisfies the proximity condition in response to detecting the indication that a physical proximity between the electronic device and the second external device satisfies the proximity condition.
[0011] An example method includes, in an electronic device having a display device, while the electronic device is connected to a first external device via a communication link, the electronic device being configured to provide audio data to the first external device via the communication link, detecting an indication that physical proximity between the electronic device and a second external device different from the first external device satisfies a proximity condition, in response to detecting the indication that physical proximity between the electronic device and the second external device satisfies the proximity condition, displaying via the display device a first user interface including a first affordance, detecting an input corresponding to a selection of the first affordance, and in response to detecting the input corresponding to a selection of the first affordance, initiating a process of providing audio data simultaneously to the first external device and the second external device.
[0012] An exemplary non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display device, the one or more programs including instructions for: detecting an indication that physical proximity between the electronic device and a second external device different from the first external device satisfies a proximity condition, and in response to detecting the indication that physical proximity between the electronic device and the second external device satisfies the proximity condition, displaying a first user interface via the display device including a first affordance; detecting an input corresponding to a selection of the first affordance; and in response to detecting the input corresponding to a selection of the first affordance, initiating a process of providing audio data simultaneously to the first external device and the second external device.
[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 including instructions for: detecting an indication that physical proximity between the electronic device and a second external device different from the first external device satisfies a proximity condition while the electronic device is connected to the first external device via a communication link; displaying, via the display device, a first user interface including a first affordance, in response to detecting the indication that physical proximity between the electronic device and the second external device satisfies the proximity condition; detecting an input corresponding to a selection of the first affordance; and in response to detecting the input corresponding to a selection of the first affordance, initiating a process of providing audio data simultaneously to the first external device and the second external device.
[0014] An example electronic device includes a display device, one or more processors, and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: detecting an indication that physical proximity between the electronic device and a second external device different from the first external device satisfies a proximity condition while the electronic device is connected to the first external device via a communication link; displaying, via the display device, a first user interface including a first affordance, in response to detecting the indication that physical proximity between the electronic device and the second external device satisfies the proximity condition; detecting an input corresponding to a selection of the first affordance; and in response to detecting the input corresponding to a selection of the first affordance, initiating a process of providing audio data simultaneously to the first external device and the second external device.
[0015] An exemplary electronic device includes a display device, and the electronic device is configured to provide audio data to the first external device via the communication link while the electronic device is connected to the first external device via the communication link, and includes: means for detecting an indication that physical proximity between the electronic device and a second external device different from the first external device satisfies a proximity condition; means for displaying a first user interface via the display device including a first affordance in response to detecting the indication that physical proximity between the electronic device and the second external device satisfies the proximity condition; means for detecting an input corresponding to a selection of the first affordance; and means for initiating a process of providing audio data simultaneously to the first external device and the second external device in response to detecting the input corresponding to a selection of the first affordance.
[0016] An exemplary method includes, in an electronic device with a display device, the electronic device configured to provide audio data to the first external device when connected to the first external device and to provide audio data to the second external device when connected to the second external device while a first connection condition is satisfied for the electronic device, the first external device, and the second external device, and includes receiving a request to display a first volume control affordance; in response to receiving the request to display the first volume control affordance, displaying the first volume control affordance; detecting an input corresponding to a selection of the first volume control affordance; and detecting an input corresponding to a selection of the first volume control affordance. displaying a user interface in response to detecting an input corresponding to a selection of a volume control affordance for adjusting the volume level of the first external device, including displaying a second volume control affordance that, when selected, adjusts the volume level of the first external device and a third volume control affordance that, when selected, adjusts the volume level of the second external device in accordance with a determination that the second connection condition is not satisfied for the second external device; and displaying a fourth volume control affordance that, when selected, adjusts the volume level of the first external device without displaying a volume control affordance for adjusting the volume level of the second external device in accordance with a determination that the second connection condition is not satisfied for the second external device.
[0017] An exemplary non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display device, the one or more programs including a first external device and a second external device, during which a first connection condition is satisfied for the electronic device, the electronic device being configured to provide audio data to the first external device when connected to the first external device and to provide audio data to the second external device when connected to the second external device, receive a request to display a first volume control affordance, and in response to receiving the request to display the first volume control affordance, display the first volume control affordance, and upon selection of the first volume control affordance, the instructions include: detecting a corresponding input; and in response to detecting the input corresponding to selection of the first volume control affordance, displaying a user interface, including displaying a second volume control affordance that, when selected, adjusts a volume level of the first external device and a third volume control affordance that, when selected, adjusts the volume level of the second external device in accordance with a determination that the second connection condition is not met for the second external device; and displaying a fourth volume control affordance that, when selected, adjusts the volume level of the first external device without displaying a volume control affordance for adjusting the volume level of the second external device in accordance with a determination that the second connection condition is not met for the second external device.
[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 including a first external device and a second external device, during which a first connection condition is satisfied for the electronic device, the electronic device being configured to provide audio data to the first external device when connected to the first external device and to provide audio data to the second external device when connected to the second external device, receive a request to display a first volume control affordance, and in response to receiving the request to display the first volume control affordance, display the first volume control affordance, and display a corresponding audio signal corresponding to a selection of the first volume control affordance. the instructions for detecting an input corresponding to a selection of the first volume control affordance; and in response to detecting the input corresponding to a selection of the first volume control affordance, displaying a user interface including displaying a second volume control affordance that, when selected, adjusts a volume level of the first external device and a third volume control affordance that, when selected, adjusts the volume level of the second external device in accordance with a determination that the second connection condition is not met for the second external device; and displaying a fourth volume control affordance that, when selected, adjusts the volume level of the first external device without displaying a volume control affordance for adjusting the volume level of the second external device in accordance with a determination that the second connection condition is not met for the second external device.
[0019] An exemplary electronic device includes a display device, one or more processors, and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs being configured to, while a first connection condition is satisfied for the electronic device, include a first external device and a second external device, the electronic device being configured to provide audio data to the first external device when connected to the first external device and provide audio data to the second external device when connected to the second external device, receive a request to display a first volume control affordance, and in response to receiving the request to display the first volume control affordance, display the first volume control affordance, and upon selection of the first volume control affordance, the instructions include: detecting a corresponding input; and in response to detecting the input corresponding to selection of the first volume control affordance, displaying a user interface, including displaying a second volume control affordance that, when selected, adjusts a volume level of the first external device and a third volume control affordance that, when selected, adjusts the volume level of the second external device in accordance with a determination that the second connection condition is not met for the second external device; and displaying a fourth volume control affordance that, when selected, adjusts the volume level of the first external device without displaying a volume control affordance for adjusting the volume level of the second external device in accordance with a determination that the second connection condition is not met for the second external device.
[0020] An exemplary electronic device is configured to include a display device, and while a first connection condition is satisfied for the electronic device, the first external device, and the second external device, the electronic device provides audio data to the first external device when connected to the first external device and provides audio data to the second external device when connected to the second external device, the display device includes a means for receiving a request to display a first volume control affordance, and in response to receiving the request to display the first volume control affordance, a means for displaying the first volume control affordance, a means for detecting an input corresponding to a selection of the first volume control affordance, and a means for displaying an input corresponding to a selection of the first volume control affordance. and means for displaying a user interface in response to detecting an input that corresponds to a first connection condition and a second connection condition that corresponds to a second external device, the means including means for displaying a second volume control affordance that adjusts a volume level of the first external device and a third volume control affordance that adjusts the volume level of the second external device when selected in accordance with a determination that the second connection condition is not satisfied for the second external device, and means for displaying a fourth volume control affordance that adjusts the volume level of the first external device without displaying a volume control affordance for adjusting the volume level of the second external device when selected in accordance with a determination that the second connection condition is not satisfied for the second external device.
[0021] An example method includes, at an electronic device with a display device, receiving a request to display a user interface for selecting one or more devices to which audio from the audio media application is output while displaying a first user interface including control items of the audio media application; and in response to receiving the request to display a user interface for selecting one or more devices to which audio from the audio media application is output, displaying a second user interface, in response to a determination that the source electronic device is connected to a first external device and a second external device different from the first external device and configured to provide audio data from the audio media application to the first external device and the second external device simultaneously, displaying a first affordance that, when selected, causes audio data from the audio media application to be provided to the first external device and the second external device simultaneously; and in accordance with a determination that the source electronic device is connected to the first external device and configured to provide audio data from the audio media application to the first external device without simultaneously providing audio data from the audio media application to another external device, displaying a second affordance that, when selected, causes audio data from the audio media application to be provided only to the first external device.
[0022] An exemplary non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display device, the one or more programs receiving a request to display a user interface for selecting one or more devices through which audio from the audio media application is to be output while displaying a first user interface including control items of an audio media application, and displaying a second user interface in response to receiving the request to display a user interface for selecting one or more devices through which audio from the audio media application is to be output, wherein a source electronic device is connected to a first external device and a second external device different from the first external device, and the first external device is connected to the second external device. and in response to a determination that the source electronic device is connected to the first external device and configured to provide audio data from the audio media application to the first external device and a second external device simultaneously, displaying a first affordance that, when selected, causes audio data from the audio media application to be provided to the first external device and the second external device simultaneously; and in response to a determination that the source electronic device is connected to the first external device and configured to provide audio data from the audio media application to the first external device without simultaneously providing audio data from the audio media application to another external device, displaying a second affordance that, when selected, causes audio data from the audio media application to be provided only to the first external device.
[0023] 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 receiving a request to display a user interface for selecting one or more devices through which audio from the audio media application is to be output while displaying a first user interface including control items of an audio media application, and displaying a second user interface in response to receiving the request to display a user interface for selecting one or more devices through which audio from the audio media application is to be output, wherein a source electronic device is connected to a first external device and a second external device different from the first external device, and the first external device is connected to the second external device. and in response to a determination that the source electronic device is connected to the first external device and configured to provide audio data from the audio media application to the first external device and a second external device simultaneously, displaying a first affordance that, when selected, causes audio data from the audio media application to be provided to the first external device and the second external device simultaneously; and in response to a determination that the source electronic device is connected to the first external device and configured to provide audio data from the audio media application to the first external device without simultaneously providing audio data from the audio media application to another external device, displaying a second affordance that, when selected, causes audio data from the audio media application to be provided only to the first external device.
[0024] An exemplary electronic device includes a display device, one or more processors, and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs receiving a request to display a user interface for selecting one or more devices through which audio from the audio media application is to be output while displaying a first user interface including control items of an audio media application, and displaying a second user interface in response to receiving the request to display a user interface for selecting one or more devices through which audio from the audio media application is to be output, wherein the source electronic device is connected to a first external device and a second external device different from the first external device, and the first external device is connected to the second external device. In response to a determination that the source electronic device is configured to provide audio data from the audio media application to the first external device and a second external device simultaneously, displaying a first affordance that, when selected, causes audio data from the audio media application to be provided to the first external device and the second external device simultaneously; and in response to a determination that the source electronic device is connected to the first external device and is configured to provide audio data from the audio media application to the first external device without simultaneously providing audio data from the audio media application to another external device, displaying a second affordance that, when selected, causes audio data from the audio media application to be provided only to the first external device.
[0025] An exemplary electronic device includes a display device; means for receiving a request to display a user interface for selecting one or more devices to which audio from the audio media application is output while displaying a first user interface including control items for the audio media application; and means for displaying a second user interface in response to receiving the request to display a user interface for selecting one or more devices to which audio from the audio media application is output, the means displaying a first affordance that, when selected, causes audio data from the audio media application to be provided to the first external device and the second external device simultaneously in response to a determination that the source electronic device is connected to the first external device and a second external device different from the first external device and is configured to provide audio data from the audio media application to the first external device and the second external device simultaneously; and means for displaying a second affordance that, when selected, causes audio data from the audio media application to be provided only to the first external device in accordance with a determination that the source electronic device is connected to the first external device and is configured to provide audio data from the audio media application to the first external device without simultaneously providing audio data from the audio media application to another external device.
[0026] Executable instructions to perform these functions are optionally contained in a non-transitory computer-readable storage medium or other computer program product configured for execution by one or more processors. Executable instructions to perform these functions are optionally contained in a transitory computer-readable storage medium or other computer program product configured for execution by one or more processors.
[0027] Thus, devices are provided with faster, more efficient methods and interfaces for sharing audio data, thereby increasing the effectiveness, efficiency, and user satisfaction of such devices. Such methods and interfaces may complement or replace other methods for sharing audio data. [Brief description of the drawings]
[0028] For a better understanding of the various described embodiments, reference should be made to the following Detailed Description in conjunction with the following drawings, in which like reference numerals refer to corresponding parts throughout:
[0029] [Figure 1A] 1 is a block diagram illustrating a portable multifunction device having a touch-sensitive display in accordance with some embodiments.
[0030] [Figure 1B] FIG. 2 is a block diagram illustrating example components for event processing according to some embodiments.
[0031] [Diagram 2] FIG. 1 illustrates a portable multifunction device having a touch screen in accordance with some embodiments.
[0032] [Diagram 3] 1 is a block diagram of an exemplary multifunction device having a display and a touch-sensitive surface in accordance with some embodiments.
[0033] [Figure 4A] 1 illustrates an exemplary user interface of a menu of applications on a portable multifunction device in accordance with some embodiments.
[0034] [Figure 4B] 1 illustrates an exemplary user interface of a multifunction device having a touch-sensitive surface separate from a display in accordance with some embodiments.
[0035] [Figure 5A] 1 illustrates a personal electronic device according to some embodiments.
[0036] [Figure 5B] FIG. 1 is a block diagram illustrating a personal electronic device according to some embodiments.
[0037] [Figure 5C] 1 illustrates example components of a personal electronic device having a touch-sensitive display and intensity sensor in accordance with some embodiments. [Figure 5D] 1 illustrates example components of a personal electronic device having a touch-sensitive display and intensity sensor in accordance with some embodiments.
[0038] [Figure 5E] 1 illustrates example components and a user interface of a personal electronic device in accordance with some embodiments. [Figure 5F] 1 illustrates example components and a user interface of a personal electronic device in accordance with some embodiments. [Figure 5G] 1 illustrates example components and a user interface of a personal electronic device in accordance with some embodiments. [Figure 5H] 1 illustrates example components and a user interface of a personal electronic device in accordance with some embodiments.
[0039] [Figure 6A] 1 illustrates an example user interface in accordance with some embodiments. [Figure 6B] 1 illustrates an example user interface in accordance with some embodiments. [Figure 6C] 1 illustrates an example user interface in accordance with some embodiments. [Figure 6D] 1 illustrates an example user interface in accordance with some embodiments. [Figure 6E] 1 illustrates an example user interface in accordance with some embodiments. [Figure 6F] 1 illustrates an example user interface in accordance with some embodiments. [Figure 6G] 1 illustrates an example user interface in accordance with some embodiments. [Figure 6H] 1 illustrates an example user interface in accordance with some embodiments. [Figure 6I] 1 illustrates an example user interface in accordance with some embodiments. [Figure 6J] 1 illustrates an example user interface in accordance with some embodiments. [Figure 6K] 1 illustrates an example user interface in accordance with some embodiments. [Figure 6L] 1 illustrates an example user interface in accordance with some embodiments. [Figure 6M] 1 illustrates an example user interface in accordance with some embodiments. [Figure 6N] 1 illustrates an example user interface in accordance with some embodiments. [Figure 6O] 1 illustrates an example user interface in accordance with some embodiments. [Figure 6P] 1 illustrates an example user interface in accordance with some embodiments. [Figure 6Q] 1 illustrates an example user interface in accordance with some embodiments. [Figure 6R] 1 illustrates an example user interface in accordance with some embodiments.
[0040] [Figure 7] 1 illustrates an exemplary method according to some embodiments.
[0041] [Figure 8] 1 illustrates an exemplary method according to some embodiments.
[0042] [Figure 9A] 1 illustrates an exemplary user interface according to some embodiments. [Figure 9B] 1 illustrates an exemplary user interface according to some embodiments. [Figure 9C] 1 illustrates an exemplary user interface according to some embodiments. [Figure 9D] 1 illustrates an exemplary user interface according to some embodiments. [Figure 9E] 1 illustrates an exemplary user interface according to some embodiments.
[0043] [Figure 10] 1 illustrates an exemplary method according to some embodiments.
[0044] [Figure 11A] 1 illustrates an exemplary user interface according to some embodiments. [Figure 11B] 1 illustrates an exemplary user interface according to some embodiments. [Figure 11C] 1 illustrates an exemplary user interface according to some embodiments. [Figure 11D] 1 illustrates an exemplary user interface according to some embodiments. [Figure 11E] 1 illustrates an exemplary user interface according to some embodiments. [Figure 11F] 1 illustrates an exemplary user interface according to some embodiments.
[0045] [Figure 12] 1 illustrates an exemplary method according to some embodiments. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0046] The following description sets forth example methods, parameters, etc., however, it should be recognized that such description is not intended as a limitation on the scope of the present disclosure, but rather is provided as a description of example embodiments.
[0047] There is a need for an electronic device that provides an efficient method and interface for sharing audio data. In some embodiments, in response to a selection of a shared audio affordance while the primary device is connected to a first wireless device (e.g., a pair of wireless headphones paired with the primary device), the primary device enters a sharing mode. In response to a second wireless device (e.g., a pair of wireless headphones of another user) being brought into close proximity of the primary device, a process is initiated in which the primary device shares audio data with the second external device while simultaneously providing the same audio data to the first external device. In some embodiments, the audio data is shared with the second external device temporarily. This allows a user to easily share audio wirelessly with another person, for example, so that they can listen to audio together without requiring a pre-existing or permanent relationship between the primary device and the second external device. In some embodiments, the sharing process is initiated by bringing the second external device into close proximity with the primary device, without first requiring a selection of a shared audio affordance. Exemplary techniques for controlling the volume of the first and second external devices while sharing audio data are also described. For example, the primary device can provide a volume control interface based on the configuration of the connection with the second external device (e.g., whether the second external device is controlled by a third external device (e.g., a phone)). Exemplary techniques for selecting a device for playing audio are also described. For example, an audio media user interface provides an option (e.g., an affordance) to select where to play music based on whether the primary device is sharing audio. Such techniques can reduce the cognitive burden on users sharing audio data, thereby increasing productivity. Additionally, such techniques can reduce processor and battery power that would otherwise be wasted on redundant user input.
[0048] 1A-1B, 2, 3, 4A-4B, and 5A-5H provide a description of an exemplary device for performing the method for sharing audio data. FIG. 6A-6R show an exemplary user interface for sharing audio data. FIG. 7-8 show a flow diagram illustrating a method for sharing audio data, according to some embodiments. The user interfaces of FIG. 6A-6R are used to illustrate the processes described below, including the processes of FIG. 7-8. FIG. 9A-9E show an exemplary user interface for sharing audio data. FIG. 10 shows a flow diagram illustrating a method for sharing audio data, according to some embodiments. The user interfaces of FIG. 9A-9E are used to illustrate the processes described below, including the processes of FIG. 10. FIG. 11A-11F show an exemplary user interface for sharing audio data. FIG. 12 shows a flow diagram illustrating a method for sharing audio data, according to some embodiments. The user interfaces of FIG. 11A-11F are used to illustrate the processes described below, including the processes of FIG. 12.
[0049] In the following description, terms such as "first" and "second" are used to describe various elements, but these elements should not be limited by these terms. These terms are only used to distinguish one element from another element. For example, a first touch can be called a second touch, and a second touch can be called a first touch, without departing from the scope of various embodiments described. Although a first touch and a second touch are both touches, they are not the same touch.
[0050] The terminology used in the description of the various embodiments described herein is for the purpose of describing particular embodiments only and is not intended to be limiting. In the description of the various embodiments described and in the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly dictates otherwise. It should also 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 associated listed items. It will be further understood that the terms "includes," "including," "comprises," and / or "comprising," as used herein, specify the presence of stated features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0051] The term "if" is interpreted, optionally, depending on the context, to mean "when" or "upon," or "in response to determining" or "in response to detecting." Similarly, the phrase "if it is determined" or "if [a stated condition or event] is detected" is interpreted, optionally, depending on the context, to mean "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]."
[0052] 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, that also includes other functions, such as PDA and / or music player functions. Exemplary embodiments of portable multifunction devices include, but are not limited to, iPhone®, iPod Touch®, and iPad® devices from Apple Inc. of Cupertino, Calif. Optionally, other portable electronic devices, such as laptops or tablet computers having a touch-sensitive surface (e.g., a touchscreen display and / or a touchpad), are also used. It should also be understood that in some embodiments, the device is not a portable communication device, but rather a desktop computer having a touch-sensitive surface (e.g., a touchscreen display and / or a touchpad).
[0053] In the following discussion, electronic devices are described that include a display and a touch-sensitive surface, however, it should be understood that the electronic device optionally includes one or more other physical user-interface devices, such as a physical keyboard, a mouse, and / or a joystick.
[0054] The device typically supports a variety of applications, such as one or more of drawing applications, presentation applications, word processing applications, website creation applications, disc authoring applications, spreadsheet applications, gaming applications, telephony 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.
[0055] The various applications running on the device optionally use at least one common physical user-interface device, such as a touch-sensitive surface. One or more features of the touch-sensitive surface and corresponding information displayed on the device are optionally adjusted and / or changed for each application and / or within each application. In this way, the common physical architecture of the device (such as the touch-sensitive surface) optionally supports a variety of applications with user interfaces that are intuitive and transparent to the user.
[0056] Attention is now directed to embodiments of portable devices with touch-sensitive displays. FIG. 1A is a block diagram illustrating a portable multifunction device 100 having a touch-sensitive display system 112, according to some embodiments. Touch-sensitive display 112 may be conveniently referred to as a "touch screen" and may also be known or referred to as a "touch-sensitive display system." Device 100 includes memory 102 (optionally including one or more computer-readable storage media), memory controller 122, one or more processing units (CPUs) 120, peripherals interface 118, RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, input / output (I / O) subsystem 106, other input control devices 116, and external port 124. Device 100 optionally includes one or more optical sensors 164. Device 100 optionally includes one or more contact intensity sensors 165 that detect the intensity of a contact on device 100 (e.g., a touch-sensitive surface, such as touch-sensitive display system 112 of device 100). Device 100 optionally includes one or more tactile output generators 167 that generate tactile output on device 100 (e.g., generate tactile output on a touch-sensitive surface such as touch-sensitive display system 112 of device 100 or touchpad 355 of device 300). These components optionally communicate over one or more communication buses or signal lines 103.
[0057] As used herein and in the claims, the term “intensity” of a contact on a touch-sensitive surface refers to the force or pressure (force per unit area) of a contact (e.g., a finger contact) on the touch-sensitive surface, or a proxy for the force or pressure of a contact on the touch-sensitive surface. The intensity of a contact has a range of values including at least four distinct values, and more typically including hundreds (e.g., at least 256) distinct values. The intensity of a contact is optionally determined (or measured) using various techniques and various sensors or combinations of sensors. For example, one or more force sensors under or adjacent to the touch-sensitive surface are optionally used to measure the force 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 the contact. Similarly, a 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 change in the contact area detected on the touch-sensitive surface, the capacitance and / or change in the capacitance of the touch-sensitive surface proximate the contact, and / or the resistance and / or change in the capacitance of the touch-sensitive surface proximate the contact, are optionally used as a surrogate for the force or pressure of the contact on the touch-sensitive surface. In some implementations, the surrogate measure of the force or pressure of the contact is used directly to determine whether an intensity threshold is exceeded (e.g., the intensity threshold is described in units that correspond to the surrogate measure). In some implementations, the surrogate measure of the contact force or pressure is converted to an estimate of the force or pressure, and the estimate of the force or pressure is used to determine whether an intensity threshold is exceeded (e.g., the intensity threshold is a pressure threshold measured in units of pressure). Using the intensity of contact as an attribute of user input may enable a user to access additional device functionality (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 controls such as knobs or buttons) that may not otherwise be accessible on devices of reduced size that have limited real estate for displaying affordances.
[0058] As used herein and in the claims, the term "tactile output" refers to a physical displacement of a device relative to a previous position of the device, a physical displacement of a component of the device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., a housing), or a displacement of a component relative to the center of mass of the device, that will be detected by a user with the user's sense of touch. For example, in a situation where a device or a component of a device is in contact with a touch-sensitive surface of a user (e.g., the fingers, palm, or other part of a user's 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 a physical property of the device or a component of the device. For example, movement of a touch-sensitive surface (e.g., a touch-sensitive display or trackpad) is optionally interpreted by the user as a "down-click" or "up-click" of a physical actuator button. In some cases, a user feels a tactile sensation such as a "down-click" or "up-click" even when there is no movement of a physical actuator button associated with the touch-sensitive surface that is physically pressed (e.g., displaced) by the user's action. As another example, movement of a touch-sensitive surface is optionally interpreted or sensed by a user as "roughness" of the touch-sensitive surface, even when there is no change in the smoothness of the touch-sensitive surface. Such user interpretation of touch depends on the user's personal sensory perception, but there are many sensory perceptions of touch that are common to a majority of users. Thus, when a tactile output is described as corresponding to a particular sensory perception of a user (e.g., an "up click," a "down click," "roughness"), unless otherwise noted, the generated tactile output corresponds to a physical displacement of the device, or a component of the device, that produces the described sensory perception for a typical (or average) user.
[0059] It is understood that device 100 is only one example of a portable multifunction device, and that device 100 optionally has more or fewer components than those shown, optionally combines two or more components, or optionally has a different configuration or arrangement of its components. The various components shown in FIG. 1A may be 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.
[0060] 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. A memory controller 122 optionally controls access to memory 102 by other components of device 100.
[0061] The peripherals interface 118 may be used to couple input and output peripherals of the device to the CPU 120 and memory 102. The one or more processors 120 operate or execute various software programs and / or instruction sets stored in the memory 102 to perform various functions and process data for the device 100. In some embodiments, the peripherals interface 118, the CPU 120, and the memory controller 122 are optionally implemented on a single chip, such as the chip 104. In some other embodiments, they are optionally implemented on separate chips.
[0062] The radio frequency (RF) circuitry 108 transmits and receives RF signals, also referred to as electromagnetic signals. The RF circuitry 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 circuitry 108 optionally includes well-known circuits for performing these functions, including, but not limited to, an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a CODEC chipset, a subscriber identity module (SIM) card, memory, etc. The RF circuitry 108 optionally communicates with networks, such as the Internet, also referred to as the World Wide Web (WWW), an intranet, and / or wireless networks, such as cellular telephone networks, wireless local area networks (LANs) and / or metropolitan area networks (MANs), and with other devices, by wireless communication. RF circuitry 108 optionally includes well-known circuitry for detecting near field communication (NFC) fields, such as by short-range radios. Wireless communication optionally includes, but is not limited to, Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), high-speed downlink packet access (HSDPA), high-speed uplink packet access (HSUPA), Evolution, Data-Only (EV-DO), HSPA, HSPA+, Dual-Cell HSPA (DC-HSPA), long term evolution (EV-DO), and other related technologies.Wireless technology includes, but is not limited to, wireless technology such as wireless LAN, wireless technology such as wireless technology with a cellular network (WAN), wireless technology such as wireless technology with a cellular network (WAN-CDMA), wireless technology such as wireless technology with a cellular network (WAN-SWAN ... The present invention may use any of a number of communications standards, protocols, and technologies, including Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (XMPP), Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE), Instant Messaging and Presence Service (IMPS), and / or Short Message Service (SMS), or any other suitable communications protocol, including communications protocols not yet developed as of the filing date of this application.
[0063] The audio circuit 110, the speaker 111, and the microphone 113 provide an audio interface between a user and the device 100. The audio circuit 110 receives audio data from the peripherals interface 118, converts the audio data into an electrical signal, and transmits the electrical signal to the speaker 111. The speaker 111 converts the electrical signal into human audible sound waves. The audio circuit 110 also receives an electrical signal converted from the sound waves by the microphone 113. The audio circuit 110 converts the electrical signal into audio data, and transmits the audio data to the peripherals interface 118 for processing. The audio data is optionally retrieved from and / or transmitted to the memory 102 and / or the RF circuit 108 by the peripherals interface 118. In some embodiments, the audio circuit 110 also includes a headset jack (e.g., 212 in FIG. 2). The headset jack provides an interface between audio circuitry 110 and a detachable audio input / output peripheral such as an output-only headphone or a headset with both an output (e.g., one-ear or binaural headphones) and an input (e.g., a microphone).
[0064] The I / O subsystem 106 couples input / output peripherals on the device 100, such as the touch screen 112 and other input control devices 116, to a peripheral interface 118. The I / O subsystem 106 optionally includes a display controller 156, a light 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. The one or more input controllers 160 receive / send electrical signals from / to the other input control devices 116. The other input control devices 116 optionally include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slider switches, joysticks, click wheels, etc. In some alternative embodiments, the input controller(s) 160 are optionally coupled to any (or none) of a keyboard, an infrared port, a USB port, and a pointer device such as a mouse. The one or more buttons (e.g., 208 in FIG. 2) optionally include up / down buttons for volume control of speaker 111 and / or microphone 113. The one or more buttons optionally include a push button (e.g., 206 in FIG. 2).
[0065] A quick press of a push button optionally unlocks the touch screen 112 or optionally initiates a process of unlocking the device using a gesture on the touch screen, as described in U.S. Patent Application Serial No. 11 / 322,549, filed December 23, 2005, "Unlocking a Device by Performing Gestures on an Unlock Image," U.S. Patent No. 7,657,849, which is incorporated herein by reference in its entirety. A longer press of a push button (e.g., 206) optionally turns power on or off to the device 100. The functionality of one or more of the buttons is optionally customizable by the user. The touch screen 112 is used to implement virtual or soft buttons and one or more soft keyboards.
[0066] Touch-sensitive display 112 provides an input and output interface between the device and a user. Display controller 156 receives and / or transmits electrical signals from touchscreen 112. Touchscreen 112 displays visual output to the user. This visual output optionally includes graphics, text, icons, animation, and any combination thereof (collectively "graphics"). In some embodiments, some or all of the visual output optionally corresponds to user interface objects.
[0067] Touchscreen 112 has a touch-sensitive surface, sensor, or set of sensors that accepts input from a user based on haptic and / or tactile contact. Touchscreen 112 and display controller 156 (along with any associated modules and / or instruction sets in memory 102) detects contacts (and any movement or breaking of contact) on touchscreen 112 and translates the detected contacts into interactions with user interface objects (e.g., one or more soft keys, icons, web pages, or images) displayed on touchscreen 112. In an exemplary embodiment, the point of contact between touchscreen 112 and the user corresponds to the user's finger.
[0068] Touchscreen 112 optionally uses LCD (Liquid Crystal Display), LPD (Light Emitting Polymer Display), or LED (Light Emitting Diode) technology, although other display technologies are used in other embodiments. Touchscreen 112 and display controller 156 optionally detect contact and any movement or interruption thereof using any of a number of now known or later developed touch sensing technologies, including, but not limited to, capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements that determine one or more points of contact with touchscreen 112. In an exemplary embodiment, projected mutual capacitance sensing technology is used, such as that found in the iPhone® and iPod Touch® from Apple Inc. of Cupertino, Calif.
[0069] The touch-sensitive display in some embodiments of touchscreen 112 is optionally similar to a multi-touch-sensing touchpad as described in U.S. Patent Nos. 6,323,846 (Westerman et al.), 6,570,557 (Westerman et al.), and / or 6,677,932 (Westerman), and / or U.S. Patent Application Publication No. 2002 / 0015024 (A1), each of which is incorporated by reference in its entirety. However, whereas touchscreen 112 displays visual output from device 100, a touch-sensitive touchpad does not provide visual output.
[0070] The touch-sensitive display in some embodiments of the touch screen 112 is described in the following applications: (1) U.S. patent application Ser. No. 11 / 381,313, filed May 2, 2006, entitled "Multipoint Touch Surface Controller," (2) U.S. patent application Ser. No. 10 / 840,862, filed May 6, 2004, entitled "Multipoint Touchscreen," (3) U.S. patent application Ser. No. 10 / 903,964, filed July 30, 2004, entitled "Gestures For Touch Sensitive Input Devices," (4) U.S. patent application Ser. No. 11 / 048,264, filed January 31, 2005, entitled "Gestures For Touch Sensitive Input Devices," and (5) U.S. patent application Ser. No. 11 / 038,590, filed January 18, 2005, entitled "Mode-Based Graphical User Interfaces For Touch Sensitive Input No. 11 / 228,758, filed Sep. 16, 2005, entitled "Virtual Input Device Placement On A Touch Screen User Interface," (7) U.S. patent application Ser. No. 11 / 228,700, filed Sep. 16, 2005, entitled "Operation Of A Computer With A Touch Screen Interface," (8) U.S. patent application Ser. No. 11 / 228,737, filed Sep. 16, 2005, entitled "Activating Virtual Keys Of A Touch-Screen Virtual Keyboard," and (9) U.S. patent application Ser. No. 11 / 367,749, filed Mar. 3, 2006, entitled "Multi-Functional Hand-Held Device," all of which are incorporated herein by reference in their entirety.
[0071] Touchscreen 112 optionally has a video resolution of greater than 100 dpi. In some embodiments, the touchscreen has a video resolution of approximately 160 dpi. A user optionally contacts touchscreen 112 using any suitable object or appendage, such as a stylus, finger, etc. In some embodiments, the user interface is designed to operate primarily using finger-based contacts and gestures, which may not be as precise as stylus-based input due to the larger contact area of a finger on the touchscreen. In some embodiments, the device translates the rough finger input into precise pointer / cursor positions or commands to perform the actions desired by the user.
[0072] In some embodiments, in addition to a touchscreen, device 100 optionally includes a touchpad for activating or deactivating certain functions. In some embodiments, the touchpad is a touch-sensitive area of the device that, unlike the touchscreen, does not display visual output. The touchpad is optionally a touch-sensitive surface separate from touchscreen 112 or an extension of the touch-sensitive surface formed by the touchscreen.
[0073] Device 100 also includes a power system 162 that provides power to the various components. Power system 162 optionally includes a power management system, one or more power sources (e.g., batteries, alternating current (AC)), a recharging system, power failure detection circuitry, power converters or inverters, power status indicators (e.g., light emitting diodes (LEDs)), and any other components associated with the generation, management, and distribution of power within a portable device.
[0074] Device 100 also optionally includes one or more light sensors 164. FIG. 1A shows a light sensor coupled to light sensor controller 158 in I / O subsystem 106. Light sensor 164 optionally includes a charge-coupled device (CCD) or a complementary metal-oxide semiconductor (CMOS) phototransistor. Light sensor 164 receives light from the environment projected through one or more lenses and converts the light into data representing an image. Light sensor 164 optionally works in conjunction with imaging module 143 (also called a camera module) to capture still or video images. In some embodiments, the light sensor is located on the back side of device 100 opposite touchscreen display 112 on the front side of the device, so that the touchscreen display can be used as a viewfinder for still and / or video capture. In some embodiments, the light sensor is located on the front side of the device such that an image of the user is optionally obtained for a video conference while the user views other video conference participants on the touchscreen display. In some embodiments, the position of the light sensor 164 can be changed by the user (e.g., by rotating the lens and sensor within the device housing), such that a single light sensor 164 is used for both video conferencing and still image and / or video capture, in conjunction with a touchscreen display.
[0075] Device 100 also optionally includes one or more depth camera sensors 175. FIG. 1A shows a depth camera sensor coupled to depth camera controller 169 in I / O subsystem 106. Depth camera sensor 175 receives data from the environment to create a three-dimensional model of an object (e.g., a face) in a scene from a viewpoint (e.g., the depth camera sensor). In some embodiments, in cooperation with imaging module 143 (also called camera module), depth camera sensor 175 is optionally used to determine a depth map of different parts of an image captured by imaging module 143. In some embodiments, a depth camera sensor is disposed on the front of device 100 to obtain an image of a user with depth information for a video conference and to capture a selfie image with depth map data while the user views other video conference participants on a touch screen display. In some embodiments, depth camera sensor 175 is disposed on the back of the device, or on the back and front of device 100. In some embodiments, the position of the depth camera sensor 175 can be changed by the user (e.g., by rotating the lens and sensor within the device housing) such that the depth camera sensor 175 is used for both video conferencing and still image and / or video capture in conjunction with a touchscreen display.
[0076] Device 100 also optionally includes one or more contact intensity sensors 165. FIG. 1A shows a contact intensity sensor coupled to intensity sensor controller 159 in I / O subsystem 106. Contact intensity sensor 165 optionally includes one or more piezoresistive strain gauges, capacitive force sensors, electrical force sensors, piezoelectric force sensors, optical force sensors, capacitive touch-sensitive surfaces, or other intensity sensors (e.g., sensors used to measure the force (or pressure) of a contact on a touch-sensitive surface). 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 juxtaposed with or proximate to a touch-sensitive surface (e.g., touch-sensitive display system 112). In some embodiments, at least one contact intensity sensor is located on the back of device 100, opposite touchscreen display 112 located on the front of device 100.
[0077] Device 100 also optionally includes one or more proximity sensors 166. Figure 1A shows proximity sensor 166 coupled to peripherals interface 118. Alternatively, proximity sensor 166 is optionally coupled to an input controller 160 within I / O subsystem 106. The proximity sensor 166 optionally functions as described in U.S. patent application Ser. No. 11 / 241,839, "Proximity Detector In Handheld Device," Ser. No. 11 / 240,788, "Proximity Detector In Handheld Device," Ser. No. 11 / 620,702, "Using Ambient Light Sensor To Augment Proximity Sensor Output," Ser. No. 11 / 586,862, "Automated Response To And Sensing Of User Activity In Portable Devices," and Ser. No. 11 / 638,251, "Methods And Systems For Automatic Configuration Of Peripherals," all of which are incorporated herein by reference in their entireties. In some embodiments, the proximity sensor turns off and disables the touchscreen 112 when the multifunction device is placed near the user's ear (e.g., when the user is making a phone call).
[0078] Device 100 also optionally includes one or more tactile output generators 167. FIG. 1A shows a tactile output generator coupled to haptic feedback controller 161 in I / O subsystem 106. Tactile output generator 167 optionally includes one or more electroacoustic devices, such as speakers or other audio components, and / or electromechanical devices that convert energy into linear motion, such as motors, solenoids, electroactive polymers, piezoelectric actuators, electrostatic actuators, or other tactile output generating components (e.g., components that convert electrical signals into tactile output on the device). Contact intensity sensor 165 receives tactile feedback generation commands from haptic feedback module 133 and generates a tactile output on device 100 that can be sensed by a user of device 100. In some embodiments, at least one tactile output generator is juxtaposed with or proximate to a touch-sensitive surface (e.g., touch-sensitive display system 112) and generates a tactile output, optionally by moving the touch-sensitive surface vertically (e.g., in / out of the surface of device 100) or horizontally (e.g., back and forth in the same plane as the surface of device 100). In some embodiments, the at least one tactile output generator sensor is located on the back of device 100, opposite touchscreen display 112, which is located on the front of device 100.
[0079] Device 100 also optionally includes one or more accelerometers 168. FIG. 1A shows accelerometer 168 coupled to peripherals interface 118. Alternatively, accelerometer 168 is optionally coupled to input controller 160 in I / O subsystem 106. Accelerometer 168 optionally functions as described in U.S. Patent Application Publication No. 20050190059, “Acceleration-based Theft Detection System for Portable Electronic Devices,” and U.S. Patent Application 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 entireties. In some embodiments, information is displayed on the touchscreen display in portrait or landscape orientation based on an analysis of data received from the one or more accelerometers. In addition to accelerometer(s) 168, device 100 optionally includes a magnetometer and a GPS (or GLONASS or other global navigation system) receiver for obtaining information regarding the position and orientation (e.g., vertical or horizontal) of device 100.
[0080] In some embodiments, the software components stored in memory 102 include an operating system 126, a communication module (or instruction set) 128, a touch / 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 applications (or instruction sets) 136. Additionally, in some embodiments, memory 102 (FIG. 1A) or 370 (FIG. 3) stores device / global internal state 157, as shown in FIGS. 1A and 3. Device / global internal state 157 includes one or more of an active application state indicating which applications, if any, are currently active, a display state indicating which applications, views, or other information are occupying various regions of touchscreen display 112, a sensor state including information obtained from the device's various sensors and input control devices 116, and location information regarding the location and / or orientation of the device.
[0081] Operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, iOS, WINDOWS, or an embedded operating system such as VxWorks) includes various software components and / or drivers that control and manage general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitate communication between various hardware and software components.
[0082] Communications module 128 also includes various software components for facilitating communication with other devices via one or more external ports 124 and for processing data received by RF circuitry 108 and / or external port 124. External port 124 (e.g., Universal Serial Bus (USB), FIREWIRE®, etc.) is adapted to couple to other devices directly or indirectly via a network (e.g., Internet, wireless LAN, etc.). In some embodiments, the external port is a multi-pin (e.g., 30-pin) connector that is the same as or similar to and / or compatible with the 30-pin connector used on iPod (trademark of Apple Inc.) devices.
[0083] Contact / motion module 130, optionally in conjunction with display controller 156, detects contact with touch screen 112 and other touch-sensing devices (e.g., a touchpad or a physical click wheel). Contact / motion module 130 includes various software components for performing various operations related to detecting contact, such as determining whether contact has occurred (e.g., detecting a finger-down event), determining the strength of the contact (e.g., the force or pressure of the contact, or a surrogate for the force or pressure of the contact), determining whether there is movement of the contact and tracking the movement across the touch-sensitive surface (e.g., detecting one or more finger-dragging events), and determining whether the contact has stopped (e.g., detecting a finger-up event or an interruption of the contact). Contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of the contact, as represented by the 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. These actions are, optionally, applied to a single contact (e.g., one finger contact) or multiple simultaneous contacts (e.g., "multi-touch" / multiple finger contacts). In some embodiments, contact / motion module 130 and display controller 156 detect contacts on a touchpad.
[0084] In some embodiments, the contact / motion module 130 uses a set of one or more intensity thresholds to determine whether an action has been performed by a user (e.g., to determine whether a user has “clicked” on an icon). In some embodiments, at least a subset of the intensity thresholds are determined according to software parameters (e.g., the intensity thresholds are not determined by the activation thresholds of a particular physical actuator, but can be adjusted without modifying the physical hardware of the device 100). For example, the mouse “click” threshold of a trackpad or touchscreen display can be set to any of a wide range of predefined thresholds without modifying the trackpad or touchscreen display hardware. Additionally, in some implementations, a user of the device is provided with a software setting to adjust one or more of the sets of intensity thresholds (e.g., by adjusting individual intensity thresholds and / or by adjusting multiple intensity thresholds at once via a system-level click “intensity” parameter).
[0085] Contact / motion module 130 optionally detects gesture input by a user. Different gestures on a touch-sensitive surface have different contact patterns (e.g., different movements, timing, and / or strength of detected contacts). Thus, gestures are optionally detected by detecting a particular contact pattern. For example, detecting a finger tap gesture includes detecting a finger down event, followed by detecting a finger up (lift off) event at the same location (or substantially the same location) as the finger down event (e.g., at the location of an icon). As another example, detecting a finger swipe gesture on the touch-sensitive surface includes detecting a finger down event, followed by one or more finger drag events, followed by detecting a finger up (lift off) event.
[0086] Graphics module 132 includes various known software components that render and display graphics on touchscreen 112 or other display, including components that vary the visual impact (e.g., brightness, transparency, saturation, contrast, or other visual characteristics) of the displayed graphics. As used herein, the term "graphics" includes any object that can be displayed to a user, including, but not limited to, characters, web pages, icons (such as user interface objects including soft keys), digital images, video, animations, and the like.
[0087] In some embodiments, graphics module 132 stores data representing the graphics to be used. Each graphic is, optionally, assigned a corresponding code. Graphics module 132 receives one or more codes specifying the graphics to be displayed, including, as appropriate, coordinate data and other graphic characteristic data, from an application or the like, and then generates screen image data for output to display controller 156.
[0088] The tactile feedback module 133 includes various software components for generating instructions used by the tactile output generator 167 to generate tactile outputs at one or more locations on the device 100 in response to a user's interaction with the device 100.
[0089] Text input module 134 is optionally a component of 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 application requiring text input).
[0090] The GPS module 135 determines the location of the device and provides this information for use within various applications (e.g., to the phone 138 for use in location-based dialing, to the camera 143 as picture / video metadata, and to applications that provide location-based services such as a weather widget, a local yellow pages widget, and a maps / navigation widget).
[0091] Application 136 optionally includes the following modules (or sets of instructions), or a subset or superset thereof: ● a contacts module 137 (sometimes called an address book or contact list); ● Telephone module 138, ● Videoconferencing module 139; ● an email client module 140; ● Instant messaging (IM) module 141; ● Training support module 142; ● a 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, ● a widget module 149, optionally including one or more of a weather widget 149-1, a stock price widget 149-2, a calculator widget 149-3, an alarm clock widget 149-4, a dictionary widget 149-5, and other widgets obtained by the user, as well as user-created widgets 149-6; ● a widget creator module 150 for creating user-created widgets 149-6; ● Search module 151, A video and music player module 152 that combines a video player module and a music player module; ● Memo module 153, Map module 154, and / or ● Online video module 155.
[0092] Examples of other applications 136 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, voice recognition, and voice duplication.
[0093] In conjunction with the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134, the contacts module 137 is used to manage an address book or contact list (e.g., stored in the application internal state 192 of the contacts module 137 in the memory 102 or memory 370), including, optionally, adding a name(s) to the address book, deleting a name(s) from the address book, associating phone number(s), email address(es), address(es), or other information with a name, associating a picture with a name, categorizing and sorting names, providing phone numbers or email addresses to initiate and / or facilitate communication by phone 138, videoconferencing module 139, email 140, or IM 141, and the like.
[0094] Telephone module 138, in conjunction with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, is optionally used to enter character sequences corresponding to telephone numbers, access one or more telephone numbers in contacts module 137, modify entered telephone numbers, dial respective telephone numbers, place calls, and disconnect and hang up when calls are completed. As previously mentioned, wireless communication optionally uses any of a number of communication standards, protocols, and technologies.
[0095] Video conferencing module 139 includes executable instructions to cooperate with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch screen 112, display controller 156, light sensor 164, light sensor controller 158, contact / motion module 130, graphics module 132, text input module 134, contact module 137, and telephone module 138 to initiate, conduct, and end a video conference between a user and one or more other participants in accordance with instructions from the user.
[0096] The email client module 140, in conjunction with the RF circuitry 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134, contains executable instructions for composing, sending, receiving, and managing emails in response to user instructions. In conjunction with the image management module 144, the email client module 140 greatly facilitates the creation and sending of emails with still or video images captured by the camera module 143.
[0097] Instant messaging module 141 includes executable instructions in cooperation with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134 for entering character sequences corresponding to instant messages, modifying previously entered characters, sending respective instant messages (e.g., using Short Message Service (SMS) or Multimedia Message Service (MMS) protocols for telephony-based instant messaging, or XMPP, SIMPLE, or IMPS for Internet-based instant messaging), receiving instant messages, and viewing received instant messages. In some embodiments, sent and / or received instant messages optionally include graphics, photos, audio files, video files, and / or other attachments as supported by MMS and / or Enhanced Messaging Service (EMS). As used herein, "instant messaging" refers to both telephony-based messages (e.g., messages sent using SMS or MMS) and Internet-based messages (e.g., messages sent using XMPP, SIMPLE, or IMPS).
[0098] The training support module 142 includes executable instructions to cooperate with the RF circuitry 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, the text input module 134, the GPS module 135, the map module 154, and the music player module to create workouts (e.g., having time, distance, and / or calorie burn goals), communicate with training sensors (sports devices), receive training sensor data, calibrate sensors used to monitor the workouts, select and play music for the workouts, and display, store, and transmit the workout data.
[0099] Camera module 143, in conjunction with touch screen 112, display controller 156, light sensor 164, light sensor controller 158, contact / motion module 130, graphics module 132, and image management module 144, contains executable instructions for capturing and storing still images or video (including video streams) in memory 102, modifying characteristics of a still image or video, or deleting a still image or video from memory 102.
[0100] Image management module 144, in conjunction with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, and camera module 143, contains executable instructions for arranging, modifying (e.g., editing), or otherwise manipulating, labeling, deleting, presenting (e.g., in a digital slide show or album), and storing still and / or video images.
[0101] Browser module 147, in conjunction with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, contains executable instructions for browsing the Internet in accordance with a user's instructions, including retrieving, linking to, receiving, and displaying web pages or portions thereof, as well as attachments and other files linked to web pages.
[0102] The calendar module 148 includes executable instructions to cooperate with the RF circuitry 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, the text input module 134, the email client module 140, and the browser module 147 to create, display, modify, and store calendars and data associated with the calendars (e.g., calendar items, to-do lists, etc.) according to user instructions.
[0103] Widget module 149, in conjunction with RF circuitry 108, touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, and browser module 147, optionally provides mini-applications (e.g., weather widget 149-1, stock price widget 149-2, calculator widget 149-3, alarm clock widget 149-4, and dictionary widget 149-5) downloaded and used by a user, or mini-applications (e.g., user-created widget 149-6) created by a user. In some embodiments, a widget includes a Hypertext Markup Language (HTML) file, a Cascading Style Sheets (CSS) file, and a JavaScript file. In some embodiments, a widget includes an Extensible Markup Language (XML) file and a JavaScript file (e.g., Yahoo! Widgets).
[0104] The widget creator module 150, in conjunction with the RF circuitry 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, the text input module 134, and the browser module 147, is optionally used by a user to create a widget (e.g., turn a user-specified portion of a web page into a widget).
[0105] The search module 151 includes executable instructions for operating in conjunction with the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134 to search for text, music, sound, images, video, and / or other files in the memory 102 that match one or more search criteria (e.g., one or more user-specified search terms) in accordance with a user's instructions.
[0106] Video and music player module 152 includes executable instructions that cooperate with touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, and browser module 147 to enable a user to download and play pre-recorded music and other sound files stored in one or more file formats, such as MP3 or AAC files, as well as executable instructions for displaying, presenting, or otherwise playing videos (e.g., on touchscreen 112 or on an external display connected via external port 124). In some embodiments, device 100 optionally includes the functionality of an MP3 player, such as an iPod (a trademark of Apple Inc.).
[0107] The notes module 153 includes executable instructions for cooperating with the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134 to create and manage notes, to-do lists, and the like as directed by a user.
[0108] Map module 154, in conjunction with RF circuitry 108, touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, GPS module 135, and browser module 147, is used to receive, display, modify, and store maps and data associated with the maps (e.g., driving directions, data regarding businesses and other points of interest at or near a particular location, and other location-based data), optionally in accordance with a user's instructions.
[0109] Online video module 155, in conjunction with touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, text input module 134, email client module 140, and browser module 147, includes instructions that enable a user to access, browse for, receive (e.g., by streaming and / or downloading), and play (e.g., on the touchscreen or on an external display connected via external port 124) particular online videos, send emails with links to particular online videos, and otherwise manage online videos in one or more file formats, such as H.264. In some embodiments, instant messaging module 141 is used to send links to particular online videos, rather than email client module 140. For additional description of online video applications, see U.S. Provisional Patent Application No. 60 / 936,562, entitled "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, entitled "Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos," filed December 31, 2007, the contents of which are incorporated herein by reference in their entireties.
[0110] The above-identified modules and applications each correspond to a set of executable instructions that perform one or more of the functions previously described and methods described herein (e.g., the computer-implemented methods and other information processing methods described herein). These modules (e.g., sets of instructions) need not be implemented as separate software programs, procedures, or modules, and thus, in various embodiments, various subsets of these modules are optionally combined or otherwise reconfigured. For example, a video player module is optionally combined with a music player module into a single module (e.g., video and music player module 152 of FIG. 1A). In some embodiments, memory 102 optionally stores a subset of the above-identified modules and data structures. Additionally, memory 102 optionally stores additional modules and data structures not described above.
[0111] In some embodiments, device 100 is a device in which operation of a predefined set of functions on the device is performed exclusively via a touchscreen and / or touchpad. Using the touchscreen and / or touchpad as the primary input control device for operation of device 100 optionally reduces the number of physical input control devices (push buttons, dials, etc.) on device 100.
[0112] The set of predefined functions performed only through the touchscreen and / or touchpad optionally includes navigation between user interfaces. In some embodiments, the touchpad, when touched by a user, navigates device 100 to a main menu, a home menu, or a root menu from any user interface displayed on device 100. 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.
[0113] 1B is a block diagram illustrating example components for event processing, according to some embodiments. In some embodiments, memory 102 (FIG. 1A) or 370 (FIG. 3) includes event sorter 170 (e.g., within operating system 126) and a respective application 136-1 (e.g., any of applications 137-151, 155, 380-390 discussed above).
[0114] Event sorter 170 receives the event information and determines which application 136-1 to deliver the event information to and application view 191 of application 136-1. Event sorter 170 includes an event monitor 171 and an event dispatcher module 174. In some embodiments, application 136-1 includes application internal state 192 that indicates the current application view that is displayed on touch-sensitive display 112 when the application is active or running. In some embodiments, device / global internal state 157 is used by event sorter 170 to determine which application(s) is currently active, and application internal state 192 is used by event sorter 170 to determine which application view 191 to deliver the event information to.
[0115] In some embodiments, application internal state 192 includes additional information such as one or more of resume information to be used when application 136-1 resumes execution, user interface state information indicating or ready to display information being displayed by application 136-1, state cues that allow a user to return to a previous state or view of application 136-1, and redo / undo cues of previous actions taken by the user.
[0116] Event monitor 171 receives event information from peripherals interface 118. The event information includes information about a sub-event (e.g., a user touch as part of a multi-touch gesture on touch-sensitive display 112). Peripherals interface 118 transmits information it receives from I / O subsystem 106 or sensors such as proximity sensor 166, accelerometer(s) 168, and / or microphone 113 (via audio circuitry 110). Information that peripherals interface 118 receives from I / O subsystem 106 includes information from touch-sensitive display 112 or a touch-sensitive surface.
[0117] In some embodiments, event monitor 171 sends requests to peripherals interface 118 at predetermined intervals. In response, peripherals interface 118 transmits event information. In other embodiments, peripherals interface 118 transmits event information only when there is a significant event (e.g., receipt of an input above a predetermined noise threshold and / or for a predetermined duration).
[0118] In some embodiments, event sorter 170 also includes a hit view determination module 172 and / or an active event recognizer determination module 173.
[0119] Hit view determination module 172 provides software procedures that determine where a sub-event occurred within one or more views when touch-sensitive display 112 displays more than one view. A view consists of the controls and other elements that a user can see on the display.
[0120] Another aspect of a user interface associated with an application is the 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 the respective application) in which the touch is detected optionally corresponds to a programmatic level within the programmatic or view hierarchy of the application. For example, the lowest level view in which the touch is detected is optionally referred to as a hit view, and the set of events that are recognized as suitable inputs is optionally determined based at least in part on the hit view of the initial touch that initiates the touch gesture.
[0121] Hit view determination module 172 receives information related to sub-events of a touch-based gesture. When an application has multiple views organized in a hierarchical manner, hit view determination module 172 identifies the hit view as the lowest view in the hierarchy that should process the sub-events. In most situations, the hit view is the lowest level view in which an initiating sub-event occurs (e.g., the first sub-event in a sub-event sequence that forms an event or potential event). Once a hit view is identified by hit view determination module 172, the hit view typically receives all sub-events related to the same touch or input source as the touch or input source identified as the hit view.
[0122] Active event recognizer determination module 173 determines which view(s) in the view hierarchy should receive the particular sequence of sub-events. In some embodiments, active event recognizer determination module 173 determines that only the hit view should receive the particular sequence of sub-events. In other embodiments, active event recognizer determination module 173 determines that all views that contain the physical location of the sub-event are actively participating views, and therefore all actively participating views should receive the particular sequence of sub-events. In other embodiments, even if the touch sub-event is completely confined to the area associated with one particular view, views higher in the hierarchy still remain actively participating views.
[0123] Event dispatcher module 174 dispatches the event information to event recognizers (e.g., event recognizer 180). In embodiments that include active event recognizer determination module 173, event dispatcher module 174 delivers the event information to the event recognizers determined by active event recognizer determination module 173. In some embodiments, event dispatcher module 174 stores event information obtained by each event receiver 182 in an event queue.
[0124] In some embodiments, operating system 126 includes event sorter 170. Alternatively, application 136-1 includes event sorter 170. In yet other embodiments, event sorter 170 is a stand-alone module or is part of another module stored in memory 102, such as contact / motion module 130.
[0125] In some embodiments, application 136-1 includes multiple event handlers 190 and one or more application views 191, each including instructions for handling touch events that occur within a respective view of the application's user interface. Each application view 191 of application 136-1 includes one or more event recognizers 180. Typically, each application view 191 includes multiple event recognizers 180. In other embodiments, one or more of event recognizers 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 handler 190 includes one or more of data updaters 176, object updaters 177, GUI updaters 178, and / or event data 179 received from event sorter 170. Event handlers 190 optionally utilize or call data updaters 176, object updaters 177, or GUI updaters 178 to update application internal state 192. Alternatively, one or more of the application views 191 include one or more respective event handlers 190. Also, in some embodiments, one or more of the data updater 176, the object updater 177, and the GUI updater 178 are included in each application view 191.
[0126] Each event recognizer 180 receives event information (e.g., event data 179) from event sorter 170 and identifies an event from the event information. Event recognizer 180 includes an event receiver 182 and an event comparator 184. In some embodiments, event recognizer 180 also includes at least a subset of metadata 183 and event delivery instructions 188 (optionally including sub-event delivery instructions).
[0127] Event receiver 182 receives event information from event sorter 170. The event information includes information about a sub-event, e.g., a touch or a movement of a touch. Depending on the sub-event, the event information also includes additional information, such as the location of the sub-event. When the sub-event involves a movement of a touch, the event information also optionally includes the speed and direction of the sub-event. In some embodiments, the event includes a rotation of the device from one orientation to another (e.g., from portrait to landscape or vice versa), and the event information includes corresponding information about the current orientation of the device (also referred to as the device's attitude).
[0128] The event comparator 184 compares the event information to predefined event or sub-event definitions and determines the event or sub-event or determines or updates the state of the event or sub-event based on the comparison. In some embodiments, the event comparator 184 includes an event definition 186. The event definition 186 includes definitions of events (e.g., a sequence of predefined sub-events), such as event 1 (187-1) and event 2 (187-2). In some embodiments, sub-events in an event (187) include, for example, touch start, touch end, touch move, touch cancel, and multiple touches. In one example, the definition for event 1 (187-1) is a double tap on a displayed object. The double tap includes, for example, a first touch on a displayed object for a given phase (touch start), a first lift off (touch end) for a given phase, a second touch on a displayed object for a given phase (touch start), and a second lift off (touch end) for a given phase. In another example, a definition of event 2 (187-2) is a drag on a displayed object. A drag includes, for example, a touch (or contact) on a displayed object to a predetermined stage, a movement of the touch across the touch-sensitive display 112, and a lift-off of the touch (end of the touch). In some embodiments, the event also includes information regarding one or more associated event handlers 190.
[0129] In some embodiments, event definition 187 includes a definition of the event for each user interface object. In some embodiments, event comparator 184 performs a hit test to determine which user interface object is associated with the sub-event. For example, when a touch is detected on touch-sensitive display 112 in an application view in which three user interface objects are displayed on touch-sensitive display 112, event comparator 184 performs a hit test to determine which of the three user interface objects is associated with the touch (sub-event). If each displayed object is associated with a respective event handler 190, event comparator 184 uses the results of the hit test to determine which event handler 190 to activate. For example, event comparator 184 selects the event handler associated with the sub-event and object that triggers the hit test.
[0130] In some embodiments, each event 187 definition also includes a delay action that delays transmission of the event information until it is determined whether the sequence of sub-events corresponds to the event type of the event recognizer.
[0131] If the respective event recognizer 180 determines that the sequence of sub-events does not match any of the events in the event definition 186, the respective event recognizer 180 enters an event disabled, event failed, or event finished state and thereafter ignores the next sub-event of the touch-based gesture. In this situation, any other event recognizers that remain active for the hit view continue to track and process sub-events of the ongoing touch gesture.
[0132] In some embodiments, each event recognizer 180 includes metadata 183 with configurable properties, flags, and / or lists that indicate to actively participating event recognizers how the event delivery system should perform sub-event delivery. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate how event recognizers interact with each other or are enabled to interact with each other. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate how sub-events are delivered to various levels in a view or programmatic hierarchy.
[0133] In some embodiments, each event recognizer 180 activates an event handler 190 associated with an event when one or more particular sub-events of the event are recognized. In some embodiments, each event recognizer 180 delivers event information associated with the event to the event handler 190. Activating the event handler 190 is separate from sending (and postponing sending) the sub-events to the respective hit view. In some embodiments, the event recognizer 180 pops a flag associated with the recognized event, and the event handler 190 associated with the flag catches the flag and performs a predefined process.
[0134] In some embodiments, the event delivery instructions 188 include sub-event delivery instructions that deliver event information about a sub-event without activating an event handler. Instead, the sub-event delivery instructions deliver the event information to an event handler associated with a set of sub-events or to an actively participating view. The event handler associated with the set of sub-events or the actively participating view receives the event information and performs a predetermined process.
[0135] In some embodiments, data updater 176 creates and updates data used by application 136-1. For example, data updater 176 updates phone numbers used by contacts module 137 or stores video files used by a video player module. In some embodiments, object updater 177 creates and updates objects used by application 136-1. For example, object updater 177 creates new user interface objects or updates the positions of user interface objects. GUI updater 178 updates the GUI. For example, GUI updater 178 prepares display information and sends the display information to graphics module 132 for display on the touch-sensitive display.
[0136] In some embodiments, event handler(s) 190 includes or has access to data updater 176, object updater 177, and GUI updater 178. In some embodiments, data updater 176, object updater 177, and GUI updater 178 are included in a single module of a respective application 136-1 or application view 191. In other embodiments, they are included in two or more software modules.
[0137] It should be understood that the foregoing description of event processing of a user's touch on a touch-sensitive display also applies to other forms of user input for operating multifunction device 100 using input devices, not all of which are initiated on a touch screen. For example, mouse movements and mouse button presses, contact movements such as tapping, dragging, scrolling on a touchpad, optionally coordinated with single or multiple presses or holds of a keyboard, pen stylus input, device movement, verbal commands, detected eye movements, biometric input, and / or any combination thereof, are optionally utilized as inputs corresponding to sub-events that define the event to be recognized.
[0138] FIG. 2 illustrates portable multifunction device 100 having touch screen 112, according to some embodiments. The touch screen optionally displays one or more graphics in user interface (UI) 200. In this embodiment, as well as other embodiments described below, a user may select one or more of the graphics by performing a gesture on the graphics, for example, using one or more fingers 202 (not drawn to scale) or one or more styluses 203 (not drawn to scale). In some embodiments, selection of one or more graphics is performed when the user breaks contact with the one or more graphics. In some embodiments, the gesture optionally includes one or more taps, one or more swipes (left to right, right to left, upwards and / or downwards), and / or rolling (right to left, left to right, upwards and / or downwards) of a finger in contact with device 100. In some implementations or situations, accidental contact with a graphic does not select the graphic, for example, a swipe gesture sweeping over an application icon optionally does not select the corresponding application when the gesture corresponding to selection is a tap.
[0139] Device 100 also optionally includes one or more physical buttons, such as a “home” button or menu button 204. As previously mentioned, menu button 204 is optionally used to navigate to any application 136 within a set of applications executing on device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key within a GUI displayed on touch screen 112.
[0140] In some embodiments, device 100 includes touch screen 112, menu button 204, push button 206 for powering the device on / off and locking the device, volume control button 208, subscriber identity module (SIM) card slot 210, headset jack 212, and external port 124 for docking / charging. Push button 206 is optionally used to power the device on / off by pressing and holding the button down for a predefined period of time, to lock the device by pressing and releasing the button before the predefined time has elapsed, and / or to unlock the device or initiate an unlocking process. In an alternative embodiment, device 100 also accepts verbal input via microphone 113 to activate or deactivate some functions. Device 100 also optionally includes one or more contact intensity sensors 165 for detecting the intensity of a contact on touch screen 112 and / or one or more tactile output generators 167 for generating a tactile output to a user of device 100.
[0141] FIG. 3 is a block diagram of an exemplary multifunction device having a display and a touch-sensitive surface, according to some embodiments. Device 300 need not be portable. In some embodiments, 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 child's learning toy), a gaming system, or a control device (e.g., a home or commercial controller). 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. Communication bus 320 optionally includes circuitry (sometimes referred to as a chipset) that interconnects and controls communication between system components. Device 300 includes input / output (I / O) interface 330, including display 340, which is typically a touchscreen display. 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 (e.g., similar to tactile output generator 167 described above with reference to FIG. 1A) for generating tactile output on device 300, and sensors 359 (e.g., light, acceleration, proximity, touch sensing, and / or contact intensity sensors similar to contact intensity sensor 165 described above with reference to FIG. 1A). 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. Memory 370 optionally includes one or more storage devices located remotely from CPU(s) 310.In some embodiments, memory 370 stores programs, modules, and data structures similar to, or a subset of, programs, modules, and data structures stored in memory 102 of portable multifunction device 100 (FIG. 1A). Additionally, memory 370 optionally stores additional programs, modules, and data structures not present in memory 102 of portable multifunction device 100. For example, memory 370 of device 300 optionally stores drawing module 380, presentation module 382, word processing module 384, website creation module 386, disk authoring module 388, and / or spreadsheet module 390, whereas memory 102 of portable multifunction device 100 (FIG. 1A) optionally does not store these modules.
[0142] Each of the above-identified elements of FIG. 3 is optionally stored in one or more of the memory devices mentioned above. Each of the above-identified modules corresponds to an instruction set that performs the functions described above. The above-identified modules or programs (e.g., instruction sets) need not be implemented as separate software programs, procedures, or modules, and thus 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 above-identified modules and data structures. Additionally, memory 370 optionally stores additional modules and data structures not described above.
[0143] Attention is now optionally directed to embodiments of user interfaces implemented, for example, on portable multifunction device 100.
[0144] 4A shows an exemplary user interface for a menu of applications on portable multifunction device 100, according to some embodiments. A similar user interface is optionally implemented on device 300. In some embodiments, user interface 400 includes the following elements, or a subset or superset thereof: ● signal strength indicator(s) 402 for wireless communication(s), such as cellular and Wi-Fi signals; ● Time 404, ● Bluetooth indicator 405, ● a battery status indicator 406; ● Tray 408 with icons of frequently used applications, such as: o An icon 416 for the phone module 138, labeled "Phone", optionally including an indicator 414 of the number of missed calls or voicemail messages; o An icon 418 of the email client module 140, labeled "Mail", optionally including an indicator 410 of the number of unread emails; ○ An icon 420 for the Browser module 147, labeled "Browser"; and o An icon 422 for the video and music player module 152, also called the iPod (trademark of Apple Inc.) module 152, labeled "iPod"; and ● Icons of other applications, such as: ○ Icon 424 of IM module 141, labeled "Messages"; ○ Icon 426 of the calendar module 148, labeled "Calendar", ○ Icon 428 of the image management module 144, labeled "Photos"; ○ An icon 430 of the camera module 143, labeled "camera"; ○ Icon 432 of the Online Video module 155, labeled "Online Video"; icon 434 for stocks widget 149-2 labeled "Stocks"; ○ Icon 436 of map module 154, labeled "Map"; ○ Icon 438 for weather widget 149-1 labeled "Weather", ○ Icon 440 for alarm clock widget 149-4 labeled "Clock", ○ Icon 442 of Training Support Module 142, labeled "Training Support"; ○ An icon 444 of the Notes module 153, labeled "Notes"; and o A settings application or module icon 446 labeled “Settings,” which provides access to settings for the device 100 and its various applications 136 .
[0145] Note that the icon labels shown in FIG. 4A are merely exemplary. For example, icon 422 of video and music player module 152 is labeled "Music" or "Music Player." Other labels are optionally used for the various application icons. In some embodiments, the label for each application icon includes the name of the application that corresponds to the respective application icon. In some embodiments, the label of a particular application icon is different from the name of the application that corresponds to that particular application icon.
[0146] 4B shows an example user interface on a device (e.g., device 300 of FIG. 3) that has a touch-sensitive surface 451 (e.g., tablet or touchpad 355 of FIG. 3) that is separate from 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) that detect the intensity of a contact on touch-sensitive surface 451 and / or one or more tactile output generators 357 that generate a tactile output to a user of device 300.
[0147] Although some of the following examples are given with reference to input on touch screen display 112 (wherein the touch-sensitive surface and display are combined), in some embodiments the device detects input on a touch-sensitive surface that is separate from the display, as shown in FIG. 4B. In some embodiments, the touch-sensitive surface (e.g., 451 in FIG. 4B) has a primary axis (e.g., 452 in FIG. 4B) that corresponds to a primary axis (e.g., 453 in FIG. 4B) on the display (e.g., 450). According to these embodiments, the device detects contact with touch-sensitive surface 451 (e.g., 460 and 462 in FIG. 4B) at locations that correspond to respective locations on the display (e.g., in FIG. 4B, 460 corresponds to 468 and 462 corresponds to 470). In this manner, user input (e.g., contacts 460 and 462 and their movement) detected by the device on the touch-sensitive surface (e.g., 451 in FIG. 4B) is used by the device to operate a user interface on the display (e.g., 450 in FIG. 4B) of the multifunction device when the touch-sensitive surface is separate from the display. It is to be understood that similar methods are optionally used for the other user interfaces described herein.
[0148] In addition, while the following examples are given primarily with reference to finger input (e.g., finger contact, finger tap gesture, finger swipe gesture), it should be understood that in some embodiments, one or more of the finger inputs are replaced with input from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture is optionally replaced by a mouse click (e.g., instead of a contact) followed by movement of a cursor along the path of the swipe (e.g., instead of moving the contact). As another example, a tap gesture is optionally replaced by a mouse click (e.g., instead of detecting a contact and then stopping detection of the contact) while the cursor is located over the location of the tap gesture. Similarly, it should be understood that when multiple user inputs are detected simultaneously, multiple computer mice are optionally used simultaneously, or mice and finger contacts are optionally used simultaneously.
[0149] FIG. 5A illustrates an exemplary personal electronic device 500. Device 500 includes a body 502. In some embodiments, device 500 can include some or all of the features described with respect to devices 100 and 300 (e.g., FIGS. 1A-4B). In some embodiments, device 500 has a touch-sensitive display screen 504, hereafter touch screen 504. Alternatively, or in addition to touch screen 504, device 500 has a display and a touch-sensitive surface. Similar to devices 100 and 300, in some embodiments, touch screen 504 (or touch-sensitive surface) optionally includes one or more intensity sensors that detect the intensity of a contact (e.g., a touch) being applied. The one or more intensity sensors of touch screen 504 (or touch-sensitive surface) can provide output data representative of the intensity of the touch. A user interface of device 500 can respond to touch(s) based on their intensity, meaning that touches of different intensities can invoke different user interface actions on device 500.
[0150] For exemplary techniques for detecting and processing touch intensity, see, for example, related applications International Patent Application No. PCT / US2013 / 040061, filed May 8, 2013, entitled "Device, Method, and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application," published as International Publication No. WO / 2013 / 169849, and International Patent Application No. PCT / US2013 / 069483, filed November 11, 2013, published as International Publication No. WO / 2014 / 105276, entitled "Device, Method, and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships," each of which is incorporated herein by reference in its entirety.
[0151] In some embodiments, device 500 has one or more input mechanisms 506 and 508. Input mechanisms 506 and 508, if included, can be physical. Examples of physical input mechanisms include push buttons and rotatable mechanisms. In some embodiments, device 500 has one or more attachment mechanisms. Such attachment mechanisms, if included, can allow device 500 to be attached to, for example, hats, eyewear, earrings, necklaces, shirts, jackets, bracelets, watch bands, chains, pants, belts, shoes, wallets, backpacks, etc. These attachment mechanisms allow a user to wear device 500.
[0152] FIG. 5B illustrates an exemplary personal electronic device 500. In some embodiments, the device 500 can include some or all of the components described with respect to FIGS. 1A, 1B, and 3. The device 500 has a bus 512 that operably couples an I / O section 514 to one or more computer processors 516 and a memory 518. The I / O section 514 can be connected to a display 504, which can have a touch-sensing component 522 and optionally an intensity sensor 524 (e.g., a contact intensity sensor). In addition, the I / O section 514 can 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 can include input mechanisms 506 and / or 508. The input mechanism 506 is optionally a rotatable input device or a depressible and rotatable input device, for example. In some examples, the input mechanism 508 is optionally a button.
[0153] 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, an orientation sensor 540 (e.g., a compass), a gyroscope 536, a motion sensor 538, and / or combinations thereof, all of which may be operatively connected to the I / O section 514.
[0154] The memory 518 of the personal electronic device 500 may include one or more non-transitory computer-readable storage media for storing computer-executable instructions that, when executed by one or more computer processors 516, may, for example, cause the computer processors to perform the techniques described below, including methods 700, 800, 1000, and 1200 (FIGS. 7, 8, 10, and 12). A computer-readable storage medium may be any medium that can tangibly contain or store computer-executable instructions for use by or in connection with an instruction execution system, apparatus, or device. In some embodiments, the storage medium is a transient computer-readable storage medium. In some embodiments, the storage medium is a non-transitory computer-readable storage medium. A non-transitory 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, solid-state drives, etc. Personal electronic device 500 is not limited to the components and configuration of FIG. 5B and may include other or additional components in multiple configurations.
[0155] The term "affordance" as used herein, optionally, refers to a user-interactive graphical user interface object displayed on a display screen of device 100, 300, and / or 500 (FIGS. 1A, 3, and 5A-5B). For example, images (e.g., icons), buttons, and text (e.g., hyperlinks) each, optionally, constitute an affordance.
[0156] The term "focus selector" as used herein refers to an input element that indicates the current portion of the user interface with which the user is interacting. In some implementations involving a cursor or other position marker, the cursor acts as the "focus selector," such that when an input (e.g., a press input) is detected on a touch-sensitive surface (e.g., touchpad 355 of FIG. 3 or touch-sensitive surface 451 of FIG. 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 involving a touchscreen display (e.g., touch-sensitive display system 112 of FIG. 1A or touchscreen 112 of FIG. 4A) that allows direct interaction with user interface elements on the touchscreen display, a detected contact on the touchscreen acts as the "focus selector," such that when an input (e.g., a press input by contact) is detected at the location of a particular user interface element (e.g., a button, window, slider, or other user interface element) on the touchscreen display, the particular user interface element is adjusted according to the detected input. In some implementations, focus is moved from one region of the user interface to another region of the user interface without a corresponding cursor movement or contact movement on the touch-screen display (e.g., by using a tab key or arrow keys to move focus from one button to another), and in these implementations the focus selector moves to follow the movement of focus between various regions of the user interface. Regardless of the specific form the focus selector takes, the focus selector is generally a user interface element (or contact on a touch-screen display) that is controlled by the user to communicate the user's intended interaction with the user interface (e.g., by indicating to the device which element of the user interface the user intends to interact through).For example, positioning of a focus selector (e.g., a cursor, touch, or selection box) over a corresponding button while a press input is detected on a touch-sensitive surface (e.g., a touchpad or touchscreen) indicates that the user intends to activate that corresponding button (and not another user interface element shown on the device's display).
[0157] As used herein and in the claims, the term "characteristic intensity" of a contact refers to a characteristic of that contact based on one or more intensities of the contact. In some embodiments, the characteristic intensity is based on a plurality of intensity samples. The characteristic intensity is optionally based on a predefined number of intensity samples, i.e., a set of intensity samples collected during a predefined time (e.g., 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10 seconds) associated with a predefined event (e.g., after detecting a contact, before detecting a lift-off of the contact, before or after detecting the start of movement of the contact, before detecting an end of the contact, before or after detecting an increase in the intensity of the contact, and / or before or after detecting a decrease in the intensity of the contact). The characteristic intensity of a contact is optionally based on one or more of a maximum intensity of the contact, a mean value of the intensity of the contact, an average value of the intensity of the contact, a top 10 percentile value of the intensity of the contact, a half maximum intensity value of the contact, a 90 percent maximum intensity value of the contact, etc. In some embodiments, the duration of the contact is used in determining the characteristic intensity (e.g., when the characteristic intensity is an average of the intensity of the contact over time). In some embodiments, the characteristic intensity is compared to a set of one or more intensity thresholds to determine whether an action is 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, a contact having a characteristic intensity not exceeding the first threshold results in a first action, a contact having a characteristic intensity above the first intensity threshold but not exceeding the second intensity threshold results in a second action, and a contact having a characteristic intensity above the second threshold results in a third action. In some embodiments, the comparison between the characteristic intensity and the one or more thresholds is not used to determine whether the first action or the second action should be performed, but rather is used to determine whether one or more actions should be performed (e.g., whether to perform the respective action or to forgo performing the respective action).
[0158] FIG. 5C illustrates detecting multiple contacts 552A-552E on the touch-sensitive display screen 504 by multiple intensity sensors 524A-524D. FIG. 5C additionally includes an intensity diagram showing the current intensity measurements of the intensity sensors 524A-524D versus intensity units. In this example, the intensity measurements of the intensity sensors 524A and 524D are each 9 intensity units, and the intensity measurements of the intensity sensors 524B and 524C are each 7 intensity units. 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 respective intensity that is a portion of the aggregate intensity. FIG. 5D illustrates assigning aggregate intensities to the contacts 552A-552E based on their distance from the center of force 554. In this example, each of contacts 552A, 552B, and 552E is assigned a contact intensity of 8 intensity units of the aggregate intensity, and each of contacts 552C and 552D is assigned a contact intensity of 4 intensity units of the aggregate intensity. More generally, in some implementations, each contact j is assigned a respective intensity Ij that is a portion of the aggregate intensity A according to a predefined mathematical function Ij=A·(Dj / ΣDi), where Dj is the distance from the center of force to the respective contact j, and ΣDi is the sum of the distances from the center of force to all respective contacts (e.g., from i=1 to the end). The operations described with reference to FIGS. 5C-5D can be performed using electronic devices similar or identical to device 100, 300, or 500. In some embodiments, the characteristic intensity of the 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). Note that the intensity diagrams are not part of the displayed user interface, but are included in FIGS. 5C-5D as an aid to the reader.
[0159] In some embodiments, a portion of the gesture is identified for purposes of determining the characteristic intensity. For example, the touch-sensitive surface optionally receives successive swipe contacts that transition from a start position to an end position where the intensity of the contact increases. In this example, the characteristic intensity of the contact at the end position is optionally based on only a portion of the successive swipe contacts (e.g., only the portion of the swipe contact at the end position) rather than the entire swipe contact. In some embodiments, a smoothing algorithm is optionally applied to the intensity of the swipe contact prior to determining the characteristic intensity of the contact. For example, the smoothing algorithm optionally includes one or more of an unweighted moving average smoothing algorithm, a triangular smoothing algorithm, a median filter smoothing algorithm, and / or an exponential smoothing algorithm. In some circumstances, these smoothing algorithms eliminate narrow spikes or dips in the swipe contact intensity for purposes of determining the characteristic intensity.
[0160] The intensity of the contact on the touch-sensitive surface is optionally characterized against one or more intensity thresholds, such as a contact-detection intensity threshold, a light press intensity threshold, a deep press intensity threshold, and / or one or more other intensity thresholds. In some embodiments, the light press intensity threshold corresponds to an intensity at which the device performs an action normally associated with clicking a physical mouse button or trackpad. In some embodiments, the deep press intensity threshold corresponds to an intensity at which the device performs an action different from an action normally associated with clicking a physical mouse button or trackpad. In some embodiments, when a contact is detected having a characteristic intensity below the light press intensity threshold (e.g., and above a nominal contact-detection intensity threshold below which the contact is not detected), the device follows the movement of the contact on the touch-sensitive surface and moves the focus selector without performing an action associated with the light press intensity threshold or the deep press intensity threshold. In general, unless otherwise specified, these intensity thresholds are consistent among various sets of values for a user interface.
[0161] An increase in the characteristic intensity of a contact from an intensity below the light press intensity threshold to an intensity between the light press intensity threshold and the deep press intensity threshold may be referred to as inputting a "light press." An increase in the characteristic intensity of a contact from an intensity below the deep press intensity threshold to an intensity above the deep press intensity threshold may be referred to as inputting a "deep press." An increase in the characteristic intensity of a contact from an intensity below the contact detection intensity threshold to an intensity between the contact detection intensity threshold and the light press intensity threshold may be referred to as detecting a contact on the touch surface. A decrease in the characteristic intensity of a contact from an intensity above the contact detection intensity threshold to an intensity below the contact detection intensity threshold may be referred to as detecting a lift-off of the contact 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.
[0162] In some embodiments described herein, one or more actions are performed in response to detecting a gesture including a respective press input or in response to detecting a respective press input performed by a respective contact (or contacts), where the respective press input is detected based at least in part on detecting an increase in intensity of the contact (or contacts) above a press input intensity threshold. In some embodiments, the respective actions are performed in response to detecting an increase in intensity of the respective contact above a press input intensity threshold (e.g., a "downstroke" of the respective press input). In some embodiments, the press input includes an increase in intensity of the respective contact above a press input intensity threshold followed by a decrease in intensity of the respective contact below the press input intensity threshold, where the respective actions are performed in response to detecting a subsequent decrease in intensity of the respective contact below the press input threshold (e.g., an "upstroke" of the respective press input).
[0163] 5E-5H show the results of the light press intensity threshold (e.g., “IT L ") to the deep depression intensity threshold (e.g., "IT D5 illustrates detection of a gesture including a press input corresponding to an increase in the intensity of contact 562 to an intensity above a deep press intensity threshold (e.g., "IT 1"). The gesture performed by contact 562 is detected on touch-sensitive surface 560 and cursor 576 is displayed over application icon 572B corresponding to app2 on display user interface 570, which includes application icons 572A-572D displayed in predefined region 574. In some embodiments, the gesture is detected on touch-sensitive display 504. An intensity sensor detects the intensity of the contact on touch-sensitive surface 560. The device detects when the intensity of contact 562 exceeds a deep press intensity threshold (e.g., "IT D Contact 562 is maintained on touch-sensitive surface 560. In response to detecting the gesture, a deep press intensity threshold (e.g., “IT D "), reduced-scale representations 578A-578C (e.g., thumbnails) of recently opened documents are displayed for app2, as shown in Figures 5F-5H. In some embodiments, this intensity, which is compared to one or more intensity thresholds, is a characteristic intensity of the contact. Note that the intensity diagrams for contact 562 are not part of the displayed user interface, but are included in Figures 5E-5H as an aid to the reader.
[0164] In some embodiments, the display of representations 578A-578C includes an animation. For example, as shown in FIG. 5F, representation 578A is first displayed adjacent to application icon 572B. As the animation progresses, as shown in FIG. 5G, representation 578A moves upward and representation 578B is displayed adjacent to application icon 572B. Then, as shown in FIG. 5H, representation 578A moves upward and representation 578B moves upward toward representation 578A and representation 578C is displayed adjacent to application icon 572B. Representations 578A-578C form an array above icon 572B. In some embodiments, the animation progresses according to the intensity of contact 562, as shown in FIGS. 5F-5G, as the intensity of contact 562 approaches a deep press intensity threshold (e.g., "ITD Representations 578A-578C appear and move upward as the intensity increases toward "intensity." In some embodiments, the intensity on which the animation progression is based is a characteristic intensity of the contact. The operations described with reference to FIGS. 5E-5H may be performed using an electronic device similar or identical to device 100, 300, or 500.
[0165] In some embodiments, the device employs intensity hysteresis to avoid accidental inputs, sometimes referred to as "jitter," and the device defines or selects a hysteresis intensity threshold that has a predefined relationship to the press input intensity threshold (e.g., the hysteresis intensity threshold is X intensity units below 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, the press input includes an increase in the intensity of the respective contact above the press input intensity threshold, followed by a decrease in the intensity of the contact below a hysteresis intensity threshold corresponding to the press input intensity threshold, and a respective action is performed in response to detecting a subsequent decrease in the intensity of the respective contact below the hysteresis intensity threshold (e.g., an "upstroke" of a respective press input). Similarly, in some embodiments, a press input is detected only when the device detects an increase in the intensity of the contact from an intensity below the hysteresis intensity threshold to an intensity above the press input intensity threshold, and optionally a subsequent decrease in the intensity of the contact to an intensity below the hysteresis intensity, and a respective action is performed in response to detecting the press input (e.g., an increase in the intensity of the contact or a decrease in the intensity of the contact, as the case may be).
[0166] For ease of explanation, descriptions of operations performed in response to a press input associated with a press input intensity threshold, or a gesture including a press input, are optionally triggered in response to detecting any of an increase in the intensity of a contact above the press input intensity threshold, an increase in the intensity of a contact from an intensity below a hysteresis intensity threshold to an intensity above the press input intensity threshold, a decrease in the intensity of a contact below the press input intensity threshold, and / or a decrease in the intensity of a contact below a hysteresis intensity threshold corresponding to the press input intensity threshold. Further, in examples where an operation is described as being performed in response to detecting a decrease in the intensity of a contact below a press input intensity threshold, the operation is optionally performed in response to detecting a decrease in the intensity of a contact below a hysteresis intensity threshold corresponding to and lower than the press input intensity threshold.
[0167] As used herein, an "installed application" refers to a software application that has been downloaded onto an electronic device (e.g., devices 100, 300, and / or 500) and is ready to run (e.g., opened) on the device. In some embodiments, a downloaded application becomes an installed application by an installation program that extracts program portions from a downloaded package and integrates the extracted portions with the computer system's operating system.
[0168] As used herein, the terms "open application" or "running application" refer 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: ● the active application currently displayed on the display screen of the device on which the application is being used; Background applications (or background processes) that are not currently displayed, but for which one or more processes are being processed by one or more processors; and - A suspended or hibernated application that is not running but has state information stored in memory (volatile and non-volatile, respectively) and that can be used to resume execution of the application.
[0169] 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 state information for the application from the device's memory. Generally, opening a second application during a first application does not close the first application. When the second application is displayed and the first application is taken off the display, the first application becomes a background application.
[0170] Attention is now directed to embodiments of user interfaces (“UI”) and associated processes implemented on an electronic device, such as portable multifunction device 100, device 300, or device 500.
[0171] 6A-6R show example user interfaces for sharing audio data according to some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including the processes in FIGS. 7-8.
[0172] FIG. 6A illustrates electronic device 600 and device 625 (also referred to as “TAYLOR earphones”). In some embodiments, device 600 is device 100, 300, or 500. Device 600 has a display device 602 shown as a touch-sensitive display (e.g., touch screen 504). Device 625 is configured to connect to device 600 and output audio (e.g., human audible sound waves) based on audio data received from device 600 via communication link C1. In the embodiment illustrated in FIG. 6A, communication link C1 is a wireless (e.g., Bluetooth) connection. In some embodiments, communication link C1 is a wired connection. In some embodiments, device 625 includes one or more features of device 100, device 300, or device 500 (e.g., audio circuitry 110, speaker 111, microphone 113). In some embodiments, device 625 is a wireless speaker or any device configured to connect to device 600 and output audio based on audio data received from device 600. As shown in FIG 6A, device 625 is a pair of wireless earphones consisting of earphone 625a and earphone 625b. In the embodiment shown in FIG 6A, device 625 is a composite device including two physically separate earphones, but earphone 625a and earphone 625b operate together as one device. In some embodiments, device 625 has a primary earphone that connects to device 600 and a secondary earphone that communicates with the primary earphone and receives audio signals from device 600 via the primary component. In some embodiments, earphone 625a and earphone 625b are each connected to device 600 but are treated by device 600 as a single external device.
[0173] In FIG. 6A, device 600 displays a user interface 604 including an audio media user interface 604a. Audio media user interface 604a includes a current audio indicator 604a-1 that includes information about an audio application (e.g., an open audio application) associated with device 600, such as the device providing the audio output ("TAYLOR's earphones"), the track name ("TRACK 1"), and the artist name ("DJ APPLESEED"). Audio media user interface 604a includes affordances 604a-2, 604a-3, 604a-4, 604a-5, and 604a-6. Affordances 604a-2, 604a-3, 604a-5 correspond to respective audio devices and, when selected, provide audio to the selected device. 6A, a checkmark on affordance 604a-3 indicates that device 625 ("TAYLOR EARPHONES") is the currently selected audio device and matches current audio indicator 604a-1. Volume affordance 604a-6 can be selected to adjust the volume level of the currently selected audio device.
[0174] Sharing audio affordance 604a-4 can be selected to initiate a process for sharing audio data with another device while simultaneously providing audio via the currently selected audio device (e.g., device 625). For example, sharing audio may enable device 600 to form a temporary connection with the other user's device, such that two users can listen to the same audio together at the same time without forming a persistent or permanent association with the other user's device (e.g., without pairing device 600 with the other user's device, as described in more detail below).
[0175] In FIG. 6A, the device 600 detects an input 610a (e.g., a tap) corresponding to a selection of the shared audio affordance 604a-4. In response to detecting the input 610a, the device 600 initiates a process to provide audio data to the device 625 and a second external device simultaneously. In the embodiment shown in FIG. 6B, the process includes displaying a user interface 606. The user interface 606 includes a user interface card 606a having instructions 606a-1 on how to share audio data with another device (e.g., another pair of wireless headphones or earphones). The instructions 606a-1 explain that audio can be shared by bringing another pair of wireless headphones into close proximity to the device 600. The user interface card 606a includes a graphical element 606a-2 representing a device (or type of device) with which the device 600 can share audio data when brought into close proximity to the device 600. In this manner, the device 600 informs the user of potential devices or products with which it can share audio data when brought into close proximity to the device 600. In some embodiments, device 600 displays a representation of two or more devices with which device 600 can share. In FIG. 6C, device 600 displays another graphical element 606a-3 with which device 600 can share audio data if device 600 is brought closer to device 600. Device 600 can display the graphical elements of potential devices (e.g., graphical elements 606a-2 and 606a-3) in various ways (e.g., simultaneously or sequentially). As shown in FIG. 6C, device 600 replaces graphical element 606a-2 with graphical element 606a-3 on user interface 606.
[0176] As indicated by instructions 606a-1, device 600 can use satisfaction of a proximity condition to share audio data with another device while simultaneously providing audio data (e.g., the same audio data) to device 625. The use of proximity of one device to another device can be used as a clear indicator that a user desires to perform some action (e.g., invoke an interface, share audio data) on one or both of the devices. For example, this can prevent wasting device resources by avoiding excessive user input (e.g., to navigate one or more menus on a device display) to perform a function. Additionally, this can also save a user's time by, for example, reducing the number of user inputs required to perform a function (e.g., invoke an interface on a display, share audio data).
[0177] FIG. 6C illustrates an exemplary diagram of a scenario including device 650 (also referred to as “CHANCE’s earphones”) at a relatively long distance from device 600. Device 650 is configured to connect to device 600 and output audio (e.g., human audible sound waves) based on audio data received from device 600. In some embodiments, device 650 includes one or more features (e.g., audio circuitry 110, speaker 111, microphone 113) of device 100, 300, 500, or 625. In some embodiments, device 650 is a wireless speaker or any device configured to connect to device 600 and output audio based on audio data received from device 600. As shown in FIG. 6C, device 650 is a pair of wireless earphones consisting of earphone 650a, earphone 650b, and case 650c. In some embodiments, case 650c interfaces with earbuds 650a and earbuds 650b to initialize a connection with device 600 (e.g., as described below with reference to FIG. 6E) and / or perform other operations (e.g., charging) associated with earbuds 650a and earbuds 650b. In the embodiment shown in FIG. 6C, earbuds 650a, earbuds 650b and case 650c operate together as a single device and are treated by device 600 as a single device.
[0178] In the embodiment shown in FIG. 6C, device 600 is associated with the same user (e.g., Taylor) as device 625 and is paired with device 625. In some embodiments, two devices are paired when they have a persistent association with each other and are configured to exchange data over a communication link. For example, device 625 remains associated with device 600 when the communication link C1 between the devices is not currently active (e.g., device 600 attempts to automatically reconnect with device 625 if the connection is lost, or device 600 shares common persistent configuration settings with device 625). In FIG. 8C, device 650 is not paired with device 600. As described below, device 600 can establish a temporary connection with device 650 to share audio data with another user (e.g., Chance) that is also provided to paired device 625 (e.g., Taylor's own earphones), but device 650 does not maintain its association with device 600 after the temporary connection ends.
[0179] FIG. 6C illustrates a proximity condition range indicator 605 around the device 600. The proximity condition range indicator is also referred to herein as a "proximity zone indicator" or simply a "proximity zone." The device 650 is not inside the proximity condition range indicator 605. The proximity condition range indicator 605 is included as a visual aid and is intended to represent a physical proximity that satisfies the proximity condition. For example, the range indicator 605 may represent the range of the close-range communication detection circuitry of the device 600. In some embodiments, any suitable technique may be used to detect the proximity between the devices. For example, in some implementations, a wideband wireless connection is used. The wideband wireless connection may be used to determine, for example, one or more of the directionality, distance, and orientation of one or more devices. Thus, the presence of a detectable device within the proximity condition range indicator 605 (e.g., partially or completely) satisfies the proximity condition, but if the detectable device is located outside the range indicator 605, the proximity condition is not met. Those skilled in the art will appreciate that the detection range of physical proximity may be non-uniform, may be affected by numerous variables (e.g., radio interference, air humidity, etc.), and may include points in three-dimensional space, all of which are intended to be within the scope of the present disclosure. Thus, the graphical representation of the proximity condition range indicator 605 is not intended to limit the range for determining whether the proximity condition is met. Additionally, the figures are not necessarily to scale and are included merely as a visual aid. Thus, unless otherwise noted, the size and scale of features depicted in the figures are not intended as limitations on the distance required to be in proximity or to meet the proximity condition. In some embodiments, in response to detecting the input 610a, the device 600 enters a mode in which the device 600 is configured to detect devices within the proximity condition range indicator 605 with which it can share audio data.
[0180] 6D illustrates an example diagram including device 600 at a short distance away from device 650. As shown in FIG. 6D, device 600 and device 650 are in close proximity to each other, with device 650 at least partially within proximity condition range indicator 605. Because proximity condition range indicator 605 represents a physical proximity that satisfies a 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, e.g., transmits 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, e.g., transmits an indication that the condition is met).
[0181] In response to detecting an indication that the physical proximity satisfies the proximity condition, the device 600 displays a user interface 608 indicating that the physical proximity between the device 600 and the device 650 satisfies the proximity condition, as shown in FIG. 6D. The user interface 608 includes a proximity user interface 608a that identifies devices that have satisfied the proximity condition with the device 600 and provides a confirmation affordance 608a-3 that, when selected, continues the process of sharing audio data by initiating a connection (e.g., a communication link) with the device 650 to provide the audio data while simultaneously providing the audio data to the device 625. The proximity user interface 608a identifies the device 650 as being within the proximity condition range indicator 605 having a text indicator 608a-1 ("CHANCE's earphones") and a graphical element 608a-2 that includes a representative image of the device 650. The graphical element 608a-2 indicates that the device 650 is a pair of wireless earphones (as opposed to a pair of wireless headphones, as shown, for example, by the graphical element 606a-3 of FIG. 6C).
[0182] In Figure 6D, the device 600 detects an input 610b (e.g., a tap) corresponding to a selection of the confirmation affordance 608a-3. In response to detecting the input 610b, the device 600 displays a user interface 612, as shown in Figure 6E. The user interface 612 includes a connection instruction user interface 612a that includes a text indicator 612a-1 (e.g., 608a-1), a graphical element 612a-2, and instructions 612a-3 for continuing the process of connecting the device 650 with the device 600. The instructions 612a-3 instruct the user to press and hold a button 650c-1 on the device 650, and the graphical element 612a-2 includes a representative image of the device 650 from a vantage point where a representation of the button 650c-1 can be seen.
[0183] In FIG. 6E, device 650 detects input 610c, including pressing and holding button 650c-1. In some embodiments, in response to detecting input 610c, device 650 transmits a signal to device 600 indicating that device 650 may be connected to device 600. After (e.g., in response to) receiving the signal from device 650, device 600 displays user interface 614, as shown in FIG. 6F. User interface 614 indicates that device 600 is in the process of creating communication link C2 with device 650. User interface 614 includes connecting user interface 614a, including text indicator 614a-1 (e.g., 608a-1), graphical element 614a-2 (e.g., a representative image of device 650 from a different perspective than graphical element 608a-3 and graphical element 612a-3). In some embodiments, device 600 connects to a second external device (e.g., device 650) and displays user interface 614 in response to detecting input 610b (e.g., without requiring input 610c on device 650 and without displaying user interface 612).
[0184] After (e.g., in response to) establishing communication link C2 with device 600, device 600 displays user interface 616, as shown in FIG 6G. In FIG 6G, device 600 is simultaneously connected to and provides audio data to device 625 (via communication link C1) and device 650 (via communication link C2) such that device 625 and device 650 output the same audio. In some embodiments, device 600 displays user interface 616 in response to connecting to a second external device (e.g., device 650) and detecting input 610b (e.g., without requiring input 610c on device 650 and without displaying user interfaces 612 and 614).
[0185] User interface 616 includes an audio media user interface 616a (e.g., an updated version of audio media user interface 604a) that indicates that device 600 is providing audio data to device 625 and device 650 simultaneously. Audio media user interface 616a includes a current audio indicator 616a-1 that includes a track name (Track 1) and an artist name (DJ Appleseed). In comparison to current audio indicator 604a-1, current audio indicator 616a-1 indicates that audio is being provided to two headphones, rather than only device 625 (TAYLOR's earphones) as in FIG. 6A. Audio media user interface 616a includes affordances 616a-2, 616a-3, 616a-4, 616a-5, and 616a-6. Checkmarks on affordance 616a-3 and affordance 616a-4 indicate that device 625 ("TAYLOR earphones") and device 650 are currently selected for audio output consistent with current audio indicator 616a-1. Affordance 616a-3 and affordance 616a-4 each include a volume slider that, when selected, controls the individual volume levels of the corresponding devices (e.g., the volume slider on affordance 616a-4 can be selected to adjust the volume level of device 650 without changing the volume level of device 625). Affordance 616a-2 can be selected to output audio data on a bedroom speaker associated with device 600 (e.g., and to stop providing audio data to devices 625 and 650). Volume affordance 616a-6 can be selected to adjust the volume levels of devices 625 and 650 with a single input. In some embodiments, adjusting the volume levels of device 625 and device 650 using affordance 616a-6 sets the volume levels of device 625 and device 650 to the same volume level (e.g., even if device 625 and device 650 had different volume levels prior to selection of affordance 616a-6).In some embodiments, adjusting the volume levels of device 625 and device 650 using affordance 616a-6 sets the volume levels of device 625 and device 650 to their respective volume levels based on the initial volume levels of each device and the input on affordance 616a-6 (e.g., the position to which volume adjustment affordance 616a-7 is moved from its initial position).
[0186] 6G, earphones 650a and 650b of device 650 are depicted outside of proximity condition range indicator 605 without case 650c. In some embodiments, earphones 650a and 650b must be in case 650c to establish communication link C2 (e.g., during input 610c) and can receive audio data from device 600 without case 650c after communication line C2 is established. In some embodiments, device 650 does not include case 650c and / or earphones 650a and 650b do not need to be in case 650c to establish communication link C2 with device 600.
[0187] As described above, in FIG. 6G, the device 650 is outside the proximity condition range indicator 605 while maintaining the communication link C2 (e.g., the device 650 does not need to remain inside the proximity condition range indicator 605 to receive audio data). In FIG. 6H (e.g., after the device 650 is moved outside the proximity condition range indicator 605 away from the device 600), the device 650 is placed inside the proximity condition range indicator 615 (e.g., the device 650 is moved back towards the device 600). In some embodiments, the proximity condition range indicator 615 is the same as the proximity condition range indicator 605. In some embodiments, the proximity condition range indicator 615 is different from the proximity condition range indicator 605. The proximity condition range indicator 615 represents a physical proximity that satisfies a disconnection proximity condition. In some embodiments, the disconnection proximity condition is the same as the proximity condition described above for initiating a process for providing audio data using the second external device. In some embodiments, the disconnection proximity condition is different from the proximity condition for initiating a process for providing audio data using the second external device.
[0188] Because the proximity condition range indicator 615 represents a physical proximity that satisfies the disconnection proximity condition, device 600 detects an indication that the physical proximity between device 600 and device 650 satisfies the disconnection proximity condition (e.g., and in response, initiates communications with device 650, e.g., transmits an indication that a condition for disconnection has been met). In some embodiments, device 650 detects an indication that the disconnection proximity condition has been met (e.g., and in response, initiates communications with device 600, e.g., transmits an indication that a condition for disconnection has been met).
[0189] In response to detecting an indication that the physical proximity satisfies the disconnect proximity condition, the device 600 displays a user interface 618 indicating that the physical proximity between the device 600 and the device 650 satisfies the disconnect proximity condition. The user interface 618 includes a disconnect user interface 618a that identifies a device (e.g., the device 650) that has satisfied the disconnect proximity condition with the device 600 and provides a disconnect affordance 618a-4 that, when selected, initiates a process for disconnecting the device from the device 600 that is in proximity with the device 600. The disconnect proximity user interface 618a identifies the device 650 as being within the proximity condition range indicator 615 with a text indicator 618a-1 ("Chance's earphones") and includes a graphical element 618a-2 and a graphical element 618a-3. The graphical element 618a-2 indicates that the device 600 is temporarily sharing audio with a device represented by the graphical element 618a-3 that includes a representative image of the device 650.
[0190] In some embodiments, device 600 disconnects user interface 618a pursuant to a determination that a device that satisfies a disconnection proximity condition with device 600 is not paired with device 600. In some embodiments, if device 600 determines that a device that satisfies a disconnection proximity condition with device 600 is paired with device 600, device 600 ceases displaying disconnection user interface 618a and, optionally, displays a different user interface. For example, in some embodiments where device 625 is paired with device 600, pursuant to a determination that device 625 satisfies a disconnection proximity condition with device 600, device 600 displays information about device 625 (e.g., current status of device 625, such as battery level) without the option of disconnecting device 625 from device 600 or stopping providing audio data to device 625.
[0191] In FIG. 6H, device 600 detects input 610d (e.g., a tap) corresponding to a selection of disconnect affordance 618a-4. In response to detecting input 610d, device 600 stops providing audio data to device 650. In some embodiments, in response to detecting input 610d, device 600 disconnects from device 650 (e.g., disconnects communication link C2) and displays user interface 620 (e.g., user interface 618 without disconnecting user interface 618a), as shown in FIG. 6I. In some embodiments, device 600 continues to provide audio data to device 650 after stopping providing audio data to device 625 and / or disconnecting from device 650.
[0192] In FIG. 6I, after device 600 is disconnected from device 650, device 600 remains connected with device 625 and device 650 is placed outside of proximity condition range indicator 635. In FIG. 6J, device 650 is placed inside proximity condition range indicator 635 (e.g., device 650 is moved back toward device 600). In some embodiments, proximity condition range indicator 635 is the same as proximity condition range indicator 605 and / or 615. In some embodiments, proximity condition range indicator 635 is different from proximity condition range indicator 605 and / or 615. Proximity condition range indicator 635 represents a physical proximity that satisfies a second proximity condition. In some embodiments, the second proximity condition is the same as the proximity condition described above for initiating a process for providing audio data using a second external device. In some embodiments, the second proximity condition is different from the proximity condition for initiating a process for providing audio data using a second external device.
[0193] Because the proximity condition range indicator 635 represents a physical proximity that satisfies the second proximity condition, the device 600 detects an indication that the physical proximity between the device 600 and the device 650 satisfies the second proximity condition (e.g., and in response, initiates communication with the device 650, e.g., transmits an indication that the second condition is met). In some embodiments, the device 650 detects an indication that the second proximity condition is met (e.g., and in response, initiates communication with the device 600, e.g., transmits an indication that the second condition is met). In some embodiments, the device 600 detects an indication that the physical proximity between the device 600 and the device 650 satisfies the second proximity condition without previously detecting an input corresponding to a selection of the shared audio affordance 604a-1.
[0194] In response to detecting an indication that the physical proximity satisfies the second proximity condition, device 600 displays a user interface 622 indicating that the physical proximity between device 600 and device 650 satisfies the second proximity condition. User interface 622 includes a second proximity user interface 622a that identifies devices that have satisfied the second proximity condition with device 600 and provides a shared audio affordance 622a-4 that, when selected, initiates a process of establishing a connection with device 650 to provide audio data to device 650 and device 625 simultaneously. In some embodiments, device 600 need not previously establish a connection or communication link with device 650 in order to display second proximity user interface 622a.
[0195] The second proximity user interface 622a identifies the device 650 as being within the proximity condition range indicator 635 having a text indicator 622a-1 ("CHANCE's earphones"), a graphical element 622a-2, and a graphical element 622a-3. The graphical element 622a-2 includes information (e.g., text) that allows the device 600 to temporarily share audio with the device 650. The graphical element 622a-3 includes a representative image of the device 650. Additionally, the second proximity user interface 622a includes an affordance 622a-5 that, when selected, connects (e.g., pairs) the device 650 to the device 600. In some embodiments, connecting device 650 to device 600 by selecting affordance 622a-5, as opposed to temporarily sharing audio by selecting share affordance 622a-4, disconnects communication link C1 between device 625 and device 600, such that device 600 does not provide audio data to both device 625 and device 650 simultaneously (e.g., device 650 replaces device 625 as the primary headphone device).
[0196] 6J, device 600 detects input 610e (e.g., a tap) corresponding to a selection of shared affordance 622a-4. In response to detecting input 610e, device 600 begins a process to establish a connection with device 650 to provide audio data to device 650 and device 625 simultaneously (e.g., including the processes described with reference to FIGS. 6E-6F).
[0197] In some embodiments, after device 600 establishes communication link C2 with device 650, device 600 displays user interface 624 including confirmation user interface 624a, as shown in FIG. 6K. Confirmation user interface 624a indicates that device 600 is sharing (or is configured to share) audio data with device 650 while simultaneously providing audio data to device 625 (e.g., via graphical elements 624a-1, 624a-2, and 624a-3). In some embodiments, confirmation user interface 624a is displayed upon establishing a communication link between device 600 and device 650 in response to input 610b or input 610c, or after indicating a connection in user interface 614a.
[0198] 6K, the device 600 detects an input 610f (e.g., a tap) that corresponds to a selection of the completion affordance 624a-4. In response to detecting the input 610f, the device 600 stops displaying the confirmation user interface 624a while maintaining the communication links C1 and C2.
[0199] 6L, a scenario is shown in which device 600 displays user interface 604 (described above) and is connected (e.g., via communication link C1) with device 625 ("TAYLOR earphones"). Device 650 is connected (via communication link C3) to device 675 (e.g., a phone associated with the same user as device 650). Device 675 is within proximity condition range indicator 635, and device 650 and device 675 are not connected to device 600. In some embodiments, in contrast to device 650 being within proximity condition range indicator 635 of FIG. 6J, device 600 does not display a proximity user interface (e.g., 622a) for sharing audio data with device 675. For example, device 600 ceases to display proximity user interface identification device 675 following a determination that device 675 is a particular type of device (e.g., a phone) or following a determination that device 675 is not a particular type of device (e.g., wireless headphones or wireless earphones).
[0200] In FIG. 6L, device 600 detects input 610g (e.g., a tap) corresponding to a selection of shared audio affordance 604a-4. In response to detecting input 610g, device 600 initiates a process of simultaneously providing audio data to device 625 and a second external device (e.g., a process described with reference to FIG. 6A). In some embodiments, in response to detecting selection of shared audio affordance 604a-4, device 600 enters a mode in which device 600 shares audio data with device 675 and simultaneously provides audio data to device 625 (e.g., device 600 applies a proximity condition in response to selection of audio share affordance 604a-4 that differs from the proximity condition applied prior to selection of audio share affordance 604a-4).
[0201] In FIG. 6M, the device 675 is within the proximity condition range indicator 605. In some embodiments, the proximity condition range indicator 635 is applied prior to the selection of the shared audio affordance 604a-4, and the proximity condition range indicator 605 is applied (e.g., for a predetermined time) after the selection of the shared audio affordance 604a-4. Because the proximity condition range indicator 605 represents a physical proximity that satisfies the proximity condition, the device 600 detects an indication that the physical proximity between the device 600 and the device 675 satisfies the proximity condition (e.g., and in response, initiates communication with the device 675, e.g., transmits an indication that the condition is met). In some embodiments, the device 675 detects an indication that the proximity condition is met (e.g., and in response, initiates communication with the device 600, e.g., transmits an indication that the condition is met).
[0202] In response to detecting an indication that the physical proximity satisfies the proximity condition, the device 600 displays a user interface 626 indicating that the physical proximity between the device 600 and the device 675 satisfies the proximity condition, as shown in FIG. 6M. The user interface 626 includes a proximity user interface 626a that identifies a user (e.g., Chance) of a device (e.g., 675) that satisfies the proximity condition with the device 600. The proximity user interface 626a provides, among other things, a confirmation affordance 626a-3 that, when selected, continues the process of sharing audio data by initiating a connection (e.g., a communication link) with the device 675 to provide audio data while simultaneously providing the audio data to the device 625. The proximity user interface 626a includes a graphical element 626a-2 that identifies the device 675 as being within the proximity condition range indicator 605 with a text indicator 626a-1 indicating an action to be performed by selecting the share audio affordance 626a-3 and provides information that the device 675 can be used independently to control the volume of the device 625 while sharing audio data with the device 600. In some embodiments, user interface 626a is displayed pursuant to a determination that the proximity of device 675 to device 600 satisfies the proximity condition (e.g., instead of the proximity of device 650). In some embodiments, in response to detecting an indication that the physical proximity between device 600 and device 675 satisfies the proximity condition, device 600 displays a proximity user interface similar to proximity user interface 608a, except for information and graphical elements corresponding to device 675 instead of device 650.
[0203] In Figure 6M, device 600 detects input 610h (e.g., a tap) that corresponds to a selection of shared affordance 626a-3. In response to detecting input 610h, device 600 initiates communication link C4 with device 675 to provide audio data simultaneously to device 675 and device 650 (via communication link C3 between device 625 and device 650), as shown in Figure 6N.
[0204] In the embodiment shown in FIG. 6N, device 600 displays user interface 628 while simultaneously providing audio data to device 625 and device 650 (via device 675). User interface 628 includes audio media user interface 628a that indicates (via audio information 628a-1) that audio data is being provided to two headphones simultaneously. Audio media user interface 628a includes affordance 628a-2 that, when selected, displays user interface 630 that includes audio media user interface 630a (e.g., audio media user interface 616a), as shown in FIG. 6O. Audio media user interface 630a includes affordance 630a-1 that, when selected (e.g., via input 610j), displays audio application user interface 632a, as shown in FIG. 6P. Audio application user interface 632a includes, among other things, track control 632a-1, an indication 632a-2 that indicates that audio data is being provided to two headphones simultaneously, and volume control affordance 632a-3. In FIG. 6P, device 600 detects input 610k (e.g., a tap) corresponding to selection of volume control affordance 632a-3. In response to detecting input 610k, device 600 displays user interface 634 including audio media user interface 634a, as shown in FIG. 6Q. Audio media user interface 634a is the same as audio media user interface 632a, except that track control 632a-1 is replaced with individual volume control affordances 634a-1 and 634a-2 corresponding to devices 625 and 650, respectively. Volume control affordance 634a-2 corresponding to device 650 includes a disconnect affordance 634a-3 that, when selected, causes device 600 to stop sharing audio data with device 675, e.g., by disconnecting communication link C4 between device 600 and device 650.In some embodiments, device 600 displays a user interface 634a that includes a disconnect affordance 634a-3, while device 650 is directly connected to device 600 (e.g., via communication link C2, as shown in FIG. 6G) and disconnects from device 650 in response to selection of disconnect affordance 634a-3.
[0205] Referring to FIG. 6R, device 600 displays an exemplary user interface for stopping sharing audio data with a second external device while simultaneously providing audio data to device 625. In FIG. 6R, device 600 is connected to device 625 (via device 675) and device 650. In some embodiments, device 650 is directly connected to device 600. While device 600 is configured to simultaneously provide audio data to both device 625 and device 650, device 600 displays settings user interface 636 (e.g., Bluetooth settings menu). Settings user interface 636 includes graphical element 636-1 and disconnect affordance 636-2. Graphical element 636-1 indicates that device 600 is sharing audio with device 650 (CHANCE's earphones). Disconnect affordance 636-2, when selected, causes device 600 to stop sharing audio data with device 650, for example, by disconnecting communication link C4 between device 600 and device 675. In embodiments in which device 600 displays user interface 636, while device 650 is directly connected to device 600 (e.g., via communication link C2, as shown in FIG. 6G), device 600 disconnects from device 650 in response to selection of disconnect affordance 636-2.
[0206] 7 is a flow diagram illustrating a method for sharing audio data using an electronic device, according to some embodiments. Method 700 is performed on a device (e.g., 100, 300, 500, or 600) that includes 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.
[0207] As described below, the method 700 provides an intuitive way to share audio data. The method reduces the cognitive burden on a user to share audio data, thereby creating a more efficient human-machine interface. For battery-powered computing devices, allowing users to share audio data more quickly and efficiently conserves power and increases the time between battery charges.
[0208] While the electronic device (e.g., 600) is connected to a first external device (e.g., 625, wireless headphones or wireless earphones) via a communication link (e.g., C1, Bluetooth) and the electronic device is configured to provide audio data to the first external device via the communication link, the electronic device displays (702) via a display device a first user interface (e.g., 604) including a first affordance (e.g., 604-4). In some embodiments, the electronic device displays the first affordance simultaneously with an indication that the electronic device is connected to the first external device. In some embodiments, the electronic device displays the first affordance pursuant to a determination that the electronic device is connected to the first external device and, optionally, that the electronic device is running an audio media application or is actively providing audio data to the first external device via the communication link. In some embodiments, the external device is a single physical device, such as, for example, a pair of headphones having two ear cups or earphones physically connected via a wire or a headband. In some embodiments, the external device is a composite device having multiple physically separate components or physical units that operate together as one device. In some embodiments, the composite device has a primary component (e.g., earphones) that connects with the electronic device and a secondary component that communicates with the primary component and receives audio signals from the electronic device via the primary component. In some embodiments, the composite device includes two components that are each connected to the electronic device but are treated by the electronic device as a single external device.
[0209] In some embodiments, the electronic device displays the first user interface including the first affordance pursuant to a determination that the first external device is configured to receive audio data from the electronic device while the electronic device is simultaneously providing audio data to the second external device. In some embodiments, the electronic device displays the first user interface without the first affordance pursuant to a determination that the first external device is not configured to receive audio data from the electronic device while the electronic device is simultaneously providing audio data to the second external device.
[0210] In some embodiments, the electronic device displays the first user interface including the first affordance pursuant to a determination that the electronic device is running an audio media application (e.g., a music application, a podcast application, an audiobook application, a multimedia application, a web browser playing audio and / or video). In some embodiments, pursuant to a determination that the electronic device is not running an audio media application, the electronic device displays the first user interface without the first affordance.
[0211] The electronic device detects (704) an input (e.g., 610a) corresponding to a selection of the first affordance.
[0212] In response to detecting an input corresponding to a selection of the first affordance, the electronic device initiates a process of providing audio data simultaneously to a first external device (e.g., 625) and a second external device different from the first external device (e.g., 650, 675, wireless headphones or wireless ear pod) (706). In some embodiments, the electronic device displays a visual indication that the electronic device has initiated a process of sharing audio data simultaneously with the first external device and the second external device. In some embodiments, the process of sharing audio data includes displaying instructions in a user interface to bring another device close to the electronic device to temporarily share the audio. Displaying a visual indication that the electronic device has initiated a process for sharing audio data simultaneously with the first external device and the second external device and displaying a user interface with instructions to bring another device close to the electronic device to temporarily share the audio provides feedback to the user that the electronic device is ready to share audio data and informs the user how to proceed with the audio sharing process. Providing improved visual feedback to the user improves usability of the device, makes the user device interface more efficient (e.g., by assisting the user in providing appropriate inputs when operating / interacting with the device and reducing user errors), and additionally reduces power usage and improves battery life of the device by allowing the user to use the device more quickly and efficiently.
[0213] After initiating the process of providing audio data simultaneously to the first external device and the second external device, the electronic device detects (708) an indication that the physical proximity between the electronic device and the second external device satisfies a proximity condition (e.g., represented by 605). In some embodiments, the indication is detected using near-field communication techniques. In some embodiments, the proximity condition is satisfied when the second electronic device does not exceed a threshold distance away from the electronic device. In some embodiments, the threshold distance is 6 inches, 12 inches, or 18 inches.
[0214] In response to detecting an indication that the physical proximity between the electronic device and the second external device satisfies the proximity condition, the electronic device displays a second user interface (e.g., 608, 608a) indicating that the physical proximity between the electronic device and the second external device satisfies the proximity condition (710). Displaying the second user interface indicating that the physical proximity between the electronic device and the second external device satisfies the proximity condition automatically provides feedback by indicating to the user that the physical proximity satisfies the proximity condition, thus reducing the number of inputs required to share audio data. By providing improved feedback, reducing the number of inputs required to perform an action, and performing an action when a set of conditions is met without requiring further user input, the electronic device interface may be made more efficient (e.g., by assisting the user in providing appropriate inputs when operating / interacting with the device and reducing user errors), as well as reducing power usage and improving the battery life of the device by allowing the user to use the device more quickly and efficiently.
[0215] In some embodiments, the second user interface includes instructions for completing a process of sharing audio data with a first external device and a second external device simultaneously. In some embodiments, the process of sharing audio data with a first external device and a second external device simultaneously includes establishing a temporary connection between the electronic device and the second external device. In some embodiments, the second user interface includes an indication that the electronic device has established or is in the process of establishing a connection with the second electronic device to share audio data with the second external device simultaneously with the first device.
[0216] In some embodiments, the second external device is configured to output audio based on audio data from the electronic device and is directly connected to the electronic device (e.g., FIG. 6G, FIG. 6K). For example, in some embodiments, the second external device does not receive audio data from the electronic device through an intermediate device, such as a telephone to which the second external device is connected.
[0217] In some embodiments, the second external device (e.g., 675) is connected to a third external device (e.g., 650, wireless headphones or wireless earphones) and configured to provide audio data from the electronic device to the third external device.
[0218] In some embodiments, as part of initiating a process of providing audio data to the first external device and the second external device simultaneously, the electronic device displays a representation of a first potential second external device (e.g., 606a-2). In some embodiments, as part of initiating a process of providing audio data to the first external device and the second external device simultaneously, the electronic device displays a representation of a second potential second external device (e.g., 606a-3). In some embodiments, while the electronic device is simultaneously providing audio data to the first external device, the electronic device displays an image of an audio output device connected to the electronic device and configured to receive audio data from the electronic device. In some embodiments, the electronic device sequentially displays a representation of the first potential second external device followed by a representation of the second potential second external device (e.g., the electronic device cycles through the representations of the potential second external devices). Displaying a representation of one or more external devices with which the electronic device can share data provides feedback to the user by indicating which devices can be used to share data. Because not all devices support sharing capabilities, displaying potential options helps the user know which devices can be used. Providing improved feedback may improve usability of the device and may result in a more efficient user device interface (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the device), which may further reduce power usage and improve the battery life of the device by allowing the user to use the device more quickly and efficiently.
[0219] In some embodiments, the second user interface includes a second affordance (e.g., 608a-3) that, when selected, causes the electronic device to provide audio data to the first external device and the second external device simultaneously. In some embodiments, the electronic device initiates a process of providing audio data to the first external device and the second external device simultaneously in response to detecting an input corresponding to a selection of the first affordance, but the electronic device does not actually provide the audio data until the second affordance is selected. Having the electronic device provide audio data to the first external device and the second external device simultaneously in response to a selection of the second affordance on the second user interface provides improved control by verifying that sharing is truly desired and avoids inadvertently sharing audio data with pre-intended or unintended devices. Providing improved control over the sharing process improves device usability and makes the user-device interface more efficient (e.g., by helping the user make appropriate inputs and reducing user errors when operating / interacting with the device), which further reduces power usage and improves the device's battery life by allowing the user to use the device more quickly and efficiently.
[0220] In some embodiments, after detecting an indication that the physical proximity between the electronic device and the second external device satisfies the proximity condition and before providing audio data simultaneously to the first external device and the second external device, the electronic device displays instructions (e.g., 612a-3) to provide an input at the second external device. In some embodiments, the second external device requires an input (e.g., pressing a hardware button on the second external device) to connect to the electronic device.
[0221] In some embodiments, the electronic device receives an indication that a second external device is connected to the electronic device. In some embodiments, in response to receiving the indication that a second external device is connected to the electronic device, the electronic device provides an indication that the second external device is connected to the electronic device (e.g., 608a, 616a-4, 624a). In some embodiments, providing the indication that the second external device is connected to the electronic device includes displaying a graphical representation of the second external device. In some embodiments, the indication that the second external device is connected to the electronic device includes an audio output and / or a tactile output.
[0222] In some embodiments, while the second external device is connected to the electronic device, the electronic device displays a third affordance (e.g., 618a-4, 634a-3, 636-2, 906-3) that, when selected, disconnects the second external device from the electronic device.
[0223] In some embodiments, while the second external device is connected to the electronic device, the electronic device detects an indication that the physical proximity between the electronic device and the second external device satisfies a second proximity condition (e.g., represented at 615). In some embodiments, the electronic device displays a third affordance (e.g., 618a-4) in response to detecting an indication that the physical proximity between the electronic device and the second external device satisfies the second proximity condition. In some embodiments, the third affordance is displayed pursuant to a determination that the second external device has again entered a range required to satisfy the proximity condition. In some embodiments, the second proximity condition is the same as the (first) proximity condition. Displaying an affordance for disconnecting the second external device in response to detecting an indication that the physical proximity between the electronic device and the second external device satisfies the second proximity condition provides feedback that the user can stop sharing audio with the second external device and automatically presents an option to disconnect the second external device, thus reducing the number of inputs required to stop sharing audio data. Improve usability of the device by providing improved feedback, reducing the number of inputs required to perform an action, and performing an action when a set of conditions is met without requiring further user input; make the user device interface more efficient (e.g., by assisting the user in providing appropriate inputs when operating / interacting with the device and reducing user errors); and reduce power usage and improve the battery life of the device by allowing the user to use the device more quickly and efficiently.
[0224] In some embodiments, the electronic device displays the third affordance in accordance with a determination that the second external device is not paired with the electronic device. In some embodiments, two devices (e.g., the second external device and the electronic device) are paired when they have a permanent association with each other and are configured to exchange data over a communication link. In some embodiments, the devices are not paired when they do not have a permanent association with each other. In some embodiments, paired devices remain associated with each other when the communication link between the devices is not currently active, while temporarily connected but unpaired devices are not associated with each other after the temporary connection ends. In some embodiments, paired devices share common configuration settings. In some embodiments, when the second external device is paired with the electronic device, the electronic device ceases displaying the third affordance and, optionally, displays information (e.g., battery level) of the second external device.
[0225] In some embodiments, the third affordance is displayed in a menu user interface (e.g., 636). In some embodiments, the menu user interface is a Bluetooth settings menu or an audio output menu user interface of an audio media player application.
[0226] It should be noted that the process details described above in connection with method 700 (e.g., FIG. 7) are also applicable in a similar manner to the methods described below. For example, methods 800, 1000, and / or 1200 optionally include one or more of the features of the various methods described above with reference to method 700. For example, operation 710 of displaying a second user interface in method 700 may be performed in response to detection of an indication in operation 802 of method 800. As another example, the operations of method 700 may be performed before the operations of methods 1000 and / or 1200. For the sake of brevity, these details will not be repeated below.
[0227] 8 is a flow diagram illustrating a method for sharing audio data using an electronic device, according to some embodiments. Method 800 is performed on a device (e.g., 100, 300, 500, or 600) that includes 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.
[0228] As described below, the method 800 provides an intuitive way to share audio data. The method reduces the cognitive burden on a user to share audio data, thereby creating a more efficient human-machine interface. For battery-powered computing devices, allowing users to share audio data more quickly and efficiently conserves power and increases the time between battery charges.
[0229] While the electronic device is connected to a first external device (e.g., 625, wireless headphones or wireless ear pod) via a communication link (e.g., C1), the electronic device is configured to provide audio data to the first external device via the communication link (e.g., and is not currently configured to provide audio data to a second external device (e.g., 650)), and the electronic device detects (802) an indication that a physical proximity between the electronic device and a second external device (e.g., 650, wireless headphones or wireless ear pod) different from the first external device satisfies a proximity condition (e.g., represented by 635). In some embodiments, the indication is detected using a near-field communication technique. In some embodiments, the proximity condition is satisfied when the second electronic device does not exceed a threshold distance away from the electronic device. In some embodiments, the threshold distance is 6 inches, 12 inches, or 18 inches.
[0230] In response to detecting an indication that the physical proximity between the electronic device and the second external device satisfies the proximity condition, the electronic device displays (804) a first user interface (e.g., 622, 622a) including a first affordance (e.g., 622a-5) via the display device.
[0231] In some embodiments, the first user interface includes an indication that the electronic device can temporarily share audio data with the second external device. In some embodiments, the first user interface includes an indication (e.g., in the first affordance) that selecting the first affordance will cause the electronic device to share audio data with the second external device. In some embodiments, the electronic device displays the first affordance in accordance with a determination that the electronic device is connected to the first external device and, optionally, that the electronic device is running an audio media application or actively providing audio data to the first external device via a communication link. In response to detecting an indication that the physical proximity between the electronic device and the second external device satisfies the proximity condition, displaying the first user interface having the first affordance for sharing the audio data automatically provides feedback to the user by indicating that the physical proximity satisfies the proximity condition and the audio data can be shared, thus reducing the number of inputs required to share the audio data. Improve usability of the device by providing improved feedback, reducing the number of inputs required to perform an action, and performing an action when a set of conditions is met without requiring further user input; make the user device interface more efficient (e.g., by assisting the user in providing appropriate inputs when operating / interacting with the device and reducing user errors); and reduce power usage and improve the battery life of the device by allowing the user to use the device more quickly and efficiently.
[0232] The electronic device detects (806) an input (e.g., 610e) corresponding to a selection of the first affordance.
[0233] In response to detecting an input corresponding to a selection of the first affordance, the electronic device initiates a process of providing audio data to the first external device (e.g., 625) and the second external device (e.g., 650) simultaneously (808). In some embodiments, the process of sharing audio data with the first external device and the second external device simultaneously includes establishing a temporary connection between the electronic device and the second external device. In some embodiments, the process of sharing audio data with the first external device and the second external device simultaneously includes displaying a visual indication that the electronic device has established or is in the process of establishing a connection with the second external device to share audio data with the first external device and the second external device simultaneously. In some embodiments, the process of sharing audio data with the first external device and the second external device simultaneously includes displaying instructions for completing the process of sharing audio data with the first external device and the second external device simultaneously. Displaying the instructions for completing the process for sharing audio data provides feedback to the user that the electronic device is ready to share audio data and informs the user how to proceed with the audio sharing process. Providing improved visual feedback to the user improves usability of the device, makes the user device interface more efficient (e.g., by assisting the user in providing appropriate inputs when operating / interacting with the device and reducing user errors), and additionally reduces power usage and improves battery life of the device by allowing the user to use the device more quickly and efficiently.
[0234] In some embodiments, the electronic device displays a first user interface including the first affordance pursuant to a determination that the first external device is configured to receive audio data from the electronic device while the electronic device is simultaneously providing audio data to a second external device. In some embodiments, the electronic device ceases displaying the first user interface pursuant to a determination that the first external device is not configured to receive audio data from the electronic device while the electronic device is simultaneously providing audio data to the second external device.
[0235] In some embodiments, the electronic device displays a first user interface including a first affordance pursuant to a determination that the electronic device is running an audio media application (e.g., a music application, a podcast application, an audiobook application, a multimedia application, a web browser playing audio and / or video). In some embodiments, the electronic device ceases displaying the first user interface pursuant to a determination that the electronic device is not running an audio media application.
[0236] In some embodiments, the electronic device displays a first user interface including a first affordance according to a determination that the second external device is not paired with the electronic device. In some embodiments, two devices (e.g., the second external device and the electronic device) are paired when they have a permanent association with each other and are configured to exchange data over a communication link. In some embodiments, the devices are not paired when they do not have a permanent association with each other. In some embodiments, paired devices remain associated with each other when the communication link between the devices is not currently active, while temporarily connected but unpaired devices are not associated with each other after the temporary connection ends. In some embodiments, paired devices share common configuration settings. In some embodiments, when the second external device is paired with the electronic device, the electronic device ceases displaying the first user interface and, optionally, displays information (e.g., battery level) of the second external device.
[0237] In some embodiments, the first user interface includes a second affordance (e.g., 622a-5) that, when selected, pairs the second external device with the electronic device. In some embodiments, pairing the second external device with the electronic device creates a persistent association between the second external device and the electronic device. In some embodiments, the second affordance, when selected, disconnects the first external device from the electronic device. In response to detecting an indication that physical proximity between the electronic device and the second external device satisfies a proximity condition, displaying an affordance for pairing the second external device (e.g., in addition to simultaneously displaying an affordance for temporarily sharing data with the second external device) provides feedback that the user has an option to either pair or temporarily share audio data with the second external device, and automatically presents those options. Improve usability of the device by providing improved visual feedback and performing actions when a set of conditions are met (e.g., displaying pairing and sharing options) without requiring further user input, make the user device interface more efficient (e.g., by assisting the user in providing appropriate inputs when operating / interacting with the device and reducing user errors), and additionally reduce power usage and improve the battery life of the device by allowing the user to use the device more quickly and efficiently.
[0238] In some embodiments, the second external device is configured to output audio based on audio data from the electronic device and is wirelessly connected directly to the electronic device (e.g., FIG. 6K). For example, in some embodiments, the second external device does not receive audio data from the electronic device through an intermediate device, such as a telephone to which the second external device is connected.
[0239] In some embodiments, after detecting an input corresponding to a selection of the first affordance and before providing audio data simultaneously to the first external device and the second external device, the electronic device displays an instruction to provide an input (e.g., 612a-3) at the second external device. In some embodiments, the second external device requires an input (e.g., pressing a hardware button on the second external device (e.g., 610c)) to connect to the electronic device.
[0240] In some embodiments, the electronic device receives an indication that a second external device is connected to the electronic device. In some embodiments, in response to receiving the indication that a second external device is connected to the electronic device, the electronic device provides an indication that the second external device is connected to the electronic device (e.g., 616a-4, 624a). In some embodiments, providing the indication that the second external device is connected to the electronic device includes displaying a graphical representation of the second external device. In some embodiments, the indication that the second external device is connected to the electronic device includes an audio output and / or a tactile output.
[0241] In some embodiments, while the second external device is connected to the electronic device, the electronic device displays a second affordance (e.g., 618a-4, 634a-3, 636-2, 906-3) that, when selected, disconnects the second external device from the electronic device. In some embodiments, while the second external device is connected to the electronic device, the electronic device detects an indication that the physical proximity between the electronic device and the second external device satisfies a second proximity condition (e.g., FIG. 6H). In some embodiments, the electronic device displays the second affordance in response to detecting an indication that the physical proximity between the electronic device and the second external device satisfies the second proximity condition. In some embodiments, the second affordance is displayed pursuant to a determination that the second external device has re-entered within a range required to satisfy a proximity condition (e.g., the second proximity condition or the (first) proximity condition). In some embodiments, the second proximity condition is the same as the (first) proximity condition. Displaying an affordance for disconnecting the second external device in response to detecting an indication that physical proximity between the electronic device and the second external device satisfies a second proximity condition provides feedback that the user may stop sharing audio with the second external device and automatically presents an option to disconnect the second external device, thus reducing the number of inputs required to stop sharing audio data. By providing improved feedback and reducing the number of inputs required to perform an action and performing an action when a set of conditions is met without requiring further user input, it improves usability of the device, makes the user-device interface more efficient (e.g., by assisting the user in providing appropriate inputs when operating / interacting with the device and reducing user errors), plus reduces power usage and improves battery life of the device by allowing the user to use the device more quickly and efficiently.
[0242] In some embodiments, the electronic device displays a second affordance (e.g., 618a-4) in accordance with a determination that the second external device is not paired with the electronic device. In some embodiments, if the second external device is paired with the electronic device, the electronic device ceases displaying the second affordance and, optionally, displays information of the second external device (e.g., battery level). In some embodiments, the second affordance is displayed within a menu user interface (e.g., 636). In some embodiments, the menu user interface is a Bluetooth settings menu or an audio output menu user interface of an audio media player application.
[0243] It should be noted that the details of the process (e.g., FIG. 8) described above with respect to method 800 are also applicable in an analogous manner to the methods described above and below. For example, method 700, method 1000, and / or method 1200 optionally include one or more of the characteristics of the various methods described above with respect to method 800. For example, operation 804 of displaying a second user interface in method 700 may be performed in response to detection of an indication in operation 708 of method 700. As another example, the operations of method 800 may be performed before the operations of method 1000 and / or method 1200. For the sake of brevity, these details will not be repeated below.
[0244] 9A-9E show example user interfaces for adjusting volume levels of one or more devices, according to some embodiments. The user interfaces in these figures are used to illustrate processes described below, including the process of FIG.
[0245] FIG. 9A illustrates device 600 simultaneously connected to device 625 (via communication link C5) and device 650 (via communication link C6) and providing audio data. Device 600 displays user interface 900 (e.g., a home screen or application springboard) and detects input 910a (e.g., a swipe on touch-sensitive display 602). In response to detecting input 910a, device 600 displays user interface 902 (e.g., a control center). User interface 902 includes affordances for controlling various functions and settings of device 600 and peripheral devices connected to device 600, such as devices 625 and 650. Affordance 902-1 corresponds to an audio media application that is currently playing a media item (Track 1 by DJ Appleseed). Volume affordance 902-2 provides the ability to adjust the volume levels of device 625 and device 650 from user interface 902 with a single input. Pursuant to a determination that device 600 is providing audio data to more than one device (e.g., sharing audio data with device 650 and simultaneously providing audio data to device 625), user interface 902 includes a graphical element 902-3 (e.g., a badge on volume affordance 902-2). Graphical element 902-3 provides a visual indication that device 600 is providing audio data to multiple devices (e.g., devices associated with multiple users).
[0246] In FIG. 9B, device 600 detects input 910b (e.g., an upward drag) corresponding to the selection of volume affordance 902-2. In response to input 910b being a first type of input (e.g., an upward drag as shown in FIG. 9B), device 600 adjusts (e.g., increases) the volume level of device 625 and the volume level of device 650 as indicated by the updated visual appearance of volume affordance 902-2 in FIG. 9C. In the embodiment shown in FIG. 9C, the height of the horizontal line in volume affordance 902-2 indicates the current master volume level of device 625 and device 650. In some embodiments, adjusting the volume levels of device 625 and device 650 using affordance 902-2 sets the volume levels of device 625 and device 650 to the same volume level (e.g., even though device 625 and device 650 had different volume levels prior to the selection of affordance 902-2). In some embodiments, adjusting the volume levels of device 625 and device 650 using affordance 902-2 sets the volume levels of device 625 and device 650 to respective volume levels based on the initial volume levels of the respective devices and the input on affordance 902-2 (e.g., the direction and length of input 910b). In some embodiments, if the volume level of device 625 is the same as the volume level of device 650, volume affordance 902-2 indicates the volume level of device 625 and device 650. In some embodiments, if the volume level of device 625 is different from the volume level of device 650, volume affordance 902-2 indicates the volume level of device 625, the volume level of device 650, the volume level of the device with the higher volume level, the volume level of the device with the lower volume level, or a combination (e.g., average) of the volume levels of device 625 and device 650.
[0247] 9C, device 600 detects input 910c corresponding to a selection of volume affordance 902-2. In response to input 910c, which is a second type of input different from input 910b, device 600 displays a user interface, where the displayed user interface depends on a connection condition with an external device (e.g., device 650).
[0248] Pursuant to a determination that the connection condition is satisfied (e.g., device 650 is connected to device 625 simultaneously with device 600), device 600 displays user interface 904, as shown in FIG. 9D. User interface 904 includes graphical elements 904-1 through 904-4. Graphical element 904-1 represents device 625 and indicates that volume affordance 904-3 controls the volume level of device 625. Graphical element 904-2 represents device 650 and indicates that volume affordance 904-4 controls the volume level of device 650. Affordance 904-3, when selected (e.g., by dragging vertically), adjusts the volume level of device 650 without changing the volume level of device 625. Affordance 904-4, when selected (e.g., by dragging vertically), adjusts the volume level of device 625 without changing the volume level of device 650. In the embodiment shown in FIG. 9D, the volume level of device 625 is the same as the volume level of device 650, which corresponds to the volume level indicated by volume affordance 902-2.
[0249] According to a determination that the connection condition is not satisfied (e.g., device 650 is connected to device 600 via device 675), device 600 displays user interface 906, as shown in FIG. 9E. In FIG. 9E, device 625 is connected to device 600 via communication link C5, device 675 is connected to device 600 via communication link C8, and device 650 is connected to device 675 via communication link C7. With devices 600, 625, and 675 in this configuration, user interface 906 includes graphical elements 906-1 to 906-4. Graphical element 906-1 represents device 625, and volume affordance 906-2 indicates that volume level of device 625 is controlled. User interface 906 does not include an affordance for controlling volume level of device 650 (e.g., because device 650 is connected to device 600 via device 675). For example, because device 650 is connected to device 675 via communication link C7, device 675 maintains control over the volume level of device 650 (e.g., the volume level of device 650 can only be controlled via inputs on device 675). Selection of disconnect affordance 906-3 causes device 600 to cease sharing audio data with device 650 (e.g., device 600 disconnects communication link C8 with device 675), as indicated by graphical element 906-4 ("Stop Listening with CHANCE").
[0250] 10 is a flow diagram illustrating a method for adjusting a volume level of one or more devices using an electronic device, according to some embodiments. Method 1000 is performed on a device (e.g., 100, 300, 500, or 600) that includes 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.
[0251] As described below, the method 1000 provides an intuitive way to adjust the volume level of one or more devices. The method reduces the cognitive burden on a user to adjust the volume level of one or more devices, thereby creating a more efficient human-machine interface. In the case of battery-operated computing devices, power is conserved and the time between battery charges is increased by allowing a user to adjust the volume level of one or more devices faster and more efficiently.
[0252] While a first connection condition is met for the electronic device (e.g., 600), the first external device (e.g., 625), and the second external device (e.g., 650, 675), the electronic device is configured to provide audio data to the first external device when connected to the first external device and to provide audio data to the second external device when connected to the second external device, and the electronic device receives (1002) a request (e.g., input 910a) to display a first volume control affordance (e.g., 902-2). In some embodiments, the connection condition is based on a connection condition of the first external device and / or the second external device to the electronic device. In some embodiments, the connection condition is met when the electronic device is simultaneously connected to the first external device (e.g., a pair of wireless headphones or wireless earphones operating as a single device) and a second external device different from the first external device (e.g., a pair of wireless headphones or wireless earphones operating as a single device). In some embodiments, the electronic device is directly connected to the second external device. In some embodiments, the electronic device is connected to the second external device through a third external device (e.g., a phone). For example, the electronic device is connected to the third external device, and the third external device is connected to the second external device. In some embodiments, the connection condition is met only when the first external device and the second external device are operating as independent devices (e.g., not as a pair of earphones operating together). Examples of requests to display the first volume control affordance include, but are not limited to, a touch input on a touch-sensitive surface of the electronic device (e.g., an upward swipe gesture from the bottom edge of the touch-sensitive surface, a downward swipe gesture from the top edge of the touch-sensitive surface), a selection of an affordance, a press of a mechanical button on the electronic device (e.g., while the electronic device is in a sleep state or while the display device is inactive), a movement of the electronic device that satisfies a movement condition (e.g., picking up the electronic device or moving the electronic device to a viewing position).In some embodiments, the request to display a volume control affordance includes a request to display a user interface (eg, a control center user interface) having a volume control affordance.
[0253] In response to receiving the request to display the first volume control affordance, the electronic device displays (1004) the first volume control affordance (e.g., 902-2).
[0254] The electronic device detects an input (e.g., 910c) corresponding to a selection of a first volume control affordance (1006). In some embodiments, the input corresponding to the selection of the volume control affordance includes a contact on a touch-sensitive surface of the electronic device, and the contact is determined to have a characteristic intensity that exceeds a predetermined threshold intensity. In some embodiments, the input corresponding to the selection of the volume control affordance includes a contact on a touch-sensitive surface of the electronic device, and the contact is determined to have a duration that exceeds a predetermined threshold duration.
[0255] In response to detecting an input corresponding to a selection of the first volume control affordance, the electronic device displays (1008) a user interface (eg, 904, 906). As part of displaying the user interface, pursuant to a determination that a second connection condition is met for the second external device (e.g., the second external device is directly connected to the electronic device, the second external device is not connected to the electronic device via a third external device (e.g., a phone), and the second external device is connected only to the electronic device), the electronic device displays (1010) a second volume control affordance (e.g., 904-3) that, when selected, adjusts the volume level of the first external device (e.g., without adjusting the volume of the second external device) and a third volume control affordance (e.g., 904-4) that, when selected, adjusts the volume level of the second external device (e.g., without adjusting the volume of the first external device, the electronic device displays separate control items for the first external device and the second external device, which provides the ability to control the volume level of the first external device independently of the volume level of the second external device, and vice versa). In some embodiments, the electronic device stops displaying the first volume control affordance and displays the second volume control affordance and the third volume control affordance. In some embodiments, a second connection condition is met for the second external device if the second external device is a composite device (e.g., a pair of earphones that operate cooperatively as one device) and one or more elements of the composite device are directly connected to the electronic device. Displaying the volume control affordance for the first external device and a separate volume control affordance for the second external device based on a determination that the connection condition is met with respect to the second external device provides feedback to the user by displaying control items that are relevant to the current context.Providing improved feedback may improve usability of the device and may result in a more efficient user device interface (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the device), which may further reduce power usage and improve the battery life of the device by allowing the user to use the device more quickly and efficiently.
[0256] As part of displaying the user interface, pursuant to a determination that the second connection condition is not met for the second external device, the electronic device displays a fourth volume control affordance (e.g., 906-2) that, when selected, adjusts the volume level of the first external device (e.g., without adjusting the volume of the second external device) without displaying a volume control affordance for adjusting the volume level of the second external device (e.g., the electronic device displays a single volume control affordance for adjusting the volume level of the first external device) (1012). Displaying the volume control affordance for only the first external device based on a determination that the connection condition is not met for the second external device provides feedback to the user by displaying control items relevant to the current context. Providing improved feedback improves device usability and makes the user device interface more efficient (e.g., by helping the user make appropriate inputs and reducing user errors when operating / interacting with the device), which further reduces power usage and improves the device's battery life by allowing the user to use the device more quickly and efficiently.
[0257] In some embodiments, the second connection condition is not met for the second external device if the second external device is paired with a third external device (e.g., a phone) and receives audio data from the electronic device directly or indirectly through the third external device. In some embodiments, the second connection condition is not met for the second external device if the second external device is a pair of earphones paired with a device other than the electronic device. In some embodiments, two devices are paired if they have a permanent association with each other and are configured to exchange data via a communication link. In some embodiments, devices are not paired if they do not have a permanent association with each other. In some embodiments, paired devices remain associated with each other if the communication link between the devices is not currently active, while temporarily connected but unpaired devices are not associated with each other after the temporary connection ends. In some embodiments, paired devices share common configuration settings. In some embodiments, the electronic device stops displaying the first volume control affordance and displays a fourth volume control affordance. In some embodiments, the user interface is displayed pursuant to a determination that an input corresponding to a selection of the first volume control affordance is a first type of input (e.g., a hard press or a static long press). In some embodiments, the first volume affordance provides the ability to simultaneously adjust the volume levels of the first external device and the second external device. For example, in some embodiments, pursuant to a determination that an input corresponding to a selection of the first volume control affordance is a second type of input different from the first type (e.g., an upward or downward swipe gesture on the first volume control affordance), the electronic device updates the first volume control affordance to indicate the new volume level, transmits an instruction to adjust the volume level of the first external device, and, if the second external device is not connected to a third external device, transmits an instruction to adjust the volume level of the second external device.
[0258] In some embodiments, the electronic device displays a fifth volume control affordance (e.g., 616a-6) that, when selected, adjusts the volume level of the first external device and adjusts the volume level of the second external device (e.g., see also FIGS. 6O and 6Q) simultaneously with the second volume control affordance (e.g., 616a-3) and the third volume control affordance (e.g., 616a-4). In some embodiments, the fifth volume control affordance is the first volume control affordance (e.g., the first volume control affordance remains displayed when selected).
[0259] In some embodiments, an input (e.g., 910c) corresponding to a selection of the first volume control affordance includes a contact having a characteristic intensity, and displaying a user interface (e.g., 904, 906) is performed pursuant to a determination that the characteristic intensity exceeds a threshold intensity. In some embodiments, pursuant to a determination that the characteristic intensity does not exceed a threshold intensity, the electronic device ceases displaying the user interface. Displaying a user interface based on a characteristic of the input provides additional control options for the first volume control affordance and avoids cluttering the display by displaying additional control items. Providing additional control options without cluttering the display with additional controls displayed enhances device usability and makes the user device interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user errors when operating / interacting with the device), as well as reducing power usage and improving the device's battery life by allowing the user to use the device more quickly and efficiently.
[0260] In some embodiments, the electronic device displays an indication (e.g., 902-3) that the first connection condition is met for the electronic device, the first external device, and the second external device concurrently with the first volume control affordance. In some embodiments, the indication that the first connection condition is met for the electronic device, the first external device, and the second external device is displayed on the first volume control affordance.
[0261] In some embodiments, the electronic device displays a disconnect affordance (e.g., 906-3) that, when selected, disconnects the second external device from the electronic device simultaneously with the fifth volume control affordance. In some embodiments, the disconnect affordance is displayed simultaneously with the fourth volume control affordance. Displaying an affordance for disconnecting the second external device provides feedback that the user can stop sharing audio with the second external device and presents the option to disconnect the second external device without requiring additional input (e.g., to access a separate options menu), reducing the number of inputs required to stop sharing audio data. Providing improved feedback and reducing the number of inputs required to perform an operation enhances device usability and makes the user device interface more efficient (e.g., by helping the user make appropriate inputs when operating / interacting with the device and reducing user errors), as well as reducing device power usage and improving battery life by allowing the user to use the device more quickly and efficiently.
[0262] It should be noted that the details of the process (e.g., FIG. 10) described above with respect to method 1000 are also applicable in an analogous manner to the methods described above and below. For example, methods 700, 800, and / or 1200 optionally include one or more of the features of the various methods described above with reference to method 1000. For example, the operations of method 1000 may be performed either after the operations of methods 700 and / or 800, before or after the operations of method 1200. For the sake of brevity, these details will not be repeated below.
[0263] 11A-11F show exemplary user interfaces for controlling an audio media application according to some embodiments. The user interfaces in these figures are used to illustrate processes described below, including the process of FIG.
[0264] FIG. 11A illustrates a device 1100 (e.g., a watch) having a display device 1102, a rotatable input device 1104, and a mechanical button 1106. In some embodiments, the device 1100 is device 100, 300, or 500. In some embodiments, the rotatable input device 1104 is depressible and rotatable. In FIG. 11A, the device 1100 displays a user interface 1108 including affordance 1108-1 and affordance 1108-2. Affordance 1108-1 corresponds to an audio media application on a first device (e.g., a phone) to which the device 1100 is connected (e.g., via a Bluetooth or Internet connection). In the embodiment illustrated in FIGS. 11A-11F, the device 1100 is connected (e.g., paired) with the device 600 described above, and affordance 1108-1 corresponds to an audio media application on the device 600. Affordance 1108-2 corresponds to an audio media application on a second device (e.g., a wireless speaker) to which device 1100 is connected (e.g., via a Bluetooth or Internet connection). Affordances 1108-1 and 1108-2 can be selected to display a user interface for controlling the corresponding application on the corresponding device.
[0265] 11A, the device 1100 detects an input 1110a (e.g., a tap) corresponding to a selection of an affordance 1108-1. In response to detecting the input 1110a, the device 1100 displays an audio media user interface 1112 for controlling an audio media application on the device 600 corresponding to the affordance 1108-1. The audio media user interface 1112 includes, among other things, track information 1112-1, a volume level indicator 1112-2, and a control 1112-3. The volume level indicator 1112-2 indicates the volume level(s) of the audio output device(s) to which the device 600 is providing audio data. In some embodiments, the number of arcs on the right side of the volume level indicator 1112-2 indicates the volume level (e.g., one arc is low, two arcs is medium, and three arcs is high).
[0266] In FIG. 11B, device 1100 detects input 1110b (e.g., rotation of rotatable input device 1104). In response to detecting input 1110b, device 1100 sends an instruction to device 600 to adjust the volume level of the device(s) that output audio provided by an application corresponding to audio media user interface 1112. For example, as described above, if device 600 is simultaneously providing audio data to device 625 and device 650, rotating rotatable input device 1104 can adjust the volume levels of device 625 and device 650 with a single input. In some embodiments, adjusting the volume levels of device 625 and device 650 with rotatable input device 1104 sets the volume levels of device 625 and device 650 to the same volume level (e.g., even if device 625 and device 650 had different volume levels prior to movement of rotatable input device 1104). In some embodiments, adjusting the volume levels of device 625 and device 650 using the rotatable input device 1104 sets the volume levels of device 625 and device 650 to respective volume levels based on the initial volume levels of the respective devices and the movement of the rotatable input device 1104 (e.g., the amount and / or speed of rotation of the rotatable input device 1104).
[0267] In response to determining that the device corresponding to the audio media user interface 1112 is providing audio to multiple devices (e.g., device 600 is providing audio data to device 625 and device 650), device 1100 displays multiple volume level indicators in response to detecting input 1110b. As shown in FIG. 11C, device 1100 displays volume level indicators 1112-4 including an individual volume level indicator 1112-4a corresponding to a first output device (e.g., device 625) and an individual volume level indicator 1112-4b corresponding to a second output device (e.g., device 650). In response to detecting that the input 1110b has stopped (e.g., a predetermined amount of time after detecting that the input 1110b has stopped), device 1100 displays an updated volume level indicator 1112-5 indicating the volume level after the input 1110b, as shown in FIG. 11D. In some embodiments, if the volume level of device 625 is the same as the volume level of volume level indicator 1112-5 of device 650, volume level indicator 1112-5 indicates the volume level of device 625 and device 650. In some embodiments, if the volume level of device 625 is different from the volume level of device 650, volume level indicator 1112-5 indicates the volume level of device 625, the volume level of device 650, the volume level of the device with the higher volume level, the volume level of the device with the lower volume level, or a combination (e.g., average) of the volume levels of device 625 and device 650.
[0268] 11D, device 1100 detects input 1110c (e.g., a tap) that corresponds to a selection of affordance 1112-6 on user interface 1112. In response to detecting input 1110c, device 1100 displays a user interface for selecting an audio output device(s). The user interface depends on the state of the output devices, for example, based on a configuration of available output devices.
[0269] For example, if device 600 provides audio data to two devices (device 625 and device 650) simultaneously, device 1100 displays device selection user interface 1114, as shown in FIG. 11E. Device selection user interface 1114 includes affordance 1114-1 and affordance 1114-2. Affordance 1114-1 corresponds to device 600 and, when selected, selects device 600 for device output audio. Affordance 1114-2 corresponds to device 625 and device 650 and, when selected, selects both device 625 and device 650 as devices for outputting audio. That is, selecting a single affordance (affordance 1114-2) provides audio data from an audio media application to two or more devices (device 625 and device 650) simultaneously.
[0270] If device 600 does not provide audio data to two devices simultaneously (e.g., device provides audio data only to device 625), device 1100 displays device selection user interface 1116, as shown in FIG. 11F. Device selection user interface 1116 includes affordance 1116-1, affordance 1116-2, and affordance 1116-3. Affordance 1116-1 corresponds to device 600 and, when selected, selects device 600 as a device for outputting audio, affordance 1116-2 corresponds to device 625 and, when selected, selects device 625 as a device for outputting audio, and affordance 1116-3 corresponds to a third device to which device 600 is configured to provide audio data. In some embodiments, there is no single affordance on device selection user interface 1116 that corresponds to more than one device (e.g., there is no single affordance that causes audio to be output on more than one device).
[0271] 12 is a flow diagram illustrating a method for controlling an audio media output application using an electronic device, according to some embodiments. Method 1200 is performed on a device (e.g., 100, 300, 500, or 1100) that includes a display device (e.g., 1102). Some operations of method 1200 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0272] As described below, the method 1200 provides an intuitive way to control audio media output. The method reduces the cognitive burden on the user to control the audio media output, thereby creating a more efficient human-machine interface. In the case of battery-operated computing devices, power is conserved and the time between battery charges is increased by allowing the user to control the audio media output more quickly and efficiently.
[0273] While displaying a first user interface (e.g., 1112) that includes control items (e.g., 1112-3) for an audio media application, the electronic device receives (1202) a request (e.g., input 1110c) to display user interfaces (e.g., 1114, 1116) for selecting one or more devices (e.g., wireless headphones or wireless earphones) through which audio from the audio media application is output.
[0274] In response to receiving a request from an audio media application to display a user interface for selecting one or more devices to which audio is to be output, the electronic device displays (1204) a second user interface (eg, 1114, 1116).
[0275] As part of displaying the second user interface, in accordance with a determination that the source electronic device (e.g., 600, 1100) is connected to a first external device (e.g., 625, a pair of wireless headphones or wireless earphones operating together as a single device) and a second external device different from the first external device (e.g., 650, a pair of wireless headphones or wireless earphones operating as a single device) and is configured to provide audio data from an audio media application to the first external device and the second external device simultaneously, the electronic device displays (1206) a first affordance (e.g., 1114-2) that, when selected, causes audio data from the audio media application to be provided to the first external device and the second external device simultaneously. Displaying a first affordance to cause audio data from the audio media application to be provided to the first external device and the second external device simultaneously based on determining that the source electronic device is connected to the first external device and the second external device and the source electronic device is configured to provide audio data from the audio media application to the first external device and the second external device simultaneously provides feedback to the user by displaying control items relevant to the current context. Providing improved feedback improves usability of the device and makes the user device interface more efficient (e.g., by helping the user make appropriate inputs and reducing user errors when operating / interacting with the device), which in turn reduces power usage and improves the battery life of the device by allowing the user to use the device more quickly and efficiently.
[0276] In some embodiments, the source electronic device is an electronic device. In some embodiments, the source electronic device is an external device connected to the electronic device. In some embodiments, the audio media application runs on a source device external to the electronic device, and the audio media application is controllable by an input at the electronic device via a connection between the electronic device and the source device. In some embodiments, audio is not provided to the second external device through the first external device. In some embodiments, the second external device appears to the electronic device as an external device separate from the first external device. In some embodiments, the first external device and the second external device are not a pair of earphones operating as a single device.
[0277] As part of displaying the second user interface, in accordance with a determination that the source electronic device is connected to the first external device and configured to provide audio data from the audio media application to the first external device without simultaneously providing audio data from the audio media application to another external device, the electronic device displays (1208) a second affordance (e.g., 1116-2) that, when selected, causes audio data from the audio media application to be provided only to the first external device based on a determination that the source electronic device is connected to the first external device and configured to provide audio data from the audio media application to the first external device without simultaneously providing audio data from the audio media application to another external device, provides feedback to the user by displaying control items relevant to the current context. Providing improved feedback improves device usability and makes the user device interface more efficient (e.g., by assisting the user in making appropriate inputs and reducing user errors when operating / interacting with the device), which further reduces power usage and improves the device's battery life by allowing the user to use the device more quickly and efficiently.
[0278] In some embodiments, when the source electronic device is connected to multiple output devices (e.g., a first external device and a second external device) and is configured to provide audio data from an audio media application to each output device, but not to more than one at a time, the electronic device displays one affordance for each output device to provide audio data to the corresponding output device. In some embodiments, providing audio to only the first external device includes providing audio to a physically separated pair of earphones that operate as a single external device.
[0279] In some embodiments, a first external device (e.g., 625) is paired with a source electronic device (e.g., 600, 1100). In some embodiments, two devices (e.g., the first external device and the source electronic device) are paired when they have a permanent association with each other and are configured to exchange data over a communication link. In some embodiments, devices are not paired when they do not have a permanent association with each other. In some embodiments, paired devices remain associated with each other when the communication link between the devices is not currently active, while temporarily connected but unpaired devices are not associated with each other after the temporary connection ends. In some embodiments, paired devices share common configuration settings.
[0280] In some embodiments, the second external device (e.g., 650) is not paired with the source electronic device (e.g., 600, 1100). In some embodiments, the source electronic device (e.g., 600) is paired with the electronic device (e.g., 1100).
[0281] In some embodiments, the second user interface includes a third affordance (eg, 1114-1, 1116-1) that, when selected, causes audio from the audio media application to be output by the source electronic device.
[0282] In some embodiments, the electronic device detects an input (e.g., a single input, a single input on a single volume adjustment affordance). In some embodiments, in response to detecting the input (e.g., 1110b), the electronic device adjusts a volume level of the first external device and adjusts a volume level of the second external device. Adjusting the volume level of the first external device and the volume level of the second external device in response to a single input reduces the number of inputs required to adjust the volume of both devices and reduces the need to display additional control items to adjust the volume of both devices. Reducing the number of inputs required before performing an operation and providing additional control options without cluttering the user interface with additional displayed control items improves device usability and makes the user-device interface more efficient (e.g., by assisting the user in providing appropriate inputs and reducing user failures when operating / interacting with the device), which in turn allows the user to use the device more quickly and efficiently, reducing device power usage and improving battery life.
[0283] In some embodiments, in response to detecting the input, the electronic device displays a graphical indication of the volume level of the first external device (e.g., 1112-4a) and a graphical indication of the volume level of the second external device (e.g., 1112-4b) that is different from the graphical indication of the volume level of the first external device. In some embodiments, the graphical indications of the volume levels of the first and second external devices are visually separate graphical elements (e.g., separate sliders or bars). Displaying separate graphical indications of the volume level of each device provides feedback to the user that the input adjusts the volume of both devices. Providing improved feedback improves device usability and makes the user device interface more efficient (e.g., by helping the user make appropriate inputs and reducing user errors when operating / interacting with the device), which in turn reduces power usage and improves the device's battery life by allowing the user to use the device more quickly and efficiently.
[0284] In some embodiments, the input includes rotation of a rotatable input device (e.g., 1104) of the electronic device relative to a housing of the electronic device. In some embodiments, the rotatable input device is both rotatable and depressible.
[0285] It should be noted that details of the process (e.g., FIG. 12) described above with respect to method 1200 are also applicable in a similar manner to the methods described above. For example, methods 700, 800, and / or 1000 optionally include one or more of the features of the various methods described above with reference to method 1200. For example, the operations of method 1200 may be performed either before or after the operations of methods 700 and / or 800, or before or after the operations of method 1000. For the sake of brevity, these details will not be repeated below.
[0286] The above has been described with reference to specific embodiments for purposes of illustration. However, the above exemplary discussion is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teachings. The embodiments have been chosen and described in order to best explain the principles of the technology and their practical applications. In order to enable others skilled in the art to best utilize the technology and various embodiments with various modifications as suited to the specific applications intended.
[0287] Although the present disclosure and examples have been fully described with reference to the accompanying drawings, it should be noted that various changes and modifications will become apparent to those skilled in the art, and such changes and modifications are to be understood as being included within the scope of the present disclosure and examples, as defined by the claims.
[0288] As mentioned above, one aspect of the present technology is to collect and use data available from various sources to improve the delivery of audio media to users. This disclosure contemplates that in some examples, this collected data may include personal information data that uniquely identifies a particular person or that can be used to contact or locate a particular person. Such personal information data may include demographic data, location-based data, phone numbers, email addresses, Twitter IDs, addresses, audio media service (e.g., music streaming services) account information and / or user preferences, data or records regarding the user's health or fitness level (e.g., vital sign measurements, medication information, exercise information), birth date, or any other identifying or personal information.
[0289] This disclosure recognizes that the use of such personal information data in the present technology may be used to the benefit of the user. For example, personal information data may be used to provide audio media that is more appealing to the user. Thus, use of such personal information data allows for calculated control of the content provided by the user. Additionally, other uses of personal information data that benefit the user are also contemplated by this disclosure. For example, health and fitness data may be used to provide insight into the overall wellness of the user, or may be used as proactive feedback to individuals using the technology in pursuit of wellness goals.
[0290] This disclosure contemplates that entities involved in the collection, analysis, disclosure, transmission, storage, or other use of such personal information data will adhere to robust privacy policies and / or privacy practices. Specifically, such entities should implement and consistently use privacy policies and practices that are generally recognized as meeting or exceeding industry or government requirements for keeping personal information data confidential and secure. Such policies should be easily accessible by users and should be updated as data collection and / or use changes. Personal information from users should be collected for the entity's lawful and legitimate uses and should not be shared or sold except for those lawful uses. Furthermore, such collection / sharing should be carried out after informing and obtaining consent from the user. Moreover, such entities should consider taking all necessary measures to protect and secure access to such personal information data and ensure that others who have access to the personal information data adhere to their privacy policies and procedures. Furthermore, such entities may subject themselves to third-party assessments to attest to their adherence to widely accepted privacy policies and practices. Moreover, policies and practices should be adapted to the specific types of personal information data collected and / or accessed, and should conform to applicable laws and standards, including jurisdiction-specific considerations. For example, in the United States, collection of or access to certain health data may be governed by federal and / or state laws, such as the Health Insurance Portability and Accountability Act (HIPAA), while health data in other countries may be subject to other regulations and policies and should be addressed accordingly. Therefore, different privacy practices should be maintained with respect to different types of personal data in each country.
[0291] Notwithstanding the foregoing, the present disclosure also contemplates embodiments in which a user selectively blocks use of or access to personal information data. That is, the present disclosure contemplates that hardware and / or software elements may be provided to prevent or block access to such personal information data. For example, in the case of an audio streaming service, the present technology may be configured to allow a user to select to "opt-in" or "opt-out" of participating in the collection of personal information data during registration for the service or at any time thereafter. In another example, a user may choose not to provide user preferences or account information for the audio streaming service. In yet another example, a user may choose to limit the period for which preference data is maintained or to completely prohibit the development of a baseline preference profile. In addition to providing "opt-in" and "opt-out" options, the present disclosure contemplates providing notifications regarding access or use of personal information. For example, a user may be notified upon download of an app that will access the user's personal information data, and then again immediately before the personal information data is accessed by the app.
[0292] Moreover, it is the intent of this disclosure that personal information data should be managed and processed in a manner that minimizes the risk of unintentional or unauthorized access or use. Risk can be minimized by limiting the collection of data and deleting it when it is no longer needed. Additionally, and where applicable in certain health-related applications, anonymization of data can be used to protect user privacy. De-identification can be facilitated by removing certain identifiers (e.g., date of birth, etc.) where appropriate, controlling the amount or specificity of data stored (e.g., collecting location data at a city level rather than an address level), controlling how data is stored (e.g., aggregating data across users), and / or other methods.
[0293] Thus, while this disclosure broadly encompasses the use of personal information data to implement one or more of the various disclosed embodiments, this disclosure also contemplates that the various embodiments may be implemented without requiring access to such personal information data. That is, the various embodiments of the present technology are not rendered inoperable by the absence of all or a portion of such personal information data. For example, audio content may be selected and delivered to a user by inferring preferences based on non-personal information or minimal personal information, such as content requested by a device associated with the user, other non-personal information available to the audio content delivery service, or publicly available information.
Claims
1. In an electronic device having a display device, While the electronic device is connected to a first external device via a communication link, the electronic device is configured to provide audio data to the first external device via the communication link, and displaying, via the display device, a first user interface including a first affordance; Detecting an input corresponding to a selection of the first affordance; in response to detecting the input corresponding to a selection of the first affordance, initiating a process of providing audio data simultaneously to the first external device and a second external device different from the first external device; detecting an indication that a physical proximity between the electronic device and the second external device satisfies a proximity condition after initiating the process of providing audio data simultaneously to the first external device and the second external device; and in response to detecting the indication that the physical proximity between the electronic device and the second external device satisfies the proximity condition, displaying a second user interface indicating that the physical proximity between the electronic device and the second external device satisfies the proximity condition.
2. 2. The method of claim 1 , wherein displaying the first user interface including the first affordance is performed pursuant to a determination that the first external device is configured to receive audio data from the electronic device while simultaneously providing audio data to the second external device.
3. The method of claim 1 or 2, wherein displaying the first user interface including the first affordance is performed pursuant to a determination that the electronic device is running an audio media application.
4. The method of claim 1 , wherein the second external device is configured to output audio based on the audio data from the electronic device and is directly connected to the electronic device.
5. 4. The method of claim 1, wherein the second external device is connected to a third external device and configured to provide the audio data from the electronic device to the third external device.
6. Initiating a process of simultaneously providing audio data to the first external device and the second external device includes: Displaying a representation of a first potential second external device; and displaying a representation of a second potential second external device.
7. 7. The method of claim 1, wherein the second user interface includes a second affordance that, when selected, causes the electronic device to provide audio data to the first external device and a second external device simultaneously.
8. 8. The method of claim 1, further comprising: displaying instructions to provide input on the second external device after detecting the indication that the physical proximity between the electronic device and the second external device satisfies the proximity condition and before providing audio data simultaneously to the first external device and the second external device.
9. receiving an indication that the second external device is connected to the electronic device; 9. The method of claim 1, further comprising: in response to receiving the indication that the second external device is connected to the electronic device, providing an indication that the second external device is connected to the electronic device.
10. 10. The method of claim 1, further comprising: displaying a third affordance that, when selected, disconnects the second external device from the electronic device while the second external device is connected to the electronic device.
11. 11. The method of claim 10, further comprising: detecting an indication that the physical proximity between the electronic device and the second external device satisfies a second proximity condition while the second external device is connected to the electronic device, and wherein displaying the third affordance is performed in response to detecting the indication that the physical proximity between the electronic device and the second external device satisfies the second proximity condition.
12. The method of claim 11 , wherein displaying the third affordance is performed pursuant to a determination that the second external device is not paired with the electronic device.
13. The method of claim 10 , wherein the third affordance is displayed in a menu user interface.
14. A non-transitory computer-readable storage medium storing 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 including instructions for performing the method of any one of claims 1 to 13.
15. A display device; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, The one or more programs include instructions for carrying out the method according to any one of claims 1 to 13.
16. A display device; An electronic device comprising: means for performing the method according to any one of claims 1 to 13.
17. A non-transitory computer-readable storage medium storing 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 comprising: While the electronic device is connected to a first external device via a communication link, the electronic device is configured to provide audio data to the first external device via the communication link, and display via the display device a first user interface including a first affordance; Detecting an input corresponding to a selection of the first affordance; in response to detecting the input corresponding to a selection of the first affordance, initiate a process for providing audio data simultaneously to the first external device and a second external device different from the first external device; detecting an indication that a physical proximity between the electronic device and the second external device satisfies a proximity condition after initiating the process of providing audio data to the first external device and the second external device simultaneously; responsive to detecting the indication that the physical proximity between the electronic device and the second external device satisfies the proximity condition, displaying a second user interface indicating that the physical proximity between the electronic device and the second external device satisfies the proximity condition.
18. A display device; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, The one or more programs are While the electronic device is connected to a first external device via a communication link, the electronic device is configured to provide audio data to the first external device via the communication link, and display via the display device a first user interface including a first affordance; Detecting an input corresponding to a selection of the first affordance; in response to detecting the input corresponding to a selection of the first affordance, initiate a process for providing audio data simultaneously to the first external device and a second external device different from the first external device; detecting an indication that a physical proximity between the electronic device and the second external device satisfies a proximity condition after initiating the process of providing audio data to the first external device and the second external device simultaneously; responsive to detecting the indication that the physical proximity between the electronic device and the second external device satisfies the proximity condition, displaying a second user interface indicating that the physical proximity between the electronic device and the second external device satisfies the proximity condition.
19. 1. An electronic device comprising: A display device; a display device configured to display, via the display device, a first user interface including a first affordance, the first user interface being configured to provide audio data to the first external device via a communication link while the electronic device is connected to the first external device via the communication link; means for detecting an input corresponding to a selection of the first affordance; means for initiating a process of providing audio data simultaneously to the first external device and a second external device different from the first external device in response to detecting the input corresponding to a selection of the first affordance; means for detecting, after initiating the process of simultaneously providing audio data to the first external device and the second external device, an indication that a physical proximity between the electronic device and the second external device satisfies a proximity condition; and means for displaying a second user interface indicating that the physical proximity between the electronic device and the second external device satisfies the proximity condition in response to detecting the indication that the physical proximity between the electronic device and the second external device satisfies the proximity condition.
20. In an electronic device having a display device, detecting an indication that a physical proximity between the electronic device and a second external device different from the first external device satisfies a proximity condition, the electronic device being configured to provide audio data to the first external device via a communication link while the electronic device is connected to the first external device via the communication link; In response to detecting the indication that the physical proximity between the electronic device and the second external device satisfies the proximity condition, displaying via the display device a first user interface including a first affordance; Detecting an input corresponding to a selection of the first affordance; and in response to detecting the input corresponding to a selection of the first affordance, initiating a process of providing audio data simultaneously to the first external device and the second external device.
21. 21. The method of claim 20, wherein displaying the first user interface including the first affordance is performed pursuant to a determination that the first external device is configured to receive audio data from the electronic device while simultaneously providing audio data to the second external device.
22. 22. The method of claim 20 or 21, wherein displaying the first user interface including the first affordance is performed following a determination that the electronic device is running an audio media application.
23. 23. The method of claim 20, wherein displaying the first user interface including the first affordance is performed following a determination that the second external device is not paired with the electronic device.
24. 24. The method of any one of claims 20 to 23, wherein the first user interface includes a second affordance that, when selected, pairs the second external device with the electronic device.
25. 25. The method of any one of claims 20 to 24, wherein the second external device is configured to output audio based on the audio data from the electronic device and is wirelessly connected directly to the electronic device.
26. 26. The method of claim 20, further comprising: after detecting the input corresponding to a selection of the first affordance and before providing audio data simultaneously to the first external device and the second external device, displaying instructions to provide an input on the second external device.
27. receiving an indication that the second external device is connected to the electronic device; 27. The method of claim 20, further comprising: in response to receiving the indication that the second external device is connected to the electronic device, providing an indication that the second external device is connected to the electronic device.
28. 28. The method of claim 20, further comprising displaying a second affordance that, when selected, disconnects the second external device from the electronic device while the second external device is connected to the electronic device.
29. 30. The method of claim 28, further comprising: detecting an indication that the physical proximity between the electronic device and the second external device satisfies a second proximity condition while the second external device is connected to the electronic device, and wherein displaying the second affordance is performed in response to detecting the indication that the physical proximity between the electronic device and the second external device satisfies the second proximity condition.
30. 30. The method of claim 29, wherein displaying the second affordance is performed pursuant to a determination that the second external device is not paired with the electronic device.
31. The method of any one of claims 28 to 30, wherein the second affordance is displayed in a menu user interface.
32. A non-transitory computer-readable storage medium storing 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 including instructions for performing the method of any one of claims 20 to 31.
33. A display device; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, 32. An electronic device, wherein the one or more programs comprise instructions for carrying out the method of any one of claims 20 to 31.
34. A display device; and means for carrying out the method according to any one of claims 20 to 31.
35. A non-transitory computer-readable storage medium storing 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 comprising: while the electronic device is connected to a first external device via a communication link, the electronic device is configured to provide audio data to the first external device via the communication link; and detect an indication that a physical proximity between the electronic device and a second external device different from the first external device satisfies a proximity condition; In response to detecting the indication that the physical proximity between the electronic device and the second external device satisfies the proximity condition, displaying via the display device a first user interface including a first affordance; Detecting an input corresponding to a selection of the first affordance; a first external device and a second external device connected to the first external device and a second external device connected to the second external device;
36. A display device; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, The one or more programs are while the electronic device is connected to a first external device via a communication link, the electronic device is configured to provide audio data to the first external device via the communication link; and detect an indication that a physical proximity between the electronic device and a second external device different from the first external device satisfies a proximity condition; In response to detecting the indication that the physical proximity between the electronic device and the second external device satisfies the proximity condition, displaying via the display device a first user interface including a first affordance; Detecting an input corresponding to a selection of the first affordance; responsive to detecting the input corresponding to a selection of the first affordance, initiate a process of providing audio data simultaneously to the first external device and the second external device.
37. 1. An electronic device comprising: A display device; a first external device connected to the electronic device via a communication link, the electronic device being configured to provide audio data to the first external device via the communication link; and means for detecting an indication that a physical proximity between the electronic device and a second external device different from the first external device satisfies a proximity condition; means for displaying, in response to detecting the indication that the physical proximity between the electronic device and the second external device satisfies the proximity condition, via the display device, a first user interface including a first affordance; means for detecting an input corresponding to a selection of the first affordance; and means for initiating a process of providing audio data simultaneously to the first external device and the second external device in response to detecting the input corresponding to a selection of the first affordance.
38. In an electronic device having a display device, receiving a request to display a first volume control affordance, the electronic device being configured to provide audio data to the first external device when connected to the first external device and to provide audio data to the second external device when connected to the second external device while a first connection condition is satisfied for the electronic device, a first external device, and a second external device; displaying the first volume control affordance in response to receiving the request to display the first volume control affordance; and Detecting an input corresponding to a selection of the first volume control affordance; In response to detecting the input corresponding to a selection of the first volume control affordance, displaying a user interface; displaying, in accordance with a determination that a second connection condition is satisfied for the second external device, a second volume control affordance that, when selected, adjusts a volume level of the first external device and a third volume control affordance that, when selected, adjusts a volume level of the second external device; and displaying a user interface including: displaying a fourth volume control affordance that, when selected in accordance with a determination that the second connection condition is not satisfied for the second external device, adjusts a volume level of the first external device without displaying a volume control affordance for adjusting the volume level of the second external device.
39. 40. The method of claim 38, further comprising: displaying a fifth volume control affordance that, when selected, adjusts a volume level of the first external device and adjusts a volume level of the second external device simultaneously with the second volume control affordance and the third volume control affordance.
40. 40. The method of claim 38 or 39, wherein the input corresponding to a selection of the first volume control affordance includes a contact having a characteristic intensity, and displaying the user interface is performed pursuant to a determination that the characteristic intensity exceeds a threshold intensity.
41. 41. The method of claim 38, further comprising: displaying, contemporaneously with the first volume control affordance, an indication that the first connection condition is satisfied for the electronic device, a first external device, and a second external device.
42. 42. The method of claim 38, further comprising: displaying, simultaneously with the fifth volume control affordance, a disconnect affordance that, when selected, disconnects the second external device from the electronic device.
43. A non-transitory computer-readable storage medium storing 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 including instructions for performing the method of any one of claims 38 to 42.
44. A display device; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, 43. An electronic device, wherein the one or more programs comprise instructions for carrying out the method of any one of claims 38 to 42.
45. A display device; and means for performing the method according to any one of claims 38 to 42.
46. A non-transitory computer-readable storage medium storing 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 comprising: receiving a request to display a first volume control affordance while a first connection condition is satisfied for the electronic device, a first external device, and a second external device, where the electronic device is configured to provide audio data to the first external device when connected to the first external device and to provide audio data to the second external device when connected to the second external device; In response to receiving the request to display the first volume control affordance, displaying the first volume control affordance; Detecting an input corresponding to a selection of the first volume control affordance; In response to detecting the input corresponding to a selection of the first volume control affordance, displaying a user interface; displaying, in accordance with a determination that a second connection condition is satisfied for the second external device, a second volume control affordance that, when selected, adjusts a volume level of the first external device and a third volume control affordance that, when selected, adjusts a volume level of the second external device; and displaying a fourth volume control affordance that, when selected in accordance with a determination that the second connection condition is not satisfied for the second external device, adjusts a volume level of the first external device without displaying a volume control affordance for adjusting the volume level of the second external device.
47. A display device; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, The one or more programs are receiving a request to display a first volume control affordance while a first connection condition is satisfied for the electronic device, a first external device, and a second external device, where the electronic device is configured to provide audio data to the first external device when connected to the first external device and to provide audio data to the second external device when connected to the second external device; In response to receiving the request to display the first volume control affordance, displaying the first volume control affordance; Detecting an input corresponding to a selection of the first volume control affordance; In response to detecting the input corresponding to a selection of the first volume control affordance, displaying a user interface; displaying, in accordance with a determination that a second connection condition is satisfied for the second external device, a second volume control affordance that, when selected, adjusts a volume level of the first external device and a third volume control affordance that, when selected, adjusts a volume level of the second external device; and displaying a fourth volume control affordance that, when selected in accordance with a determination that the second connection condition is not satisfied for the second external device, adjusts a volume level of the first external device without displaying a volume control affordance for adjusting the volume level of the second external device.
48. 1. An electronic device comprising: A display device; means for receiving a request to display a first volume control affordance while a first connection condition is satisfied for the electronic device, a first external device, and a second external device, wherein the electronic device is configured to provide audio data to the first external device when connected to the first external device, and to provide audio data to the second external device when connected to the second external device; means for displaying the first volume control affordance in response to receiving the request to display the first volume control affordance; means for detecting an input corresponding to a selection of the first volume control affordance; In response to detecting the input corresponding to a selection of the first volume control affordance, a means for displaying a user interface, the means comprising: according to a determination that a second connection condition is satisfied for the second external device, displaying a second volume control affordance that, when selected, adjusts a volume level of the first external device and a third volume control affordance that, when selected, adjusts a volume level of the second external device; and means for displaying a user interface that, when selected in accordance with a determination that the second connection condition is not satisfied for the second external device, displays a fourth volume control affordance that adjusts a volume level of the first external device without displaying a volume control affordance for adjusting the volume level of the second external device.
49. In an electronic device having a display device, receiving a request to display a user interface for selecting one or more devices to which audio from an audio media application is to be output while displaying a first user interface including controls for the audio media application; displaying a second user interface in response to receiving the request to display a user interface for selecting one or more devices to which audio from the audio media application is to be output; responsive to determining that a source electronic device is connected to a first external device and a second external device distinct from the first external device and configured to provide audio data from the audio media application to the first external device and the second external device simultaneously, displaying a first affordance that, when selected, causes audio data from the audio media application to be provided to the first external device and the second external device simultaneously; and displaying a second user interface that, when selected, causes audio data from the audio media application to be provided only to the first external device in accordance with a determination that the source electronic device is connected to the first external device and is configured to provide audio data from the audio media application to the first external device without simultaneously providing audio data from the audio media application to another external device.
50. 50. The method of claim 49, wherein the first external device is paired with the source electronic device.
51. 51. The method of claim 49 or 50, wherein the second external device is not paired with the source electronic device.
52. 52. The method of any one of claims 49 to 51, wherein the source electronic device is paired with the electronic device.
53. 53. The method of claim 52, wherein the second user interface includes a third affordance that, when selected, causes audio data from the audio media application to be output by the source electronic device.
54. Detecting an input; 54. The method of any one of claims 49 to 53, further comprising: in response to detecting the input, adjusting a volume level of the first external device and adjusting a volume level of the second external device.
55. 55. The method of claim 54, further comprising, in response to detecting the input, displaying a graphical indication of the volume level of the first external device and a graphical indication of the volume level of the second external device that differs from the graphical indication of the volume level of the first external device.
56. 56. The method of claim 54 or 55, wherein the input comprises rotation of a rotatable input device of the electronic device relative to a housing of the electronic device.
57. 57. A non-transitory computer-readable storage medium storing 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 including instructions for performing the method of any one of claims 49 to 56.
58. A display device; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, 57. An electronic device, wherein the one or more programs include instructions for carrying out the method of any one of claims 49 to 56.
59. A display device; and means for performing the method according to any one of claims 49 to 56.
60. A non-transitory computer-readable storage medium storing 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 comprising: receiving a request to display a user interface for selecting one or more devices to which audio from an audio media application is to be output while displaying a first user interface including controls for the audio media application; displaying a second user interface in response to receiving the request to display a user interface for selecting one or more devices to which audio from the audio media application is to be output; responsive to determining that a source electronic device is connected to a first external device and a second external device distinct from the first external device and configured to provide audio data from the audio media application to the first external device and the second external device simultaneously, displaying a first affordance that, when selected, causes audio data from the audio media application to be provided to the first external device and the second external device simultaneously; and displaying a second user interface, the second affordance, when selected, causing audio data from the audio media application to be provided only to the first external device in accordance with a determination that the source electronic device is connected to the first external device and is configured to provide audio data from the audio media application to the first external device without simultaneously providing audio data from the audio media application to another external device.
61. A display device; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, The one or more programs are receiving a request to display a user interface for selecting one or more devices to which audio from an audio media application is to be output while displaying a first user interface including controls for the audio media application; displaying a second user interface in response to receiving the request to display a user interface for selecting one or more devices to which audio from the audio media application is to be output; responsive to determining that a source electronic device is connected to a first external device and a second external device distinct from the first external device and configured to provide audio data from the audio media application to the first external device and the second external device simultaneously, displaying a first affordance that, when selected, causes audio data from the audio media application to be provided to the first external device and the second external device simultaneously; and displaying a second user interface that, when selected, causes audio data from the audio media application to be provided only to the first external device in accordance with a determination that the source electronic device is connected to the first external device and is configured to provide audio data from the audio media application to the first external device without simultaneously providing audio data from the audio media application to another external device.
62. A display device; means for receiving, while displaying a first user interface including control items for an audio media application, a request to display a user interface for selecting one or more devices to which audio from the audio media application is to be output; and means for displaying a second user interface in response to receiving the request to display a user interface for selecting one or more devices to which audio from the audio media application is to be output, wherein displaying the second user interface comprises: responsive to determining that a source electronic device is connected to a first external device and a second external device distinct from the first external device and configured to provide audio data from the audio media application to the first external device and the second external device simultaneously, displaying a first affordance that, when selected, causes audio data from the audio media application to be provided to the first external device and the second external device simultaneously; and displaying a second affordance that, when selected, causes audio data from the audio media application to be provided only to the first external device in accordance with a determination that the source electronic device is connected to the first external device and is configured to provide audio data from the audio media application to the first external device without simultaneously providing audio data from the audio media application to another external device.
Citation Information
Patent Citations
Method and electronic device for transmitting audio data to multiple external devices
EP3379853A1
Terminal device and control method
JP2014128032A
Wireless media sharing from multiple sources to a single sink
US20150163788A1
Playback Expansion
US20160246566A1
Devices, Methods, and Graphical User Interfaces for Wireless Pairing with Peripheral Devices and Displaying Status Information Concerning the Peripheral Devices
US20180067712A1
