Systems and methods for sleep tracking
Through a faster and more efficient sleep tracking method and interface, the problem of complex and time -consuming user interface in the existing technology to track the user interface in existing technologies, and realize the more efficient human -machine interface and longer equipment battery life.
Patent Information
- Application Number
- CN202380044845.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-06-01
- Filing Date
- 2023-06-02
- Publication Date
- 2025-01-24
AI Technical Summary
The user interface for prior art for sleep tracking is complex and time-consuming, resulting in a waste of time for users and increased energy consumption of equipment, especially in battery-powered devices.
Provide a faster, more efficient sleep tracking method and interface, and to receive sleep data from the input device, and generate display components based on these data to display the classification of sleep time and instructions in each sleep stage.
Reduce users' cognitive burden, improves the efficiency of human -machine interfaces, saves power in battery -driven equipment, and extend the battery life.
Smart Images

Figure CN119365933A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application claims priority to U.S. Provisional Patent Application No. 63 / 348,727, entitled “SYSTEMS AND METHODS FOR SLEEP TRACKING,” filed on June 3, 2022, and U.S. Patent Application No. 18 / 204,905, entitled “SYSTEMS AND METHODS FOR SLEEP TRACKING,” filed on June 1, 2023. The contents of each of these patent applications are incorporated herein by reference in their entirety. Technical Field
[0003] The present disclosure relates generally to computer user interfaces, and more particularly to techniques for sleep tracking. Background Art
[0004] For example, one or more sensors may be used to track a user's sleep behavior. For example, the data generated by the sensors may be used to generate a sleep structure diagram indicating various sleep stages of a user's sleep over a period of time. Summary of the invention
[0005] However, some techniques for tracking sleep behavior using electronic devices are often cumbersome and inefficient. For example, some prior art techniques use complex and time-consuming user interfaces that may include multiple keystrokes or keystrokes. Prior art techniques require more time than necessary, which results in wasted user time and device energy. This latter consideration is particularly important in battery-powered devices.
[0006] Thus, the present technology provides a faster, more efficient method and interface for sleep tracking for electronic devices. Such methods and interfaces optionally supplement or replace other methods for sleep tracking. Such methods and interfaces reduce the cognitive burden imposed on users and produce a more efficient human-computer interface. For battery-powered computing devices, such methods and interfaces save power and increase the time interval between battery charges.
[0007] An exemplary method is described herein. An exemplary method includes: receiving sleep data corresponding to a sleep period from one or more input devices, wherein the sleep data includes first data corresponding to a first sub-period of the sleep period; and displaying, via a display generation component, a sleep representation that classifies the sleep period into a plurality of sleep stages based on the sleep data, wherein displaying the sleep representation includes displaying a first indication corresponding to the first sub-period of the sleep period, wherein the first indication: indicates that the first sub-period is a first type of sleep period corresponding to the first sleep stage based on determining that the first data corresponds exclusively to a first sleep stage in a plurality of sleep stages; and indicates that the first sub-period corresponds to at least a second sleep stage and a third sleep stage different from the second sleep stage in a plurality of sleep stages based on determining that the first data does not correspond exclusively to a single sleep stage in a plurality of sleep stages.
[0008] An example non-transitory computer-readable storage medium is described herein. An example non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, and includes instructions for the following operations: receiving sleep data corresponding to a sleep period from one or more input devices, wherein the sleep data includes first data corresponding to a first sub-period of the sleep period; and displaying a sleep representation that classifies the sleep period into a plurality of sleep stages via the display generation component based on the sleep data, wherein displaying the sleep representation includes displaying a first indication corresponding to the first sub-period of the sleep period, wherein the first indication: indicates that the first sub-period is a first type of sleep period corresponding to the first sleep stage based on determining that the first data corresponds exclusively to a first sleep stage in a plurality of sleep stages; and indicates that the first sub-period corresponds to at least a second sleep stage and a third sleep stage different from the second sleep stage in a plurality of sleep stages based on determining that the first data does not correspond exclusively to a single sleep stage in a plurality of sleep stages.
[0009] An example non-transitory computer-readable storage medium is described herein. An example non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, and includes instructions for the following operations: receiving sleep data corresponding to a sleep period from one or more input devices, wherein the sleep data includes first data corresponding to a first sub-period of the sleep period; and based on the sleep data, displaying a sleep representation that classifies the sleep period into a plurality of sleep stages via the display generation component, wherein displaying the sleep representation includes displaying a first indication corresponding to the first sub-period of the sleep period, wherein the first indication: indicates that the first sub-period is a first type of sleep period corresponding to the first sleep stage based on determining that the first data corresponds exclusively to a first sleep stage in a plurality of sleep stages; and indicates that the first sub-period corresponds to at least a second sleep stage and a third sleep stage different from the second sleep stage in a plurality of sleep stages based on determining that the first data does not correspond exclusively to a single sleep stage in a plurality of sleep stages.
[0010] An exemplary computer system is described herein. An exemplary computer system is configured to communicate with a display generation component and one or more input devices and includes: one or more processors; and a memory storing one or more programs, the one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for the following operations: receiving sleep data corresponding to a sleep period from one or more input devices, wherein the sleep data includes first data corresponding to a first sub-period of the sleep period; and based on the sleep data, displaying a sleep representation that classifies the sleep period into a plurality of sleep stages via the display generation component, wherein displaying the sleep representation includes displaying a first indication corresponding to the first sub-period of the sleep period, wherein the first indication: indicates that the first sub-period is a first type of sleep period corresponding to the first sleep stage based on determining that the first data corresponds exclusively to a first sleep stage in a plurality of sleep stages; and indicates that the first sub-period corresponds to at least a second sleep stage and a third sleep stage different from the second sleep stage in a plurality of sleep stages based on determining that the first data does not correspond exclusively to a single sleep stage in a plurality of sleep stages.
[0011] An example computer system is configured to communicate with a display generation component and one or more input devices, and includes: a device for receiving sleep data corresponding to a sleep period from one or more input devices, wherein the sleep data includes first data corresponding to a first sub-period of the sleep period; and a device for displaying a sleep representation that classifies the sleep period into multiple sleep stages via the display generation component based on the sleep data, wherein displaying the sleep representation includes displaying a first indication corresponding to the first sub-period of the sleep period, wherein the first indication: indicates that the first sub-period is a first type of sleep period corresponding to the first sleep stage based on determining that the first data corresponds exclusively to a first sleep stage among multiple sleep stages; and indicates that the first sub-period corresponds to at least a second sleep stage and a third sleep stage different from the second sleep stage among the multiple sleep stages based on determining that the first data does not exclusively correspond to a single sleep stage among the multiple sleep stages.
[0012] An exemplary computer program product is described herein. An exemplary computer program product includes one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs including instructions for the following operations: receiving sleep data corresponding to a sleep period from one or more input devices, wherein the sleep data includes first data corresponding to a first sub-period of the sleep period; and displaying, via the display generation component, a sleep representation that classifies the sleep period into a plurality of sleep stages based on the sleep data, wherein displaying the sleep representation includes displaying a first indication corresponding to the first sub-period of the sleep period, wherein the first indication: indicates that the first sub-period is a first type of sleep period corresponding to the first sleep stage based on determining that the first data corresponds exclusively to a first sleep stage in a plurality of sleep stages; and indicates that the first sub-period corresponds to at least a second sleep stage and a third sleep stage different from the second sleep stage in a plurality of sleep stages based on determining that the first data does not exclusively correspond to a single sleep stage in a plurality of sleep stages.
[0013] Executable instructions for performing these functions are optionally included in a non-transitory computer-readable storage medium or other computer program product configured for execution by one or more processors. Executable instructions for performing these functions are optionally included in a transient computer-readable storage medium or other computer program product configured for execution by one or more processors.
[0014] Thus, devices are provided with faster, more efficient methods and interfaces for sleep tracking, thereby increasing the effectiveness, efficiency, and user satisfaction of such devices. Such methods and interfaces may supplement or replace other methods for sleep tracking. BRIEF DESCRIPTION OF THE DRAWINGS
[0015] For a better understanding of the various described embodiments, reference should be made to the following detailed description taken in conjunction with the following drawings, wherein like reference numerals designate corresponding parts throughout the several views.
[0016] Figure 1A is a block diagram illustrating a portable multifunction device with a touch-sensitive display according to some embodiments.
[0017] Figure 1B is a block diagram illustrating exemplary components for event processing according to some embodiments.
[0018] Figure 2 A portable multifunction device with a touch screen according to some embodiments is illustrated.
[0019] Figure 3 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface according to some embodiments.
[0020] Figure 4A An exemplary user interface for a menu of applications on a portable multifunction device according to some embodiments is illustrated.
[0021] Figure 4B An exemplary user interface for a multifunction device having a touch-sensitive surface separate from the display is illustrated according to some embodiments.
[0022] Figure 5A Personal electronic devices according to some embodiments are illustrated.
[0023] Figure 5B is a block diagram illustrating a personal electronic device according to some embodiments.
[0024] FIG. 6A to FIG. 6K An exemplary user interface for tracking sleep behavior according to some embodiments is illustrated.
[0025] Figure 7 A flow chart illustrating a process for tracking sleep behavior according to some embodiments. DETAILED DESCRIPTION
[0026] The following description sets forth exemplary methods, parameters, etc. However, it should be appreciated that such description is not intended to limit the scope of the present disclosure, but is provided as a description of exemplary embodiments.
[0027] Electronic devices are needed to provide more efficient methods and interfaces for tracking sleep behavior. Such techniques can reduce the cognitive burden of a user viewing one or more user interfaces corresponding to the tracked sleep behavior, thereby improving productivity. In addition, such techniques can reduce processor power and battery power that would otherwise be wasted on redundant user input.
[0028] under Figure 1A to Figure 1B , Figure 2 , Figure 3 , FIG. 4A to FIG. 4B and FIG. 5A to FIG. 5B A description of an exemplary device for performing techniques for management event notifications is provided. FIG. 6A to FIG. 6K An exemplary user interface for tracking sleep behavior is illustrated. Figure 7 is a flow chart illustrating a method for tracking sleep behavior according to some embodiments. FIG. 6A to FIG. 6K The user interface in is used to illustrate the following description including Figure 7 The process of the process.
[0029] The processes described below enhance the operability of the device and make the user-device interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the device) through various techniques, including by providing improved visual feedback to the user, reducing the number of inputs required to perform an operation, providing additional control options without cluttering the user interface with additional display controls, performing an operation without further user input when a set of conditions have been met, and / or additional techniques. These techniques also reduce power usage and extend the battery life of the device by enabling the user to use the device more quickly and more efficiently.
[0030] In addition, in the method described herein where one or more steps depend on one or more conditions being met, it should be understood that the method can be repeated in multiple repetitions so that in the process of repetition, all conditions for determining the steps in the method have been met in different repetitions of the method. For example, if the method needs to perform the first step (if the condition is met), and perform the second step (if the condition is not met), then the ordinary technician will know that the steps stated are repeated until both the condition is met and the condition is not met (in no particular order). Therefore, the method described as having one or more steps depending on one or more conditions being met can be rewritten as a method of repeating until each condition described in the method is met. However, this does not require the system or computer-readable medium to declare that the system or computer-readable medium contains instructions for performing a contingent operation based on the satisfaction of the corresponding one or more conditions, and is therefore able to determine whether the possible situation has been met without explicitly repeating the steps of the method until all conditions for determining the steps in the method have been met. It will also be understood by ordinary technicians in the art that, similar to the method with the contingent step, the system or computer-readable storage medium can repeat the steps of the method as many times as needed to ensure that all the contingent steps have been performed.
[0031] Although the following description uses the terms "first", "second", etc. to describe various elements, these elements should not be limited by the terms. In some embodiments, these terms are used to distinguish one element from another element. For example, a first touch can be named a second touch and similarly a second touch can be named a first touch without departing from the scope of the various described embodiments. In some embodiments, the first touch and the second touch are two separate references to the same touch. In some embodiments, both the first touch and the second touch are touches, but they are not the same touch.
[0032] The terms used in the description of various described embodiments herein are only for the purpose of describing specific embodiments, and are not intended to be limited. As used in the description of various described embodiments and in the appended claims, the singular forms "one" and "the" are intended to also include plural forms, unless the context clearly indicates otherwise. It will also be understood that the term "and / or" used herein refers to and encompasses any and all possible combinations of one or more items in the associated listed items. It will also be understood that the terms "including" and / or "comprising" when used in this specification 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 their grouping.
[0033] The term "if" is optionally interpreted to mean "when," "upon," or "in response to determining," or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined that ..." or "if [a stated condition or event] is detected" are optionally interpreted to mean "upon determining that ..." or "in response to determining that ..." or "upon detecting [a stated condition or event]," or "in response to detecting [a stated condition or event]," depending on the context.
[0034] Embodiments of electronic devices, user interfaces for such devices, and associated processes for using such devices are described herein. In some embodiments, the device is a portable communication device, such as a mobile phone, that also includes other functions, such as a PDA and / or a music player function. Exemplary embodiments of portable multifunction devices include, but are not limited to, the Apple Watch from Apple Inc. (Cupertino, California). Devices, iPod Equipment and Device. Other portable electronic devices are optionally used, such as laptops or tablet computers with touch-sensitive surfaces (e.g., touch screen displays and / or touch pads). It should also be understood that in some embodiments, the device is not a portable communication device, but a desktop computer with a touch-sensitive surface (e.g., touch screen displays and / or touch pads). In some embodiments, the electronic device is a computer system that communicates with the display generation component (e.g., via wireless communication, via wired communication). The display generation component is configured to provide visual output, such as display via a CRT display, display via an LED display, or display via image projection. In some embodiments, the display generation component is integrated with the computer system. In some embodiments, the display generation component is separated from the computer system. As used herein, "display" content includes transmitting data (e.g., image data or video data) to an integrated or external display generation component via a wired or wireless connection to visually generate content to display content (e.g., video data rendered or decoded by display controller 156).
[0035] In the following discussion, an electronic device including a display and a touch-sensitive surface is described. However, it should be understood that the electronic device may optionally include one or more other physical user interface devices, such as a physical keyboard, mouse, and / or joystick.
[0036] The device typically supports a variety of applications, such as one or more of the following: a drawing application, a presentation application, a word processing application, a website creation application, a disk editing application, a spreadsheet application, a gaming application, a telephony application, a video conferencing application, an email application, an instant messaging application, a fitness support application, a photo management application, a digital camera application, a digital video camera application, a web browsing application, a digital music player application, and / or a digital video player application.
[0037] Various applications executed on the device optionally use at least one common physical user interface device, such as a touch-sensitive surface. One or more functions of the touch-sensitive surface and corresponding information displayed on the device are optionally adjusted and / or varied for different applications and / or adjusted and / or varied within the respective applications. In this way, the common physical architecture of the device (such as a touch-sensitive surface) optionally supports various applications with a user interface that is intuitive and clear to the user.
[0038] Attention is now turned to embodiments of portable devices having touch-sensitive displays. Figure 1A1 is a block diagram illustrating a portable multifunction device 100 with a touch-sensitive display system 112 according to some embodiments. The touch-sensitive display 112 is sometimes referred to as a "touch screen" for convenience, and is sometimes referred to as or referred to as a "touch-sensitive display system." The device 100 includes a memory 102 (which optionally includes one or more computer-readable storage media), a memory controller 122, one or more processing units (CPUs) 120, a peripheral device interface 118, an RF circuit 108, an audio circuit 110, a speaker 111, a microphone 113, an input / output (I / O) subsystem 106, other input control devices 116, and an external port 124. The device 100 optionally includes one or more optical sensors 164. The device 100 optionally includes one or more contact force sensors 165 for detecting the intensity of contact on the device 100 (e.g., a touch-sensitive surface, such as the touch-sensitive display system 112 of the device 100). Device 100 optionally includes one or more tactile output generators 167 for generating tactile output on device 100 (e.g., generating tactile output on a touch-sensitive surface such as touch-sensitive display system 112 of device 100 or touch pad 355 of device 300). These components optionally communicate via one or more communication buses or signal lines 103.
[0039] As used in this specification and claims, the term "intensity" of a contact on a touch-sensitive surface refers to the force or pressure (force per unit area) of a contact (e.g., a finger contact) on the touch-sensitive surface, or to a surrogate (surrogate) of the force or pressure of a contact on the touch-sensitive surface. The intensity of a contact has a range of values that includes at least four different values and more typically includes hundreds of different values (e.g., at least 256). The intensity of a contact is optionally determined (or measured) using various methods and various sensors or combinations of sensors. For example, one or more force sensors below or adjacent to the touch-sensitive surface are optionally used to measure the force at different points on the touch-sensitive surface. In some embodiments, force measurements from multiple force sensors are combined (e.g., weighted averaged) to determine an estimated contact force. Similarly, the pressure-sensitive tip of a stylus is optionally used to determine the pressure of the stylus on the touch-sensitive surface. Alternatively, the size of the contact area detected on the touch-sensitive surface and / or its change, the capacitance of the touch-sensitive surface near the contact and / or its change, and / or the resistance of the touch-sensitive surface near the contact and / or its change are optionally used as a substitute for the force or pressure of the contact on the touch-sensitive surface. In some embodiments, the substitute measurement of the contact force or pressure is used directly to determine whether the intensity threshold has been exceeded (e.g., the intensity threshold is described in units corresponding to the substitute measurement). In some embodiments, the substitute measurement of the contact force or pressure is converted into an estimated force or pressure, and the estimated force or pressure is used to determine whether the intensity threshold has been exceeded (e.g., the intensity threshold is a pressure threshold measured in units of pressure). Using the intensity of the contact as an attribute of the user input allows the user to access additional device functions that would otherwise be inaccessible to the user on a smaller device with limited real estate, which is used to display an enable indication (e.g., on a touch-sensitive display) and / or receive user input (e.g., via a touch-sensitive display, a touch-sensitive surface, or a physical control / mechanical control, such as a knob or button).
[0040] As used in this specification and claims, the term "tactile output" refers to a physical displacement of a device relative to a previous position of the device, a physical displacement of a component of the device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., a housing), or a displacement of a component relative to the center of mass of the device, which will be detected by a user using the user's sense of touch. For example, in the case where a device or a component of the device is in contact with a surface that is sensitive to touch by a user (e.g., a finger, palm, or other part of the user's hand), the tactile output generated by the physical displacement will be interpreted by the user as a tactile sensation that corresponds to a perceived change in a physical 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 "press click" or "release click" to a physical actuation button. In some cases, the user will feel a tactile sensation, such as a "press click" or "release click", even when the physical actuation button associated with the touch-sensitive surface that is physically pressed (e.g., displaced) by the user's movement does not move. As another example, even when there is no change in the smoothness of the touch-sensitive surface, movement of the touch-sensitive surface may optionally be interpreted or sensed by the user as "roughness" of the touch-sensitive surface. Although such a user's interpretation of touch will be limited by the user's individualized sensory perceptions, many sensory perceptions of touch are common to most users. Thus, when a tactile output is described as corresponding to a particular sensory perception of a user (e.g., "press click," "release click," "roughness"), unless otherwise stated, the generated tactile output corresponds to a physical displacement of the device or a component thereof that would generate that sensory perception for a typical (or average) user.
[0041] It should be understood that device 100 is merely one example of a portable multifunction device and that device 100 may optionally have more or fewer components than shown, may optionally combine two or more components, or may optionally have a different configuration or arrangement of the components. Figure 1A The various components shown are implemented in hardware, software, or a combination of both hardware and software, including one or more signal processing and / or application specific integrated circuits.
[0042] Memory 102 optionally includes high-speed random access memory and optionally also includes non-volatile memory, such as one or more disk storage devices, flash memory devices or other non-volatile solid-state memory devices. Memory controller 122 optionally controls other components of device 100 to access memory 102.
[0043] The peripheral device interface 118 can be used to couple the input peripheral devices and output peripheral devices of the device to the CPU 120 and the memory 102. The one or more processors 120 run or execute various software programs (such as computer programs (e.g., including instructions)) and / or instruction sets stored in the memory 102 to perform various functions of the device 100 and process data. In some embodiments, the peripheral device interface 118, the CPU 120, and the memory controller 122 are optionally implemented on a single chip such as the chip 104. In some other embodiments, they are optionally implemented on separate chips.
[0044] RF (radio frequency) circuit 108 receives and sends RF signals, also referred to as electromagnetic signals. RF circuit 108 converts electrical signals into / converts electromagnetic signals into electrical signals, and communicates with communication networks and other communication devices via electromagnetic signals. RF circuit 108 optionally includes well-known circuits for performing these functions, including but not limited to antenna systems, RF transceivers, one or more amplifiers, tuners, one or more oscillators, digital signal processors, codec chipsets, user identity modules (SIM) cards, memories, and the like. RF circuit 108 optionally communicates with networks and other devices via wireless communications, such as the Internet (also referred to as the World Wide Web (WWW)), intranets, and / or wireless networks (such as cellular telephone networks, wireless local area networks (LANs), and / or metropolitan area networks (MANs)). RF circuit 108 optionally includes well-known circuits for detecting near field communications (NFC) fields, such as through short-range communications radio components. Wireless communication may optionally use any of a variety of communication standards, protocols and technologies, including, but not limited to, Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), Evolution, Data-Only (EV-DO), HSPA, HSPA+, Dual Cell HSPA (DC-HSPDA), Long Term Evolution (LTE), Near Field Communication (NFC), Wideband Code Division Multiple Access (W-CDMA), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Bluetooth, Bluetooth Low Energy (BTLE), Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.11d), IEEE 802.11e, IEEE 802.11f, IEEE 802.11g, IEEE 802.11g). 11n and / or IEEE 802.11ac), Voice over Internet Protocol (VoIP), Wi-MAX, email protocols (e.g., Internet Message Access Protocol (IMAP) and / or Post Office Protocol (POP)), instant messaging (e.g., Extensible Messaging and Presence Protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Utilizing Extensions (SIMPLE), Instant Messaging and Presence Service (IMPS)) and / or Short Message Service (SMS), or any other suitable communication protocol including communication protocols that have not been developed as of the filing date of this document.
[0045] The audio circuit 110, speaker 111, and microphone 113 provide an audio interface between a user and the device 100. The audio circuit 110 receives audio data from the peripheral device interface 118, converts the audio data into electrical signals, and transmits the electrical signals to the speaker 111. The speaker 111 converts the electrical signals into sound waves audible to humans. The audio circuit 110 also receives electrical signals converted from sound waves by the microphone 113. The audio circuit 110 converts the electrical signals into audio data and transmits the audio data to the peripheral device interface 118 for processing. The audio data is optionally retrieved from and / or transmitted to the memory 102 and / or the RF circuit 108 by the peripheral device interface 118. In some embodiments, the audio circuit 110 also includes a headset jack (e.g., Figure 2 The headset jack provides an interface between the audio circuit 110 and a removable audio input / output peripheral device, such as an output-only headset or a headset having both output (e.g., a single or dual-ear headset) and input (e.g., a microphone).
[0046] The I / O subsystem 106 couples input / output peripherals on the device 100, such as a touch screen 112 and other input control devices 116, to a peripheral device interface 118. The I / O subsystem 106 optionally includes a display controller 156, an optical sensor controller 158, a depth camera controller 169, an intensity sensor controller 159, a tactile feedback controller 161, and one or more input controllers 160 for other input or control devices. The one or more input controllers 160 receive / send electrical signals from other input control devices 116. The other input control devices 116 optionally include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slide switches, joysticks, click wheels, etc. In some embodiments, the input controller 160 is optionally coupled to any of the following (or none of the following): a keyboard, an infrared port, a USB port, and a pointing device such as a mouse. One or more buttons (e.g., Figure 2 208) optionally includes an increase / decrease button for volume control of the speaker 111 and / or the microphone 113. The one or more buttons optionally include a push button (e.g., Figure 2206 in). In some embodiments, the electronic device is a computer system that communicates with one or more input devices (e.g., via wireless communication, via wired communication). In some embodiments, the one or more input devices include a touch-sensitive surface (e.g., a touchpad as part of a touch-sensitive display). In some embodiments, the one or more input devices include one or more camera sensors (e.g., one or more optical sensors 164 and / or one or more depth camera sensors 175), such as for tracking a user's gestures (e.g., hand gestures and / or air gestures) as input. In some embodiments, the one or more input devices are integrated with the computer system. In some embodiments, the one or more input devices are separate from the computer system. In some embodiments, an air gesture is a gesture that is detected without the user touching an input element that is part of the device (or is independent of an input element that is part of the device) and is based on detected movement of a part of the user's body through the air, including movement of the user's body relative to an absolute reference (for example, the angle of the user's arm relative to the ground or the distance of the user's hand relative to the ground), movement relative to another part of the user's body (for example, movement of the user's hand relative to the user's shoulder, movement of one of the user's hands relative to the user's other hand, and / or movement of the user's fingers relative to another finger or part of the user's hand), and / or absolute movement of a part of the user's body (for example, a tap gesture involving a hand moving a predetermined amount and / or speed in a predetermined position, or a shake gesture involving a predetermined speed or amount of rotation of a part of the user's body).
[0047] A quick press of the push button optionally disengages the lock of the touch screen 112 or optionally begins the process of unlocking the device using gestures on the touch screen, as described in U.S. Patent Application 11 / 322,549, filed on December 23, 2005, entitled "Unlocking a Device by Performing Gestures on an Unlock Image" (i.e., U.S. Patent No. 7,657,849), which is hereby incorporated by reference in its entirety. A long press of the push button (e.g., 206) optionally turns the device 100 on or off. The functions of one or more buttons are optionally user-customizable. The touch screen 112 is used to implement virtual buttons or soft buttons and one or more soft keyboards.
[0048] The touch-sensitive display 112 provides an input interface and an output interface between the device and the user. The display controller 156 receives electrical signals from the touch screen 112 and / or sends electrical signals to the touch screen. The touch screen 112 displays visual output to the user. The visual output optionally includes graphics, text, icons, videos, and any combination thereof (collectively referred to as "graphics"). In some embodiments, some or all of the visual output optionally corresponds to user interface objects.
[0049] The touch screen 112 has a touch-sensitive surface, sensor, or sensor group that accepts input from a user based on tactile and / or haptic contact. The touch screen 112 and display controller 156 (together with any associated modules and / or instruction sets in memory 102) detect contact (and any movement or interruption of the contact) on the touch screen 112 and convert the detected contact into interaction with a user interface object (e.g., one or more soft keys, icons, web pages, or images) displayed on the touch screen 112. In an exemplary embodiment, the point of contact between the touch screen 112 and the user corresponds to the user's finger.
[0050] The touch screen 112 optionally uses LCD (liquid crystal display) technology, LPD (light emitting polymer display) technology, or LED (light emitting diode) technology, although other display technologies are used in other embodiments. The touch screen 112 and display controller 156 optionally use any of a variety of touch sensing technologies now known or later developed, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with the touch screen 112 to detect contact and any movement or interruption thereof. In an exemplary embodiment, projected mutual capacitance sensing technology is used, such as in the Apple ® from Apple Inc. (Cupertino, California). and iPod The technology used in.
[0051] The touch-sensitive display in some embodiments of the touch screen 112 is optionally similar to the multi-touch-sensitive touch pad described in the following U.S. Patents: 6,323,846 (Westerman et al.), 6,570,557 (Westerman et al.), and / or 6,677,932 (Westerman et al.), and / or U.S. Patent Publication 2002 / 0015024A1, each of which is hereby incorporated by reference in its entirety. However, the touch screen 112 displays visual output from the device 100, while the touch-sensitive touch pad does not provide visual output.
[0052] The touch-sensitive display in some embodiments of the touch screen 112 is described in the following applications: (1) U.S. patent application No. 11 / 381,313, filed on May 2, 2006, "Multipoint Touch Surface Controller"; (2) U.S. patent application No. 10 / 840,862, filed on May 6, 2004, "Multipoint Touchscreen"; (3) U.S. patent application No. 10 / 903,964, filed on July 30, 2004, "Gestures For Touch Sensitive Input Devices"; (4) U.S. patent application No. 11 / 048,264, filed on January 31, 2005, "Gestures For Touch Sensitive Input Devices"; (5) U.S. patent application No. 11 / 038,590, filed on January 18, 2005, "Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices”; (6) U.S. patent application Ser. No. 11 / 228,758, filed on September 16, 2005, “Virtual Input Device Placement On A Touch Screen User Interface”; (7) U.S. patent application Ser. No. 11 / 228,700, filed on September 16, 2005, “Operation Of A Computer With A Touch Screen Interface”; (8) U.S. patent application Ser. No. 11 / 228,737, filed on September 16, 2005, “Activating Virtual Keys Of A Touch-Screen Virtual Keyboard”; and (9) U.S. patent application Ser. No. 11 / 367,749, filed on March 3, 2006, “Multi-Functional Hand-Held Device”. All of these applications are incorporated herein by reference in their entirety.
[0053] The touch screen 112 optionally has a video resolution of more than 100 dpi. In some embodiments, the touch screen has a video resolution of about 160 dpi. The user optionally uses any suitable object or attachment such as a stylus, finger, etc. to contact the touch screen 112. In some embodiments, the user interface is designed to work primarily through finger-based contacts and gestures, which may not be as precise as stylus-based input due to the larger contact area of the finger on the touch screen. In some embodiments, the device converts rough finger-based input into precise pointer / cursor positioning or commands for performing the actions desired by the user.
[0054] In some embodiments, in addition to the touch screen, the device 100 optionally includes a touchpad for activating or deactivating specific functions. In some embodiments, the touchpad is a touch-sensitive area of the device that, unlike the touch screen, does not display visual output. The touchpad is optionally a touch-sensitive surface separate from the touch screen 112, or an extension of the touch-sensitive surface formed by the touch screen.
[0055] The device 100 also includes a power system 162 for powering the various components. The power system 162 optionally includes a power management system, one or more power sources (e.g., batteries, alternating current (AC)), a recharging system, a power fault detection circuit, a power converter or inverter, a power status indicator (e.g., a light emitting diode (LED)), and any other components associated with the generation, management, and distribution of power in a portable device.
[0056] Device 100 optionally also includes one or more optical sensors 164 . Figure 1AAn optical sensor coupled to an optical sensor controller 158 in the I / O subsystem 106 is shown. The optical sensor 164 optionally includes a charge coupled device (CCD) or a complementary metal oxide semiconductor (CMOS) phototransistor. The optical sensor 164 receives light projected through one or more lenses from the environment and converts the light into data representing an image. In conjunction with the imaging module 143 (also called a camera module), the optical sensor 164 optionally captures a static image or a video. In some embodiments, the optical sensor is located on the rear of the device 100, opposite to the touch screen display 112 on the front of the device, so that the touch screen display can be used as a viewfinder for static images and / or video image acquisition. In some embodiments, the optical sensor is located on the front of the device so that the image of the user can be optionally obtained for video conferencing when the user views other video conference participants on the touch screen display. In some embodiments, the positioning of the optical sensor 164 can be changed by the user (e.g., by rotating the lens and sensor in the device housing) so that a single optical sensor 164 is used with the touch screen display for both video conferencing and static image and / or video image acquisition.
[0057] Device 100 optionally also includes one or more depth camera sensors 175 . Figure 1A A depth camera sensor coupled to a depth camera controller 169 in the I / O subsystem 106 is shown. The depth camera sensor 175 receives data from the environment to create a three-dimensional model of an object (e.g., a face) within the scene from a viewpoint (e.g., a depth camera sensor). In some embodiments, in conjunction with the imaging module 143 (also referred to as a camera module), the depth camera sensor 175 is optionally used to determine a depth map of different portions of an image captured by the imaging module 143. In some embodiments, the depth camera sensor is located at the front of the device 100, so that an image of the user with depth information is optionally obtained for video conferencing while the user is viewing other video conference participants on the touch screen display, and a selfie with depth map data is captured. In some embodiments, the depth camera sensor 175 is located at the rear of the device, or at both the rear and front of the device 100. In some embodiments, the positioning of the depth camera sensor 175 can be changed by the user (e.g., by rotating the lens and sensor in the device housing) so that the depth camera sensor 175 is used with the touch screen display for both video conferencing and still image and / or video image acquisition.
[0058] Device 100 optionally also includes one or more contact intensity sensors 165 . Figure 1AA contact force sensor is shown coupled to a force sensor controller 159 in the I / O subsystem 106. Contact force sensor 165 optionally includes one or more piezoresistive strain gauges, capacitive force sensors, electrical force sensors, piezoelectric force sensors, optical force sensors, capacitive touch-sensitive surfaces, or other force sensors (e.g., sensors for measuring the force (or pressure) of contact on a touch-sensitive surface). Contact force sensor 165 receives contact force information (e.g., pressure information or a surrogate for pressure information) from the environment. In some embodiments, at least one contact force sensor is juxtaposed or adjacent to a touch-sensitive surface (e.g., touch-sensitive display system 112). In some embodiments, at least one contact force sensor is located on the back of device 100, opposite to touch screen display 112 located on the front of device 100.
[0059] Device 100 optionally also includes one or more proximity sensors 166 . Figure 1A A proximity sensor 166 is shown coupled to the peripherals interface 118. Alternatively, the proximity sensor 166 is optionally coupled to the input controller 160 in the I / O subsystem 106. The proximity sensor 166 is optionally implemented as described in the following U.S. patent application numbers: 11 / 241,839, entitled "Proximity Detector In Handheld Device"; 11 / 240,788, entitled "Proximity Detector In Handheld Device"; 11 / 620,702, entitled "Using Ambient Light Sensor ToAugment Proximity Sensor Output"; 11 / 586,862, entitled "Automated Response To AndSensing Of "User Activity In Portable Devices"; and 11 / 638,251, entitled "Methods And Systems For Automatic Configuration Of Peripherals", which are hereby incorporated by reference in their entirety. In some embodiments, when the multifunction device is placed near the user's ear (for example, when the user is making a phone call), the proximity sensor is turned off and the touch screen 112 is disabled.
[0060] Device 100 optionally also includes one or more tactile output generators 167 . Figure 1AA tactile output generator coupled to a tactile feedback controller 161 in the I / O subsystem 106 is shown. The tactile output generator 167 optionally includes one or more electroacoustic devices such as a speaker or other audio component; and / or an electromechanical device for converting energy into linear motion such as a motor, solenoid, electroactive polymer, piezoelectric actuator, electrostatic actuator, or other tactile output generating component (e.g., a component for converting an electrical signal into a tactile output on the device). The contact force sensor 165 receives tactile feedback generation instructions from the tactile feedback module 133 and generates a tactile output on the device 100 that can be felt by a user of the device 100. In some embodiments, at least one tactile output generator is arranged in juxtaposition or proximity to a touch-sensitive surface (e.g., a touch-sensitive display system 112) and optionally generates a tactile output by moving the touch-sensitive surface vertically (e.g., inward / outward of the surface of the device 100) or laterally (e.g., backward and forward in the same plane as the surface of the device 100). In some embodiments, at least one tactile output generator sensor is located on the back of the device 100, opposite the touch screen display 112 located on the front of the device 100.
[0061] Device 100 optionally also includes one or more accelerometers 168 . Figure 1A An accelerometer 168 is shown coupled to the peripheral device interface 118. Alternatively, the accelerometer 168 is optionally coupled to the input controller 160 in the I / O subsystem 106. The accelerometer 168 is optionally implemented as described in the following U.S. Patent Publication Nos.: 20050190059, entitled "Acceleration-based Theft Detection System for Portable Electronic Devices" and 20060017692, entitled "Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer", both of which are incorporated herein by reference in their entirety. In some embodiments, information is displayed in a portrait view or a landscape view on the touch screen display based on analysis of data received from one or more accelerometers. The device 100 optionally includes a magnetometer and a GPS (or GLONASS or other global navigation system) receiver in addition to the accelerometer 168 for obtaining information about the position and orientation (e.g., portrait or landscape) of the device 100.
[0062] In some embodiments, the software components stored in memory 102 include an operating system 126, a communication module (or instruction set) 128, a contact / motion module (or instruction set) 130, a graphics module (or instruction set) 132, a text input module (or instruction set) 134, a global positioning system (GPS) module (or instruction set) 135, and an application (or instruction set) 136. In addition, in some embodiments, memory 102 ( Figure 1A ) or 370( Figure 3 ) storage device / global internal state 157, such as Figure 1A and Figure 3 . The device / global internal state 157 includes one or more of the following: active application state, which indicates which application (if any) is currently active; display state, which indicates what applications, views, or other information occupy various areas of the touch screen display 112; sensor state, including information obtained from the device's various sensors and input control devices 116; and position information related to the device's position and / or posture.
[0063] The operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, iOS, WINDOWS, or an embedded operating system such as VxWorks) includes various software components and / or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.), and facilitating communication between various hardware components and software components.
[0064] The communication module 128 facilitates communication with other devices through one or more external ports 124, and also includes various software components for processing data received by the RF circuit 108 and / or the external port 124. The external port 124 (e.g., Universal Serial Bus (USB), FireWire, etc.) is suitable for coupling directly to other devices, or indirectly through a network (e.g., the Internet, wireless LAN, etc.). In some embodiments, the external port is connected to (trademark of Apple Inc.) devices.
[0065] The contact / motion module 130 optionally detects contact with the touch screen 112 (in conjunction with the display controller 156) and other touch-sensitive devices (e.g., a touchpad or physical click wheel). The contact / motion module 130 includes various software components for performing various operations related to contact detection, such as determining whether contact has occurred (e.g., detecting a finger press event), determining the contact strength (e.g., the force or pressure of the contact, or a substitute for the force or pressure of the contact), determining whether there is movement of the contact and tracking the movement on the touch-sensitive surface (e.g., detecting one or more finger drag events), and determining whether the contact has stopped (e.g., detecting a finger lift event or contact disconnection). The contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of the contact point optionally includes determining the rate (magnitude), velocity (magnitude and direction) and / or acceleration (change in magnitude and / or direction) of the contact point, the movement of the contact point being represented by a series of contact data. These operations are optionally applied to a single point of contact (e.g., a single finger contact) or multiple points of simultaneous contact (e.g., "multi-touch" / multiple finger contacts). In some embodiments, the contact / motion module 130 and display controller 156 detect contact on the touch pad.
[0066] In some embodiments, the contact / motion module 130 uses a set of one or more intensity thresholds to determine whether an action has been performed by a user (e.g., to determine whether a user has "clicked" an icon). In some embodiments, at least a subset of the intensity thresholds are determined based on software parameters (e.g., the intensity thresholds are not determined by the activation thresholds of specific physical actuators and can be adjusted without changing the physical hardware of the device 100). For example, without changing the touchpad or touchscreen display hardware, the mouse "click" threshold of a touchpad or touchscreen can be set to any one of a large range of predefined thresholds. Additionally, in some specific implementations, a software setting is provided to the user of the device for adjusting one or more intensity thresholds in a set of intensity thresholds (e.g., by adjusting individual intensity thresholds and / or by utilizing a system-level click on an "intensity" parameter to adjust multiple intensity thresholds at once).
[0067] The contact / motion module 130 optionally detects gesture input by the user. Different gestures on the touch-sensitive surface have different contact patterns (e.g., different motions, timings, and / or intensities of the detected contacts). Thus, gestures are optionally detected by detecting specific contact patterns. For example, detecting a finger tap gesture includes detecting a finger press event, and then detecting a finger lift (lift-off) event at the same location (or substantially the same location) as the finger press event (e.g., at the location of an icon). As another example, detecting a finger swipe gesture on the touch-sensitive surface includes detecting a finger press event, then detecting one or more finger drag events, and then detecting a finger lift (lift-off) event.
[0068] The graphics module 132 includes various known software components for rendering and displaying graphics on the touch screen 112 or other display, including components for changing the visual impact (e.g., brightness, transparency, saturation, contrast, or other visual attributes) of the displayed graphics. As used herein, the term "graphics" includes any object that can be displayed to a user, including but not limited to text, web pages, icons (such as user interface objects including soft keys), digital images, videos, animations, etc.
[0069] In some embodiments, the graphics module 132 stores data representing graphics to be used. Each graphic is optionally assigned a corresponding code. The graphics module 132 receives one or more codes for specifying the graphics to be displayed from an application or the like, along with coordinate data and other graphic attribute data if necessary, and then generates screen image data to be output to the display controller 156.
[0070] Haptic feedback module 133 includes various software components for generating instructions used by tactile output generator 167 to produce tactile output at one or more locations on device 100 in response to user interaction with device 100 .
[0071] The text input module 134, which is optionally a component of the graphics module 132, provides a soft keyboard for entering text in various applications (e.g., the contacts module 137, email client module 140, IM module 141, browser module 147, and any other application requiring text input).
[0072] The GPS module 135 determines the location of the device and provides this information for use in various applications (e.g., to the phone module 138 for use in location-based dialing; to the camera module 143 as picture / video metadata; and to applications that provide location-based services, such as a weather widget, a local yellow pages widget, and a map / navigation widget).
[0073] The application 136 may optionally include the following modules (or instruction sets) or a subset or superset thereof:
[0074] ● Contacts module 137 (sometimes called address book or contact list);
[0075] ● Telephone module 138;
[0076] ● Video conferencing module 139;
[0077] ● Email client module 140;
[0078] ●Instant messaging (IM) module 141;
[0079] ●Fitness support module 142;
[0080] ● Camera module 143 for still images and / or video images;
[0081] ● Image management module 144;
[0082] ●Video player module;
[0083] ●Music player module;
[0084] ●Browser module 147;
[0085] ● Calendar module 148;
[0086] A widget module 149, which optionally includes one or more of the following: a weather widget 149-1, a stock market widget 149-2, a calculator widget 149-3, an alarm widget 149-4, a dictionary widget 149-5, and other widgets acquired by the user, and a user-created widget 149-6;
[0087] A widget creator module 150 for forming a user-created widget 149-6;
[0088] ●Search module 151;
[0089] ● Video and music player module 152, which merges the video player module and the music player module;
[0090] ●Note module 153;
[0091] ● Map module 154; and / or
[0092] ●Online video module 155.
[0093] Examples of other applications 136 that may optionally be stored in memory 102 include other word processing applications, other image editing applications, drawing applications, rendering applications, JAVA-enabled applications, encryption, digital rights management, voice recognition, and voice replication.
[0094] In combination with the touch screen 112, display controller 156, touch / motion module 130, graphics module 132 and text input module 134, the contact module 137 is optionally used to manage an address book or contact list (for example, in the application internal state 192 of the contact module 137 stored in memory 102 or memory 370), including: adding names to the address book; deleting names from the address book; associating phone numbers, email addresses, physical addresses or other information with names; associating images with names; categorizing and classifying names; providing phone numbers or email addresses to initiate and / or facilitate communications via the telephone module 138, video conferencing module 139, email client module 140 or IM module 141; and the like.
[0095] In conjunction with RF circuit 108, audio circuit 110, speaker 111, microphone 113, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, phone module 138 is optionally used to enter a character sequence corresponding to a phone number, access one or more phone numbers in contact module 137, modify an entered phone number, dial a corresponding phone number, conduct a conversation, and disconnect or hang up when the conversation is completed. As described above, wireless communication optionally uses any of a variety of communication standards, protocols, and technologies.
[0096] In combination with the RF circuit 108, the audio circuit 110, the speaker 111, the microphone 113, the touch screen 112, the display controller 156, the optical sensor 164, the optical sensor controller 158, the contact / motion module 130, the graphics module 132, the text input module 134, the contact module 137 and the telephone module 138, the video conferencing module 139 includes executable instructions for initiating, conducting and terminating a video conference between a user and one or more other participants in accordance with user instructions.
[0097] In conjunction with RF circuit 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, email client module 140 includes executable instructions for creating, sending, receiving, and managing emails in response to user instructions. In conjunction with image management module 144, email client module 140 makes it very easy to create and send emails with still images or video images captured by camera module 143.
[0098] In conjunction with the RF circuit 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134, the instant messaging module 141 includes executable instructions for the following operations: inputting a character sequence corresponding to an instant message, modifying previously input characters, transmitting a corresponding instant message (e.g., using a short message service (SMS) or multimedia message service (MMS) protocol for telephone-based instant messaging or using XMPP, SIMPLE, or IMPS for Internet-based instant messaging), receiving instant messages, and viewing received instant messages. In some embodiments, the transmitted and / or received instant messages optionally include graphics, photos, audio files, video files, and / or other attachments supported in MMS and / or enhanced messaging services (EMS). As used herein, "instant messaging" refers to both telephone-based messages (e.g., messages sent using SMS or MMS) and Internet-based messages (e.g., messages sent using XMPP, SIMPLE, or IMPS).
[0099] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, the text input module 134, the GPS module 135, the map module 154 and the music player module, the fitness support module 142 includes executable instructions for creating a fitness (e.g., with time, distance and / or calorie burn goals); communicating with fitness sensors (sports equipment); receiving fitness sensor data; calibrating sensors for monitoring fitness; selecting and playing music for fitness; and displaying, storing and transmitting fitness data.
[0100] In conjunction with the touch screen 112, display controller 156, optical sensor 164, optical sensor controller 158, contact / motion module 130, graphics module 132 and image management module 144, the camera module 143 includes executable instructions for the following operations: capturing still images or videos (including video streams) and storing them in the memory 102, modifying the characteristics of the still images or videos, or deleting the still images or videos from the memory 102.
[0101] In conjunction with touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, and camera module 143, image management module 144 includes executable instructions for arranging, modifying (e.g., editing) or otherwise manipulating, labeling, deleting, presenting (e.g., in a digital slideshow or album), and storing still images and / or video images.
[0102] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the touch / motion module 130, the graphics module 132 and the text input module 134, the browser module 147 includes executable instructions for browsing the Internet in accordance with user instructions, including searching, linking to, receiving and displaying web pages or portions thereof, as well as attachments and other files linked to web pages.
[0103] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the touch / motion module 130, the graphics module 132, the text input module 134, the email client module 140 and the browser module 147, the calendar module 148 includes executable instructions for creating, displaying, modifying and storing calendars and data associated with the calendar (e.g., calendar entries, to-do items, etc.) in accordance with user instructions.
[0104] In conjunction with RF circuit 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, and browser module 147, widget module 149 is a mini-application that is optionally downloaded and used by a user (e.g., weather widget 149-1, stock market widget 149-2, calculator widget 149-3, alarm 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, the widget includes an HTML (Hypertext Markup Language) file, a CSS (Cascading Style Sheets) file, and a JavaScript file. In some embodiments, the widget includes an XML (Extensible Markup Language) file and a JavaScript file (e.g., Yahoo! widget).
[0105] In combination with the RF circuit 108, touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134 and browser module 147, the widget creator module 150 is optionally used by a user to create widgets (e.g., converting a user-specified portion of a web page into a widget).
[0106] In combination with the touch screen 112, display controller 156, contact / motion module 130, graphics module 132 and text input module 134, the search module 151 includes executable instructions for searching the memory 102 for text, music, sound, images, videos and / or other files that match one or more search criteria (e.g., one or more user-specified search terms) in accordance with user instructions.
[0107] In conjunction with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, and browser module 147, video and music player module 152 includes executable instructions that allow a user to download and play back recorded music and other sound files stored in one or more file formats, such as MP3 or AAC files, and executable instructions for displaying, presenting, or otherwise playing back video (e.g., on touch screen 112 or on an external display connected via external port 124). In some embodiments, device 100 optionally includes the functionality of an MP3 player, such as an iPod (trademark of Apple Inc.).
[0108] In conjunction with the touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, the note module 153 includes executable instructions for creating and managing notes, to-do lists, etc. according to user instructions.
[0109] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the touch / motion module 130, the graphics module 132, the text input module 134, the GPS module 135 and the browser module 147, the map module 154 is optionally used to receive, display, modify and store maps and data associated with the maps (e.g., driving directions, data related to stores and other points of interest at or near a particular location, and other location-based data) in accordance with user instructions.
[0110] In conjunction with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuit 110, speaker 111, RF circuit 108, text input module 134, email client module 140, and browser module 147, online video module 155 includes instructions for the following operations: allowing a user to access, browse, receive (e.g., by streaming and / or downloading), playback (e.g., on the touch screen or on an external display connected via external port 124), send an email with a link to a specific online video, and otherwise manage online videos in one or more file formats such as H.264. In some embodiments, instant messaging module 141 is used instead of email client module 140 to send a link to a specific online video. Additional descriptions of online video applications may be found in U.S. Provisional Patent Application No. 60 / 936,562, filed on June 20, 2007, entitled “Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos,” and U.S. Patent Application No. 11 / 968,067, filed on December 31, 2007, entitled “Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos,” the contents of which are hereby incorporated by reference in their entirety.
[0111] Each of the modules and applications described above corresponds to an executable instruction set for performing one or more of the functions described above and the methods described in this patent application (e.g., the computer-implemented methods and other information processing methods described herein). These modules (e.g., instruction sets) do not have to be implemented as independent software programs (such as computer programs (e.g., including instructions)), processes, or modules, so various subsets of these modules are optionally combined or otherwise rearranged in various embodiments. For example, a video player module is optionally combined with a music player module into a single module (e.g., Figure 1A In some embodiments, the memory 102 optionally stores a subset of the above modules and data structures. In addition, the memory 102 optionally stores additional modules and data structures not described above.
[0112] In some embodiments, the device 100 is a device where the operation of a predefined set of functions on the device is performed exclusively through a touch screen and / or a touch pad. By using a touch screen and / or a touch pad as the primary input control device for operating the device 100, the number of physical input control devices (e.g., push buttons, dials, etc.) on the device 100 is optionally reduced.
[0113] A predefined set of functions that are uniquely performed through a touch screen and / or a touch pad optionally includes navigation between user interfaces. In some embodiments, the touch pad, when touched by a user, navigates the device 100 from any user interface displayed on the device 100 to a main menu, a main desktop menu, or a root menu. In such embodiments, a touch pad is used to implement a "menu button." In some other embodiments, the menu button is a physical push button or other physical input control device, rather than a touch pad.
[0114] Figure 1B is a block diagram illustrating exemplary components for event processing according to some embodiments. In some embodiments, memory 102 ( Figure 1A ) or memory 370( Figure 3 ) includes an event classifier 170 (e.g., in the operating system 126) and a corresponding application 136-1 (e.g., any one of the aforementioned applications 137 to 151, 155, 380 to 390).
[0115] Event classifier 170 receives event information and determines the application 136-1 and the application view 191 of application 136-1 to which the event information is to be delivered. Event classifier 170 includes event monitor 171 and event distributor module 174. In some embodiments, application 136-1 includes application internal state 192, which indicates one or more current application views displayed on touch-sensitive display 112 when the application is active or executing. In some embodiments, device / global internal state 157 is used by event classifier 170 to determine which application(s) is currently active, and application internal state 192 is used by event classifier 170 to determine the application view 191 to which the event information is to be delivered.
[0116] In some embodiments, the application internal state 192 includes additional information, such as one or more of the following: resumption information to be used when application 136-1 resumes execution, user interface state information indicating that information is being displayed or is ready to be displayed by application 136-1, a state queue for enabling a user to return to a previous state or view of application 136-1, and a repeat / undo queue of previous actions taken by the user.
[0117] Event monitor 171 receives event information from peripherals interface 118. Event information includes information about sub-events (e.g., user touches on touch-sensitive display 112 as part of a multi-touch gesture). Peripherals interface 118 transmits information it receives from I / O subsystem 106 or sensors such as proximity sensor 166, one or more accelerometers 168, and / or microphone 113 (through audio circuit 110). The information that peripherals interface 118 receives from I / O subsystem 106 includes information from touch-sensitive display 112 or a touch-sensitive surface.
[0118] In some embodiments, event monitor 171 sends requests to peripheral device interface 118 at predetermined intervals. In response, peripheral device interface 118 transmits event information. In other embodiments, peripheral device interface 118 transmits event information only when there is a significant event (e.g., receiving an input above a predetermined noise threshold and / or receiving an input for more than a predetermined duration).
[0119] In some embodiments, the event classifier 170 also includes a hit view determination module 172 and / or an active event identifier determination module 173.
[0120] When the touch-sensitive display 112 displays more than one view, the hit view determination module 172 provides software procedures for determining where within one or more views a sub-event has occurred. A view consists of controls and other elements that a user can see on the display.
[0121] Another aspect of the user interface associated with an application is a set of views, sometimes also referred to herein as application views or user interface windows, in which information is displayed and touch-based gestures occur. The application views (of the respective application) in which a touch is detected optionally correspond to a programmatic level within the programmatic or view hierarchy of the application. For example, the lowest level view in which a touch is detected is optionally referred to as a hit view, and the set of events that are recognized as correct input is optionally determined based at least in part on the hit view of the initial touch that started the touch-based gesture.
[0122] Hit view determination module 172 receives information related to sub-events of touch-based gestures. When an application has multiple views organized in a hierarchy, hit view determination module 172 identifies the hit view as the lowest view in the hierarchy that should handle the sub-events. In most cases, the hit view is the lowest level view in which the initiating sub-event (e.g., the first sub-event in a sequence of sub-events that form an event or potential event) occurs. Once a hit view is identified by hit view determination module 172, the hit view typically receives all sub-events related to the same touch or input source for which it is identified as the hit view.
[0123] Active event recognizer determination module 173 determines which view or views within the view hierarchy should receive a particular sequence of sub-events. In some embodiments, active event recognizer determination module 173 determines that only the hit view should receive a particular sequence of sub-events. In other embodiments, active event recognizer determination module 173 determines that all views that include the physical location of the sub-event are actively participating views, and therefore determines that all actively participating views should receive a particular sequence of sub-events. In other embodiments, even if a touch sub-event is completely confined to an area associated with one particular view, higher views in the hierarchy will still remain as actively participating views.
[0124] Event distributor module 174 distributes event information to event recognizers (e.g., event recognizers 180). In embodiments including active event recognizer determination module 173, event distributor module 174 delivers the event information to the event recognizers determined by active event recognizer determination module 173. In some embodiments, event distributor module 174 stores the event information in an event queue, which is retrieved by corresponding event receivers 182.
[0125] In some embodiments, operating system 126 includes event classifier 170. Alternatively, application 136-1 includes event classifier 170. In yet another embodiment, event classifier 170 is a standalone module or is part of another module stored in memory 102, such as contact / motion module 130.
[0126] In some embodiments, application 136-1 includes multiple event handlers 190 and one or more application views 191, each of which includes instructions for handling touch events occurring within a corresponding view of the user interface of the application. Each application view 191 of application 136-1 includes one or more event recognizers 180. Typically, the corresponding application view 191 includes multiple event recognizers 180. In other embodiments, one or more event recognizers in event recognizers 180 are part of an independent module, which is a higher-level object such as a user interface toolkit or application 136-1 from which methods and other properties are inherited. In some embodiments, the corresponding event handler 190 includes one or more of the following: data updater 176, object updater 177, GUI updater 178 and / or event data 179 received from event classifier 170. Event handler 190 optionally utilizes or calls data updater 176, object updater 177 or GUI updater 178 to update application internal state 192. Alternatively, one or more of the application views 191 include one or more corresponding event handlers 190. In addition, in some embodiments, one or more of the data updater 176, the object updater 177, and the GUI updater 178 are included in the corresponding application view 191.
[0127] The corresponding event identifier 180 receives event information (e.g., event data 179) from the event classifier 170 and identifies the event based on the event information. The event identifier 180 includes an event receiver 182 and an event comparator 184. In some embodiments, the event identifier 180 also includes metadata 183 and at least a subset of event delivery instructions 188 (which optionally include sub-event delivery instructions).
[0128] Event receiver 182 receives event information from event classifier 170. Event information includes information about sub-events such as touch or touch movement. Depending on the sub-event, the event information also includes additional information, such as the location of the sub-event. When the sub-event involves the movement of the touch, the event information optionally also includes the rate and direction of the sub-event. In some embodiments, the event includes the device rotating from one orientation to another orientation (for example, from a longitudinal orientation to a transverse orientation, or vice versa), and the event information includes corresponding information about the current orientation of the device (also referred to as the device posture).
[0129] Event comparator 184 compares event information with predefined event or sub-event definitions, and determines an event or sub-event based on the comparison, or determines or updates the state of an event or sub-event. In some embodiments, event comparator 184 includes event definition 186. Event definition 186 includes the definition of an event (e.g., a predefined sub-event sequence), such as event 1 (187-1), event 2 (187-2), and others. In some embodiments, sub-events in events (e.g., 187-1 and / or 187-2) include, for example, touch start, touch end, touch move, touch cancel, and multi-touch. In one example, the definition of event 1 (187-1) is a double-click on a displayed object. For example, a double-click includes a first touch (touch start) of a predetermined duration on a displayed object, a first lift-off (touch end) of a predetermined duration, a second touch (touch start) of a predetermined duration on a displayed object, and a second lift-off (touch end) of a predetermined duration. In another example, the definition of event 2 (187-2) is a drag on a displayed object. For example, dragging includes a touch (or contact) of a predetermined duration on a displayed object, movement of the touch on the touch-sensitive display 112, and lifting of the touch (touch end). In some embodiments, the event also includes information for one or more associated event handlers 190.
[0130] In some embodiments, event definition 186 includes a definition of an event for a corresponding user interface object. In some embodiments, event comparator 184 performs a hit test to determine which user interface object is associated with a sub-event. For example, in an application view displaying three user interface objects on touch-sensitive display 112, when a touch is detected on touch-sensitive display 112, event comparator 184 performs a hit test to determine which of the three user interface objects is associated with the touch (sub-event). If each displayed object is associated with a corresponding event handler 190, the event comparator uses the result of the hit test to determine which event handler 190 should be activated. For example, event comparator 184 selects an event handler associated with a sub-event and the object that triggered the hit test.
[0131] In some embodiments, the definition of the corresponding event (187) also includes a delay action that delays the delivery of the event information until it has been determined that the sub-event sequence does or does not correspond to the event type of the event identifier.
[0132] When a corresponding event recognizer 180 determines that a sequence of sub-events does not match any event in event definition 186, the corresponding event recognizer 180 enters an event impossible, event failed, or event ended state, after which subsequent sub-events of the touch-based gesture are ignored. In this case, other event recognizers (if any) that remain active for the hit view continue to track and process sub-events of the ongoing touch-based gesture.
[0133] In some embodiments, the corresponding event recognizers 180 include metadata 183 with configurable properties, flags, and / or lists that indicate how the event delivery system should perform sub-event delivery to actively participating event recognizers. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate how event recognizers interact or can interact with each other. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate whether sub-events are delivered to different levels in a view or programmatic hierarchy.
[0134] In some embodiments, when one or more specific sub-events of an event are identified, the corresponding event recognizer 180 activates an event handler 190 associated with the event. In some embodiments, the corresponding event recognizer 180 delivers event information associated with the event to the event handler 190. Activating the event handler 190 is different from sending (and deferred sending) the sub-events to the corresponding hit view. In some embodiments, the event recognizer 180 throws a tag associated with the identified event, and the event handler 190 associated with the tag obtains the tag and executes a predefined process.
[0135] In some embodiments, the event delivery instructions 188 include a sub-event delivery instruction that delivers event information about a sub-event without activating an event handler. Instead, the sub-event delivery instruction delivers the event information to an event handler associated with a sub-event sequence or to an actively participating view. The event handler associated with the sub-event sequence or with an actively participating view receives the event information and executes a predetermined process.
[0136] In some embodiments, data updater 176 creates and updates data used in application 136-1. For example, data updater 176 updates phone numbers used in contact module 137 or stores video files used in video player module. In some embodiments, object updater 177 creates and updates objects used in application 136-1. For example, object updater 177 creates new user interface objects or updates the positioning of user interface objects. GUI updater 178 updates the GUI. For example, GUI updater 178 prepares display information and sends the display information to graphics module 132 for display on a touch-sensitive display.
[0137] In some embodiments, event handler 190 includes or has access to data updater 176, object updater 177, and GUI updater 178. In some embodiments, data updater 176, object updater 177, and GUI updater 178 are included in a single module of the corresponding application 136-1 or application view 191. In other embodiments, they are included in two or more software modules.
[0138] It should be understood that the above discussion of event processing for user touches on a touch-sensitive display also applies to other forms of user input that utilize input devices to operate the multifunction device 100, not all of which are initiated on the touch screen. For example, mouse movement and mouse button presses, optionally in conjunction with single or multiple keyboard presses or holddowns; contact movement on a touch pad, such as tapping, dragging, scrolling, etc.; stylus input; movement of the device; verbal commands; detected eye movement; biometric input; and / or any combination thereof, are optionally used as input corresponding to sub-events defining the event to be distinguished.
[0139] Figure 2A portable multifunction device 100 with a touch screen 112 according to some embodiments is illustrated. The touch screen optionally displays one or more graphics within a user interface (UI) 200. In this embodiment and other embodiments described below, a user can select one or more of these graphics by, for example, making gestures on the graphics using one or more fingers 202 (not drawn to scale in the figure) or one or more styluses 203 (not drawn to scale in the figure). In some embodiments, selection of one or more graphics will occur when the user interrupts contact with the one or more graphics. In some embodiments, the gesture optionally includes one or more taps, one or more swipes (from left to right, from right to left, up and / or down) and / or rolling of fingers that have been in contact with the device 100 (from right to left, from left to right, up and / or down). In some specific implementations or in some cases, inadvertent contact with a graphic will not select the graphic. For example, when the gesture corresponding to the selection is a tap, a swipe gesture that sweeps over an application icon optionally does not select the corresponding application.
[0140] The device 100 optionally also includes one or more physical buttons, such as a "home" or menu button 204. As previously described, the menu button 204 is optionally used to navigate to any application 136 in a set of applications that are optionally executed on the device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key in a GUI displayed on the touch screen 112.
[0141] In some embodiments, the device 100 includes a touch screen 112, a menu button 204, a push button 206 for turning the device on / off and for locking the device, one or more volume adjustment buttons 208, a user identity module (SIM) card slot 210, an earphone jack 212, and a docking / charging external port 124. The push button 206 is optionally used to turn the device on / off by pressing the button and keeping the button in a depressed state for a predefined time interval; lock the device by pressing the button and releasing the button before the predefined time interval passes; and / or unlock the device or initiate an unlocking process. In an alternative embodiment, the device 100 also accepts voice input for activating or deactivating certain functions through a microphone 113. The device 100 also optionally includes one or more contact strength sensors 165 for detecting the strength of contact on the touch screen 112, and / or one or more tactile output generators 167 for generating tactile output for a user of the device 100.
[0142] Figure 3300 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface according to some embodiments. The device 300 does not have to be portable. In some embodiments, the device 300 is a laptop, a desktop computer, a tablet computer, a multimedia player device, a navigation device, an educational device (such as a children's learning toy), a game system, or a control device (e.g., a home controller or an industrial controller). The device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, a memory 370, and one or more communication buses 320 for interconnecting these components. The communication bus 320 optionally includes circuits (sometimes referred to as chipsets) that interconnect system components and control communications between system components. The device 300 includes an input / output (I / O) interface 330 with a display 340, which is typically a touch screen display. The I / O interface 330 also optionally includes a keyboard and / or a mouse (or other pointing device) 350 and a touchpad 355, a tactile output generator 357 for generating tactile output on the device 300 (e.g., similar to the above reference Figure 1A The tactile output generator 167 described above), the sensor 359 (e.g., an optical sensor, an acceleration sensor, a proximity sensor, a touch sensitive sensor, and / or a contact intensity sensor (similar to the above reference Figure 1A Memory 370 may include high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid-state memory devices; and may optionally include 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 may optionally include one or more storage devices located away from CPU 310. In some embodiments, memory 370 stores data related to portable multifunction device 100 ( Figure 1A ) or a subset thereof. In addition, memory 370 optionally stores additional programs, modules, and data structures that are not present in memory 102 of portable multifunction device 100. For example, memory 370 of device 300 optionally stores a drawing module 380, a presentation module 382, a word processing module 384, a website creation module 386, a disk editing module 388, and / or a spreadsheet module 390, while portable multifunction device 100 ( Figure 1A )'s memory 102 optionally does not store these modules.
[0143] Figure 3Each element in the above-mentioned elements in is optionally stored in one or more memory devices of the previously mentioned memory device. Each module in the above-mentioned modules corresponds to the instruction set for performing the function described above. The above-mentioned modules or computer programs (for example, instruction sets or including instructions) do not have to be implemented with separate software programs (such as computer programs (for example, including instructions)), processes or modules, and therefore the various subsets of these modules are optionally combined or otherwise rearranged in various embodiments. In some embodiments, memory 370 optionally stores the subsets of the above-mentioned modules and data structures. In addition, memory 370 optionally stores additional modules and data structures not described above.
[0144] Attention is now turned to embodiments of a user interface that may optionally be implemented on, for example, portable multifunction device 100 .
[0145] Figure 4A An exemplary user interface of an application menu on portable multifunction device 100 according to some embodiments is illustrated. 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:
[0146] ● Signal strength indicators 402 for wireless communications such as cellular signals and Wi-Fi signals;
[0147] ●Time 404;
[0148] ●Bluetooth indicator 405;
[0149] ●Battery status indicator 406;
[0150] A tray 408 with icons for commonly used applications, such as:
[0151] o An icon 416 of the phone module 138 labeled "Phone" which optionally includes an indicator 414 of the number of missed calls or voicemails;
[0152] o an icon 418 of the email client module 140 labeled “Mail”, which optionally includes an indicator 410 of the number of unread emails;
[0153] o An icon 420 labeled "Browser" of the browser module 147; and
[0154] ○ Video and music player module 152 (also known as iPod (Apple Inc.
[0155] (trademark of Apple Inc.)) module 152) labeled "iPod" icon 422; and
[0156] ● Icons for other apps, such as:
[0157] o Icon 424 labeled "Message" of IM module 141;
[0158] o An icon 426 labeled “Calendar” of the calendar module 148;
[0159] o Icon 428 labeled “Photos” of the image management module 144;
[0160] o An icon 430 labeled “Camera” of the camera module 143;
[0161] ○ Icon 432 labeled “Online Video” of the online video module 155;
[0162] ○ Icon 434 labeled “Stock Market” of the Stock Market Widget 149 - 2 ;
[0163] o An icon 436 labeled “Map” of the map module 154;
[0164] ○ Icon 438 labeled “Weather” of the weather widget 149-1;
[0165] ○ Icon 440 labeled as “Clock” of the alarm clock widget 149 - 4 ;
[0166] o An icon 442 labeled “Fitness Support” of the fitness support module 142;
[0167] o An icon 444 labeled "Notes" of the notes module 153; and
[0168] o An icon 446 of a settings application or module labeled “Settings” that provides access to settings for the device 100 and its various applications 136 .
[0169] It should be noted that Figure 4A The illustrated icon labels are exemplary only. For example, the icon 422 of the video and music player module 152 is labeled "Music" or "Music Player". Other labels may be used for various application icons. In some embodiments, the label of the corresponding application icon includes the name of the application corresponding to the corresponding application icon. In some embodiments, the label of a particular application icon is different from the name of the application corresponding to the particular application icon.
[0170] Figure 4B The example embodiment has a touch-sensitive surface 451 (eg, touch screen display 112) that is separate from a display 450 (eg, touch screen display 112). Figure 3 tablet computer or touch pad 355) device (e.g., Figure 3Device 300 also optionally includes one or more contact intensity sensors (e.g., one or more of sensors 359) for detecting intensity of contacts on touch-sensitive surface 451 and / or one or more tactile output generators 357 for generating tactile output for a user of device 300.
[0171] Although some of the examples below are given with reference to input on a touch screen display 112 (where a touch-sensitive surface and a display are combined), in some embodiments, the device detects input on a touch-sensitive surface that is separate from the display, such as Figure 4B In some embodiments, the touch-sensitive surface (e.g., Figure 4B 451) has a main axis (e.g., Figure 4B 453) corresponding to the principal axis (for example, Figure 4B According to these embodiments, the device detects a position corresponding to a corresponding position on the display (e.g., Figure 4B 460 corresponds to 468 and 462 corresponds to 470) in contact with touch-sensitive surface 451 (e.g., Figure 4B Thus, when the touch-sensitive surface (e.g., Figure 4B 451) and a display of a multi-function device (e.g., Figure 4B When the user input detected by the device on the touch-sensitive surface (e.g., contacts 460 and 462 and their movement) is separated, the device is used to manipulate the user interface on the display. It should be understood that similar methods are optionally used for other user interfaces described herein.
[0172] Additionally, although the following examples are primarily given with reference to finger inputs (e.g., finger contacts, single-finger tap gestures, finger swipe gestures), it should be understood that in some embodiments, one or more of these finger inputs are replaced by input from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture is optionally replaced by a mouse click (e.g., instead of contact), followed by movement of the cursor along the path of the swipe (e.g., instead of movement of the contact). As another example, a tap gesture is optionally replaced by a mouse click when the cursor is over the location of the tap gesture (e.g., instead of detecting contact, followed by ceasing to detect contact). Similarly, when multiple user inputs are detected simultaneously, it should be understood that multiple computer mice are optionally used simultaneously, or mice and finger contacts are optionally used simultaneously.
[0173] Figure 5AAn exemplary personal electronic device 500 is illustrated. Device 500 includes a body 502. In some embodiments, device 500 may include components related to devices 100 and 300 (e.g., Figures 1A to 4B ) some or all of the features described in the foregoing. In some embodiments, device 500 has a touch-sensitive display screen 504, referred to hereinafter as touch screen 504. Alternatively, or in addition to touch screen 504, device 500 also has a display and a touch-sensitive surface. As with devices 100 and 300, in some embodiments, touch screen 504 (or touch-sensitive surface) optionally includes one or more intensity sensors for detecting the intensity of contact (e.g., touch) applied. One or more intensity sensors of touch screen 504 (or touch-sensitive surface) can provide output data representing the intensity of touch. The user interface of device 500 can respond to touch based on the intensity of the touch, which means that touches of different intensities can invoke different user interface operations on device 500.
[0174] Exemplary techniques for detecting and processing touch intensity are found, for example, in the following related patent applications: International patent application serial number PCT / US2013 / 040061, entitled “Device, Method, and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application,” filed on May 8, 2013, published as WIPO patent publication number WO / 2013 / 169849; and International patent application serial number PCT / US2013 / 069483, entitled “Device, Method, and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships,” filed on November 11, 2013, published as WIPO patent publication number WO / 2014 / 105276, each of which is hereby incorporated by reference in its entirety.
[0175] In some embodiments, the device 500 has one or more input mechanisms 506 and 508. The input mechanisms 506 and 508 (if included) can be physical. Examples of physical input mechanisms include push buttons and rotatable mechanisms. In some embodiments, the device 500 has one or more attachment mechanisms. Such attachment mechanisms (if included) can allow the device 500 to be attached to, for example, hats, glasses, earrings, necklaces, shirts, jackets, bracelets, watchbands, bracelets, pants, belts, shoes, wallets, backpacks, etc. These attachment mechanisms allow the user to wear the device 500.
[0176] Figure 5B An exemplary personal electronic device 500 is depicted. In some embodiments, the device 500 may include information about Figure 1A , Figure 1B and Figure 3 Some or all of the components described. Device 500 has a bus 512 that operatively couples an I / O portion 514 to one or more computer processors 516 and a memory 518. I / O portion 514 may be connected to a display 504, which may have a touch-sensitive component 522 and optionally a strength sensor 524 (e.g., a contact strength sensor). In addition, I / O portion 514 may be connected to a communication unit 530 for receiving application and operating system data using Wi-Fi, Bluetooth, near field communication (NFC), cellular and / or other wireless communication technologies. Device 500 may include input mechanisms 506 and / or 508. For example, input mechanism 506 may be optionally a rotatable input device or a depressible input device and a rotatable input device. In some examples, input mechanism 508 may be optionally a button.
[0177] In some examples, input mechanism 508 is optionally a microphone. Personal electronic device 500 optionally includes various sensors, such as GPS sensor 532, accelerometer 534, orientation sensor 540 (e.g., compass), gyroscope 536, motion sensor 538, and / or combinations thereof, all of which are operably connected to I / O portion 514.
[0178] 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 process 700 ( Figure 7). Computer-readable storage media can be any medium that can tangibly contain or store computer-executable instructions for use by or in conjunction with instruction execution systems, devices, and apparatuses. In some examples, the storage medium is a transient computer-readable storage medium. In some examples, the storage medium is a non-transitory computer-readable storage medium. Non-transitory computer-readable storage media may include, but are not limited to, magnetic storage devices, optical storage devices, and / or semiconductor storage devices. Examples of such storage devices include magnetic disks, optical disks based on CD, DVD, or Blu-ray technology, and persistent solid-state memories such as flash memory, solid-state drives, and the like. Personal electronic device 500 is not limited to Figure 5B components and configurations, but may include other components or additional components in a variety of configurations.
[0179] As used herein, the term "indicative representation" refers to an optional feature of the device 100, 300 and / or 500 ( Figure 1A , Figure 3 and FIG. 5A to FIG. 5B ) is a user-interactive graphical user interface object displayed on a display screen of a computer. For example, an image (e.g., an icon), a button, and text (e.g., a hyperlink) may each optionally constitute an affordance.
[0180] As used herein, the term "focus selector" refers to an input element used to indicate the current portion of a user interface that a user is interacting with. In some implementations that include a cursor or other position marker, the cursor acts as a "focus selector" such that when the cursor is over a particular user interface element (e.g., a button, window, slider, or other user interface element), a focus selector is displayed on a touch-sensitive surface (e.g., Figure 3 Touchpad 355 or Figure 4B In the event that an input (e.g., a press input) is detected on the touch-sensitive surface 451 in the display, the particular user interface element is adjusted according to the detected input. In the case that a touch-screen display (e.g., Figure 1A A touch-sensitive display system 112 or Figure 4AIn some implementations of the touch screen 112 in FIG. 1 , a contact detected on the touch screen acts as a “focus selector” such that when an input (e.g., a press input by the contact) is detected at the location of a particular user interface element (e.g., a button, window, slider, or other user interface element) on the touch screen display, the particular user interface element is adjusted according to the detected input. In some implementations, the focus moves from one area of the user interface to another area of the user interface without corresponding movement of a cursor or movement of a contact on the touch screen display (e.g., by using a tab key or arrow keys to move the focus from one button to another). In these implementations, the focus selector moves according to the movement of the focus between different areas of the user interface. Regardless of the specific form the focus selector takes, the focus selector is typically a user interface element (or contact on the touch screen display) that is controlled by the user to deliver the user's intended interaction with the user interface (e.g., by indicating to the device the element of the user interface with which the user desires to interact). For example, when a press input is detected on a touch-sensitive surface (e.g., a touchpad or touchscreen), the position of a focus selector (e.g., a cursor, contact, or selection box) over a corresponding button will indicate that the user intends to activate the corresponding button (rather than other user interface elements shown on the device display).
[0181] As used in the specification and claims, the term "characteristic intensity" of a contact refers to a characteristic of a contact based on one or more intensities of the contact. In some embodiments, the characteristic intensity is based on multiple intensity samples. The characteristic intensity is optionally based on a predefined number of intensity samples or a set of intensity samples collected during a predetermined time period (e.g., 0.05 seconds, 0.1 seconds, 0.2 seconds, 0.5 seconds, 1 second, 2 seconds, 5 seconds, 10 seconds) relative to a predefined event (e.g., after contact is detected, before contact is detected to be lifted off, before or after contact starts to move, before contact ends, before or after contact intensity is detected to increase, and / or before or after contact intensity is detected to decrease). The characteristic intensity of a contact is optionally based on one or more of the following: the maximum value of the intensity of the contact, the mean value of the intensity of the contact, the average value of the intensity of the contact, the value at the top 10% of the intensity of the contact, the half-maximum value of the intensity of the contact, the 90% maximum value of the intensity of the contact, etc. In some embodiments, the duration of the contact is used when determining the characteristic intensity (e.g., when the characteristic intensity is the average value of the intensity of the contact over time). In some embodiments, the feature strength is compared to a set of one or more strength thresholds to determine whether the user has performed an operation. For example, the set of one or more strength thresholds may optionally include a first strength threshold and a second strength threshold. In this example, a contact whose feature strength does not exceed the first threshold results in a first operation, a contact whose feature strength exceeds the first strength threshold but does not exceed the second strength threshold results in a second operation, and a contact whose feature strength exceeds the second threshold results in a third operation. In some embodiments, a comparison between the feature strength and one or more thresholds is used to determine whether to perform one or more operations (e.g., whether to perform the corresponding operation or to abandon the corresponding operation) rather than to determine whether to perform the first operation or the second operation.
[0182] Attention is now turned to embodiments of a user interface ("UI") and associated processes implemented on an electronic device, such as portable multifunction device 100, device 300, or device 500.
[0183] FIG. 6A to FIG. 6K An exemplary user interface for tracking sleep behavior according to some embodiments is illustrated. The user interface in these figures is used to illustrate the process described below, including Figure 7 process.
[0184] exist Fig. 6A, the device 600 displays a sleep interface 610 on the display 602. Generally, the sleep interface 610 includes information about various aspects of sleep corresponding to the user of the device 600. As an example, the sleep interface 610 includes a sleep schedule 612 that indicates the amount of sleep of the user obtained in each of a plurality of intervals (e.g., nights) over a period of time (e.g., a week). As another example, the sleep interface 610 includes a sleep stage portion 614 that illustrates the sleep stages experienced by the user over a period of time (e.g., a day, a night). As yet another example, the sleep interface 610 includes a data affordance 618 that, when selected, causes the device 600 to display sleep data for one or more sleep periods, as described in further detail below.
[0185] In some embodiments, information included in sleep interface 610 is provided based on sleep data received by device 600. In some embodiments, device 600 receives sleep data from one or more input devices, including but not limited to wearable devices (e.g., smart watches) and biometric sensors (e.g., heart rate monitors, oxygen monitors).
[0186] Sleep interface 610 includes detail affordance 616, which, when selected, causes device 600 to provide additional information about an aspect of sleep corresponding to a user of device 600. For example, while sleep interface 610 is displayed, device 600 detects a selection of detail affordance 616. The selection is a tap gesture 605a on detail affordance 616. Figure 6B As shown, in response to detecting tap gesture 605a (and, optionally, one or more additional inputs), device 600 displays sleep stages interface 620 .
[0187] Typically, the sleep stage interface 620 includes information about various aspects of the sleep stages detected for one or more sleep periods. For example, the sleep interface 620 includes a sleep structure diagram 622. The sleep structure diagram 622 graphically illustrates the sleep stages experienced by the user for the sleep period. In some embodiments, the sleep period can be any time period defined by the device 600, such as a day or a night. In some embodiments, the sleep period is determined by the device 600 based on the detected user behavior. For example, the sleep period can be defined by determining the time when the user falls asleep and / or wakes up. Additionally or alternatively, the sleep period can be defined as the time when the user lies in bed and / or gets up from bed.
[0188] In some embodiments, the sleep structure diagram 622 is generated based on the sleep data received by the device 600. For example, the device 600 determines which sleep stages (and when), if any, the user experienced during the sleep period based on the sleep data. For example, the indications 622a and 622b of the sleep structure diagram 622 are displayed as corresponding to the "core" and "awake" (e.g., awakening during sleep) sleep stages, respectively, indicating that the device 600 determined based on the sleep data that the user initially started the sleep period in the core sleep stage and transitioned to the awake sleep stage.
[0189] In some embodiments, the device 600 determines that the sleep data is ambiguous for a particular sub-period of the sleep period. For example, the device 600 may not be able to determine which sleep stage the user experienced based on the sleep data. In some embodiments, the sleep data for the sub-period is ambiguous when the sleep data for the sub-period is missing or erroneous. In some embodiments, the sleep data for the sub-period is ambiguous when the sleep data for the sub-period is uncertain (e.g., the sleep data is not sufficiently distinct so that the sleep data for the sub-period can be exclusively associated with a particular sleep stage).
[0190] In some embodiments, the device 600 indicates which sub-periods of the sleep period correspond to ambiguous sleep data. As an example, the indicator 622c of the sleep structure diagram 622 is shown as corresponding to multiple sleep stages (e.g., core, rapid eye movement, depth), thereby indicating that the sleep data of the sub-period corresponding to the indicator 622c is ambiguous. As another example, the indicator 622d of the sleep structure diagram 622 is shown as corresponding to multiple sleep stages, thereby indicating that the sleep data of the sub-period corresponding to the indicator 622d is ambiguous. In some embodiments, the indicator corresponding to the ambiguous sleep data corresponds to three sleep stages, as shown in the figure. In some embodiments, the indicator corresponding to the ambiguous sleep data may correspond to other numbers of sleep stages (e.g., 2, 4).
[0191] The sleep stage interface 620 also includes sleep stage indicators 624a-624d. The sleep stage indicator 624a indicates the total amount of time the user experienced the awake sleep stage during the sleep session. The sleep stage indicator 624b indicates the total amount of time the user experienced the core sleep stage during the sleep session. The sleep stage indicator 624c indicates the total amount of time the user experienced the REM sleep stage during the sleep session. The sleep stage indicator 624d indicates the total amount of time the user experienced the deep sleep stage during the sleep session.
[0192] In some embodiments, the total amount of time indicated by the sleep stage indications 624a-624d includes ambiguous sub-periods. For example, if the sleep stage cannot be determined within the sub-period (e.g., the sleep data for the sub-period is ambiguous), the device 600 allocates the amount of time (or a portion of the amount of time) to each sleep stage. In some embodiments, time is allocated to all sleep stages except the awake stage. In some embodiments, the total amount of time indicated by the sleep stage indications 624a-624d does not include ambiguous sub-periods.
[0193] In some embodiments, each sleep stage enable representation 624a-624d causes the corresponding sleep stage to be highlighted in the sleep structure diagram 622 when selected. As an example, the selection of the sleep stage enable representation 624a causes the device 600 to visually emphasize (e.g., highlight) all indicators of the sleep structure diagram 622 corresponding to the awake sleep stage (e.g., 622b) and / or visually de-emphasize indicators corresponding to other sleep stages (e.g., 622a). In some embodiments, in response to the selection of the sleep stage enable representation 624a-624d, indicators corresponding to multiple sleep stages (e.g., indicators of sub-periods corresponding to ambiguous sleep data, such as 622c) are not visually emphasized or de-emphasized. In some embodiments, in response to the selection of the sleep stage enable representation 624a-624d, indicators corresponding to multiple sleep stages are visually emphasized (e.g., 622c may be emphasized when the sleep stage enable representation 624c is selected).
[0194] In some embodiments, the sleep stage interface 620 is displayed according to a specific time frame. Figure 6B As shown, for example, time frame indicator 626 indicates that the current time frame of sleep stage interface 620 is one day ("D"). In some embodiments, the time frame of sleep stage interface 620 is modified. For example, when sleep stage interface 620 is displayed, device 600 detects a selection of a new time frame (e.g., one week, "W") on time frame indicator 626. The selection is a tap gesture 605b on time frame indicator 626. Figure 6C As shown, in response to detecting tap gesture 605b, device 600 modifies the time frame of sleep stages interface 620 from one day to one week.
[0195] In some embodiments, modifying the time frame of sleep stage interface 620 causes device 600 to modify (e.g., remove) the display of sleep structure graph 622. For example, Figure 6C As shown, changing the time frame from one day to one week causes the device 600 to replace the display of the sleep structure graph 622 with the sleep stage graph 628 (for reference, Figure 6C622a-622d). In some embodiments, the indicators are visually distinguished within each column using one or more visual characteristics (e.g., color, brightness).
[0196] In some embodiments, the sleep stages are compared to one or more other health indicators. For example, when displaying sleep stages interface 620, device 600 detects a selection of comparison enable representation 634. The selection is a tap gesture 605c on comparison enable representation 634. Fig.6D As shown, in response to detecting tap gesture 605c, device 600 displays comparison interface 640. In the example shown, the time frame of sleep stages interface 620 is restored to a time frame of one day in response to selection of tap gesture 605c. In some embodiments, the time frame of sleep stages interface 620 is maintained (e.g., the time frame is not modified and remains as one week).
[0197] The comparison interface 640 includes a sleep stage portion 642 and a health metric portion 644. The sleep stage portion 642 includes a sleep structure graph 643, which corresponds to the sleep structure graph 622 in some embodiments. Therefore, the sleep structure graph 643 includes indicators 642a-642d, which correspond to indicators 622a-622d in some embodiments. The health metric portion 644 illustrates the value of the user's health metric (e.g., heart rate) during the sleep period. In some embodiments, both the sleep stage portion 642 and the health metric portion 644 are aligned with the same x-axis, so that the sleep structure graph 643 and the health metric displayed in the health metric portion 644 are aligned with respect to time (e.g., allowing the user to easily view the sleep stage and / or compare the sleep stage with the health metric within the sleep period).
[0198] The comparison interface 640 also includes metric enable representations 646a-646c, each of which corresponds to a corresponding health metric. In some embodiments, metric enable representation 646a corresponds to heart rate, metric enable representation 646b corresponds to breathing rate, and metric enable representation 646c corresponds to wrist temperature. As shown, metric enable representation 646a is visually emphasized, thereby indicating that the metric corresponding to metric enable representation 646a is selected (e.g., by default) for display. Therefore, the value of heart rate is displayed in the health metric portion 644.
[0199] In some embodiments, values of other health metrics may be displayed in health metric portion 644. For example, when comparison interface 640 is displayed, device 600 detects a selection of metric affordance 646c. The selection is a tap gesture 605d on metric affordance 646c. Fig. 6E As shown, in response to detecting tap gesture 605d, device 600 visually emphasizes metric enable representation 646c (and, optionally, visually de-emphasizes metric enable representation 646a) and displays the value of wrist temperature in health metrics portion 644 (recall that in some embodiments metric enable representation 646c corresponds to wrist temperature).
[0200] Reference again Fig. 6A , data affordance 618 or sleep interface 610, when selected, causes device 600 to display sleep data. For example, when sleep interface 610 is displayed, device 600 detects a selection of data affordance 618. The selection is a tap gesture 607a on data affordance 618. Fig. 6F As shown, in response to detecting tap gesture 607a , device 600 displays sleep data interface 650 .
[0201] In general, sleep data interface 650 includes information about sleep data received by device 600. As shown, in some embodiments, sleep data interface 650 includes information 652 corresponding to sleep data for a first sleep period (e.g., March 17-18) and information 654 corresponding to sleep data for a second sleep period (e.g., March 16-17). It should be understood that sleep data interface 650 can include information for any number of sleep periods.
[0202] In some embodiments, the information of the sleep period is organized by sleep stage. For example, the information 652 may include a sleep stage indicator 652a corresponding to the awake sleep stage, a sleep stage indicator 652b corresponding to the core sleep stage, a sleep stage indicator 652c corresponding to the REM sleep stage, and a sleep stage indicator 652d corresponding to the deep sleep stage. Each sleep stage indicator 652a-652d may indicate the number of times the corresponding stage was reached during the sleep period and the total amount of time the user experienced the sleep stage during the sleep period.
[0203] When displaying sleep data interface 650, device 600 detects selection of sleep stage enable representation 652c. The selection is a tap gesture 605f on sleep stage enable representation 652c. Figure 6G As shown, in response to detecting tap gesture 605f, device 600 displays sleep period interface 660.
[0204] The sleep period interface 660 includes information corresponding to a particular sleep stage during a sleep period. For example, the sleep period interface includes sleep period affordances 662a-662c, each of which corresponds to a respective time period during which the user experiences a particular sleep stage (e.g., rapid eye movement). In some embodiments, each sleep period affordance 662a-662c indicates the amount of time the user experiences a particular sleep stage, and optionally indicates the start time and end time of the period during which the user experiences that sleep stage.
[0205] When displaying sleep period interface 660, device 600 detects selection of sleep period enable representation 662a. The selection is a tap gesture 605g on sleep period enable representation 662a. Figure 6H As shown, in response to detecting tap gesture 605g, device 600 displays details interface 670. Details interface 670 includes information 672 about the selected sleep stage period corresponding to affordance 662a. As shown, information 672 provided in sleep stage details interface 670 includes, but is not limited to, the sleep stage type (e.g., REM), the start time of the sleep stage period, the end time of the sleep stage period, the source of the sleep data, and the date the sleep data was received.
[0206] Although described herein with respect to device 600 displaying sleep stages interface 620 in response to selection of detail affordance 616, in some embodiments, sleep stages interface 620 is displayed in response to selection of one or more other affordances. Fig.6I , device 600 displays home interface 680 that includes various affordances corresponding to respective applications on device 600. Home interface 680 includes sleep stages affordance 682, which, when selected (e.g., selected using tap gesture 605i), causes device 600 to display sleep stages interface 620.
[0207] In some embodiments, information about various aspects of the sleep stages experienced by a user during sleep is provided on an external device (e.g., a smartwatch). Figure 6J , device 601 displays notification interface 690 on display 603. As shown, notification interface 690 includes a sleep structure graph 692 that corresponds to (e.g., based on the same data as) sleep structure graph 622, and indicators 691a-691d indicating the amount of time the user experienced the corresponding sleep stage during the sleep period. In some embodiments, notification interface 690 is displayed in response to the completion of the sleep period.
[0208] As another example, in Figure 6K, device 601 displays a sleep stage interface 695 on display 603. As shown, sleep stage interface 695 includes a sleep structure graph 697 corresponding to (e.g., based on the same data as) sleep structure graph 622, and indicators 691a-691d indicating the amount of time the user experienced the corresponding sleep stage during the sleep period. In some embodiments, notification interface 695 is displayed in response to opening a sleep application on device 601.
[0209] Figure 7 700 is a flowchart illustrating a method for tracking sleep behavior using a computer system according to some embodiments. Method 700 is performed at a computer system (e.g., 100, 300, 500) (e.g., a smart watch, a smart phone, a head-mounted display, a robot, a personal assistance device, an automaton device, and / or a personal computer) that communicates with a display generation component (e.g., an integrated display and / or a display controller) and one or more input devices (e.g., a wearable device (e.g., a smart watch) or a biometric sensor (e.g., a heart rate monitor, an oxygen monitor)). Some operations in method 700 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0210] As described below, method 700 provides an intuitive way to track sleep behavior. The method reduces the cognitive burden of tracking sleep behavior for users, thereby creating a more efficient human-computer interface. For battery-powered electronic devices, enabling users to track sleep behavior faster and more efficiently saves power and increases the time interval between battery charges.
[0211] A computer system (e.g., 600) receives (702) sleep data corresponding to a sleep period (e.g., a night of sleep) from one or more input devices (e.g., 602). In some embodiments, the sleep data includes first data corresponding to a first sub-period (e.g., a one-hour block; consecutive time blocks that are categorized in the same manner (e.g., categorized in the same manner with respect to sleep stage classification)) of the sleep period.
[0212] The computer system displays (704) a sleep representation (e.g., 622, 628, 630, 642) (e.g., a sleep structure diagram (e.g., a chart or graph that maps one or more sleep stages over time)) that classifies the sleep period into multiple sleep stages (e.g., the sleep stages shown in the sleep structure diagram 622) via a display generation component (e.g., 602) based on the sleep data. In some embodiments, the sleep representation is displayed based on data generated using a wearable electronic device (e.g., 601) (such as a smart watch). In some embodiments, the user wears the wearable electronic device while sleeping, so that the wearable electronic device can generate data (e.g., sleep data) indicating one or more biometric characteristics of the user (e.g., heart rate, breathing rate, physical activity, heart rate variability). In some embodiments, the sleep representation is displayed using data generated in this manner. In some embodiments, the sleep period is night. In some embodiments, a sleep period is a period of time in which a user is determined to be in bed, in some embodiments, a sleep period is a period of time in which a user is determined to be asleep, and in some embodiments, a sleep period begins when the user is determined to be asleep and / or ends when the user is determined to be awake and / or no longer in bed within a predetermined amount of time. In some embodiments, the sleep stages included in the sleep representation include "awake", "rapid eye movement", "core", and "deep". In some embodiments, "core" sleep may alternatively be referred to as "light sleep". In some embodiments, the sleep representation is indicated based on sleep data. In some embodiments, displaying the sleep representation includes displaying a first indication corresponding to a first sub-period of the sleep period.
[0213] In some embodiments, based on determining that the first data corresponds exclusively to a first sleep stage in a plurality of sleep stages (e.g., is identified as only the first sleep stage and not as any other sleep stages), a first indication (e.g., any of indicators 622a-622d, 642a-642d) indicates (706) that the first sub-period is a first type of sleep period corresponding to (e.g., exclusively to) the first sleep stage (e.g., not any other type of sleep period). In some embodiments, a computer system (e.g., 600) determines whether the sleep data corresponds to (e.g., exclusively to) a particular sleep stage. In some embodiments, determining whether the sleep data corresponds to a particular sleep stage includes determining whether the sleep data is ambiguous. In some embodiments, the sleep data is considered ambiguous when the computer system cannot identify a sleep stage based on the sleep data (e.g., analysis of the sleep data is ambiguous, the sleep data is lost and / or corrupted). In some embodiments, the computer system determines whether the sleep data is ambiguous for one or more portions (e.g., subsets) of the sleep period. In some embodiments, if the sleep data for a subset of the sleep periods is determined to correspond to a particular sleep stage (e.g., the data is unambiguous), the computer system displays the sleep representation such that the portion of the sleep representation associated with (e.g., corresponds to) the subset of sleep periods corresponds to the particular sleep stage. In some embodiments, displaying the sleep representation in this manner includes displaying a drawing of the sleep representation at a location corresponding to the particular sleep stage and subset of sleep periods (and not at locations corresponding to other sleep stages and subsets of sleep periods).
[0214] In some embodiments, based on determining that the first data does not exclusively correspond to a single sleep stage among multiple sleep stages (e.g., the first data is not identified as corresponding to any sleep stage (but is identified as corresponding to sleep) or corresponds to multiple sleep stages (e.g., because the exclusive correspondence with the single sleep stage has not yet been identified); for example, the first data is ambiguous), a first indication (e.g., any of indicators 622a-622d, 642a-642d) indicates (708) that the first sub-period corresponds to at least a second sleep stage (e.g., a sleep stage that is the same as or different from the first sleep stage) and a third sleep stage that is different from the second sleep stage among the multiple sleep stages (e.g., the portion of the sleep representation associated with the sub-period of the sleep period is displayed as being associated with multiple (at least two) sleep stages). In some embodiments, the portion of the sleep representation (e.g., 622, 642) is displayed as being associated with all sleep stages. In some embodiments, associating the sleep representation in this manner includes displaying a drawing of the sleep representation at two locations: (1) a location corresponding to a first subset of sleep stages and sleep periods, and (2) a location corresponding to a second subset of sleep stages and sleep periods. In some embodiments, associating the sleep representation in this manner includes abandoning displaying a drawing of the sleep representation for a subset of sleep periods, and optionally visually emphasizing a location corresponding to a first subset of sleep stages and sleep periods and (2) a location corresponding to a second subset of sleep stages and sleep periods. In some embodiments, visually emphasizing a location in this manner includes "graying out" the location. Displaying a sleep representation that includes an indicator that corresponds to the first stage if the sleep data corresponds exclusively to the first stage or corresponds to multiple stages if the sleep data does not correspond exclusively to the first stage provides intuitive feedback to the user about the sleep stages experienced during the sleep period, thereby providing improved feedback to the user.
[0215] In some embodiments, the computer system displays, via a display generation component (e.g., 602), a first enable representation corresponding to a first sleep stage (e.g., any one of enable representations 624a-624d) (e.g., an enable representation corresponding to a core sleep stage) and a second enable representation corresponding to a second sleep stage (e.g., any one of enable representations 624a-624d) (e.g., an enable representation corresponding to a rapid eye movement sleep stage). In some embodiments, the computer system detects user input (e.g., a tap on any one of enable representations 624a-624d) (e.g., a tap gesture on the first enable representation or the second enable representation) via one or more input devices when displaying the first enable representation and the second enable representation. In some embodiments, the computer system visually emphasizes a set of indicators (e.g., 622a-622d) (e.g., one or more indicators) of the sleep representation corresponding to the first sleep stage based on determining that the user input is a selection of the first enable representation when displaying the first enable representation and the second enable representation. In some embodiments, visually emphasizing the set of indicators corresponding to the first sleep stage of the sleep representation includes highlighting and / or otherwise modifying the display of the set of indicators corresponding to the first sleep stage of the sleep representation. In some embodiments, visually emphasizing the set of indicators includes visually de-emphasizing the indicators corresponding to the stages other than the first sleep stage of the sleep representation. In some embodiments, the computer system visually emphasizes a set of indicators corresponding to the second sleep stage of the sleep representation based on determining that the user input is a selection of the second enable representation when displaying the first enable representation and the second enable representation. In some embodiments, visually emphasizing the set of indicators corresponding to the first sleep stage of the sleep representation includes highlighting and / or otherwise modifying the display of the set of indicators corresponding to the second sleep stage of the sleep representation. In some embodiments, visually emphasizing the set of indicators includes visually de-emphasizing the indicators corresponding to the stages other than the second sleep stage of the sleep representation. Displaying the indicator of the sleep representation corresponding to a particular sleep stage in response to the selection of the enable representation corresponding to the sleep stage allows the user to more easily and easily view the indicator of the sleep stage, thereby providing improved visual feedback to the user.
[0216] In some embodiments, visually emphasizing the set of indicators of the sleep representation corresponding to the first sleep stage includes visually de-emphasizing the set of indicators of the sleep representation corresponding to the second sleep stage (e.g., in response to selection of affordance 624a, visually de-emphasizing all indicators except the indicator corresponding to the awake sleep stage (e.g., 622b) and optionally the indicators corresponding to multiple sleep stages (e.g., 622c, 662d)). In some embodiments, visually de-emphasizing the set of indicators of the sleep representation corresponding to the second sleep stage includes removing any previously applied visual emphasis and / or reducing the brightness and / or color of the set of indicators of the sleep representation corresponding to the second sleep stage. In some embodiments, visually de-emphasizing the set of indicators of the sleep representation corresponding to the second sleep stage includes displaying the set of indicators of the sleep representation corresponding to the second sleep stage in grayscale.
[0217] In some embodiments, visually emphasizing the set of indicators of the sleep representation corresponding to the second sleep stage includes visually de-emphasizing the set of indicators of the sleep representation corresponding to the first sleep stage (e.g., in response to selection of the enable representation 624a, visually de-emphasizing all indicators except the indicator corresponding to the awake sleep stage (e.g., 622b) and optionally the indicators corresponding to multiple sleep stages (e.g., 622c, 662d)). In some embodiments, visually de-emphasizing the set of indicators of the sleep representation corresponding to the first sleep stage includes removing any previously applied visual emphasis and / or reducing the brightness and / or color of the set of indicators of the sleep representation corresponding to the first sleep stage. In some embodiments, visually de-emphasizing the set of indicators of the sleep representation corresponding to the first sleep stage includes displaying the set of indicators of the sleep representation corresponding to the first sleep stage in grayscale. Visually de-emphasizing indicators of the sleep representation that do not correspond to a particular sleep stage in response to selection of an enable representation corresponding to a sleep stage allows the user to more easily and readily view indicators of the sleep stages, thereby providing improved visual feedback to the user.
[0218] In some embodiments, the first indication (e.g., any one of the indications 624a-624d) indicates the amount of the sleep period corresponding to the first sleep stage (e.g., the amount of time and / or percentage). In some embodiments, the computer system determines how much of the sleep period corresponds to the first sleep stage based on the sleep data. In some embodiments, the amount is displayed as a total amount of time (e.g., 1 hour, 30 minutes). In some embodiments, the amount is displayed as a percentage. In some embodiments, the percentage indicates the amount of the sleep period corresponding to the first sleep stage relative to the total sleep period. In some embodiments, the percentage indicates the amount of the sleep period corresponding to the first sleep stage relative to the total sleep period determined to be clear. In some embodiments, the second indication (e.g., any one of the indications 624a-624d) indicates the amount of the sleep period corresponding to the second sleep stage (e.g., the amount of time and / or percentage). In some embodiments, the computer system determines how much of the sleep period corresponds to the second sleep stage based on the sleep data. In some embodiments, the amount is displayed as a total amount of time (e.g., 1 hour, 30 minutes). In some embodiments, the amount is displayed as a percentage. In some embodiments, the percentage represents the amount of sleep periods corresponding to the second sleep stage relative to the total sleep periods. In some embodiments, the percentage represents the amount of sleep periods corresponding to the second sleep stage relative to the total sleep periods determined to be clear. Displaying an indicator indicating the total amount of time spent in a particular sleep stage during a sleep period provides visual feedback to the user regarding the distribution of sleep stages during a sleep period, thereby providing improved visual feedback to the user.
[0219] In some embodiments, determining that the first data corresponds exclusively to the first sleep stage includes determining that the first data corresponding to the first sub-period of the sleep period partially corresponds to the first sleep stage and partially corresponds to a fourth sleep stage different from the first sleep stage (e.g., a sleep stage that is the same or different from the first sleep stage, the second sleep stage, or the third sleep stage, the sleep stage to which the sleeper transitions from the first stage). In some embodiments, the sleep data of the sub-period may be ambiguous, but the computer system may identify a subset of sleep stages in multiple sleep stages to which the sleep data of the sub-period may correspond (e.g., partially correspond) (e.g., the first sleep stage is the REM sleep stage, and the fourth sleep stage is the core sleep stage or the deep sleep stage). In some embodiments, determining that the first data corresponds exclusively to the first sleep stage includes determining that the first data corresponding to the first sub-period of the sleep period mainly corresponds to the first sleep stage (e.g., the confidence that it is the first sleep stage is higher than that that it is the fourth sleep stage). In some embodiments, in the case of determining that the first data corresponds more strongly to a specific sleep stage, the computer system determines that the first data mainly corresponds to the specific sleep stage. In some embodiments, the computer system selects which sleep stage the first data most likely corresponds to and associates the second data with the identified sleep stage, e.g., based on the confidence value. Determining that the first sleep data primarily corresponds to a particular stage allows the computer system to assign the sleep data to a particular sleep stage even when the sleep data corresponds to multiple stages. In this way, the number of ambiguous sub-periods of sleep representation can be reduced, and improved feedback about the nature of the sleep data can be provided to the user.
[0220] In some embodiments, the first indication (e.g., 622c, 622d) includes a first part (e.g., the first part of 622c, the first part of 622d) and a second part (e.g., the second part of 622c, the second part of 622d). In some embodiments, based on determining that the first data does not exclusively correspond to a single sleep stage among multiple sleep stages, the first part of the first indication is displayed at a first position of the sleep representation corresponding to the second sleep stage (e.g., a position corresponding to the core sleep stage). In some embodiments, based on determining that the first data does not exclusively correspond to a single sleep stage among multiple sleep stages, the second part of the first indication is displayed at a second position of the sleep representation corresponding to the third sleep stage (e.g., a position corresponding to the rapid eye movement sleep stage). In some embodiments, if the first indication corresponds to multiple sleep stages, the first indication is displayed as a single graphical object spanning multiple stages of the sleep representation. In some embodiments, the first indication spans all sleep stages. In some embodiments, the first indication spans multiple but less than all sleep stages. In some embodiments, the first indication spans all sleep stages except the awake sleep stage. In some embodiments, the first indication has different visual characteristics than indications specifically for other sub-periods corresponding to sleep stages. The first indication may be different in color, shape, size, transparency, or any combination thereof. In some embodiments, the first indication is displayed in grayscale.
[0221] In some embodiments, the computer system displays a sleep stage user interface (e.g., 620) including a comparison enable representation (e.g., 634). In some embodiments, the sleep stage interface is displayed in response to a selection of an enable representation of the sleep interface. In some embodiments, when the sleep stage user interface is displayed, the computer system detects a selection of a comparison enable representation (e.g., 605c) (e.g., a tap gesture) via one or more input devices. In some embodiments, in response to detecting a selection of a comparison enable representation, the computer system displays a comparison interface (e.g., 640), which includes a compressed sleep representation (e.g., 642) corresponding to the sleep representation (e.g., 622) and a first health metric chart (e.g., 644) corresponding to a first health metric (e.g., heart rate, respiratory rate, or wrist temperature; not a sleep health metric). In some embodiments, the compressed sleep representation is a compressed sleep structure diagram. In some embodiments, the compressed sleep structure diagram is a sleep structure diagram displayed as a single column displayed as a function of time, wherein each sub-period is visually distinguished from an adjacent sub-period (e.g., by color). In some embodiments, the compressed sleep representation and the health metric chart are aligned (e.g., aligned in time and / or graphics) (e.g., each representation in the compressed sleep representation and the health metric chart is displayed relative to a common time frame). In some embodiments, the comparison interface includes one or more time frame affordances that can be used to change the time frame in which the representations of the compressed sleep representation and the health metric chart are displayed. In some embodiments, the comparison interface is displayed according to a specific time frame (e.g., day, week, month, 6 months). In some embodiments, the manner in which the comparison interface is displayed is based on the current time frame of the comparison interface. In some embodiments, when the comparison interface is displayed according to a non-daily time frame, the values corresponding to the compressed sleep representation and / or health metric are displayed as average values for the time frame. Simultaneously displaying the compressed sleep representation corresponding to the sleep representation and the first health metric chart provides the user with visual feedback on how the compressed sleep representation and the first health metric compare as a function of time, thereby providing improved visual feedback to the user.
[0222] In some embodiments, the comparison interface includes a third enable representation (e.g., any one of enable representations 646a, 646b, 646c) corresponding to a first health metric (e.g., an enable representation corresponding to heart rate) and a fourth enable representation (e.g., any one of enable representations 646a, 646b, 646c) corresponding to a second health metric different from the first health metric (e.g., an enable representation corresponding to wrist temperature). In some embodiments, when the third enable representation and the fourth enable representation are displayed, the computer system detects a second user input (e.g., 605d) (e.g., a tap gesture on the first enable representation or the second enable representation) via one or more input devices. In some embodiments, when the third enable representation and the fourth enable representation are displayed, in response to detecting the second user input, the computer system maintains display of the first health metric chart based on determining that the second user input is a selection of the third enable representation. In some embodiments, when the third and fourth affordances are displayed, in response to detecting a second user input, the computer system displays a second health metric chart corresponding to the second health metric based on determining that the second user input is a selection of the fourth affordance. In some embodiments, displaying the second health metric chart includes replacing the first health metric chart. In some embodiments, a sleep application can be used to view sleep data. For example, a sleep interface of a sleep application may include a data affordance that causes the computer system to display sleep data when selected. In some embodiments, the sleep data, when displayed, indicates the number of times each stage is experienced during a sleep period for a sleep period. In some embodiments, the sleep data also indicates the length of each time period for experiencing a sleep stage, and optionally indicates the start time and end time of each time period. In some embodiments, the sleep stage interface includes an information affordance that causes information describing each sleep stage to be displayed when selected. Displaying a comparison interface including affordances for a second health metric enables a user to quickly and efficiently initiate displaying different health metrics in a comparison interface without further input to specify the type of health metric desired, thereby reducing the number of required inputs.
[0223] In some embodiments, the one or more input devices include a wearable device (e.g., 601) (e.g., smart watch, biometric sensor). In some embodiments, the sleep data is received from a wearable device.
[0224] In some embodiments, the wearable device includes a display (e.g., 603). In some embodiments, the computer system displays a user interface (e.g., 690) including a sleep representation (e.g., 692) via a display generation component. In some embodiments, the user interface is a notification interface. In some embodiments, the notification interface is displayed in response to one or more detected events (such as the completion of a sleep period). In some embodiments, the notification interface includes various sleep information, including but not limited to the total duration of the sleep period, the time range of the sleep period (e.g., the start time and end time of the sleep period), the sleep representation, and an indication of how much of the sleep period corresponds to each sleep stage in a plurality of sleep stages. In some embodiments, the user interface is a user interface of a sleep application on a wearable device. In some embodiments, the sleep interface includes one or more elements of the notification interface, and optionally one or more user-specific sleep parameters (e.g., a bedtime schedule). In some embodiments, the sleep interface includes an analysis of the most recently completed sleep period. In some embodiments, the computer system displays a sleep widget for a sleep application in the main interface. In some embodiments, the sleep widget indicates sleep data for the most recently completed sleep period including a sleep representation. In some embodiments, the sleep widget indicates the total duration of the sleep period and, optionally, whether sleep data is available for one or more sub-periods of the sleep period and / or the entire sleep period.
[0225] For the purpose of explanation, the preceding description is described by reference to specific embodiments. However, the above exemplary discussion is not intended to be exhaustive or limit the invention to the disclosed precise form. According to the above teachings, many modifications and variations are possible. These embodiments are selected and described in order to best explain the principles of these technologies and their practical applications. Others skilled in the art can thus best utilize these technologies and various embodiments with various modifications suitable for the intended specific use.
[0226] Although the disclosure and examples have been fully described with reference to the accompanying drawings, it should be noted that various changes and modifications will become apparent to those skilled in the art. It should be understood that such changes and modifications are considered to be included within the scope of the disclosure and examples defined by the claims.
[0227] As described above, one aspect of the present technology is to collect and use data from various sources to track and / or provide data corresponding to the user's sleep. The present disclosure contemplates that, in some instances, these collected data may include personal information data that uniquely identifies or can be used to contact or locate a specific person. Such personal information data may include demographic data, location-based data, phone numbers, email addresses, Twitter IDs, home addresses, data or records related to the user's health or fitness level (e.g., vital sign measurements, medication information, exercise information), date of birth, or any other identification or personal information.
[0228] The present disclosure recognizes that the use of such personal information data in the present technology can be used to benefit the user. For example, the personal information data can be used to provide a sleep representation that classifies the user's sleep into various sleep stages. In addition, the present disclosure also anticipates other uses of the personal information data that benefit the user. For example, health and fitness data can be used to provide insights into the user's overall health or can be used as positive feedback to individuals using technology to pursue health goals.
[0229] The disclosure anticipates that entities responsible for the collection, analysis, disclosure, transmission, storage or other purposes of such personal information data will comply with sound privacy policies and / or privacy measures. Specifically, such entities should implement and adhere to the use of privacy policies and practices that are recognized as meeting or exceeding the industry or government requirements for maintaining the privacy and security of personal information data. Such policies should be easy for users to access and should be updated as changes in the collection and / or use of data occur. Personal information from users should be collected for legal and reasonable entity purposes and should not be shared or sold outside these legal purposes. In addition, such collection / sharing should be carried out after receiving the informed consent of the user. In addition, such entities should consider taking any necessary steps to protect and safeguard access to such personal information data, and ensure that other entities with access to personal information data comply with their privacy policies and procedures. In addition, such entities can subject themselves to third-party assessments to prove that they comply with widely accepted privacy policies and practices. In addition, policies and practices should be adapted to specific types of personal information data collected and / or accessed, and to applicable laws and standards including considerations of special jurisdictions. For example, in the United States, the collection or acquisition of certain health data may be governed by federal and / or state laws, such as the Health Insurance Portability and Accountability Act (HIPAA); while health data in other countries may be subject to other regulations and policies and should be handled accordingly. Therefore, different privacy measures should be advocated for different types of personal data in each country.
[0230] Regardless of the foregoing, the present disclosure also contemplates implementation schemes in which users selectively block the use or access of personal information data. That is, the present disclosure contemplates hardware elements and / or software elements to prevent or block access to such personal information data. For example, with respect to sleep data captured by multiple devices, the present technology may be configured to allow users to choose to "opt in" or "opt out" to participate in the collection of personal information data during or at any time after registration for the service. In addition to providing "opt-in" and "opt-out" options, the present disclosure also contemplates providing notifications related to access or use of personal information. For example, a user may be notified that their personal information data will be accessed when downloading an application, and then reminded again just before the personal information data is accessed by the application.
[0231] In addition, it is the intention of the present disclosure that personal information data should be managed and processed in a manner that minimizes the risk of unintentional or unauthorized access or use. Once the data is no longer needed, the risk can be minimized by limiting data collection and data deletion. In addition, and when applicable, including in certain health-related applications, data de-identification can be used to protect the privacy of users. De-identification can be facilitated by removing specific identifiers (e.g., date of birth, etc.), controlling the amount or specificity of stored data (e.g., collecting location data at the city level rather than at the address level), controlling how the data is stored (e.g., aggregating data between users), and / or other methods when appropriate.
[0232] Thus, while the present disclosure broadly covers the use of personal information data to implement one or more of the various disclosed embodiments, the present disclosure also contemplates that various embodiments may be implemented without access to such personal information data. That is, various embodiments of the present technology will not fail to function properly due to the lack of all or a portion of such personal information data. For example, the sleep habits and / or sleep stages of a user's sleep may be determined based on non-personal information data or a minimal amount of personal information.
Claims
1. A method, comprising: At a computer system in communication with a display generation component and one or more input devices: receiving, from the one or more input devices, sleep data corresponding to a sleep period, wherein the sleep data includes first data corresponding to a first sub-period of the sleep period; and Based on the sleep data, displaying, via the display generation component, a sleep representation that classifies the sleep period into a plurality of sleep stages, wherein displaying the sleep representation comprises displaying a first indication corresponding to the first sub-period of the sleep period, wherein the first indication: In response to determining that the first data corresponds exclusively to a first sleep stage among the plurality of sleep stages, indicating that the first sub-period is a first type of sleep period corresponding to the first sleep stage; and Based on determining that the first data does not exclusively correspond to a single sleep stage among the plurality of sleep stages, indicating that the first sub-period corresponds to at least a second sleep stage and a third sleep stage different from the second sleep stage among the plurality of sleep stages.
2. The method according to claim 1, further comprising: Displayed via the display generation component: a first affordance corresponding to said first sleep stage; and a second affordance corresponding to said second sleep stage; as well as When the first affordance and the second affordance are displayed: detecting user input via the one or more input devices; based on determining that the user input is a selection of the first affordance, visually emphasizing a set of indicators of the sleep representation corresponding to the first sleep stage; as well as Based on determining that the user input is a selection of the second affordance, a set of indicators of the sleep representation corresponding to the second sleep stage are visually emphasized.
3. The method according to claim 2, wherein: visually emphasizing the set of indicators corresponding to the first sleep stage of the sleep representation includes visually de-emphasizing the set of indicators corresponding to the second sleep stage of the sleep representation; and Visually emphasizing the set of indicators corresponding to the second sleep stage of the sleep representation includes visually de-emphasizing the set of indicators corresponding to the first sleep stage of the sleep representation.
4. The method according to any one of claims 2 to 3, wherein: The first affordance indicates an amount corresponding to the first sleep stage of the sleep period; and The second indicator indicates a quantity corresponding to the second sleep stage of the sleep period.
5. The method according to any one of claims 1 to 4, wherein determining that the first data corresponds exclusively to the first sleep stage comprises: determining that the first data corresponding to the first sub-period of the sleep period corresponds partially to the first sleep stage and partially to a fourth sleep stage different from the first sleep stage; as well as It is determined that the first data corresponding to the first sub-period of the sleep period primarily corresponds to the first sleep stage.
6. The method according to any one of claims 1 to 5, wherein: The first indication includes a first part and a second part, and Based on determining that the first data does not exclusively correspond to a single sleep stage of the plurality of sleep stages: displaying the first portion of the first indication at a first location of the sleep representation corresponding to the second sleep stage; as well as The second portion of the first indication is displayed at a second location of the sleep representation corresponding to the third sleep stage.
7. The method according to any one of claims 1 to 6, further comprising: displaying a sleep stage user interface including a comparison affordance representation; detecting, via the one or more input devices, a selection of the comparison affordance while displaying the sleep stages user interface; as well as In response to detecting a selection of the comparison affordance, displaying a comparison interface, the comparison interface comprising: a compressed sleep representation corresponding to the sleep representation; and A first health metric graph corresponding to the first health metric.
8. The method according to claim 7, wherein: The comparison interface includes: a third affordance corresponding to said first health metric; and a fourth affordance corresponding to a second health metric different from the first health metric, and The method further comprises: When the third indication and the fourth indication are displayed: detecting a second user input via the one or more input devices; and In response to detecting the second user input: Based on determining that the second user input is a selection of the third affordance, maintaining display of the first health metric graph; and Based on determining that the second user input is a selection of the fourth affordance, a second health metric chart corresponding to the second health metric is displayed.
9. The method according to any one of claims 1 to 8, wherein: The one or more input devices include a wearable device, and The sleep data is received from the wearable device.
10. The method of claim 9, wherein the wearable device comprises a display, the method further comprising: A user interface including the sleep representation is displayed via the display generation component.
11. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs comprising instructions for executing the method according to any one of claims 1 to 10.
12. A computer system configured to communicate with a display generation component and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs, wherein the one or more programs are configured to be executed by the one or more processors, and the one or more programs include instructions for executing the method according to any one of claims 1 to 10.
13. A computer system configured to communicate with a display generation component and one or more input devices, the computer system comprising: Device for carrying out the method according to any one of claims 1 to 10.
14. A computer program product, comprising one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs comprising instructions for executing the method according to any one of claims 1 to 10.
15. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs comprising instructions for: receiving, from the one or more input devices, sleep data corresponding to a sleep period, wherein the sleep data includes first data corresponding to a first sub-period of the sleep period; and Based on the sleep data, displaying, via the display generation component, a sleep representation that classifies the sleep period into a plurality of sleep stages, wherein displaying the sleep representation comprises displaying a first indication corresponding to the first sub-period of the sleep period, wherein the first indication: In response to determining that the first data corresponds exclusively to a first sleep stage among the plurality of sleep stages, indicating that the first sub-period is a first type of sleep period corresponding to the first sleep stage; and Based on determining that the first data does not exclusively correspond to a single sleep stage among the plurality of sleep stages, indicating that the first sub-period corresponds to at least a second sleep stage and a third sleep stage different from the second sleep stage among the plurality of sleep stages.
16. A computer system configured to communicate with a display generation component and one or more input devices, the computer system comprising: one or more processors; and A memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: receiving, from the one or more input devices, sleep data corresponding to a sleep period, wherein the sleep data includes first data corresponding to a first sub-period of the sleep period; and Based on the sleep data, displaying, via the display generation component, a sleep representation that classifies the sleep period into a plurality of sleep stages, wherein displaying the sleep representation comprises displaying a first indication corresponding to the first sub-period of the sleep period, wherein the first indication: In response to determining that the first data corresponds exclusively to a first sleep stage among the plurality of sleep stages, indicating that the first sub-period is a first type of sleep period corresponding to the first sleep stage; and Based on determining that the first data does not exclusively correspond to a single sleep stage among the plurality of sleep stages, indicating that the first sub-period corresponds to at least a second sleep stage and a third sleep stage different from the second sleep stage among the plurality of sleep stages.
17. A computer system configured to communicate with a display generation component and one or more input devices, the computer system comprising: means for receiving sleep data corresponding to a sleep period from the one or more input devices, wherein the sleep data includes first data corresponding to a first sub-period of the sleep period; and Means for displaying, via the display generation component, a sleep representation that categorizes the sleep period into a plurality of sleep stages based on the sleep data, wherein displaying the sleep representation comprises displaying a first indication corresponding to the first sub-period of the sleep period, wherein the first indication: In response to determining that the first data corresponds exclusively to a first sleep stage among the plurality of sleep stages, indicating that the first sub-period is a first type of sleep period corresponding to the first sleep stage; and Based on determining that the first data does not exclusively correspond to a single sleep stage among the plurality of sleep stages, indicating that the first sub-period corresponds to at least a second sleep stage and a third sleep stage different from the second sleep stage among the plurality of sleep stages.
18. A computer program product, the computer program product comprising one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices, the one or more programs comprising instructions for: receiving, from the one or more input devices, sleep data corresponding to a sleep period, wherein the sleep data includes first data corresponding to a first sub-period of the sleep period; and Based on the sleep data, displaying, via the display generation component, a sleep representation that classifies the sleep period into a plurality of sleep stages, wherein displaying the sleep representation comprises displaying a first indication corresponding to the first sub-period of the sleep period, wherein the first indication: In response to determining that the first data corresponds exclusively to a first sleep stage among the plurality of sleep stages, indicating that the first sub-period is a first type of sleep period corresponding to the first sleep stage; and Based on determining that the first data does not exclusively correspond to a single sleep stage among the plurality of sleep stages, indicating that the first sub-period corresponds to at least a second sleep stage and a third sleep stage different from the second sleep stage among the plurality of sleep stages.
Citation Information
Patent Citations
Method and apparatus for integrating manual input
US20020015024A1
Gestures for touch sensitive input devices
US20060026521A1
Gestures for touch sensitive input devices
US20060026536A1
Virtual input device placement on a touch screen user interface
US20060033724A1
Multipoint touchscreen
US20060097991A1