User interface for managing controllable external device

The described user interface simplifies the management of controlled external devices by using control affordances on a display, addressing inefficiencies in existing technologies and reducing power consumption.

JP2025013825APending Publication Date: 2025-01-28APPLE INC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2024175208
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2019-09-27
Filing Date
2024-10-04
Publication Date
2025-01-28

AI Technical Summary

Technical Problem

Existing technologies for managing controlled external devices, such as WiFi-compatible lighting, power outlets, and thermostats, often have complex and inefficient user interfaces that require multiple keys or touch inputs, leading to increased user time and device energy consumption, particularly in battery-operated devices.

Method used

A faster and more efficient user interface method that displays control affordances for external devices on a display, allowing users to select and implement functions through intuitive inputs, reducing unnecessary interactions and optimizing power usage.

Benefits of technology

The solution simplifies user interaction, reduces power consumption in battery-operated devices, and enhances user experience by providing a more efficient and intuitive method for managing multiple external devices.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025013825000001_ABST
    Figure 2025013825000001_ABST
Patent Text Reader

Abstract

To solve complexity and inefficiency of combination of functionality and convenience which a controllable (e.g., remotely controllable) electronic device including a thermostat and a consumer electronic appliance provides to a user.SOLUTION: An electronic device having a display device, a communication device, one or more processors, and a memory displays a first expression of a first controllable external device obtained when the first controllable external device is located at a certain position. The device detects a first input corresponding to selection of a first representation of the first controllable external device. In response to detection of the first input, the device uses the communication device to transmit instructions for letting the first controllable external device execute a function. The first controllable external device, in the case of a first type device, executes a function or uses the display device to display a user interface for controlling characteristics of the first controllable external device.SELECTED DRAWING: Figure 12B
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] (CROSS-REFERENCE TO RELATED APPLICATIONS) This application claims priority to U.S. Provisional Patent Application No. 62 / 855,895, entitled "User Interface for Managing Controllable External Devices," filed May 31, 2019, U.S. Patent Application No. 16 / 584,743, entitled "User Interface for Managing Controllable External Devices," filed September 26, 2019, and U.S. Patent Application No. 16 / 586,002, entitled "User Interface for Managing Controllable External Devices," filed September 27, 2019, each of which is incorporated herein by reference in its entirety.

[0002] FIELD OF THE DISCLOSURE The present disclosure relates generally to computer user interfaces, and more particularly to techniques for managing controllable external devices. [Background technology]

[0003] Controllable (e.g., remotely controllable) electronic devices, including Wi-Fi enabled lights, power outlets, thermostats, and home appliances, offer users a combination of functionality and convenience. Controllable electronic devices can be managed using a computer interface. Summary of the Invention

[0004] However, some techniques for managing controllable external devices 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 strokes and / or touch input. As another example, some existing techniques fail to provide a wide range of functionality or sufficient feedback regarding the status and functionality of various controllable devices. As a result, existing techniques take longer than necessary to manage controllable external devices, 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 managing controllable external devices. Such methods and interfaces optionally complement or replace other methods for managing controllable external devices. 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 extend the time between battery charges. In some embodiments, having a user interface for managing controllable external devices instead of a variety of different applications for managing each controllable external device simplifies the user experience, thus reducing the receipt of unnecessary / extraneous / repetitive inputs that would otherwise be required to manage the controllable external devices.

[0006] According to some embodiments, a method is described in an electronic device comprising a display device and a communication device, the method including: displaying a user interface on the display device including a first accessory affordance associated with a first controllable external device; detecting a first input corresponding to a selection of the first accessory affordance; in response to detecting the first input, sending a command to the first controllable external device via the communication device to perform a first function in accordance with a determination that a set of command sending criteria is met; and, in accordance with a determination that the set of command sending criteria is not met, displaying a first accessory interface on the display device, the first accessory interface including a first control affordance that, when selected, sends the first command to the controllable external device to perform the first function and a second control affordance that, when selected, sends the first controllable external device a command to perform a second function different from the first function.

[0007] According to some embodiments, a non-transitory computer-readable storage medium is described, the non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device including a display device and a communication device, the one or more programs including instructions for causing the display device to display a user interface including a first accessory affordance associated with a first controllable external device, detecting a first input corresponding to a selection of the first accessory affordance, transmitting a command to the first controllable external device via the communication device in response to detecting the first input in accordance with a determination that a set of command transmission criteria is met to perform a first function, and displaying a first accessory interface on the display device in accordance with a determination that the set of command transmission criteria is not met, the first accessory interface including a first control affordance that, when selected, transmits a first command to the controllable external device to perform the first function, and a second control affordance that, when selected, transmits a command to the first controllable external device to perform a second function different from the first function.

[0008] According to some embodiments, a temporary computer-readable storage medium is described, the temporary computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device including a display device and a communication device, the one or more programs including instructions for causing the display device to display a user interface including a first accessory affordance associated with a first controllable external device and detecting a first input corresponding to a selection of the first accessory affordance, sending a command to the first controllable external device via the communication device in response to detecting the first input in accordance with a determination that a set of command sending criteria is met to perform a first function, and displaying a first accessory interface on the display device in accordance with a determination that the set of command sending criteria is not met, the first accessory interface including a first control affordance that, when selected, sends the first command to the controllable external device in accordance with a selection of a second control affordance that is different from the first function, to the first controllable external device.

[0009] According to some embodiments, an electronic device is described. The electronic device includes a display device and a communication 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 a video media user interface, the user interface including a first accessory affordance associated with a first controllable external device, detecting a first input corresponding to a selection of the first accessory affordance, sending a command to the first controllable external device via the communication device in response to detecting the first input in accordance with a determination that a set of command sending criteria has been met, to perform a first function, and displaying the first accessory interface on the display device in accordance with a determination that the set of command sending criteria has not been met, the first accessory interface including a first control affordance that, when selected, sends a first command to the controllable external device to perform the first function, and a second control affordance that, when selected, sends a command to the first controllable external device to perform a second function different from the first function.

[0010] According to some embodiments, an electronic device is described comprising: a display device and a communication device; means for displaying a user interface on the display device including a first accessory affordance associated with a first controllable external device; means for detecting a first input corresponding to a selection of the first accessory affordance; and means for, in response to detecting the first input, sending a command to perform a first function to the first controllable external device via the communication device in accordance with a determination that a set of command sending criteria is met, and for displaying a first accessory interface on the display device in accordance with a determination that the set of command sending criteria is not met, the first accessory interface including a first control affordance that, when selected, sends a command to the first controllable external device to perform the first function, and a second control affordance that, when selected, sends a command to the first controllable external device to perform a second function different from the first function.

[0011] According to some embodiments, a method is described in an electronic device having a display device, the method comprising: displaying on the display device a user interface including a first accessory affordance associated with a first controllable external device; detecting a first input corresponding to a selection of the first accessory affordance; and, in response to detecting the first input, displaying on the display device a first region of the first accessory interface including a first control affordance that, when selected, controls a first function of the first controllable external device without displaying a second region of the first accessory interface; and, while displaying the first region of the first accessory interface on the display device, detecting a second input; and in response to detecting the second input, updating a display of the user interface to display a second region on top of the first accessory interface while ceasing display of the first region in accordance with a determination that the second input causes a portion of the second region to be displayed more than a threshold amount, the second region including one or more settings of the first controllable external device; and updating the display of the first accessory interface based on the second input to a second control affordance in the first region of the first accessory interface without displaying the second region of the first accessory interface in accordance with a determination that the second input does not cause a portion of the second region to be displayed more than the threshold amount.

[0012] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display device, the one or more programs including instructions for: causing the display device to display a user interface including a first accessory affordance associated with a first controllable external device; detecting a first input corresponding to a selection of the first accessory affordance; and, in response to detecting the first input, displaying a first region of the first accessory interface including a first control affordance that, when selected, controls a first function of the first controllable external device without displaying a second region of the first accessory interface; detecting a second input while displaying a first region of the accessory interface on the display device; and in response to detecting the second input, updating the display of the user interface to display a second region on top of the first accessory interface while ceasing display of the first region in accordance with a determination that the second input causes a portion of the second region to be displayed more than a threshold amount, the second region including one or more settings of the first controllable external device; and updating the display of the first accessory interface based on the second input to a second control affordance in the first region of the first accessory interface without displaying the second region of the first accessory interface in accordance with a determination that the second input does not cause a portion of the second region to be displayed more than the threshold amount.

[0013] According to some embodiments, a temporary computer-readable storage medium is described, the temporary 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 causing the display device to display a user interface including a first accessory affordance associated with a first controllable external device, detecting a first input corresponding to a selection of the first accessory affordance, and in response to detecting the first input, displaying a first region of the first accessory interface including a first control affordance that, when selected, controls a first function of the first controllable external device without displaying a second region of the first accessory interface; detecting a second input while displaying a first region of the user interface on the display device; and in response to detecting the second input, updating the display of the user interface to display a second region on top of the first accessory interface while ceasing display of the first region in accordance with a determination that the second input causes a portion of the second region to be displayed more than a threshold amount, the second region including one or more settings of the first controllable external device; and updating the display of the first accessory interface based on the second input to a second control affordance in the first region of the first accessory interface without displaying the second region of the first accessory interface in accordance with a determination that the second input does not cause a portion of the second region to be displayed more than the threshold amount.

[0014] According to some embodiments, an electronic device is described that includes a display device, one or more processors, and a memory that stores one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for causing the display device to display a video media user interface, the user interface including a first accessory affordance associated with a first controllable external device, detecting a first input corresponding to a selection of the first accessory affordance, and, in response to detecting the first input, displaying a first region of the first accessory interface including a first control affordance that, when selected, controls a first function of the first controllable external device without displaying a second region of the first accessory interface. displaying a first region of the first accessory interface on the display device; detecting a second input while displaying a first region of the first accessory interface on the display device; and in response to detecting the second input, updating the display of the user interface to display a second region on top of the first accessory interface while ceasing display of the first region, the second region including one or more settings of the first controllable external device, in accordance with a determination that the second input causes a portion of the second region to be displayed more than a threshold amount; and updating the display of the first accessory interface based on the second input to a second control affordance in the first region of the first accessory interface without displaying the second region of the first accessory interface in accordance with a determination that the second input does not cause a portion of the second region to be displayed more than the threshold amount.

[0015] According to some embodiments, an electronic device is described that includes a display device, means for displaying a user interface on the display device that includes a first accessory affordance associated with a first controllable external device, means for detecting a first input corresponding to a selection of the first accessory affordance, and means for, in response to detecting the first input, displaying a first region of the first accessory interface on the display device that includes a control affordance that, when selected, controls a first function of the first controllable external device without displaying a second region of the first accessory interface; and detecting the second input while displaying the first region of the first accessory interface on the display device. means for outputting a control affordance to the first region of the first accessory interface; and means for updating the display of the user interface to display a second region on top of the first accessory interface while ceasing display of the first region in accordance with a determination that the second input causes a portion of the second region to be displayed more than a threshold amount, the second region including one or more settings of the first controllable external device; and means for updating the display of the first accessory interface based on the second input to a second control affordance in the first region of the first accessory interface without displaying the second region of the first accessory interface in accordance with a determination that the second input does not cause a portion of the second region to be displayed more than the threshold amount.

[0016] According to some embodiments, a method is described, comprising: detecting, in an electronic device having a display device, a first set of one or more inputs corresponding to a request to configure the electronic device to control a first controllable external device while the electronic device is not configured to control the first controllable external device; and in response to detecting the first set of one or more inputs, initiating a process to configure the electronic device to control the first controllable external device, the process comprising: receiving information corresponding to the first controllable external device; and, in accordance with a determination based on the received information that the first controllable external device is associated with a plurality of controllable functions associated with a plurality of sub-components of the first controllable external device, displaying, on the display device, a first accessory affordance corresponding to a group including the first controllable external device and the plurality of sub-components; and, in accordance with a determination based on the received information that the first controllable external device is not associated with the plurality of sub-components, displaying, on the display device: The method includes displaying a second accessory affordance corresponding to the first controllable external device; detecting a second input on a display device while displaying the first accessory affordance or the second accessory affordance; in response to detecting the second input, displaying on the display device, in accordance with a determination that the second input corresponds to a selection of the first accessory affordance, a first accessory interface including a plurality of control affordances corresponding to the first controllable external device and a plurality of subcomponents, and a control reconfiguration affordance that, when selected, initiates a process of removing at least a first control affordance of the plurality of control affordances from the first accessory interface; and, in accordance with a determination that the second input corresponds to a selection of the second accessory affordance, displaying on the display device a second accessory interface including control of the first controllable external device without displaying the control reconfiguration affordance.

[0017] According to some embodiments, a non-transitory computer-readable storage medium is described.A 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 causing, while the electronic device is not configured to control the first controllable external device, to detect a first set of one or more inputs corresponding to a request to configure the electronic device to control the first controllable external device, and in response to detecting the first set of one or more inputs, to initiate a process for configuring the electronic device to control the first controllable external device, the process including: receiving information corresponding to the first controllable external device; and, in accordance with a determination based on the received information that the first controllable external device is associated with a plurality of controllable functions associated with a plurality of sub-components of the first controllable external device, displaying, on the display device, a first accessory affordance corresponding to a group including the first controllable external device and the plurality of sub-components; and, in accordance with the determination based on the received information, determining that the first controllable external device is associated with a plurality of sub-components of the first controllable external device. displaying, on the display device, a second accessory affordance corresponding to the first controllable external device in accordance with a determination that the second input is not associated with the component; detecting a second input on the display device while displaying the first accessory affordance or the second accessory affordance; in response to detecting the second input, displaying, on the display device, a first accessory interface including a plurality of control affordances corresponding to the first controllable external device and a plurality of sub-components, and a control reconfiguration affordance that, when selected, initiates a process of removing at least a first control affordance of the plurality of control affordances from the first accessory interface; and displaying, on the display device, a second accessory interface including control of the first controllable external device without displaying the control reconfiguration affordance in accordance with a determination that the second input corresponds to a selection of the second accessory affordance.

[0018] According to some embodiments, a temporary computer-readable storage medium is described.A 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 causing, while the electronic device is not configured to control the first controllable external device, to detect a first set of one or more inputs corresponding to a request to configure the electronic device to control the first controllable external device, and in response to detecting the first set of one or more inputs, to initiate a process for configuring the electronic device to control the first controllable external device, the process including: receiving information corresponding to the first controllable external device; and, in accordance with a determination based on the received information that the first controllable external device is associated with a plurality of controllable functions associated with a plurality of sub-components of the first controllable external device, displaying, on the display device, a first accessory affordance corresponding to a group including the first controllable external device and the plurality of sub-components; and, in accordance with the determination based on the received information that the first controllable external device is associated with a plurality of sub-components of the first controllable external device. displaying, on the display device, a second accessory affordance corresponding to the first controllable external device in accordance with a determination that the second input is not associated with the component; detecting a second input on the display device while displaying the first accessory affordance or the second accessory affordance; in response to detecting the second input, displaying, on the display device, a first accessory interface including a plurality of control affordances corresponding to the first controllable external device and a plurality of sub-components, and a control reconfiguration affordance that, when selected, initiates a process of removing at least a first control affordance of the plurality of control affordances from the first accessory interface; and displaying, on the display device, a second accessory interface including control of the first controllable external device without displaying the control reconfiguration affordance in accordance with a determination that the second input corresponds to a selection of the second accessory affordance.

[0019] According to some embodiments, an electronic device is described, the electronic device comprising: 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 a video media user interface, the program causing the electronic device to detect, while the electronic device is not configured to control the first controllable external device, a first set of one or more inputs corresponding to a request to configure the electronic device to control the first controllable external device, and in response to detecting the first set of one or more inputs, initiating a process for configuring the electronic device to control the first controllable external device, the process including: receiving information corresponding to the first controllable external device; and, in accordance with a determination based on the received information that the first controllable external device is associated with a plurality of controllable functions associated with a plurality of sub-components of the first controllable external device, displaying, on the display device, a first accessory affordance corresponding to a group including the first controllable external device and the plurality of sub-components. and displaying, on the display device, a second accessory affordance corresponding to the first controllable external device in accordance with a determination based on the received information that the first controllable external device is not associated with a plurality of subcomponents; detecting a second input while displaying the first accessory affordance or the second accessory affordance on the display device; and in response to detecting the second input, displaying, on the display device, a first accessory interface including a plurality of control affordances corresponding to the first controllable external device and a plurality of subcomponents, and a control reconfiguration affordance that, when selected, initiates a process of removing at least a first control affordance of the plurality of control affordances from the first accessory interface; and, in accordance with a determination that the second input corresponds to a selection of the second accessory affordance, displaying, on the display device, without displaying the control reconfiguration affordance.and displaying a second accessory interface that includes controls for the first controllable external device.

[0020] According to some embodiments, an electronic device is described, the electronic device comprising: a display device; means for detecting a first set of one or more inputs corresponding to a request to configure the electronic device to control a first controllable external device while the electronic device is not configured to control the first controllable external device; and means for initiating a process of configuring the electronic device to control the first controllable external device in response to detecting the first set of one or more inputs, the process comprising: receiving information corresponding to the first controllable external device; and, in accordance with a determination based on the received information that the first controllable external device is associated with a plurality of controllable functions associated with a plurality of sub-components of the first controllable external device, displaying on the display device a first accessory affordance corresponding to a group including the first controllable external device and the plurality of sub-components; and, in accordance with a determination based on the received information that the first controllable external device is not associated with the plurality of sub-components, displaying on the display device a first accessory affordance corresponding to the first controllable external device. and displaying a second accessory affordance corresponding to the controllable external device on the display device; means for detecting a second input while displaying the first accessory affordance or the second accessory affordance on the display device; and means for, in response to detecting the second input, displaying on the display device, in accordance with a determination that the second input corresponds to a selection of the first accessory affordance, a first accessory interface including a plurality of control affordances corresponding to the first controllable external device and a plurality of subcomponents, and a control reconfiguration affordance that, when selected, initiates a process of removing at least a first control affordance of the plurality of control affordances from the first accessory interface; and means for displaying on the display device, in accordance with a determination that the second input corresponds to a selection of the second accessory affordance, a second accessory interface including control of the first controllable external device without displaying the control reconfiguration affordance.

[0021] According to some embodiments, a method is described in an electronic device having a display device, the method including: displaying, on the display device, a temperature mode creation user interface including a first set of temperature mode creation controls for an external thermostat device controllable by the electronic device; detecting a first set of one or more inputs while displaying the temperature mode creation user interface on the display device; selecting a temperature range including a minimum temperature and a maximum temperature different from a minimum temperature range in response to the first set of one or more inputs; associating the temperature range with a first temperature mode; after associating the temperature range with the first temperature mode, displaying, on the display device, a temperature scheduling user interface including a second set of scheduled operation creation controls for the external thermostat device; detecting a second set of one or more inputs while displaying the temperature scheduling user interface on the display device; and selecting a first criterion for activation of the first scheduled operation in response to detecting the second set of one or more inputs; and associating the first temperature mode with the first scheduled operation.

[0022] According to some embodiments, a non-transitory computer-readable storage medium is described. A 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 causing the display device to display a temperature mode creation user interface including a first set of temperature mode creation controls for an external thermostat device controllable by the electronic device, detecting a first set of one or more inputs while displaying the temperature mode creation user interface on the display device, selecting a temperature range including a minimum temperature and a maximum temperature that is different from a minimum temperature range in response to the first set of inputs, associating the temperature range with the first temperature mode, displaying a temperature scheduling user interface on the display device after associating the temperature range with the first temperature mode, including a second set of scheduled operation creation controls for the external thermostat device, detecting a second set of one or more inputs while displaying the temperature scheduling user interface on the display device, and selecting a first criterion for activation of the first scheduled operation in response to detecting the second set of one or more inputs, and associating the first temperature mode with the first scheduled operation.

[0023] According to some embodiments, a temporary computer-readable storage medium is described. A 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, on the display device, a temperature mode creation user interface including a first set of temperature mode creation controls for an external thermostat device controllable by the electronic device, detecting a first set of one or more inputs while displaying the temperature mode creation user interface on the display device, selecting a temperature range including a minimum temperature and a maximum temperature that is different from a minimum temperature range in response to the first set of inputs, associating the temperature range with a first temperature mode, and after associating the temperature range with the first temperature mode, displaying, on the display device, a temperature scheduling user interface including a second set of scheduled operation creation controls for the external thermostat device, detecting a second set of one or more inputs while displaying the temperature scheduling user interface on the display device, and selecting a first criterion for activation of the first scheduled operation in response to detecting the second set of one or more inputs, and associating the first temperature mode with the first scheduled operation.

[0024] According to some embodiments, an electronic device is described. The electronic device comprises 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 a video media user interface, causing the display device to display a temperature mode creation user interface including a first set of temperature mode creation controls for an external thermostat device controllable by the electronic device; detecting a first set of one or more inputs while displaying the temperature mode creation user interface on the display device; selecting a temperature range including a minimum temperature and a maximum temperature that is different from a minimum temperature range in response to the first set of inputs; associating the temperature range with the first temperature mode; after associating the temperature range with the first temperature mode, displaying a temperature scheduling user interface on the display device including a second set of scheduled operation creation controls for the external thermostat device; detecting a second set of one or more inputs while displaying the temperature scheduling user interface on the display device; and selecting a first criterion for activation of the first scheduled operation in response to detecting the second set of one or more inputs; and associating the first temperature mode with the first scheduled operation.

[0025] According to some embodiments, an electronic device is described that includes a display device, means for displaying on the display device a temperature mode creation user interface including a first set of temperature mode creation controls for an external thermostat device controllable by the electronic device, means for detecting a first set of one or more inputs while the temperature mode creation user interface is displayed on the display device, means for selecting a temperature range including a minimum temperature and a maximum temperature that are different from a minimum temperature range and associating the temperature range with a first temperature mode in response to the first set of one or more inputs, means for displaying on the display device a temperature scheduling user interface including a second set of scheduled operation creation controls for the external thermostat device after associating the temperature range with the first temperature mode, means for detecting a second set of one or more inputs while displaying the temperature scheduling user interface on the display device, and means for selecting a first criterion for activation of the first scheduled operation and associating the first temperature mode with the first scheduled operation in response to detecting the second set of one or more inputs.

[0026] According to some embodiments, a method is described in an electronic device including a display device, the method including: displaying, via the display device, a first accessory affordance corresponding to a first controllable external device; detecting one or more inputs for adding the first controllable external device to a first set of controllable external devices; updating the first set of controllable external devices to include the first controllable external device in response to detecting the one or more inputs for adding the first controllable external device to the first set of controllable external devices; in accordance with a determination that the first controllable external device is of a first type, simultaneously displaying a second accessory affordance corresponding to the first controllable external device and a configuration affordance that, when selected, initiates a process of configuring audio settings of the first controllable external device; and in accordance with a determination that the first controllable external device is not of the first type, displaying the second accessory affordance corresponding to the first controllable external device without the configuration affordance that, when selected, initiates a process of configuring audio settings of the first controllable external device.

[0027] According to some embodiments, a non-transitory computer-readable storage medium is described, the 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: displaying, via the display device, a first accessory affordance corresponding to a first controllable external device; detecting one or more inputs for adding the first controllable external device to a first set of controllable external devices; and, in response to detecting the one or more inputs for adding the first controllable external device to the first set of controllable external devices, updating the first set of controllable external devices to include the first controllable external device. , in accordance with a determination that the first controllable external device is of the first type, simultaneously displaying a second accessory affordance corresponding to the first controllable external device and a configuration affordance that, when selected, initiates a process of configuring audio settings of the first controllable external device; and, in accordance with a determination that the first controllable external device is not of the first type, displaying the second accessory affordance corresponding to the first controllable external device without the configuration affordance that, when selected, initiates a process of configuring audio settings of the first controllable external device.

[0028] According to some embodiments, a temporary computer-readable storage medium is described. A 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 accessory affordance corresponding to a first controllable external device and detecting one or more inputs for adding the first controllable external device to a first set of controllable external devices; updating the first set of controllable external devices to include the first controllable external device in response to detecting the one or more inputs for adding the first controllable external device to the first set of controllable external devices; in accordance with a determination that the first controllable external device is of a first type, simultaneously displaying a second accessory affordance corresponding to the first controllable external device and a configuration affordance that, when selected, initiates a process of configuring audio settings of the first controllable external device; and in accordance with a determination that the first controllable external device is not of the first type, displaying the second accessory affordance corresponding to the first controllable external device without the configuration affordance that, when selected, initiates a process of configuring audio settings of the first controllable external device.

[0029] According to some embodiments, an electronic device is described, the electronic device comprising: 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 accessory affordance corresponding to a first controllable external device; detecting one or more inputs for adding the first controllable external device to a first set of controllable external devices; and, in response to detecting the one or more inputs for adding the first controllable external device to the first set of controllable external devices, updating the first set of controllable external devices to include the first controllable external device. and, in accordance with a determination that the first controllable external device is of the first type, simultaneously displaying a second accessory affordance corresponding to the first controllable external device and a configuration affordance that, when selected, initiates a process of configuring audio settings of the first controllable external device; and, in accordance with a determination that the first controllable external device is not of the first type, displaying the second accessory affordance corresponding to the first controllable external device without the configuration affordance that, when selected, initiates a process of configuring audio settings of the first controllable external device.

[0030] According to some embodiments, an electronic device is described, the electronic device including: a display device; means for displaying, via the display device, a first accessory affordance corresponding to a first controllable external device; means for detecting one or more inputs for adding the first controllable external device to a first set of controllable external devices; and means for, in response to detecting the one or more inputs for adding the first controllable external device to the first set of controllable external devices, updating the first set of controllable external devices to include the first controllable external device, and, in accordance with a determination that the first controllable external device is of a first type, simultaneously displaying a second accessory affordance corresponding to the first controllable external device and a configuration affordance that, when selected, initiates a process of configuring audio settings of the first controllable external device; and, in accordance with a determination that the first controllable external device is not of the first type, displaying the second accessory affordance corresponding to the first controllable external device without the configuration affordance that, when selected, initiates a process of configuring audio settings of the first controllable external device.

[0031] According to some embodiments, a method is described that includes, in an electronic device having a display device, simultaneously displaying via the display device a set of one or more playback controls for performing a playback function on a media item and an alarm configuration affordance, detecting a user input, and in response to detecting the user input, in accordance with a determination that the detected user input corresponds to a selection of a playback control from the set of one or more playback controls, initiating a process for performing the playback function on a controllable external device based on the selected playback control, and in accordance with a determination that the detected user input corresponds to a selection of an alarm configuration affordance, replacing the simultaneous display of the set of one or more playback controls and the alarm configuration affordance with a set of time affordances for setting a time for a first alarm.

[0032] According to some embodiments, a non-transitory computer-readable storage medium is described that stores one or more programs configured to be executed by one or more processors of an electronic device with a display device, the one or more programs including instructions for simultaneously displaying, via the display device, a set of one or more playback controls for performing a playback function on a media item and an alarm configuration affordance and detecting a user input; in response to detecting the user input, in accordance with a determination that the detected user input corresponds to a selection of a playback control from the set of one or more playback controls, initiating a process for performing the playback function on the controllable external device based on the selected playback control; and in accordance with a determination that the detected user input corresponds to a selection of an alarm configuration affordance, replacing the simultaneous display of the set of one or more playback controls and the alarm configuration affordance with a set of time affordances for setting a time for a first alarm.

[0033] According to some embodiments, a temporary computer-readable storage medium is described that stores one or more programs configured to be executed by one or more processors of an electronic device with a display device, the one or more programs including instructions for simultaneously displaying, via the display device, a set of one or more playback controls for performing a playback function on a media item and an alarm configuration affordance and detecting a user input; in response to detecting the user input, in accordance with a determination that the detected user input corresponds to a selection of a playback control from the set of one or more playback controls, initiating a process for performing the playback function on the controllable external device based on the selected playback control; and in accordance with a determination that the detected user input corresponds to a selection of an alarm configuration affordance, replacing the simultaneous display of the set of one or more playback controls and the alarm configuration affordance with a set of time affordances for setting a time for a first alarm.

[0034] According to some embodiments, an electronic device is described that includes a display device, one or more processors, and a memory that stores one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for simultaneously displaying, via the display device, a set of one or more playback controls for performing a playback function on a media item and an alarm configuration affordance and detecting a user input; in response to detecting the user input, in accordance with a determination that the detected user input corresponds to a selection of a playback control from the set of one or more playback controls, initiating a process for performing the playback function on a controllable external device based on the selected playback control; and in accordance with a determination that the detected user input corresponds to a selection of an alarm configuration affordance, replacing the simultaneous display of the set of one or more playback controls and the alarm configuration affordance with a set of time affordances for setting a time for a first alarm.

[0035] According to some embodiments, an electronic device is described that includes: a display device; means for simultaneously displaying, via the display device, a set of one or more playback controls for performing a playback function on a media item and an alarm configuration affordance; means for detecting a user input; and means for, in response to detecting the user input, initiating a process for performing the playback function on the controllable external device based on the selected playback control in accordance with a determination that the detected user input corresponds to a selection of a playback control from the set of one or more playback controls, and replacing the simultaneous display of the set of one or more playback controls and the alarm configuration affordance with a set of time affordances for setting a time for a first alarm in accordance with a determination that the detected user input corresponds to a selection of an alarm configuration affordance.

[0036] According to some embodiments, a method is described that is implemented in an electronic device with a display, the method including: receiving a request to play audio media items of a first type, the request identifying audio media items of the first type and not individual audio media items of the first type; in response to receiving the request to play the audio media items of the first type, playing a first audio media item of the first type of audio media items; and displaying an affordance that, when selected, plays a second audio media item of the first type of audio media items, the second audio media item of the first type being different from the first audio media item of the first type.

[0037] According to some embodiments, a non-transitory computer-readable storage medium is described, the non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device with a display device, the one or more programs including instructions to: receive a request to play audio media items of a first type, the request identifying an audio media item of the first type but not an individual audio media item of the first type; in response to receiving the request to play the audio media items of the first type, play a first one of the audio media items of the first type; and display an affordance that, when selected, plays a second one of the audio media items of the first type, the second one being different from the first one of the audio media items of the first type.

[0038] According to some embodiments, a temporary computer-readable storage medium is described, the temporary computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device with a display device, the one or more programs including instructions to: receive a request identifying audio media items of a first type but not individual audio media items of the first type; in response to receiving the request to play the audio media items of the first type, play a first one of the audio media items of the first type; and display an affordance that, when selected, plays a second one of the audio media items of the first type, the second one being different from the first one of the audio media items of the first type.

[0039] According to some embodiments, an electronic device is described, the electronic device comprising: 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 receiving a request to play audio media items of a first type, the request identifying audio media items of the first type but not individual audio media items of the first type, and instructions for, in response to receiving the request to play the audio media items of the first type, causing a first one of the audio media items of the first type to play and displaying an affordance that, when selected, plays a second one of the audio media items of the first type, the second one being different from the first one of the audio media items of the first type. Other examples of this aspect include corresponding computer systems, apparatuses, and computer programs recorded on one or more computer storage devices, each configured to perform the operations of the method.

[0040] According to some embodiments, an electronic device is described comprising: a display device; and means for receiving a request to play audio media items of a first type, the request identifying audio media items of the first type and not individual audio media items of the first type; and means for, in response to receiving the request to play the audio media items of the first type, playing a first one of the audio media items of the first type and displaying an affordance that, when selected, plays a second one of the audio media items of the first type, the second one being different from the first one of the audio media items of the first type.

[0041] Executable instructions to perform these functions are optionally contained in a non-transitory computer-readable storage medium or other computer program product configured to be executed 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 to be executed by one or more processors.

[0042] Thus, devices are provided with faster and more efficient methods and interfaces for managing and controlling external devices from electronic devices, thereby increasing the effectiveness, efficiency, and user satisfaction of such devices. Such methods and interfaces can complement or replace other methods for managing and controlling external devices from electronic devices. [Brief explanation of the drawings]

[0043] For a better understanding of the various described embodiments, reference should be made to the following Detailed Description of the Invention in conjunction with the following drawings, in which like reference numerals refer to corresponding parts throughout:

[0044] [Figure 1A] FIG. 1 is a block diagram illustrating a portable multifunction device having a touch-sensitive display in accordance with some embodiments.

[0045] [Figure 1B] FIG. 1 is a block diagram illustrating exemplary components for event processing according to some embodiments.

[0046] [Figure 1C] FIG. 1 is a block diagram illustrating a system and environment for implementing a digital assistant according to some embodiments.

[0047] [Figure 2] 1 illustrates a portable multifunction device with a touch screen according to some embodiments.

[0048] [Figure 3] FIG. 1 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface in accordance with some embodiments.

[0049] [Figure 4A] 1 illustrates an exemplary user interface for a menu of applications on a portable multifunction device in accordance with some embodiments.

[0050] [Figure 4B] 1 illustrates an exemplary user interface for a multifunction device having a touch-sensitive surface that is separate from the display in accordance with some embodiments.

[0051] [Figure 5A] 1 illustrates a personal electronic device according to some embodiments.

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

[0053] [Figure 5C] 1 illustrates exemplary components of a personal electronic device having a touch-sensitive display and intensity sensor according to some embodiments. [Figure 5D] 1 illustrates exemplary components of a personal electronic device having a touch-sensitive display and intensity sensor according to some embodiments.

[0054] [Figure 5E] 1 illustrates exemplary components and a user interface of a personal electronic device, according to some embodiments. [Figure 5F] 1 illustrates exemplary components and a user interface of a personal electronic device, according to some embodiments. [Figure 5G] 1 illustrates exemplary components and a user interface of a personal electronic device, according to some embodiments. [Figure 5H] 1 illustrates exemplary components and a user interface of a personal electronic device, according to some embodiments.

[0055] [Figure 5I] 1 illustrates an electronic device according to some embodiments.

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

[0057] [Figure 6A] 1 illustrates an exemplary user interface for managing controllable external devices, according to some embodiments. [Figure 6B] 1 illustrates an exemplary user interface for managing controllable external devices, according to some embodiments. [Figure 6C] 1 illustrates an exemplary user interface for managing controllable external devices, according to some embodiments. [Figure 6D] 1 illustrates an exemplary user interface for managing controllable external devices, according to some embodiments. [Figure 6E] 1 illustrates an exemplary user interface for managing controllable external devices, according to some embodiments. [Figure 6F] 1 illustrates an exemplary user interface for managing controllable external devices, according to some embodiments. [Figure 6G] 1 illustrates an exemplary user interface for managing controllable external devices, according to some embodiments. [Figure 6H] 1 illustrates an exemplary user interface for managing controllable external devices, according to some embodiments. [Figure 6I] 1 illustrates an exemplary user interface for managing controllable external devices, according to some embodiments. [Figure 6J] 1 illustrates an exemplary user interface for managing controllable external devices, according to some embodiments. [Figure 6K] 1 illustrates an exemplary user interface for managing controllable external devices, according to some embodiments. [Figure 6L] 1 illustrates an exemplary user interface for managing controllable external devices, according to some embodiments. [Figure 6M] 1 illustrates an exemplary user interface for managing controllable external devices, according to some embodiments. [Figure 6N] 1 illustrates an exemplary user interface for managing controllable external devices, according to some embodiments. [Figure 6O] 1 illustrates an exemplary user interface for managing controllable external devices, according to some embodiments. [Figure 6P]1 illustrates an exemplary user interface for managing controllable external devices, according to some embodiments. [Figure 6Q] 1 illustrates an exemplary user interface for managing controllable external devices, according to some embodiments. [Figure 6R] 1 illustrates an exemplary user interface for managing controllable external devices, according to some embodiments.

[0058] [Figure 7A] FIG. 1 is a flow diagram illustrating a method for managing controllable external devices, according to some embodiments. [Figure 7B] FIG. 1 is a flow diagram illustrating a method for managing controllable external devices, according to some embodiments.

[0059] [Figure 8A] 1 illustrates an exemplary user interface for managing controllable external devices, according to some embodiments. [Figure 8B] 1 illustrates an exemplary user interface for managing controllable external devices, according to some embodiments. [Figure 8C] 1 illustrates an exemplary user interface for managing controllable external devices, according to some embodiments. [Figure 8D] 1 illustrates an exemplary user interface for managing controllable external devices, according to some embodiments. [Figure 8E] 1 illustrates an exemplary user interface for managing controllable external devices, according to some embodiments. [Figure 8F] 1 illustrates an exemplary user interface for managing controllable external devices, according to some embodiments. [Figure 8G] 1 illustrates an exemplary user interface for managing controllable external devices, according to some embodiments. [Figure 8H]1 illustrates an exemplary user interface for managing controllable external devices, according to some embodiments. [Figure 8I] 1 illustrates an exemplary user interface for managing controllable external devices, according to some embodiments. [Figure 8J] 1 illustrates an exemplary user interface for managing controllable external devices, according to some embodiments.

[0060] [Figure 9A] FIG. 1 is a flow diagram illustrating a method for managing controllable external devices, according to some embodiments. [Figure 9B] FIG. 1 is a flow diagram illustrating a method for managing controllable external devices, according to some embodiments.

[0061] [Figure 10A] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments. [Figure 10B] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments. [Figure 10C] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments. [Figure 10D] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments. [Figure 10E] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments. [Figure 10F] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments. [Figure 10G] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments. [Figure 10H] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments. [Figure 10I] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments. [Figure 10J] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments. [Figure 10K] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments. [Figure 10L] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments. [Figure 10M] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments. [Figure 10N] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments. [Figure 10O] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments. [Figure 10P] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments. [Figure 10Q] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments. [Figure 10R] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments. [Figure 10S] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments. [Figure 10T] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments. [Figure 10U] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments. [Figure 10V] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments. [Figure 10W] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments. [Figure 10X] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments. [Figure 10Y] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments. [Figure 10Z] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments. [Figure 10AA] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments. [Figure 10AB] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments. [Figure 10AC] 1 illustrates an exemplary user interface for managing grouped controllable external devices, according to some embodiments.

[0062] [Figure 11A] FIG. 1 is a flow diagram illustrating a method for managing a group of controllable external devices according to some embodiments. [Figure 11B]FIG. 1 is a flow diagram illustrating a method for managing a group of controllable external devices according to some embodiments.

[0063] [Figure 12A] 1 illustrates an exemplary user interface for managing a thermostat, according to some embodiments. [Figure 12B] 1 illustrates an exemplary user interface for managing a thermostat, according to some embodiments. [Figure 12C] 1 illustrates an exemplary user interface for managing a thermostat, according to some embodiments. [Figure 12D] 1 illustrates an exemplary user interface for managing a thermostat, according to some embodiments. [Figure 12E] 1 illustrates an exemplary user interface for managing a thermostat, according to some embodiments. [Figure 12F] 1 illustrates an exemplary user interface for managing a thermostat, according to some embodiments. [Figure 12G] 1 illustrates an exemplary user interface for managing a thermostat, according to some embodiments. [Figure 12H] 1 illustrates an exemplary user interface for managing a thermostat, according to some embodiments. [Figure 12I] 1 illustrates an exemplary user interface for managing a thermostat, according to some embodiments. [Figure 12J] 1 illustrates an exemplary user interface for managing a thermostat, according to some embodiments. [Figure 12K] 1 illustrates an exemplary user interface for managing a thermostat, according to some embodiments. [Figure 12L] 1 illustrates an exemplary user interface for managing a thermostat, according to some embodiments. [Figure 12M]1 illustrates an exemplary user interface for managing a thermostat, according to some embodiments. [Figure 12N] 1 illustrates an exemplary user interface for managing a thermostat, according to some embodiments. [Figure 12O] 1 illustrates an exemplary user interface for managing a thermostat, according to some embodiments. [Figure 12P] 1 illustrates an exemplary user interface for managing a thermostat, according to some embodiments. [Figure 12Q] 1 illustrates an exemplary user interface for managing a thermostat, according to some embodiments.

[0064] [Figure 13A] FIG. 1 is a flow diagram illustrating a method for managing a thermostat, according to some embodiments. [Figure 13B] FIG. 1 is a flow diagram illustrating a method for managing a thermostat, according to some embodiments.

[0065] [Figure 14A] 1 illustrates an exemplary user interface for managing a group of controllable external devices, including speakers, according to some embodiments. [Figure 14B] 1 illustrates an exemplary user interface for managing a group of controllable external devices, including speakers, according to some embodiments. [Figure 14C] 1 illustrates an exemplary user interface for managing a group of controllable external devices, including speakers, according to some embodiments. [Figure 14D] 1 illustrates an exemplary user interface for managing a group of controllable external devices, including speakers, according to some embodiments. [Figure 14E] 1 illustrates an exemplary user interface for managing a group of controllable external devices, including speakers, according to some embodiments. [Figure 14F]1 illustrates an exemplary user interface for managing a group of controllable external devices, including speakers, according to some embodiments. [Figure 14G] 1 illustrates an exemplary user interface for managing a group of controllable external devices, including speakers, according to some embodiments. [Figure 14H] 1 illustrates an exemplary user interface for managing a group of controllable external devices, including speakers, according to some embodiments. [Figure 14I] 1 illustrates an exemplary user interface for managing a group of controllable external devices, including speakers, according to some embodiments. [Figure 14J] 1 illustrates an exemplary user interface for managing a group of controllable external devices, including speakers, according to some embodiments. [Figure 14K] 1 illustrates an exemplary user interface for managing a group of controllable external devices, including speakers, according to some embodiments. [Figure 14L] 1 illustrates an exemplary user interface for managing a group of controllable external devices, including speakers, according to some embodiments. [Figure 14M] 1 illustrates an exemplary user interface for managing a group of controllable external devices, including speakers, according to some embodiments. [Figure 14N] 1 illustrates an exemplary user interface for managing a group of controllable external devices, including speakers, according to some embodiments. [Figure 14O] 1 illustrates an exemplary user interface for managing a group of controllable external devices, including speakers, according to some embodiments. [Figure 14P] 1 illustrates an exemplary user interface for managing a group of controllable external devices, including speakers, according to some embodiments. [Figure 14Q]1 illustrates an exemplary user interface for managing a group of controllable external devices, including speakers, according to some embodiments. [Figure 14R] 1 illustrates an exemplary user interface for managing a group of controllable external devices, including speakers, according to some embodiments. [Figure 14S] 1 illustrates an exemplary user interface for managing a group of controllable external devices, including speakers, according to some embodiments. [Figure 14T] 1 illustrates an exemplary user interface for managing a group of controllable external devices, including speakers, according to some embodiments.

[0066] [Figure 15] FIG. 1 is a flow diagram illustrating a method for managing a group of controllable external devices including speakers, according to some embodiments.

[0067] [Figure 16A] 1 illustrates an exemplary user interface for managing speakers, according to some embodiments. [Figure 16B] 1 illustrates an exemplary user interface for managing speakers, according to some embodiments. [Figure 16C] 1 illustrates an exemplary user interface for managing speakers, according to some embodiments. [Figure 16D] 1 illustrates an exemplary user interface for managing speakers, according to some embodiments. [Figure 16E] 1 illustrates an exemplary user interface for managing speakers, according to some embodiments. [Figure 16F] 1 illustrates an exemplary user interface for managing speakers, according to some embodiments. [Figure 16G] 1 illustrates an exemplary user interface for managing speakers, according to some embodiments.

[0068] [Figure 17] FIG. 1 is a flow diagram illustrating a method for managing speakers, according to some embodiments.

[0069] [Figure 18A] 1 illustrates an exemplary user interface for requesting the playing of a particular type of sound, according to some embodiments. [Figure 18B] 1 illustrates an exemplary user interface for requesting the playing of a particular type of sound, according to some embodiments. [Figure 18C] 1 illustrates an exemplary user interface for requesting the playing of a particular type of sound, according to some embodiments. [Figure 18D] 1 illustrates an exemplary user interface for requesting the playing of a particular type of sound, according to some embodiments. [Figure 18E] 1 illustrates an exemplary user interface for requesting the playing of a particular type of sound, according to some embodiments. [Figure 18F] 1 illustrates an exemplary user interface for requesting the playing of a particular type of sound, according to some embodiments. [Figure 18G] 1 illustrates an exemplary user interface for requesting the playing of a particular type of sound, according to some embodiments.

[0070] [Figure 19] FIG. 1 is a flow diagram illustrating a method of using an electronic device to play a particular type of sound, according to some embodiments. DETAILED DESCRIPTION OF THE INVENTION

[0071] The following description describes 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 is instead provided as a description of example embodiments.

[0072] There is a need for an electronic device that provides an efficient method and interface for managing controllable external devices. In some embodiments, an electronic device provides access to designated (e.g., favorite) controllable devices on a home screen for managing a system of controllable devices. In some embodiments, a user can control a device coarsely by toggling the state between two states (e.g., on / off) using an input having one type of characteristic (e.g., a tap) and gain more detailed control of the device using an input having a different characteristic (e.g., a long press). In some embodiments, a user-defined collection of devices (e.g., a scene) is controlled in response to user-defined conditions. Various other techniques are also described. Such techniques can reduce the cognitive burden on a user managing controllable external devices, thereby increasing productivity. Furthermore, such techniques can reduce processor and battery power otherwise wasted on redundant user input.

[0073] 1A-1C, 2, 3, 4A-4B, and 5A-5I below provide a description of an exemplary device for implementing techniques for managing controllable external devices.

[0074] Figures 6A-6R and 8A-8J show example user interfaces for managing controllable external devices. Figures 7A-7B and 9A-9B are flow diagrams illustrating methods for managing controllable external devices, according to some embodiments. The user interfaces of Figures 6A-6R are used to illustrate processes described below, including the processes of Figures 7-7B. The user interfaces of Figures 8A-8J are used to illustrate processes described below, including the processes of Figures 9A-9B.

[0075] 10A-10AC show exemplary user interfaces for managing grouped controllable external devices. 11A-11B are flow diagrams illustrating methods for managing grouped controllable external devices, according to some embodiments. The user interfaces of FIGS. 8A-8D are used to illustrate processes described below, including the processes of FIGS. 11A-11B.

[0076] 12A-12Q show exemplary user interfaces for managing a thermostat. 13A-13B are flow diagrams illustrating methods for managing a thermostat, according to some embodiments. The user interfaces of FIGS. 12A-12Q are used to illustrate processes described below, including the processes of FIGS. 13A-13B.

[0077] 14A-14T show exemplary user interfaces for managing groups of controllable external devices and speakers. FIG. 15 is a flow diagram showing a user interface method for managing groups of controllable external devices and speakers, according to some embodiments. The user interfaces of FIGS. 14A-14T are used to illustrate processes described below, including the process of FIG. 15.

[0078] 16A-16G show exemplary user interfaces for managing speakers. FIG. 17 is a flow diagram showing a method for managing speakers, according to some embodiments. The user interfaces of FIGS. 16A-16G are used to illustrate processes described below, including the process of FIG. 17.

[0079] 18A-18G show exemplary user interfaces for requesting the playback of a particular type of sound, according to some embodiments. FIG. 19 is a flow diagram showing a method for requesting the playback of a particular type of sound, according to some embodiments. The user interfaces of FIGS. 18A-18G are used to illustrate processes described below, including the process of FIG. 19.

[0080] 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 used only to distinguish one element from another. For example, a first touch can be referred to as a second touch, and similarly, a second touch can be referred to as a first touch, without departing from the scope of the various embodiments described. Although a first touch and a second touch are both touches, they are not the same touch.

[0081] The terminology used in the description of various embodiments set forth herein is for the purpose of describing particular embodiments only and is not intended to be limiting. In the description of the various embodiments set forth 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. Also, as used herein, the term "and / or" should be understood to refer to and include 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.

[0082] 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 phrases "if it is determined" or "if [a stated condition or event] is detected" are 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]."

[0083] 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, the iPhone®, iPod Touch®, and iPad® devices from Apple Inc. of Cupertino, California. Optionally, other portable electronic devices, such as laptop or tablet computers with touch-sensitive surfaces (e.g., touchscreen displays and / or touchpads), 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 with a touch-sensitive surface (e.g., touchscreen displays and / or touchpads).

[0084] 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.

[0085] The device typically supports a variety of applications such as one or more of a drawing application, a presentation application, a word processing application, a website creation application, a disc authoring application, a spreadsheet application, a gaming application, a telephone application, a video conferencing application, an email application, an instant messaging application, a training support application, a photo management application, a digital camera application, a digital video camera application, a web browsing application, a digital music player application, and / or a digital video player application.

[0086] 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 various applications with user interfaces that are intuitive and transparent to the user.

[0087] Attention now turns to embodiments of portable devices with touch-sensitive displays. FIG. 1A is a block diagram illustrating portable multifunction device 100 having touch-sensitive display system 112 according to some embodiments. Touch-sensitive display 112 may conveniently be 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 via one or more communication buses or signal lines 103.

[0088] 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 ​​that includes at least four distinct values ​​and more typically includes 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 force at various points on the touch-sensitive surface. In some implementations, force measurements from multiple force sensors are combined (e.g., weighted average) 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 for the force or pressure of the contact is used directly to determine whether an intensity threshold has been exceeded (e.g., the intensity threshold is stated in units corresponding to the surrogate measure). In some implementations, the surrogate measure for the contact force or pressure is converted to an estimated force or pressure, and the estimated force or pressure is used to determine whether an intensity threshold has been exceeded (e.g., the intensity threshold is a pressure threshold measured in units of pressure). Using contact intensity as an attribute of user input allows a user to access additional device functionality that may not otherwise be accessible by a user on devices of reduced size that have limited area for displaying affordances (e.g., on a touch-sensitive display) and / or receiving user input (e.g., via a touch-sensitive display, touch-sensitive surface, or physical / mechanical controls such as knobs or buttons).

[0089] As used herein and in the claims, the term “tactile output” refers to a physical displacement of a device relative to its previous position, 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 the user's hand), the tactile output produced 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 “downclick” or “upclick” of a physical actuator button. In some cases, a user feels a tactile sensation such as a “downclick” or “upclick” even when no movement of a physical actuator button associated with the touch-sensitive surface is physically pressed (e.g., displaced) by the user's action. As another example, movement of a touch-sensitive surface is optionally interpreted or perceived by a user as "roughness" of the touch-sensitive surface, even when there is no change in the smoothness of the touch-sensitive surface. While such user interpretation of touch depends on the user's personal sensory perception, there are many sensory perceptions of touch that are common to the majority of users. Thus, when a tactile output is described as corresponding to a particular sensory perception of a user (e.g., "upclick," "downclick," "roughness"), unless otherwise specified, 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.

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

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

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

[0093] RF (radio frequency) circuitry 108 transmits and receives RF signals, also called electromagnetic signals. RF circuitry 108 converts electrical signals to or from electromagnetic signals and communicates with communication networks and other communication devices via electromagnetic signals. RF circuitry 108 optionally includes well-known circuitry 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. RF circuitry 108 optionally communicates via wireless communication with networks, such as the Internet, also known 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. RF circuitry 108 optionally includes well-known circuitry for detecting near field communication (NFC) fields, such as by short-range radios. Wireless communication is optionally supported by Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), high-speed downlink packet access (HSDPA), high-speed uplink packet access (HSUPA), Evolution 3D-DO (EV-DO), and other standards.Data-Only, HSPA, HSPA+, Dual-Cell HSPA (DC-HSPADA), long term evolution (LTE), near field communication (NFC), wideband code division multiple access (W-CDMA), code division multiple access (CDMA), time division multiple access (TDMA), Bluetooth®, Bluetooth Low Energy (BTLE), Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.11n, and / or IEEE 802.11ac), voice over Internet Protocol (VoIP), Wi-MAX, email protocols (e.g., Internet message access protocol (IMAP) and / or post office protocol (POP)), instant messaging (e.g., extensible messaging and presence protocol (XMPP)), SIMPLE (Session Initiation Protocol), The present invention may use any of a number of communication standards, protocols, and technologies, including, but not limited to, the Protocol for Instant Messaging and Presence Leveraging Extensions (IMPS), Instant Messaging and Presence Service (IMPS), and / or Short Message Service (SMS), or any other suitable communication protocol, including communication protocols not yet developed as of the filing date of this application.

[0094] Audio circuit 110, speaker 111, and microphone 113 provide an audio interface between a user and device 100. Audio circuit 110 receives audio data from peripherals interface 118, converts the audio data into electrical signals, and transmits the electrical signals to speaker 111. Speaker 111 converts the electrical signals into sound waves audible to humans. Audio circuit 110 also receives electrical signals converted from sound waves by microphone 113. Audio circuit 110 converts the electrical signals into audio data and transmits the audio data to peripherals interface 118 for processing. The audio data is optionally retrieved from and / or transmitted to memory 102 and / or RF circuit 108 by peripherals interface 118. In some embodiments, 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., mono or binaural headphones) and an input (e.g., a microphone).

[0095] I / O subsystem 106 couples input / output peripherals on device 100, such as touchscreen 112 and other input control devices 116, to peripheral interface 118. I / O subsystem 106 optionally includes display controller 156, light sensor controller 158, depth camera controller 169, intensity sensor controller 159, haptic feedback controller 161, and one or more input controllers 160 for other input or control devices. One or more input controllers 160 receive / send electrical signals from / to other input control devices 116. 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, input controller 160 is 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 and 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).

[0096] As described in U.S. Patent Application 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 quick press of the push button optionally disengages a lock on the touchscreen 112 or, optionally, initiates a process to unlock the device using a gesture on the touchscreen. 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 touchscreen 112 is used to implement virtual or soft buttons and one or more soft keyboards.

[0097] Touch-sensitive display 112 provides an input and output interface between the device and a user. Display controller 156 receives and / or sends electrical signals to touchscreen 112. Touchscreen 112 displays visual output to the user. This visual output optionally includes graphics, text, icons, video, and any combination thereof (collectively "graphics"). In some embodiments, some or all of the visual output optionally corresponds to user-interface objects.

[0098] 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 cessation of contact) on touchscreen 112 and translates the detected contacts into interactions with user interface objects (e.g., one or more softkeys, 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.

[0099] 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 disruption 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, California.

[0100] The touch-sensitive display in some embodiments of touchscreen 112 is optionally similar to the multi-touch-sensing touchpad 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 Publication No. 2002 / 0015024 (A1), each of which is incorporated by reference herein in its entirety. However, touchscreen 112 displays visual output from device 100, whereas touch-sensitive touchpads do not provide visual output.

[0101] The touch-sensitive display in some embodiments of touch screen 112 may be any of the touch-sensitive displays described in 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 Devices." No. 11 / 228,758, filed September 16, 2005, entitled "Virtual Input Device Placement On A Touch Screen User Interface," (7) U.S. Patent Application No. 11 / 228,700, filed September 16, 2005, entitled "Operation Of A Computer With A Touch Screen Interface," (8) U.S. Patent Application No. 11 / 228,737, filed September 16, 2005, entitled "Activating Virtual Keys Of A Touch-Screen Virtual Keyboard," and (9) U.S. Patent Application No. 11 / 367,749, filed March 3, 2006, entitled "Multi-Functional Hand-Held Device," all of which are incorporated herein by reference in their entirety.

[0102] Touchscreen 112 optionally has a video resolution 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 accessory, such as a stylus, a finger, or the like. In some embodiments, the user interface is designed to primarily handle 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 coarse finger input into precise pointer / cursor positions or commands to perform the action desired by the user.

[0103] In some embodiments, in addition to the 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 that is separate from touchscreen 112 or an extension of the touch-sensitive surface formed by the touchscreen.

[0104] 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., battery, 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 electrical power within a portable device.

[0105] 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 interfaces with imaging module 143 (also referred to as a camera module) to capture still images or video. In some embodiments, the light sensor is located on the back of device 100, as opposed to touchscreen display 112, which is on the front of the device, so that the touchscreen display is effectively used as a viewfinder for capturing still and / or video images. In some embodiments, the light sensor is located on the front of the device so that an image of the user is obtained, optionally for video conferencing, and the user sees 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), so that a single light sensor 164 is used for both video conferencing and capturing still and / or video images, along with the touchscreen display.

[0106] 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 and creates 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 conjunction with imaging module 143 (also referred to as a camera module), depth camera sensor 175 is optionally used to determine a depth map of various portions of an image captured by imaging module 143. In some embodiments, a depth camera sensor is located on the front of device 100 so that images of the user with depth information are optionally obtained for videoconferences and to capture selfie images with depth map data while the user views other videoconference participants on a touchscreen display. In some embodiments, depth camera sensor 175 is located on the back of the device or on both the back and front of device 100. In some embodiments, the position of the depth camera sensor 175 can be changed by the user (e.g., by rotating the lens and sensor within the device housing), so that the depth camera sensor 175 is used for both video conferencing and capturing still and / or video images, along with a touchscreen display.

[0107] Device 100 also optionally includes one or more contact intensity sensors 165. FIG. 1A shows contact intensity sensors coupled to intensity sensor controller 159 in I / O subsystem 106. Contact intensity sensors 165 optionally include one or more piezoresistive strain gauges, capacitive force sensors, electric 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 sensors 165 receive 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 the 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, which is located on the front of device 100.

[0108] 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 input controller 160 within I / O subsystem 106. Proximity sensor 166 optionally functions as described in U.S. patent application Ser. Nos. 11 / 241,839, "Proximity Detector In Handheld Device," 11 / 240,788, "Proximity Detector In Handheld Device," 11 / 620,702, "Using Ambient Light Sensor To Augment Proximity Sensor Output," 11 / 586,862, "Automated Response To And Sensing Of User Activity In Portable Devices," and 11 / 638,251, "Methods And Systems For Automatic Configuration Of Peripherals," which are incorporated herein by reference in their entireties. In some embodiments, the proximity sensor turns off and disables touchscreen 112 when the multifunction device is placed near the user's ear (e.g., when the user is on a phone call).

[0109] Device 100 also optionally includes one or more tactile output generators 167. FIG. 1A shows tactile output generators 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 instructions 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 located on or proximate to a touch-sensitive surface (e.g., touch-sensitive display system 112) and, optionally, generates a tactile output 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, 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.

[0110] 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 within I / O subsystem 106. Accelerometer 168 optionally functions as described in U.S. Patent Publication No. 20050190059, "Acceleration-based Theft Detection System for Portable Electronic Devices," and U.S. Patent Publication No. 20060017692, "Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer," both of which are incorporated herein by reference in their entireties. In some embodiments, information is displayed on the touchscreen display in portrait or landscape view based on analysis of data received from the one or more accelerometers. In addition to the accelerometer 168, the device 100 optionally includes a magnetometer and a GPS (or GLONASS or other global navigation system) receiver for obtaining information about the location and orientation (e.g., vertical or horizontal) of the device 100.

[0111] In some embodiments, software components stored in memory 102 include operating system 126, communications module (or instruction set) 128, touch / motion module (or instruction set) 130, graphics module (or instruction set) 132, character input module (or instruction set) 134, 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: active application state indicating which applications, if any, are currently active; display state indicating which applications, views, or other information occupy various regions of touchscreen display 112; sensor state including information obtained from the device's various sensors and input control devices 116; and location information regarding the device's position and / or orientation.

[0112] 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 normal system tasks (e.g., memory management, storage device control, power management, etc.) and facilitate communication between various hardware and software components.

[0113] Communications module 128 facilitates communication with other devices via one or more external ports 124 and also includes various software components for processing data received by 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., the Internet, wireless LAN, etc.). In some embodiments, the external port is a multi-pin (e.g., 30-pin) connector that is the same as, similar to, and / or compatible with the 30-pin connector used on iPod® (trademark of Apple Inc.) devices.

[0114] Contact / motion module 130 optionally detects contact with touchscreen 112 (in conjunction with display controller 156) and other touch-sensing devices (e.g., a touchpad or physical click wheel). Contact / motion module 130 includes various software components for performing various operations related to contact detection, such as determining whether contact occurs (e.g., detecting a finger-down event), determining the intensity 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 contact movement and tracking the movement across the touch-sensitive surface (e.g., detecting one or more finger-drag events), and determining whether the contact has stopped (e.g., detecting a finger-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., a single 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 the touchpad.

[0115] In some embodiments, contact / motion module 130 uses a set of one or more intensity thresholds for determining whether an action has been performed by a user (e.g., for determining 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 threshold of a particular physical actuator, but can be adjusted without changing the physical hardware of device 100). For example, the mouse “click” threshold of a trackpad or touchscreen display can be set to any of a wide range of pre-defined thresholds without changing the trackpad or touchscreen display hardware. Additionally, in some implementations, a device user is provided with software settings to adjust one or more of the set of intensity thresholds (e.g., by adjusting individual intensity thresholds and / or multiple intensity thresholds at once via a system-level click “intensity” parameter).

[0116] Contact / motion module 130 optionally detects gesture input by a user. Different gestures on the touch-sensitive surface have different contact patterns (e.g., different movements, timing, and / or intensities of detected contacts). Thus, gestures are optionally detected by detecting particular contact patterns. 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., 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.

[0117] Graphics module 132 includes various known software components for rendering and displaying graphics on touchscreen 112 or other display, including components for modifying the visual effects (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, videos, animations, etc.

[0118] In some embodiments, graphics module 132 stores data representing 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 coordinate data and other graphic characteristic data, as needed, from an application or the like, and then generates screen image data to output to display controller 156.

[0119] The haptic 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 user interaction with the device 100.

[0120] 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).

[0121] The GPS module 135 determines the location of the device and provides this information for use in various applications (e.g., to the phone 138 for location-based dialing, to the camera 143 as image / video metadata, and to applications that provide location-based services such as weather widgets, local yellow pages widgets, and map / navigation widgets).

[0122] 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 and / or video images, ● 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 stocks 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, and a user-created widget 149-6; a widget creation module 150 for creating user-created widgets 149-6; ● Search module 151, A video and music player module 152 that integrates a video player module and a music player module; ● Memo module 153, Map module 154, and / or ●Online video module 155.

[0123] 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.

[0124] In conjunction with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, contacts module 137 is used to manage an address book or contact list (e.g., stored in memory 102 or in the application internal state 192 of contacts module 137 in memory 370), optionally including adding names to the address book, removing names from the address book, associating phone numbers, email addresses, physical addresses, or other information with names, associating images with names, 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, etc.

[0125] In conjunction with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, and character input module 134, telephone module 138 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, conduct conversations, and disconnect or hang up when the conversation is completed. As previously mentioned, wireless communication optionally uses any of a number of communication standards, protocols, and technologies.

[0126] In conjunction with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch screen 112, display controller 156, light sensor 164, light sensor controller 158, touch / motion module 130, graphics module 132, text input module 134, contacts module 137, and telephone module 138, videoconferencing module 139 includes executable instructions for initiating, conducting, and terminating a videoconference between a user and one or more other participants in accordance with user commands.

[0127] In conjunction with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, email client module 140 contains executable instructions for composing, sending, receiving, and managing emails in response to user commands. In conjunction with image management module 144, email client module 140 greatly facilitates the creation and sending of emails with still or video images captured by camera module 143.

[0128] Instant messaging module 141 includes executable instructions for operating in conjunction with RF circuitry 108, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, and character input module 134 to enter character sequences corresponding to instant messages, modify previously entered characters, send 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), receive instant messages, and view received instant messages. In some embodiments, sent and / or received instant messages optionally include graphics, photos, audio files, video files, and / or other attachments, such as those 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).

[0129] The training support module 142 includes executable instructions to interface with the RF circuitry 108, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, character input module 134, GPS module 135, map module 154, and music player module to create workouts (e.g., with time, distance, and / or calorie burn goals), communicate with training sensors (sports devices), receive training sensor data, calibrate sensors used to monitor workouts, select and play music for workouts, and display, store, and transmit workout data.

[0130] 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, camera module 143 contains executable instructions for capturing and storing still images or video (including video streams) in memory 102, modifying characteristics of the still images or video, or deleting the still images or video from memory 102.

[0131] In conjunction with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, and camera module 143, image management module 144 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.

[0132] In conjunction with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, browser module 147 contains executable instructions for browsing the Internet according to user commands, including retrieving, linking to, receiving, and displaying web pages or portions thereof, as well as attachments and other files linked to web pages.

[0133] Calendar module 148 includes executable instructions to cooperate with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, character input module 134, email client module 140, and browser module 147 to create, display, modify, and store calendars and data associated with the calendars (e.g., agenda items, to-do lists, etc.) in accordance with user instructions.

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

[0135] 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, widget creation module 150 is optionally used by a user to create a widget (e.g., turn a user-specified portion of a web page into a widget).

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

[0137] In conjunction 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, video and music player module 152 contains executable instructions that 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 (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.).

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

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

[0140] 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, online video module 155 contains 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. Additional description of online video applications can be found in U.S. Provisional Patent Application No. 60 / 936,562, filed June 20, 2007, entitled "Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos," and U.S. Patent Application No. 11 / 968,067, filed December 31, 2007, entitled "Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos," the contents of which are incorporated herein by reference in their entireties.

[0141] 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; thus, in various embodiments, various subsets of these modules are optionally combined or otherwise rearranged. 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.

[0142] In some embodiments, device 100 is a device in which operation of a predetermined set of functions on the device is performed exclusively through 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.

[0143] 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, home menu, or 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.

[0144] 1B is a block diagram illustrating exemplary 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 described above).

[0145] Event sorter 170 receives the event information and determines which application 136-1 to deliver the event information to and application view 191 for application 136-1. Event sorter 170 includes event monitor 171 and 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 is currently active, and application internal state 192 is used by event sorter 170 to determine which application is currently active, and application view 191 to deliver the event information to.

[0146] 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 enable the user to return to a previous state or view of application 136-1, and redo / undo cues for previous actions taken by the user.

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

[0148] 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 sends event information only when there is a significant event (e.g., receipt of an input above a predetermined noise threshold and / or for more than a predetermined duration).

[0149] In some embodiments, event sorter 170 also includes hit view determination module 172 and / or active event recognizer determination module 173 .

[0150] 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.

[0151] 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 application's programmatic or view hierarchy. For example, the lowest-level view in which the touch is detected is optionally referred to as the 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-based gesture.

[0152] 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 hierarchy, 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 (e.g., the first sub-event in a sequence of sub-events that form an event or potential event) occurs. Once a hit view is identified by hit view determination module 172, the hit view typically receives all sub-events related to the same touch or input source as the hit view.

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

[0154] Event dispatcher module 174 dispatches 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.

[0155] In some embodiments, operating system 126 includes event sorter 170. Alternatively, application 136-1 includes event sorter 170. In still 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.

[0156] In some embodiments, application 136-1 includes multiple event handlers 190 and one or more application views 191, each containing instructions for processing 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 attributes. In some embodiments, each event handler 190 includes one or more of data updater 176, object updater 177, GUI updater 178, and / or event data 179 received from event sorter 170. Event handler 190 optionally utilizes or invokes data updater 176, object updater 177, or GUI updater 178 to update application internal state 192. Alternatively, one or more of the application views 191 include one or more 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.

[0157] 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 metadata 183 and at least a subset of event delivery instructions 188 (optionally including sub-event delivery instructions).

[0158] 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 position 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 called the device's attitude).

[0159] The event comparator 184 compares the event information with 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 predefined sequence of sub-events), such as Event 1 (187-1) and Event 2 (187-2). In some embodiments, sub-events in Event 187 include, for example, touch start, touch end, touch movement, touch cancellation, 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 relative to a predetermined stage (touch start), a first lift-off (touch end) relative to the predetermined stage, a second touch on a displayed object relative to the predetermined stage (touch start), and a second lift-off (touch end) relative to the predetermined stage. In another example, the definition of event 2 (187-2) is a drag on a displayed object. Drag includes, for example, a touch (or contact) on a displayed object relative to a predetermined stage, a movement of the touch across the touch-sensitive display 112, and a lift-off of the touch (touch end). In some embodiments, the event also includes information about one or more associated event handlers 190.

[0160] 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.

[0161] In some embodiments, the definition for each event (187) also includes a delay action that delays transmission of the event information until after it has been determined whether the sub-event sequence corresponds to the event recognizer's event type.

[0162] 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-ended 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-based gesture.

[0163] 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 how event recognizers 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 the view or programmatic hierarchy.

[0164] In some embodiments, each event recognizer 180 activates an event handler 190 associated with an event when one or more specific 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) 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 captures the flag and performs a predetermined process.

[0165] 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 predetermined processing.

[0166] 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.

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

[0168] 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 the touchscreen. For example, mouse movements and mouse button presses, contact movements such as tapping, dragging, scrolling on a touchpad, optionally coordinated with single or multiple keyboard presses or holds, pen stylus input, device movement, verbal commands, detected eye movement, biometric input, and / or any combination thereof, optionally utilize as inputs corresponding to sub-events that define the recognized event.

[0169] 1C illustrates a block diagram of a system 2100 according to various embodiments. In some embodiments, the system 2100 implements a digital assistant. The terms “digital assistant,” “virtual assistant,” “intelligent automated assistant,” or “automated digital assistant” refer to any information processing system that infers user intent by interpreting natural language input in spoken and / or textual form and performs actions based on the inferred user intent. For example, to fulfill the inferred user intent, the system may perform one or more of the following: identify a task flow having steps and parameters designed to achieve the inferred user intent; input specific requirements from the inferred user intent into the task flow; execute the task flow by invoking programs, methods, services, APIs, or the like; and generate an output response to the user in an audible (e.g., spoken) and / or visual form.

[0170] Specifically, the digital assistant can accept user requests, at least in part, in the form of natural language commands, requests, statements, predications, and / or queries. Typically, a user request seeks either an informational answer or task performance by the digital assistant. A satisfactory response to this user request includes providing the requested informational answer, performing the requested task, or a combination of the two. For example, a user asks the digital assistant a question such as, "Where am I right now?" Based on the user's current location, the digital assistant responds, "You are in Central Park near the West Gate." The user also requests a task to be performed, such as, "Please invite my friends to my girlfriend's birthday party next week." In response, the digital assistant can acknowledge the request by stating, "Yes, right away," and then send appropriate calendar invitations on behalf of the user to each of the user's friends listed in the user's electronic address book. During the performance of a requested task, the digital assistant may interact with the user in a continuous conversation involving multiple exchanges of information over an extended period of time. There are numerous other ways to interact with a digital assistant to request information or to perform various tasks. In addition to providing verbal responses and taking programmed actions, the digital assistant also provides responses in other visual or audio formats, such as text, alerts, music, video, animation, etc.

[0171] 1C , in some embodiments, the digital assistant is implemented according to a client-server model. The digital assistant includes a client-side portion 2102 (hereinafter, "DA client 2102") that runs on user device 104 and a server-side portion 2106 (hereinafter, "DA server 2106") that runs on server system 2108. DA client 2102 communicates with DA server 2106 over one or more networks 2110. DA client 2102 provides client-side functionality, such as user-responsive input and output processing and communication with DA server 2106. DA server 2106 provides server-side functionality to any number of DA clients 2102, each resident on a respective user device 2104.

[0172] In some embodiments, the DA server 2106 includes a client-facing I / O interface 2112, one or more processing modules 2114, data and models 2116, and an I / O interface to external services 2118. The client-facing I / O interface 2112 facilitates client-facing input and output processing of the DA server 2106. The one or more processing modules 2114 utilize the data and models 2116 to process speech input and determine user intent based on natural language input. Furthermore, the one or more processing modules 2114 perform task execution based on the inferred user intent. In some embodiments, the DA server 2106 communicates with external services 120 over network(s) 2110 to complete tasks or obtain information. The I / O interface to external services 2118 facilitates such communication.

[0173] User device 2104 can be any suitable electronic device. In some embodiments, user device 2104 is a portable multifunction device (e.g., device 100 described above with reference to FIG. 1A), a multifunction device, or another electronic device (e.g., devices 600, 800, 1000). A portable multifunction device is, for example, a mobile phone that also includes other functions, such as PDA and / or music player functionality. Specific examples of portable multifunction devices include the Apple Watch®, iPhone®, iPod Touch®, and iPad® devices by Apple Inc. (Cupertino, California). Other examples of portable multifunction devices include, but are not limited to, earphones / headphones, speakers, and laptop or tablet computers. Furthermore, in some embodiments, user device 2104 is a non-portable multifunction device. Specifically, user device 2104 is a desktop computer, a game console, a speaker, a television, or a television set-top box. In some examples, user device 2104 includes a touch-sensitive surface (e.g., a touchscreen display and / or a touchpad). Additionally, user device 2104 optionally includes one or more other physical user interface devices, such as a physical keyboard, a mouse, and / or a joystick. Various examples of electronic devices, such as multifunction devices, are described in further detail below.

[0174] Examples of communication network(s) 2110 include a local area network (LAN) and a wide area network (WAN), such as the Internet. The communication network(s) 2110 may be implemented using any known network protocol, including various wired or wireless protocols, such as, for example, Ethernet, Universal Serial Bus (USB), FIREWIRE, Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), code division multiple access (CDMA), time division multiple access (TDMA), Bluetooth, Wi-Fi, voice over Internet Protocol (VoIP), Wi-MAX, or any other suitable communication protocol.

[0175] The server system 2108 may be implemented on one or more stand-alone data processing devices or a distributed computer network. In some embodiments, the server system 2108 also employs various virtual devices and / or the services of third-party service providers (e.g., third-party cloud service providers) to provide the underlying computing and / or infrastructure resources of the server system 2108.

[0176] In some embodiments, the user device 2104 communicates with the DA server 2106 via a second user device 2122. The second user device 2122 is similar to or identical to the user device 2104. The user device 2104 is configured to be communicatively coupled to the second user device 2122 via a direct communication connection, such as Bluetooth, NFC, or BTLE, or via a wired or wireless network, such as a local Wi-Fi network. In some embodiments, the second user device 2122 is configured to act as a proxy between the user device 2104 and the DA server 2106. For example, the DA client 2102 of the user device 2104 is configured to send information (e.g., a user request received at the user device 2104) to the DA server 2106 via the second user device 2122. The DA server 2106 processes the information and returns relevant data (e.g., data content responsive to the user request) to the user device 2104 via the second user device 2122.

[0177] In some embodiments, the user device 2104 is configured to reduce the amount of information transmitted from the user device 2104 by communicating with the second user device 2122 via an abbreviated request for data. The second user device 2122 is configured to determine supplemental information to add to the abbreviated request and generate a complete request to transmit to the DA server 2106. This system architecture can advantageously allow a user device 2104 (e.g., a watch or similar small electronic device) with limited communication capabilities and / or limited battery power to access services provided by the DA server 2106 by using a second user device 2122 (e.g., a mobile phone, laptop computer, tablet computer, etc.) with greater communication capabilities and / or battery power as a proxy to the DA server 2106. While only two user devices 2104 and 2122 are shown in FIG. 1C , it should be understood that the system 2100, in some embodiments, includes any number and type of user devices configured to communicate with the DA server system 2106 in this proxy configuration.

[0178] 1C includes both a client-side portion (e.g., DA client 2102) and a server-side portion (e.g., DA server 2106), although in some examples, the digital assistant's functionality is implemented as an independent application installed on a user device. Furthermore, the allocation of functionality between the client and server portions of the digital assistant may vary depending on the implementation. For example, in some embodiments, the DA client is a thin client that provides only user-facing input and output processing functionality and delegates all other digital assistant functionality to a back-end server.

[0179] FIG. 2 illustrates portable multifunction device 100 having touchscreen 112, according to some embodiments. The touchscreen optionally displays one or more graphics within 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, upward, and / or downward), and / or a roll of a finger (right to left, left to right, upward, and / or downward) in contact with device 100. In some implementations or situations, accidental contact with a graphic does not select the graphic. For example, if the gesture corresponding to selection is a tap, a swipe gesture sweeping over an application icon optionally does not select the corresponding application.

[0180] 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, optionally within a set of applications running on device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key within a GUI displayed on touchscreen 112.

[0181] In some embodiments, device 100 includes touchscreen 112, menu button 204, pushbuttons 206 for powering the device on / off and locking the device, volume control buttons 208, subscriber identity module (SIM) card slot 210, headset jack 212, and external docking / charging port 124. Pushbutton 206 is optionally used to power the device on / off by pressing and holding the button down for a predetermined period of time, to lock the device by pressing and releasing the button before the predetermined time has elapsed, and / or to unlock the device or initiate the unlocking process. In alternative embodiments, device 100 also accepts verbal input via microphone 113 for activating or deactivating some functions. Device 100 also optionally includes one or more contact intensity sensors 165 for detecting the intensity of a contact on touchscreen 112 and / or one or more tactile output generators 167 for generating a tactile output for a user of device 100.

[0182] FIG. 3 is a block diagram of an exemplary multifunction device with 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 playback 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 interconnecting these components. Communication bus 320 optionally includes circuitry (sometimes called a chipset) that interconnects and controls communication between system components. Device 300 includes input / output (I / O) interface 330, which includes 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, a touchpad 355, a tactile output generator 357 (e.g., similar to tactile output generator 167 described above with reference to FIG. 1A ) that generates 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 310. In some embodiments, memory 370 stores programs, modules, and data structures similar to the programs, modules, and data structures stored in memory 102 of portable multifunction device 100 (FIG. 1A), or a subset thereof.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, disc authoring module 388, and / or spreadsheet module 390, whereas memory 102 of portable multifunction device 100 (FIG. 1A) optionally does not store these modules.

[0183] 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 function described above. The above-identified modules or programs (e.g., instruction sets) need not be implemented as separate software programs, procedures, or modules; 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.

[0184] Attention is now directed to user interface embodiments, optionally implemented on portable multifunction device 100, for example.

[0185] 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 indicators 402 for wireless communications such as cellular and Wi-Fi signals; ●Time 404, ●Bluetooth indicator 405, ● Battery status indicator 406, A tray 408 with icons of frequently used applications, such as: an icon 416 for the phone module 138, labeled "Phone," optionally including an indicator 414 of the number of missed calls or voicemail messages; 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 ○ 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 of Stocks widget 149-2, labeled "Stock Prices" ○ Icon 436 of the map module 154, labeled "Map"; Icon 438 of weather widget 149-1, labeled "Weather" ○ Icon 440 of 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 A settings application or module icon 446 labeled "Settings" that provides access to settings for the device 100 and its various applications 136.

[0186] 4A are merely exemplary. For example, icon 422 for video and music player module 152 is labeled "Music" or "Music Player," although 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 corresponding to the respective application icon. In some embodiments, the label for a particular application icon is different from the name of the application corresponding to that particular application icon.

[0187] 4B shows an example user interface on a device (e.g., device 300 of FIG. 3 ) that has 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 for a user of device 300.

[0188] Although some of the following examples are given with reference to input on touchscreen display 112 (which combines a touch-sensitive surface and a display), in some embodiments, the device detects input on a touch-sensitive surface that is separate from the display 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 way, 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 should be understood that similar methods are optionally used for the other user interfaces described herein.

[0189] Additionally, while the following examples are given primarily with reference to finger input (e.g., finger contacts, finger tap gestures, finger swipe gestures), 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 movement of the contact). As another example, a tap gesture is optionally replaced with a mouse click while the cursor is positioned over the location of the tap gesture (e.g., instead of detecting a contact and then ceasing contact detection). Similarly, it should be understood that when multiple user inputs are detected simultaneously, multiple computer mice are optionally used simultaneously, or a mouse and finger contacts are optionally used simultaneously.

[0190] FIG. 5A shows an exemplary personal electronic device 500. Device 500 includes a main 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 touchscreen 504. Device 500 can alternatively, or in addition to touchscreen 504, have a display and a touch-sensitive surface. Similar to devices 100 and 300, in some embodiments, touchscreen 504 (or touch-sensitive surface) optionally includes one or more intensity sensors that detect the intensity of an applied contact (e.g., a touch). The one or more intensity sensors in touchscreen 504 (or touch-sensitive surface) can provide output data representing the intensity of the touch. A user interface of device 500 can respond to a touch based on the intensity of the touch, meaning that touches of different intensities can invoke different user interface actions on device 500.

[0191] Exemplary techniques for detecting and processing touch intensity can be found, for example, in 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 Patent Application No. WO / 2013 / 169849, and related applications, including International Patent Application No. PCT / US2013 / 069483, filed November 11, 2013, entitled "Device, Method, and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships," published as International Patent Application No. WO / 2014 / 105276, each of which is incorporated herein by reference in its entirety.

[0192] In some embodiments, device 500 has one or more input mechanisms 506 and 508. Input mechanisms 506 and 508, if included, can be physical mechanisms. 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.

[0193] FIG. 5B illustrates an exemplary personal electronic device 500. In some embodiments, device 500 can include some or all of the components described with respect to FIGS. 1A, 1B, and 3. 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. I / O section 514 can be connected to a display 504, which can have touch-sensing components 522 and, optionally, an intensity sensor 524 (e.g., a contact intensity sensor). Additionally, 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 techniques. Device 500 can include input mechanisms 506 and / or 508. Input mechanism 506 is optionally a rotatable input device or a depressible and rotatable input device, for example. In some examples, input mechanism 508 is optionally a button.

[0194] In some examples, 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 operably connected to the I / O section 514.

[0195] 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, can cause the computer processors to perform the techniques described below, for example. 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 examples, the storage medium is a transient computer-readable storage medium. In some examples, the storage medium is a non-transitory computer-readable storage medium. Non-transitory computer-readable storage media may include, but are not limited to, magnetic, optical, and / or semiconductor storage devices. Examples of such storage devices include magnetic disks, CDs, DVDs, or optical disks based on Blu-ray® technology, as well as resident solid-state memory such as flash and solid-state drives. The personal electronic device 500 is not limited to the components and configuration of FIG. 5B and may include other or additional components in multiple configurations.

[0196] As used herein, the term "affordance" refers to a user-interactive graphical user interface object that is optionally displayed on the display screen of device 100, 300, 500, and / or 600 (FIGS. 1A, 3, and 5A-5B). For example, images (e.g., icons), buttons, and text (e.g., hyperlinks) each optionally constitute an affordance.

[0197] As used herein, the term “focus selector” 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 location marker, the cursor acts as the “focus selector,” such that when 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 enables direct interaction with user interface elements on the touchscreen display, a detected contact on the touchscreen acts as the “focus selector,” such that when 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 touchscreen display (e.g., by using the 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 particular form the focus selector takes, the focus selector is generally a user interface element (or contact on a touchscreen 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 the element of the user interface with which the user intends to interact).For example, while a press input is detected on a touch-sensitive surface (e.g., a touchpad or touchscreen), the position of a focus selector (e.g., a cursor, touch, or selection box) over a corresponding button indicates that the user intends to activate that corresponding button (and not other user interface elements shown on the device's display).

[0198] 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 predetermined number of intensity samples, i.e., a set of intensity samples collected during a predetermined time period (e.g., 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10 seconds) associated with a predetermined event (e.g., after detecting the contact, before detecting lift-off of the contact, before or after detecting the start of contact movement, before detecting the 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 the contact is optionally based on one or more of the maximum intensity of the contact, the mean intensity of the contact, the average intensity of the contact, the top 10 percentile intensity of the contact, half the maximum intensity of the contact, 90 percent of the maximum intensity 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 that does not exceed the first threshold results in a first action, a contact having a characteristic intensity that exceeds the first intensity threshold but not the second intensity threshold results in a second action, and a contact having a characteristic intensity that exceeds 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 refrain from performing the respective action).

[0199] 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 illustrating the current intensity measurements of intensity sensors 524A-524D relative to intensity units. In this example, intensity sensors 524A and 524D each measure 9 intensity units, and intensity sensors 524B and 524C each measure 7 intensity units. In some implementations, the aggregate intensity is the sum of the intensity measurements of 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 fraction of the aggregate intensity. FIG. 5D illustrates assigning aggregate intensities to contacts 552A-552E based on their distance from the center of force 554. In this example, contacts 552A, 552B, and 552E are each assigned a contact intensity of 8 intensity units of aggregate intensity, and contacts 552C and 552D are each assigned a contact intensity of 4 intensity units of aggregate intensity. More generally, in some implementations, each contact j is assigned a respective intensity Ij, which is a fraction of the aggregate intensity A, according to a predetermined mathematical function Ij=A·(Dj / ΣDi), where Dj is the distance from the center of force to 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 implemented using electronic devices similar to or identical to device 100, 300, 500, or device 600. In some embodiments, the characteristic intensity of a contact is based on one or more intensities of the contact. In some embodiments, an intensity sensor is used to determine a single characteristic intensity (e.g., a single characteristic intensity of a single contact). 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.

[0200] 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 location to an end location, at which point the intensity of the contacts increases. In this example, the characteristic intensity of the contacts at the end location is optionally based on only a portion of the successive swipe contacts (e.g., only the portion of the swipe contacts at the end location) rather than the entire swipe contact. In some embodiments, a smoothing algorithm is optionally applied to the intensity of the swipe contacts before determining the characteristic intensity of the contacts. 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 situations, these smoothing algorithms eliminate small increases or decreases in the intensity of the swipe contacts for purposes of determining the characteristic intensity.

[0201] The intensity of the contact on the touch-sensitive surface is optionally characterized with respect to one or more intensity thresholds, such as a contact-detection intensity threshold, a light pressure intensity threshold, a deep pressure intensity threshold, and / or one or more other intensity thresholds. In some embodiments, the light pressure intensity threshold corresponds to an intensity at which the device performs an action typically associated with clicking a physical mouse button or trackpad. In some embodiments, the deep pressure intensity threshold corresponds to an intensity at which the device performs an action different from an action typically associated with clicking a physical mouse button or trackpad. In some embodiments, when a contact is detected having a characteristic intensity below the light pressure intensity threshold (e.g., above a nominal contact-detection intensity threshold below which the contact is not detected), the device moves the focus selector in accordance with the movement of the contact on the touch-sensitive surface without performing an action associated with the light pressure intensity threshold or the deep pressure intensity threshold. In general, unless otherwise specified, these intensity thresholds are consistent across the various sets of user interface diagrams.

[0202] An increase in the characteristic intensity of a contact from an intensity below the light pressure intensity threshold to an intensity between the light pressure intensity threshold and the deep pressure 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 pressure intensity threshold to an intensity above the deep pressure 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 pressure 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.

[0203] In some embodiments described herein, one or more actions are performed in response to detecting a gesture including the respective pressure input or in response to detecting the respective pressure input performed by the respective contact(s), where the respective pressure inputs are detected based at least in part on detecting an increase in intensity of the contact(s) above a pressure input intensity threshold. In some embodiments, the respective actions are performed in response to detecting an increase in intensity of the respective contact(s) above a pressure input intensity threshold (e.g., a “downstroke” of the respective pressure input). In some embodiments, the pressure input includes an increase in intensity of the respective contact(s) above a pressure input intensity threshold followed by a decrease in intensity of the contact(s) below the pressure input intensity threshold, and the respective actions are performed in response to detecting a subsequent decrease in intensity of the respective contact(s) below the pressure input threshold (e.g., an “upstroke” of the respective pressure input).

[0204] Figures 5E to 5H show the results of the light pressure intensity threshold (e.g., "IT" in Figure 5E). L " ) to the deep press intensity threshold (e.g., "IT D5 illustrates the detection of a gesture including a press input corresponding to an increase in the intensity of contact 562 to an intensity above a deep pressure 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 within predetermined 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 pressure intensity threshold (e.g., "IT 1"). D Contact 562 is maintained on touch-sensitive surface 560. In response to detecting the gesture, a deep pressure intensity threshold (e.g., "IT") is exceeded during the gesture. D "), a reduced-scale representation 578A-578C (e.g., thumbnail) of the recently opened document is displayed for app2, as shown in FIGS. 5F-5H. In some embodiments, this intensity, which is compared to one or more intensity thresholds, is the characteristic intensity of the contact. Note that the intensity diagram for contact 562 is not part of the displayed user interface, but is included in FIGS. 5E-5H as an aid to the reader.

[0205] In some embodiments, the display of representations 578A-578C includes animation. For example, as shown in FIG. 5F, representation 578A is first displayed adjacent to application icon 572B. As the animation progresses, representation 578A moves upward and representation 578B is displayed adjacent to application icon 572B, as shown in FIG. 5G. 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 exceeds a deep pressure intensity threshold (e.g., "IT D"). 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 can be performed using an electronic device similar to or identical to device 100, 300, 500, or device 600.

[0206] In some embodiments, the device employs intensity hysteresis to avoid accidental input, sometimes referred to as “jitter,” and the device defines or selects a hysteresis intensity threshold that has a predetermined relationship to the pressure input intensity threshold (e.g., the hysteresis intensity threshold is X intensity units below the pressure input intensity threshold, or the hysteresis intensity threshold is 75%, 90%, or some reasonable percentage of the pressure input intensity threshold). Thus, in some embodiments, the pressure input includes an increase in the intensity of each contact above the pressure input intensity threshold followed by a decrease in the intensity of the contact below the hysteresis intensity threshold corresponding to the pressure input intensity threshold, and a respective action is performed in response to detecting a subsequent decrease in the intensity of each contact below the hysteresis intensity threshold (e.g., an “upstroke” of each pressure input). Similarly, in some embodiments, a pressure 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 pressure 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 pressure input (e.g., an increase in the intensity of the contact or a decrease in the intensity of the contact, depending on the context).

[0207] For ease of explanation, descriptions of operations performed in response to a pressure input associated with a pressure input intensity threshold, or a gesture including a pressure input, are optionally triggered in response to detecting any of: an increase in the intensity of the contact above the pressure input intensity threshold, an increase in the intensity of the contact from an intensity below a hysteresis intensity threshold to an intensity above the pressure input intensity threshold, a decrease in the intensity of the contact below the pressure input intensity threshold, and / or a decrease in the intensity of the contact below a hysteresis intensity threshold corresponding to the pressure input intensity threshold. Further, in examples where an operation is described as being performed in response to detecting a decrease in the intensity of the contact below a pressure input intensity threshold, the operation is optionally performed in response to detecting a decrease in the intensity of the contact below a hysteresis intensity threshold corresponding to and lower than the pressure input intensity threshold.

[0208] FIG. 5I shows an exemplary electronic device 580. Device 580 includes a main body 580A. In some embodiments, device 580 can include some or all of the features described with respect to devices 100, 300, and 500 (e.g., FIGS. 1A-5B). In some embodiments, device 580 has one or more speakers 580B (concealed within main body 580A), one or more microphones 580C, one or more touch-sensitive surfaces 580D, and one or more displays 580E. Alternatively, or in addition to a display and touch-sensitive surface 580D, the device has a touch-sensitive display (also called a touchscreen). Similar to devices 100, 300, and 500, in some embodiments, touch-sensitive surface 580D (or touchscreen) optionally includes one or more intensity sensors that detect the intensity of an applied contact (e.g., a touch). Output data representing the intensity of the touch can be provided by the one or more intensity sensors in touch-sensitive surface 580D (or touchscreen). The user interface of device 580 can respond to a touch based on the intensity of the touch, meaning that touches of different intensities can invoke different user interface actions on device 580. In some embodiments, one or more displays 580E are one or more light-emitting diodes (LEDs). For example, a display may be a single LED, an LED cluster (e.g., red, green, and blue LEDs), multiple individual LEDs, multiple individual LED clusters, or other configurations of one or more LEDs. For example, display 580E may be an array of nine separate LED clusters arranged in a circular shape (e.g., a ring). In some examples, one or more displays are composed of any one or more of another type of light-emitting element.

[0209] FIG. 5J illustrates an exemplary personal electronic device 580. In some embodiments, device 580 can include some or all of the components described with respect to FIGS. 1A, 1B, 3, and 5A-5B. Device 580 has a bus 592 operably coupling an I / O section 594 to one or more computer processors 596 and memory 598. I / O section 594 can be connected to a display 582, which can have a touch-sensitive component 584 and, optionally, an intensity sensor 585 (e.g., a contact intensity sensor). In some embodiments, touch-sensitive component 584 is a separate component from display 582. Additionally, I / O section 594 can be connected to a communication unit 590 for receiving application and operating system data using Wi-Fi, Bluetooth, near field communication (NFC), cellular, and / or other wireless communication techniques. Device 580 can include an input mechanism 588. In some examples, input mechanism 588 is optionally a button. In some examples, input mechanism 588 is optionally a microphone. Input mechanism 588 is optionally a plurality of microphones (e.g., a microphone array).

[0210] Electronic device 580 includes a speaker 586 for outputting audio. Device 580 may include audio circuitry (e.g., within I / O section 594) that receives audio data, converts the audio data to electrical signals, and transmits the electrical signals to speaker 586. Speaker 586 converts the electrical signals into sound waves audible to humans. The audio circuitry (e.g., within I / O section 594) also receives electrical signals converted from sound waves by a microphone (e.g., input mechanism 588). The audio circuitry (e.g., within I / O section 594) converts the electrical signals into audio data. The audio data is optionally obtained from and / or transmitted to memory 598 and / or RF circuitry (e.g., within communication unit 590) by I / O section 594.

[0211] The memory 598 of the personal electronic device 580 may include one or more non-transitory computer-readable storage media for storing computer-executable instructions that, when executed by one or more computer processors 596, may cause the computer processors to perform the techniques described below, including processes 1500, 1700, and 1900 (FIGS. 15, 17, and 19). 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 examples, the storage medium is a transient computer-readable storage medium. In some examples, the storage medium is a non-transitory computer-readable storage medium. Non-transitory computer-readable storage media may include, but are not limited to, magnetic, optical, and / or semiconductor storage devices. Examples of such storage devices include magnetic disks, optical disks based on CD, DVD, or Blu-ray technology, as well as resident solid-state memory such as flash, solid-state drives, and the like. Personal electronic device 580 is not limited to the components and configuration of FIG. 5J and may include other or additional components in multiple configurations.

[0212] Attention is now directed to embodiments of user interfaces (“UIs”) and associated processes implemented on an electronic device such as portable multifunction device 100 , device 300 , device 500 , or device 600 .

[0213] 6A-6R show example user interfaces for controlling accessories (e.g., lights, power strips, thermostats) from an electronic device, according to some embodiments. The user interfaces in those figures are used to illustrate processes described below, including those in FIGS. 7A-7B.

[0214] 6A illustrates a home interface 602 on an electronic device 600, including affordances for accessories (e.g., controllable external devices such as a light fan, a chandelier, a thermostat, a speaker, a power strip, and a power outlet) that are enabled to be controlled by the device 600. The home interface 602 includes an affordance 640 for adding a new accessory or scene (e.g., a set of tasks associated with the task's execution conditions), a status section that describes the current state of the selected accessory, a scene section that includes affordances corresponding to a set of automated tasks, and a favorites section 604 that includes accessory affordances or tiles (e.g., 604A-604F) corresponding to each accessory (e.g., a light fan, a chandelier, a thermostat, a speaker, a power strip, and a power outlet) that has been added to the device 600 (e.g., added to an application on the device 600). The favorites section 604 includes accessory affordances for accessories paired with the device 600 during a setup process that enables the device 600 to send commands to configure the accessory. During setup, if device 600 receives instructions to include an accessory in its favorites, device 600 displays the accessory affordances (e.g., 604A-604F) in favorites section 604. The accessory setup process is further described with respect to Figures 10A-10B.

[0215] During setup, device 600 determines whether the accessory is a first type or a second type based on information received from the accessory. Based on the accessory's type, device 600 generates a tile corresponding to the accessory. When the tile is tapped, a function is performed if the accessory is of the first type, or a user interface is displayed if the accessory is of the second type. An accessory is of the first type if it has a single function (e.g., a chandelier can be turned on or off) or if it supports multiple functions (e.g., a ceiling light with a fan has a fan function and a light function) and has a primary function (e.g., a fan light has a fan function designated as the accessory's primary function). In some embodiments, an accessory (e.g., a chandelier) is of the first type if its primary function supports a binary operating state and causes the accessory to operate in one of two possible states (e.g., an on state or an off state). An accessory is of a second type if it has multiple functions (e.g., a thermostat with heating, cooling, and fan functions) but is not associated with a primary function. In some embodiments, an accessory is of a second type if the primary function associated with the accessory has more than two operating states (e.g., a thermostat has a primary function of setting the temperature, but the thermostat has heating, cooling, and fan functions). Based on the determination of the accessory type, device 600 generates and displays accessory affordances (e.g., 604A-604F) corresponding to the accessory on home interface 602. When device 600 detects that an accessory affordance for a first type accessory has been selected, device 600 transmits a command that performs a single function or primary function associated with the accessory. For example, tapping a chandelier tile toggles the chandelier between on and off.If device 600 determines that an accessory has a primary function, selecting an accessory affordance causes device 600 to send a command to the accessory, causing the accessory to perform the primary function without performing other functions. When device 600 detects that an accessory affordance for a second type of accessory has been selected, device 600 displays an accessory interface that includes control affordances (e.g., 608A-608C in FIG. 6F) for configuring the accessory to perform one or more of the functions associated with the accessory. For example, tapping a thermostat or speaker tile displays a configuration interface rather than performing a specific function.

[0216] 6A-6B show that the chandelier lights up when the chandelier accessory affordance 604B is selected. The chandelier accessory affordance 604B is also updated to indicate the updated state of the chandelier. In FIG. 6A, the device 600 displays the chandelier accessory affordance 604B corresponding to the chandelier, which is a first type of accessory with a single function of turning the chandelier on and off. The chandelier accessory affordance 604B includes a graphical representation 604B1 of the chandelier indicating that the chandelier is currently off and a textual current state 604B2 indicating that the chandelier is in the off state. The device 600 detects an input (e.g., a tap) 650A corresponding to the selection of the chandelier accessory affordance 604B in the home interface 602. In response to detecting the input 650A, the device 600 sends a command to the chandelier to change the chandelier from its previous off state to an on state.

[0217] As shown in FIG. 6B , in response to detecting input 650A, device 600 displays updated chandelier accessory affordance 604B, including an updated graphical representation 604B1 indicating that the chandelier's bulbs are on and an updated current state 604B2 indicating that the chandelier is in an on state. In some embodiments, graphical representation 604B1 includes an animation indicating the accessory's state. In some embodiments, in response to device 600 detecting a long press (or deep press) on chandelier accessory affordance 604B, device 600 displays a chandelier interface including a control affordance for toggling the lights between on and off, as further illustrated in FIG. 8B .

[0218] 6C-6F show that when the fan-light tile 604A is selected, an animation is displayed to open a fan-light accessory interface 610A for controlling a lighted ceiling fan. In FIG. 6C, the device 600 displays a fan-light accessory affordance 604A corresponding to a second type of accessory, a lighted ceiling fan, having multiple functions (e.g., fan on / off and light on / off) corresponding to a fan component and a light component. The fan-light accessory affordance 604A is a grouped accessory affordance corresponding to both the fan and the light. Thus, both the fan and the light are configurable via the fan-light accessory interface 610A, which is displayed on the device 600 when the fan-light accessory affordance 604A is selected. The fan-light accessory affordance 604A includes graphical representations 604A1 indicating the fan and light components and text indicating the current state 604A2 of the fan and the light, both of which are in the off state. The graphical representation 604A1 includes a representation of each component associated with the accessory. In some embodiments, graphical representation 604A1 includes a representation of each component that has a function different from the primary function. In some examples, if the primary function is to turn a ceiling fan on and off, both the ceiling fan and the light are displayed in graphical representation 604A1. This is because the light has a function (e.g., turning the light on and off) different from the primary function of turning the fan on and off. In some embodiments, if the primary function is the same for all components, such as a power strip with power outlets, graphical representation 604A1 displays only the power strip without displaying the individual power outlets. Similarly, current status 604A2 includes the status of each component associated with an accessory that has a distinct function. In some embodiments, the current status includes the status of the corresponding component displayed in graphical representation 604A1. If an individual component is not displayed in graphical representation 604A1, the individual component's current status 604A2 is not displayed.

[0219] In FIG. 6C , device 600 detects input (e.g., tap) 650B in home interface 602 corresponding to selection of fan-light accessory affordance 604A. In FIG. 6C , a ceiling fan light is a second type of accessory, and the accessory does not have a primary function associated with it. As a result, when fan-light accessory affordance 610A is selected, fan-light accessory interface 610A is displayed. In response to detecting input 650B, device 600 displays fan-light accessory interface 610A by displaying an animation that transforms fan-light accessory affordance 604A into fan-light accessory interface 610A.

[0220] 6D-6F illustrate an animation of fan-lighting accessory affordance 604A being transformed into fan-lighting accessory interface 610A. FIG. 6D shows that as fan-lighting accessory affordance 604A is increased in size, the corresponding graphical representation 604A1 and current state 604A2 are also increased in size proportionally. Fan-lighting accessory affordance 604A expands from its current position. As fan-lighting accessory affordance 604A expands, device 600 determines whether a portion of fan-lighting accessory interface 610A would appear off-screen if fan-lighting accessory interface 610A continued to expand in its current position. As shown in FIG. 6E, in accordance with a determination that a portion of fan-lighting accessory interface 610A would appear off-screen, device 600 aligns or nudges fan-lighting accessory interface 610A to the left boundary of display 603 so that a portion of fan-lighting accessory interface 610A does not appear off-screen. In some embodiments, pursuant to a determination that no portion of the fan-light accessory interface 610 is displayed off-screen, the device 600 displays the fan-light accessory interface 610A in its current position without aligning the fan-light accessory affordance 604A with the left or right boundaries of the display 603.

[0221] FIG. 6F shows a fan-light accessory affordance 610A with controls for changing additional characteristics of the ceiling fan and light (e.g., light color). FIG. 6F shows a fully expanded fan-light accessory affordance 610A, including proportionally scaled graphical representations 610A1 of the fan and light, and larger text indicating the current state 610A2 of the fan and light. The graphical representation 610A1 of the fan-light accessory 610A matches the graphical representation 604A1 of the fan-light accessory affordance 604A. Similarly, the current state 610A1 of the fan-light accessory interface 610A matches the textual state 604A2 of the fan-light accessory affordance 604A. The fan-light accessory interface 610A includes a control affordance 608A for adjusting the speed of the fan and a control affordance 608B for adjusting the brightness of the light. The fan-light accessory interface 610A also includes a color selection control 608C for changing the color of the light. As described further below with respect to FIGS. 8A-8J , control affordances 608A-608C are displayed in a first region of fan-lighting accessory interface 610A, while settings section 620 is displayed in a second region of fan-lighting accessory interface 610A. Fan-lighting accessory interface 610A further includes settings shortcut affordance 612. Settings shortcut affordance 612 is displayed in the lower right corner of the displayed or visible portion of the first region of fan-lighting accessory interface 610A. In response to device 600 detecting that settings shortcut affordance 612 has been selected, device 600 flicks the display to settings section 620 at the top of display 603 and scrolls the remaining controls into the first region. In some embodiments, settings shortcut affordance 612 is displayed below all controls in the first region of fan-lighting accessory interface 610A.

[0222] FIG. 6F displays an example layout of controls on accessory interface 610A. Device 600 determines the layout of controls on the accessory interface based on the number of control and sensor affordances the accessory includes and the hierarchy of the controls (e.g., 608A-608C). When accessory interface 610A is opened, primary controls (e.g., 608A-608B) corresponding to primary functions are displayed. Secondary controls (e.g., 608C) not associated with primary functions are displayed below the primary controls. Secondary controls may not be initially visible if they are located within the overflow area of ​​accessory interface 610A. As described below, FIGS. 8B-8C further illustrate the arrangement of controls in a first area of ​​the accessory interface (e.g., 810B).

[0223] Device 600 determines the layout of control affordances 608A-608C in fan-light accessory interface 610A based on the number of control affordances and sensor affordances displayed. Device 600 determines that the accessory's functionality includes two functions corresponding to the fan and light components. When device 600 detects that a ceiling fan and light accessory has two or fewer control affordances corresponding to each accessory's primary function (e.g., fan on / off and light on / off), device 600 displays control 608A corresponding to the fan function and control 608B corresponding to the light function side-by-side in fan-light accessory interface 610A, as shown in FIG. 6F. If the accessory has three or more control affordances, device 600 displays control affordances 808A-808C in a top-to-bottom arrangement, as shown in chandelier accessory interface 810B in FIG. 8B. In some embodiments, the fan-lighting accessory interface includes additional control affordances that can be displayed in an overflow section that is displayed when the accessory interface is scrolled down, as further described and illustrated with respect to FIGS. 8B-8D.

[0224] In some embodiments, the ceiling fan and light accessory has a primary fan function that turns the fan on and off among multiple functions supported by the ceiling fan and light accessory. Because the ceiling fan and light accessory has a primary function, device 600 determines that the ceiling fan and light accessory is a first type of accessory. Thus, in response to device 600 receiving an input (e.g., a tap) corresponding to selecting fan-light accessory 604A, device 600 transmits a command to perform the primary fan function (e.g., turn on the fan) instead of displaying fan-light accessory interface 610A. Device 600 does not transmit any commands to perform other secondary functions of the ceiling fan and light accessory (e.g., the light is not turned on). In some embodiments, the primary function cannot be set to a secondary function (e.g., the primary function cannot be changed to turn the light on and off). In some embodiments, a user can reassign the primary function to another function (e.g., a secondary function), e.g., selecting the fan-light accessory affordance can result in device 600 transmitting a command to turn on the light. Because the ceiling fan and light accessory is a first type of accessory, device 600 displays fan-light interface 610A in response to a long press (or deep press) on accessory affordance 610A.

[0225] FIG. 6F also illustrates changing the fan speed and light settings via controls in fan-lighting interface 610A. In FIG. 6F, device 600 detects input 650C corresponding to selection of control affordance 608A corresponding to setting the fan to 50% of its maximum speed. In FIG. 6G, in response to detecting input 650C, device 600 updates graphical representation 610A1 to indicate that the fan is on and updates current state 610A2 to reflect that the fan is set to 50% speed and the light remains off. In some embodiments, in response to detecting input 650C, device 600 updates graphical representation 610A1 in fan-lighting accessory interface 610A to include an animation of a spinning fan, indicating that the fan is in its on state.

[0226] In FIG. 6G, device 600 detects input (e.g., a swipe) 650D1 corresponding to selection of control 608B, which corresponds to turning on the light to 75% of full brightness. In FIG. 6H, in response to detecting input 650D1, device 600 updates graphical representation 610A1 to indicate that the light is on and updates current state 610A2 to indicate that the light is turned on to 75% brightness while the fan is set to 50% speed. Also in FIG. 6G, device 600 detects input 650D2 (e.g., a tap) corresponding to changing the color of the light bulb and selecting a third color. In response to detecting input 650D1, and as shown in FIG. 6H, device 600 updates graphical representation 610A1 to include an image of a colored light bulb in an on state that matches the color of the selected light bulb, as further described with respect to FIGS. 8C-8D.

[0227] 6H illustrates how a user can access settings section 620 by tapping settings shortcut affordance 612 instead of scrolling to the bottom of the screen to access settings section 620. In FIG. 6H, device 600 detects input (e.g., a tap) 650E corresponding to selection of settings shortcut affordance 612. In FIG. 6I, in response to detecting input 650E, device 600 displays settings section 620 in fan-lighting accessory interface 610 corresponding to ceiling light and fan settings. In some embodiments, as further described and illustrated with respect to FIGS. 8A-8J, device 600 displays settings section 620 in response to device 600 detecting an input that results in device 600 scrolling scrolling fan-lighting accessory interface 610A to a second area (e.g., an overflow area), the second area being below the first area displaying controls 608A-608D. Settings section 620 includes a graphical representation 610A1 and a current state 610A2 that indicates the current state of the ceiling fan and lighting accessories. Settings section 620 includes a group section that includes a "group with other accessories" affordance 614A and an accessory affordance 614B. "Group with other accessories" affordance 614A corresponds to grouping a ceiling fan in a bedroom with another accessory of the same type (e.g., another fan in the living room).

[0228] 6I-6K illustrate separating a fan-light accessory group into two separate accessories with separate accessory affordances (e.g., 614G and 614H) and separate accessory interfaces (e.g., 610G and 610H). The fan-light accessory group is separated by selecting “Show as separate tile affordance” 616 from the accessory settings from fan-light accessory interface 610A, as shown in FIG. 6J. The fan and light each retain their corresponding settings after the accessory group is separated into two separate accessory affordances. In FIG. 6I, device 600 detects input (e.g., tap) 650F corresponding to the selection of accessory affordance 614B. In FIG. 6J, in response to detecting input 650F, device 600 displays accessory interface 622 including affordances 618A-618B corresponding to each component in the group (e.g., fan and light) and a separation affordance 616 for separating the light from the fan.

[0229] In Figure 6J, device 600 detects input (e.g., tap) 650G corresponding to selection of separation affordance 616. In Figure 6K, in response to detecting input 650G, device 600 displays home interface 602 including separate accessory affordances, fan accessory affordance 604G and light accessory affordance 604H, while ceasing to display fan-light accessory affordance 604A because the grouped accessories have been separated. Fan accessory affordance 604G includes a graphical representation 604G1 of a fan, which includes an animation of the spinning fan and a current state 604G2 indicating that the fan is on and operating at 50%. Similarly, accessory affordance 604H includes a graphical representation 604H1 of a light, which includes a light bulb in an on state and a current state 604H2 indicating that the light is on and operating at 75%. Lighting accessory affordance 604H corresponds only to the lighting component of a ceiling fan and lighting accessory. Lighting accessories are a first type of accessory that has a single function to turn lights on and off that operates in two states. Thus, device 600 sends a command to turn lights on and off when device 600 receives an input (e.g., a tap) that corresponds to a selection of lighting accessory affordance 604H.

[0230] 6L-6R show that after an accessory group is split, each component of the accessory group can be individually configured via a corresponding accessory affordance. For example, the light from a lighted ceiling fan can be configured via lighting accessory affordance 604H. When selected, lighting accessory affordance 604H transforms into lighting accessory interface 610H, displaying the lighting controls. Similarly, when lighting accessory interface 610H is closed, lighting accessory interface 610H transforms back to lighting accessory affordance 604H.

[0231] In FIG. 6L , device 600 detects input 650H corresponding to a long press (or deep press) on lighting accessory affordance 604H. In FIGS. 6M-6O , in response to detecting input 650H, device 600 displays an animation in which lighting accessory affordance 604H is transformed into lighting accessory interface 610H. FIG. 6M illustrates that as lighting accessory affordance 604H is enlarged in size, the sizes of corresponding graphical representation 604H1 and text corresponding to current state 604H2 are also enlarged proportionally. Device 600 displays the animation of expanding lighting accessory affordance 604H based on the current position of lighting accessory affordance 604H, which is positioned at the center of home interface 602. As shown in FIG. 6N , in accordance with a determination that no portion of lighting accessory interface 610H would be displayed off-screen if displayed at its current position, device 600 displays lighting accessory interface 610H at its current position without aligning the lighting accessory affordance with the left or right boundaries of the screen.

[0232] 6O shows a fully expanded lighting accessory interface 610H, including a proportionally enlarged graphical representation 610H1 of the light and larger text indicating the light's current state 610H2, at the center of the display device 603 where the lighting accessory affordance 604H is located. The lighting accessory interface 610H includes a control affordance 608A for adjusting the brightness of the light and a color control affordance 608C corresponding to the color of the light. The device 600 displays additional control affordances associated with the light below the color control affordance 608C in the overflow area of ​​the lighting accessory interface 610H, as further described with respect to FIG. 8C .

[0233] 6O, device 600 detects input 650I (e.g., a swipe) corresponding to selection of control affordance 608A to adjust brightness to 90%. In FIG. 6O, in response to detecting input 650I, device 600 updates graphical representation 610H1 to indicate that the light is on and updates current state 610H2 to indicate that the light is set to 90% brightness. In some embodiments, in response to detecting input 650I, device 600 updates graphical representation 610A1 in lighting accessory interface 610H to include animation.

[0234] In FIG. 6O, device 600 detects input (e.g., a tap) 650J corresponding to selecting “X” affordance 630, causing fan accessory interface 610H to close. As shown in FIGS. 6P-6R, in response to detecting input 650J, device 600 displays an animation of lighting accessory interface 610H transitioning to lighting accessory affordance 604H in home interface 602 and back. FIGS. 6P-6Q show that as lighting accessory interface 610H decreases in size, the corresponding graphical representation 60GA1 and the text corresponding to current state 604H2 also decrease in size proportionally. Device 600 stops displaying control affordance 608A and sensor affordances 608C-608D in lighting accessory interface 610H as lighting accessory interface 610H decreases in size. 6R, device 600 displays light accessory affordance 604H in home interface 602 with updated graphical representation 604H1 and updated current state 604H2 where the light is set to 90% brightness. In some embodiments, as shown in FIG. 6L, graphical representation 604H1 and current state 604H2 remain the same as they were before the light brightness changed.

[0235] 7A-7B are flow diagrams illustrating a method 700 for controlling an external device 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., 603). Some operations of method 700 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.

[0236] As described below, method 700 provides an intuitive way to manage controllable external devices from a home interface (e.g., 602) that provides access to affordances (e.g., 604A-604H) corresponding to the controllable external devices. Enabling a user to manage controllable external devices from the home interface reduces the user's cognitive burden because all controllable external devices are accessible from the home interface. Thus, the user does not need to open a separate application to manage the configuration of each controllable external device, thereby creating a more efficient human-machine interface. For battery-powered computing devices, managing controllable external devices from a unified home interface reduces the number of inputs required to manage each controllable external device, thereby allowing the user to efficiently conserve device power and extend the time between battery charges.

[0237] In block 702, a device (e.g., 600) (e.g., a smartphone, smart home control appliance) having a display device (e.g., 603) (e.g., a touch-sensitive display device) and a communication device (e.g., a wireless antenna) displays on the display device a user interface (e.g., 602) (e.g., a home page showing tiles for each accessory) that includes first accessory affordances (e.g., 604A-604G) (e.g., selectable graphical tiles) associated with a first controllable external device (e.g., a device having at least one controllable function (e.g., a smart light bulb, a smart thermostat, a smart speaker)).

[0238] In some embodiments, the first accessory affordance (e.g., 604A) includes a first graphical element (e.g., 604A1) (e.g., an icon representing the first controllable external device (e.g., an image of a light bulb)) and a first textual element (e.g., 604A2) (e.g., a name (e.g., "light bulb") representing the first controllable external device including a current state (e.g., the light bulb is "on"). In some embodiments, following a determination that the first controllable external device is associated with a second controllable component (e.g., the fan of a lighted ceiling fan), the second controllable component associated with the first function (e.g., turn on the fan) includes a graphical representation (e.g., 604A, 604G) of the second controllable component (e.g., a tile includes an icon of a fan). In some embodiments, pursuant to a determination that the first controllable external device is associated with a third controllable component (e.g., a light in a lighted ceiling fan), the third controllable component associated with the second function (e.g., turn on the light) includes a graphical representation of the third controllable component (e.g., 604A, 604H). In some embodiments, pursuant to a determination that the first controllable device is associated with a second controllable component and a third controllable component, including a graphical representation of the second controllable component and a graphical representation of the third controllable component (e.g., a tile including icons or images of each subcomponent in the accessory, such as a fan and a light, or a power strip with several power outlets) (e.g., 604A, 604E). Displaying the graphical representation (e.g., 604A1) and textual status (e.g., 604A2) of the components (e.g., the fan and the light) in the first accessory affordance (e.g., 604A) provides the user with visual information about which controllable external devices and components are part of the accessory group (in the case of multiple components) and the current status of the accessory. Allowing the user to see which controllable external devices are being controlled by an accessory affordance reduces cognitive burden.Thus, the user does not need to provide additional inputs (e.g., long presses) to manage the configuration of each controllable external device and its corresponding component, thereby creating a more efficient human-machine interface. For battery-powered computing devices, reducing the number of inputs required to manage each controllable external device allows the user to efficiently conserve device power and extend the time between battery charges. Furthermore, the user can visually confirm whether a selected function has been performed or a setting has been configured.

[0239] In some embodiments, in accordance with a determination that the first controllable external device is associated with the second controllable component and the third controllable component, the first accessory affordance includes a graphical representation of the second controllable component and a graphical representation of the third controllable component (e.g., 604A).

[0240] In some embodiments, at block 704, a first controllable external device (e.g., a lighted fan) is associated with a first function (e.g., a primary or main function, such as turning on the fan) and a second function (e.g., a secondary function, such as turning on the light).

[0241] At block 706, the device (e.g., 600) detects a first input (e.g., a tap input) (e.g., 650A, 650B) corresponding to a selection of a first accessory affordance (e.g., 604A). In some embodiments, at block 708, the first accessory affordance has a first appearance before detecting the first input.

[0242] In response to detecting a first input (e.g., 650A) at block 710, and in accordance with determining that a set of command transmission criteria is met (e.g., the accessory has a single primary function) at block 714, the device (e.g., 600) sends, via the communications device, a command to the first controllable external device to perform a first function (e.g., turn on a light on the device if it is currently off, or turn off if it is currently on). In some embodiments, in response to detecting the first input at block 712, and in conjunction with (e.g., simultaneously with) sending the command to the first controllable external device to perform the first function, the first accessory affordance (e.g., 604B) is updated to a second appearance (e.g., 604B1 in FIG. 6B ) based on the first function (e.g., the first function is to change a state of a light that is part of the first controllable external device, and the second appearance includes an image of the light in a state consistent with the changed state of the light). Updating the first accessory affordance to a second appearance that reflects the updated state of the accessory provides the user with visual feedback that the command has been executed. Allowing the user to see the updated controllable external devices through the accessory affordance reduces cognitive burden. Thus, the user does not need to provide additional inputs (e.g., long presses) to manage the configuration of each controllable external device and its corresponding components, thereby creating a more efficient human-machine interface. For battery-powered computing devices, reducing the number of inputs required to manage each controllable external device allows the user to efficiently conserve device power and extend the time between battery charges. Furthermore, the user can visually confirm that the selected function has been executed or the setting has been configured.

[0243] In some embodiments, at block 716, the set of command transmission criteria includes a first criterion that is met when the first function associated with the first controllable external device (e.g., a primary function such as turning on a fan) is the primary function (e.g., a designated primary function if the accessory supports multiple functions, the only function associated with the device) of the first controllable external device (e.g., an accessory with multiple functions such as a lighted fan). In some embodiments, the set of command transmission criteria includes a second criterion that is met when the first function associated with the first controllable external device (e.g., the accessory has only a single binary-state function, i.e., turned on or off) is associated with a first controllable component (e.g., the fan of a lighted ceiling fan) that has a binary operational state (e.g., off or on, not more than two states). In some embodiments, the first function is to transition from a current operational state of the first controllable component of the first controllable external device to another operational state of the first controllable component of the first controllable external device (e.g., the function is turned off when the component is on, and vice versa). In some embodiments, tapping the accessory tile turns the fan on or off for a lighted ceiling fan.

[0244] In some embodiments, at block 718, in accordance with a determination that a set of command transmission criteria (e.g., determining whether the accessory is associated with a primary function) is satisfied (e.g., the accessory has a single primary function), sending a command to perform a first function to the first controllable external device via the communications device without sending a command to perform a second function to the first controllable external device via the communications device. In response to detecting the first input (e.g., 650A) and in association with (e.g., simultaneously with) sending the command to perform the first function to the first controllable external device, updating the first accessory affordance (e.g., 604B) to a second appearance (e.g., 604B1) based on the first function (e.g., the first function is to change the state of a light that is part of the first controllable external device, and the second appearance includes an image of the light in a state consistent with the changed state of the light). In some embodiments, the second appearance includes an animation (e.g., a repeating / looping animation) based on the first function (e.g., a fan is turned on, whereby the tile animation shows the fan spinning). The device sends a command to the first controllable external device to perform a first function when a transmission criterion is met, providing a more efficient user interface without displaying an additional accessory interface. Because the first controllable external device is mapped to the primary function, the primary function is performed without requiring additional user interaction. This reduces cognitive burden on the user and preserves battery life by causing the first controllable external device to perform the primary function with a single input.

[0245] In accordance with a determination that the set of command sending criteria is not met (e.g., the accessory has multiple primary functions, such as a thermostat that can change temperature and turn on and off), displaying a first accessory interface (e.g., 610A of FIG. 6F , 1210C of FIG. 12B ) on the display device (e.g., without sending a command to the controllable external device) at block 720. The first accessory interface includes, at block 722, a first control affordance (e.g., 608A-608C of FIG. 6F , 1208 of FIG. 12B ) that, when selected, sends a command to the controllable external device to perform a first function (e.g., a dimmer for a light, a temperature dial for a thermostat), and a second control affordance that, when selected, sends a command to the external accessory device to perform a second function different from the first function (e.g., changing the color of a light, changing the mode of a thermostat such as AC, heater, fan, etc.). Displaying an accessory interface to allow a user to manage settings for a first controllable external device when the device is not mapped to a primary function provides a more efficient user interface for the user. Displaying an accessory interface because the controllable external device is not mapped to a primary function provides a more efficient user interface because the user can manage control of the controllable external device. This conserves battery power because the accessory interface is not displayed every time the corresponding accessory affordance is selected.

[0246] In some embodiments, a first accessory interface (e.g., 610A) includes a first control affordance (e.g., 608A) and a second control affordance (608B, 608C). In some embodiments, displaying the first accessory interface includes displaying the first control affordance (e.g., 608A) and the second control affordance (e.g., 608B) side-by-side (e.g., in a horizontal arrangement) according to a first function and a second function that satisfy a first set of layout criteria (e.g., the first set of layout criteria includes criteria that are met when the first function and the second function are categorized at the same level in a hierarchy of functions). In some embodiments, displaying the first control affordance (e.g., 608A) above the second control affordance (e.g., 608C) in a top-to-bottom arrangement (e.g., in a vertical arrangement) according to a second set of layout criteria (e.g., the first set of layout criteria includes criteria that are met when the first function and the second function are categorized at different levels in a hierarchy of functions).

[0247] In some embodiments, the first accessory interface (e.g., 610A1) includes a second graphical element (610A1) that corresponds to (e.g., matches) the first graphical element (e.g., 604A1) and a second text element (e.g., 610B2) that corresponds to the first text element (e.g., 604A2). In some embodiments, displaying the first accessory interface further includes displaying an animation of the first graphical element visually transitioning to the second graphical element (e.g., an animation of the first graphical element expanding to become the second graphical element) and displaying an animation of the first text element visually transitioning to the second text element.

[0248] In some embodiments, pursuant to a determination that a portion of the first accessory interface (e.g., 610A in FIG. 6E ) is displayed in a location (e.g., a portion of the accessory's user interface) that exceeds the boundaries of the display device (e.g., a card associated with the accessory is displayed outside the boundaries of the device's screen), the first accessory interface is displayed in a first location (e.g., 610A in FIG. 6E ) where the first accessory interface is aligned with the boundary (e.g., by flicking the accessory's user interface to align with a boundary or edge of the screen). In some embodiments, pursuant to a determination that a portion of the first accessory interface (e.g., 610A in FIG. 6N ) is not displayed in a location that exceeds the boundaries of the display device (e.g., the user interface is within the boundaries of the screen), the first accessory interface is displayed in a second location (e.g., 610A in FIG. 6N ) based on the position of the first accessory affordance (e.g., 604H) (e.g., by displaying the user interface at the location where the tile is located). Having the device determine the appropriate layout for each accessory interface based on the number of controls and sensors supported by the controllable external device results in a more intuitive user interface that reduces the cognitive burden on the user. The layout of controls and sensors helps reduce the number of inputs required to configure the controllable external device, thereby conserving battery power.

[0249] In some embodiments, while displaying the first accessory interface (e.g., 610H of FIG. 6O) (in some embodiments, while not displaying the first accessory affordance), detecting a second input (e.g., 650J) corresponding to a request to stop displaying the first accessory interface. In response to detecting the second input, stopping the display of the first accessory interface (in some embodiments, in addition to re-displaying the first accessory affordance) includes displaying an animation of the second graphical element (e.g., 610H1) visually transitioning to the first graphical element (e.g., 604H1) (e.g., animation of the second graphical element shrinking to become the first graphical element) and displaying an animation of the second character element (e.g., 610H2) visually transitioning to the first character element (e.g., 604H2).

[0250] In some embodiments, the first controllable external device is associated with a second controllable component (e.g., the fan of a lighted ceiling fan) and a third controllable component (e.g., the light of a lighted ceiling fan), and while displaying a first accessory interface (e.g., 610A) (e.g., displaying a card for the lighted ceiling fan), detects a first set of one or more inputs (e.g., 650F-650G of FIGS. 6I-6J and 1050J-1050I of FIGS. 10K-10L) (e.g., selecting an accessory affordance and clicking a "Show as separate tiles" affordance) (e.g., selecting an accessory affordance and clicking a "Show as separate tiles" affordance) that include inputs (e.g., 616 of FIG. 6J, 1020 and 1022 of FIG. 10L) corresponding to a control reconfiguration affordance (e.g., to remove sub-components from a group) (e.g., ungroup the fan and the light into two separate tiles) (e.g., to remove sub-components from the group) (e.g., to ungroup the fan and the light into two separate tiles) (e.g., further including a request to redisplay the user interface). In response to detecting the first set of one or more inputs, displaying a second instance of a user interface (e.g., 602 of FIG. 6K) that includes a second accessory affordance (e.g., 604G) associated with a second controllable component of the first controllable external device and not associated with a third controllable component of the first controllable external device (e.g., an affordance that, when selected, performs a function associated with the second controllable component) (e.g., a tile corresponding to a fan), and a third accessory affordance (e.g., 604H) associated with a third controllable component of the first controllable external device and not associated with the second controllable component of the first controllable device (e.g., an affordance that, when selected, performs a function associated with the third controllable component) (e.g., a tile corresponding to a light). In some embodiments, the second instance of the user interface does not include the first accessory affordance (e.g., 604A). In some embodiments, the grouped lighted ceiling fan tile is no longer displayed, and instead two separate tiles (eg, a fan tile and a light tile) are displayed.Updating the accessory affordances in the home interface based on whether accessories are grouped together or separated provides the user with a more intuitive user interface for managing controllable external devices. Grouped accessories are represented by a single accessory affordance, reducing the user's cognitive burden. Thus, by selecting a single accessory affordance, the user can manage all of the accessory's controls in one place, rather than separately accessing the controls for each component or controllable external device in the group. This also saves power by reducing the number of inputs required to configure grouped accessories. Similarly, when grouped accessories are separated, they are displayed as individual accessory affordances, providing the user with a more intuitive user interface. By allowing the user to select separate components of a controllable external device and providing separate user interfaces for configuring each component, it becomes clear which component the user is interacting with and reducing the user's cognitive burden.

[0251] It should be noted that the process details described above with respect to method 700 (e.g., FIGS. 7A-7B) are also applicable in a similar manner to the methods described above / below. For example, method 700 optionally includes features of one or more of the various methods described above with respect to methods 900, 1100, and 1300. For example, the controllable external device described in method 900 can be the controllable external device of method 700 and can be configured and accessed using the interface described in method 700. For the sake of brevity, these details will not be repeated below.

[0252] 8A-8J show example user interfaces for configuring accessories (e.g., lights, power strips, thermostats) according to some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including the processes in FIGS. 9A-9B.

[0253] 8A-8B illustrate accessing controls for a chandelier by long pressing the chandelier accessory affordance 604A. In FIG. 8A, the device 600 displays the chandelier accessory affordance 604A corresponding to the chandelier. The chandelier accessory affordance 604A includes a graphical representation 604A1 of the chandelier, indicating that it is currently in an on state, and a textual current state 604A2, indicating that the chandelier is in an on state. The device 600 detects an input 850A corresponding to a long press (or deep press) of the chandelier accessory affordance 604A in the home interface 602. In FIG. 10B, the device 600 displays the chandelier accessory interface 810B in response to detecting the input 650A corresponding to a long press of the chandelier accessory affordance 604B. In some embodiments, if the accessory is a second type of accessory that does not have a primary function, device 600 displays an accessory interface (e.g., chandelier accessory interface 810B) in response to device 600 detecting an input (e.g., a tap) that corresponds to selecting an accessory affordance.

[0254] 8B-8D show the layout of controls within chandelier accessory interface 810B, which consists of a first region 812A that is displayed when chandelier accessory interface 810B is initially displayed. A second region 812B (overflow region) contains accessory settings. A settings section 822 is displayed if the user scrolls past first region 812A. The user can scroll between regions using a swipe gesture. In FIGS. 8B-8D, device 600 is displaying chandelier accessory interface 810B, which includes first region 812A that is displayed and second region 812B that is not displayed. When device 600 displays chandelier accessory interface 810B in response to detected input 850A, a first portion of first region 812A is displayed on display 603. First region 812A includes graphical representation 810B1, current state 810B2, and control affordances 808A-808C. First region 812A includes an overflow region that is not initially displayed. The overflow region of first region 812A includes additional control affordances and sensors that are not initially displayed in the first region, such as affordance 808C. Device 600 displays the overflow region of first region 812A in response to detecting an input corresponding to scrolling down in first region 812A.

[0255] Control affordance 808A corresponds to a control for changing the brightness of the chandelier. In FIG. 8B, the chandelier is set to 90% brightness. Control affordance 808B corresponds to different colors that the chandelier can be set to. In FIG. 8B, six different colors are initially displayed in a first portion of a first region 812A of the chandelier accessory interface 810B. Additional colors are displayed in an overflow region of the first region 812A and are not visible until the chandelier accessory interface 810B is scrolled. In FIG. 8B, the chandelier is set to color 808B1. Graphical representation 810B1 reflects the selected lighting color indicated by control 808B.

[0256] In FIG. 8B, device 600 detects input 850B corresponding to a swipe gesture to scroll down chandelier accessory interface 810B. In FIG. 8C, in response to detecting input 850B, device 600 maintains display of control affordances 808A and 808B while displaying an overflow region of first region 812A. The overflow region of first region 812A includes a chandelier-colored third row of controls 808B and a timer control affordance 808C that specifies a time period until the chandelier automatically turns off. While displaying the overflow region of first region 812A, device 600 maintains display of graphical representation 810B1 and current state 810B2. The display of control affordance 808A becomes partially visible as first region 812A is scrolled to reveal control affordance 808C. As the user scrolls through the chandelier accessory interface 810B and scrolls in on the display of the first region 812, the settings shortcut affordance 816 appears at the bottom of the screen. This provides the user with quick access to the settings section 822. Thus, as the device 600 scrolls through the first region 812A of the chandelier accessory affordance 810B, the device 600 maintains the display of the settings shortcut affordance 816 in the bottom corner of the first region of the chandelier accessory affordance 810B. The settings shortcut affordance 816 does not appear in the second region of the chandelier accessory affordance 810B. The settings shortcut affordance 816 provides quick access to the settings section 822 in the second region 812B of the chandelier accessory interface 810B so that the user does not have to scroll through the first region 812A to reach the settings section.

[0257] 8C-8D show that when a setting is changed in the chandelier accessory interface 810B, the graphical representation 810B1 and the textual state 810B2 are updated. In FIG. 8C, the device 600 detects an input (e.g., a tap) 850C corresponding to a second color selection 808B2. In FIG. 8D, in response to detecting the input 850C, the device 600 updates the display of the control affordance 808A and the graphical representation 810B1 to reflect the selected lighting color. The device 600 determines that a lower portion of the first region 816 of the chandelier accessory interface 810B is displayed. In response to the determination, the device 600 displays the settings shortcut affordance 816. In response to detecting a selection of the settings shortcut affordance, the device 600 displays a second region of the chandelier accessory interface 810B. In some embodiments, the settings shortcut affordance 816 is displayed below the first region 812A. In some embodiments, the settings shortcut affordance 816 is displayed at the bottom of the display 603 regardless of what portion of the first region 812A is displayed.

[0258] 8D-8F illustrate accessing second region 812B by using a swipe gesture within chandelier accessory interface 810B. In FIG. 8D, device 600 detects input 850D corresponding to a swipe gesture to further scroll down chandelier accessory interface 810B. In FIG. 8E, in response to detecting input 850D, device 600 displays a portion of second region 812B of chandelier accessory interface 810B while the user's finger is still in contact with display 603. Device 600 determines whether the displayed portion of second region 812B exceeds threshold amount 824. In FIG. 8E, pursuant to a determination that the displayed portion of second region 812B does not exceed threshold amount 824, device 600 displays a bounce animation (e.g., a rubber band effect) when the user releases the swipe gesture. As a result of the bounce animation, Figure 8D shows device 600 quickly returning to the previously displayed portion of first region 812A of chandelier accessory interface 810B without displaying second region 812B. Figures 8F-8G show that, pursuant to a determination that a portion of second region 812B is displayed more than the threshold amount 824 (as a result of the quick swipe gesture), the screen of device 600 quickly moves to second region 812B of chandelier accessory interface 810B and displays second region 812B at the top of display 603.

[0259] 8G shows the second area 812B (settings section 822) of the chandelier accessory interface 810B. The second area 812B includes the same graphical representation 810B1 and current state 810B2 displayed in the first area 812A. The second area 812B includes a settings section 822 for configuring the chandelier's settings. In response to the screen of the device 600 quickly flipping to display the second area 812B of the chandelier accessory interface 810B, the device 600 outputs a haptic and audio output 820 indicating the transition from displaying the first area 812A to the second area 812B. In some embodiments, the device 600 outputs a haptic output without an audio output. In some embodiments, the device 600 outputs an audio output without a haptic output.

[0260] In FIG. 8G, device 500 detects input (e.g., a tap) 850E corresponding to selection of “X” affordance 830 to close chandelier accessory interface 810B. In FIG. 8H, in response to detecting input 850E, device 600 displays updated chandelier accessory affordance 604A, including graphical representation 604A1 indicating that the light color has changed to color 808B2 and current state 604A2 indicating that the light is on and at 90% brightness. In some embodiments, in response to detecting input 850E, device 600 outputs a haptic output and an audio output when chandelier accessory interface 810B is closed. In some embodiments, device 600 outputs a haptic output without an audio output. In some embodiments, device 600 outputs an audio output without a haptic output.

[0261] FIGS. 8H-8J show several layouts of controls within fan interface 810I. As described above with respect to FIG. 6F, device 600 determines the layout depending on the number of controls and sensors associated with the accessory. In FIG. 8H, device 600 detects input 850F, which corresponds to a long press (or deep press) on living room fan accessory affordance 604I. In response to detecting input 850F, device 600 displays living room fan accessory interface 610I. FIGS. 8I-8J show two layouts of living room fan accessory interface 610I. Device 600 determines the layout of control and sensor affordances within fan accessory interface 610I based on the number of control and sensor affordances displayed, as generally described with respect to FIG. 6F. In FIG. 8I, device 600 determines whether the living room fan has two or fewer sensor affordances (e.g., 816A-816B). In accordance with a determination that the fan has two sensor affordances 808A-816B, device 600 displays a layout in fan accessory interface 610I in which sensor affordances 816A-816B are displayed above control 818. In FIG. 8J , device 600 determines that the living room fan has three sensor affordances 816A-816C. In accordance with a determination that the fan has three or more sensor affordances, device 600 displays a layout in fan accessory interface 610I in which sensor affordances 816A-816C are displayed below control 818.

[0262] 9A-9B are flow diagrams illustrating a method 900 for controlling an external device using an electronic device, according to some embodiments. Method 900 is implemented in a device (e.g., 100, 300, 500, or 600) that includes a display device (e.g., 603). Some operations of method 900 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.

[0263] As described below, method 900 provides an intuitive way to manage controllable external devices from a home interface (e.g., 602), which provides access to affordances corresponding to the controllable external devices. Enabling a user to manage controllable external devices in the home from the home interface reduces the user's cognitive burden because all controllable external devices are accessible from the home interface. Thus, the user does not need to open a separate application to manage the configuration of each controllable external device, thereby creating a more efficient human-machine interface. For battery-powered computing devices, allowing a user to manage controllable external devices from the home interface reduces the number of inputs required to open multiple applications, thereby allowing the user to efficiently conserve device power and extend the time between battery charges.

[0264] In block 902, the device (e.g., 600) displays on a display device a user interface (e.g., a home page showing tiles for each accessory) that includes a first accessory affordance (e.g., 604B) (e.g., selectable graphical tiles) associated with a first controllable external device (e.g., a device having at least one controllable function (e.g., a smart light bulb, a smart thermostat, a smart speaker)).

[0265] In some embodiments, at block 904, a first accessory interface (e.g., 810B) includes a first total number of control affordances (e.g., 808A-808C), all of which are included in a first region (e.g., 812A) (e.g., all controls for the accessory are displayed in the first region), and none of which are included in a second region (e.g., 812B) (e.g., none of which controls are displayed in a settings section displayed in the second region). In some embodiments, the first region of the first accessory interface includes a second region affordance (e.g., 816) (e.g., a settings shortcut) in a third location of the first region (e.g., adjacent to the displayed portion of the first region).

[0266] At block 906, the device (eg, 600) detects a first input (eg, 850A) (eg, a tap on the affordance) corresponding to a selection of the first accessory affordance.

[0267] In block 908, in response to detecting a first input (e.g., 850A) (e.g., a tap), the device (e.g., 600) displays on the display device (e.g., 603) a first region (e.g., 812A) of a first accessory interface (e.g., 810B) (e.g., a user interface displaying all controls for the accessory, such as a card associated with the accessory) that includes a first control affordance (e.g., 808A) that, when selected, controls (e.g., sends a control signal) a first function (e.g., dim a light, change the color of a light) of the first controllable external device, without displaying a second region (e.g., 812B) of the first accessory interface (e.g., a settings section). In some embodiments, the first region includes all controls for the accessory, and the second region includes the settings section (e.g., 816) of the accessory.

[0268] In some embodiments, in accordance with a determination in block 910 that the first controllable external device is associated with (e.g., includes) fewer than a predetermined number (e.g., three sensors) of sensors (e.g., temperature, humidity, and / or ambient light sensors), a first region (812A) of the first accessory interface (e.g., 810I) includes, at a first location (e.g., above the first control affordance) in the first region, a set of control affordances (e.g., 816A-816C) corresponding to the sensors of the first controllable device.

[0269] In some embodiments, in accordance with a determination at block 912 that the first controllable external device is associated with (e.g., includes) a predetermined number or more sensors, a first region (e.g., 812A) of the first accessory interface (e.g., 810I) includes a set of control affordances (e.g., 816A-816C) corresponding to the sensors of the first controllable device in a second location (e.g., below the first control affordance (e.g., 818)) of the first region (e.g., 812A) that is different from the first location.

[0270] At block 914, while displaying a first region (e.g., 812A) of a first accessory interface (e.g., 810B) on a display device (e.g., 603), the device detects a second input (e.g., 850B, 850D) (e.g., a swipe). In some embodiments, the second input includes a swipe (e.g., 850B) that scrolls the display to reveal additional controls on cards further down that are not currently displayed. In some embodiments, the swipe (e.g., 850D) flicks the display to the settings section, thereby flicking the display to the settings section (e.g., 822) so that the controls are no longer displayed.

[0271] In response to detecting a second input (e.g., 850D) at block 916 and block 918, and in accordance with a determination that the second input (e.g., 850D) causes a portion of the second region (e.g., 812B) to be displayed (e.g., one-quarter of the settings section is displayed on the screen) in excess of a threshold amount (e.g., a threshold amount of content or area of ​​the second region), at block 920, the device (e.g., 600) displays the second region (e.g., the settings section) on top of the first accessory interface (e.g., 810B). The display of the first accessory interface (e.g., 810B) is updated to include one or more settings for the first controllable external device (e.g., quickly moving to the settings section of the accessory), while ceasing to display the first region (e.g., 812A) (e.g., the controls in the first region are no longer displayed), and the second region contains one or more settings for the first controllable external device (e.g., the settings is the accessory's main settings page that allows the user to manage the accessory's setup (e.g., sharing data including favorites, receiving notifications, adding people to an access list)). In some embodiments, at block 922, the device outputs haptic and audio feedback (e.g., 820). Displaying the controls and settings in the same accessory interface provides a more efficient user interface for accessing the controls of the controllable external device. Enabling a user to access the controls and settings of a controllable external device from one interface reduces the cognitive burden on the user. Thus, the user does not have to open a separate application to manage the configuration of each controllable external device. Furthermore, the settings of a controllable external device are generally used less frequently than other controls and are therefore hidden except when the user intentionally seeks to access the settings. Thus, using a threshold to determine when to display the settings provides a more efficient user interface because it is only displayed when the user intentionally wants to access the settings section. Additionally, having a floating settings shortcut affordance allows the user to navigate to the settings section without having to scroll to the bottom of the accessory interface.

[0272] In block 924, in response to detecting the second input and in accordance with a determination that the second input does not cause a portion of the second region (e.g., 812B) to be displayed by more than a threshold amount (e.g., less than a quarter of the settings section is displayed), the device (e.g., 600) updates (e.g., changes the color of the lighting, and the second control was not displayed prior to the second input) the display of the first accessory interface (e.g., 810B) based on the second input (e.g., 850D) (e.g., by gradually scrolling the second control (e.g., 808C) through the first region (e.g., 812A) to a previously hidden page in response to the speed of the swipe rather than quickly moving to the settings section). In some embodiments, scrolling down the page to reveal the second control will not reveal the second region (e.g., 812B) of the first accessory interface (e.g., 810B) and will remove the first control. By not displaying the settings section when the threshold is not exceeded, a more efficient user interface is provided. Instead, focus is directed to the controls of the controllable external device, reducing the cognitive burden on the user.

[0273] In some embodiments, the device (e.g., 600) detects a fourth input (e.g., 650E in FIG. 6H ) that corresponds to the second region affordance (e.g., 816). In response to detecting the fourth input corresponding to the second region affordance, the device updates the display of the first accessory interface (e.g., 610A) (e.g., by scrolling through other controls in the overflow area of ​​the first region) to display the second region (e.g., 620 in FIG. 6H ) at the top of the first accessory interface (e.g., by flicking to the settings section of the accessory) while ceasing to display the first region.

[0274] In some embodiments, while displaying the first accessory interface (e.g., 810B) on the display device (e.g., 603), the device detects a third input (e.g., 830) (e.g., the third input cancels or closes the first accessory interface). In response to detecting the third input, the device stops displaying the first accessory interface and outputs haptic and audio feedback (e.g., 820) indicating that the first accessory interface is no longer displayed (e.g., cancels the feedback indicating the card is closed).

[0275] It should be noted that the process details described above with respect to method 900 (e.g., FIGS. 9A and 9B) are also applicable in a similar manner to the methods described above / below. For example, method 900 optionally includes one or more of the features of the various methods described above with respect to methods 700, 1100, and 1300. For example, the accessory interface of method 900 is used to configure the controllable external device of method 700. For the sake of brevity, these details will not be repeated below.

[0276] 10A-10AC show example interfaces for grouped accessories (e.g., power strips) according to some embodiments. The interfaces in these figures are used to illustrate processes described below, including the processes of FIGS. 11A-11B.

[0277] In FIGS. 10A-10C, a power strip and a power outlet are added to the home interface 602. A user can add an accessory by scanning a code or entering a code. Once the accessory is added, accessory affordances (e.g., 604E and 604F) are added to the home interface 602. A user can manage the accessory configuration by tapping the accessory affordance (e.g., 604E) corresponding to the accessory (e.g., the power strip). In FIG. 10A, the device 600 displays the home interface 602 including an affordance 640 for adding a new accessory or scene. The device 600 detects a set of inputs 1050A (e.g., a tap) corresponding to the selection of the affordance 640 and selects to add the new accessory. In FIG. 10B, in response to detecting the input 1050A, the device 600 displays an "Add Accessory" interface 1002 for adding a new accessory that will be controllable by the device 600. The add accessory interface 1002 includes a viewfinder 1004A and instructions for scanning a code (e.g., a barcode, a QR code, or a series of numbers) associated with a new accessory using the device 600. The add accessory interface 1002 also includes an affordance 1004B for manually entering a code to add a new accessory.

[0278] In FIG. 10C , after (e.g., in response to) successfully adding a new accessory, device 600 displays home interface 602 including accessory affordances corresponding to the added accessory. FIG. 10C shows newly added power strip accessory affordance 604F and hallway power outlet accessory affordance 604F in home interface 602, corresponding to a power strip accessory and a power outlet accessory, respectively. Based on the received information about the functions the accessory can perform, device 600 determines whether it has a corresponding accessory affordance that performs a function when tapping or opening an accessory interface to allow the user to manage the accessory. For example, power outlet accessory affordance 604F toggles the power outlet between on and off when power outlet accessory affordance 604F is tapped. In contrast, thermostat accessory affordance 604C causes device 600 to open thermostat interface 1210C of FIG. 12B when thermostat accessory affordance 604C is tapped. During setup, device 600 determines, based on information received from the power outlet, that the power outlet is a first type of accessory because it has a single function that operates in two binary states, toggling between on and off. During setup, device 600 determines, based on information received from the power strip, that the power strip is a grouped accessory that is also a first type of accessory because it has a single function that operates in two binary states, toggling between on and off. In contrast, as described below with respect to Figures 12A-12B, a thermostat is a second type of accessory because the thermostat has no primary function.

[0279] In Figure 10C, device 600 detects input 1050B corresponding to a long press (or deep press) of power outlet accessory affordance 604F in home interface 602. In Figure 10D, device 600 displays power outlet accessory interface 1010F in response to detecting input 1050B. Power outlet accessory interface 1010F includes a graphical representation 1010F1 and a current state 1010F2 indicating that the power outlet is currently off. Power outlet accessory interface 1010F includes control affordance 1008 corresponding to toggling the power outlet between an on state and an off state.

[0280] 10D, device 600 detects input 1050C, which corresponds to a swipe gesture that scrolls down power outlet accessory interface 1010F to access power outlet settings section 1018. Because the power outlet is not part of an accessory group, power outlet settings section 1018 does not include an affordance for reconfiguring the power outlet. In FIG. 10E, in response to detecting input 1050C, device 600 flips the display of power outlet accessory interface 1010F to power outlet settings section 1018. Because the power outlet is a single accessory component, power outlet settings section 1018 does not include an accessory reconfiguration affordance for reconfiguring the accessory's components. For example, power outlet settings section 1018 does not include affordance 1014B as shown in FIG. 10K, but is associated with adding or removing components to a set of grouped accessories or affordances 1014C as shown in FIG. 10R, and is associated with recombining accessories that the group is physically part of (e.g., a power outlet is a component of a power strip).

[0281] FIG. 10F shows a newly added power tap accessory affordance 604E within the home interface 602. The power tap accessory affordance 604E corresponds to a power tap accessory that includes six individual power outlet components (e.g., subcomponents). The power tap affordance 604E represents an accessory group that includes six power outlets. The power tap has a primary function of being turned on / off. The six individual power outlet components of the power tap also have the same primary function of being toggled between on and off. Thus, the device 600 generates a single power tap accessory affordance 604E for the accessory group that includes the power tap and the six individual power outlet components. The accessory group can be turned on or off together, or the individual components can be controlled individually. Thus, in response to the device 600 detecting an input (e.g., a tap) that corresponds to the selection of the power tap accessory affordance 604E, the device 600 sends a command to the power tap to turn the entire accessory group on / off. The power strip and individual power outlets can be individually switched between on and off states via control affordances associated with each power outlet component within the power strip accessory interface 1010E.

[0282] In Figure 10F, device 600 detects input 1050D, which corresponds to a long press (or deep press) of power strip accessory affordance 604E, to access individual controls corresponding to each power outlet. In Figure 10G, in response to detecting input 1050D, device 600 displays power strip accessory interface 1010E. Power strip accessory interface 1010E includes controls 1020A-1020G for managing the state of each power outlet and the power strip as a whole. Power strip accessory interface 1010E includes graphical representation 1010E1 indicating that the power strip is off and current state 1010E2 indicating that all power outlets in the power strip are currently off. Power outlet accessory interface 1010E includes control affordances 1020A-1020G. Control affordance 1020A sets the power strip, including all six power outlet components of the power strip, to an on state if the power strip is currently off, and sets the power strip to an off state if the power strip is currently on. Power outlets that are already in an on state when control affordance 1020A is activated to turn the power strip on remain in an on state. Similarly, power outlets that are already in an off state when control affordance 1020A is selected to turn the power strip off remain in an off state. Control affordances 1020B-1020G correspond to control affordances corresponding to each respective power outlet in the group, and the control affordances can be set to an on or off state without affecting the state of other power outlets in the group. Power strip accessory interface 1010E also includes a set shortcut affordance 1012.

[0283] 10G-10J illustrate turning on individual power outlets of a power strip or power strip accessory group. The power strip accessory affordance 604E of the home interface 602 is updated each time the power strip state is updated.

[0284] In FIG. 10G, device 600 detects input (e.g., tap) 1050E, which corresponds to selecting control affordance 1020A to turn on the power tap. In response to detecting input 1050E, device 600 sends a command or instruction to the power tap accessory to turn on each of the six power outlet components. In FIG. 10H, after detecting input 1050E, device 600 updates the display of power tap accessory affordance 604E in home interface 602. Graphical representation 604E1 of power tap accessory affordance 604E is updated to indicate that the power tap has been turned on, as indicated by a lightning bolt. Current state 604E2 of power tap accessory affordance 604E is updated to indicate that the power tap is in the on state.

[0285] In FIG. 10H, device 600 detects input 1050F corresponding to a long press (or deep press) of power strip accessory affordance 604E. In FIG. 10I, in response to detecting input 1050F, device 600 displays power strip accessory interface 610E. Power strip accessory interface 610E includes a graphical representation 610E1 that matches the updated graphical representation 604E1 of FIG. 10H, which indicates that the power strip is in an on state. Current state 1010E2 is updated to indicate that the power strip is in an on state and that each of the six power outlets is in an on state. In response to device 600 determining that the power strip is currently in an on state, device 600 updates control affordance 1020A for turning the power strip off. Control affordances 1020B-1020G indicate that each of the power outlets is in an on state, and tapping one of control affordances 1020B-1020G turns off the corresponding power outlet.

[0286] In FIG. 10I , device 600 detects input (e.g., tap) 1050G corresponding to selection of control affordance 1020B corresponding to power outlet 1. In FIG. 10J , following (and in response to) detecting input 1050G, device 600 sends a command to the power tap accessory to turn power outlet 1 off. Device 600 updates the display of control affordance 1020B to indicate that the power outlet is now in an off state. Device 600 can detect a subsequent tap of control affordance 1020B to turn power outlet 1 on. Control affordances 1020C-1020G indicate that each of the corresponding power outlets remains in an on state and that tapping the corresponding control affordance will turn the corresponding power outlet off.

[0287] A power strip accessory group can be reconfigured to remove a power outlet, add a power outlet, or split the group via settings section 1018E. FIGS. 10K-10O illustrate the process of removing a power outlet from a power strip accessory group. In FIG. 10J, device 600 detects an input (e.g., tap) 1050H corresponding to the selection of settings shortcut affordance 1012. In FIG. 10K, in response to detecting input 1050H, device 600 displays power strip settings section 1018E. Power strip settings section 1018E includes a graphical representation 1010E1 and a state 1010E2 corresponding to the state of the power outlet accessory as shown in power outlet accessory interface 1010E. Power outlet settings section 1018E includes a “group with other accessories” affordance 1014A for grouping the power outlet with other accessories of the same type and an accessory affordance 1014B for reconfiguring the power strip accessory (e.g., by removing or adding components to the power strip). Accessory affordance 1014B indicates that there are currently six power outlet components in the group.

[0288] 10K, device 600 detects input (e.g., tap) 1050I corresponding to selection of accessory affordance 1014B. In FIG. 10L, in response to detecting input 1050I, device 600 displays accessory interface 1060. Accessory interface 1060 includes six sets 1018A-1018F of accessory affordances corresponding to each power outlet component in the power strip accessory group. Accessory interface 1060 includes an "add or remove" affordance 1020 for adding or removing a power outlet that has been removed from the power strip, and a disintegrate group affordance 1022 for disintegrating the group by creating individual accessory affordances for each component in the group (e.g., a power outlet accessory affordance for each of the six power outlets).

[0289] In FIG. 10L, device 600 detects input 1050J corresponding to selection of “add or remove” affordance 1020. In FIG. 10M, in response to detecting input 1050J, device 600 updates the display of add or remove interface 1060 to enable selection or deselection of each power outlet accessory affordance 1018A-1018F. Device 600 detects input (e.g., tap) 1050K corresponding to selection of power outlet accessory affordance 1018C to remove power outlet 3 from the power tap group. In FIG. 10N, in response to detecting input 1050K, device 600 displays a check mark next to the selected power outlet accessory affordance 1018C. In FIG. 10N, device 600 detects input (e.g., tap) 1050L corresponding to selection of finish button 1032. After detecting input 1050L, device 600 removes power outlet 3 from the power tap accessory group.

[0290] In FIG. 10O, in response to detecting input 1050L, device 600 displays power strip accessory interface 1010E with only five control affordances corresponding to power outlets 1020B, 1020C, 1020E, 1020F, and 1020G. Control affordance 1020D is not displayed because corresponding power outlet 3 has been removed. Adding or removing a power outlet from a power strip accessory group does not change the state of power outlets still in the group (e.g., power outlets 1-2 and 4-6) or the state of a power outlet removed from the group (e.g., power outlet 3). Thus, as shown in FIG. 10J, power outlet 1 remains in the off state and power outlet 3 remains in the on state, which is the same state the corresponding power outlets were in before removing outlet 3 from the power strip accessory group. Graphical representation 1010E1 remains unchanged, but current state 1010E2 is updated to show that four power outlets are on in the power strip accessory group. In FIG. 10O, device 600 detects input 1050M corresponding to selection of cross button 1030.

[0291] When power outlet 3 is removed from the power tap group, device 600 displays power outlet 3 with its corresponding power outlet 3 accessory affordance 1004J. In FIG. 10P, in response to detecting input 1050M, device 600 displays a new power outlet 3 accessory affordance 1004J that has been added to home interface 602. Power outlet 3 accessory affordance 1004J includes a graphical representation 1004J1 indicating that the power outlet is in an on state, as indicated by a lightning bolt, and a current state 1004J2 indicating that the power outlet is in an on state. Power tap accessory affordance 604E remains unchanged in home interface 602.

[0292] In FIG. 10P, device 600 detects input 1050N corresponding to a long press (or deep press) on power outlet 3 accessory affordance 1004J. Because device 600 determines that power outlet 3 is a first type accessory having a single function, the detected tap on affordance 1004J causes device 600 to send a command to turn power outlet 3 on / off instead of causing device 600 to display power outlet 3 accessory interface 1010J. In FIG. 10Q, in response to detecting input 1050N, device 600 displays power outlet 3 accessory interface 1010J. Power outlet 3 accessory interface 1010J includes a graphical representation 1010J1 and a current state 1010J2 indicating that power outlet 3 is in an on state. Power outlet 3 accessory interface 1010J includes a single control affordance 1008 for turning power outlet 3 on / off.

[0293] 10Q, device 600 detects input (e.g., a tap) 1050O corresponding to selection of settings shortcut affordance 1012. In FIG. 10R, in response to detecting input 1050O, device 600 displays power outlet 3 settings section 1018J within power outlet 3 accessory affordance 1010J. Settings section 1010J includes a regroup affordance 1014C for regrouping power outlet 3 with the power tap accessory it was originally grouped with. Settings section 1010J also includes a remove accessory affordance 1016 for removing the accessory from home interface 602, thereby disassociating it from device 600.

[0294] 10R-10T show that when an accessory component, such as a power outlet of a power strip, is removed, notification 1062 prompts the user to confirm that they want to proceed. If the user proceeds to remove the component, the accessory is removed along with the accessory affordance in home interface 602. In FIG. 10R, device 600 detects input (e.g., tap) 1050P corresponding to selecting accessory removal affordance 1016. In FIG. 10S, in response to detecting input 1050P, device 600 displays a notification indicating that removing power outlet 3 will cause the power strip and the other five power outlet components to disassociate with device 600. Because power outlet 3 is a physical part of the power strip, removing power outlet 3 removes the entire power strip accessory in which power outlet 3 is included. In FIG. 10S, device 600 detects input 1050Q corresponding to removing power outlet 3.

[0295] 10T, after (and in response to) removing power outlet 3, device 600 updates the display of home interface 602. Because the power strip and power outlet accessories are no longer associated with device 600, power outlet 3 accessory affordance 1004J and power strip accessory affordance 604E have been removed from home interface 602.

[0296] 10U-10X illustrate regrouping power outlet 3 with a power strip via regroup affordance 1014C selected from power outlet 3 settings section 1018J of power outlet 3 accessory interface 1010J. In FIG. 10U, device 600 displays home interface 602 including power strip accessory affordance 602E and power outlet 3 accessory affordance 1004J before power outlet 3 accessory affordance 1004J is removed. Device 600 detects input 1050R corresponding to a long press (or deep press) of power outlet 3 accessory affordance 1004J. In FIG. 10V, in response to detecting input 1050R, device 600 displays power outlet 3 accessory interface 1010J as described above with respect to FIG. 10Q. Device 600 detects input (e.g., tap) 1050S corresponding to selection of settings shortcut affordance 1012.

[0297] In Fig. 10W, in response to detecting input 1050S, device 600 displays power outlet 3 settings section 1018J, as described above with respect to Fig. 10R. Device 600 detects input (e.g., tap) 1050T corresponding to selection of regroup affordance 1014C, which recombines power outlet 3 to the power tap accessory with which power outlet 3 was originally grouped.

[0298] In FIG. 10X, following (e.g., in response to) detecting input 1050T, device 600 displays power strip accessory interface 1010E2, indicating that power outlet 3 has been re-added to the power accessory group. Power strip accessory interface 1010E2 displays six control affordances corresponding to each of the six power outlets, including power outlet 3, which has just been re-added to the power strip accessory group. Each of the six control affordances indicates that the corresponding power outlet will remain in the same state it was in before power outlet 3 was re-added to the group. For example, power outlet 1 was previously in an off state and will remain in an off state. Similarly, power outlet 3 was in an on state before it was removed from the group and will remain in an on state after it is re-added to the group. In FIG. 10X, device 600 detects input (e.g., tap) 1040U corresponding to selection of settings shortcut affordance 1012. In some embodiments, once power outlet 3 is re-combined with the power strip, power outlet 3 accessory affordance 1004J is no longer displayed in home interface 602.

[0299] 10Y-10AC illustrate combining power outlet 3 with a living room power strip outlet. As a result, power outlet group accessory affordance 1004L is created in home interface 602, and power outlet 3 accessory affordance 1004J and living room power strip accessory affordance 1004K are no longer displayed. In FIG. 10Y, device 600 displays power outlet 3 accessory interface 1010J before power outlet 3 is recombined with the power strip. Device 600 detects input (e.g., a tap) 1050U corresponding to selection of “Group with other accessories” affordance 1014A to add power outlet 3 to a custom accessory group that includes the other outlet and power strip accessories.

[0300] In FIG. 10Z, in response to detecting input 1050U, device 600 displays new group interface 1064. Device 600 displays power outlet and power tap affordances 1034A-1034D corresponding to power outlet and power tap accessories in the home that can be selected to form a new group within new group interface 1064. For example, bedroom power outlet 3 and power tap accessory affordances 1034A-1034B are displayed under bedroom. Entryway power outlet accessory affordance 1034C is displayed under entryway. Living room power tap accessory affordance 1034D is displayed under living room. In FIG. 10Z, device 600 detects inputs (e.g., taps) 1050V-1050W corresponding to selection of power outlet 3 accessory affordance 1034C and living room power tap accessory affordance 1034D to identify the accessories to group. 10AA, in response to detecting input 1050V-1050W, device 600 displays a check mark next to the selected accessories Power Outlet 3 accessory affordance 1034C and Power Strip accessory affordance 1034D. Device 600 detects input (e.g., a tap) 1050X corresponding to selection of Done button 1032. In some embodiments, a user can group various accessories of different types (e.g., thermostat, lights, and power strips) and create shortcut access to the group (e.g., a shortcut to a group of tasks triggered by a voice command) that is triggered by an event or a voice command (e.g., turn on the accessories in the group when someone is home).

[0301] In FIG. 10AB, in response to detecting input 1050X, device 600 displays a new power outlet group accessory interface 1010L that includes control affordances 1040A-1040D for the living room power strip power outlet and power outlet 3 that are now in the new power outlet accessory group. Power outlet group accessory interface 1010L includes a graphical representation 1010L1 indicating that the group includes power outlet accessories and a current state 1010L2 indicating that there is one power outlet in the accessory group that is in an on state. Control affordance 1040A turns on all power outlet accessories in the group. Control affordances 1040B and 1040C correspond to controls that toggle between on / off states of power outlet 1 and power outlet 2 associated with the living room power strip. Control affordance 1040D corresponds to controls that toggle between on / off states of power outlet 3. Device 600 detects input (e.g., a tap) 1050Y that corresponds to selection of the “x” button 1030.

[0302] 10AC, in response to detecting input 1050Z, device 600 displays new power outlet group accessory affordance 1004L corresponding to the new power outlet accessory group. Device 600 removes power outlet 3 accessory affordance 1004J and living room power tap accessory affordance 1004K and replaces them with new power outlet group accessory affordance 1004L.

[0303] 11A-11B are flow diagrams illustrating a method 1100 for controlling a group of external devices using an electronic device, according to some embodiments. Method 1100 is implemented in a device (e.g., 100, 300, 500, 600) having a display device. Some operations of method 1100 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.

[0304] As described below, method 1100 provides an intuitive way to manage a controllable external device with multiple components. This method reduces the cognitive burden on a user for managing a controllable external device with multiple components, thereby creating a more efficient human-machine interface. Enabling a user to manage a controllable external device with multiple components from the same device interface reduces the cognitive burden on the user because control of the group can be managed from one location. Thus, a user does not need to open a separate application to manage the configuration of each controllable external device and subcomponents, thereby creating a more efficient human-machine interface. For battery-powered computing devices, allowing a user to manage controllable external devices and components from the same device interface reduces the number of inputs required to configure the components of the controllable external device, thereby allowing the user to efficiently conserve device power and extend the time between battery charges.

[0305] At block 1102, a device (e.g., 600) (e.g., a smartphone, a smart home control device) with a display device (e.g., a touch-sensitive display device) is not configured to control a first controllable external device, while the device detects a first set of one or more inputs (e.g., 1050A) corresponding to a request to configure the electronic device to control the first controllable external device.

[0306] In response to detecting a first set of one or more inputs (e.g., 1050A) at block 1104, the device initiates a process to configure the electronic device to control the first controllable external device, which process includes receiving information corresponding to the first controllable external device (e.g., from an accessory device, from a server that stores device characteristics) at block 1106.

[0307] In block 1108, in accordance with a determination based on the received information that the first controllable external device is associated with multiple controllable functions (e.g., turning on / off multiple power outlets of a power strip, turning on / off lights, turning on / off fans) associated with multiple sub-components (e.g., power outlets of a power strip, lights of a ceiling fan) of the first controllable external device (e.g., the accessory is associated with sub-components, e.g., a power strip with multiple power outlets, a fan with ceiling lights), the device (e.g., 600) displays on the display device (e.g., 603) a first accessory affordance (e.g., 604E) (e.g., a tile representing the group) corresponding to a group including the first controllable external device and the multiple sub-components.

[0308] In block 1110, in accordance with a determination based on the received information that the first controllable external device is not associated with multiple subcomponents (e.g., for any multiple subcomponents, the accessory includes no subcomponents or only one subcomponent), the device displays, on the display device, a second accessory affordance (e.g., 1004J) (e.g., a tile representing only the accessory) corresponding to the first controllable external device. Displaying grouped accessory affordances for the controllable external device and its components instead of individual accessory affordances for each component in the group provides a more efficient user interface and reduces the cognitive burden on the user. Selecting the grouped accessory affordance provides a single entry point for accessing all controls for the accessory group. This reduces the number of inputs required to configure the controllable external device and its components, thereby conserving battery power.

[0309] In block 1112, while displaying the first accessory affordance or the second accessory affordance on the display device (e.g., 603), the device (e.g., 600) detects a second input (e.g., 1050B, 1050D) (e.g., a contact that is maintained for more than a predetermined period of time).

[0310] In response to detecting a second input (e.g., 1050D) at block 1114, in accordance with a determination at block 1116 that the second input corresponds to a selection of a first accessory affordance (e.g., 604E) (e.g., a grouped accessory tile), the device (e.g., 600) displays on the display device (e.g., 603) a first accessory interface (e.g., 1010E) (e.g., a configuration page (e.g., card) for the accessory) including a plurality of control affordances (e.g., 1020A-1020G) corresponding to a first controllable external device and a plurality of sub-components (e.g., control for turning the accessory on / off, changing the color of the lighting, changing the temperature), and a control reconfiguration affordance (e.g., 1020) for (e.g., ungrouping a sub-component from a group) that, when selected, initiates a process for removing at least a first control affordance (e.g., 1020D) of the plurality of control affordances from the first accessory interface.

[0311] In some embodiments, the first accessory interface includes a group control affordance (e.g., 1020A) that, when selected, sends a command to the first controllable external device that affects a state of a sub-component of the plurality of sub-components (e.g., affects / changes the state of each of the plurality of sub-components (e.g., all of the sub-components of the first controllable external device)). In some embodiments, the first accessory interface (e.g., 100E) includes an accessory removal affordance (e.g., 1016). In some embodiments, the plurality of control affordances of the first accessory interface include a first control affordance (e.g., 1020B) associated with a first sub-component of the plurality of sub-components (e.g., a first power outlet of a multi-power outlet power strip) and a second control affordance (e.g., 1020D) associated with a second sub-component of the plurality of sub-components (e.g., a second power outlet of a multi-power outlet power strip). In some embodiments, the plurality of control affordances (e.g., 1020A-1020G) include one or more control affordances corresponding to a first type of subcomponent (e.g., a lighting subcomponent, a power outlet subcomponent, a fan subcomponent) and one or more control affordances corresponding to a second type of subcomponent.

[0312] In block 1118, in accordance with a determination that the second input (e.g., 1050B) corresponds to a selection of the second accessory affordance (e.g., 604F), the device (e.g., 600) displays a second accessory interface (e.g., 1010F) (e.g., a configuration page (e.g., card) of the accessory) including controls (e.g., 1008) of the first controllable external device on the display device (e.g., 603) without displaying the control reconfiguration affordance (e.g., 1020).

[0313] In some embodiments, the device (e.g., 600) detects a third input (e.g., a tap gesture) corresponding to selection of the first control affordance (e.g., 1020A). In response to detecting the third input, the device (e.g., 600) sends a command to the first controllable external device that affects the state of a sub-component of the plurality of sub-components (e.g., turning on / off all power outlets of a power strip). Controlling an accessory group (e.g., a power strip and power outlets) with a single control affordance (e.g., 1020A) provides a more efficient user interface that reduces the cognitive burden on the user. For example, a power strip includes six power outlets. Rather than toggling each power outlet between on and off, the user can tap the single control affordance to toggle all power outlets in the group. This not only simplifies control of the power strip, but also reduces the number of inputs, thereby helping to conserve battery power of the electronic device.

[0314] In some embodiments, while displaying the first accessory interface (e.g., 1010E), the device (e.g., 600) detects a fourth input (e.g., 1050G) (e.g., a tap gesture) corresponding to the first control affordance (e.g., 1020B). In response to detecting the fourth input, the device sends a command to the first controllable external device that affects the state of the first sub-component (e.g., toggling the state of the first power outlet between off and on) without sending a command to the first controllable external device that affects the state of the second sub-component (e.g., the second power outlet of a power strip is not affected). Displaying an aggregate accessory interface (e.g., 1010E) that allows a user to manage the configuration of each component of a group of accessories provides a more efficient user interface that reduces the cognitive burden on the user. A user can control a particular component without affecting the state of other components in the group. This simplifies management of accessory groups because controls for the group are accessible from a single user interface. This not only simplifies the management of components within an accessory group, but also reduces the number of inputs, which helps conserve battery power in the electronic device.

[0315] In some embodiments, the device detects a fifth input (e.g., 1050P) corresponding to an accessory removal affordance (e.g., 1016) (e.g., removing the accessory so that it is no longer controlled by the electronic device). In response to detecting the fifth input corresponding to the accessory removal affordance, the device (e.g., 600) initiates a process that configures the electronic device (e.g., 600) to no longer control the first controllable external device, including the following alert criteria: Following a determination that the set of alert criteria are met, the alert criteria include criteria that are met if the first controllable external device is a subcomponent device of a composite external device that includes at least one other subcomponent device that the electronic device is currently configured to control (e.g., displaying a notification only if the removed accessory is a subcomponent that is part of a controllable accessory (e.g., removing a power outlet that is part of a power strip)), and following a determination that the set of alert criteria are met, the device provides an indication (e.g., 1062) that completing the process of configuring the electronic device to no longer control the first controllable external device also configures the electronic device to no longer control at least one other subcomponent device (e.g., a notification that removing the power outlet removes the entire power strip from control by the electronic device). Following a determination that the set of alert criteria are not met (e.g., the removed accessory is a stand-alone accessory such as a light or thermostat), the device refrains from providing an indication that completing the process of configuring the electronic device to no longer control the first controllable external device also configures the electronic device to no longer control at least one other subcomponent device (e.g., removing the accessory without displaying a notification). Displaying a notification to alert the user that removing a component of an accessory group will remove the entire accessory (e.g., removing a power outlet will remove a power strip) provides a more efficient user experience and reduces the cognitive burden on the user.In many cases, users are unaware that removing a member of a group removes the entire accessory, so a notification requesting user confirmation before removing a member saves users time in re-adding an accessory that they unintentionally removed.

[0316] In some embodiments, while displaying a first accessory interface (e.g., 610A of FIG. 6J , 1010E of FIG. 10I ) (e.g., an accessory user interface or card for an accessory that includes multiple control affordances associated with sub-components), the device (e.g., 600) may display a second set of one or more inputs (e.g., 650G of FIG. 6J , 1050I-1050L of FIGS. 10K-10N ) to select a particular sub-component (e.g., 1018C) to ungroup (e.g., in some examples, selecting a reconfiguration affordance (e.g., 616 of FIG. 6J , 1020 and 1022 of FIG. 10L ) and inputs corresponding to control reconfiguration affordances (e.g., grouped accessory affordances, and adding or removing affordances). and detecting a click on an “Done” button (e.g., 1032) including the first accessory interface (e.g., 610A) and the second accessory affordance (e.g., 604A) (e.g., ungrouping). In response to detecting a second set of one or more inputs, the device stops displaying the first accessory interface (e.g., 610A) and stops displaying (e.g., ungrouping) the first accessory affordance (e.g., 604A). In some embodiments, only the selected subcomponent (e.g., power outlet) (e.g., 1018C) is removed from the group (e.g., power strip) and gets its own tile (e.g., 1050N), while the remaining accessories of the subcomponent (e.g., the remaining power outlets in the power strip) remain in the group within the grouped tile (e.g., 604E).

[0317] The device displays a third accessory affordance (e.g., 604G, 1004J) that, when selected, displays a third accessory interface (e.g., 1010J, 810I in FIGS. 10V-10Y) including one or more control affordances (e.g., 1008) corresponding to subcomponents of the first type (e.g., fan, power outlet). In some embodiments, a new grouped tile (e.g., 1004L) shows all subcomponents of the same type, including the subcomponents that split off from the previous group, e.g., a new group of lights that includes the lights of a lighted ceiling fan. In some embodiments, the third accessory interface includes a regroup affordance (e.g., 1014C).

[0318] The device displays a fourth accessory affordance (e.g., 604H) that, when selected, displays a fourth accessory interface (e.g., 610H) including one or more control affordances (e.g., 608B-608C) corresponding to subcomponents of a second type (e.g., lights). In some embodiments, selecting a control reconfiguration affordance (e.g., 616) provides the option to ungroup all of the control affordances (e.g., 608A-608C) that were grouped together in the first accessory interface (e.g., 610A) and create new groups of control affordances based on the subcomponent types within the original groups (e.g., a new group for lights: 614A, a new group for power outlets: 1014A and 1064 in FIGS. 10Y-10Z). In some embodiments, the new grouped tile shows all fan components, including fans that were previously part of a ceiling fan with a lighting accessory. By updating the display of accessory affordances with newly grouped accessory affordances that are no longer appropriate (for example, because they have been removed or combined with another group), the user has a cleaner, more intuitive home interface. Maintaining the home interface with updated accessory affordances provides a more efficient user interface, allowing users to easily find the specific accessory affordance of interest. This reduces the cognitive burden on the user and preserves the battery power of the electronic device because it allows the user to manage accessories with less input.

[0319] In some embodiments, while displaying a third accessory interface (e.g., 604G of FIG. 6K , 1010J, 810I of FIGS. 10V-10Y ), the device detects a third set of one or more inputs (e.g., 1014T) including an input (e.g., 1014T) corresponding to selection of a regrouping affordance (e.g., 1014C) (e.g., a separated power outlet card has an affordance for being recombined into a group of power taps). In response to detecting a third set of one or more inputs, the device ceases displaying the third accessory affordance (e.g., 604G, 1004J) and the fourth accessory affordance (e.g., another power outlet 604H split off from the power strip) and re-displays the first accessory affordance (e.g., 604A, 604E), which, when selected, displays a first accessory interface (e.g., 610A, 1010E) including multiple control affordances (e.g., 608A-608C in FIG. 6G , 1020A-1020G in FIG. 10X). In some embodiments, selecting a regroup affordance (e.g., 1014A) provides the option to reconfigure the ungrouped group of control affordances (e.g., 608A-608C in FIG. 6G , 1020A-1020G in FIG. 10X) via a control reconfiguration affordance (e.g., 616). By providing interface options for splitting grouped accessories and forming new accessory groups, users are given the flexibility to manage their accessories in a more intuitive manner. For example, a user may want all lights in a shared space to be grouped together, but keep the lights in their bedroom separate. Thus, the reconfiguration affordance allows users to manage their accessories more efficiently. Furthermore, more intuitive grouping of accessories reduces the number of inputs required to manage accessories, further conserving battery power of the electronic device.

[0320] It should be noted that the process details described above with respect to method 1100 (e.g., FIGS. 11A-11B) are also applicable in an analogous manner to the methods described above / below. For example, method 900 optionally includes one or more of the features of the various methods described above with respect to methods 700, 900, and 1300. For example, the controllable external device having multiple components described in method 1100 may be the controllable external device of method 700, which can be configured and accessed using the interface described in method 700. For the sake of brevity, these details will not be repeated below.

[0321] 12A-12Q show example user interfaces for a thermostat accessory, according to some embodiments, and are used to illustrate processes described below, including those in FIGS.

[0322] 12A , device 600 displays thermostat accessory affordance 604C corresponding to a thermostat within home interface 602. Thermostat accessory affordance 604C includes a graphical representation 604C1 of the thermostat and text indicating a current state 604C2 indicating that the thermostat is in heating mode. Device 600 detects input 1250A (e.g., a tap) corresponding to a selection of thermostat accessory affordance 604C in home interface 602. In response to detecting input 1250A corresponding to a selection of thermostat accessory affordance 604C, device 600 displays thermostat accessory interface 1210C, as shown in FIG. 12B . In some embodiments, a long press detected on thermostat accessory affordance 604C also causes thermostat accessory interface 1210C to be displayed on device 600.

[0323] FIG. 12B illustrates thermostat control. FIG. 12...

Claims

1. 1. A method comprising: An electronic device comprising a display device and a communication device, Displaying a user interface on the display device including a first accessory affordance associated with a first controllable external device; Detecting a first input corresponding to a selection of the first accessory affordance; In response to detecting the first input, sending, via the communication device, a command to perform a first function to the first controllable external device in accordance with determining that a set of command sending criteria is satisfied; and displaying a first accessory interface on the display device in accordance with a determination that the set of command transmission criteria is not satisfied, the first accessory interface comprising: a first control affordance that, when selected, sends a command to the controllable external device to perform the first function; and a second control affordance that, when selected, sends a command to the first controllable external device to perform a second function that is different from the first function.

2. the first controllable external device is associated with the first function and the second function; 2. The method of claim 1, comprising: transmitting, via the communication device, a command to perform the first function to the first controllable external device without transmitting, via the communication device, a command to perform the second function to the first controllable external device in accordance with a determination that the set of command transmission criteria is satisfied.

3. 3. The method of claim 1, wherein the set of command sending criteria includes a first criterion that is met when the first function associated with the first controllable external device is a primary function of the first controllable external device.

4. the set of command transmission criteria includes a second criterion that is satisfied when the first function associated with the first controllable external device is associated with a first controllable component having a binary operational state of the first controllable external device; 4. The method according to claim 1, wherein the first function is to transition from a current operating state of the first controllable component of the first controllable external device to another operating state of the first controllable component of the first controllable external device.

5. Displaying the first accessory interface on the display device includes: displaying the first accessory interface at a first position where the first accessory interface is aligned with the boundary in accordance with a determination that a portion of the first accessory interface is displayed at a position beyond a boundary of the display device; 5. The method of claim 1, further comprising: displaying the first accessory interface at a second location based on a location of the first accessory affordance in accordance with a determination that the portion of the first accessory interface is not displayed at a location beyond a boundary of the display device.

6. the first accessory affordance includes a first graphical element and a first text element; the first accessory interface includes a second graphical element corresponding to the first graphical element and a second text element corresponding to the first text element; Displaying the first accessory interface includes: displaying an animation of the first graphical element visually transitioning to the second graphical element; and displaying an animation of the first character element visually transitioning to the second character element, the method further comprising: detecting, while displaying the first accessory interface, a second input corresponding to a request to stop displaying the first accessory interface; and ceasing display of the first accessory interface in response to detecting the second input, the ceasing further comprising: displaying an animation of the second graphical element visually transitioning to the first graphical element; and displaying an animation of the second character element visually transitioning to the first character element.

7. The first accessory affordance includes: In response to a determination that the first controllable external device is associated with a second controllable component, the second controllable component associated with the first function includes a graphical representation of the second controllable component; In response to a determination that the first controllable external device is associated with a third controllable component, the third controllable component associated with the second function includes a graphical representation of the third controllable component; 7. The method of claim 1, further comprising: displaying the graphical representation of the second controllable component and the graphical representation of the third controllable component in accordance with a determination that the first controllable external device is associated with the second controllable component and the third controllable component.

8. the first controllable external device is associated with the second controllable component and the third controllable component, the method comprising: Detecting a first set of one or more inputs while displaying the first accessory interface, the inputs including inputs corresponding to control reconfiguration affordances; and in response to detecting the first set of one or more inputs, displaying a second instance of the user interface, the second instance of the user interface comprising: a second accessory affordance associated with the second controllable component of the first controllable external device and not associated with the third controllable component of the first controllable external device; and and a third accessory affordance associated with the third controllable component of the first controllable external device and not associated with the second controllable component of the first controllable external device.

9. The first accessory affordance has a first appearance prior to detecting the first input, and the method further comprises:

9. The method of claim 1, further comprising: in response to detecting the first input and in conjunction with sending the command to the first controllable external device to perform the first function, updating the first accessory affordance to a second appearance based on the first function.

10. The method of claim 9 , wherein the second appearance includes an animation based on the first function.

11. the first accessory interface includes the first control affordance and the second control affordance, and displaying the first accessory interface includes: displaying the first control affordance and the second control affordance side-by-side in response to the first function and the second function satisfying a first set of layout criteria; 11. The method of claim 1, further comprising: in response to the first function and the second function satisfying a second set of layout criteria, displaying the first control affordance above the second control affordance in a vertical arrangement.

12. 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 comprising a display device and a communication device, the one or more programs including instructions for performing a method according to any one of claims 1 to 11.

13. A display device; A communication device; one or more processors; and a memory storing one or more programs configured to be executed by said one or more processors, said one or more programs including instructions for performing a method according to any one of claims 1 to 11.

14. A display device; A communication device; 12. An electronic device comprising: means for performing the method according to any one of claims 1 to 11.

15. 1. 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 and a communication device, the one or more programs comprising instructions: causing the display device to display a user interface including a first accessory affordance associated with a first controllable external device; detecting a first input corresponding to a selection of the first accessory affordance; In response to detecting the first input, causing, in response to a determination that a set of command transmission criteria is satisfied, to transmit, via the communication device, to the first controllable external device, a command to perform a first function; In response to a determination that the set of command transmission criteria is not satisfied, causing the display device to display a first accessory interface, the first accessory interface including: a first control affordance that, when selected, sends a command to the controllable external device to perform the first function; and a second control affordance that, when selected, sends a command to the controllable external device to perform a second function, the second function being different from the first function.

16. A display device; A communication device; one or more processors; a memory storing one or more programs configured to be executed by the one or more processors; the one or more programs comprising instructions: causing the display device to display a user interface including a first accessory affordance associated with a first controllable external device; detecting a first input corresponding to a selection of the first accessory affordance; In response to detecting the first input, causing, in response to a determination that a set of command transmission criteria is satisfied, to transmit, via the communication device, to the first controllable external device, a command to perform a first function; In response to a determination that the set of command transmission criteria is not satisfied, causing the display device to display a first accessory interface, the first accessory interface including: a first control affordance that, when selected, sends a command to the controllable external device to perform the first function; and a second control affordance that, when selected, sends a command to the controllable external device to perform a second function, different from the first function.

17. 1. An electronic device comprising: A display device; A communication device; means for displaying, on the display device, a user interface including a first accessory affordance associated with a first controllable external device; means for detecting a first input corresponding to a selection of the first accessory affordance; and means, In response to detecting the first input, sending, via the communication device, a command to perform a first function to the first controllable external device in accordance with determining that a set of command sending criteria is satisfied; displaying a first accessory interface on the display device in response to a determination that the set of command transmission criteria is not satisfied, the first accessory interface including: a first control affordance that, when selected, sends a command to the controllable external device to perform the first function; and and a second control affordance that, when selected, sends a command to the controllable external device to perform a second function, different from the first function.

18. 1. A method comprising: In an electronic device having a display device, Displaying a user interface on the display device including a first accessory affordance associated with a first controllable external device; Detecting a first input corresponding to a selection of the first accessory affordance; in response to detecting the first input, displaying, on the display device, a first region of the first accessory interface including a first control affordance that, when selected, controls a first function of the first controllable external device without displaying a second region of the first accessory interface; detecting a second input while displaying the first region of the first accessory interface on the display device; In response to detecting the second input, updating a display of the user interface to display the second region on top of the first accessory interface while ceasing to display the first region in accordance with a determination that the second input causes a portion of the second region to be displayed beyond a threshold amount, the second region including one or more settings for the first controllable external device; updating a display of the first accessory interface based on the second input to a second control affordance within the first region of the first accessory interface without displaying the second region of the first accessory interface in accordance with a determination that the second input does not cause a portion of the second region to be displayed more than the threshold amount.

19. detecting a third input while displaying the first accessory interface on the display device; in response to detecting the third input, ceasing display of the first accessory interface; and 20. The method of claim 18, further comprising: outputting haptic and audio feedback indicating that the first accessory interface is no longer displayed.

20. 20. The method of claim 18, further comprising outputting haptic and audio feedback in accordance with a determination that the second input causes a portion of the second region to be displayed beyond a threshold amount.

21. The first region of the first accessory interface comprises: according to a determination that the first controllable external device is associated with less than a predetermined number of sensors, a set of control affordances corresponding to the sensors of the first controllable device at a first location within the first region; 21. The method of claim 18, further comprising: including, in accordance with a determination that the first controllable external device is associated with the predetermined number or more sensors, the set of control affordances corresponding to the sensors of the first controllable device at a second location within the first area that is different from the first location.

22. The first region of the first accessory interface includes a second region affordance at a third location within the first region, and the method further comprises: Detecting a fourth input corresponding to the second area affordance; and 22. The method of claim 18, further comprising: in response to detecting the fourth input corresponding to the second region affordance, updating a display of the user interface to display the second region on top of the first accessory interface while ceasing to display the first region.

23. 23. The method of any one of claims 18 to 22, wherein the first accessory interface includes a first total number of control affordances, all of the first total number of control affordances being included in the first area, and none of the first total number of control affordances being included in the second area.

24. 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 a method according to any one of claims 18 to 23.

25. 1. An electronic device comprising: A display device; one or more processors; and a memory storing one or more programs configured to be executed by said one or more processors, said one or more programs including instructions for performing the method of any one of claims 18 to 23.

26. A display device; 24. An electronic device comprising: means for performing the method according to any one of claims 18 to 23.

27. 1. 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 instructions: causing the display device to display a user interface including a first accessory affordance associated with a first controllable external device; detecting a first input corresponding to a selection of the first accessory affordance; in response to detecting the first input, causing the display device to display a first region of the first accessory interface including a first control affordance that, when selected, controls a first function of the first controllable external device without displaying a second region of the first accessory interface; detecting a second input while causing the display device to display the first region of the first accessory interface; In response to detecting the second input, updating a display of the user interface to display the second region on top of the first accessory interface, the second region including one or more settings for the first controllable external device, while ceasing to display the first region in accordance with a determination that the second input causes a portion of the second region to be displayed beyond a threshold amount; A non-transitory computer-readable storage medium comprising instructions for updating a display of the first accessory interface based on the second input to a second control affordance within the first region of the first accessory interface without displaying the second region of the first accessory interface in accordance with a determination that the second input does not cause a portion of the second region to be displayed more than the threshold amount.

28. A display device; one or more processors; a memory storing one or more programs configured to be executed by the one or more processors; the one or more programs comprising instructions: causing the display device to display a user interface including a first accessory affordance associated with a first controllable external device; detecting a first input corresponding to a selection of the first accessory affordance; in response to detecting the first input, causing the display device to display a first region of the first accessory interface including a first control affordance that, when selected, controls a first function of the first controllable external device without displaying a second region of the first accessory interface; detecting a second input while causing the display device to display the first region of the first accessory interface; In response to detecting the second input, while ceasing to display the first region in accordance with a determination that the second input causes a portion of the second region to be displayed more than a threshold amount, update a display of the user interface to display the second region on top of the first accessory interface, the second region including one or more settings for the first controllable external device; an electronic device comprising: instructions for updating a display of the first accessory interface based on the second input to a second control affordance within the first region of the first accessory interface without causing the second region of the first accessory interface to be displayed in accordance with a determination that the second input does not cause a portion of the second region to be displayed more than the threshold amount.

29. 1. An electronic device comprising: A display device; means for displaying, on the display device, a user interface including a first accessory affordance associated with a first controllable external device; means for detecting a first input corresponding to a selection of the first accessory affordance; means for displaying, on the display device in response to detecting the first input, a first region of the first accessory interface including a first control affordance that, when selected, controls a first function of the first controllable external device without displaying a second region of the first accessory interface; means for detecting a second input while displaying the first region of the first accessory interface on the display device; In response to detecting the second input, means for updating a display of the user interface while ceasing to display the first region in accordance with a determination that the second input causes a portion of the second region to be displayed in excess of a threshold amount to display the second region on top of the first accessory interface, the second region including one or more settings for the first controllable external device; means for updating a display of the first accessory interface based on the second input to a second control affordance within the first region of the first accessory interface without displaying the second region of the first accessory interface in accordance with a determination that the second input does not cause a portion of the second region to be displayed more than the threshold amount.

30. 1. A method comprising: In an electronic device having a display device, detecting a first set of one or more inputs corresponding to a request to configure the electronic device to control a first controllable external device while the electronic device is not configured to control the first controllable external device; and in response to detecting the first set of one or more inputs, initiating a process for configuring the electronic device to control the first controllable external device, the process comprising: receiving information corresponding to the first controllable external device; According to a determination based on the received information that the first controllable external device is associated with a plurality of controllable functions associated with a plurality of sub-components of the first controllable external device, displaying on the display device a first accessory affordance corresponding to a group including the first controllable external device and the plurality of sub-components; displaying, on the display device, a second accessory affordance corresponding to the first controllable external device in accordance with a determination that the first controllable external device is not associated with the plurality of sub-components based on the received information; and detecting a second input while displaying the first accessory affordance or the second accessory affordance on the display device; In response to detecting the second input, In response to a determination that the second input corresponds to a selection of the first accessory affordance, displaying on the display device a first accessory interface including a plurality of control affordances corresponding to the first controllable external device and the plurality of sub-components, and a control reconfiguration affordance that, when selected, initiates a process for removing at least a first control affordance of the plurality of control affordances from the first accessory interface; and displaying, on the display device, a second accessory interface including control of the first controllable external device without displaying the control reconfiguration affordance in accordance with a determination that the second input corresponds to a selection of the second accessory affordance.

31. 31. The method of claim 30, wherein the first accessory interface includes a group control affordance that, when selected, sends a command to the first controllable external device that affects a state of each corresponding sub-component of the plurality of sub-components.

32. Detecting a third input corresponding to a selection of the first control affordance; and 32. The method of claim 31, further comprising: in response to detecting the third input, sending a command to the first controllable external device that affects a state of each corresponding sub-component of the plurality of sub-components.

33. The plurality of control affordances of the first accessory interface include a first control affordance associated with a first sub-component of the plurality of sub-components and a second control affordance associated with a second sub-component of the plurality of sub-components, and the method further comprises: detecting a fourth input corresponding to the first control affordance while displaying the first accessory interface; 33. The method of claim 30, further comprising: in response to detecting the fourth input, sending a command to the first controllable external device that affects a state of the first sub-component without sending a command to the first controllable external device that affects a state of the second sub-component.

34. The first accessory interface includes an accessory removal affordance, and the method further comprises: Detecting a fifth input corresponding to the accessory removal affordance; and and in response to detecting the fifth input corresponding to the accessory removal affordance, initiating a process for configuring the electronic device to no longer control the first controllable external device, the process comprising: pursuant to a determination that a set of alert criteria is satisfied, the set including criteria that are satisfied when the first controllable external device is a subcomponent device of a composite external device that includes at least one other subcomponent that the electronic device is currently configured to control, completing the process for configuring the electronic device to no longer control the first controllable external device also includes providing an indication that the process is configuring the electronic device to no longer control the at least one other subcomponent device; 34. The method of claim 30, further comprising: ceasing to provide an indication that, in response to a determination that the set of alert criteria is not met, completing a process for configuring the electronic device to no longer control the first controllable external device also involves configuring the electronic device to no longer control at least one other sub-component device.

35. The plurality of control affordances includes one or more control affordances corresponding to subcomponents of a first type and one or more control affordances corresponding to subcomponents of a second type, and the method includes: detecting a second set of one or more inputs while displaying the first accessory interface, the second set including inputs corresponding to the control reconfiguration affordance; in response to detecting the second set of one or more inputs; ceasing to display the first accessory interface and ceasing to display the first accessory affordance; displaying a third accessory affordance that, when selected, displays a third accessory interface including the one or more control affordances corresponding to subcomponents of the first type; and 35. The method of claim 30, further comprising: displaying a fourth accessory affordance that, when selected, displays a fourth accessory interface including the one or more control affordances corresponding to sub-components of the second type.

36. the third accessory interface includes a regroup affordance, and the method further comprises: detecting a third set of one or more inputs while displaying the third accessory interface, the third set including an input corresponding to the regroup affordance; in response to detecting the third set of one or more inputs; ceasing display of the third accessory affordance and the fourth accessory affordance; and 36. The method of claim 35, further comprising: redisplaying the first accessory affordance, the first accessory affordance being selected to display the first accessory interface including the plurality of control affordances.

37. 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 a method according to any one of claims 30 to 36.

38. 1. An electronic device comprising: A display device; one or more processors; and a memory storing one or more programs configured to be executed by said one or more processors, said one or more programs including instructions for performing a method according to any one of claims 30 to 36.

39. A display device; 37. An electronic device comprising: means for performing the method according to any one of claims 30 to 36.

40. 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 instructions detecting, while the electronic device is not configured to control a first controllable external device, a first set of one or more inputs corresponding to a request to configure the electronic device to control the first controllable external device; responsive to detecting the first set of one or more inputs, instructions for initiating a process for configuring the electronic device to control the first controllable external device, the process comprising: receiving information corresponding to the first controllable external device; According to a determination based on the received information that the first controllable external device is associated with a plurality of controllable functions associated with a plurality of sub-components of the first controllable external device, causing the display device to display a first accessory affordance corresponding to a group including the first controllable external device and the plurality of sub-components; and in accordance with a determination based on the received information that the first controllable external device is not associated with the plurality of sub-components, causing the display device to display a second accessory affordance corresponding to the first controllable external device; causing the display device to detect a second input while displaying the first accessory affordance or the second accessory affordance; In response to detecting the second input, In response to a determination that the second input corresponds to a selection of the first accessory affordance, causing the display device to display a first accessory interface including a plurality of control affordances corresponding to the first controllable external device and the plurality of sub-components, and a control reconfiguration affordance that, when selected, initiates a process for removing at least a first control affordance of the plurality of control affordances from the first accessory interface; In accordance with a determination that the second input corresponds to a selection of the second accessory affordance, causing the display device to display a second accessory interface including control of the first controllable external device without displaying the control reconfiguration affordance.

41. 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 comprising instructions: detecting, while the electronic device is not configured to control a first controllable external device, a first set of one or more inputs corresponding to a request to configure the electronic device to control the first controllable external device; and instructions for initiating a process for configuring the electronic device to control the first controllable external device in response to detecting the first set of one or more inputs, the process comprising: receiving information corresponding to the first controllable external device; According to a determination based on the received information that the first controllable external device is associated with a plurality of controllable functions associated with a plurality of sub-components of the first controllable external device, displaying on the display device a first accessory affordance corresponding to a group including the first controllable external device and the plurality of sub-components; displaying, on the display device, a second accessory affordance corresponding to the first controllable external device in accordance with a determination that the first controllable external device is not associated with the plurality of sub-components based on the received information; and detecting a second input while displaying the first accessory affordance or the second accessory affordance on the display device; In response to detecting the second input, In response to a determination that the second input corresponds to a selection of the first accessory affordance, displaying on the display device a first accessory interface including a plurality of control affordances corresponding to the first controllable external device and the plurality of sub-components, and a control reconfiguration affordance that, when selected, initiates a process for removing at least a first control affordance of the plurality of control affordances from the first accessory interface; and in accordance with a determination that the second input corresponds to a selection of the second accessory affordance, causing the display device to display a second accessory interface including control of the first controllable external device without displaying the control reconfiguration affordance.

42. 1. An electronic device comprising: A display device; means for detecting a first set of one or more inputs corresponding to a request to configure the electronic device to control a first controllable external device while the electronic device is not configured to control the first controllable external device; a means for initiating a process for configuring the electronic device to control the first controllable external device in response to detecting the first set of one or more inputs, the process comprising: receiving information corresponding to the first controllable external device; According to a determination based on the received information that the first controllable external device is associated with a plurality of controllable functions associated with a plurality of sub-components of the first controllable external device, displaying on the display device a first accessory affordance corresponding to a group including the first controllable external device and the plurality of sub-components; and displaying, on the display device, a second accessory affordance corresponding to the first controllable external device in accordance with a determination that the first controllable external device is not associated with the plurality of sub-components based on the received information; means for detecting a second input while displaying the first accessory affordance or the second accessory affordance on the display device; in response to detecting the second input, displaying, on the display device, a first accessory interface including a plurality of control affordances corresponding to the first controllable external device and the plurality of sub-components, and a control reconfiguration affordance that, when selected, initiates a process for removing at least a first control affordance of the plurality of control affordances from the first accessory interface in accordance with a determination that the second input corresponds to a selection of the first accessory affordance; and means for displaying, on the display device, a second accessory interface including control of the first controllable external device without displaying the control reconfiguration affordance in accordance with a determination that the second input corresponds to a selection of the second accessory affordance.

43. 1. A method comprising: In an electronic device having a display device, displaying, on the display device, a temperature mode creation user interface including a first set of temperature mode creation controls for an external thermostat device controllable by the electronic device; detecting a first set of one or more inputs while displaying the temperature mode creation user interface on the display device; in response to the first set of one or more inputs; selecting a temperature range including a minimum temperature and a maximum temperature different from the minimum temperature range; associating the temperature range with a first temperature mode; displaying, on the display device, a temperature scheduling user interface including a second set of controls for creating scheduled operations for the external thermostat device after associating the temperature range with a first temperature mode; detecting a second set of one or more inputs while displaying the temperature scheduling user interface on the display device; in response to detecting the second set of one or more inputs; A method comprising: selecting a first criterion for activation of a first scheduled operation; and associating the first temperature mode with the first scheduled operation.

44. 44. The method of claim 43, wherein the second set of one or more inputs includes an input corresponding to a selection of the first temperature mode from among a plurality of available temperature modes.

45. Selecting the temperature range comprises: displaying a graphical representation of the selected temperature range in the temperature mode creation user interface; displaying a first portion of the graphical representation in a first color corresponding to a first predetermined temperature range in accordance with a first portion of the selected temperature range being within the first predetermined temperature range; and displaying the first portion of the graphical representation in a second color, different from the first color, corresponding to the second predetermined temperature range in accordance with the first portion of the selected temperature range being within a second predetermined temperature range.

46. Selecting the temperature range comprises: Displaying a numerical indication of the minimum temperature, displaying the numerical representation of the minimum temperature in the first color in accordance with the minimum temperature being within the first predetermined temperature range; and displaying the numerical representation of the minimum temperature in the second color in accordance with the minimum temperature being within the second predetermined temperature range; Displaying a numerical indication of the maximum temperature, displaying the numerical representation of the maximum temperature in the first color in accordance with the maximum temperature being within the first predetermined temperature range; 46. ​​The method of claim 45, comprising: rendering the numerical representation of the maximum temperature in the second color according to the maximum temperature being within the second predetermined temperature range.

47. 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 a method according to any one of claims 43 to 46.

48. 1. An electronic device comprising: A display device; one or more processors; and a memory storing one or more programs configured to be executed by said one or more processors, said one or more programs including instructions for performing a method according to any one of claims 43 to 46.

49. A display device; 47. An electronic device comprising: means for performing the method according to any one of claims 43 to 46.

50. 1. 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 instructions: causing the display device to display a temperature mode creation user interface including a first set of temperature mode creation controls for an external thermostat device controllable by the electronic device; detecting a first set of one or more inputs while displaying the temperature mode creation user interface on the display device; in response to the first set of one or more inputs; Select a temperature range that includes a minimum temperature and a maximum temperature that are different from the minimum temperature range; Associating the temperature range with a first temperature mode; causing the display device to display a temperature scheduling user interface including a second set of controls for creating scheduled operations for the external thermostat device after associating the temperature range with a first temperature mode; detecting a second set of one or more inputs while displaying the temperature scheduling user interface on the display device; in response to detecting the second set of one or more inputs; selecting a first criterion for activation of a first scheduled action; 11. A non-transitory computer-readable storage medium comprising instructions that cause the first temperature mode to be associated with the first scheduled operation.

51. A display device; one or more processors; a memory storing one or more programs configured to be executed by the one or more processors; the one or more programs comprising instructions: causing the display device to display a temperature mode creation user interface including a first set of temperature mode creation controls for an external thermostat device controllable by the electronic device; detecting a first set of one or more inputs while displaying the temperature mode creation user interface on the display device; in response to the first set of one or more inputs; Selecting a temperature range that includes a minimum temperature and a maximum temperature that are different from the minimum temperature range; Associating the temperature range with a first temperature mode; causing the display device to display a temperature scheduling user interface including a second set of controls for creating scheduled operations for the external thermostat device after associating the temperature range with a first temperature mode; detecting a second set of one or more inputs while displaying the temperature scheduling user interface on the display device; in response to detecting the second set of one or more inputs; 11. An electronic device comprising: instructions for selecting a first criterion for activation of a first scheduled operation; and associating the first temperature mode with the first scheduled operation.

52. 1. An electronic device comprising: A display device; means for displaying, on the display device, a temperature mode creation user interface including a first set of temperature mode creation controls for an external thermostat device controllable by an electronic device; means for detecting a first set of one or more inputs while displaying the temperature mode creation user interface on the display device; in response to the first set of one or more inputs; Selecting a temperature range that includes a minimum temperature and a maximum temperature that are different from the minimum temperature range; means for associating said temperature range with a first temperature mode; means for displaying, on the display device after associating the temperature range with a first temperature mode, a temperature scheduling user interface including a second set of scheduled operation creation controls for the external thermostat device; means for detecting a second set of one or more inputs while displaying the temperature scheduling user interface on the display device; in response to detecting the second set of one or more inputs; Selecting a first criterion for activation of a first scheduled action; and means for associating the first temperature mode with the first scheduled operation.

53. 1. A method comprising: In an electronic device having a display device, displaying, via the display device, a first accessory affordance corresponding to a first controllable external device; Detecting one or more inputs for adding the first controllable external device to a first set of controllable external devices; in response to detecting the one or more inputs for adding the first controllable external device to the first set of controllable external devices; updating the first set of controllable external devices to include the first controllable external device; upon determining that the first controllable external device is of a first type, a second accessory affordance corresponding to the first controllable external device; and simultaneously displaying a configuration affordance that, when selected, initiates a process for configuring an audio setting of the first controllable external device; and and displaying, in accordance with a determination that the first controllable external device is not of the first type, the second accessory affordance corresponding to the first controllable external device without the configuration affordance, which, when selected, is for initiating the process for configuring audio settings of the first controllable external device.

54. Initiating the process for configuring an audio setting of the first controllable external device includes displaying an audio selection affordance, the method comprising: Detecting a selection of the audio selection affordance; and 54. The method of claim 53, further comprising: initiating a process for selecting the audio item of the first media type to be played on the first controllable external device, the process including displaying one or more options for navigating to an audio item of the first media type, in response to detecting a selection of the audio selection affordance.

55. Initiating the process for configuring an audio setting of the first controllable external device includes displaying an audio selection affordance, the method comprising: Detecting a selection of the audio selection affordance; and in response to detecting a selection of the audio selection affordance, via the display device, a first audio category option that, when selected, initiates a process for selecting audio items of a first media type; 54. The method of claim 53, further comprising simultaneously displaying a second audio category option that, when selected, initiates a process for selecting audio items of a second media type different from the first media type.

56. Initiating the process for configuring an audio setting of the first controllable external device includes displaying an audio selection affordance, the method comprising: detecting one or more user inputs for selecting an audio item to be played on the first controllable external device after detecting a selection of the audio selection affordance; via the display device after detecting one or more user inputs for selecting the audio item to be played on the first controllable external device; the audio selection affordance; and 56. A method according to any one of claims 53 to 55, further comprising simultaneously displaying a representation of the audio item selected for playback on the first controllable external device.

57. Initiating the process for configuring an audio setting of the first controllable external device includes displaying an audio selection affordance, the method comprising: detecting one or more user inputs for selecting an audio item to be played on the first controllable external device after detecting a selection of the audio selection affordance; via the display device after detecting one or more user inputs for selecting the audio item to be played on the first controllable external device; a repeat affordance that, when selected, configures whether the audio item being played on the first controllable external device is repeated; and 57. The method of any one of claims 53 to 56, further comprising simultaneously displaying a shuffle affordance that, when selected, configures the order in which the audio items are played on the first controllable external device.

58. 58. The method of any one of claims 53 to 57, wherein initiating the process for configuring audio settings of the first controllable external device includes displaying audio playback options pursuant to a determination that a first audio mode type has been selected.

59. detecting a selection of an audio mode while displaying the audio playback options; in response to detecting the selection of the audio mode; continuing to display the audio playback options in accordance with a determination that the first audio mode type is selected; and 60. The method of claim 58, further comprising ceasing display of the audio playback options in accordance with a determination that a second audio mode type different from the first audio mode type has been selected.

60. Detecting one or more inputs for adding a second controllable external device to the first set of controllable external devices; 60. The method of any one of claims 53 to 59, further comprising, in response to detecting the one or more inputs for adding the second controllable external device to the first set of controllable external devices, updating the first set of controllable external devices to include the second controllable external device.

61. detecting a user input for customizing a playback volume of an audio item selected for playback on the first controllable external device after initiating the process for configuring an audio setting of the first controllable external device; in response to detecting the user input for customizing the playback volume; displaying a single volume control for adjusting the playback volume of the audio item on the first controllable external device in accordance with a determination that the first set of controllable external devices includes a single controllable external device of the first type; 61. The method of claim 53, further comprising: displaying, in accordance with a determination that the first set of controllable external devices includes a plurality of controllable external devices of the first type, a plurality of volume controls for adjusting the playback volume of each of the audio items on each controllable external device.

62. 62. 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 comprising a display device and an audio input device, the one or more programs including instructions for performing a method according to any one of claims 53 to 61.

63. 1. An electronic device comprising: A display device; one or more processors; and a memory storing one or more programs configured to be executed by said one or more processors, said one or more programs including instructions for performing a method according to any one of claims 53 to 61.

64. A display device; 62. An electronic device comprising: means for performing the method according to any one of claims 53 to 61.

65. 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: displaying, via the display device, a first accessory affordance corresponding to a first controllable external device; detecting one or more inputs for adding the first controllable external device to a first set of controllable external devices; in response to detecting the one or more inputs for adding the first controllable external device to the first set of controllable external devices; updating the first set of controllable external devices to include the first controllable external device; upon determining that the first controllable external device is of a first type, a second accessory affordance corresponding to the first controllable external device; and and simultaneously displaying a configuration affordance that, when selected, initiates a process for configuring an audio setting of the first controllable external device; A non-transitory computer-readable storage medium comprising instructions for, in accordance with a determination that the first controllable external device is not of the first type, causing the second accessory affordance corresponding to the first controllable external device to be displayed without the configuration affordance that, when selected, initiates the process for configuring audio settings of the first controllable external device.

66. A display device; one or more processors; a memory storing one or more programs configured to be executed by the one or more processors; said one or more programs comprising: displaying, via the display device, a first accessory affordance corresponding to a first controllable external device; detecting one or more inputs for adding the first controllable external device to a first set of controllable external devices; in response to detecting the one or more inputs for adding the first controllable external device to the first set of controllable external devices; updating the first set of controllable external devices to include the first controllable external device; upon determining that the first controllable external device is of a first type, a second accessory affordance corresponding to the first controllable external device; and and simultaneously displaying a configuration affordance that, when selected, initiates a process for configuring an audio setting of the first controllable external device; an electronic device comprising instructions for displaying, in accordance with a determination that the first controllable external device is not of the first type, the second accessory affordance corresponding to the first controllable external device without the configuration affordance that, when selected, initiates the process for configuring audio settings of the first controllable external device.

67. 1. An electronic device comprising: A display device; means for displaying, via a display device, a first accessory affordance corresponding to a first controllable external device; means for detecting one or more inputs for adding the first controllable external device to a first set of controllable external devices; and means, in response to detecting the one or more inputs for adding the first controllable external device to the first set of controllable external devices; updating the first set of controllable external devices to include the first controllable external device; upon determining that the first controllable external device is of a first type, a second accessory affordance corresponding to the first controllable external device; and and simultaneously displaying a configuration affordance that, when selected, initiates a process for configuring an audio setting of the first controllable external device; and means for displaying, in accordance with a determination that the first controllable external device is not of the first type, the second accessory affordance corresponding to the first controllable external device without the configuration affordance that, when selected, initiates a process for configuring audio settings of the first controllable external device.

68. 1. A method comprising: In an electronic device having a display device, simultaneously displaying, via the display device, a set of one or more playback controls for performing playback functions on a media item and an alarm configuration affordance; Detecting a user input; In response to detecting the user input, in response to a determination that the detected user input corresponds to a selection of a playback control from the set of one or more playback controls, initiating a process for performing a playback function at a controllable external device based on the selected playback control; and replacing the simultaneous display of the set of one or more playback controls and the alarm configuration affordance with a set of time affordances for setting a time for a first alarm in accordance with a determination that the detected user input corresponds to a selection of the alarm configuration affordance.

69. in response to said determining that the detected user input corresponds to a selection of the alarm configuration affordance; simultaneously displaying a plurality of alarm sound options, including a first option and a second option, along with the set of time affordances for setting a time for the first alarm; detecting a second user input corresponding to one of the plurality of alarm sound options; in response to detecting the second user input corresponding to one of the plurality of alarm sound options; initiating a process for selecting a media item of a first media type for the first alarm in accordance with a determination that the second user input corresponds to a selection of the first option; 69. The method of claim 68, further comprising: initiating a process for selecting a media item of a second media type for the first alarm in accordance with a determination that the second user input corresponds to a selection of the second option.

70. 70. The method of claim 69, wherein initiating the process for selecting a media item of a first media type for the first alarm includes replacing the simultaneous display of the set of time affordances and the multiple alarm sound options with a display of a multiple selectable media items of the first media type.

71. 71. The method of any one of claims 69 to 70, wherein initiating the process for selecting a media item of a second media type for the first alarm includes replacing the simultaneous display of the set of time affordances and the plurality of alarm sound options with a display of one or more options for navigating to a media item of the second media type.

72. In accordance with a determination that the alarm configuration affordance is of a first type, the set of time affordances for setting a time of the first alarm initially includes a visual indication of a current time of the time of the first alarm; 72. The method of any one of claims 68-71, further comprising: pursuant to a determination that the alarm configuration affordance is of a second type different from the first type, the set of time affordances for setting a time of the first alarm initially includes a visual indication of the time at which the first alarm was previously set.

73. in response to said determining that the detected user input corresponds to a selection of the alarm configuration affordance; 73. The method of any one of claims 68 to 72, further comprising simultaneously displaying, together with the set of time affordances for setting a time of the first alarm, one or more volume options for setting a volume of the first alarm sounding on the controllable external device.

74. detecting a user input for customizing a volume of the first alarm while displaying the one or more volume options for setting the volume of an alarm sounding on the controllable external device; 74. The method of claim 73, further comprising, in response to detecting the user input for customizing the volume of the first alarm, displaying a volume control for adjusting a volume of the first alarm sounding on the controllable external device.

75. in response to said determining that the detected user input corresponds to a selection of the alarm configuration affordance; simultaneously displaying, together with the set of time affordances for setting a time for the first alarm, a snooze affordance for activating a snooze option on the controllable external device; Detecting a selection of the snooze affordance to activate the snooze option; detecting one or more user inputs for setting the first alarm on the controllable external device; 75. The method of any one of claims 68 to 74, further comprising initiating a process for configuring the controllable external device to temporarily disable the first alarm sounding on the controllable external device in response to detecting the one or more inputs for setting the first alarm on the controllable external device and in response to detecting an audio input that meets certain criteria in accordance with a determination that the snooze option is enabled.

76. 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 a method according to any one of claims 68 to 75.

77. 1. An electronic device comprising: A display device; one or more processors; and a memory storing one or more programs configured to be executed by said one or more processors, said one or more programs comprising instructions for performing a method according to any one of claims 68 to 75.

78. A display device; 76. An electronic device comprising: means for performing the method according to any one of claims 68 to 75.

79. 1. 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 instructions: simultaneously displaying, via the display device, a set of one or more playback controls for performing playback functions on a media item and an alarm configuration affordance; Detect user input, In response to detecting the user input, in response to a determination that the detected user input corresponds to a selection of a playback control from the set of one or more playback controls, initiate a process for performing a playback function on a controllable external device based on the selected playback control; a first alarm configured to receive a first set of playback controls from the first playback control and a second alarm configured to receive a second ...

80. A display device; one or more processors; a memory storing one or more programs configured to be executed by the one or more processors; said one or more programs comprising: simultaneously displaying, via the display device, a set of one or more playback controls for performing playback functions on a media item and an alarm configuration affordance; Detect user input, In response to detecting the user input, in response to a determination that the detected user input corresponds to a selection of a playback control from the set of one or more playback controls, initiate a process for performing a playback function on a controllable external device based on the selected playback control; and instructions for causing the simultaneous display of the set of one or more playback controls and the alarm configuration affordance to be replaced with a set of time affordances for setting a time for a first alarm in accordance with a determination that the detected user input corresponds to a selection of the alarm configuration affordance.

81. 1. An electronic device comprising: A display device; means for simultaneously displaying, via a display device, a set of one or more playback controls for performing playback functions on the media item and an alarm configuration affordance; means for detecting a user input; In response to detecting the user input, in response to a determination that the detected user input corresponds to a selection of a playback control from the set of one or more playback controls, initiate a process for performing a playback function on a controllable external device based on the selected playback control; and means for replacing the set of one or more playback controls and the simultaneous display of the alarm configuration affordance with a set of time affordances for setting a time for a first alarm in accordance with a determination that the detected user input corresponds to a selection of the alarm configuration affordance.

82. 1. A method comprising: In an electronic device having a display device, receiving a request to play an audio media item of a first type, the request identifying an audio media item of the first type and not an individual audio media item of the first type; in response to receiving the request to play the first type of audio media item; playing a first one of the first type of audio media items; 11. A method comprising: displaying an affordance that, when selected, plays a second audio media item of the first type of audio media items, the second audio media item of the first type being different from the first audio media item of the first type.

83. 83. The method of claim 82, further comprising: simultaneously playing the first one of the audio media items of the first type, displaying a graphical object identifying the first audio media item.

84. receiving, after playing the first audio media item of the first type, a second playback request for the first type of audio media item, the second request identifying the first type of audio media item and not an individual audio media item of the first type; in response to receiving the second request to play the first type of audio media item; playing a third one of the first type of audio media items; and pursuant to a determination that a first set of criteria is satisfied, including a criterion that is satisfied when fewer than a first predetermined number of requests for playback of a first type of audio media items that do not identify individual audio media items of the first type are received, displaying a second affordance that, when selected, plays a fourth audio media item of the first type of audio media items, where the fourth audio media item of the first type of audio media items is distinct from the third audio media item of the first type; 84. The method of any one of claims 82 to 83, further comprising: withdrawing display of the second affordance in accordance with a determination that the first set of criteria is not met.

85. receiving a third request to play the audio media item of the first type after receiving a second predetermined number of requests to play the audio media item of the first type that do not identify individual audio media items of the first type, the third request identifying the audio media item of the first type and not individual audio media items of the first type; In response to receiving the third request, 85. The method of claim 82, further comprising: playing a fifth one of the first type of audio media items selected before receiving the third request.

86. 86. The method of any one of claims 82 to 85, wherein the first type of audio media items are audio media items that do not contain instrumental or vocal audio elements.

87. 87. The method of any one of claims 82 to 86, wherein the first type of audio media item is an audio media item that includes a plurality of randomly selected and sequenced segments of audio.

88. the electronic device includes a microphone; 88. The method of any one of claims 82 to 87, wherein the request to play an audio media item of the first type is an audio input detected via the microphone.

89. the electronic device includes a touch-sensitive surface; 88. The method of any one of claims 82 to 87, wherein the request for playback of the first type of audio media item is a set of one or more inputs detected via a touch-sensitive surface.

90. 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 a method according to any one of claims 82 to 89.

91. 1. An electronic device comprising: A display device; one or more processors; and a memory storing one or more programs configured to be executed by said one or more processors, said one or more programs including instructions for performing a method according to any one of claims 82 to 89.

92. A display device; 90. An electronic device comprising: means for performing the method of any one of claims 82 to 89.

93. 1. 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 instructions: receiving a request to play an audio media item of a first type, the request identifying the audio media item of the first type and not an individual audio media item of the first type; in response to receiving the request to play the first type of audio media item; playing a first one of the first type of audio media items; A display non-transitory computer-readable storage medium comprising instructions for displaying an affordance that, when selected, plays a second audio media item of the first type of audio media items, the second audio media item of the first type being different from the first audio media item of the first type of audio media items.

94. A display device; one or more processors; a memory storing one or more programs configured to be executed by the one or more processors; 11. An electronic device comprising: one or more programs, instructions for causing a request to be received for playback of an audio media item of a first type, the request identifying an audio media item of the first type and not an individual audio media item of the first type; in response to receiving the request to play the first type of audio media item; playing a first one of the first type of audio media items; An electronic device comprising: instructions for displaying an affordance that, when selected, plays a second audio media item of the first type of audio media items, the second audio media item of the first type being different from the first audio media item of the first type of audio media items.

95. A display device; 1. An electronic device comprising: means for receiving a request to play an audio media item of a first type, the request identifying an audio media item of the first type and not an individual audio media item of the first type; in response to receiving the request to play the first type of audio media item; playing a first one of the first type of audio media items; and means for displaying an affordance that, when selected, plays a second one of the audio media items of the first type, the second one of the audio media items of the first type being different from the first one of the audio media items of the first type.

Citation Information

Patent Citations

  • Air conditioner system and method of controlling an air conditioner system

    US20150051739A1

  • Programmable smart thermostat

    US20160209058A1