User interfaces for viewing live video feeds and recorded video
A video media user interface with a scrubber bar and intuitive controls addresses inefficiencies in existing video viewing methods, enhancing user experience and conserving power in battery-operated devices.
Patent Information
- Application Number
- JP2025072170
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2019-05-05
- Filing Date
- 2025-04-24
- Publication Date
- 2025-08-20
AI Technical Summary
Existing techniques for viewing live and recorded video on electronic devices are cumbersome and inefficient, often requiring multiple key presses or keystrokes, wasting user time and device energy, particularly in battery-operated devices.
Implementing a video media user interface with a scrubber bar that allows for efficient switching between live and recorded video feeds and includes intuitive user inputs for controlling external devices, reducing cognitive burden and conserving power.
The solution provides faster, more efficient video viewing and device operation, reducing user interaction complexity and extending battery life in battery-operated devices.
Smart Images

Figure 2025121938000001_ABST
Abstract
Description
[Technical Field]
[0001] (CROSS-REFERENCE TO RELATED APPLICATIONS) This application claims priority to U.S. patent application Ser. No. 62 / 668,090, filed May 7, 2018, entitled "USER INTERFACES FOR VIEWING LIVE VIDEO FEEDS AND RECORDED VIDEO," and U.S. patent application Ser. No. 62 / 843,512, filed May 5, 2019, entitled "USER INTERFACES FOR VIEWING LIVE VIDEO FEEDS AND RECORDED VIDEO," each of which is incorporated herein by reference in its entirety for all purposes.
[0002] This application is also related to U.S. Patent Application Publication No. 15 / 427,516, entitled "USER INTERFACE FOR MANAGING CONTROLLABLE EXTERNAL DEVICES," published as U.S. Patent Application Publication No. 2017 / 0357434, the contents of which are incorporated herein by reference in their entirety.
[0003] FIELD OF THE DISCLOSURE This disclosure relates generally to computer user interfaces, and more particularly to techniques for displaying live video feeds and recorded video. [Background technology]
[0004] Video cameras capture media content that can be displayed live or recorded for viewing at a later time. A user may have multiple video cameras that capture media content in various locations. Summary of the Invention
[0005] However, some techniques for viewing live video feeds and recorded video using electronic devices are generally cumbersome and inefficient. For example, some existing techniques use complex and time-consuming user interfaces that may involve multiple key presses or keystrokes. Existing techniques take more time than necessary, wasting the user's time and the device's energy. The latter problem is particularly acute in battery-operated devices.
[0006] The present technology thus provides electronic devices with faster, more efficient methods and interfaces for displaying live and recorded video. Such methods and interfaces, optionally, complement or replace other methods for displaying live and recorded video. 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.
[0007] According to some embodiments, a method is described that includes: displaying, on an electronic device with a display, a video media user interface, the video media user interface including a live video feed from a first source and a scrubber bar, the scrubber bar including a representation of a recorded clip of video from the first source, the representation located at a first position within the scrubber bar; detecting a first user input while displaying the video media user interface; in response to detecting the first user input, replacing the live video feed with a representation of the recorded clip of video; and updating the scrubber bar to indicate that the representation of the recorded clip of video corresponds to the representation of the recorded clip of video in the scrubber bar.
[0008] 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 having a display, the one or more programs including instructions for: displaying a video media user interface including a live video feed from a first source and a scrubber bar, the scrubber bar including a representation of a recorded clip of video from the first source, the representation located at a first position within the scrubber bar; detecting a first user input while displaying the video media user interface; in response to detecting the first user input, replacing the live video feed with a representation of the recorded clip of video; and updating the scrubber bar to indicate that the representation of the recorded clip of video corresponds to the representation of the recorded clip of video in the scrubber bar.
[0009] 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 having a display, the one or more programs including instructions for: displaying a video media user interface including a live video feed from a first source and a scrubber bar, the scrubber bar including a representation of a recorded clip of video from the first source, the representation located at a first position within the scrubber bar; detecting a first user input while displaying the video media user interface; in response to detecting the first user input, replacing the live video feed with a representation of the recorded clip of video; and updating the scrubber bar to indicate that the representation of the recorded clip of video corresponds to the representation of the recorded clip of video in the scrubber bar.
[0010] According to some embodiments, an electronic device is described that includes a display, one or more processors, and 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: displaying a video media user interface that includes a live video feed from a first source and a scrubber bar that includes a representation of a recorded clip of video from the first source, the representation located at a first position within the scrubber bar; detecting a first user input while displaying the video media user interface; in response to detecting the first user input, replacing the live video feed with a representation of the recorded clip of video; and updating the scrubber bar to indicate that the representation of the recorded clip of video corresponds to the representation of the recorded clip of video in the scrubber bar.
[0011] According to some embodiments, an electronic device is described comprising: a display; means for displaying a video media user interface, the video media user interface including a live video feed from a first source and a scrubber bar, the scrubber bar including a representation of a recorded clip of video from the first source, the representation located at a first position within the scrubber bar; means for detecting a first user input while displaying the video media user interface; and means for, in response to detecting the first user input, replacing the live video feed with a representation of the recorded clip of video and updating the scrubber bar to indicate that the representation of the recorded clip of video corresponds to the representation of the recorded clip of video in the scrubber bar.
[0012] According to some embodiments, a method is described that includes: displaying, on an electronic device having a display, a first user interface, the first user interface including a representation of video data from a source of video data and a first affordance for accessing control of at least one controllable external device associated with the source of video data; detecting, while displaying the first user interface, a first user input corresponding to a selection of the first affordance; displaying a second user interface in response to detecting the first user input, the displaying the second user interface including displaying at least a second affordance representing a first controllable external device of the at least one controllable external device associated with the source of video data; detecting a selection of the second affordance representing the first controllable external device; and initiating a process to control the first controllable external device in response to detecting the selection of the second affordance representing the first controllable external device.
[0013] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display, the one or more programs including instructions for: displaying a first user interface, the first user interface including a representation of video data from a source of video data and a first affordance for accessing control of at least one controllable external device associated with the source of video data; detecting a first user input corresponding to a selection of the first affordance while displaying the first user interface; displaying a second user interface in response to detecting the first user input, the displaying the second user interface including displaying at least a second affordance representing the first controllable external device of the at least one controllable external device associated with the source of video data; detecting a selection of the second affordance representing the first controllable external device; and initiating a process for controlling the first controllable external device in response to detecting the selection of the second affordance representing the first controllable external device.
[0014] According to some embodiments, a temporary computer-readable storage medium is described. The 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, the one or more programs including instructions for: displaying a first user interface, the first user interface including a representation of video data from a source of video data and a first affordance for accessing control of at least one controllable external device associated with the source of video data; detecting a first user input corresponding to a selection of the first affordance while displaying the first user interface; displaying a second user interface in response to detecting the first user input, the displaying the second user interface including displaying at least a second affordance representing the first controllable external device of the at least one controllable external device associated with the source of video data; detecting a selection of the second affordance representing the first controllable external device; and initiating a process for controlling the first controllable external device in response to detecting the selection of the second affordance representing the first controllable external device.
[0015] According to some embodiments, an electronic device is described comprising: a display; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: displaying a first user interface, the first user interface including a representation of video data from a source of video data and a first affordance for accessing control of at least one controllable external device associated with the source of video data; detecting a first user input corresponding to a selection of the first affordance while displaying the first user interface; displaying a second user interface in response to detecting the first user input, the displaying the second user interface including displaying at least a second affordance representing the first controllable external device of the at least one controllable external device associated with the source of video data; detecting a selection of the second affordance representing the first controllable external device; and initiating a process for controlling the first controllable external device in response to detecting the selection of the second affordance representing the first controllable external device.
[0016] According to some embodiments, an electronic device is described comprising: a display; means for displaying a first user interface, the first user interface including a representation of video data from a source of video data and a first affordance for accessing control of at least one controllable external device associated with the source of video data; means for detecting a first user input corresponding to a selection of the first affordance while displaying the first user interface; means for displaying a second user interface in response to detecting the first user input, the displaying the second user interface including displaying at least a second affordance representing a first controllable external device of the at least one controllable external device associated with the source of video data; means for detecting a selection of the second affordance representing the first controllable external device; and means for initiating a process for controlling the first controllable external device in response to detecting the selection of the second affordance representing the first controllable external device.
[0017] According to some embodiments, a method is described. The method includes displaying a user interface on an electronic device having a display at a first time, the user interface including a first live video feed from a first source at a first location in the user interface, a second live video feed from a second source at a second location in the user interface, and a scrubber bar including a representation of recorded video content from at least one of the first source or the second source; detecting a user input while displaying the user interface; and in response to detecting the user input, replacing the first live video feed with a first image associated with the first source at the first location in the user interface, the first image being associated with data from the first source at a second time prior to the first time; replacing the second live video feed with a second image associated with the second source at the second location in the user interface, the second image being associated with data from the second source at the second time; and updating the scrubber bar to show a portion of the representation of the recorded video content corresponding to the second time.
[0018] 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 having a display, the one or more programs including: displaying, at a first time, a user interface including a first live video feed from a first source at a first location in the user interface, a second live video feed from a second source at a second location in the user interface, and a scrubber bar including a representation of recorded video content from at least one of the first source or the second source; and detecting a user input while displaying the user interface. and in response to detecting the user input, replacing the first live video feed with a first image associated with a first source at a first location in the user interface, the first image being associated with data from the first source at a second time prior to the first time; replacing the second live video feed with a second image associated with a second source at a second location in the user interface, the second image being associated with data from the second source at the second time; and updating the scrubber bar to show a portion of a representation of the recorded video content corresponding to the second time.
[0019] 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 having a display, the one or more programs including: displaying, at a first time, a user interface including a first live video feed from a first source at a first location in the user interface, a second live video feed from a second source at a second location in the user interface, and a scrubber bar including a representation of recorded video content from at least one of the first source or the second source; and detecting user input while displaying the user interface. and in response to detecting the user input, replacing the first live video feed with a first image associated with a first source at a first location in the user interface, the first image being associated with data from the first source at a second time prior to the first time; replacing the second live video feed with a second image associated with a second source at a second location in the user interface, the second image being associated with data from the second source at the second time; and updating the scrubber bar to show a portion of a representation of the recorded video content corresponding to the second time.
[0020] According to some embodiments, an electronic device is described, the electronic device comprising: a display; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs being configured to: display, at a first time, a user interface including a first live video feed from a first source at a first location in the user interface, a second live video feed from a second source at a second location in the user interface, and a scrubber bar including a representation of recorded video content from at least one of the first source or the second source; and detect user input while displaying the user interface. and in response to detecting the user input, replacing the first live video feed with a first image associated with a first source at a first location in the user interface, the first time being associated with data from the first source at a second time prior to the first time; replacing the second live video feed with a second image associated with a second source at a second location in the user interface, the second image being associated with data from the second source at the second time; and updating the scrubber bar to show a portion of a representation of the recorded video content corresponding to the second time.
[0021] According to some embodiments, an electronic device is described that includes a display; means for displaying a user interface at a first time, the user interface including a first live video feed from a first source at a first location in the user interface, a second live video feed from a second source at a second location in the user interface, and a scrubber bar including a representation of recorded video content from at least one of the first source or the second source; means for detecting user input while displaying the user interface; and means for, in response to detecting the user input, scrubbing the first live video feed from a first source at a first location in the user interface; means for replacing a first image associated with a first source at a first location in the user interface, the first time being associated with data from the first source at a second time prior to the first time; replacing a second live video feed with a second image associated with a second source at a second location in the user interface, the second image being associated with data from the second source at the second time; and updating a scrubber bar to show a portion of a representation of the recorded video content corresponding to the second time.
[0022] According to some embodiments, a method is described, in an electronic device having a display, comprising: displaying a user interface, the user interface including a first plurality of affordances associated with a first context, the first plurality of affordances corresponding to respective available operational modes of a first controllable external device in the first context, and a second plurality of affordances associated with a second context, the second plurality of affordances corresponding to respective available operational modes of the first controllable external device in the second context; and detecting, while displaying the first user interface, a first user input on the display at a location corresponding to a first affordance in the first plurality of affordances, the first affordance being selected by the first affordance. The method includes detecting a first user input corresponding to a first operating mode of each available operating mode of the first controllable external device in a first context; detecting a second user input at a location on the display corresponding to a second affordance within a second plurality of affordances, the second affordance corresponding to a second operating mode of each available operating mode of the first controllable external device in the second context; and after detecting the first user input and the second user input, transmitting an instruction to set a configuration profile of the first controllable external device according to the first operating mode for the first context and the second operating mode for the second context based on the first user input and the second user input.
[0023] 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, the one or more programs displaying a user interface, the user interface including a first plurality of affordances associated with a first context, the first plurality of affordances corresponding to respective available operational modes of a first controllable external device in the first context, and a second plurality of affordances associated with a second context, the second plurality of affordances corresponding to respective available operational modes of the first controllable external device in the second context; and displaying, while displaying the first user interface, a first affordance in the first plurality of affordances on the display corresponding to a first affordance in the first plurality of affordances. the first affordance corresponds to a first operating mode of each available operating mode of the first controllable external device in the first context; detect a second user input on the display at a location corresponding to a second affordance within a second plurality of affordances, the second affordance corresponding to a second operating mode of each available operating mode of the first controllable external device in the second context; and, after detecting the first user input and the second user input, transmit instructions to set a configuration profile of the first controllable external device according to the first operating mode for the first context and the second operating mode for the second context based on the first user input and the second user input.
[0024] 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, the one or more programs displaying a user interface, the user interface including a first plurality of affordances associated with a first context, the first plurality of affordances corresponding to each available operational mode of a first controllable external device in the first context, and a second plurality of affordances associated with a second context, the second plurality of affordances corresponding to each available operational mode of the first controllable external device in the second context; and displaying, while displaying the first user interface, a first affordance in the first plurality of affordances on the display corresponding to a first affordance in the first plurality of affordances. The display device includes instructions for: detecting a first user input at a location, the first affordance corresponding to a first operating mode of each available operating mode of the first controllable external device in a first context; detecting a second user input at a location on the display corresponding to a second affordance within a second plurality of affordances, the second affordance corresponding to a second operating mode of each available operating mode of the first controllable external device in the second context; and, after detecting the first user input and the second user input, transmitting instructions to set a configuration profile of the first controllable external device according to the first operating mode for the first context and the second operating mode for the second context based on the first user input and the second user input.
[0025] According to some embodiments, an electronic device is described, the electronic device comprising: a display; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs being for displaying a user interface, the user interface including a first plurality of affordances associated with a first context, the first plurality of affordances corresponding to respective available operational modes of a first controllable external device in the first context, and a second plurality of affordances associated with a second context, the second plurality of affordances corresponding to respective available operational modes of the first controllable external device in the second context; and, while displaying the first user interface, displaying a first affordance corresponding to a first affordance in the first plurality of affordances on the display. detect a first user input at a location on the display corresponding to a second affordance within a second plurality of affordances, the second affordance corresponding to a second operating mode of the respective available operating modes of the first controllable external device in the second context; and, after detecting the first user input and the second user input, transmit instructions to set a configuration profile of the first controllable external device according to the first operating mode for the first context and the second operating mode for the second context based on the first user input and the second user input.
[0026] According to some embodiments, an electronic device is described that includes a display and means for displaying a user interface, the user interface including a first plurality of affordances associated with a first context, the first plurality of affordances corresponding to respective available operational modes of a first controllable external device in the first context, and a second plurality of affordances associated with a second context, the second plurality of affordances corresponding to respective available operational modes of the first controllable external device in the second context; and detecting, while displaying the first user interface, a first user input at a location on the display that corresponds to a first affordance in the first plurality of affordances, the first affordance being a first and detecting a second user input at a location on the display corresponding to a second affordance within a second plurality of affordances, the second affordance corresponding to a second operating mode of the respective available operating modes of the first controllable external device in the second context; and means for, after detecting the first user input and the second user input, transmitting an instruction to set a configuration profile of the first controllable external device in accordance with the first operating mode for the first context and the second operating mode for the second context based on the first user input and the second user input.
[0027] According to some embodiments, a method is described in an electronic device having a display, the method including: receiving data identifying a source of video data; after receiving the data identifying the source of video data, displaying a first user interface including a menu for selecting an operational state of the source of video data, the operational state being associated with a context; detecting a first user input corresponding to a selection of the operational state associated with the context; displaying a second user interface including a menu for selecting a duration for storing video data from the source of video data; detecting a second user input corresponding to a selection of the duration for storing video data from the source of video data; and transmitting instructions to set a configuration profile of the source of video data according to the selected operational state and the selected duration in accordance with the first user input and the second user input.
[0028] 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 having a display, the one or more programs including instructions for receiving data identifying a source of video data, and after receiving the data identifying the source of video data, displaying a first user interface including a menu for selecting an operational state of the source of video data, the operational state being associated with a context, detecting a first user input corresponding to a selection of the operational state associated with the context, displaying a second user interface including a menu for selecting a duration for storing video data from the source of video data, detecting a second user input corresponding to a selection of the duration for storing video data from the source of video data, and transmitting instructions for setting a configuration profile of the source of video data according to the selected operational state and the selected duration in accordance with the first user input and the second user input.
[0029] 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 having a display, the one or more programs including instructions for receiving data identifying a source of video data, and after receiving the data identifying the source of video data, displaying a first user interface including a menu for selecting an operational state of the source of video data, the operational state being associated with a context, detecting a first user input corresponding to a selection of the operational state associated with the context, displaying a second user interface including a menu for selecting a duration for storing video data from the source of video data, detecting a second user input corresponding to a selection of the duration for storing video data from the source of video data, and transmitting instructions for setting a configuration profile of the source of video data according to the selected operational state and the selected duration in accordance with the first user input and the second user input.
[0030] According to some embodiments, an electronic device is described comprising: a display; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for receiving data identifying a source of video data; after receiving the data identifying the source of video data, displaying a first user interface including a menu for selecting an operational state of the source of video data, the operational state being associated with a context; detecting a first user input corresponding to a selection of the operational state associated with the context; displaying a second user interface including a menu for selecting a duration for storing video data from the source of video data; detecting a second user input corresponding to a selection of the duration for storing video data from the source of video data; and transmitting instructions for setting a configuration profile of the source of video data according to the selected operational state and the selected duration in accordance with the first user input and the second user input.
[0031] According to some embodiments, an electronic device is described comprising: a display; means for receiving data identifying a source of video data; means for, after receiving the data identifying the source of video data, displaying a first user interface including a menu for selecting an operational state of the source of video data, the operational state being associated with a context; detecting a first user input corresponding to a selection of the operational state associated with the context; displaying a second user interface including a menu for selecting a duration for storing video data from the source of video data; and detecting a second user input corresponding to a selection of the duration for storing video data from the source of video data; and means for transmitting, in accordance with the first user input and the second user input, an instruction to set a configuration profile of the source of video data according to the selected operational state and the selected duration.
[0032] According to some embodiments, a method is described that includes: displaying, on an electronic device having a display, a user interface associated with a source of video data, the user interface including a first affordance representing a status of a storage resource, the first affordance including a first representation of data stored by the storage resource corresponding to the source of video data and a second representation of data stored by the storage resource not corresponding to the source of video data, and a second affordance for deleting data associated with the source of video data from the storage resource; detecting user input on the display while displaying the user interface; and in response to the user input, initiating a process to delete data that does not correspond to the source of video data from the storage resource in accordance with the first user input corresponding to selection of the first affordance, and initiating a process to delete data corresponding to the source of video data from the storage resource in accordance with the first user input corresponding to selection of the second affordance.
[0033] 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, the one or more programs including instructions for: displaying a user interface associated with a source of video data, the user interface including a first affordance representing a status of a storage resource, the first affordance including a first representation of data stored by the storage resource corresponding to the source of video data and a second representation of data stored by the storage resource not corresponding to the source of video data, and a second affordance for deleting data associated with the source of video data from the storage resource; detecting user input on the display while displaying the user interface; and in response to the user input, initiating a process for deleting data that does not correspond to the source of video data from the storage resource in accordance with the first user input corresponding to selection of the first affordance; and initiating a process for deleting data corresponding to the source of video data from the storage resource in accordance with the first user input corresponding to selection of the second affordance.
[0034] 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, the one or more programs including instructions for: displaying a user interface associated with a source of video data, the user interface including a first affordance representing a status of a storage resource, the first affordance including a first representation of data stored by the storage resource corresponding to the source of video data and a second representation of data stored by the storage resource not corresponding to the source of video data, and a second affordance for deleting data associated with the source of video data from the storage resource; detecting user input on the display while displaying the user interface; and in response to the user input, initiating a process for deleting data that does not correspond to the source of video data from the storage resource in accordance with the first user input corresponding to selection of the first affordance; and initiating a process for deleting data corresponding to the source of video data from the storage resource in accordance with the first user input corresponding to selection of the second affordance.
[0035] According to some embodiments, an electronic device is described comprising: a display; one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: displaying a user interface associated with a source of video data, the user interface including a first affordance representing a status of a storage resource, the first affordance including a first representation of data stored by the storage resource corresponding to the source of video data and a second representation of data stored by the storage resource not corresponding to the source of video data, and a second affordance for deleting data associated with the source of video data from the storage resource; detecting user input on the display while displaying the user interface; and in response to the user input, initiating a process for deleting data that does not correspond to the source of video data from the storage resource in accordance with the first user input corresponding to selection of the first affordance; and initiating a process for deleting data corresponding to the source of video data from the storage resource in accordance with the first user input corresponding to selection of the second affordance.
[0036] According to some embodiments, an electronic device is described comprising: a display; means for displaying a user interface associated with a source of video data, the user interface including a first affordance representing a status of a storage resource, the first affordance including a first representation of data stored by the storage resource corresponding to the source of video data and a second representation of data stored by the storage resource not corresponding to the source of video data, and a second affordance for deleting data associated with the source of video data from the storage resource; means for detecting user input on the display while displaying the user interface; and means for, in response to the user input, initiating a process for deleting data that does not correspond to the source of video data from the storage resource in accordance with the first user input corresponding to selection of the first affordance, and initiating a process for deleting data corresponding to the source of video data from the storage resource in accordance with the first user input corresponding to selection of the second affordance.
[0037] According to some embodiments, a method is described in an electronic device having a display, the method including: receiving data identifying a source of video data; after receiving the data identifying the source of video data, displaying a first user interface including a menu for selecting an operational state of the source of video data; detecting a first input corresponding to a selection of the operational state while displaying the menu for selecting the operational state of the source of video data; in response to detecting the first input, displaying an option affordance in accordance with a determination that the selected operational state includes a record state; detecting activation of the option affordance; in response to detecting activation of the option affordance, displaying a plurality of motion detection affordances, the plurality of motion detection affordances including a first motion detection affordance corresponding to a first motion detection condition and a second motion detection affordance corresponding to a second motion detection condition different from the first motion detection condition; detecting a second input corresponding to a selection of the first motion detection condition; and, following detecting the second input, transmitting information for setting a configuration profile of the source of video data according to the selected operational state and the selected first motion detection condition.
[0038] 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 having a display, the one or more programs receiving data identifying a source of video data, displaying a first user interface including a menu for selecting an operational state of the source of video data after receiving the data identifying the source of video data, detecting a first input corresponding to the selection of the operational state while displaying the menu for selecting the operational state of the source of video data, and displaying an option affordance in response to detecting the first input and in accordance with a determination that the selected operational state includes a record state; The system includes instructions for detecting activation of an option affordance; and, in response to detecting the activation of the option affordance, displaying a plurality of motion detection affordances, the plurality of motion detection affordances including a first motion detection affordance corresponding to a first motion detection condition and a second motion detection affordance corresponding to a second motion detection condition different from the first motion detection condition; detecting a second input corresponding to a selection of the first motion detection condition; and, following detecting the second input, transmitting information to set a configuration profile of a source of video data according to the selected operating state and the selected first motion detection condition.
[0039] 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 having a display, the one or more programs including: receiving data identifying a source of video data; after receiving the data identifying the source of video data, displaying a first user interface including a menu for selecting an operational state of the source of video data; detecting a first input corresponding to a selection of the operational state while displaying the menu for selecting the operational state of the source of video data; and, in response to detecting the first input, displaying an option affordance in accordance with a determination that the selected operational state includes a recording state. The video input device includes instructions for: detecting activation of an option affordance; and, in response to detecting the activation of the option affordance, displaying a plurality of motion detection affordances, the plurality of motion detection affordances including a first motion detection affordance corresponding to the first motion detection condition and a second motion detection affordance corresponding to a second motion detection condition different from the first motion detection condition; detecting a second input corresponding to selection of the first motion detection condition; and, following detecting the second input, transmitting information that sets a configuration profile of a source of video data according to the selected operating state and the selected first motion detection condition.
[0040] According to some embodiments, an electronic device is described that includes a display, 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 receiving data identifying a source of video data, displaying a first user interface including a menu for selecting an operational state of the source of video data after receiving the data identifying the source of video data, detecting a first input corresponding to a selection of the operational state while displaying the menu for selecting the operational state of the source of video data, and displaying an option affordance in response to detecting the first input and in accordance with a determination that the selected operational state includes a record state. The video input device includes instructions for: detecting activation of an option affordance; and, in response to detecting the activation of the option affordance, displaying a plurality of motion detection affordances, the plurality of motion detection affordances including a first motion detection affordance corresponding to a first motion detection condition and a second motion detection affordance corresponding to a second motion detection condition different from the first motion detection condition; detecting a second input corresponding to selection of the first motion detection condition; and, following detecting the second input, transmitting information to set a configuration profile of a source of video data according to the selected operating state and the selected first motion detection condition.
[0041] According to some embodiments, an electronic device is described. The electronic device comprises a display; means for receiving data identifying a source of video data; means for displaying a first user interface including a menu for selecting an operational state of the source of video data after receiving the data identifying the source of video data; means for detecting a first input corresponding to a selection of the operational state while displaying the menu for selecting the operational state of the source of video data; means for, in response to detecting the first input, displaying an option affordance in accordance with a determination that the selected operational state includes a recording state; means for detecting activation of the option affordance; means for displaying a plurality of motion detection affordances in response to detecting the activation of the option affordance, the plurality of motion detection affordances including a first motion detection affordance corresponding to a first motion detection condition and a second motion detection affordance corresponding to a second motion detection condition different from the first motion detection condition; means for detecting a second input corresponding to a selection of the first motion detection condition; and means for transmitting information for setting a configuration profile of the source of video data according to the selected operational state and the selected first motion detection condition following detecting the second input.
[0042] According to some embodiments, a method is described in an electronic device having a display, the method including: receiving data identifying a source of video data; detecting activation of a notification setting affordance after receiving the data identifying the source of video data, the notification setting affordance being for enabling notifications by the source of video data regardless of an operational state of the video data source; displaying a plurality of motion detection affordances in response to detecting activation of the notification setting affordance, the plurality of motion detection affordances including a first motion detection affordance corresponding to a first motion detection condition and a second motion detection affordance corresponding to a second motion detection condition different from the first motion detection condition; detecting a first input corresponding to selection of the first motion detection condition; and, following detecting the first input, transmitting information to update a notification setting of a configuration profile of the source of video data according to the first motion detection condition without transmitting information to update the motion detection condition associated with the operational state of the configuration profile of the source of video data.
[0043] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display, the one or more programs including instructions for receiving data identifying a source of video data; detecting activation of a notification setting affordance after receiving the data identifying the source of video data, where the notification setting affordance is for enabling notifications by the source of video data regardless of an operational state of the source of video data; and displaying a plurality of motion detection affordances in response to detecting the activation of the notification setting affordance, the plurality of motion detection affordances including a first motion detection affordance corresponding to a first motion detection condition and a second motion detection affordance corresponding to a second motion detection condition different from the first motion detection condition; detecting a first input corresponding to a selection of the first motion detection condition; and, following detecting the first input, transmitting information to update a notification setting of a configuration profile of the source of video data in accordance with the first motion detection condition without transmitting information to update the motion detection condition associated with the operational state of the configuration profile of the source of video data.
[0044] According to some embodiments, a temporary computer-readable storage medium is described. The 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, the one or more programs including instructions for receiving data identifying a source of video data; detecting activation of a notification setting affordance after receiving the data identifying the source of video data, where the notification setting affordance is for enabling notifications by the source of video data regardless of an operational state of the source of video data; and displaying a plurality of motion detection affordances in response to detecting the activation of the notification setting affordance, where the plurality of motion detection affordances include a first motion detection affordance corresponding to a first motion detection condition and a second motion detection affordance corresponding to a second motion detection condition different from the first motion detection condition; detecting a first input corresponding to a selection of the first motion detection condition; and, following detecting the first input, transmitting information to update a notification setting of a configuration profile of the source of video data in accordance with the first motion detection condition without transmitting information to update the motion detection condition associated with the operational state of the configuration profile of the source of video data.
[0045] According to some embodiments, an electronic device is described. The electronic device comprises a display, one or more processors, and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for receiving data identifying a source of video data; detecting activation of a notification setting affordance after receiving the data identifying the source of video data, where the notification setting affordance is for enabling notifications by the source of video data regardless of an operational state of the source of video data; and displaying a plurality of motion detection affordances in response to detecting the activation of the notification setting affordance, the plurality of motion detection affordances including a first motion detection affordance corresponding to a first motion detection condition and a second motion detection affordance corresponding to a second motion detection condition different from the first motion detection condition; detecting a first input corresponding to a selection of the first motion detection condition; and, following detecting the first input, transmitting information to update a notification setting of a configuration profile of the source of video data in accordance with the first motion detection condition without transmitting information to update the motion detection condition associated with the operational state of the configuration profile of the source of video data.
[0046] According to some embodiments, an electronic device is described comprising: a display; means for receiving data identifying a source of video data; means for detecting activation of a notification setting affordance after receiving the data identifying the source of video data, the notification setting affordance being for enabling notifications by the source of video data regardless of an operational state of the source of video data; means for displaying, in response to detecting activation of the notification setting affordance, a plurality of motion detection affordances including a first motion detection affordance corresponding to a first motion detection condition and a second motion detection affordance corresponding to a second motion detection condition different from the first motion detection condition; means for detecting a first input corresponding to a selection of the first motion detection condition; and means for transmitting, following detecting the first input, information to update a notification setting of a configuration profile of the source of video data according to the first motion detection condition without transmitting information to update the motion detection condition associated with the operational state of the configuration profile of the source of video data.
[0047] According to some embodiments, a method is described in an electronic device having a display device, including: receiving data identifying a source of video data; and, in response to receiving the data identifying the source of the video data, displaying, on the display device, a first notification setting affordance without displaying a second notification setting affordance in accordance with a determination that the source of the video data is a source of a first type of video data, the first notification setting affordance enabling notifications of the first type for the source of the video data; and, in accordance with a determination that the source of the video data is a source of a second type of video data, displaying, on the display device, a first notification setting affordance without displaying a second notification setting affordance. and a second notification setting affordance that enables a second type of notification for the source of video data; detecting a first input; and, in accordance with a determination that the first input corresponds to activation of the first notification setting affordance, transmitting information that sets a configuration profile for the source of video data in accordance with the first notification setting affordance so that the first type of notification is enabled; and, in accordance with a determination that the first input corresponds to activation of the second notification setting affordance, transmitting information that sets a configuration profile for the source of video data in accordance with the second notification setting affordance so that the second type of notification is enabled.
[0048] 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 having a display, the one or more programs receiving data identifying a source of video data; and, in response to receiving the data identifying the source of the video data, displaying, on the display device, a first notification setting affordance without displaying a second notification setting affordance in accordance with a determination that the source of the video data is a source of a first type of video data, the first notification setting affordance enabling a notification of the first type for the source of the video data; and, in accordance with a determination that the source of the video data is a source of a second type of video data, displaying, on the display device, a first notification setting affordance without displaying a second notification setting affordance. The system includes instructions for simultaneously displaying, on a display device, a first notification setting affordance and a second notification setting affordance, the second notification setting affordance enabling a second type of notification for a source of video data; detecting a first input; and, in accordance with a determination that the first input corresponds to activation of the first notification setting affordance, transmitting information that sets a configuration profile for the source of video data in accordance with the first notification setting affordance so that the first type of notification is enabled; and, in accordance with a determination that the first input corresponds to activation of the second notification setting affordance, transmitting information that sets the configuration profile for the source of video data in accordance with the second notification setting affordance so that the second type of notification is enabled.
[0049] 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 having a display, the one or more programs receiving data identifying a source of video data; and, in response to receiving the data identifying the source of the video data, displaying on the display device a first notification setting affordance without displaying a second notification setting affordance in accordance with a determination that the source of the video data is a source of a first type of video data, the first notification setting affordance enabling a notification of the first type for the source of the video data; and, in accordance with a determination that the source of the video data is a source of a second type of video data, displaying a first notification setting affordance without displaying a second notification setting affordance in accordance with a determination that the source of the video data is a source of a second type of video data. The system includes instructions for simultaneously displaying, on a display device, a first notification setting affordance and a second notification setting affordance, the second notification setting affordance enabling a second type of notification for a source of video data; detecting a first input; and, in accordance with a determination that the first input corresponds to activation of the first notification setting affordance, transmitting information that sets a configuration profile for the source of video data in accordance with the first notification setting affordance so that the first type of notification is enabled; and, in accordance with a determination that the first input corresponds to activation of the second notification setting affordance, transmitting information that sets the configuration profile for the source of video data in accordance with the second notification setting affordance so that the second type of notification is enabled.
[0050] According to some embodiments, an electronic device is described that includes a display, 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 receiving data identifying a source of video data, and in response to receiving the data identifying the source of the video data, displaying on the display device a first notification setting affordance without displaying a second notification setting affordance in accordance with a determination that the source of the video data is a source of a first type of video data, the first notification setting affordance enabling notifications of the first type for the source of the video data, and in accordance with a determination that the source of the video data is a source of a second type of video data. the first notification setting affordance to activate a second type of notification for the source of video data; and the second notification setting affordance to activate a second type of notification for the source of video data. The method includes instructions for simultaneously displaying, on the display device, a first notification setting affordance and a second notification setting affordance, the second notification setting affordance enabling a second type of notification for the source of video data; detecting a first input; and, in accordance with a determination that the first input corresponds to activation of the first notification setting affordance, transmitting information that sets a configuration profile for the source of video data in accordance with the first notification setting affordance so that the first type of notification is enabled; and, in accordance with a determination that the first input corresponds to activation of the second notification setting affordance, transmitting information that sets the configuration profile for the source of video data in accordance with the second notification setting affordance so that the second type of notification is enabled.
[0051] According to some embodiments, an electronic device is described that includes a display; means for receiving data identifying a source of video data; and means for, in response to receiving the data identifying the source of the video data, displaying on the display device a first notification setting affordance without displaying a second notification setting affordance in accordance with a determination that the source of the video data is a source of a first type of video data, the first notification setting affordance enabling a notification of the first type for the source of the video data; and means for, in response to receiving the data identifying the source of the video data, displaying on the display device a first notification setting affordance without displaying a second notification setting affordance in accordance with a determination that the source of the video data is a source of a second type of video data, the first notification setting affordance and a second notification setting affordance enabling a notification of the first type for the source of the video data. The device comprises: means for simultaneously displaying two notification setting affordances, the first notification setting affordance enabling a second type of notification for the source of video data; means for detecting a first input; means for, in accordance with a determination that the first input corresponds to activation of the first notification setting affordance, transmitting information for setting a configuration profile for the source of video data in accordance with the first notification setting affordance so that the first type of notification is enabled; and means for, in accordance with a determination that the first input corresponds to activation of the second notification setting affordance, transmitting information for setting a configuration profile for the source of video data in accordance with the second notification setting affordance so that the second type of notification is enabled.
[0052] 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 video media user interface including simultaneously displaying a video feed from a source of video data and a scrubber bar; receiving first data including a first representation of a first recorded clip of video and first trigger information for the first recorded clip of video; and, in response to determining that the first trigger information indicates that recording of the first recorded clip of video was triggered by a first type of condition, displaying a video media user interface on the display device. and, pursuant to determining that the first trigger information indicates that recording of the first recorded clip of video was triggered by a second type of condition different from the first type of condition, simultaneously displaying, on the display device within the scrubber bar, a second indication corresponding to the second type of condition, different from the first indication, and the first representation of the first recorded clip of video.
[0053] 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 having a display, the one or more programs including: displaying, on the display device, a video media user interface, the video media user interface including simultaneously displaying a video feed from a source of video data and a scrubber bar; receiving first data including a first representation of a first recorded clip of video and first trigger information for the first recorded clip of video; and receiving information indicating that recording of the first recorded clip of video was triggered by a first type of condition. and, in accordance with a determination that the first trigger information indicates that recording of the first recorded clip of video was triggered by a second type of condition, different from the first type of condition, simultaneously displaying on the display device within the scrubber bar a first indication corresponding to the first type of condition and a first representation of the first recorded clip of video.
[0054] 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 having a display, the one or more programs including: displaying, on the display device, a video media user interface, the video media user interface including simultaneously displaying a video feed from a source of video data and a scrubber bar; receiving first data including a first representation of a first recorded clip of video and first trigger information for the first recorded clip of video; and receiving information indicating that recording of the first recorded clip of video was triggered by a first type of condition. and, in accordance with a determination that the first trigger information indicates that recording of the first recorded clip of video was triggered by a second type of condition, different from the first type of condition, simultaneously displaying on the display device within the scrubber bar a first indication corresponding to the first type of condition and a first representation of the first recorded clip of video.
[0055] According to some embodiments, an electronic device is described that includes a display, 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 being configured to: display, on the display device, a video media user interface, the video media user interface including simultaneously displaying a video feed from a source of video data and a scrubber bar; receive first data including a first representation of a first recorded clip of video and first trigger information for the first recorded clip of video; and trigger a recording of the first recorded clip of video when the recording of the first recorded clip of video is triggered by a first type of condition. and, in response to a determination that the first trigger information indicates that recording of the first recorded clip of video was triggered by a second type of condition, different from the first type of condition, simultaneously displaying on the display device in a scrubber bar a first indication corresponding to the first type of condition and a first representation of the first recorded clip of video.
[0056] According to some embodiments, an electronic device is described. The electronic device comprises a display; means for displaying a video media user interface on the display device, the video media user interface including simultaneously displaying a video feed from a source of video data and a scrubber bar; means for receiving first data including a first representation of a first recorded clip of video and first trigger information for the first recorded clip of video; means for, in accordance with a determination that the first trigger information indicates that recording of the first recorded clip of video was triggered by a first type of condition, simultaneously displaying, on the display device within the scrubber bar, a first indication corresponding to the first type of condition and the first representation of the first recorded clip of video; and means for, in accordance with a determination that the first trigger information indicates that recording of the first recorded clip of video was triggered by a second type of condition different from the first type of condition, simultaneously displaying, on the display device within the scrubber bar, a second indication corresponding to a second type of condition, different from the first indication, and the first representation of the first recorded clip of video.
[0057] 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.
[0058] Thus, devices are provided that increase the effectiveness, efficiency, and user satisfaction with such devices by having faster, more efficient methods and interfaces for displaying live video feeds and recorded video, which methods and interfaces can complement or replace other methods for displaying live video feeds and recorded video.
[0059] 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: [Brief explanation of the drawings]
[0060] [Figure 1A] FIG. 1 is a block diagram illustrating a portable multifunction device having a touch-sensitive display in accordance with some embodiments. [Figure 1B] FIG. 1 is a block diagram illustrating exemplary components for event processing according to some embodiments. [Figure 2] 1 illustrates a portable multifunction device with a touch screen according to some embodiments. [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. [Figure 4A] 1 illustrates an exemplary user interface for a menu of applications on a portable multifunction device in accordance with some embodiments. [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. [Figure 5A] 1 illustrates a personal electronic device according to some embodiments. [Figure 5B] FIG. 1 is a block diagram illustrating a personal electronic device according to some embodiments. [Figure 5C]1 illustrates example components of a personal electronic device having a touch-sensitive display and intensity sensor according to some embodiments. [Figure 5D] 1 illustrates example components of a personal electronic device having a touch-sensitive display and intensity sensor according to some embodiments. [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. [Figure 6A] 1 illustrates an exemplary user interface for viewing live video feeds and recorded video, according to some embodiments. [Figure 6B] 1 illustrates an exemplary user interface for viewing live video feeds and recorded video, according to some embodiments. [Figure 6C] 1 illustrates an exemplary user interface for viewing live video feeds and recorded video, according to some embodiments. [Figure 6D] 1 illustrates an exemplary user interface for viewing live video feeds and recorded video, according to some embodiments. [Figure 6E] 1 illustrates an exemplary user interface for viewing live video feeds and recorded video, according to some embodiments. [Figure 6F] 1 illustrates an exemplary user interface for viewing live video feeds and recorded video, according to some embodiments. [Figure 6G]1 illustrates an exemplary user interface for viewing live video feeds and recorded video, according to some embodiments. [Figure 6H] 1 illustrates an exemplary user interface for viewing live video feeds and recorded video, according to some embodiments. [Figure 6I] 1 illustrates an exemplary user interface for viewing live video feeds and recorded video, according to some embodiments. [Figure 6J] 1 illustrates an exemplary user interface for viewing live video feeds and recorded video, according to some embodiments. [Figure 6K] 1 illustrates an exemplary user interface for viewing live video feeds and recorded video, according to some embodiments. [Figure 6L] 1 illustrates an exemplary user interface for viewing live video feeds and recorded video, according to some embodiments. [Figure 6M] 1 illustrates an exemplary user interface for viewing live video feeds and recorded video, according to some embodiments. [Figure 6N] 1 illustrates an exemplary user interface for viewing live video feeds and recorded video, according to some embodiments. [Figure 6O] 1 illustrates an exemplary user interface for viewing live video feeds and recorded video, according to some embodiments. [Figure 6P] 1 illustrates an exemplary user interface for viewing live video feeds and recorded video, according to some embodiments. [Figure 6Q] 1 illustrates an exemplary user interface for viewing live video feeds and recorded video, according to some embodiments. [Figure 6R] 1 illustrates an exemplary user interface for viewing live video feeds and recorded video, according to some embodiments. [Figure 6S]1 illustrates an exemplary user interface for viewing live video feeds and recorded video, according to some embodiments. [Figure 7A] FIG. 1 is a flow diagram illustrating a method for displaying a live video feed and recorded video, according to some embodiments. [Figure 7B] FIG. 1 is a flow diagram illustrating a method for displaying a live video feed and recorded video, according to some embodiments. [Figure 7C] FIG. 1 is a flow diagram illustrating a method for displaying a live video feed and recorded video, according to some embodiments. [Figure 8A] 1 illustrates an exemplary user interface for displaying video from a video source and controlling external devices associated with the source, according to some embodiments. [Figure 8B] 1 illustrates an exemplary user interface for displaying video from a video source and controlling external devices associated with the source, according to some embodiments. [Figure 8C] 1 illustrates an exemplary user interface for displaying video from a video source and controlling external devices associated with the source, according to some embodiments. [Figure 8D] 1 illustrates an exemplary user interface for displaying video from a video source and controlling external devices associated with the source, according to some embodiments. [Figure 8E] 1 illustrates an exemplary user interface for displaying video from a video source and controlling external devices associated with the source, according to some embodiments. [Figure 8F] 1 illustrates an exemplary user interface for displaying video from a video source and controlling external devices associated with the source, according to some embodiments. [Figure 8G] 1 illustrates an exemplary user interface for displaying video from a video source and controlling external devices associated with the source, according to some embodiments. [Figure 8H]1 illustrates an exemplary user interface for displaying video from a video source and controlling external devices associated with the source, according to some embodiments. [Figure 8I] 1 illustrates an exemplary user interface for displaying video from a video source and controlling external devices associated with the source, according to some embodiments. [Figure 8J] 1 illustrates an exemplary user interface for displaying video from a video source and controlling external devices associated with the source, according to some embodiments. [Figure 9] FIG. 1 is a flow diagram illustrating a method for displaying video from a video source and controlling an external device associated with the source, according to some embodiments. [Figure 10A] 1 illustrates an exemplary user interface for displaying and navigating video from multiple sources of video data, according to some embodiments. [Figure 10B] 1 illustrates an exemplary user interface for displaying and navigating video from multiple sources of video data, according to some embodiments. [Figure 10C] 1 illustrates an exemplary user interface for displaying and navigating video from multiple sources of video data, according to some embodiments. [Figure 10D] 1 illustrates an exemplary user interface for displaying and navigating video from multiple sources of video data, according to some embodiments. [Figure 10E] 1 illustrates an exemplary user interface for displaying and navigating video from multiple sources of video data, according to some embodiments. [Figure 10F] 1 illustrates an exemplary user interface for displaying and navigating video from multiple sources of video data, according to some embodiments. [Figure 10G] 1 illustrates an exemplary user interface for displaying and navigating video from multiple sources of video data, according to some embodiments. [Figure 10H] 1 illustrates an exemplary user interface for displaying and navigating video from multiple sources of video data, according to some embodiments. [Figure 10I] 1 illustrates an exemplary user interface for displaying and navigating video from multiple sources of video data, according to some embodiments. [Figure 10J] 1 illustrates an exemplary user interface for displaying and navigating video from multiple sources of video data, according to some embodiments. [Figure 11A] FIG. 1 is a flow diagram illustrating a method for displaying and navigating video from multiple sources of video data according to some embodiments. [Figure 11B] FIG. 1 is a flow diagram illustrating a method for displaying and navigating video from multiple sources of video data according to some embodiments. [Figure 11C] FIG. 1 is a flow diagram illustrating a method for displaying and navigating video from multiple sources of video data according to some embodiments. [Figure 12A] 1 illustrates an exemplary user interface for configuring sources of video data for different contexts, according to some embodiments. [Figure 12B] 1 illustrates an exemplary user interface for configuring sources of video data for different contexts, according to some embodiments. [Figure 12C] 1 illustrates an exemplary user interface for configuring sources of video data for different contexts, according to some embodiments. [Figure 12D] 1 illustrates an exemplary user interface for configuring sources of video data for different contexts, according to some embodiments. [Figure 12E] 1 illustrates an exemplary user interface for configuring sources of video data for different contexts, according to some embodiments. [Figure 12F]1 illustrates an exemplary user interface for configuring sources of video data for different contexts, according to some embodiments. [Figure 12G] 1 illustrates an exemplary user interface for configuring sources of video data for different contexts, according to some embodiments. [Figure 12H] 1 illustrates an exemplary user interface for configuring sources of video data for different contexts, according to some embodiments. [Figure 12I] 1 illustrates an exemplary user interface for configuring sources of video data for different contexts, according to some embodiments. [Figure 12J] 1 illustrates an exemplary user interface for configuring sources of video data for different contexts, according to some embodiments. [Figure 12K] 1 illustrates an exemplary user interface for configuring sources of video data for different contexts, according to some embodiments. [Figure 12L] 1 illustrates an exemplary user interface for configuring sources of video data for different contexts, according to some embodiments. [Figure 12M] 1 illustrates an exemplary user interface for configuring sources of video data for different contexts, according to some embodiments. [Figure 12N] 1 illustrates an exemplary user interface for configuring sources of video data for different contexts, according to some embodiments. [Figure 12O] 1 illustrates an exemplary user interface for configuring sources of video data for different contexts, according to some embodiments. [Figure 12P] 1 illustrates an exemplary user interface for configuring sources of video data for different contexts, according to some embodiments. [Figure 12Q]1 illustrates an exemplary user interface for configuring sources of video data for different contexts, according to some embodiments. [Figure 12R] 1 illustrates an exemplary user interface for configuring sources of video data for different contexts, according to some embodiments. [Figure 12S] 1 illustrates an exemplary user interface for configuring sources of video data for different contexts, according to some embodiments. [Figure 12T] 1 illustrates an exemplary user interface for configuring sources of video data for different contexts, according to some embodiments. [Figure 13] FIG. 1 is a flow diagram illustrating a method for configuring sources of video data for different contexts according to some embodiments. [Figure 14A] 1 illustrates an exemplary user interface for configuring a source of video data, according to some embodiments. [Figure 14B] 1 illustrates an exemplary user interface for configuring a source of video data, according to some embodiments. [Figure 14C] 1 illustrates an exemplary user interface for configuring a source of video data, according to some embodiments. [Figure 14D] 1 illustrates an exemplary user interface for configuring a source of video data, according to some embodiments. [Figure 14E] 1 illustrates an exemplary user interface for configuring a source of video data, according to some embodiments. [Figure 14F] 1 illustrates an exemplary user interface for configuring a source of video data, according to some embodiments. [Figure 14G] 1 illustrates an exemplary user interface for configuring a source of video data, according to some embodiments. [Figure 14H]1 illustrates an exemplary user interface for configuring a source of video data, according to some embodiments. [Figure 14I] 1 illustrates an exemplary user interface for configuring a source of video data, according to some embodiments. [Figure 14J] 1 illustrates an exemplary user interface for configuring a source of video data, according to some embodiments. [Figure 14K] 1 illustrates an exemplary user interface for configuring a source of video data, according to some embodiments. [Figure 14L] 1 illustrates an exemplary user interface for configuring a source of video data, according to some embodiments. [Figure 14M] 1 illustrates an exemplary user interface for configuring a source of video data, according to some embodiments. [Figure 14N] 1 illustrates an exemplary user interface for configuring a source of video data, according to some embodiments. [Figure 14O] 1 illustrates an exemplary user interface for configuring a source of video data, according to some embodiments. [Figure 14P] 1 illustrates an exemplary user interface for configuring a source of video data, according to some embodiments. [Figure 14Q] 1 illustrates an exemplary user interface for configuring a source of video data, according to some embodiments. [Figure 14R] 1 illustrates an exemplary user interface for configuring a source of video data, according to some embodiments. [Figure 14S] 1 illustrates an exemplary user interface for configuring a source of video data, according to some embodiments. [Figure 14T] 1 illustrates an exemplary user interface for configuring a source of video data, according to some embodiments. [Figure 14U]1 illustrates an exemplary user interface for configuring a source of video data, according to some embodiments. [Figure 14V] 1 illustrates an exemplary user interface for configuring a source of video data, according to some embodiments. [Figure 14W] 1 illustrates an exemplary user interface for configuring a source of video data, according to some embodiments. [Figure 15A] FIG. 1 is a flow diagram illustrating a method for configuring a source of video data according to some embodiments. [Figure 15B] FIG. 1 is a flow diagram illustrating a method for configuring a source of video data according to some embodiments. [Figure 16A] 1 illustrates an exemplary user interface for managing storage resources, according to some embodiments. [Figure 16B] 1 illustrates an exemplary user interface for managing storage resources, according to some embodiments. [Figure 16C] 1 illustrates an exemplary user interface for managing storage resources, according to some embodiments. [Figure 16D] 1 illustrates an exemplary user interface for managing storage resources, according to some embodiments. [Figure 16E] 1 illustrates an exemplary user interface for managing storage resources, according to some embodiments. [Figure 16F] 1 illustrates an exemplary user interface for managing storage resources, according to some embodiments. [Figure 16G] 1 illustrates an exemplary user interface for managing storage resources, according to some embodiments. [Figure 16H] 1 illustrates an exemplary user interface for managing storage resources, according to some embodiments. [Figure 16I] 1 illustrates an exemplary user interface for managing storage resources, according to some embodiments. [Figure 17]FIG. 1 is a flow diagram illustrating a method for managing storage resources, according to some embodiments. [Figure 18A] 1 illustrates an exemplary user interface for setting status and notification settings, according to some embodiments. [Figure 18B] 1 illustrates an exemplary user interface for setting status and notification settings, according to some embodiments. [Figure 18C] 1 illustrates an exemplary user interface for setting status and notification settings, according to some embodiments. [Figure 18D] 1 illustrates an exemplary user interface for setting status and notification settings, according to some embodiments. [Figure 19A] 1 illustrates an exemplary user interface for displaying video from a video source and controlling external devices associated with the source, according to some embodiments. [Figure 19B] 1 illustrates an exemplary user interface for displaying video from a video source and controlling external devices associated with the source, according to some embodiments. [Figure 19C] 1 illustrates an exemplary user interface for displaying video from a video source and controlling external devices associated with the source, according to some embodiments. [Figure 19D] 1 illustrates an exemplary user interface for displaying video from a video source and controlling external devices associated with the source, according to some embodiments. [Figure 20A] 1 illustrates an exemplary user interface for configuring recording settings, according to some embodiments. [Figure 20B] 1 illustrates an exemplary user interface for configuring recording settings, according to some embodiments. [Figure 20C] 1 illustrates an exemplary user interface for configuring recording settings, according to some embodiments. [Figure 20D] 1 illustrates an exemplary user interface for configuring recording settings, according to some embodiments. [Figure 20E] 1 illustrates an exemplary user interface for configuring recording settings, according to some embodiments. [Figure 20F] 1 illustrates an exemplary user interface for configuring recording settings, according to some embodiments. [Figure 20G] 1 illustrates an exemplary user interface for configuring recording settings, according to some embodiments. [Figure 20H] 1 illustrates an exemplary user interface for configuring recording settings, according to some embodiments. [Figure 20I] 1 illustrates an exemplary user interface for configuring recording settings, according to some embodiments. [Figure 20J] 1 illustrates an exemplary user interface for configuring recording settings, according to some embodiments. [Figure 20K] 1 illustrates an exemplary user interface for configuring recording settings, according to some embodiments. [Figure 20L] 1 illustrates an exemplary user interface for configuring recording settings, according to some embodiments. [Figure 20M] 1 illustrates an exemplary user interface for configuring recording settings, according to some embodiments. [Figure 20N] 1 illustrates an exemplary user interface for configuring recording settings, according to some embodiments. [Figure 20O] 1 illustrates an exemplary user interface for configuring recording settings, according to some embodiments. [Figure 20P] 1 illustrates an exemplary user interface for configuring recording settings, according to some embodiments. [Figure 20Q] 1 illustrates an exemplary user interface for configuring recording settings, according to some embodiments. [Figure 20R] 1 illustrates an exemplary user interface for configuring recording settings, according to some embodiments. [Figure 20S]1 illustrates an exemplary user interface for configuring recording settings, according to some embodiments. [Figure 20T] 1 illustrates an exemplary user interface for configuring recording settings, according to some embodiments. [Figure 20U] 1 illustrates an exemplary user interface for configuring recording settings, according to some embodiments. [Figure 20V] 1 illustrates an exemplary user interface for configuring recording settings, according to some embodiments. [Figure 20W] 1 illustrates an exemplary user interface for configuring recording settings, according to some embodiments. [Figure 20X] 1 illustrates an exemplary user interface for configuring recording settings, according to some embodiments. [Figure 21A] FIG. 1 is a flow diagram illustrating a method for configuring recording settings, according to some embodiments. [Figure 21B] FIG. 1 is a flow diagram illustrating a method for configuring recording settings, according to some embodiments. [Figure 21C] FIG. 1 is a flow diagram illustrating a method for configuring recording settings, according to some embodiments. [Figure 22A] 1 illustrates an exemplary user interface for configuring notification settings, according to some embodiments. [Figure 22B] 1 illustrates an exemplary user interface for configuring notification settings, according to some embodiments. [Figure 22C] 1 illustrates an exemplary user interface for configuring notification settings, according to some embodiments. [Figure 22D] 1 illustrates an exemplary user interface for configuring notification settings, according to some embodiments. [Figure 22E] 1 illustrates an exemplary user interface for configuring notification settings, according to some embodiments. [Figure 22F] 1 illustrates an exemplary user interface for configuring notification settings, according to some embodiments. [Figure 22G] 1 illustrates an exemplary user interface for configuring notification settings, according to some embodiments. [Figure 22H] 1 illustrates an exemplary user interface for configuring notification settings, according to some embodiments. [Figure 23A] FIG. 1 is a flow diagram illustrating a method for configuring notification settings, according to some embodiments. [Figure 23B] FIG. 1 is a flow diagram illustrating a method for configuring notification settings, according to some embodiments. [Figure 23C] FIG. 1 is a flow diagram illustrating a method for configuring notification settings, according to some embodiments. [Figure 24A] 1 illustrates an exemplary user interface for configuring a first type of notification for a first type of source of video data and a second type of notification for a second type of source of video data, according to some embodiments. [Figure 24B] 1 illustrates an exemplary user interface for configuring a first type of notification for a first type of source of video data and a second type of notification for a second type of source of video data, according to some embodiments. [Figure 24C] 1 illustrates an exemplary user interface for configuring a first type of notification for a first type of source of video data and a second type of notification for a second type of source of video data, according to some embodiments. [Figure 24D] 1 illustrates an exemplary user interface for configuring a first type of notification for a first type of source of video data and a second type of notification for a second type of source of video data, according to some embodiments. [Figure 24E] 1 illustrates an exemplary user interface for configuring a first type of notification for a first type of source of video data and a second type of notification for a second type of source of video data, according to some embodiments. [Figure 24F]1 illustrates an exemplary user interface for configuring a first type of notification for a first type of source of video data and a second type of notification for a second type of source of video data, according to some embodiments. [Figure 24G] 1 illustrates an exemplary user interface for configuring a first type of notification for a first type of source of video data and a second type of notification for a second type of source of video data, according to some embodiments. [Figure 24H] 1 illustrates an exemplary user interface for configuring a first type of notification for a first type of source of video data and a second type of notification for a second type of source of video data, according to some embodiments. [Figure 24I] 1 illustrates an exemplary user interface for configuring a first type of notification for a first type of source of video data and a second type of notification for a second type of source of video data, according to some embodiments. [Figure 24J] 1 illustrates an exemplary user interface for configuring a first type of notification for a first type of source of video data and a second type of notification for a second type of source of video data, according to some embodiments. [Figure 25A] 1 is a flow diagram illustrating a method for configuring a first type of notification for a first type of camera and a second type of notification for a second type of camera, according to some embodiments. [Figure 25B] 1 is a flow diagram illustrating a method for configuring a first type of notification for a first type of camera and a second type of notification for a second type of camera, according to some embodiments. [Figure 25C] 1 is a flow diagram illustrating a method for configuring a first type of notification for a first type of camera and a second type of notification for a second type of camera, according to some embodiments. [Figure 25D] 1 is a flow diagram illustrating a method for configuring a first type of notification for a first type of camera and a second type of notification for a second type of camera, according to some embodiments. [Figure 26A]1 illustrates an exemplary user interface for displaying a clip representation and an indicator that indicates the type of condition that triggered the recording, according to some embodiments. [Figure 26B] 1 illustrates an exemplary user interface for displaying a clip representation and an indicator that indicates the type of condition that triggered the recording, according to some embodiments. [Figure 26C] 1 illustrates an exemplary user interface for displaying a clip representation and an indicator that indicates the type of condition that triggered the recording, according to some embodiments. [Figure 26D] 1 illustrates an exemplary user interface for displaying a clip representation and an indicator that indicates the type of condition that triggered the recording, according to some embodiments. [Figure 26E] 1 illustrates an exemplary user interface for displaying a clip representation and an indicator that indicates the type of condition that triggered the recording, according to some embodiments. [Figure 26F] 1 illustrates an exemplary user interface for displaying a clip representation and an indicator that indicates the type of condition that triggered the recording, according to some embodiments. [Figure 26G] 1 illustrates an exemplary user interface for displaying a clip representation and an indicator that indicates the type of condition that triggered the recording, according to some embodiments. [Figure 26H] 1 illustrates an exemplary user interface for displaying a clip representation and an indicator that indicates the type of condition that triggered the recording, according to some embodiments. [Figure 26I] 1 illustrates an exemplary user interface for displaying a clip representation and an indicator that indicates the type of condition that triggered the recording, according to some embodiments. [Figure 27A] 1 is a flow diagram illustrating a method for displaying a clip representation and an indicator of the type of condition that triggered the recording, according to some embodiments. [Figure 27B]1 is a flow diagram illustrating a method for displaying a clip representation and an indicator of the type of condition that triggered the recording, according to some embodiments. DETAILED DESCRIPTION OF THE INVENTION
[0061] 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.
[0062] There is a need for electronic devices that provide efficient methods and interfaces for displaying live video feeds and recorded video. For example, in some embodiments, the device simultaneously displays images from multiple cameras and provides a composite scrubber bar for simultaneously navigating recorded video from multiple cameras. In some embodiments, the device provides an intuitive user interface for setting context-based camera settings. Such techniques can reduce the cognitive burden on users viewing live video feeds and recorded video, thereby increasing productivity. Furthermore, such techniques can reduce processor and battery power that would otherwise be wasted on redundant user input.
[0063] The following Figures 1A and 1B, 2, 3, 4A and 4B, and 5A-5H provide descriptions of example devices that implement the techniques for displaying live video feeds and recorded video.
[0064] Figures 6A-6S show exemplary user interfaces for displaying live video feeds and recorded video. Figures 7A-7C are flow diagrams illustrating methods for displaying live video feeds and recorded video, according to some embodiments. The user interfaces of Figures 6A-6S are used to illustrate processes described below, including the processes of Figures 7A-7C.
[0065] 8A-8J show exemplary user interfaces for displaying video from a video source and controlling external devices associated with the source. FIG. 9 is a flow diagram showing a method for displaying video from a video source and controlling external devices associated with the source, according to some embodiments. The user interfaces of FIGS. 8A-8J are used to illustrate processes described below, including the process of FIG. 9.
[0066] 10A-10J illustrate exemplary user interfaces for displaying and navigating video from multiple sources of video data. 11A-11C are flow diagrams illustrating methods for displaying and navigating video from multiple sources of video data, according to some embodiments. The user interfaces of FIGS. 10A-10J are used to illustrate processes described below, including the processes of FIGS. 11A-11C.
[0067] 12A-12T show exemplary user interfaces for configuring sources of video data for different contexts. FIG. 13 is a flow diagram showing a method for configuring sources of video data for different contexts according to some embodiments. The user interfaces of FIGS. 12A-12T are used to illustrate processes described below, including the process of FIG. 13.
[0068] 14A-14W show exemplary user interfaces for configuring sources of video data. 15A-15B are flow diagrams illustrating methods for configuring sources of video data, according to some embodiments. The user interfaces of FIGS. 14A-14W are used to illustrate processes described below, including the processes of FIGS. 15A-15B.
[0069]
[0013] Figures 16A-16I show exemplary user interfaces for managing storage resources. Figure 17 is a flow diagram showing a method for managing storage resources, according to some embodiments. The user interfaces of Figures 16A-16I are used to illustrate processes described below, including the process of Figure 17.
[0070] 18A-18D show exemplary user interfaces for setting status and notification settings.
[0071] 19A-19D show exemplary user interfaces for displaying video from a video source and controlling external devices associated with the source.
[0072] Figures 20A-20X show exemplary user interfaces for configuring recording settings. Figures 21A-21C are flow diagrams showing methods for configuring recording settings. The user interfaces of Figures 20A-20X are used to illustrate processes described below, including the processes of Figures 21A-21C.
[0073] Figures 22A-22H show exemplary user interfaces for configuring notification settings. Figures 23A-23C are flow diagrams showing methods for configuring notification settings. The user interfaces of Figures 22A-22H are used to illustrate processes described below, including the processes of Figures 23A-23C.
[0074] Figures 24A-24J show exemplary user interfaces for configuring a first type of notification for a first type of source of video data and a second type of notification for a second type of source of video data. Figures 25A-25D are flow diagrams showing methods for configuring a first type of notification for a first type of source of video data and a second type of notification for a second type of source of video data. The user interfaces of Figures 24A-24J are used to illustrate processes described below, including the processes of Figures 25A-25D.
[0075] Figures 26A-26I show exemplary user interfaces for displaying a representation of a clip and an indicator indicating the type of condition that triggered the recording, according to some embodiments. Figures 27A-27B are flow diagrams showing methods for displaying a representation of a clip and an indicator indicating the type of condition that triggered the recording, according to some embodiments. The user interfaces of Figures 26A-26I are used to illustrate processes described below, including the processes of Figures 27A-27B.
[0076] 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.
[0077] 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.
[0078] 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]."
[0079] 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).
[0080] 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.
[0081] 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.
[0082] 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.
[0083] 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.
[0084] 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 is 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 is 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).
[0085] 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.
[0086] 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.
[0087] 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.
[0088] 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.
[0089] 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 wirelessly 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 optionally includes, but is not limited to, Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), high-speed downlink packet access (HSDPA), high-speed uplink packet access (HSUPA), Evolution, Data-Only (EV-DO), HSPA, HSPA+, Dual-Cell HSPA (DC-HSPA), Long Term Evolution (LTE), and other wireless technologies.Wireless technology includes, but is not limited to, technology such as: LTE evolution, 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®, protocols for email (e.g., Internet message access protocol (IMAP) and / or post office protocol (POP)), instant messaging (e.g., extensible messaging and presence protocol), and the like. protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE), Instant Messaging and Presence Service (IMPS), and / or Short Message Service (SMSP)The present invention may use any of a number of communication standards, protocols, and technologies, including the following:
[0090] 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).
[0091] 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, 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).
[0092] 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.
[0093] 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.
[0094] 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.
[0095] 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.
[0096] 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.
[0097] 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.
[0098] 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.
[0099] In some embodiments, in addition to the touchscreen, device 100 optionally includes a touchpad (not shown) 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.
[0100] 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.
[0101] 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.
[0102] 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.
[0103] 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).
[0104] Device 100 also optionally includes one or more tactile output generators 167. FIG. 1A shows tactile output generators 167 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.
[0105] 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. Device 100 optionally includes, in addition to accelerometer(s) 168, a magnetometer (not shown), and a GPS (or GLONASS or other global navigation system) receiver (not shown) for obtaining information regarding the location and orientation (e.g., portrait or landscape) of device 100.
[0106] In some embodiments, software components stored in memory 102 include operating system 126, communication module (or instruction set) 128, touch / motion module (or instruction set) 130, graphics module (or instruction set) 132, text input module (or instruction set) 134, Global Positioning System (GPS) module (or instruction set) 135, and applications (or instruction set) 136. Additionally, in some embodiments, as shown in FIGS. 1A and 3, memory 102 (FIG. 1A) or memory 370 (FIG. 3) stores device / global internal state 157. 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 location and / or orientation of the device.
[0107] 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.
[0108] 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.
[0109] 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 point, 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 point. 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.
[0110] 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).
[0111] 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.
[0112] 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.
[0113] 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.
[0114] 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.
[0115] 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).
[0116] The GPS module 135 determines the location of the device and provides this information for use in various applications (e.g., to the phone 138 for use in location-based dialing, to the camera 143 as image / video metadata, and to applications that provide location-based services such as weather widgets, local yellow pages widgets, and map / navigation widgets).
[0117] Application 136 optionally includes the following modules (or instruction sets), 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.
[0118] 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.
[0119] 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.
[0120] Telephone module 138, 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 text input module 134, is optionally used to enter character sequences corresponding to telephone numbers, access one or more telephone numbers in contacts module 137, modify entered telephone numbers, dial respective telephone numbers, conduct conversations, and terminate 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.
[0121] 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.
[0122] 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.
[0123] In conjunction with RF circuitry 108, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, instant messaging module 141 includes executable instructions for entering character sequences corresponding to instant messages, modifying previously entered characters, sending respective instant messages (e.g., using Short Message Service (SMS) or Multimedia Message Service (MMS) protocols for telephony-based instant messaging, or XMPP, SIMPLE, or IMPS for Internet-based instant messaging), receiving instant messages, and viewing received instant messages. In some embodiments, sent and / or received instant messages optionally include graphics, photos, audio files, video files, and / or other attachments 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).
[0124] In conjunction with the RF circuitry 108, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, GPS module 135, map module 154, and music player module, the training support module 142 includes executable instructions for creating workouts (e.g., with time, distance, and / or calorie burn goals), communicating with training sensors (sports devices), receiving training sensor data, calibrating sensors used to monitor workouts, selecting and playing music for workouts, and displaying, storing, and transmitting workout data.
[0125] 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.
[0126] 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.
[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, 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.
[0128] In conjunction with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, email client module 140, and browser module 147, calendar module 148 contains executable instructions for creating, displaying, modifying, and storing calendars and data associated with calendars (e.g., calendar items, to-do lists, etc.) in accordance with user instructions.
[0129] 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).
[0130] 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).
[0131] 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.
[0132] 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.).
[0133] 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.
[0134] 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.
[0135] 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.
[0136] 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.
[0137] 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.
[0138] The set of predetermined 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.
[0139] 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).
[0140] Event sorter 170 receives the event information and determines which application 136-1 to deliver the event information to and application view 191 of application 136-1. Event sorter 170 includes 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.
[0141] 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.
[0142] 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.
[0143] In some embodiments, event monitor 171 sends requests to peripherals interface 118 at predetermined intervals. In response, peripherals interface 118 transmits event information. In other embodiments, peripherals interface 118 transmits event information only when there is a significant event (e.g., receipt of an input above a predetermined noise threshold and / or for more than a predetermined duration).
[0144] In some embodiments, event sorter 170 also includes hit view determination module 172 and / or active event recognizer determination module 173 .
[0145] 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.
[0146] 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.
[0147] 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 a 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.
[0148] 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, 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 still remain actively participating views.
[0149] 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.
[0150] 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.
[0151] 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 (not shown) or a higher-level object from which application 136-1 inherits methods and other properties. In some embodiments, each event handler 190 includes one or more of data 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.
[0152] 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).
[0153] Event receiver 182 receives event information from event sorter 170. The event information includes information about a sub-event, e.g., a touch or a movement of a touch. Depending on the sub-event, the event information also includes additional information, such as the location of the sub-event. When the sub-event involves a touch movement, 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 device's current orientation (also called the device's attitude).
[0154] 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 a definition of an event (e.g., a sequence of predefined sub-events), such as Event 1 (187-1) and Event 2 (187-2). In some embodiments, sub-events in an event (187) include, for example, touch start, touch end, touch movement, touch cessation, 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 predefined stage (touch start), a first lift-off (touch end) relative to the predefined stage, a second touch on a displayed object relative to the predefined stage (touch start), and a second lift-off (touch end) relative to the predefined stage. In another example, the definition for Event 2 (187-2) is a drag on a displayed object. A drag includes, for example, a touch (or contact) on a display object 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 for one or more associated event handlers 190.
[0155] 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.
[0156] In some embodiments, the definition for each event (187) also includes a delay action that delays delivery of the event information until after it has been determined whether the sub-event sequence corresponds to the event recognizer's event type.
[0157] 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.
[0158] 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.
[0159] 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.
[0160] 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.
[0161] 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.
[0162] 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.
[0163] 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, are optionally utilized as inputs corresponding to sub-events that define the recognized event.
[0164] 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.
[0165] 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.
[0166] 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 time interval, to lock the device by pressing and releasing the button before the predetermined time interval 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.
[0167] 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.
[0168] 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.
[0169] Attention is now directed to user interface embodiments, optionally implemented on portable multifunction device 100, for example.
[0170] 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.
[0171] 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.
[0172] 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.
[0173] 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.
[0174] 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.
[0175] 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 device 100 and device 300 (e.g., FIGS. 1A-4B ). In some embodiments, device 500 has a touch-sensitive display screen 504, hereafter touch screen 504. Alternatively, or in addition to touch screen 504, device 500 has a display and a touch-sensitive surface. Similar to devices 100 and 300, in some embodiments, touch screen 504 (or touch-sensitive surface) optionally includes one or more intensity sensors that detect the intensity of an applied contact (e.g., a touch). The one or more intensity sensors in touch screen 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.
[0176] 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.
[0177] 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.
[0178] FIG. 5B illustrates an exemplary personal electronic device 500. In some embodiments, device 500 may include some or all of the components described with respect to FIGS. 1A, 1B, and 3. Device 500 has a bus 512 operably coupling an I / O section 514 to one or more computer processors 516 and memory 518. I / O section 514 may be connected to a display 504, which may have touch-sensing components 522 and, optionally, an intensity sensor 524 (e.g., a contact intensity sensor). Additionally, I / O section 514 may be connected to a communication unit 530 that receives application and operating system data using Wi-Fi, Bluetooth, near-field communication (NFC), cellular, and / or other wireless communication techniques. Device 500 may 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.
[0179] 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.
[0180] The memory 518 of the personal electronic device 500 may include one or more non-transitory computer-readable storage media for storing computer-executable instructions that, when executed by one or more computer processors 516, may cause the computer processors to perform the techniques described below, including processes 700, 900, 1100, 1300, 1500, and 1700 (FIGS. 7A-7C, 9, 11A-11C, 13, 15A-15B, and 17). 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. A non-transitory computer-readable storage medium may include, but is not limited to, magnetic, optical, and / or semiconductor storage devices. Examples of such storage devices include magnetic disks, optical disks based on CD, DVD, or Blu-ray technology, and resident solid-state memory such as flash, solid-state drives, etc. Personal electronic device 500 is not limited to the components and configuration of Figure 5B and may include other or additional components in multiple configurations.
[0181] 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, and / or 500 (FIGS. 1A, 3, and 5A-5B). For example, images (e.g., icons), buttons, and text (e.g., hyperlinks) each optionally constitute an affordance.
[0182] 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, the location of a focus selector (e.g., cursor, touch, or selection box) over a respective button while a press input is detected on a touch-sensitive surface (e.g., a touchpad or touchscreen) indicates that the user intends to activate that respective button (and not other user interface elements shown on the device's display).
[0183] 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 above the first intensity threshold but not above the second intensity threshold results in a second action, and a contact having a characteristic intensity above the second threshold results in a third action. In some embodiments, the comparison between the characteristic intensity and the one or more thresholds is not used to determine whether the first action or the second action should be performed, but rather is used to determine whether one or more actions should be performed (e.g., whether to perform the respective action or to refrain from performing the respective action).
[0184] 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 and 5D can be performed using electronic devices similar to or identical to device 100, 300, or 500. In some embodiments, the characteristic intensity of a contact is based on one or more intensities of the contact. In some embodiments, an intensity sensor is used to determine a single characteristic intensity (e.g., a single characteristic intensity of a single contact). Note that the intensity plots are not part of the displayed user interface, but are included in FIGS. 5C-5D for the reader's convenience.
[0185] 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.
[0186] 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.
[0187] 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.
[0188] 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).
[0189] 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 2"). 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 2"). D Contact 562 is maintained on touch-sensitive surface 560. In response to detecting the gesture and during the gesture, a deep pressure intensity threshold (e.g., "IT D Based on contact 562 having an intensity greater than "," display reduced representations 578A-578C (e.g., thumbnails) of recently opened documents for app2, as shown in FIGS. 5F-5H. In some embodiments, this intensity, which is compared to one or more intensity thresholds, is a characteristic intensity of the contact. Note that the intensity diagram of contact 562 is not part of the displayed user interface, but is included in FIGS. 5E-5H for the reader.
[0190] 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"), representations 578A-578C appear and move upward. 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 electronic devices similar or identical to devices 100, 300, or 500.
[0191] 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).
[0192] 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.
[0193] Attention is now directed to embodiments of user interfaces (“UIs”) and related processes implemented on an electronic device such as portable multifunction device 100, device 300, or device 500.
[0194] 6A-6S show exemplary user interfaces for displaying live video feeds and recorded video from a source of video data (e.g., a camera), according to some embodiments. The user interfaces in these figures are used to illustrate processes described below, including the processes in FIGS. 7A-7C.
[0195] 6A illustrates an electronic device 600 with a touch-sensitive display 602. In some embodiments, device 600 includes some or all of the features of devices 100, 300, and 500. In FIG. 6A, device 600 displays a home user interface 604 of an application for managing devices (e.g., controllable devices) associated with location 123 Main St. Home user interface 604 includes, among other things, the name of the location (123 Main St.), an add accessory affordance 606, and camera representations 610 corresponding to respective sources of video data (e.g., cameras), as well as affordances associated with various other functions of the application (e.g., device status, such as lights on / off, doors locked / unlocked, etc.). As shown in FIG. 6A, camera representations 610 correspond to camera 1 (front door camera, 610a), camera 2 (backyard camera, 610b), camera 3 (living room camera, 610c), camera 4 (kids' room camera, 610d), camera 5 (side entrance camera, 610e), and camera 6 (garage camera, 610f), respectively.
[0196] In FIG. 6A, device 600 receives (eg, detects) user input 650a (eg, a tap) corresponding to selection of a camera representation 610a associated with a front door camera.
[0197] As shown in FIG. 6B , in response to receiving user input 650a, device 600 displays video media user interface 608 including a live (e.g., non-recorded, real-time) video feed from a front door camera. Play / pause affordance 612 can be selected (e.g., using a tap input on display 602) to pause the live video feed. Video media user interface 608 also includes scrubber bar 620. As shown in FIG. 6B , scrubber bar 620 includes an interactive, elongated region on display 602 that includes a representation of media content that can be scrolled along a direction parallel to the elongation direction. In some embodiments, media content (e.g., video) can be played at any speed and at a variable speed based on characteristics (e.g., the speed of received user input). In some embodiments, the scrubber bar represents approximately one day's worth of content at a time.
[0198] A currently displaying indicator 622 in the scrubber bar 620 indicates which portion of the scrubber bar 620 corresponds to the currently displayed image. As shown in Figure 6B, the currently displaying indicator 622 indicates that the currently displayed video is a live feed. A position on the scrubber bar 620 to the left of the currently displaying indicator corresponds to a time before the time associated with the currently displayed image, and a position on the scrubber bar 620 to the right of the currently displaying indicator 622 corresponds to a time after the time associated with the currently displayed image.
[0199] As shown in Figure 6B, scrubber bar 620 includes clip representations 624a and 624b of recorded clips of video from the front door camera. In some embodiments, the recorded clips of video are represented by rounded rectangles or shaded areas in scrubber bar 620. As shown in Figure 6B, the clip representations each include a representation of an image from a respective recorded clip of video (e.g., a thumbnail representation or the actual image from the clip). In some embodiments, the images represent the first frame or an intermediate frame (e.g., a representative frame) of the recorded clip of video.
[0200] As shown in FIG. 6B , each clip representation video has a visual width within scrubber bar 620 that is proportional to the duration of the corresponding recorded clip of video. For example, representation 624a is narrower than representation 624b, indicating that the duration of the recorded clip of video represented by clip representation 624b is shorter than the duration of the recorded clip of video represented by clip representation 624a. In some embodiments, the representations of the recorded clips of video include multiple representative images from the recorded clip of video, with the number of representative images being directly proportional to the duration of the recorded clip of video. As shown in FIG. 6B , clip representation 624b includes approximately one and a half representative images from the corresponding clip, while clip representation 624a includes one representative image, indicating that the clip represented by clip representation 624b is approximately 50 percent longer than the clip represented by clip representation 624a.
[0201] Scrubber bar 620 also includes pause indications 626a-626c of periods when recorded video from the front door camera is unavailable. As shown in Figure 6B, periods when recorded video from the front door camera is unavailable are indicated by spaces (e.g., areas having a solid color) and dots between representations of recorded clips of video.
[0202] In some embodiments, the indication of a period during which recorded video from a source is unavailable is independent of the duration of the period. As shown in FIG. 6B , the distance on scrubber bar 620 between two clip representations (e.g., between representations 624a and 624b) is independent of the amount of time between the end of one clip (e.g., the clip associated with clip representation 624b) and the start of the subsequent clip (e.g., the clip associated with clip representation 624a). As shown in FIG. 6B , the distance between representations 624a and 624b is the same regardless of the amount of time between the end of one clip and the start of the subsequent clip. (E.g., the distance between representations is fixed or constant from one representation to the next.) In some embodiments, the distance on scrubber bar 620 between clip representations varies from one clip representation to the next. In some embodiments, the distance between two clip representations is based on (e.g., directly proportional to) the amount of time between the end of one clip and the start of the subsequent clip.
[0203] As shown in Figure 6B, the live video feed shows the presence of a package on the front door step. As shown in Figures 6C-6D, a person picks up the package and brings it into the house. This activity is detected (e.g., by a motion detection process). In response to detecting motion, the live video feed from the front door camera is recorded (e.g., by the front door camera, a server remote from the front door camera, or device 600). In some embodiments, video from the front door camera is recorded for a predetermined amount of time (e.g., 10 seconds from the time motion is detected, or from the time motion is detected until 10 seconds after motion stops being detected).
[0204] In some embodiments, device 600 receives data representing a newly recorded clip of video from a front door camera. As shown in Figure 6E, in response to receiving the data representing the recorded clip of the video shown in Figures 6C-6D, a clip representation 624c of the recorded clip is added to scrubber bar 620 at a position representing the time the clip was recorded.
[0205] Referring to FIG. 6F, while displaying a video media user interface 608 having a live video feed, the device 600 receives (e.g., detects) a user input 650b including a tap on the touch-sensitive display 602 at a location corresponding to the clip representation 626A.
[0206] As shown in Figure 6G, in response to receiving user input 650B, device 600 displays a recorded clip of video corresponding to the selected clip representation 624a (e.g., by replacing the live video feed with a display of the recorded clip of video corresponding to the selected clip representation 624a) and changes (e.g., updates or scrolls) the display of scrubber bar 620 to show the portion of scrubber bar 620 that corresponds to the image currently displayed in the main area of the display. As shown in Figure 6G, scrubber bar 620 updates to indicate that the displayed video corresponds to the recorded clip of video represented by clip representation 624a by scrolling scrubber bar 620 such that clip representation 624a is moved from the position shown in Figure 6B to the position of currently displaying indicator 622.
[0207] 6G, in response to receiving user input 650b, device 600 also displays an indication of the date and time associated with the displayed image (e.g., the date and time the displayed image was recorded). The indication includes a date bar 630 at the top of display 602, a time 628a (e.g., in hours, minutes, seconds, and AM / PM format), and a day of the week 628b associated with the displayed image. Date bar 630 represents a period of time (e.g., seven days) and includes day of the week indicators 632 corresponding to the days of the week.
[0208] Similarly, receiving user input corresponding to selection of clip representation 626b causes device 600 to display the recorded clip corresponding to clip representation 624b, update scrubber bar 620 to position clip representation 624a in currently displayed indicator 622, and display indicators regarding the date and time associated with the recorded clip corresponding to clip representation 624b (e.g., date bar 630, time of day 628a, and day of week 628b).
[0209] 6G, displaying the recorded clip includes playing the recorded clip (e.g., starting at the first frame). In some embodiments, displaying the recorded clip of video includes displaying a selected portion of the clip (e.g., paused video of the first frame of the clip, or a representative still image from the clip). In some embodiments, the recorded clip is initially paused, and the play / pause affordance 612 represents a play button instead of a pause button so that the clip can be played. In some embodiments, the display of the recorded clip of video is based on the position of the user input 650b (e.g., the selected clip is played from the frame corresponding to the portion of the clip representation 624a contacted by the user input 650b).
[0210] In some embodiments, device 600 displays a recorded clip of video corresponding to clip representation 624a in response to a swipe (e.g., a left-to-right swipe) on touch-sensitive display 602 (e.g., on a display of a live video feed or on a scrubber bar). In some embodiments, the video displayed is based on the length or speed of the swipe (e.g., a shorter or slower swipe will display a more recent clip or a more recent portion of a clip than a longer or faster swipe). For example, a relatively short swipe will cause the clip corresponding to clip representation 624a to be displayed, while a longer swipe will cause the clip corresponding to clip representation 624b to be displayed.
[0211] In some embodiments, instead of scrolling the representation in the scrubber bar to indicate which portion of the content is being displayed, the currently displayed indicator 622 is moved to the clip representation of the displayed clip (e.g., the position of clip representations 624a and 624b remains the same).
[0212] In some embodiments, in response to user input scrolling scrubber bar 620 to a time when recorded video from the front door camera is not available, device 600 displays a placeholder image (e.g., a frozen or blurred image of the most recently captured image from a live feed, or an image recorded from the time closest to the selected time).
[0213] In some embodiments, in response to receiving user input corresponding to a command to display video from the front door camera for an earlier time (e.g., a tap on a clip representation of a recorded clip of video or a left-to-right swipe or drag gesture), device 600 displays an affordance for returning to the live video feed from the front door camera. As shown in FIG. 6G, in response to receiving user input 650b of FIG. 6F, live affordance 636b is displayed to the right of scrubber bar 620. In some embodiments, live affordance 636b replaces associated application affordance 636A (e.g., in response to user input to display video from an earlier time). In response to receiving user input corresponding to selection of live affordance 636b (e.g., a tap on live affordance 636b), device 600 displays the live video feed from the front door camera and updates scrubber bar 620 to indicate that the displayed video is a live video feed (e.g., as shown in FIG. 6B, except for video for the current time). In some embodiments, the date bar 630 and the time of day 628a and day of week 628b indications are removed.
[0214] 6H, device 600 receives (e.g., detects) user input 650c. As shown in FIG. 6H, user input 650c includes a right-to-left drag gesture on scrubber bar 620. As shown in FIG. 6I, in response to user input 650c, device 600 advances the time of the clip, scrolls scrubber bar 620 to the left, and updates time indicator 628a and day indicator 628b. In some embodiments, day indicator 632 on date bar 630 updates as scrubber bar 620 is scrolled to a different day (e.g., past dawn indication 621, as described below with respect to FIG. 6K). In some embodiments, the duration of time represented by the date bar remains fixed, while the scrubber bar is scrolled until the end of the time range represented by the date bar is reached (e.g., scrubber bar 620 is scrolled to a time beyond the limit of the range currently represented by the date bar). If the scrubber bar 620 is scrolled to a time beyond the range represented by the date bar, the date bar will be updated to show the preceding or succeeding period (eg, the previous seven day range).
[0215] In some embodiments, the date bar 630 includes an affordance that can be used to display video from a selected day. As shown in FIG. 6J, the device 600 receives (e.g., detects) a user input 650d (e.g., a tap) at a location on the date bar 630 corresponding to Saturday, January 27th. As shown in FIG. 6K, in response to receiving the user input 650d, the device 600 displays a clip of video from the front door camera that was recorded on Saturday, January 27th, starting at 12:18:06 AM. The scrubber bar 620 updates to indicate that the clip representation 624e corresponds to the displayed clip, and the date bar 630 (including the day indicator 632), the time indicator 628a, and the week indicator 628b update to indicate the selected date and time. In some embodiments, in response to receiving input (e.g., a tap) on the forward arrow (“>”) or backward arrow (“<”) on the end of date bar 630, device 600 scrolls date bar 630 forward or backward in time, respectively, by a predetermined amount of time (e.g., one day, seven days, or the range of time displayed by date bar 630). Additionally, in some embodiments, in response to receiving input on the forward or backward arrow on date bar 630, device 600 displays the corresponding image a predetermined amount of time before or after the time corresponding to the currently displayed image (e.g., seven days after or before January 30, as shown in FIG. 6J ), respectively, and updates scrubber bar 620 accordingly.
[0216] As shown in Figure 6K, the scrubber bar 620 also includes a dimming indication 621 of the boundary between two days (e.g., Friday and Saturday). As shown in Figure 6K, the boundary is indicated by a vertical line on / through the scrubber bar 620.
[0217] As shown in FIG. 6L, device 600 receives (e.g., detects) user input 650e (e.g., a tap) on share affordance 634b (e.g., adjacent to scrubber bar 620). In some embodiments, share affordance 634b replaces edit affordance 634a (e.g., shown in FIGS. 6B-6F) in response to an input corresponding to a selection of a previously recorded clip (e.g., user input 650b in FIG. 6F) or an earlier time (e.g., user input 650c in FIG. 6H). In response to receiving user input 650e, device 600 selects a segment of the recorded video and initiates the process of sharing the selected segment of the recorded video. As shown in FIG. 6M, device 600 displays a more detailed representation of the currently displayed clip of the video in scrubber bar 620 (e.g., multiple representative images from only the currently displayed clip). The date and time range of the current clip is displayed at the top of display 602 (e.g., in place of date bar 630). The device 600 also displays selector handle affordances 623a and 623b on the scrubber bar 620 for selecting and sharing portions of the displayed clip.
[0218] As shown in Figures 6N-6Q, device 600 receives (e.g., detects) user input 650f and 650g (e.g., drag gestures) on selector handle affordances 623a and 623b, which move selector handle affordances 623a and 623b to select a middle portion 625 of the displayed clip. As shown in Figure 6R, device 600 receives (e.g., detects) user input 650h (e.g., tap) on share affordance 634b (which has been moved, e.g., from the position shown in Figure 6L to the top of display 602, in response to user input 650e). As shown in Figure 6S, in response to receiving user input 650h, device 600 displays share menu 638, which includes various options for sharing the selected portion of the displayed clip, saving the portion, or performing other actions associated with the portion.
[0219] 7A-7C are flow diagrams illustrating a method for displaying a live video feed and recorded video from a source of video data (e.g., a camera) 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. Some operations of method 700 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0220] As described below, method 700 provides an intuitive way for an electronic device to display live video feeds and recorded video from a source of video data (e.g., a camera). This method reduces the cognitive burden on a user to view live video feeds and recorded video, thereby creating a more efficient human-machine interface. For battery-operated computing devices, allowing users to view live video feeds and recorded video faster and more efficiently conserves power and increases the time between battery charges.
[0221] At block 702, a device displays a video media user interface (e.g., 608) including a live (e.g., non-recorded, real-time) video feed from a first source (e.g., a camera) and a scrubber bar (e.g., 620). In some embodiments, the scrubber bar is an interactive, elongated region on the display (e.g., 602) that includes representations (e.g., 624a, 624b) of media content that can be scrolled along a direction parallel to the elongation direction. In some embodiments, the media content (e.g., video) can be played at any speed and at variable speeds based on characteristics (e.g., the rate of received user input). In some embodiments, the scrubber bar represents approximately one day's worth of content at a time.
[0222] The scrubber bar (e.g., 620) includes a representation (e.g., 624a) of a recorded clip of video from a first source (e.g., a rounded rectangle or a shaded region of the scrubber bar). The representation is located at a first position within the scrubber bar (e.g., a position corresponding to a time before the current time). In some embodiments, the representation of the recorded clip of video has a visual width within the scrubber bar that is proportional to the duration of the recorded clip of video. In some embodiments, the representation of the recorded clip of video includes a representation of an image from the recorded clip of video (e.g., a thumbnail representation or an actual image from the clip). In some embodiments, the image represents a first frame or an intermediate frame of the recorded clip of video. In some embodiments, the representation of the recorded clip of video includes a number of representative images from the recorded clip of video, the number of representative images being directly proportional to the duration of the recorded clip of video.
[0223] In some embodiments, the scrubber bar further includes an indication of a period of time during which recorded video from the first source is unavailable (e.g., 626a, 626b, 626c). In some embodiments, the period of time during which recorded video from the first source is unavailable is indicated by a space (e.g., a solid color or a dot, e.g., 626b) between representations of recorded clips of video. In some embodiments, the indication of a period of time during which recorded video from the first source is unavailable is independent of the duration of the period. In some embodiments, the distance on the scrubber bar between two representations of recorded clips of video is independent of the amount of time between the end of one clip and the start of the subsequent clip (e.g., the distance is fixed). In some embodiments, the distance on the scrubber bar between two representations of recorded clips of video is variable (e.g., the distance is based on (e.g., directly proportional to) the amount of time between the end of one clip and the start of the subsequent clip). In some embodiments, the scrubber bar further includes an indication of the boundary between the first and second days, hi some embodiments, the boundary between the two days is indicated by a vertical line on or through the scrubber bar.
[0224] At block 704, while displaying a video media user interface (e.g., 608), the device detects a first user input (e.g., 650b) (e.g., a right swipe on the display or a tap on a clip). In some embodiments, the first user input includes a swipe on a touch-sensitive surface of the electronic device. In some embodiments, the swipe is a left-to-right swipe on a touch-sensitive display (e.g., on a live video feed or on a scrubber bar). In some embodiments, the video displayed is based on the length or speed of the swipe (e.g., a shorter or slower swipe will display a more recent clip (or a more recent portion of a clip) than a longer or faster swipe). In some embodiments, the first user input includes a tap on the touch-sensitive surface of the electronic device, the tap having a location that corresponds to a representation of a recorded clip of video.
[0225] At block 706, the device replaces the live video feed (e.g., the feed of FIG. 6E ) with a display of a recorded clip of video (e.g., a paused video of the first frame of the clip, a representative frame of the clip, playing the clip from the beginning, or playing the clip from a frame based on the position to which the scrubber bar has been scrolled) (e.g., the feed of FIG. 6G ). In some embodiments, the device replaces the live video feed with a display of the recorded clip of video in response to detecting a first user input. In some embodiments, displaying the recorded clip of video includes displaying a portion of the clip (e.g., a paused video of the first frame of the clip, or a frame corresponding to a position in the clip selected by the first input). In some embodiments, displaying the recorded clip includes playing the recorded clip (e.g., starting at the first frame or a frame corresponding to a position in the clip selected by the first input). Replacing the live video feed with a display of the recorded clip of video provides the user with feedback regarding the current state of the media content being displayed on the device. The feedback indicates to the user that the user is no longer viewing the live video feed. Providing improved feedback to the user improves usability of the device, makes the user-device interface more efficient (e.g., by assisting the user in providing appropriate input when operating / interacting with the device and reducing user errors), and also reduces power usage and improves the battery life of the device by allowing the user to use the device more quickly and efficiently.
[0226] At block 708, the device updates the scrubber bar (e.g., 620) to indicate that the display of the recorded clip of the video corresponds to the representation of the recorded clip of the video in the scrubber bar (e.g., FIG. 6G). In some embodiments, in response to detecting a first user input, the device updates the scrubber bar to indicate that the display of the recorded clip of the video corresponds to the representation of the recorded clip of the video in the scrubber bar. In some embodiments, a pointer element (e.g., 622) is moved to the representation of the clip. In some embodiments, the representation of the clip is moved to a different position (e.g., the center) in the scrubber bar. In some embodiments, the representation of the entire video content in the scrubber bar is scrolled so that content represented at a fixed position (e.g., the center) in the scrubber bar is displayed within the main area. Updating the scrubber bar to indicate that the display of the recorded clip of the video corresponds to the representation of the recorded clip of the video in the scrubber bar provides feedback to the user regarding the current state of the media content being displayed on the device. The feedback indicates to the user that the user is no longer viewing a live video feed. Additionally, the feedback indicates to the user that they can control the content being displayed by interacting with the scrubber bar. Further, the feedback indicates to the user the approximate date / time that the clip was recorded, as indicated by its position relative to other clips in the scrubber bar. Providing improved feedback to the user improves usability of the device, makes the user-device interface more efficient (e.g., by assisting the user in providing appropriate inputs when operating / interacting with the device and reducing user errors), and also reduces power usage and improves the device's battery life by allowing the user to use the device more quickly and efficiently.
[0227] Optionally, at block 710, the device displays an indication (e.g., 632) of a time associated with the recorded clip of the video (e.g., in response to detecting a first user input). In some embodiments, the indication includes a date bar (e.g., 630) (e.g., displayed at or near the top of the display) that highlights the day on which the displayed portion of the video was recorded. In some embodiments, the date bar represents a fixed duration of time (e.g., 7 days). In some embodiments, the indication includes text (e.g., above the scrubber bar) indicating the time and day of the week on which the video was recorded. In some embodiments, the duration of time represented by the date bar remains fixed, while the scrubber bar scrolls until the end of the date bar is reached (e.g., the user scrubs to a time beyond the limits of the date bar).
[0228] In some embodiments, the indication of a time associated with a recorded clip of the video (e.g., 628a) includes an affordance that represents a time period and indicates a time associated with the recorded clip of the video. Optionally, at block 712, the device receives a second user input (e.g., 650d) corresponding to a selection of an affordance that represents a time period (e.g., selecting a particular day or a forward / backward arrow at the end of the date bar). In some embodiments, selecting the forward / backward arrow scrolls the affordance to a subsequent / previous time period (e.g., the subsequent / previous 7 days). Optionally, in response to receiving the second user input, the device performs the operations of blocks 714, 716, and 718. At block 714, the device replaces the display of the recorded clip of the video with a display of a third recorded clip of the video (e.g., video recorded on the date selected in the date bar, or, if the forward / backward arrow is selected, video recorded 7 days after / before the date on which the currently displayed portion was recorded). At block 716, the device updates the affordance to indicate the time associated with the third recorded clip of the video (e.g., moving the circular indicator from the previous day to the selected day). At block 718, the device updates the scrubber bar to indicate that the third recorded clip of the video corresponds to the representation of the third recorded clip of the video in the scrubber bar (e.g., 624e). Updating the affordance to indicate the time associated with the third recorded clip of the video provides feedback to the user that they can quickly jump between different clips recorded on different days. Additionally, the feedback indicates to the user that they can control the content being displayed by interacting with the date bar. Furthermore, updating the scrubber bar to indicate that the third recorded clip of the video corresponds to the representation of the third recorded clip of the video in the scrubber bar provides feedback to the user regarding the approximate date / time the clip was recorded, as indicated by its position relative to the other clips in the scrubber bar.Providing improved feedback to the user improves usability of the device, makes the user-device interface more efficient (e.g., by assisting the user in providing appropriate input when operating / interacting with the device and reducing user errors), and also reduces power usage and improves the battery life of the device by allowing the user to use the device more quickly and efficiently.
[0229] In some embodiments, the device displays a second affordance (e.g., 636b) (e.g., in response to detecting the first user input). In some embodiments, the second affordance is an icon displayed adjacent to the scrubber bar. Optionally, at block 720, the device detects a third user input (e.g., a tap) corresponding to selection of the second affordance. Optionally, in response to detecting the third user input corresponding to selection of the second affordance, the device performs the operations of blocks 722 and 724. At block 722, the device displays a live video feed (e.g., the feed of FIG. 6B ). At block 724, the device updates the scrubber bar to indicate that a live video feed is being displayed. In some embodiments, the date bar and time indication are removed from the display. Displaying the second affordance (e.g., a “live” icon) provides feedback to the user regarding the current state of the media content being displayed on the device. Specifically, the second affordance provides feedback to the user that the user is no longer viewing the live content and that the user can switch back to the live content by selecting the second affordance. Providing improved feedback to the user improves usability of the device, makes the user-device interface more efficient (e.g., by assisting the user in providing appropriate inputs when operating / interacting with the device and reducing user errors), and additionally reduces power usage and improves the device's battery life by allowing the user to use the device more quickly and efficiently.
[0230] Optionally, at block 726, the device receives data representing a second recorded clip of the video from the first source. Optionally, at block 728, the device displays a representation of the second recorded clip of the video in the scrubber bar (e.g., 624c) in response to receiving the data representing the second recorded clip of the video from the first source.
[0231] In some embodiments, the video media user interface includes a third affordance (e.g., 634b) (e.g., a “share” affordance). Optionally, at block 730, the device detects a fourth user input (e.g., 650e) (e.g., a tap) corresponding to a selection of the third affordance. Optionally, at block 732, in response to detecting the fourth user input corresponding to a selection of the third affordance, the device initiates a process of selecting a segment of the recorded video and sharing the selected segment of the recorded video. In some embodiments, the process of selecting a segment of the recorded video includes displaying an affordance (e.g., a selector handle (e.g., 623a, 623b) on a scrubber bar) for selecting and sharing a portion of the recorded content, and detecting an input on the affordance (e.g., adjusting the selector handle) and a selection of the affordance to specify recipients and a communication method for sharing the selected segment of the recorded video.
[0232] It should be noted that the details of the processes described above with respect to method 700 (e.g., FIGS. 7A-7C) are also applicable in an analogous manner to the methods described below. For example, method 700 optionally includes one or more of the features of the various methods described above with respect to methods 900, 1100, 1300, 1500, 1700, 2100, 2300, 2500, and 2700. For example, the controllable external device described in method 900 may provide a live video feed in method 700. For the sake of brevity, these details will not be repeated below.
[0233] 8A-8J show exemplary user interfaces for displaying video (e.g., live or recorded) from a video source (e.g., a camera) and controlling external devices associated with the source, according to some embodiments. The user interfaces in these figures are used to illustrate processes described below, including the process in FIG.
[0234] 8A shows device 600 displaying a user interface 800 that includes a live video feed from a front door camera (described above) and a scrubber bar 620. In some embodiments, instead of a live video feed from a front door camera, device 600 displays another representation of the video data, such as a notification corresponding to an event associated with the front door camera (e.g., motion detection), as described in more detail below with reference to FIGS.
[0235] The user interface 800 also includes an associated device affordance 636A for accessing controls for at least one controllable external device associated with the front door camera. As shown in FIG. 8A, the associated device affordance 636a is a separate icon next to the scrubber bar 620.
[0236] 8A , device 600 receives (e.g., detects) user input 850a (e.g., a tap) corresponding to selection of associated device affordance 636A. As shown in FIG. 8B , in response to receiving user input 850a, device 600 displays user interface 802 including a menu 804 of device affordances 804a-804f representing respective controllable external devices. One or more of the controllable external devices represented by affordances 804a-804f are associated with the front door camera. In some embodiments, the controllable external device is associated with the front door camera based on at least one of physical proximity to the source of the video data (e.g., the controllable external device and the video source are physically located in the same room or portion of the building), a designated association with the front door camera (e.g., the controllable external device and the video source are manually associated by a user, such as via a graphical user interface), or common functionality with the front door camera. In some embodiments, the controllable external devices and front door camera provide security functionality (e.g., a security camera (video source) is associated with lights (controllable external device(s)) that a user may want to turn on and door locks (more controllable external device(s)) that a user may want to lock (e.g., all exterior doors, including the back door), even if the device is not in physical proximity to the camera). As shown in FIG. 8B , menu 804 is a pop-up menu superimposed on user interface 802. In some embodiments, in response to selection of associated device affordance 636a, device 600 replaces user interface 800 with a separate user interface that includes menu 804 (e.g., stops displaying the live video feed and scrubber bar 620).
[0237] As shown in FIG. 8C , device 600 receives (e.g., detects) user input 850b (e.g., a tap) corresponding to selection of affordance 804e representing a garage door camera. In response to receiving user input 850b, device 600 begins a process to control the selected controllable external device. As shown in FIG. 8D , device 600 stops displaying the live video feed from the front door camera and replaces it with a separate user interface 806 having controls for the garage door camera (e.g., scrubber bar 620, etc.). In some embodiments, the selected device is directly controlled in response to selection of the corresponding affordance. For example, in response to selection of affordance 804b, the front door is unlocked (e.g., device 600 sends a command to the front door lock or sends data to a central controller device indicating that the front door should be unlocked). In some embodiments, instead of directly controlling the selected device, the process of controlling the selected device includes one or more intervening steps (e.g., displaying a menu of operating states of the selected device, receiving input corresponding to selection of one of the states, and sending instructions that cause the selected device to operate in accordance with the selected state).
[0238] 8E, another embodiment for accessing controls for a device associated with a source of video data is described. As shown in FIG. 8E, device 600 displays user interface 808 with a notification 810 representing the front door camera (e.g., with a representative image 810a from the front door camera and the text "front door"). In some embodiments, notification 810 is displayed in response to motion detected by the front door camera. In some embodiments, notification 810 is displayed in response to activation of a device associated with the front door camera (e.g., activation of the front doorbell).
[0239] Notification 810 includes an affordance for accessing controls for at least one controllable external device associated with the front door camera. In some embodiments, the affordance is included in notification 810 itself, which is selectable (e.g., notification 810 is the affordance). In FIG. 8F , device 600 receives (e.g., detects) user input 850c (e.g., a tap) corresponding to selection of notification 810. In response to receiving user input 850c, device 600 displays an image from the front door camera (e.g., a live or paused video stream, a playing or paused recorded video clip, or a notification of the recorded video clip). As shown in FIG. 8G , in response to receiving user input 850c, device 600 removes notification 810 and displays a recorded video clip 812 from the front door camera corresponding to the event that triggered the notification (e.g., detecting cat movement).
[0240] Device 600 also displays affordances 814a-814c for controlling (or accessing controls for) the front door lock, front porch light, and front porch intercom, respectively, all of which are associated with the front door camera. In FIG. 8G, affordances 814a-814c include an indication of the current state of each device. In some embodiments, as shown in FIG. 8J, device 600 displays affordances 816a-816b that indicate the action that will result from selecting the affordance.
[0241] In some embodiments, device 600 displays a video control with an image from a front door camera. As shown in FIG. 8G, device 600 displays a play / pause affordance 818, a scrubber bar 820, and a “live” affordance 822. As shown in FIGS. 8H-8I, device 600 receives user input 850d (e.g., a tap) on “live” affordance 822 and, in response, displays a live video feed from the front door camera (e.g., instead of a recorded clip of video). In FIG. 8I, “live” affordance 822 is modified (compared to FIG. 8H) to indicate that the displayed image is a live video feed.
[0242] 9 is a flow diagram illustrating a method of using an electronic device to display video (e.g., live or recorded) from a video source (e.g., a camera) and control an external device associated with the source, according to some embodiments. Method 900 is performed on a device (e.g., 100, 300, 500, or 600) that includes a display. Some operations of method 900 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0243] As described below, method 900 provides an intuitive way to display video (e.g., live or recorded) from a video source (e.g., a camera) and control external devices associated with the source. This method reduces the cognitive burden on a user to display video (e.g., live or recorded) from a video source (e.g., a camera) and control external devices associated with the source, thereby creating a more efficient human-machine interface. In the case of battery-operated computing devices, allowing a user to more quickly and efficiently display video (e.g., live or recorded) from a video source (e.g., a camera) and control external devices associated with the source conserves power and increases the time between battery charges.
[0244] At block 902, the device displays a first user interface (e.g., 800) including a representation of video data from a source of video data (e.g., a live or paused video stream, a playing or paused recorded clip, a notification of the recorded clip (e.g., 810), etc.) and a first affordance (e.g., 636a) for accessing controls for at least one controllable external device associated with the source of video data. In some embodiments, if the representation of the video data is in the main video browsing UI, the affordance is a separate icon (e.g., next to the scrubber bar). In some embodiments, if the representation of the video data is part of a notification, the notification itself is an affordance. In some embodiments, the representation of the video data includes a live video feed from the source of video data. In some embodiments, the representation of the video data includes a notification corresponding to an event associated with the source of video data. In some embodiments, the notification is displayed in response to motion detected by the source of video data. In some embodiments, the notification is displayed in response to activation of an accessory associated with the source of video data (e.g., a notification associated with a front door camera is displayed in response to activation of a front doorbell).
[0245] At block 904, the device detects a first user input (e.g., 850a, 850c) corresponding to a selection of the first affordance. In some embodiments, the device detects the first user input corresponding to a selection of the first affordance while displaying the first user interface.
[0246] At block 906, the device displays a second user interface (e.g., 802) in response to detecting the first user input. Displaying the second user interface includes displaying at least a second affordance (e.g., 804a-804f, 814a-814c, 816a-816b) representing a first controllable external device of the at least one controllable external device associated with the source of video data. In some embodiments, the at least one controllable external device is associated with the source of video data based on at least one of physical proximity to the source of video data (e.g., the accessory and video source are physically located in the same room or portion of a building), a designated association with the source of video data (e.g., the accessory and video source are manually associated by a user, such as via a graphical user interface), or common functionality with the source of video data. In some embodiments, the accessory and video source provide security functionality (e.g., a security camera is associated with lights that a user may want to turn on and doors that a user may want to lock, even when the camera is not physically proximate to the camera). Displaying a second affordance representing a first controllable external device associated with the source of video data provides feedback to the user that the second affordance is related to the source of video data the user is viewing / has viewed. Thus, the feedback indicates to the user that the second affordance is for controlling the external device associated with the source of video data. Providing improved feedback to the user improves usability of the device, makes the user-device interface more efficient (e.g., by assisting the user in providing appropriate inputs when operating / interacting with the device and reducing user errors), and additionally reduces power usage and improves the device's battery life by allowing the user to use the device more quickly and efficiently.
[0247] Optionally, at block 908, the device displays recorded video (eg, 812) from a source of video data, the recorded video corresponding to an event associated with the source of video data.
[0248] Optionally, at block 910, the device stops displaying the representation of the video data (e.g., 800). In some embodiments in which the representation of the video data includes a live video feed, selecting a second affordance (e.g., 636a) replaces the live video feed with a separate user interface (e.g., 802) having controls for associated accessories (e.g., 804b-804f). In some embodiments in which the representation of the video data includes a notification, selecting the second affordance removes the notification. Stopping displaying the representation of the video data helps prevent the user from losing focus or attention while interacting with the user interface. Providing improved feedback to the user improves device usability and makes the user-device interface more efficient (e.g., by assisting the user in providing appropriate inputs when operating / interacting with the device and reducing user errors), as well as reducing power usage and improving the device's battery life by allowing the user to use the device more quickly and efficiently.
[0249] At block 912, the device detects a selection (e.g., 850b) of a second affordance representing the first controllable external device.
[0250] At block 914, the device initiates a process to control the first controllable external device (e.g., a garage camera) in response to detecting a selection of the second affordance representing the first controllable external device. In some embodiments, initiating the process allows for either direct control of the external device in response to the selection of the affordance, or an intervening step (e.g., displaying a menu of accessory states that can then be selected to control the accessory).
[0251] It should be noted that the details of the process described above with respect to method 900 (FIG. 9) 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, 1100, 1300, 1500, 1700, 2100, 2300, 2500, and 2700. For example, the controllable external device described in method 900 may provide a live video feed in method 700. For the sake of brevity, these details will not be repeated below.
[0252] 10A-10J show exemplary user interfaces for displaying and navigating video (e.g., live or recorded) from multiple sources of video data (e.g., multiple cameras), according to some embodiments. The user interfaces in these figures are used to illustrate processes described below, including the processes in FIGS. 11A-11C.
[0253] 10A shows device 600 displaying a home user interface 604 of an application for managing devices associated with location 123 Main St. (as illustrated and described above with reference to FIG. 6A ). In some embodiments, home user interface 604 is displayed pursuant to a determination that device 600 is oriented in portrait (e.g., upright) orientation.
[0254] 10B, in response to determining that device 600 is oriented in landscape orientation (e.g., in response to device 600 being physically rotated from the portrait orientation of FIG. 10A to the landscape orientation of FIG. 10B), device 600 displays user interface 1000 focused on a source of video data (e.g., cameras 1-6). As shown in FIG. 10B, user interface 1000 includes camera representations 1010a-1010f (e.g., images) of the source of video data depicted in FIG. 10A. In some embodiments, camera representation 1010 is a zoomed-in and rotated version of camera representation 610 shown in FIG. 10A.
[0255] In some embodiments, device 600 detects a change in orientation (e.g., from portrait to landscape) and accordingly replaces user interface 604 with user interface 1000. In some embodiments, device 600 detects a change in orientation (e.g., from landscape to portrait) and accordingly replaces user interface 1000 with user interface 604.
[0256] Camera representations 1010a-1010f include status indicators 1012a-1012f for each source of video data to indicate the operating mode associated with the respective source. Status indicators 1012a, 1012b, 1012d, and 1012f indicate that the corresponding source of data is configured to operate in a "stream" mode, in which the source provides a live video feed (which is not recorded). Status indicator 1012c indicates that the corresponding source of data is configured to operate in a "stream and record" mode, in which the source provides a live video feed that will be recorded according to certain criteria, and status indicator 1012e indicates that the corresponding source of data is configured to operate in an "off" mode, in which the corresponding source does not provide a live video feed. Because the source corresponding to image 1012e is "off," the image is grayed out or blurred and includes a camera icon with a line through it to indicate that live video is not currently available (e.g., the image is a blurred image of the most recent frame of video captured by the source).
[0257] As shown in FIG. 10B , user interface 1000 also includes a composite scrubber bar 1020. Composite scrubber bar 1020 includes an interactive, elongated region on the display containing representations of media content that can be scrolled along a direction parallel to the elongation direction. In some embodiments, the media content (e.g., video) can be played at any speed and at variable speeds based on characteristics (e.g., the rate of received user input). Composite scrubber bar 1020 can include representations of media content from one or more sources of video data available to device 600. As shown in FIG. 10B , composite scrubber bar 1020 includes composite clip representations 1024 a and 1024 b. In some embodiments, the composite clip representations represent recorded video from two or more sources. Composite clip representation 1024 a represents a recorded clip of video from only camera 6 (the garage camera), and composite clip representation 1024 b represents a recorded clip of video from both camera 1 (the front door camera) and camera 4 (the children's room camera). In FIG. 10B , composite clip representation 1024b represents recorded video from both camera 1 and source 4 by including thumbnail 1024b-1 of a recorded image from camera 1 and thumbnail 1024b-2 of a recorded image from camera 4. In some embodiments, the composite clip representation in scrubber bar 1020 represents a continuous duration of time during which recorded video is available from at least one source (e.g., there is no time represented by the composite clip representation during which recorded video is not available for any source). In some embodiments, scrubber bar 1020 includes some or all of the features of scrubber bar 620. For example, as a new recorded clip of video from any of the sources of video associated with a location becomes available, the recorded clip is received by device 600, and a corresponding composite clip representation of the newly recorded clip is added to scrubber bar 1020 (e.g., similar to the techniques described with reference to FIGS. 6C-6E ).In some embodiments, the newly recorded clip is represented separately from any existing composite clip representation(s) of the video content from the video source (e.g., if the other source was not recording video while the newly recorded clip of video was being recorded). In some embodiments, the existing composite clip representation of the recorded video content is modified to represent the newly recorded clip of video (e.g., if the newly recorded clip of video overlaps with a recording from another source).
[0258] In some embodiments, the composite clip representation 1024 includes some or all of the features of the clip representation 624. As shown in Figure 10C, the device 600 receives (e.g., detects) a user input 1050a (e.g., a tap) on the scrubber bar 1020 at the composite clip representation 1024b. In some embodiments, the user input 1050a includes a swipe on the display 602 (e.g., a left-to-right swipe on the area including the live video feed or on the scrubber bar 1020).
[0259] In response to receiving the user input 1050a, the device 600 displays an image from the camera corresponding to the time associated with the user input 1050a and updates the scrubber bar 1020 to reflect the selected time.
[0260] As shown in FIG. 10D , device 600 replaces the live video feeds of cameras 1-6 with images associated with cameras 1-6 from the time the video clip corresponding to clip representation 1024b was recorded. Image 1010d includes the clip corresponding to composite clip representation 1024b. Because recorded video from cameras 1 and 6 associated with images 1010a and 1010f is also available for the selected time (e.g., January 28, 7:08 PM), images 1010a and 1010f are also replaced with recorded video from their respective cameras. Because recorded video from cameras 2, 3, and 5 associated with images 1010b, 1010c, and 1010e is not available at the selected time (e.g., cameras 2, 3, and 5 were not providing live video or were providing live video that was not recorded at the selected time), images 1010b, 1010c, and 1010e are replaced with an indication that recordings are not available.
[0261] 10D, the composite scrubber bar 1020 is updated (e.g., scrolled) to align the portion of the composite scrubber bar 1020 that corresponds to the displayed image with the currently displayed indicator 1022. The device 600 also displays a date and time indicator 1028 above the composite scrubber bar 1020 to indicate the date and time the displayed image was recorded.
[0262] As shown in Figure 10D, user interface 1000 includes a "live" affordance 1036. Compared to Figures 10B-10C, "live" affordance 1036 is modified (e.g., grayed out) to indicate that the displayed image in Figure 10D is not a live video feed. In some embodiments, device 600 receives input corresponding to the selection of "live" affordance 1036 and, in response, reverts to a live video feed from a camera where a live video feed is available and updates scrubber bar 1020 to indicate that the displayed video(s) are a live video feed.
[0263] In some embodiments, user interface 1000 is scrolled to display one or more images from an additional source (e.g., a camera) of video available to device 600. As shown in FIG. 10E, device 600 receives (e.g., detects) user input 1050b (e.g., a right-to-left swipe on display 602). As shown in FIG. 10F, in response to receiving user input 1050b, device 600 scrolls user interface 1000, including images 1010a-1010f, to display (e.g., show) image 1010g, which corresponds to a seventh source of video data available to device 600 (e.g., camera 7, an office camera).
[0264] In some embodiments, the composite scrubber bar 1020 is scrolled forward to a different time. As shown in FIG. 10G, the device 600 receives (e.g., detects) a user input 1050c (e.g., a right-to-left swipe on the scrubber bar 1020) corresponding to the selection of a time after the time associated with the currently displayed image (January 28, 7:09 PM). As shown in FIG. 10H, the device 600 replaces the image displayed in FIG. 10G with an image from each camera corresponding to the newly selected time (January 28, 7:29 PM). The device 600 also updates the composite scrubber bar 1020 to reflect the newly selected time (January 28, 7:29 PM). As indicated by the composite scrubber bar 1020, the newly selected time is a later time represented in the composite clip representation 1024a. As shown in FIG. 10H, recorded video from cameras 3, 6, and 7 is available at the newly selected time (January 28, 7:29 PM).
[0265] In some embodiments, image 1010 can be selected to display a user interface dedicated to the source corresponding to the selected image (e.g., images 1010a-1010g and composite scrubber bar 1020 are replaced with a scrubber bar (e.g., 620) representing images from the selected source and media content from only the selected source). As shown in FIG. 10I, device 600 receives (e.g., detects) user input 1050d (e.g., a tap) corresponding to the selection of image 1010g. As shown in FIG. 10J, in response to receiving user input 1050d, device 600 displays user interface 1002 that includes, among other things, an enlarged version of the recorded video from camera 7 for the time corresponding to FIG. 10I (January 28, 7:29 PM) and scrubber bar 1040 that includes representations 1044a-1044c of recorded clips of video from camera 7 only. In some embodiments, user interface 1002 is similar to user interface 608 of FIG. 6G. For example, controls on user interface 1002 (e.g., scrubber bar 1040, date bar 1060, "live" affordance 1062, etc.) can be used to navigate through video (e.g., live or recorded) from camera 7. Similarly, referring again to, for example, FIG. 10B, in response to selection of, for example, image 1010a, device 600 displays a user interface similar to FIG. 6B that includes, among other things, an enlarged view of the live video feed from camera 1 and a scrubber bar that includes a representation of a recorded clip of video from camera 1 only, and that indicates that the displayed video is a live video feed.
[0266] 11A-11C are flow diagrams illustrating a method for displaying and navigating video (e.g., live or recorded) from multiple sources of video data (e.g., multiple cameras) using an electronic device, according to some embodiments. Method 1100 is performed on a device (e.g., 100, 300, 500, or 600) that includes a display. Some operations of method 1100 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0267] As described below, method 1100 provides an intuitive way to display and navigate video (e.g., live or recorded) from multiple sources of video data (e.g., multiple cameras). This method reduces the cognitive burden on a user to view and navigate video (e.g., live or recorded) from multiple sources of video data (e.g., multiple cameras), thereby creating a more efficient human-machine interface. In the case of battery-operated computing devices, allowing a user to view and navigate video (e.g., live or recorded) from multiple sources of video data (e.g., multiple cameras) faster and more efficiently conserves power and increases the time between battery charges.
[0268] At block 1102, a device displays a user interface (e.g., 1000) at a first time, the user interface including a first live video feed (e.g., 1010a-1010f) from a first source at a first location in the user interface and a second live video feed (e.g., 1010a-1010f) from a second source at a second location in the user interface, and a scrubber bar (e.g., 1020) including representations (e.g., 1024a, 1024b) of recorded video content from at least one of the first source or the second source (e.g., rounded rectangles or shaded regions of the scrubber bar). In some embodiments, the scrubber bar is an interactive, elongated region on the display that includes representations of media content that can be scrolled along a direction parallel to the elongation direction. In some embodiments, the media content (e.g., video) can be played at any speed and at variable speeds based on characteristics (e.g., the speed of received user input). In some embodiments, the representations of recorded video content have a visual width within the scrubber bar that is proportional to the duration of the recorded video content. In some embodiments, the scrubber bar further includes an indication of periods when recorded video is unavailable. In some embodiments, periods when recorded video is unavailable from any source are indicated by a space (e.g., a solid color or a dot) between the representations of the recorded video content. In some embodiments, the indication of periods when recorded video is unavailable is independent of the duration of the period. In some embodiments, the distance on the scrubber bar between two representations of recorded video content is independent of the amount of time the recorded video content is unavailable (e.g., the distance is fixed). In some embodiments, the distance on the scrubber bar between two representations of recorded video content is variable (e.g., the distance is based on (e.g., directly proportional to) the amount of time the recorded video content is unavailable). In some embodiments, the scrubber bar further includes an indication of the boundary between a first day and a second day.In some embodiments, the boundary between the two days is indicated by a vertical line on or through the scrubber bar. In some embodiments, the user interface further includes an indication of the operating state of the first source and an indication of the operating state of the second source. In some embodiments, the operating state of the source is one of "off" (not streaming or recording), "live" (streaming but not recording), and "recording" (streaming and, for example, recording if motion is detected).
[0269] At block 1104, the device detects user input (e.g., 1050a) (e.g., a right swipe on the scrubber bar or a tap on a clip). In some embodiments, the device detects the user input while displaying a user interface. In some embodiments, the user input includes a swipe on a touch-sensitive surface of the electronic device. In some embodiments, the swipe is a left-to-right swipe on a touch-sensitive display (e.g., on a live video feed or on the scrubber bar). In some embodiments, the second time is based on the length or speed of the swipe (e.g., a shorter or slower swipe will display more recently recorded content than a longer or faster swipe). In some embodiments, the user input includes a tap on the touch-sensitive surface of the electronic device, the tap having a location on the scrubber bar that corresponds to the second time.
[0270] In response to detecting user input (e.g., 1050a), the device performs the operations of blocks 1106, 1108, and 1110. At block 1106, the device replaces a first live video feed (e.g., 1010f in FIG. 10B) with a first image associated with a first source in a first location in the user interface (e.g., 1010f in FIG. 10D). The first image is associated with data from the first source at a second time prior to the first time. In some embodiments, the image associated with the first source is a frame of recorded video captured by the first source at the second time. In some embodiments, the image associated with the first source is a “placeholder image” (e.g., 1010b in FIG. 10D) indicating that no recorded video data is available from the first source corresponding to the second time. In some embodiments, the first image is blurred in accordance with the lack of available recorded video from the first source at the second time (e.g., the first source did not provide recorded video at the second time). In some embodiments, the first image is a blurred image of the most recent frame of video captured by the first source. Replacing the first live video feed with the first image associated with the first source provides the user with feedback regarding the current state of the media content being displayed on the device. The feedback indicates to the user that the user is no longer viewing the live video feed of the first source. Providing improved feedback to the user improves usability of the device, makes the user-device interface more efficient (e.g., by assisting the user in providing appropriate inputs when operating / interacting with the device and reducing user errors), and also reduces power usage and improves the device's battery life by allowing the user to use the device more quickly and efficiently.
[0271] At block 1108, the device replaces the second live video feed (e.g., 1010d of FIG. 10B) with a second image associated with the second source in a second location in the user interface (e.g., 1010d of FIG. 10D). The second image is associated with data from the second source at a second time. In some embodiments, the image associated with the second source is a frame of recorded video captured by the second source at the second time. In some embodiments, the image associated with the second source is a “placeholder image” (e.g., 1010e of FIG. 10D) indicating that there is no recorded video data available from the second source corresponding to the second time. Replacing the second live video feed with the second image associated with the second source provides feedback to the user regarding the current state of the media content being displayed on the device. The feedback indicates to the user that the user is no longer viewing the live video feed of the second source. Providing improved feedback to the user improves usability of the device, makes the user-device interface more efficient (e.g., by assisting the user in providing appropriate input when operating / interacting with the device and reducing user errors), and also reduces power usage and improves the battery life of the device by allowing the user to use the device more quickly and efficiently.
[0272] At block 1110, the device updates the scrubber bar to show a portion of the representation of the recorded video content corresponding to the second time. In some embodiments, a pointer element (e.g., 1022) is moved to the portion of the scrubber bar corresponding to the second time. In some embodiments, the representation of the video content in the scrubber bar is scrolled so that the representation corresponding to the second time is displayed at a fixed position (e.g., center) within the scrubber bar. In some embodiments, updating the scrubber bar includes translating the representation of the recorded video content. Updating the scrubber bar to show a portion of the representation of the recorded video content corresponding to the second time provides feedback to the user regarding the current state of the media content being displayed on the device. The feedback indicates to the user that the user is no longer viewing a live video feed. Additionally, the feedback indicates to the user that the user can control the content being displayed by interacting with the scrubber bar. Furthermore, the feedback indicates to the user the approximate date / time the clip was recorded, as indicated by its position relative to other clips in the scrubber bar. Providing improved feedback to the user improves usability of the device, makes the user-device interface more efficient (e.g., by assisting the user in providing appropriate input when operating / interacting with the device and reducing user errors), and also reduces power usage and improves the battery life of the device by allowing the user to use the device more quickly and efficiently.
[0273] In some embodiments, further in response to detecting the user input, the device displays an affordance (e.g., 1036) (block 1112). In some embodiments, the affordance is a “live” icon (e.g., 1036), for example, displayed adjacent to a scrubber bar. Optionally, at block 1114, the device detects a second user input (e.g., a tap) corresponding to selection of the affordance (e.g., 1036). Optionally, in response to detecting the second user input corresponding to selection of the affordance, the device performs the operations of blocks 1116, 1118, and 1120. At block 1116, the device replaces a first image (e.g., 1010f in FIG. 10D ) associated with the first source with a first live video feed from the first source (e.g., 1010f in FIG. 10B ). At block 1118, the device replaces a second image associated with the second source (e.g., 1010d in FIG. 10D) with the second live video feed (e.g., 1010d in FIG. 10B). At block 1120, the device updates the scrubber bar to indicate that the first and second live video feeds are being displayed (e.g., FIG. 10B). In some embodiments, the content in the scrubber bar is scrolled to the left. In some embodiments, the indicator is moved to the right. Displaying an affordance (e.g., a "live" icon) provides the user with feedback regarding the current state of the media content being displayed on the device. Specifically, the affordance provides the user with feedback that the user is no longer viewing the live content and that the user can switch back to the live content by selecting the affordance. Furthermore, replacing the first and second images with the first and second live video feeds, respectively, and / or updating the scrubber bar provides the user with feedback regarding the current state of the media content being displayed on the device. The feedback indicates to the user that they are currently viewing a live video feed.Providing improved feedback to the user improves usability of the device, makes the user-device interface more efficient (e.g., by assisting the user in providing appropriate input when operating / interacting with the device and reducing user errors), and also reduces power usage and improves the battery life of the device by allowing the user to use the device more quickly and efficiently.
[0274] Optionally, at block 1122, the device detects a third user input (e.g., 1050c) (e.g., a right-to-left swipe on the display). Optionally, at block 1124, in response to detecting the third user input, the device displays a third image associated with a third source not represented on the user interface at the first time. In some embodiments, if the number of sources of video data exceeds the number of images displayed on the first user interface, the user interface is scrollable to initially display images from sources not represented on the user interface (e.g., live video feeds or recorded images).
[0275] Optionally, at block 1126, the device detects a fourth user input (e.g., 1050d) corresponding to selecting a first location on the user interface. In some embodiments, the fourth user input is a contact (e.g., a single tap, a double tap, or a press having a characteristic intensity above a threshold intensity) on the first live video feed or first image (e.g., 1010g) associated with the first source. Optionally, at block 1128, the device enlarges the first live video feed from the first source at a second time, or the first image associated with data from the first source, in response to detecting the fourth user input. In some embodiments, images from all other sources are removed from the display. In some embodiments, a scrubber bar (e.g., 1040) representing content from the first source is displayed (e.g., a composite scrubber bar replaces the scrubber bar for only the first source).
[0276] Optionally, at block 1130, the device receives data representing a first recorded clip of video from a first source (e.g., after a first time). Optionally, at block 1132, in response to receiving the data representing the first recorded clip of video from the first source, the device updates a scrubber bar (e.g., 1020) to represent the first recorded clip of video (e.g., 1024a). In some embodiments, the first recorded clip of video is represented separately from existing representation(s) of video content from the video source (e.g., if other sources were not recording video while the first recorded clip of video was being recorded). In some embodiments, the existing representation of the recorded video content is altered to represent the first recorded clip of video (e.g., if the first recorded clip of video overlaps with recording from another source).
[0277] Optionally, at block 1134, the device detects a rotation of the electronic device (e.g., a rotation from landscape to portrait). Optionally, at block 1136, the device, in response to detecting a rotation of the electronic device, replaces the user interface (e.g., 1000) with a second user interface (e.g., 604), the second user interface including a live video feed from the first source and information associated with a location associated with the first source. In some embodiments, the second user interface is a home screen or status screen for a location associated with the first and second sources, including location information or accessory status (e.g., lights on / off, doors locked / unlocked, etc.). Replacing the user interface with the second user interface in response to detecting a rotation of the device provides the user with more control of the device by providing access to an alternative user interface without having to select a displayed user interface element. Providing additional control without cluttering the UI with additional displayed controllers enhances usability of the device, makes the user-device interface more efficient (e.g., by assisting the user in providing appropriate inputs when operating / interacting with the device and reducing user errors), and also reduces power usage and improves battery life of the device by allowing the user to use the device more quickly and efficiently.
[0278] It should be noted that the details of the processes described above with respect to method 1100 (e.g., FIGS. 11A-11C) are also applicable in an analogous manner to the methods described above / below. For example, method 1100 optionally includes one or more of the features of the various methods described above with respect to methods 700, 900, 1300, 1500, 1700, 2100, 2300, 2500, and 2700. For example, the controllable external device described in method 900 may provide a live video feed in method 1100. For the sake of brevity, these details will not be repeated below.
[0279] 12A-12T show exemplary user interfaces for configuring sources of video data for different contexts, according to some embodiments. The user interfaces in these figures are used to illustrate processes described below, including the process in FIG.
[0280] FIG. 12A shows device 600 displaying user interface 604 (e.g., FIG. 6A). As shown in FIG. 12A, device 600 receives (e.g., detects) user input 1250a (e.g., a left swipe within the area of display 602 corresponding to camera image 610). As shown in FIG. 12B, in response to receiving user input 1250a, device 600 scrolls camera images 610 to fully reveal image 610c (partially obscured in FIG. 12A) and display image 610g (fully obscured in FIG. 12A). As shown in FIG. 12C, device receives (e.g., detects) user input 1250b (e.g., a tap) corresponding to selection of image 610c representing camera 3, the living room camera. As shown in FIG. 12D, in response to receiving user input 1250b, device 600 displays the individual camera user interface 1200 for the living room camera. The individual camera user interface 1200 is similar to, for example, the individual camera user interface 608 of the front door camera shown in FIG. 6B.
[0281] The individual camera user interface 1200 includes a settings affordance 1202. As shown in Figure 12D, the device 600 receives (e.g., detects) a user input 1250c (e.g., a tap) corresponding to selection of the settings affordance 1202.
[0282] In response to receiving user input 1250c, device 600 displays a settings user interface for the source of video data (e.g., camera 3) associated with user interface 1200. As shown in FIG. 12E , device 600 displays settings user interface 1204. Settings user interface 1204 includes, among other things, a graphical representation, a name, and a location associated with the camera. Settings user interface 1204 also includes affordance 1206 for designating the camera (e.g., as a favorite accessory). In some embodiments, if camera 3 is designated (e.g., the toggle button of affordance 1206 is located to the right), device 600 displays a representation of camera 3 on home user interface 604. In some embodiments, if camera 3 is not designated (e.g., the toggle button of affordance 1206 is located to the left), device 600 does not display a representation of camera 3 on home user interface 604.
[0283] The settings user interface 1204 also includes affordance 1208 for displaying camera 3 settings related to streaming and recording, affordance 1210 for displaying settings related to data storage (e.g., storage of video recordings from camera 3 and other sources), and affordance 1212 for displaying settings related to status and notifications associated with camera 3.
[0284] As shown in FIG. 12F, device 600 receives (e.g., detects) user input 1250d (e.g., a tap) corresponding to selection of affordance 1208. As shown in FIG. 12G, in response to receiving user input 1250d, device 600 displays streaming and recording user interface 1214. Streaming and recording user interface 1214 includes affordances 1216a-1216c associated with a first context in which at least one person associated with the location of the source of the video data is determined to be present at the location (e.g., someone is home). Streaming and recording user interface 1214 also includes affordances 1218a-1218c associated with a second context in which a person associated with the location of the source of the video data is determined to be absent from the location (e.g., no one is home). In some embodiments, the first context and the second context are predetermined. In some embodiments, the presence of a person at a location is determined based on detecting that a device (e.g., a smartphone) associated with the person is present at the location. In some embodiments, determining whether a person is present at a location is based on the locations of two or more devices associated with the person, for example, a person associated with two or more devices is considered to be away from a location if any one of the devices is determined to be away from the location.
[0285] Affordances 1216a-1216c correspond to the respective available operating modes of the source of video data in the first context (e.g., camera off, stream video, stream and recorded video). Affordances 1218a-1218c correspond to the respective available operating modes of the source of video data in the second context (e.g., camera off, stream video, stream and recorded video). In some embodiments, the available operating modes are predetermined. As shown in FIG. 12G, the operating mode "off" is selected as the default mode for the first and second contexts, as indicated by check mark indicators 1220a and 1220b, respectively.
[0286] As shown in Figure 12H, device 600 receives (e.g., detects) user input 1250e (e.g., a tap) corresponding to affordance 1216b and selection of the operational mode "Stream" for the first context. As shown in Figure 12I, in response to receiving user input 1250e, device 600 moves checkmark affordance 1220a from "Off" to "Stream."
[0287] As shown in Figure 12I, device 600 receives (e.g., detects) user input 1250f (e.g., a tap) corresponding to affordance 1218c and selection of the operational mode "Stream and Record" for the second context. As shown in Figure 12J, in response to receiving user input 1250f, device 600 moves checkmark affordance 1220b from "Off" to "Stream and Record."
[0288] In some embodiments, device 600 provides the ability to select an exception to the first context or the second context. For example, as shown in FIG. 12K, device 600 receives (e.g., detects) user input 1250g (e.g., a tap) corresponding to selection of affordance 1222 (“Ignore motion in some areas”) on user interface 1214. In response to receiving user input 1250g, device 600 displays a user interface for selecting an exception to the first context or the second context. As shown in FIG. 12L, in response to receiving user input 1250g, device 600 displays user interface 1224 (e.g., replaces user interface 1214 with user interface 1224). User interface 1224 includes a field of view 1226 of a living room camera. In some embodiments, the displayed field of view 1226 includes a captured still image or a live video stream of the field of view.
[0289] In some embodiments, device 600 receives input corresponding to a selection of a portion of the field of view. As shown in Figures 12M-12O, device 600 receives (e.g., detects) contact 1250h that moves along path 1228 (e.g., a freeform path) on display 602. Contact 1250h corresponds to a selection of portion 1230 of the field of view bounded by path 1228, as shown in Figure 12P. In some embodiments, the rectangular portion of the field of view is selected by a sequence of one or more user inputs corresponding to a selection of a first corner of the rectangular portion and a second corner of the rectangular portion diagonally relative to the first corner.
[0290] As shown in FIG. 12P, in response to contact 1250h ceasing to be detected on display 602, device 600 visually distinguishes selected portion 1230 from the remainder of field of view 1226. In some embodiments, the device detects the selection of two or more distinct portions of the field of view (e.g., by detecting two or more distinct contacts). In the embodiments shown in FIGS. 12M-12P, the exceptions to the first context or second context are based on the selected portion(s) of the field of view.
[0291] In some embodiments, exceptions apply to certain operating modes. As shown in Figures 12M-12P, exceptions apply to the "stream and record" mode. In some embodiments, according to the "stream and record" mode, access to a live video stream from a corresponding source of video data is provided, and video is recorded when an event (e.g., motion) is detected in the captured video.
[0292] In the embodiments shown in FIGS. 12M-12P, the exceptions include not operating the living room camera according to the "stream and record" mode if the exceptions apply so that video is not recorded in response to an event (e.g., motion) detected in the selected portion of the field of view, even if the "stream and record" mode is selected and a corresponding context is applied (e.g., the "stream and record" mode is selected for a first context and someone is determined to be present in the location). In some embodiments, the exceptions do not apply to at least one operating mode. In the illustrated embodiments, the "off" mode and the "stream" mode are independent of whether activity (e.g., motion) is detected and therefore are not affected by the exceptions.
[0293] 12Q, after a portion or portions of the field of view are selected, device 600 receives (e.g., detects) user input 1250i (e.g., a tap) corresponding to selection of “Done” affordance 1232. In response to receiving user input 1250i, device 600 returns to user interface 1214, as shown in FIG.
[0294] As shown in FIG. 12R, the device receives (e.g., detects) user input 1250j (e.g., a tap) corresponding to selection of the “Done” affordance 1234. As shown in FIG. 12S, in response to receiving user input 1250j, device 600 displays menu 1236 confirming that the living room camera will operate according to the selected mode (e.g., “Stream and Record”) and that the first and second contexts are based on the location of device 600 relative to external devices (e.g., the presence of a user at the location is determined based on the location of device 600 relative to external devices). In some embodiments, the external device is a hub device (e.g., an Apple TV or iPad). In some embodiments, the hub device stores device or user profiles or sends control instructions (e.g., commands) to a source of video data.
[0295] 12S, device 600 receives (e.g., detects) user input 1250k (e.g., a tap) corresponding to selection of “OK” affordance 1238. In the illustrated embodiment, in response to user input 1250k, device 600 transmits instructions to set a configuration profile for a source of video data according to a selected operating mode of the first context (e.g., “Stream”) and a selected operating mode of the second context (e.g., “Stream and Record”) (e.g., based on user input 1250e and user input 1250f).
[0296] In the illustrated embodiment, in response to user input 1250k, device 600 also transmits data representing the selected exception (e.g., device 600 transmits instructions to set the configuration profile of the source of video data to operate in accordance with the selected exception). In some embodiments, device 600 transmits instructions to set the configuration profile of the source of video data and / or data representing the selected exception in response to receiving user input 1250i, user input 1250j, or user input 1250k. In some embodiments, the instructions to set the configuration profile of the source of video data and / or the data representing the selected exception are transmitted to an external device other than the first controllable external device. In some embodiments, the instructions to set the configuration profile of the source of video data and / or the data representing the selected exception are transmitted to a hub device (e.g., an Apple TV or iPad).
[0297] As shown in FIG. 12T, in response to user input 1250k, device 600 displays (eg, returns to) settings user interface 1204.
[0298] 13 is a flow diagram illustrating a method for configuring sources of video data for different contexts using an electronic device, according to some embodiments. Method 1300 is performed on a device (e.g., 100, 300, 500, or 600) that includes a display. Some operations of method 1300 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0299] As described below, method 1300 provides an intuitive way to configure sources of video data for different contexts. This method reduces the cognitive burden on a user to configure sources of video data for different contexts, thereby creating a more efficient human-machine interface. In the case of battery-operated computing devices, allowing users to configure sources of video data for different contexts faster and more efficiently conserves power and increases the time between battery charges.
[0300] At block 1302, the device displays a user interface (e.g., 1214) including a first plurality of affordances (e.g., 1216a-1216c) associated with a first context (e.g., someone is home) and a second plurality of affordances (e.g., 1218a-1218c) associated with a second context (e.g., no one is home), where the first plurality of affordances correspond to respective available operating modes (e.g., camera off, stream video, stream and record video) of a first controllable external device (e.g., camera) in the first context, and the second plurality of affordances correspond to respective available operating modes (e.g., camera off, stream video, stream and record video) of the first controllable external device in the second context. In some embodiments, the first context and the second context are predetermined. In some embodiments, the first context is based on the presence of a person at a location associated with the first controllable external device. In some embodiments, the first context is determined to be that at least one person is present at the location. In some embodiments, the second context is based on the presence of a person at a location associated with the first controllable external device. In some embodiments, the second context is determining that a person is not at the location. In some embodiments, the presence of a person is determined based on detecting that a device (e.g., a smartphone) associated with the person is at the location. In some embodiments, the presence of a person at the location is determined based on the location of a first electronic device associated with the person and the location of a second electronic device associated with the person. In some embodiments, a person associated with more than one electronic device is considered to be away from a location if any one of the devices is determined to be away from the location. In some embodiments, the available operating modes of the first controllable external device in the first context are predetermined operating modes.In some embodiments, the available operating modes of the first controllable external device in the second context are predetermined modes. Displaying a first plurality of affordances and a second plurality of affordances, both corresponding to the controllable external device, provides the user with the ability to configure the external device for different contexts through a single user interface. Furthermore, presenting different contexts within a single user interface indicates to the user that these different contexts are associated with the same external device. Providing improved feedback to the user improves device usability, makes the user-device interface more efficient (e.g., by assisting the user in providing appropriate inputs when operating / interacting with the device and reducing user errors), and also reduces power usage and improves device battery life by allowing the user to use the device more quickly and efficiently.
[0301] At block 1304, the device detects (e.g., while displaying a first user interface) a first user input (e.g., 1250e) at a location on the display corresponding to a first affordance within a first plurality of affordances, the first affordance corresponding to a first operating mode of each available operating mode of the first controllable external device in the first context.
[0302] At block 1306, the device detects (e.g., while displaying the first user interface) a second user input (e.g., 1250f) at a location on the display corresponding to a second affordance within the second plurality of affordances, the second affordance corresponding to a second operating mode of each available operating mode of the first controllable external device in the second context.
[0303] Optionally, at block 1308, the device detects a third user input (e.g., 1250g) representing a selection of an exception to the first context or the second context. In some embodiments, the exception applies to a particular operating mode (e.g., "stream and record" mode) in which video is not recorded if the exception applies (e.g., motion is detected in the designated area) even if the first and second contexts apply. In some embodiments, the exception does not apply to at least one operating mode (e.g., "off" mode and "stream" mode are independent of whether motion is detected in the designated area).
[0304] In some embodiments, the first controllable external device includes a video camera. Optionally, at block 1310, the device displays a field of view (e.g., 1226) of the video camera, and the third user input includes selecting a portion of the field of view. In some embodiments, the displayed field of view includes a captured image or a live video stream of the field of view. In some embodiments, the third user input includes a freeform input (e.g., 1250h) encompassing a portion of the field of view. In some embodiments, the third user input includes selecting a rectangular portion of the field of view by selecting a first corner of the rectangular portion and a second corner of the rectangular portion diagonally relative to the first corner. In some embodiments, the exception to the first context or the second context includes not operating the first controllable external device according to the first mode of operation in the first context, or not operating the first controllable external device according to the second mode of operation in the second context, in response to an event being detected within the selected portion of the field of view.
[0305] Optionally, at block 1312, the device transmits data representing the selected exception (e.g., transmits instructions to set the configuration profile of the first controllable external device to operate in accordance with the selected exception).
[0306] At block 1314, the device (e.g., after detecting the first user input and the second user input) transmits instructions to set a configuration profile of the first controllable external device according to a first operating mode for the first context and a second operating mode for the second context based on the first user input (e.g., 1250e) and the second user input (e.g., 1250f). In some embodiments, the instructions are transmitted to an external device other than the first controllable external device. In some embodiments, the instructions are transmitted to a hub device (e.g., an Apple TV or iPad). In some embodiments, the hub device stores a device or user profile or transmits control instructions (e.g., commands) to the first controllable external device.
[0307] It should be noted that the details of the process described above with respect to method 1300 (FIG. 13) are also applicable in an analogous manner to the methods described above / below. For example, method 1300 optionally includes one or more of the features of the various methods described above with respect to methods 700, 900, 1100, 1500, 1700, 2100, 2300, 2500, and 2700. For example, the controllable external device described in method 900 may be the controllable external device of method 1300 for which the configuration profile is set. For the sake of brevity, these details will not be repeated below.
[0308] 14A-14W show exemplary user interfaces for configuring a source of video data (e.g., a camera), according to some embodiments. The user interfaces in these figures are used to illustrate processes described below, including the processes in FIGS. 15A-15B.
[0309] FIG. 14A shows device 600 displaying a home user interface 604. Device 600 receives (e.g., detects) user input 1450a (e.g., a tap) corresponding to selection of add accessory affordance 606. As shown in FIG. 14B, in response to receiving user input 1450a, device 600 displays a prompt 1402 for data (e.g., a code) identifying a new source of video data (e.g., a new camera). As shown in FIG. 14B, prompt 1402 instructs the user to scan or manually enter a code (e.g., an alphanumeric code or quick response code on the device or device packaging that identifies the type of device or a specific device). As shown in FIG. 14B, device 600 also activates an image sensor (e.g., a camera) on device 600 and displays an image 1404 captured by the image sensor that includes a portion of code 1406 for the new source of video data.
[0310] As shown in Figure 14C, device 600 receives code 1406 (e.g., code 1406 is automatically identified when the entire code is placed within the field of view of the image sensor). As shown in Figure 14D, in response to receiving code 1406, device 600 displays user interface 1408 indicating that a new source of video data has been added to the location (123 Main St.).
[0311] After a new source of video data is added, device 600 displays a menu for selecting one or more operating states of the source of video data, where the one or more operating states are associated with respective contexts. As shown in FIG. 14E, after a new sour...
Claims
1. In an electronic device having a display, receiving data identifying a source of the video data; after receiving the data identifying the source of the video data; displaying a first user interface including a menu for selecting an operating state of the source of video data; detecting a first input corresponding to a selection of an operating state of the source of video data while displaying the menu for selecting the operating state of the source of video data; In response to detecting the first input, displaying an option affordance in accordance with a determination that the selected operational state includes a recording state; and Detecting activation of the option affordance; and In response to detecting activation of the option affordance, Displaying a plurality of motion detection affordances, the plurality of motion detection affordances comprising: a first motion detection affordance corresponding to a first motion detection condition; and a second motion detection affordance corresponding to a second motion detection condition different from the first motion detection condition; displaying a plurality of motion-sensing affordances, including: detecting a second input corresponding to a selection of the first motion detection condition; subsequent to detecting the second input, transmitting information that sets a configuration profile of the source of video data according to the selected operating state and the selected first motion detection condition; A method comprising:
2. The method of claim 1 , wherein the configuration profile causes the source of video data to begin recording when the selected first motion detection condition is met.
3. In response to detecting the first input, ceasing to display the option affordance in accordance with a determination that the selected operational state does not include the recording state; The method of claim 1 or 2, further comprising:
4. detecting a third input corresponding to a selection of the second motion detection condition while displaying the plurality of motion detection affordances; subsequent to detecting the third input, transmitting information to update the configuration profile of the source of video data according to the selected operating state and the selected second motion detection condition, the configuration profile causing the source of video data to begin recording when the selected first motion detection condition or the selected second motion detection condition is met; The method of claim 1 , further comprising:
5. the selected motion state and the selected first motion detection condition are associated with a first context; The method comprises: detecting a fourth input corresponding to a selection of a second operating state, the second operating state being associated with a second context different from the first context; subsequent to detecting the fourth input, transmitting information updating the second operational mode of the second context of the configuration profile of the source of video data according to the selected second operational mode associated with the second context without transmitting information updating the operational mode of the first context of the configuration profile of the source of video data; The method of claim 1 , further comprising:
6. In response to detecting activation of the option affordance, displaying an activity-detection affordance simultaneously with the plurality of motion-detection affordances; and Detecting a first activation of the activity detection affordance; and ceasing to display the first motion detection affordance and the second motion detection affordance in response to detecting the first activation of the activity detection affordance; subsequent to detecting the first activation of the activity detection affordance, sending information to update the configuration profile of the source of video data such that the first motion detection condition and the second motion detection condition are disabled; detecting a second activation of the activity detection affordance while not displaying the plurality of motion detection affordances; and in response to detecting the second activation of the activity detection affordance, the first motion detection affordance; and the second motion detection affordance; and displaying the plurality of motion-sensing affordances, subsequent to detecting the second activation of the activity detection affordance, sending information to update the configuration profile of the source of video data such that the first motion detection condition and the second motion detection condition are enabled; The method of claim 1 , further comprising:
7. In response to detecting activation of the option affordance, displaying a menu for selecting a duration for storing video data from the source of video data; detecting a fifth input corresponding to a selection of a duration for storing video data from the source of video data while displaying the menu for selecting a duration for storing video data from the source of video data; subsequent to detecting the fifth input, transmitting information to update the configuration profile of the source of video data according to the selected operating state and the selected duration; The method of claim 1 , further comprising:
8. Detecting activation of a notification setting affordance, the notification setting affordance being for enabling notifications by the source of video data regardless of an operational state of the source of video data; and In response to detecting activation of the notification setting affordance, displaying a plurality of motion detection affordances; detecting a sixth input corresponding to a selection of a first motion detection condition while displaying the plurality of motion detection affordances; subsequent to detecting the sixth input, transmitting information updating a notification setting of the configuration profile of the source of video data in accordance with the selected first motion detection condition without transmitting information updating the operating state of the configuration profile of the source of video data; The method of claim 1 , further comprising:
9. 9. 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, the one or more programs including instructions for performing the method of any one of claims 1 to 8.
10. The display and one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method of any one of claims 1 to 8. Electronic devices.
11. The display and means for carrying out the method according to any one of claims 1 to 8; An electronic device comprising:
12. 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, the one or more programs comprising: receiving data identifying a source of the video data; after receiving the data identifying the source of the video data; displaying a first user interface including a menu for selecting an operating state of the source of video data; detecting a first input corresponding to a selection of an operating state of the source of video data while displaying the menu for selecting the operating state of the source of video data; In response to detecting the first input, displaying an option affordance in accordance with a determination that the selected operational state includes a recording state; and Detecting activation of the option affordance; and In response to detecting activation of the option affordance, Displaying a plurality of motion detection affordances, the plurality of motion detection affordances comprising: a first motion detection affordance corresponding to a first motion detection condition; and a second motion detection affordance corresponding to a second motion detection condition different from the first motion detection condition; displaying a plurality of motion-sensing affordances, including: detecting a second input corresponding to a selection of the first motion detection condition; subsequent to detecting the second input, transmitting information that sets a configuration profile of the source of video data according to the selected operating state and the selected first motion detection condition; including instructions to: A non-transitory computer-readable storage medium.
13. The display and one or more processors; a memory storing one or more programs configured to be executed by the one or more processors; an electronic device comprising: receiving data identifying a source of the video data; after receiving the data identifying the source of the video data; displaying a first user interface including a menu for selecting an operating state of the source of video data; detecting a first input corresponding to a selection of an operating state of the source of video data while displaying the menu for selecting the operating state of the source of video data; In response to detecting the first input, displaying an option affordance in accordance with a determination that the selected operational state includes a recording state; and Detecting activation of the option affordance; In response to detecting activation of the option affordance, Displaying a plurality of motion detection affordances, the plurality of motion detection affordances comprising: a first motion detection affordance corresponding to a first motion detection condition; and a second motion detection affordance corresponding to a second motion detection condition different from the first motion detection condition; displaying a plurality of motion-sensing affordances, including: detecting a second input corresponding to a selection of the first motion detection condition; subsequent to detecting the second input, transmitting information that sets a configuration profile of the source of video data according to the selected operating state and the selected first motion detection condition; including instructions to: Electronic devices.
14. The display and means for receiving data identifying a source of the video data; means for, after receiving the data identifying the source of the video data, means for displaying a first user interface including a menu for selecting an operating state of said source of video data; means for detecting, while displaying the menu for selecting an operating state of the source of video data, a first input corresponding to the selection of the operating state; means for detecting the first input, means for displaying an option affordance in accordance with a determination that the selected operational state includes a recording state; means for detecting activation of the option affordance; means, in response to detecting activation of the option affordance, A means for displaying a plurality of motion detection affordances, the plurality of motion detection affordances comprising: a first motion detection affordance corresponding to a first motion detection condition; and a second motion detection affordance corresponding to a second motion detection condition different from the first motion detection condition; a means for displaying a plurality of motion-sensing affordances, the means including: means for detecting a second input corresponding to selection of the first motion detection condition; means for transmitting information subsequent to detecting the second input that sets a configuration profile of the source of video data according to the selected operating state and the selected first motion detection condition; An electronic device comprising:
15. In an electronic device having a display, displaying a video media user interface, the video media user interface comprising: a live video feed from a first source; a scrubber bar, the scrubber bar including a representation of a recorded clip of video from the first source, the representation located at a first position within the scrubber bar; displaying a video media user interface, including: Detecting a first user input while displaying the video media user interface; In response to detecting the first user input, replacing the live video feed with a display of the recorded clip of video; updating the scrubber bar to indicate that the display of the recorded clip of video corresponds to the representation of the recorded clip of video in the scrubber bar; A method comprising:
16. receiving data representing a second recorded clip of video from the first source; displaying a representation of the second recorded clip of video within the scrubber bar in response to receiving data representing the second recorded clip of video from the first source; 16. The method of claim 15, further comprising:
17. 17. The method of claim 15 or 16, wherein the representation of the recorded clip of video has a visual width within the scrubber bar that is proportional to the duration of the recorded clip of video.
18. 18. The method of any one of claims 15 to 17, wherein the representation of the recorded clip of video includes a representation of an image from the recorded clip of video.
19. 19. The method of any one of claims 15 to 18, wherein the scrubber bar further includes an indication of periods during which recorded video from the first source is unavailable.
20. 20. The method of claim 19, wherein the indication of the period during which recorded video from the first source is unavailable is independent of the duration of the period.
21. 21. The method of any one of claims 15 to 20, wherein the scrubber bar further comprises an indication of a boundary between a first day and a second day.
22. The method of claim 15 , wherein the first user input comprises a swipe on a touch-sensitive surface of the electronic device.
23. 22. The method of claim 15, wherein the first user input comprises a tap on a touch-sensitive surface of the electronic device, the tap having a location that corresponds to the representation of the recorded clip of video.
24. displaying an indication of a time associated with said recorded clip of video; 24. The method of any one of claims 15 to 23, further comprising:
25. wherein the indication of a time associated with the recorded clip of video includes an affordance that represents a time period and indicates the time associated with the recorded clip of video, the method comprising: receiving a second user input corresponding to a selection of the affordance representing the time period; and In response to receiving the second user input, replacing the display of the recorded clip of video with a display of a third recorded clip of video; updating the affordance to indicate a time associated with the third recorded clip of video; and updating the scrubber bar to indicate that the third recorded clip of video corresponds to a representation of the third recorded clip of video in the scrubber bar; 25. The method of claim 24, further comprising:
26. further displaying a second affordance in response to detecting the first user input; Detecting a third user input corresponding to a selection of the second affordance; and in response to detecting the third user input corresponding to a selection of the second affordance; displaying the live video feed; and updating the scrubber bar to indicate that the live video feed is being displayed; 26. The method of any one of claims 15 to 25, further comprising:
27. The video media user interface further includes a third affordance, and the method further comprises: detecting a fourth user input corresponding to a selection of the third affordance; In response to detecting the fourth user input corresponding to a selection of the third affordance, selecting a segment of a recorded video and initiating a process of sharing the selected segment of a recorded video; 27. The method of any one of claims 15 to 26, further comprising:
28. 28. 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, the one or more programs including instructions for performing the method of any one of claims 15 to 27.
29. The display and one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method of any one of claims 15 to 27. Electronic devices.
30. The display and means for carrying out the method according to any one of claims 15 to 27; An electronic device comprising:
31. 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, the one or more programs comprising: displaying a video media user interface, the video media user interface comprising: a live video feed from a first source; a scrubber bar, the scrubber bar including a representation of a recorded clip of video from the first source, the representation located at a first position within the scrubber bar; displaying a video media user interface, including: Detecting a first user input while displaying the video media user interface; In response to detecting the first user input, replacing the live video feed with a display of the recorded clip of video; updating the scrubber bar to indicate that the display of the recorded clip of video corresponds to the representation of the recorded clip of video in the scrubber bar; including instructions to: A non-transitory computer-readable storage medium.
32. The display and one or more processors; a memory storing one or more programs configured to be executed by the one or more processors; an electronic device comprising: displaying a video media user interface, the video media user interface comprising: a live video feed from a first source; a scrubber bar, the scrubber bar including a representation of a recorded clip of video from the first source, the representation located at a first position within the scrubber bar; displaying a video media user interface, including: Detecting a first user input while displaying the video media user interface; In response to detecting the first user input, replacing the live video feed with a display of the recorded clip of video; updating the scrubber bar to indicate that the display of the recorded clip of video corresponds to the representation of the recorded clip of video in the scrubber bar; including instructions to: Electronic devices.
33. The display and means for displaying a video media user interface, said video media user interface comprising: a live video feed from a first source; a scrubber bar, the scrubber bar including a representation of a recorded clip of video from the first source, the representation located at a first position within the scrubber bar; means for displaying a video media user interface, including: means for detecting a first user input while displaying the video media user interface; In response to detecting the first user input, replacing the live video feed with a display of the recorded clip of video; updating the scrubber bar to indicate that the display of the recorded clip of video corresponds to the representation of the recorded clip of video in the scrubber bar; and a means for performing the steps An electronic device comprising:
34. In an electronic device having a display, displaying a first user interface, the first user interface comprising: a representation of video data from a source of video data; a first affordance for accessing control of at least one controllable external device associated with the source of video data; and displaying a first user interface, the first user interface including: Detecting a first user input corresponding to a selection of the first affordance while displaying the first user interface; In response to detecting the first user input, displaying a second user interface, wherein displaying the second user interface includes: displaying at least a second affordance representing a first controllable external device of the at least one controllable external device associated with the source of video data. Displaying a second user interface; and Detecting a selection of the second affordance representing the first controllable external device; In response to detecting the selection of the second affordance representing the first controllable external device, initiating a process to control the first controllable external device; A method comprising:
35. 35. The method of claim 34, wherein the representation of video data comprises a live video feed from the source of video data.
36. 35. The method of claim 34, wherein the representation of video data includes notifications corresponding to events associated with the source of video data.
37. Displaying the second user interface includes: displaying recorded video from the source of video data, the recorded video corresponding to the event associated with the source of video data; 37. The method of claim 36, further comprising:
38. 38. The method of any one of claims 34 to 37, wherein the at least one controllable external device is associated with the source of video data based on at least one of physical proximity to the source of video data, a designated association with the source of video data, or common functionality with the source of video data.
39. 39. The method of any one of claims 34 to 38, wherein displaying the second user interface further comprises ceasing to display the representation of video data.
40. 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, the one or more programs including instructions for performing the method of any one of claims 34 to 39.
41. The display and one or more processors; a memory storing one or more programs configured to be executed by the one or more processors; Equipped with The one or more programs include instructions for performing the method of any one of claims 34 to 39. Electronic devices.
42. The display and means for carrying out the method of any one of claims 34 to 39; An electronic device comprising:
43. 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, the one or more programs comprising: displaying a first user interface, the first user interface comprising: a representation of video data from a source of video data; a first affordance for accessing control of at least one controllable external device associated with the source of video data; and displaying a first user interface, the first user interface including: Detecting a first user input corresponding to a selection of the first affordance while displaying the first user interface; In response to detecting the first user input, displaying a second user interface, wherein displaying the second user interface includes: displaying at least a second affordance representing a first controllable external device of the at least one controllable external device associated with the source of video data. Displaying a second user interface; and Detecting a selection of the second affordance representing the first controllable external device; In response to detecting the selection of the second affordance representing the first controllable external device, initiating a process to control the first controllable external device; including instructions to: A non-transitory computer-readable storage medium.
44. The display and one or more processors; a memory storing one or more programs configured to be executed by the one or more processors; an electronic device comprising: displaying a first user interface, the first user interface comprising: a representation of video data from a source of video data; a first affordance for accessing control of at least one controllable external device associated with the source of video data; and displaying a first user interface, the first user interface including: Detecting a first user input corresponding to a selection of the first affordance while displaying the first user interface; In response to detecting the first user input, displaying a second user interface, wherein displaying the second user interface includes: displaying at least a second affordance representing a first controllable external device of the at least one controllable external device associated with the source of video data. Displaying a second user interface; and Detecting a selection of the second affordance representing the first controllable external device; In response to detecting the selection of the second affordance representing the first controllable external device, initiating a process to control the first controllable external device; including instructions to: Electronic devices.
45. The display and one or more processors; a memory storing one or more programs configured to be executed by the one or more processors; an electronic device comprising: displaying a first user interface, the first user interface comprising: a representation of video data from a source of video data; a first affordance for accessing control of at least one controllable external device associated with the source of video data; and displaying a first user interface, the first user interface including: Detecting a first user input corresponding to a selection of the first affordance while displaying the first user interface; In response to detecting the first user input, displaying a second user interface, wherein displaying the second user interface includes: displaying at least a second affordance representing a first controllable external device of the at least one controllable external device associated with the source of video data. Displaying a second user interface; and Detecting a selection of the second affordance representing the first controllable external device; In response to detecting the selection of the second affordance representing the first controllable external device, initiating a process to control the first controllable external device; including instructions to: Electronic devices.
46. The display and means for displaying a first user interface, the first user interface comprising: a representation of video data from a source of video data; a first affordance for accessing control of at least one controllable external device associated with the source of video data; and means for displaying a first user interface, the means comprising: means for detecting, while displaying the first user interface, a first user input corresponding to a selection of the first affordance; a means for displaying a second user interface in response to detecting the first user input, the displaying of the second user interface comprising: displaying at least a second affordance representing a first controllable external device of the at least one controllable external device associated with the source of video data. means for displaying a second user interface; means for detecting a selection of the second affordance representing the first controllable external device; means for initiating a process for controlling the first controllable external device in response to detecting the selection of the second affordance representing the first controllable external device; , an electronic device.
47. In an electronic device having a display, At a first time, displaying a user interface, the user interface comprising: a first live video feed from a first source at a first location on the user interface and a second live video feed from a second source at a second location on the user interface; a scrubber bar including a representation of recorded video content from at least one of the first source or the second source; displaying a user interface, Detecting a user input while displaying the user interface; In response to detecting the user input, replacing the first live video feed with a first image associated with the first source at the first location of the user interface, the first image being associated with data from the first source at a second time prior to the first time; replacing the second live video feed with a second image associated with the second source at the second location of the user interface, the second image being associated with data from the second source at the second time; updating the scrubber bar to show the portion of the representation of the recorded video content that corresponds to the second time; A method comprising:
48. Detecting a second user input; In response to detecting the second user input, displaying a third image associated with a third source not represented on the user interface at the first time; 48. The method of claim 47, further comprising:
49. detecting a third user input corresponding to a selection of the first location of the user interface; In response to detecting the third user input, enlarging the first live video feed from the first source at the second time or the first image associated with data from the first source; 49. The method of claim 47 or 48, further comprising:
50. receiving data representing a first recorded clip of video from the first source after the first time; updating the scrubber bar to represent the first recorded clip of video in response to receiving data representing the first recorded clip of video from the first source; 50. The method of any one of claims 47 to 49, further comprising:
51. 51. The method of any one of claims 47 to 50, wherein the representation of recorded video content has a visual width within the scrubber bar that is proportional to the duration of the recorded video content.
52. 52. The method of any one of claims 47 to 51, wherein the scrubber bar further includes an indication of periods when recorded video is unavailable.
53. 53. The method of claim 52, wherein the indication of the period of time during which recorded video is unavailable is independent of the duration of the period.
54. 54. The method of any one of claims 47 to 53, wherein the scrubber bar further comprises an indication of a boundary between a first day and a second day.
55. further, displaying an affordance in response to detecting the user input; Detecting a fourth user input corresponding to a selection of the affordance; and In response to detecting the fourth user input corresponding to a selection of the affordance, replacing the first image associated with the first source with the first live video feed from the first source; replacing the second image associated with the second source with the second live video feed; updating the scrubber bar to indicate that the first live video feed and the second live video feed are being displayed; 55. The method of any one of claims 47 to 54, further comprising:
56. 56. The method of any one of claims 47 to 55, wherein the user input comprises a swipe on a touch-sensitive surface of the electronic device.
57. 57. The method of any one of claims 47 to 56, wherein the user input comprises a tap on a touch-sensitive surface of the electronic device, the tap having a location on the scrubber bar that corresponds to the second time.
58. 58. The method of any one of claims 47 to 57, wherein updating the scrubber bar comprises translating the representation of recorded video content.
59. 59. The method of any one of claims 47 to 58, wherein the user interface further comprises an indication of an operational state of the first source and an indication of an operational state of the second source.
60. 60. The method of any one of claims 47 to 59, wherein the first image is blurred in accordance with the unavailability of recorded video from the first source at the second time.
61. detecting a rotation of the electronic device; In response to detecting the rotation of the electronic device, replacing the user interface with a second user interface, the second user interface including the live video feed from the first source and information associated with a location associated with the first source; 61. The method of any one of claims 47 to 60, further comprising:
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 having a display, the one or more programs including instructions for performing the method of any one of claims 47 to 61.
63. The display and one or more processors; a memory storing one or more programs configured to be executed by the one or more processors; Equipped with The one or more programs include instructions for performing the method of any one of claims 47 to 61. Electronic devices.
64. The display and means for carrying out the method of any one of claims 47 to 61; An electronic device comprising:
65. 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, the one or more programs comprising: At a first time, displaying a user interface, the user interface comprising: a first live video feed from a first source at a first location on the user interface and a second live video feed from a second source at a second location on the user interface; a scrubber bar including a representation of recorded video content from at least one of the first source or the second source; displaying a user interface, Detecting a user input while displaying the user interface; In response to detecting the user input, replacing the first live video feed with a first image associated with the first source at the first location of the user interface, the first image being associated with data from the first source at a second time prior to the first time; replacing the second live video feed with a second image associated with the second source at the second location of the user interface, the second image being associated with data from the second source at the second time; updating the scrubber bar to show the portion of the representation of the recorded video content that corresponds to the second time; including instructions to: A non-transitory computer-readable storage medium.
66. The display and one or more processors; a memory storing one or more programs configured to be executed by the one or more processors; an electronic device comprising: At a first time, displaying a user interface, the user interface comprising: a first live video feed from a first source at a first location on the user interface and a second live video feed from a second source at a second location on the user interface; a scrubber bar including a representation of recorded video content from at least one of the first source or the second source; displaying a user interface, Detecting a user input while displaying the user interface; In response to detecting the user input, replacing the first live video feed with a first image associated with the first source at the first location of the user interface, the first image being associated with data from the first source at a second time prior to the first time; replacing the second live video feed with a second image associated with the second source at the second location of the user interface, the second image being associated with data from the second source at the second time; updating the scrubber bar to show the portion of the representation of the recorded video content that corresponds to the second time; including instructions to: Electronic devices.
67. The display and means for displaying a user interface at a first time, said user interface comprising: a first live video feed from a first source at a first location on the user interface and a second live video feed from a second source at a second location on the user interface; a scrubber bar including a representation of recorded video content from at least one of the first source or the second source; means for displaying a user interface, means for detecting user input while displaying said user interface; In response to detecting the user input, replacing the first live video feed with a first image associated with the first source at the first location of the user interface, the first image being associated with data from the first source at a second time prior to the first time; replacing the second live video feed with a second image associated with the second source at the second location of the user interface, the second image being associated with data from the second source at the second time; updating the scrubber bar to show the portion of the representation of the recorded video content corresponding to the second time; and and a means for performing the steps An electronic device comprising:
68. In an electronic device having a display, Displaying a user interface, the user interface comprising: a first plurality of affordances associated with a first context, the first plurality of affordances corresponding to respective available operational modes of a first controllable external device in the first context; a second plurality of affordances associated with a second context, the second plurality of affordances corresponding to respective available operational modes of the first controllable external device in the second context; and displaying a user interface, While displaying the first user interface, detecting a first user input at a location on the display corresponding to a first affordance within the first plurality of affordances, the first affordance corresponding to a first operational mode of the respective available operational modes of the first controllable external device in the first context; detecting a second user input at a location on the display corresponding to a second affordance within the second plurality of affordances, the second affordance corresponding to a second operational mode of the respective available operational modes of the first controllable external device in the second context; after detecting the first user input and the second user input, sending instructions to set a configuration profile of the first controllable external device according to the first operating mode for the first context and the second operating mode for the second context based on the first user input and the second user input; A method comprising:
69. 69. The method of claim 68, wherein the first context and the second context are predetermined.
70. 70. The method of claim 68 or 69, wherein the first context is based on the presence of a person at a location associated with the first controllable external device.
71. 71. The method of claim 70, wherein the presence of the person at the location is determined based on the location of a first electronic device associated with the person and the location of a second electronic device associated with the person.
72. 72. The method of any one of claims 68 to 71, wherein the available operational modes of the first controllable external device in the first context are predetermined operational modes.
73. detecting a third user input representing a selection of an exception to the first context or the second context; transmitting data representative of the selected exception; 73. The method of any one of claims 68 to 72, further comprising:
74. the first controllable external device includes a video camera, and the method further comprises: further comprising displaying the field of view of the video camera; the third user input includes a selection of a portion of the field of view; The exception to the first context or the second context includes not operating the first controllable external device according to the first mode of operation in the first context or not operating the first controllable external device according to the second mode of operation in the second context in response to an event being detected within the selected portion of the field of view.
74. The method of claim 73.
75. 75. A method according to any one of claims 68 to 74, wherein the instructions are sent to an external device other than the first controllable external device.
76. 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, the one or more programs including instructions for performing the method of any one of claims 68 to 75.
77. The display and 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 68 to 75. Electronic devices.
78. The display and means for carrying out the method of any one of claims 68 to 75; An electronic device comprising:
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, the one or more programs comprising: Displaying a user interface, the user interface comprising: a first plurality of affordances associated with a first context, the first plurality of affordances corresponding to respective available operational modes of a first controllable external device in the first context; a second plurality of affordances associated with a second context, the second plurality of affordances corresponding to respective available operational modes of the first controllable external device in the second context; and displaying a user interface, While displaying the first user interface, detecting a first user input at a location on the display corresponding to a first affordance within the first plurality of affordances, the first affordance corresponding to a first operational mode of the respective available operational modes of the first controllable external device in the first context; detecting a second user input at a location on the display corresponding to a second affordance within the second plurality of affordances, the second affordance corresponding to a second operational mode of the respective available operational modes of the first controllable external device in the second context; after detecting the first user input and the second user input, sending instructions to set a configuration profile of the first controllable external device according to the first operating mode for the first context and the second operating mode for the second context based on the first user input and the second user input; including instructions to: A non-transitory computer-readable storage medium.
80. The display and one or more processors; a memory storing one or more programs configured to be executed by the one or more processors; an electronic device comprising: Displaying a user interface, the user interface comprising: a first plurality of affordances associated with a first context, the first plurality of affordances corresponding to respective available operational modes of a first controllable external device in the first context; a second plurality of affordances associated with a second context, the second plurality of affordances corresponding to respective available operational modes of the first controllable external device in the second context; and displaying a user interface, While displaying the first user interface, detecting a first user input at a location on the display corresponding to a first affordance within the first plurality of affordances, the first affordance corresponding to a first operational mode of the respective available operational modes of the first controllable external device in the first context; detecting a second user input at a location on the display corresponding to a second affordance within the second plurality of affordances, the second affordance corresponding to a second operational mode of the respective available operational modes of the first controllable external device in the second context; after detecting the first user input and the second user input, sending instructions to set a configuration profile of the first controllable external device according to the first operating mode for the first context and the second operating mode for the second context based on the first user input and the second user input; including instructions to: Electronic devices.
81. The display and A means for displaying a user interface, the user interface comprising: a first plurality of affordances associated with a first context, the first plurality of affordances corresponding to respective available operational modes of a first controllable external device in the first context; a second plurality of affordances associated with a second context, the second plurality of affordances corresponding to respective available operational modes of the first controllable external device in the second context; and means for displaying a user interface, While displaying the first user interface, detecting a first user input at a location on the display corresponding to a first affordance within the first plurality of affordances, the first affordance corresponding to a first operational mode of the respective available operational modes of the first controllable external device in the first context; detecting a second user input at a location on the display corresponding to a second affordance within the second plurality of affordances, the second affordance corresponding to a second operational mode of the respective available operational modes of the first controllable external device in the second context; and a means for performing the steps means for transmitting, after detecting the first user input and the second user input, instructions to set a configuration profile of the first controllable external device according to the first operating mode for the first context and the second operating mode for the second context based on the first user input and the second user input; An electronic device comprising:
82. In an electronic device having a display, receiving data identifying a source of the video data; after receiving the data identifying the source of the video data; displaying a first user interface including a menu for selecting an operating state of the source of video data, the operating state being associated with a context; Detecting a first user input corresponding to a selection of the operational state associated with the context; displaying a second user interface including a menu for selecting a duration for storing video data from said source of video data; detecting a second user input corresponding to a selection of the duration for storing video data from the source of video data; transmitting instructions to set a configuration profile of the source of video data according to the selected operating state and the selected duration according to the first user input and the second user input; A method comprising:
83. and displaying a prompt for the data before receiving the data identifying the source of the video data.
83. The method of claim 82.
84. 84. A method according to claim 82 or 83, wherein the context is predetermined.
85. 85. A method according to any one of claims 82 to 84, wherein the menu for selecting an operating state of the source of video data comprises a plurality of predefined available operating states.
86. after receiving the data identifying the source of the video data; displaying an affordance indicating availability of information about available capabilities of said source of video data; Detecting a selection of the affordance; and displaying the information regarding available capabilities of the source of video data in response to detecting a selection of the affordance; 86. The method of any one of claims 82 to 85, further comprising:
87. 87. The method of claim 86, wherein the affordance is displayed pursuant to a determination that no other sources of video data are associated with the electronic device.
88. 88. The method of any one of claims 82 to 87, further comprising, after receiving the data identifying the source of video data, displaying an affordance for updating software of the source of video data.
89. 89. The method of any one of claims 82 to 88, further comprising, after detecting the first user input and the second user input, displaying a third user interface including an indication of the source of video data and a settings menu associated with the source of video data.
90. 90. A method according to any one of claims 82 to 89, wherein the instructions are transmitted to an external device other than the source of video data.
91. 91. 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, the one or more programs including instructions for performing the method of any one of claims 82 to 90.
92. The display and one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method of any one of claims 82 to 90. Electronic devices.
93. The display and means for carrying out the method of any one of claims 82 to 90; An electronic device comprising:
94. 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, the one or more programs comprising: receiving data identifying a source of the video data; after receiving the data identifying the source of the video data; displaying a first user interface including a menu for selecting an operating state of the source of video data, the operating state being associated with a context; Detecting a first user input corresponding to a selection of the operational state associated with the context; displaying a second user interface including a menu for selecting a duration for storing video data from said source of video data; detecting a second user input corresponding to a selection of the duration for storing video data from the source of video data; transmitting instructions to set a configuration profile of the source of video data according to the selected operating state and the selected duration according to the first user input and the second user input; including instructions to: A non-transitory computer-readable storage medium.
95. The display and one or more processors; a memory storing one or more programs configured to be executed by the one or more processors; an electronic device comprising: receiving data identifying a source of the video data; after receiving the data identifying the source of the video data; displaying a first user interface including a menu for selecting an operating state of the source of video data, the operating state being associated with a context; Detecting a first user input corresponding to a selection of the operational state associated with the context; displaying a second user interface including a menu for selecting a duration for storing video data from said source of video data; detecting a second user input corresponding to a selection of the duration for storing video data from the source of video data; transmitting instructions to set a configuration profile of the source of video data according to the selected operating state and the selected duration according to the first user input and the second user input; An electronic device containing instructions to perform the following:
96. The display and means for receiving data identifying a source of the video data; after receiving the data identifying the source of the video data; displaying a first user interface including a menu for selecting an operating state of the source of video data, the operating state being associated with a context; Detecting a first user input corresponding to a selection of the operational state associated with the context; displaying a second user interface including a menu for selecting a duration for storing video data from said source of video data; detecting a second user input corresponding to a selection of the duration for storing video data from the source of video data; and a means for performing the steps means for transmitting instructions to set a configuration profile of the source of video data according to the selected operating state and the selected duration according to the first user input and the second user input; An electronic device comprising:
97. In an electronic device having a display, displaying a user interface associated with a source of video data, said user interface comprising: a first affordance representing a status of a storage resource, the first affordance including a first representation of data stored by the storage resource that corresponds to the source of video data and a second representation of data stored by the storage resource that does not correspond to the source of video data; a second affordance for deleting data associated with the source of video data from the storage resource; and displaying a user interface, Detecting user input on the display while displaying the user interface; In response to the user input, initiating a process of removing data from the storage resource that does not correspond to the source of video data according to the first user input corresponding to a selection of the first affordance; initiating a process of deleting data corresponding to the source of video data from the storage resource according to the first user input corresponding to selection of the second affordance; A method comprising:
98. 98. The method of claim 97, wherein the user interface further comprises a menu for selecting a storage duration for recording video data from the source of video data.
99. 99. The method of claim 98, wherein the menu includes a plurality of predetermined storage duration options.
100. 100. The method of any one of claims 97 to 99, wherein initiating the process of deleting data from the storage resource that does not correspond to the source of video data includes displaying an option to delete recordings associated with all sources of video data associated with the electronic device.
101. 101. The method of claim 97, wherein the first affordance further comprises a representation of at least one of a total capacity of the storage resource, a total allocated capacity of the storage resource, an available capacity of the storage resource, an amount of the storage resource allocated to video data associated with the source of video data, an amount of the storage resource allocated to devices other than the source of video data, an amount of the storage resource allocated to all devices other than the source of video data, or an amount of the storage resource allocated to types of data other than video data.
102. the first affordance includes a representation of data stored by the storage resource corresponding to a first device other than the source of video data, and the method further comprises: Further, in response to the user input, displaying a menu for setting storage options associated with the first device according to the first user input corresponding to a selection of the representation of data stored by the storage resource corresponding to the first device; 102. The method of claim 101, further comprising:
103. 103. 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, the one or more programs including instructions for performing the method of any one of claims 97 to 102.
104. The display and one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method of any one of claims 97 to 102. Electronic devices.
105. The display and means for carrying out the method of any one of claims 97 to 102; An electronic device comprising:
106. 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, the one or more programs comprising: displaying a user interface associated with a source of video data, said user interface comprising: a first affordance representing a status of a storage resource, the first affordance including a first representation of data stored by the storage resource that corresponds to the source of video data and a second representation of data stored by the storage resource that does not correspond to the source of video data; a second affordance for deleting data associated with the source of video data from the storage resource; and displaying a user interface, Detecting user input on the display while displaying the user interface; In response to the user input, initiating a process of removing data from the storage resource that does not correspond to the source of video data according to the first user input corresponding to a selection of the first affordance; initiating a process of deleting data corresponding to the source of video data from the storage resource according to the first user input corresponding to selection of the second affordance; A non-transitory computer-readable storage medium comprising instructions for performing
107. The display and one or more processors; a memory storing one or more programs configured to be executed by the one or more processors; an electronic device comprising: displaying a user interface associated with a source of video data, said user interface comprising: a first affordance representing a status of a storage resource, the first affordance including a first representation of data stored by the storage resource that corresponds to the source of video data and a second representation of data stored by the storage resource that does not correspond to the source of video data; a second affordance for deleting data associated with the source of video data from the storage resource; and displaying a user interface, Detecting user input on the display while displaying the user interface; In response to the user input, initiating a process of removing data from the storage resource that does not correspond to the source of video data according to the first user input corresponding to a selection of the first affordance; initiating a process of deleting data corresponding to the source of video data from the storage resource according to the first user input corresponding to selection of the second affordance; An electronic device containing instructions to perform the following:
108. The display and means for displaying a user interface associated with a source of video data, said user interface comprising: a first affordance representing a status of a storage resource, the first affordance including a first representation of data stored by the storage resource that corresponds to the source of video data and a second representation of data stored by the storage resource that does not correspond to the source of video data; a second affordance for deleting data associated with the source of video data from the storage resource; and means for displaying a user interface, means for detecting user input on said display while displaying said user interface; In response to the user input, initiating a process of removing data from the storage resource that does not correspond to the source of video data according to the first user input corresponding to a selection of the first affordance; initiating a process of deleting data corresponding to the source of video data from the storage resource according to the first user input corresponding to selection of the second affordance; and a means for performing the steps An electronic device comprising:
109. In an electronic device having a display, receiving data identifying a source of the video data; after receiving the data identifying the source of the video data; Detecting activation of a notification setting affordance, the notification setting affordance being for enabling notifications by the source of video data regardless of an operational state of the source of video data; and In response to detecting activation of the notification setting affordance, Displaying a plurality of motion detection affordances, the plurality of motion detection affordances comprising: a first motion detection affordance corresponding to the first motion detection condition; and a second motion detection affordance corresponding to the second motion detection condition different from the first motion detection condition; and displaying a plurality of motion-sensing affordances, including: detecting a first input corresponding to a selection of the first motion detection condition; subsequent to detecting the first input, transmitting information updating a notification setting of the configuration profile of the source of video data according to the first motion detection condition without transmitting information updating a motion detection condition associated with an operating state of the configuration profile of the source of video data; A method comprising:
110. 110. The method of claim 109, wherein the electronic device receives an alert associated with an event from the source of video data when the first motion detection condition is enabled in the configuration profile of the source of video data and the first motion detection condition is met.
111. detecting a second input corresponding to a selection of the second motion detection condition while displaying the plurality of motion detection affordances; subsequent to detecting the second input, transmitting information that updates a notification setting of the configuration profile of the source of video data according to the selected second motion detection condition, the configuration profile causing the source of video data to send an alert when the first selected motion detection condition or the second selected motion detection condition is met; 111. The method of claim 109 or 110, further comprising:
112. 112. The method of any one of claims 109 to 111, wherein the operating state of the source of video data is not in a recording state when the notification settings affordance is activated.
113. detecting a third input corresponding to a selection of the operating state, the operating state being a recording state; displaying a second plurality of motion-sensing affordances in response to detecting the third input; and detecting a fourth input corresponding to a selection of a third motion detection condition while displaying the second plurality of motion detection affordances; subsequent to detecting the fourth input, transmitting information to update the operating state of the configuration profile of the source of video data in accordance with the selected operating state and the selected first motion detection condition without transmitting information to update a notification setting of the configuration profile of the source of video data; 113. The method of any one of claims 109 to 112, further comprising:
114. In response to detecting activation of the notification setting affordance, displaying an activity detection affordance simultaneously with the plurality of motion detection affordances; Detecting a first activation of the activity detection affordance; and in response to detecting the first activation of the activity detection affordance, ceasing to display the first motion detection affordance and the second motion detection affordance; and, following detecting the first activation of the activity detection affordance, sending information to update the notification settings of the configuration profile of the source of video data such that the first motion detection condition and the second motion detection condition are disabled. Detecting a second activation of the activity detection affordance while not displaying the plurality of motion detection affordances; and In response to detecting the second activation of the activity detection affordance, the first motion detection affordance; and the second motion detection affordance; and displaying the plurality of motion-sensing affordances, subsequent to detecting the second activation of the activity detection affordance, sending information that updates the notification settings of the configuration profile of the source of video data such that the first motion detection condition and the second motion detection condition are enabled; 114. The method of any one of claims 109 to 113, further comprising:
115. 115. The method of any one of claims 109 to 114, wherein the notification settings of the source of video data are not associated with a context of the source of video data.
116. 116. 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, the one or more programs including instructions for performing the method of any one of claims 109 to 115.
117. The display and one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method of any one of claims 109 to 115. Electronic devices.
118. The display and means for carrying out the method of any one of claims 109 to 115; An electronic device comprising:
119. 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, the one or more programs comprising: receiving data identifying a source of the video data; after receiving the data identifying the source of the video data; Detecting activation of a notification setting affordance, the notification setting affordance being for enabling notifications by the source of video data regardless of an operational state of the source of video data; and In response to detecting activation of the notification setting affordance, Displaying a plurality of motion detection affordances, the plurality of motion detection affordances comprising: a first motion detection affordance corresponding to the first motion detection condition; and a second motion detection affordance corresponding to the second motion detection condition different from the first motion detection condition; and displaying a plurality of motion-sensing affordances, including: detecting a first input corresponding to a selection of the first motion detection condition; subsequent to detecting the first input, transmitting information updating a notification setting of the configuration profile of the source of video data according to the first motion detection condition without transmitting information updating a motion detection condition associated with an operating state of the configuration profile of the source of video data; including instructions to: A non-transitory computer-readable storage medium.
120. The display and one or more processors; a memory storing one or more programs configured to be executed by the one or more processors; an electronic device comprising: receiving data identifying a source of the video data; after receiving the data identifying the source of the video data; Detecting activation of a notification setting affordance, the notification setting affordance being for enabling notifications by the source of video data regardless of an operational state of the source of video data; and In response to detecting activation of the notification setting affordance, Displaying a plurality of motion detection affordances, the plurality of motion detection affordances comprising: a first motion detection affordance corresponding to the first motion detection condition; and a second motion detection affordance corresponding to the second motion detection condition different from the first motion detection condition; and displaying a plurality of motion-sensing affordances, including: detecting a first input corresponding to a selection of the first motion detection condition; subsequent to detecting the first input, transmitting information updating a notification setting of the configuration profile of the source of video data according to the first motion detection condition without transmitting information updating a motion detection condition associated with an operating state of the configuration profile of the source of video data; including instructions to: Electronic devices.
121. The display and means for receiving data identifying a source of the video data; means for, after receiving the data identifying the source of the video data, means for detecting activation of a notification setting affordance, the notification setting affordance being for enabling a notification by the source of video data regardless of an operational state of the source of video data; means, in response to detecting activation of the notification setting affordance, A means for displaying a plurality of motion detection affordances, the plurality of motion detection affordances comprising: a first motion detection affordance corresponding to the first motion detection condition; and a second motion detection affordance corresponding to the second motion detection condition different from the first motion detection condition; and a means for displaying a plurality of motion-sensing affordances, the means including: means for detecting a first input corresponding to selection of the first motion detection condition; means for transmitting, following the detection of the first input, information for updating a notification setting of the configuration profile of the source of video data in accordance with the first motion detection condition without transmitting information for updating a motion detection condition associated with an operating state of the configuration profile of the source of video data; An electronic device comprising:
122. In an electronic device having a display device, receiving data identifying a source of the video data; in response to receiving the data identifying the source of the video data; displaying, on the display device, a first notification setting affordance without displaying a second notification setting affordance according to determining that the source of video data is a first type of source of video data, the first notification setting affordance enabling notifications of the first type of the source of video data; upon determining that the source of video data is a second type of source of video data, displaying on the display device: the first notification setting affordance; and the second notification setting affordance enabling notification of a second type of the source of video data; and and Detecting a first input; In response to determining that the first input corresponds to activation of the first notification setting affordance, transmitting information to set the configuration profile of the source of video data in accordance with the first notification setting affordance such that a first type of notification is enabled; and In response to determining that the first input corresponds to activation of the second notification setting affordance, transmitting information to set the configuration profile of the source of video data in accordance with the second notification setting affordance such that the second type of notification is enabled; and A method comprising:
123. On the display device, a first motion detection affordance corresponding to a first motion detection condition; and a second motion detection affordance corresponding to a second motion detection condition different from the first motion detection condition; displaying a plurality of motion-sensing affordances, including: detecting a second input corresponding to a selection of the first motion detection condition; subsequent to detecting the second input, transmitting information that updates the notification settings of the configuration profile of the source of video data in accordance with the selected motion detection condition without updating notification settings for the second type of notification; While displaying the second notification setting affordance, detecting a third input corresponding to activation of the second notification setting affordance; subsequent to detecting the third input, sending information to update the notification settings of the configuration profile of the source of video data according to the second notification setting affordance such that the second type of notification is disabled without updating notification settings of the first type of notification; 123. The method of claim 122, further comprising:
124. upon determining that the source of video data is a second type of source of video data; detecting a fourth input corresponding to activation of the second notification setting affordance while displaying the second notification setting affordance; and displaying a third notification setting affordance simultaneously with the first notification setting affordance and the second notification setting affordance. detecting, while displaying the third notification setting affordance, a fifth input corresponding to activation of the third notification setting affordance; stopping display of the plurality of motion detection affordances in response to detecting the fifth input; subsequent to detecting the fifth input, sending information to update the notification settings of the configuration profile of the source of video according to the third notification setting affordance such that the first type of notification is disabled without updating the notification settings of the second type of notification (e.g., doorbell setting remains activated); and 124. The method of claim 123, further comprising:
125. 125. The method of any one of claims 122 to 124, wherein the second notification setting affordance is associated with an accessory of the source of video data.
126. the source of the first type of video data includes a camera and does not include an input mechanism for generating an alert; the source of the second type of video data includes a camera and an input mechanism for generating an alert; 126. The method of any one of claims 122 to 125.
127. upon determining that the source of video data is a second type of source of video data; While displaying the first notification setting affordance, detecting a sixth input corresponding to activation of the first notification setting affordance; stopping display of the plurality of motion detection affordances and the second notification setting affordance in response to detecting the sixth input; subsequent to detecting the sixth input, sending information that updates notification settings of the configuration profile for the source of video data such that the first type of notifications and the second type of notifications for the source of video data are disabled; 127. The method of any one of claims 122 to 126, further comprising:
128. 128. 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, the one or more programs including instructions for performing the method of any one of claims 122 to 127.
129. The display and one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method of any one of claims 122 to 127. Electronic devices.
130. The display and means for carrying out the method of any one of claims 122 to 127; An electronic device comprising:
131. 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, the one or more programs comprising: receiving data identifying a source of the video data; in response to receiving the data identifying the source of the video data; displaying, on the display device, a first notification setting affordance without displaying a second notification setting affordance according to determining that the source of video data is a first type of source of video data, the first notification setting affordance enabling notifications of the first type of the source of video data; upon determining that the source of video data is a second type of source of video data, displaying on the display device: the first notification setting affordance; and the second notification setting affordance enabling notification of a second type of the source of video data; and and Detecting a first input; In response to determining that the first input corresponds to activation of the first notification setting affordance, transmitting information to set the configuration profile of the source of video data in accordance with the first notification setting affordance such that a first type of notification is enabled; and In response to determining that the first input corresponds to activation of the second notification setting affordance, transmitting information to set the configuration profile of the source of video data in accordance with the second notification setting affordance such that the second type of notification is enabled; and including instructions to: A non-transitory computer-readable storage medium.
132. The display and one or more processors; a memory storing one or more programs configured to be executed by the one or more processors; an electronic device comprising: receiving data identifying a source of the video data; in response to receiving the data identifying the source of the video data; displaying, on the display device, a first notification setting affordance without displaying a second notification setting affordance according to determining that the source of video data is a first type of source of video data, the first notification setting affordance enabling notifications of the first type of the source of video data; upon determining that the source of video data is a second type of source of video data, displaying on the display device: the first notification setting affordance; and the second notification setting affordance enabling notification of a second type of the source of video data; and and Detecting a first input; In response to determining that the first input corresponds to activation of the first notification setting affordance, transmitting information to set the configuration profile of the source of video data in accordance with the first notification setting affordance such that a first type of notification is enabled; and In response to determining that the first input corresponds to activation of the second notification setting affordance, transmitting information to set the configuration profile of the source of video data in accordance with the second notification setting affordance such that the second type of notification is enabled; and including instructions to: Electronic devices.
133. The display and means for receiving data identifying a source of the video data; means for receiving the data identifying the source of the video data, means for displaying, on the display device according to a determination that the source of video data is a first type of source of video data, a first notification setting affordance without displaying a second notification setting affordance, the first notification setting affordance enabling a first type of notification for the source of video data; and upon determining that the source of video data is a second type of source of video data, displaying on the display device: the first notification setting affordance; and the second notification setting affordance enabling notification of a second type of the source of video data; and and a means for simultaneously displaying means for detecting a first input; means for transmitting, in accordance with determining that the first input corresponds to activation of the first notification setting affordance, information for setting the configuration profile of the source of video data in accordance with the first notification setting affordance such that a first type of notification is enabled; means for transmitting, in accordance with a determination that the first input corresponds to activation of the second notification setting affordance, information for setting the configuration profile of the source of video data in accordance with the second notification setting affordance such that the second type of notification is enabled; An electronic device comprising:
134. In an electronic device having a display device, Displaying a video media user interface on the display device, a video feed from a source of video data; Scrubber bar and displaying a video media user interface, including simultaneously displaying first data including a first representation of a first recorded clip of video; first trigger information for the first recorded clip of video; receiving the upon determining that the first trigger information indicates that recording of the first recorded clip of video was triggered by a first type of condition, on the display device within the scrubber bar, a first indication corresponding to the first type of condition; and the first representation of the first recorded clip of video; and and upon determining that the first trigger information indicates that recording of the first recorded clip of video was triggered by a second type of condition that is different from the first type of condition, displaying, on the display device, within the scrubber bar: a second indication corresponding to the second type of condition, the second indication being different from the first indication; and the first representation of the first recorded clip of video; and and A method comprising:
135. further comprising, in accordance with a determination that first trigger information does not indicate that recording of the first clip of video was triggered by a condition, displaying the first representation of the first recorded clip of video within the scrubber bar without simultaneously displaying an indication corresponding to the condition. The method of claim 134.
136. while displaying on the display device the first representation and the first indication of the first recorded clip of video within the scrubber bar; second data including a second representation of a second recorded clip of video; second trigger information for the second recorded clip of video; and receiving the upon determining that the second trigger information indicates that recording of the second recorded clip of video was triggered by the second type of condition, on the display device, within the scrubber bar, a second indication corresponding to the second type of condition, the second indication being different from the first indication; and the second representation of the second recorded clip of video; and and 136. The method of claim 134 or 135, further comprising:
137. 137. The method of any one of claims 134 to 136, wherein simultaneously displaying the first indication and the first representation of the first recorded clip of video within the scrubber bar includes displaying the first indication adjacent to the first representation.
138. 138. A method according to any one of claims 134 to 137, wherein simultaneously displaying the first indication and the first representation of the first recorded clip of video within the scrubber bar comprises displaying the first indication superimposed on a portion of the first representation.
139. detecting, while displaying a video media user interface on the display device, a first input corresponding to a selection of a portion of the first recorded clip of video; In response to detecting the first user input, updating the display of the video feed to correspond to the selected portion of the first recorded clip of video; simultaneously shifting a display of the first representation of the first recorded clip of video and the respective indicators to new positions within the scrubber bar, wherein the first representation of the first recorded clip and the respective indicators are shifted in unison; 139. The method of any one of claims 134 to 138, further comprising:
140. 140. The method of any one of claims 134 to 139, wherein each of the displayed indications is smaller than the displayed first representation of the first recorded clip.
141. 141. 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, the one or more programs including instructions for performing the method of any one of claims 134 to 140.
142. The display and one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for performing the method of any one of claims 134 to 140. Electronic devices.
143. The display and means for carrying out the method of any one of claims 134 to 140; An electronic device comprising:
144. 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, the one or more programs comprising: Displaying a video media user interface on the display device, a video feed from a source of video data; Scrubber bar and displaying a video media user interface, including simultaneously displaying first data including a first representation of a first recorded clip of video; first trigger information for the first recorded clip of video; receiving the upon determining that the first trigger information indicates that recording of the first recorded clip of video was triggered by a first type of condition, on the display device within the scrubber bar, a first indication corresponding to the first type of condition; and the first representation of the first recorded clip of video; and and upon determining that the first trigger information indicates that recording of the first recorded clip of video was triggered by a second type of condition that is different from the first type of condition, displaying, on the display device, within the scrubber bar: a second indication corresponding to the second type of condition, the second indication being different from the first indication; and the first representation of the first recorded clip of video; and and including instructions to: A non-transitory computer-readable storage medium.
145. The display and one or more processors; a memory storing one or more programs configured to be executed by the one or more processors; an electronic device comprising: Displaying a video media user interface on the display device, a video feed from a source of video data; Scrubber bar and displaying a video media user interface, including simultaneously displaying first data including a first representation of a first recorded clip of video; first trigger information for the first recorded clip of video; receiving the upon determining that the first trigger information indicates that recording of the first recorded clip of video was triggered by a first type of condition, on the display device within the scrubber bar, a first indication corresponding to the first type of condition; and the first representation of the first recorded clip of video; and and upon determining that the first trigger information indicates that recording of the first recorded clip of video was triggered by a second type of condition that is different from the first type of condition, displaying, on the display device, within the scrubber bar: a second indication corresponding to the second type of condition, the second indication being different from the first indication; and the first representation of the first recorded clip of video; and and An electronic device containing instructions to perform the following:
146. The display and means for displaying a video media user interface on the display device, the means comprising: a video feed from a source of video data; Scrubber bar and a means for displaying a video media user interface, including simultaneously displaying a first data including a first representation of a first recorded clip of video; first trigger information for the first recorded clip of video; and means for receiving the upon determining that the first trigger information indicates that recording of the first recorded clip of video was triggered by a first type of condition, on the display device within the scrubber bar, a first indication corresponding to the first type of condition; and the first representation of the first recorded clip of video; and and a means for simultaneously displaying upon determining that the first trigger information indicates that recording of the first recorded clip of video was triggered by a second type of condition that is different from the first type of condition, displaying, on the display device, within the scrubber bar: a second indication corresponding to the second type of condition, the second indication being different from the first indication; and the first representation of the first recorded clip of video; and and a means for simultaneously displaying An electronic device comprising:
Citation Information
Patent Citations
Storage method for intelligent monitoring of video data
CN106878676A
Image storage device, monitor system and storage medium
JP2000224542A
Monitoring system
JP2003223689A
Store analyzing system, server for store analyzing system, and its control program
JP2007179302A
Systems and methods for video monitoring
US20100201815A1