User interface for managing health data

CN122526469APending Publication Date: 2026-08-07APPLE INC
View PDF 21 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
APPLE INC
Filing Date
2021-08-10
Publication Date
2026-08-07

AI Technical Summary

Technical Problem

[0004]用于使用电子设备来管理患者的健康数据的一些技术通常很麻烦且效率低下

Benefits of technology

[0018] Therefore, faster and more efficient methods and interfaces are provided for managing patient health data, thereby improving the effectiveness, efficiency, and user satisfaction of such devices. These methods and interfaces can complement or replace other methods used for managing patient health data.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN122526469A_ABST
    Figure CN122526469A_ABST
Patent Text Reader

Abstract

The present disclosure generally relates to managing health data of a patient. In some embodiments, the disclosed technology includes displaying a graphical representation of data, the graphical representation of data including a first plot corresponding to a first data set and a second plot corresponding to a second data set. An input directed to the first plot is detected, and in response, a plurality of user interface objects is displayed, the plurality of user interface objects including a first user interface object or a second user interface object. The first user interface object is associated with the first plot and based on a first variable, the first variable being selected based on a location of the input, and the second user interface object is associated with the second plot and based on a second variable, the second variable being selected based on the location of the first input.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of Chinese invention patent application filed on August 10, 2021, with application number 2021800561714 and title "User Interface for Managing Health Data". Technical Field

[0002] This disclosure relates generally to computer user interfaces, and more specifically to techniques for managing health data. Background Technology

[0003] Electronic devices can be used to manage patient health data. Information about health data can be presented to users on electronic devices. Summary of the Invention

[0004] Some technologies used to manage patient health data using electronic devices are often cumbersome and inefficient. For example, some existing technologies use complex and time-consuming user interfaces that may involve multiple keystrokes or button presses. These technologies require more time than necessary, resulting in wasted user time and device energy. This latter consideration is particularly important in battery-powered devices.

[0005] Therefore, the present invention provides electronic devices with faster and more efficient methods and interfaces for managing patient health data (including cross-correlated or potentially cross-correlated data), interacting with such health data, and visualizing such health data. Such methods and interfaces optionally complement or replace other methods for managing patient health data. These methods and interfaces reduce the cognitive burden on users and result in more effective human-computer interfaces. For battery-powered computing devices, such methods and interfaces save power and increase the time interval between battery charging.

[0006] According to some embodiments, a method is described that is executed at a computer system communicating with a display generation component and one or more input devices. The method includes: displaying a plurality of graphical representations of data via the display generation component, the plurality of graphical representations of data including: a first graphical representation of data corresponding to a first dataset; and a second graphical representation of data corresponding to a second dataset different from the first dataset; detecting a first input corresponding to the first graphical representation of the data via the one or more input devices; and, in response to detecting the first input corresponding to the first graphical representation of the data, displaying a plurality of user interface objects, the plurality of user interface objects including: a first user interface object associated with the first graphical representation of the data and based on a first variable, the first user interface object being selected based on the position of the first input, the first user interface object including: a first variable associated with a first position in the first graphical representation of the data determined by the first input; and a first user interface object selected based on the position of the first input. A representation of a first subset of a dataset; and a representation of a second subset of a first dataset that is associated with a first variable and is different from the first subset of the first dataset, based on determining that the first input corresponds to a second position in the first graphical representation of the data that is different from the first position; and a second user interface object associated with the second graphical representation of the data and based on a second variable selected based on the position of the first input, the second user interface object comprising: a representation of a first subset of a second dataset associated with a second variable based on determining that the first input corresponds to a first position in the first graphical representation of the data; and a representation of a second subset of a second dataset that is associated with a second variable and is different from the first subset of the second dataset, based on determining that the first input corresponds to a second position in the first graphical representation of the data that is different from the first position.

[0007] According to some embodiments, a non-transitory computer-readable storage medium is described, which stores one or more programs configured to be executed by one or more processors of a computer system in communication with a display generating component and one or more input devices. The one or more programs include instructions for: displaying a plurality of graphical representations of data via the display generating component, the plurality of graphical representations of data including: a first graphical representation of data corresponding to a first dataset; and a second graphical representation of data corresponding to a second dataset different from the first dataset; detecting a first input corresponding to the first graphical representation of the data via the one or more input devices; and, in response to detecting the first input corresponding to the first graphical representation of the data, displaying a plurality of user interface objects, the plurality of user interface objects including: a first user interface object associated with the first graphical representation of the data and based on a first variable, the first user interface object being selected based on the position of the first input, the first user interface object including: determining that the first input corresponds to a first position in the first graphical representation of the data, and the first variable... The representation of a first subset of a first dataset associated with a quantity; and a representation of a second subset of a first dataset associated with a first variable and different from the first subset of the first dataset, based on determining that the first input corresponds to a second position in the first graphical representation of the data that is different from the first position; and a second user interface object associated with the second graphical representation of the data and based on a second variable selected based on the position of the first input, the second user interface object including: a representation of a first subset of a second dataset associated with a second variable based on determining that the first input corresponds to a first position in the first graphical representation of the data; and a representation of a second subset of a second dataset associated with a second variable and different from the first subset of the second dataset, based on determining that the first input corresponds to a second position in the first graphical representation of the data that is different from the first position.

[0008] According to some embodiments, a transient computer-readable storage medium is described, the transient 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 generating component and one or more input devices. The one or more programs include instructions for: displaying a plurality of graphical representations of data via the display generating component, the plurality of graphical representations of data including: a first graphical representation of data corresponding to a first dataset; and a second graphical representation of data corresponding to a second dataset different from the first dataset; detecting a first input corresponding to the first graphical representation of the data via the one or more input devices; and, in response to detecting the first input corresponding to the first graphical representation of the data, displaying a plurality of user interface objects, the plurality of user interface objects including: a first user interface object associated with the first graphical representation of the data and based on a first variable, the first user interface object being selected based on the position of the first input, the first user interface object including: determining that the first input corresponds to a first position in the first graphical representation of the data, and the first variable being selected based on the first position in the first graphical representation of the data, the first user interface object including: The representation of a first subset of a first dataset associated with a quantity; and a representation of a second subset of a first dataset associated with a first variable and different from the first subset of the first dataset, based on determining that the first input corresponds to a second position in the first graphical representation of the data that is different from the first position; and a second user interface object associated with the second graphical representation of the data and based on a second variable selected based on the position of the first input, the second user interface object including: a representation of a first subset of a second dataset associated with a second variable based on determining that the first input corresponds to a first position in the first graphical representation of the data; and a representation of a second subset of a second dataset associated with a second variable and different from the first subset of the second dataset, based on determining that the first input corresponds to a second position in the first graphical representation of the data that is different from the first position.

[0009] According to some embodiments, a computer system communicating with a display generation component and one or more input devices is described. The computer system communicating with the display generation component and one or more input devices includes one or more processors and a memory storing one or more programs configured to be executed by the one or more processors. The one or more programs include instructions for: displaying a plurality of graphical representations of data via the display generation component, the plurality of graphical representations of data including: a first graphical representation of data corresponding to a first dataset; and a second graphical representation of data corresponding to a second dataset different from the first dataset; detecting a first input corresponding to the first graphical representation of the data via the one or more input devices; and, in response to detecting the first input corresponding to the first graphical representation of the data, displaying a plurality of user interface objects, the plurality of user interface objects including: a first user interface object associated with the first graphical representation of the data and based on a first variable, the first user interface object being selected based on the position of the first input, the first user interface object including: determining that the first input corresponds to a first position in the first graphical representation of the data, and the first variable... The representation of a first subset of a first dataset associated with a quantity; and a representation of a second subset of a first dataset associated with a first variable and different from the first subset of the first dataset, based on determining that the first input corresponds to a second position in the first graphical representation of the data that is different from the first position; and a second user interface object associated with the second graphical representation of the data and based on a second variable selected based on the position of the first input, the second user interface object including: a representation of a first subset of a second dataset associated with a second variable based on determining that the first input corresponds to a first position in the first graphical representation of the data; and a representation of a second subset of a second dataset associated with a second variable and different from the first subset of the second dataset, based on determining that the first input corresponds to a second position in the first graphical representation of the data that is different from the first position.

[0010] According to some embodiments, a computer system communicating with a display generation component and one or more input devices is described. The computer system communicating with the display generation component and one or more input devices includes means for displaying multiple graphical representations of data via the display generation component, the multiple graphical representations of data including: a first graphical representation of data corresponding to a first dataset; and a second graphical representation of data corresponding to a second dataset different from the first dataset; means for detecting a first input corresponding to the first graphical representation of the data via the one or more input devices; and means for: in response to detecting the first input corresponding to the first graphical representation of the data, displaying multiple user interface objects, the multiple user interface objects including: a first user interface object associated with the first graphical representation of the data and based on a first variable selected based on the position of the first input, the first user interface object including: determining that the first input corresponds to the first graphical representation of the data... The representation includes: a first position in the first graphical representation of the data, representing a first subset of the first dataset associated with a first variable; and a second subset of the first dataset associated with the first variable and different from the first subset of the first dataset, based on a second position in the first graphical representation of the data that is different from the first position, determined according to the first input; and a second user interface object associated with the second graphical representation of the data and based on a second variable selected based on the position of the first input, the second user interface object including: a representation of a first subset of the second dataset associated with the second variable, based on a first position in the first graphical representation of the data that is different from the first position, and a second subset of the second dataset associated with the second variable and different from the first subset of the second dataset, based on a second position in the first graphical representation of the data that is different from the first position, determined according to the first input.

[0011] According to some embodiments, a method is described that is executed at a computer system communicating with a display generation component and one or more input devices. The method includes: receiving a sleep dataset via the one or more input devices, the sleep dataset including data of a first plurality of sleep periods of a first user; and, upon receiving the sleep dataset, displaying a sleep analysis user interface via the display generation component, the sleep analysis user interface including: a first sleep indicator indicating a sleep period of a first sleep period among the first plurality of sleep periods; a first wake-up indicator indicating a mid-sleep wake-up event of the first sleep period, based on determining that the data of the first plurality of sleep periods includes at least one mid-sleep wake-up event corresponding to the first sleep period; a second sleep indicator indicating a sleep period of a second sleep period different from the first sleep period among the first plurality of sleep periods; a second wake-up indicator indicating a mid-sleep wake-up event of the second sleep period, based on determining that the data of the first plurality of sleep periods includes at least one mid-sleep wake-up event corresponding to the second sleep period; and a collective wake-up indicator indicating a value based on collective mid-sleep wake-up events of the first plurality of sleep periods.

[0012] According to some embodiments, a non-transitory computer-readable storage medium is described. The non-transitory computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system in communication with a display generation component and one or more input devices. The one or more programs include instructions for: receiving a sleep dataset via the one or more input devices, the sleep dataset including data from a first plurality of sleep periods of a first user; and, upon receiving the sleep dataset, displaying a sleep analysis user interface via the display generation component, the sleep analysis user interface including: a first sleep indicator indicating the sleep period of a first sleep period among the first plurality of sleep periods; and determining the sleep period based on the data... The method includes at least one mid-sleep awakening event corresponding to a first sleep period; a first awakening indicator indicating a mid-sleep awakening event of the first sleep period; a second sleep indicator indicating a sleep period of a second sleep period that is different from the first sleep period among the first plurality of sleep periods; data determining the first plurality of sleep periods including at least one mid-sleep awakening event corresponding to a second sleep period; a second awakening indicator indicating a mid-sleep awakening event of the second sleep period; and a collective awakening indicator indicating a value based on a collective mid-sleep awakening event of the first plurality of sleep periods.

[0013] According to some embodiments, a transient computer-readable storage medium is described. The transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of a computer system configured to communicate with a display generation component and one or more input devices. The one or more programs include instructions for: receiving a sleep dataset via the one or more input devices, the sleep dataset including data for a first plurality of sleep periods of a first user; and, upon receiving the sleep dataset, displaying a sleep analysis user interface via the display generation component, the sleep analysis user interface including: a first sleep indicator indicating the sleep period of a first sleep period among the first plurality of sleep periods; and, based on determining the first plurality of sleep periods... The data includes at least one mid-sleep awakening event corresponding to a first sleep period, a first awakening indicator indicating a mid-sleep awakening event of the first sleep period; a second sleep indicator indicating a sleep period of a second sleep period different from the first sleep period among the first plurality of sleep periods; the data determining the first plurality of sleep periods includes at least one mid-sleep awakening event corresponding to a second sleep period, a second awakening indicator indicating a mid-sleep awakening event of the second sleep period; and a collective awakening indicator indicating a value based on collective mid-sleep awakening events of the first plurality of sleep periods.

[0014] According to some implementations, a computer system configured to communicate with a display generation component and one or more input devices is described. The computer system includes: one or more processors; and a memory storing one or more programs configured to be executed by the one or more processors, the one or more programs including instructions for: receiving a sleep dataset via the one or more input devices, the sleep dataset including data of a first plurality of sleep periods of a first user; and, upon receiving the sleep dataset, displaying a sleep analysis user interface via a display generation component, the sleep analysis user interface including: a first sleep indicator indicating a sleep period of a first sleep period among the first plurality of sleep periods; a first wake-up indicator indicating a mid-sleep wake-up event of the first sleep period based on determining that the data of the first plurality of sleep periods includes at least one mid-sleep wake-up event corresponding to the first sleep period; a second sleep indicator indicating a sleep period of a second sleep period different from the first sleep period among the first plurality of sleep periods; a second wake-up indicator indicating a mid-sleep wake-up event of the second sleep period based on determining that the data of the first plurality of sleep periods includes at least one mid-sleep wake-up event corresponding to the second sleep period; and a collective wake-up indicator indicating a value based on a collective mid-sleep wake-up event of the first plurality of sleep periods.

[0015] According to some embodiments, a computer system configured to communicate with a display generation component and one or more input devices is described. The computer system includes: means for receiving a sleep dataset via the one or more input devices, the sleep dataset including data from a first plurality of sleep periods of a first user; and means for displaying a sleep analysis user interface via the display generation component after receiving the sleep dataset, the sleep analysis user interface including: a first sleep indicator indicating a sleep period of a first sleep period among the first plurality of sleep periods; a first wake-up indicator indicating a mid-sleep wake-up event of the first sleep period, based on determining that the data of the first plurality of sleep periods includes at least one mid-sleep wake-up event corresponding to the first sleep period; a second sleep indicator indicating a sleep period of a second sleep period different from the first sleep period among the first plurality of sleep periods; a second wake-up indicator indicating a mid-sleep wake-up event of the second sleep period, based on determining that the data of the first plurality of sleep periods includes at least one mid-sleep wake-up event corresponding to the second sleep period; and a collective wake-up indicator indicating a value based on collective mid-sleep wake-up events of the first plurality of sleep periods.

[0016] According to some embodiments, a computer program product is described. The 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 include instructions for: receiving a sleep dataset via the one or more input devices, the sleep dataset including data from a first plurality of sleep periods of a first user; and, upon receiving the sleep dataset, displaying a sleep analysis user interface via a display generation component, the sleep analysis user interface including: a first sleep indicator indicating a sleep period of a first sleep period among the first plurality of sleep periods; a first wake-up indicator indicating a mid-sleep wake-up event of the first sleep period based on determining that the data of the first plurality of sleep periods includes at least one mid-sleep wake-up event corresponding to the first sleep period; a second sleep indicator indicating a sleep period of a second sleep period different from the first sleep period among the first plurality of sleep periods; a second wake-up indicator indicating a mid-sleep wake-up event of the second sleep period based on determining that the data of the first plurality of sleep periods includes at least one mid-sleep wake-up event corresponding to the second sleep period; and a collective wake-up indicator indicating a value based on collective mid-sleep wake-up events of the first plurality of sleep periods.

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

[0018] Therefore, faster and more efficient methods and interfaces are provided for managing patient health data, thereby improving the effectiveness, efficiency, and user satisfaction of such devices. These methods and interfaces can complement or replace other methods used for managing patient health data. Attached Figure Description

[0019] To better understand the various embodiments described, reference should be made to the following detailed description in conjunction with the accompanying drawings, wherein similar reference numerals indicate corresponding parts in all the drawings.

[0020] Figure 1A This is a block diagram illustrating a portable multi-functional device with a touch-sensitive display according to some embodiments.

[0021] Figure 1B This is a block diagram illustrating exemplary components for event handling according to some implementation schemes.

[0022] Figure 2 A portable multi-functional device with a touchscreen is shown according to some embodiments.

[0023] Figure 3 This is a block diagram of an exemplary multifunctional device having a display and a touch-sensitive surface according to some implementation schemes.

[0024] Figure 4A An exemplary user interface for a menu applied to a portable multi-functional device, according to some implementation schemes, is shown.

[0025] Figure 4B An exemplary user interface for a multifunctional device having a touch-sensitive surface separate from the display is shown according to some embodiments.

[0026] Figure 5A A personal electronic device according to some implementation schemes is shown.

[0027] Figure 5B This is a block diagram illustrating a personal electronic device according to some implementation schemes.

[0028] Figures 6A to 6K An exemplary user interface for managing patient health data is shown according to some implementation schemes.

[0029] Figure 7A and Figure 7B This is a flowchart illustrating a method for managing patient health data using a computer system, according to some implementation schemes.

[0030] Figures 8A to 8G An exemplary user interface for managing a patient’s health data (specifically, sleep-related data) according to some implementation schemes is shown.

[0031] Figures 9A to 9D An exemplary user interface for managing patient health data is shown according to some implementation schemes.

[0032] Figure 10 This is a flowchart illustrating a method for managing a patient's health data (specifically, sleep-related data) using a computer system, according to some implementation schemes. Detailed Implementation

[0033] The following description illustrates exemplary methods, parameters, etc. However, it should be understood that such description is not intended to limit the scope of this disclosure, but is provided as a description of exemplary embodiments.

[0034] In some specific implementations, exemplary electronic devices provide efficient methods and interfaces for managing patient health data. For example, exemplary electronic devices can provide users with information about patient health data in an easily understandable and convenient manner. Such technologies can reduce the cognitive burden on users accessing patient health data, thereby increasing productivity. Furthermore, such technologies can reduce processor power and battery power that would otherwise be wasted on redundant user input.

[0035] under Figures 1A to 1B , Figure 2 , Figure 3 , Figures 4A to 4B and Figures 5A to 5B A description of an exemplary device for performing techniques for managing patient health data is provided. Figures 6A to 6K An exemplary user interface for managing patient health data is shown. Figure 7A and Figure 7B This is a flowchart illustrating a method for managing patient health data according to some implementation schemes. Figures 6A to 6K The user interface in the document is used to display including Figure 7A and Figure 7B The process described below is the process in the middle. Figures 8A to 8G An exemplary user interface for managing a patient’s health data (specifically, sleep-related data) according to some implementation schemes is shown. Figures 9A to 9D An exemplary user interface for managing patient health data is shown according to some implementation schemes. Figure 10 This is a flowchart illustrating a method for managing a patient's health data (specifically, sleep-related data) using a computer system, according to some implementation schemes. Figures 8A to 8G The user interface in the document is used to display including Figure 10 The process described below is the process in the middle.

[0036] The processes described below enhance device operability and make the user-device interface more efficient through various technologies (e.g., by helping users provide appropriate input and reducing user errors when operating / interacting with the device), including providing improved visual feedback to users, reducing the amount of input required to perform operations, providing additional control options without cluttering the user interface with additional display controls, performing operations without further user input and / or additional techniques when a set of conditions have been met. These technologies also reduce power consumption and extend device battery life by enabling users to use the device faster and more efficiently.

[0037] Furthermore, in methods described herein where one or more steps depend on the satisfaction of one or more conditions, it should be understood that the method may be repeated in multiple repetitions such that, during the repetitions, all conditions determining the steps in the method are satisfied in different repetitions of the method. For example, if the method requires performing a first step (if the condition is satisfied) and a second step (if the condition is not satisfied), those skilled in the art will know that the stated steps are repeated until both the conditions are satisfied and not satisfied (in no particular order). Thus, a method described as having one or more steps depending on the satisfaction of one or more conditions can be rewritten as a method that repeats until each condition described in the method is satisfied. However, this does not require the system or computer-readable medium to declare that the system or computer-readable medium contains instructions for performing discretionary operations based on the satisfaction of the corresponding one or more conditions, and thus to determine whether possible conditions have been satisfied without explicitly repeating the steps of the method until all conditions determining the steps in the method are satisfied. Those skilled in the art will also understand that, similar to methods having discretionary steps, a system or computer-readable storage medium may repeat the steps of the method multiple times as needed to ensure that all discretionary steps have been performed.

[0038] Although the following description uses the terms "first," "second," etc., to describe various elements, these elements should not be limited by the terms. These terms are only used to distinguish one element from another. For example, a first touch may be named a second touch and similarly, a second touch may be named a first touch, without departing from the scope of the various described embodiments. Both the first touch and the second touch are touches, but they are not the same touch.

[0039] The terminology used in the description of the various embodiments herein is for the purpose of describing particular embodiments only and is not intended to be limiting. As used in the description of the various embodiments and the appended claims, the singular forms “a” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and / or” as used herein refers to and covers any and all possible combinations of one or more of the associated listed items. It will also be understood that the terms “includes”, “including”, “comprises”, and / or “comprising” as used in this specification specify the presence of the stated features, integers, steps, operations, elements, and / or components, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.

[0040] Depending on the context, the term "if" may optionally be interpreted as meaning "when," "at," or "in response to determination" or "in response to detection." Similarly, depending on the context, the phrases "if determination..." or "if detection [the stated condition or event]" may optionally be interpreted as meaning "in response to determination..." or "in response to detection [the stated condition or event]."

[0041] This document describes implementations of electronic devices, user interfaces for such devices, and related processes for using such devices. In some implementations, the device is a portable communication device, such as a mobile phone, that also includes other functionalities such as PDA and / or music player functionality. Exemplary implementations of portable multi-functional devices include, but are not limited to, the iPhone from Apple Inc. (Cupertino, California). ® Devices, iPod Touch ® Devices and iPads ® Device. Optionally, other portable electronic devices may be used, such as laptops or tablets with touch-sensitive surfaces (e.g., touchscreen displays and / or touchpads). It should also be understood that in some embodiments, the device is not a portable communication device, but a desktop computer with touch-sensitive surfaces (e.g., touchscreen displays and / or touchpads). In some embodiments, the electronic device is a computer system that communicates with a display generating component (e.g., via wireless or wired communication). The display generating component is configured to provide visual output, such as a display via a CRT monitor, a display via an LED monitor, or a display via image projection. In some embodiments, the display generating component is integrated with the computer system. In some embodiments, the display generating component is separate from the computer system. As used herein, “display” content includes displaying content (e.g., video data rendered or decoded by display controller 156) by transmitting data (e.g., image data or video data) to an integrated or external display generating component via a wired or wireless connection to visually generate content.

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

[0043] The device typically supports a variety of applications, such as one or more of the following: drawing applications, presentation applications, word processing applications, website creation applications, disk editing applications, spreadsheet applications, gaming applications, telephone applications, video conferencing applications, email applications, instant messaging applications, fitness support applications, photo management applications, digital camera applications, digital video camcorder applications, web browsing applications, digital music player applications, and / or digital video player applications.

[0044] Various applications running on the device optionally use at least one common physical user interface device, such as a touch-sensitive surface. One or more functions of the touch-sensitive surface and the 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 device's common physical architecture (such as the touch-sensitive surface) optionally utilizes a user interface that is intuitive and clear to the user to support various applications.

[0045] Now let’s turn our attention to implementation schemes for portable devices with touch-sensitive displays. Figure 1A This is a block diagram illustrating a portable multi-functional device 100 with a touch-sensitive display system 112 according to some embodiments. The touch-sensitive display 112 is sometimes referred to as a “touchscreen” for convenience, and is sometimes referred to as or called a “touch-sensitive display system.” 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 interface 118, RF circuitry 108, audio circuitry 110, a speaker 111, a microphone 113, an input / output (I / O) subsystem 106, other input control devices 116, and an external port 124. Device 100 optionally includes one or more optical sensors 164. Device 100 optionally includes one or more contact strength sensors 165 for detecting the intensity of contact on device 100 (e.g., a touch-sensitive surface, such as the touch-sensitive display system 112 of device 100). Device 100 optionally includes one or more haptic output generators 167 for generating haptic output on device 100 (e.g., generating haptic output on a touch-sensitive surface such as the touch-sensitive display system 112 of device 100 or the touchpad 355 of device 300). These components optionally communicate via one or more communication buses or signal lines 103.

[0046] As used in this specification and claims, the term "intensity" of contact on a tactile surface refers to the force or pressure (force per unit area) of a contact (e.g., finger contact) on a tactile surface, or to a substitute (alternative) for the force or pressure of a contact on a tactile surface. The intensity of contact has a range of values ​​that includes at least four different values ​​and more typically hundreds of different values ​​(e.g., at least 256). The intensity of contact is optionally determined (or measured) using various methods and various sensors or combinations of sensors. For example, one or more force sensors below or adjacent to the tactile surface are optionally used to measure the force at different points on the tactile surface. In some embodiments, force measurements from multiple force sensors are combined (e.g., weighted average) to determine the estimated contact force. Similarly, the pressure-sensitive tip of a stylus is optionally used to determine the pressure of the stylus on the tactile surface. Alternatively, the size and / or variation of the contact area detected on the touch-sensitive surface, the capacitance and / or variation of the touch-sensitive surface near the contact, and / or the resistance and / or variation of the touch-sensitive surface near the contact may optionally be used as substitutes 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 an 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 an 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 user input allows the user to access additional device functions that would otherwise be inaccessible to the user on a smaller device with limited physical space, which is used (e.g., on a touch-sensitive display) to display an indication and / or receive user input (e.g., via a touch-sensitive display, touch-sensitive surface, or physical / mechanical controls, such as knobs or buttons).

[0047] As used in this specification and claims, the term "haptic output" refers to a physical displacement of the 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., the housing), or a displacement of a component relative to the center of mass of the device, which is detected by the user using the user's tactile sense. For example, when the device or a component of the device comes into contact with a touch-sensitive surface (e.g., a finger, palm, or other part of the user's hand), the haptic output generated by the physical displacement will be interpreted by the user as a tactile sensation corresponding to a perceived change in the physical characteristics of the device or a component of the device. For example, movement of a touch-sensitive surface (e.g., a touch-sensitive display or touchpad) may optionally be interpreted by the user as a "press-click" or "release-click" on a physically actuated button. In some cases, the user will feel a tactile sensation, such as a "press-click" or "release-click," even when a physically actuated button associated with the touch-sensitive surface, which has been physically pressed (e.g., displaced) by the user's movement, has not moved. For example, even when the smoothness of the tactile surface remains unchanged, the movement of the tactile surface can optionally be interpreted or sensed by the user as the "roughness" of the tactile surface. While such interpretations of touch by users will be limited by the individualized sensory perceptions of the user, many sensory perceptions of touch are common to most users. Therefore, when a tactile output is described as corresponding to a specific 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 its components that will generate the sensory perception of a typical (or common) user.

[0048] It should be understood that device 100 is merely an example of a portable multifunctional device, and device 100 may optionally have more or fewer components than those shown, may optionally combine two or more components, or may optionally have different configurations or arrangements of these components. Figure 1A The various components shown are implemented in hardware, software, or a combination of both, including one or more signal processing and / or application-specific integrated circuits.

[0049] Memory 102 optionally includes high-speed random access memory and also optionally 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.

[0050] Peripheral interface 118 can be used to couple the device's input and output peripherals to CPU 120 and 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 memory 102 to perform various functions of device 100 and process data. In some embodiments, peripheral interface 118, CPU 120, and memory controller 122 are optionally implemented on a single chip, such as chip 104. In some other embodiments, they are optionally implemented on separate chips.

[0051] RF (Radio Frequency) circuit 108 receives and transmits RF signals, also known as electromagnetic signals. RF circuit 108 converts electrical signals into electromagnetic signals and vice versa, and communicates with communication networks and other communication devices via these electromagnetic signals. RF circuit 108 optionally includes well-known circuitry 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, Subscriber Identity Module (SIM) cards, memory, etc. RF circuit 108 optionally communicates wirelessly with networks and other devices, such as the Internet (also known as the World Wide Web (WWW)), intranets, and / or wireless networks (such as cellular phone networks, wireless local area networks (LANs), and / or metropolitan area networks (MANs)). RF circuit 108 optionally includes well-known circuitry for detecting near-field communication (NFC) fields, such as via near-field communication radio components. Wireless communication may optionally employ 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, Pure Data (EV-DO), HSPA, HSPA+, Dual-Unit 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), and Wi-Fi (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE...). 802.11n and / or IEEE 802.11ac), Voice over Internet Protocol (VoIP), Wi-MAX, email protocols (e.g., Internet Messaging 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 with Extended Utility (SIMPLE), Instant Messaging and Presence Service (IMPS)), and / or Short Message Service (SMS), or any other suitable communication protocol that has not been developed as of the date of this document submission.

[0052] Audio circuitry 110, speaker 111, and microphone 113 provide an audio interface between the user and device 100. Audio circuitry 110 receives audio data from peripheral interface 118, converts the audio data into electrical signals, and transmits the electrical signals to speaker 111. Speaker 111 converts the electrical signals into sound waves that are audible to humans. Audio circuitry 110 also receives electrical signals converted from sound waves by microphone 113. Audio circuitry 110 converts the electrical signals into audio data and transmits the audio data to peripheral interface 118 for processing. Audio data is optionally retrieved by peripheral interface 118 from and / or transmitted to memory 102 and / or RF circuitry 108. In some embodiments, audio circuitry 110 also includes a headset jack (e.g., ...). Figure 2 (212 in the text). The headset jack provides an interface between the audio circuitry 110 and a removable audio input / output peripheral device, such as an output-only headphone or a headset with both output (e.g., a single-ear headphone or a dual-ear headphone) and input (e.g., a microphone).

[0053] I / O subsystem 106 couples input / output peripherals on device 100, such as touchscreen 112 and other input control devices 116, to peripheral interface 118. I / O subsystem 106 optionally includes display controller 156, optical sensor controller 158, depth camera controller 169, intensity sensor controller 159, haptic feedback controller 161, and one or more input controllers 160 for other input or control devices. The one or more input controllers 160 receive electrical signals from / send electrical signals to the other input control device 116. The other input control device 116 optionally includes physical buttons (e.g., push-buttons, rocker buttons, etc.), dial pads, slide switches, joysticks, click dials, etc. In some embodiments, input controller 160 is optionally coupled to (or not coupled to) any of the following: keyboard, infrared port, USB port, and pointing device such as mouse. One or more buttons (e.g., ... Figure 2 Optionally, 208) includes increase / decrease buttons for volume control of speaker 111 and / or microphone 113. The one or more buttons optionally include a push-button (e.g., Figure 2(Ref. 206 in the original text). 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 user gestures (e.g., hand 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.

[0054] A quick press of the push button optionally disengages the touchscreen 112 from its lock or optionally initiates a process of unlocking the device using gestures on the touchscreen, as described in U.S. Patent Application 11 / 322,549 (i.e., U.S. Patent No. 7,657,849), filed December 23, 2005, entitled "Unlocking a Device by Performing Gestures on an Unlock Image," the entire contents of which are incorporated herein by reference. A long press of the push button (e.g., 206) optionally powers the device 100 on or off. The function of one or more buttons is optionally user-customizable. The touchscreen 112 is used to implement virtual buttons or soft buttons and one or more soft keyboards.

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

[0056] Touchscreen 112 has a touch-sensitive surface, sensor, or sensor array that accepts input from a user based on tactile and / or haptic contact. Touchscreen 112 and display controller 156 (along with any associated modules and / or instruction set in memory 102) detect contact on touchscreen 112 (and any movement or interruption of that contact) and translate the detected contact into interaction with user interface objects (e.g., one or more soft keys, icons, web pages, or images) displayed on touchscreen 112. In an exemplary embodiment, the point of contact between touchscreen 112 and the user corresponds to the user's finger.

[0057] Touchscreen 112 optionally employs LCD (Liquid Crystal Display) technology, LPD (Light Emitting Polymer Display) technology, or LED (Light Emitting Diode) technology, but other display technologies are used in other embodiments. Touchscreen 112 and display controller 156 optionally employ any of a variety of touch sensing technologies now known or to be developed hereafter, along with other proximity sensor arrays or other elements for determining one or more points of contact with touchscreen 112, to detect contact and any movement or interruption thereof. These various touch sensing technologies include, but are not limited to, capacitive, resistive, infrared, and surface acoustic wave technologies. In an exemplary embodiment, projected mutual capacitance sensing technology is used, such as in the iPhone from Apple Inc. (Cupertino, California). ® and iPod Touch ® The technology used.

[0058] In some embodiments of the touchscreen 112, the touch-sensitive display optionally resembles a multi-touch-sensitive touchpad 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 incorporated herein by reference in its entirety. However, the touchscreen 112 displays visual output from the device 100, while the touch-sensitive touchpad does not provide visual output.

[0059] The touch-sensitive display in some embodiments of the touchscreen 112 is described in the following applications: (1) U.S. Patent Application 11 / 381,313, filed May 2, 2006, “Multipoint Touch Surface Controller”; (2) U.S. Patent Application 10 / 840,862, filed May 6, 2004, “Multipoint Touchscreen”; (3) U.S. Patent Application 10 / 903,964, filed July 30, 2004, “Gestures For Touch Sensitive Input Devices”; (4) U.S. Patent Application 11 / 048,264, filed January 31, 2005, “Gestures For Touch Sensitive Input Devices”; (5) U.S. Patent Application 11 / 038,590, filed January 18, 2005, “Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices”; (6) U.S. Patent Application No. 11 / 228,758, filed September 16, 2005, “Virtual Input Device Placement On Touch Screen User Interface”; (7) U.S. Patent Application No. 11 / 228,700, filed September 16, 2005, “Operation Of A Computer With A Touch Screen Interface”; (8) U.S. Patent Application No. 11 / 228,737, filed September 16, 2005, “Activating Virtual Keys Of A Touch-Screen Virtual Keyboard”; and (9) U.S. Patent Application No. 11 / 367,749, filed March 3, 2006, “Multi-Functional Hand-Held Device”. The full text of all these applications is incorporated herein by reference.

[0060] Touchscreen 112 optionally has a video resolution exceeding 100 dpi. In some embodiments, the touchscreen has a video resolution of approximately 160 dpi. Users optionally use any suitable object or accessory such as a stylus, finger, etc., to interact with touchscreen 112. In some embodiments, the user interface is designed to operate primarily through finger-based touch and gestures, which may be less precise than stylus-based input due to the larger contact area of ​​a finger on the touchscreen. In some embodiments, the device translates coarse finger-based input into precise pointer / cursor positions or commands to perform the user-desired actions.

[0061] In some embodiments, in addition to the touchscreen, device 100 optionally includes a touchpad for activating or deactivating specific functions. In some embodiments, the touchpad is a touch-sensitive area of ​​the device that, unlike the touchscreen, does not display visual output. Optionally, the touchpad is a touch-sensitive surface separate from the touchscreen 112, or an extension of the touch-sensitive surface formed by the touchscreen.

[0062] The device 100 also includes a power system 162 for supplying power to various components. The power system 162 optionally includes a power management system, one or more power sources (e.g., a battery, alternating current (AC)), a 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 the portable device.

[0063] The device 100 may optionally also include one or more optical sensors 164. Figure 1AAn optical sensor 164 is shown coupled to an optical sensor controller 158 in the I / O subsystem 106. 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 an imaging module 143 (also called a camera module), the optical sensor 164 optionally captures still images or video. In some embodiments, the optical sensor is located on the rear of the device 100, opposite to a touchscreen display 112 on the front of the device, allowing the touchscreen display to be used as a viewfinder for still image and / or video image acquisition. In some embodiments, the optical sensor is located on the front of the device, allowing images of the user to be optionally acquired for video conferencing while the user views other video conferencing participants on the touchscreen display. In some embodiments, the position of the optical sensor 164 can be changed by the user (e.g., by rotating the lenses and sensors in the device housing), allowing a single optical sensor 164 to be used in conjunction with the touchscreen display for both video conferencing and still image and / or video image acquisition.

[0064] The device 100 optionally also includes one or more depth camera sensors 175. Figure 1A A depth camera sensor is shown coupled to a depth camera controller 169 in I / O subsystem 106. Depth camera sensor 175 receives data from the environment to create a 3D model of an object (e.g., a face) within the scene from a viewpoint (e.g., the depth camera sensor). In some embodiments, in conjunction with imaging module 143 (also referred to as a camera module), depth camera sensor 175 may optionally be used to determine depth maps of different portions of an image captured by imaging module 143. In some embodiments, the depth camera sensor is located at the front of device 100, such that user images with depth information are optionally acquired for video conferencing while the user views other video conferencing participants on a touchscreen display, and selfies with depth map data are captured. In some embodiments, depth camera sensor 175 is located at the rear of the device, or both the rear and front of device 100. In some embodiments, the position of depth camera sensor 175 may be changed by the user (e.g., by rotating a lens and sensor within the device housing), such that depth camera sensor 175 is used in conjunction with a touchscreen display for both video conferencing and still image and / or video image acquisition.

[0065] The device 100 may optionally also include one or more contact strength sensors 165. Figure 1AA contact strength sensor is shown coupled to a strength sensor controller 159 in I / O subsystem 106. The contact strength sensor 165 optionally includes one or more piezoresistive strain gauges, capacitive force sensors, electro-force sensors, piezoelectric sensors, optical force sensors, capacitive touch-sensitive surfaces, or other strength sensors (e.g., sensors for measuring the force (or pressure) of contact on a touch-sensitive surface). The contact strength sensor 165 receives contact strength information (e.g., pressure information or a substitute for pressure information) from the environment. In some embodiments, at least one contact strength sensor is arranged juxtaposed with or adjacent to a touch-sensitive surface (e.g., touch-sensitive display system 112). In some embodiments, at least one contact strength sensor is located on the rear of device 100, opposite to the touchscreen display 112 located on the front of device 100.

[0066] The device 100 optionally also includes one or more proximity sensors 166. Figure 1A A proximity sensor 166 coupled to a peripheral device interface 118 is shown. Alternatively, the proximity sensor 166 may optionally be coupled to an input controller 160 in an I / O subsystem 106. The proximity sensor 166 may optionally perform as described in the following U.S. patent applications: No. 11 / 241,839, entitled "Proximity Detector In Handheld Device"; No. 11 / 240,788, entitled "Proximity Detector In Handheld Device"; No. 11 / 620,702, entitled "Using Ambient Light Sensor To Augment Proximity Sensor Output"; No. 11 / 586,862, entitled "Automated Response To And Sensing Of User Activity In Portable Devices"; and No. 11 / 638,251, entitled "Methods And Systems For Automatic Configuration Of Peripherals", the entire contents of which are incorporated herein by reference. In some implementations, when the multifunction device is placed near the user's ear (e.g., when the user is making a phone call), the proximity sensor is turned off and the touchscreen 112 is disabled.

[0067] The device 100 may optionally also include one or more tactile output generators 167. Figure 1AA haptic output generator coupled to a haptic feedback controller 161 in I / O subsystem 106 is shown. The haptic output generator 167 optionally includes one or more electroacoustic devices such as speakers or other audio components; and / or electromechanical devices for converting energy into linear motion, such as motors, solenoids, electroactive polymers, piezoelectric actuators, electrostatic actuators, or other haptic output generating components (e.g., components for converting electrical signals into haptic outputs on the device). A contact intensity sensor 165 receives haptic feedback generation instructions from a haptic feedback module 133 and generates a haptic output on device 100 that can be felt by a user of device 100. In some embodiments, at least one haptic output generator is juxtaposed or adjacent to a haptic surface (e.g., haptic display system 112) and optionally generates the haptic output by moving the haptic surface vertically (e.g., in / outward from the surface of device 100) or laterally (e.g., backward and forward in the same plane as the surface of device 100). In some embodiments, at least one haptic output generator sensor is located on the rear of the device 100, opposite to the touch screen display 112 located on the front of the device 100.

[0068] The device 100 may optionally also include one or more accelerometers 168. Figure 1A An accelerometer 168 coupled to a peripheral device interface 118 is shown. Alternatively, the accelerometer 168 may be coupled to an input controller 160 in an I / O subsystem 106. The accelerometer 168 may optionally perform as described in the following U.S. patent publications: U.S. Patent Publication No. 20050190059, entitled "Acceleration-based Theft Detection System for Portable Electronic Devices" and U.S. Patent Publication No. 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 on a touchscreen display in portrait or landscape view based on analysis of data received from one or more accelerometers. Device 100 may optionally include, in addition to the accelerometer 168, a magnetometer and a GPS (or GLONASS or other global navigation system) receiver for acquiring information about the location and orientation (e.g., portrait or landscape) of device 100.

[0069] 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. Furthermore, in some embodiments, memory 102 ( Figure 1A ) or 370 ( Figure 3 Storage device / global internal state 157, such as Figure 1A and Figure 3 As shown in the figure. Device / global internal state 157 includes one or more of the following: active application state, which indicates which applications (if any) are currently active; display state, indicating 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 relating to the device's position and / or orientation.

[0070] The operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, iOS, WINDOWS, or embedded operating systems 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 facilitates communication between various hardware and software components.

[0071] The communication module 128 facilitates communication with other devices via one or more external ports 124 and includes various software components for processing data received by the RF circuitry 108 and / or the external ports 124. The external ports 124 (e.g., Universal Serial Bus (USB), FireWire, etc.) are adapted to be directly coupled to other devices or indirectly coupled via a network (e.g., the Internet, wireless LAN, etc.). In some embodiments, the external port is for use with an iPod. ® (Trademark of Apple Inc.) The same or similar and / or compatible multi-pin (e.g., 30-pin) connectors used in Apple Inc. devices.

[0072] The contact / motion module 130 optionally detects contact with the touchscreen 112 (in conjunction with the display controller 156) and other touch-sensitive devices (e.g., touchpads or physical click-based rotary dials). The contact / motion module 130 includes various software components for performing various operations related to contact detection, such as determining whether a contact has occurred (e.g., detecting a finger press event), determining the contact intensity (e.g., the force or pressure of the contact, or an alternative to force or pressure), determining whether there is movement of the contact and tracking 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 a contact break). 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 which is represented by a series of contact data. These operations are optionally applied to single-point contact (e.g., single-finger contact) or multi-point simultaneous contact (e.g., "multi-touch" / multiple-finger contact). In some implementations, the contact / motion module 130 and the display controller 156 detect contact on the touchpad.

[0073] In some implementations, the contact / motion module 130 uses a set of one or more intensity thresholds to determine whether an operation has been performed by a user (e.g., determining whether the user has “clicked” an icon). In some implementations, at least a subset of the intensity thresholds is determined based on software parameters (e.g., the intensity thresholds are not determined by the activation threshold of a specific physical actuator and can be adjusted without changing the physical hardware of device 100). For example, the mouse “click” threshold of a touchpad or touchscreen can be set to any threshold in a wide range of predefined thresholds without changing the touchpad or touchscreen display hardware. Additionally, in some specific implementations, the user of the device is provided with software settings for adjusting one or more intensity thresholds in a set (e.g., by adjusting the individual intensity thresholds and / or by adjusting multiple intensity thresholds at once using system-level clicks on the “intensity” parameter).

[0074] The touch / motion module 130 optionally detects gesture input performed by the user. Different gestures on a touch-sensitive surface have different contact patterns (e.g., different movements, timings, and / or intensities of the detected contact). Therefore, 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-off (lift-away) event at the same (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 a touch-sensitive surface includes detecting a finger press event, then detecting one or more finger drag events, and subsequently detecting a finger lift-off (lift-away) event.

[0075] The graphics module 132 includes various known software components for rendering and displaying graphics on the touchscreen 112 or other displays, including components for altering the visual impact of the displayed graphics (e.g., brightness, transparency, saturation, contrast, or other visual properties). 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.

[0076] In some implementations, the graphics module 132 stores data representing the graphics to be used. Each graphic is optionally assigned a corresponding code. The graphics module 132 receives one or more codes from applications, etc., specifying the graphics to be displayed, and also receives coordinate data and other graphic attribute data if necessary, and then generates screen image data for output to the display controller 156.

[0077] The haptic feedback module 133 includes various software components for generating instructions which are used by the haptic output generator 167 to generate haptic output at one or more locations on the device 100 in response to user interaction with the device 100.

[0078] Optionally, the text input module 134, a component of the graphics module 132, provides a soft keyboard for entering text in various applications, such as contacts 137, email 140, IM 141, browser 147, and any other application that requires text input.

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

[0080] Application 136 optionally includes the following modules (or instruction sets) or subsets or supersets thereof: ● Contacts module 137 (sometimes called address book or contact list); ● Telephone module 138; ● Video conferencing module 139; ● Email client module 140; ● Instant Messaging (IM) module 141; ● Fitness support module 142; ● Camera module 143 for still images and / or video images; ● Image management module 144; ● Video player module; ● Music player module; ● Browser module 147; ● Calendar module 148; ● Widget module 149, which optionally includes one or more of the following: weather widget 149-1, stock market widget 149-2, calculator widget 149-3, alarm clock widget 149-4, dictionary widget 149-5, and other widgets acquired by the user, and user-created widgets 149-6. ● Widget creator module 150 for creating user-created widgets 149-6; ● Search module 151; ● Video and music player module 152, which combines a video player module and a music player module; ● Notes module 153; ● Map module 154; and / or ● Online video module 155.

[0081] Examples of other applications 136 that may be optionally stored in memory 102 include other word processing applications, other image editing applications, drawing applications, rendering applications, Java-enabled applications, encryption, digital rights management, speech recognition, and speech duplication.

[0082] In conjunction with the touchscreen 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 (e.g., in application internal state 192 of the contact module 137 stored in memory 102 or memory 370), including: adding one or more 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 telephone 138, video conferencing module 139, email 140, or IM 141; and so on.

[0083] Combining RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, telephone module 138 is optionally used to input character sequences corresponding to telephone numbers, access one or more telephone numbers in contact module 137, modify entered telephone numbers, dial corresponding telephone numbers, initiate conversations, and disconnect or hang up when a conversation is completed. As described above, wireless communication optionally uses any of a variety of communication standards, protocols, and technologies.

[0084] Combining RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touchscreen 112, display controller 156, optical sensor 164, optical sensor controller 158, contact / motion module 130, graphics module 132, text input module 134, contact module 137, and telephone module 138, video conferencing module 139 includes executable instructions to initiate, conduct, and terminate video conferences between the user and one or more other participants based on user instructions.

[0085] Incorporating RF circuitry 108, touchscreen 112, display controller 156, touch / 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 commands. Combined with image management module 144, email client module 140 makes it very easy to create and send emails containing still images or video images captured by camera module 143.

[0086] In conjunction with RF circuitry 108, touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, and text input module 134, instant messaging module 141 includes executable instructions for: inputting a character sequence corresponding to an instant message, modifying previously input characters, transmitting a corresponding instant message (e.g., using Short Message Service (SMS) or Multimedia Messaging Service (MMS) protocols for telephone-based instant messaging or using XMPP, SIMPLE, or IMPS for internet-based instant messaging), receiving an instant message, and viewing a received instant message. In some embodiments, the transmitted and / or received instant messages optionally include graphics, photographs, audio files, video files, and / or other attachments supported in MMS and / or Enhanced Messaging Services (EMS). As used herein, "instant message" 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).

[0087] Combining RF circuitry 108, touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, GPS module 135, map module 154, and music player module, fitness support module 142 includes executable instructions for creating fitness (e.g., with time, distance, and / or calorie burning goals); communicating with fitness sensors (executive devices); receiving fitness sensor data; calibrating sensors used to monitor fitness; selecting and playing music for fitness; and displaying, storing, and transmitting fitness data.

[0088] In conjunction with the touchscreen 112, display controller 156, optical sensor 164, optical sensor controller 158, contact / motion module 130, graphics module 132, and image management module 144, camera module 143 includes executable instructions for: capturing still images or videos (including video streams) and storing them in memory 102, modifying the characteristics of still images or videos, or deleting still images or videos from memory 102.

[0089] Incorporating touchscreen 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, tagging, deleting, presenting (e.g., in a digital slideshow or album), and storing still images and / or video images.

[0090] Combining RF circuitry 108, touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, and text input module 134, browser module 147 includes executable instructions for browsing the Internet according to user instructions, including searching, linking to, receiving, and displaying web pages or portions thereof, as well as links to attachments and other files on web pages.

[0091] Combining RF circuitry 108, touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, email client module 140, and browser module 147, calendar module 148 includes executable instructions to create, display, modify, and store calendars and associated data (e.g., calendar entries, to-dos, etc.) according to user instructions.

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

[0093] In conjunction with RF circuitry 108, touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, and browser module 147, widget creator module 150 can optionally be used by the user to create widgets (e.g., to convert user-specified portions of a webpage into widgets).

[0094] In conjunction with the touchscreen 112, display controller 156, touch / 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) according to user instructions.

[0095] Incorporating touchscreen 112, display controller 156, touch / 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 allowing users to download and play recorded music and other sound files stored in one or more file formats such as MP3 or AAC files, as well as executable instructions for displaying, presenting, or otherwise playing back video (e.g., on touchscreen 112 or on an external display connected via external port 124). In some embodiments, device 100 optionally includes the functionality of an MP3 player such as an iPod (a trademark of Apple Inc.).

[0096] Incorporating the touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, and text input module 134, the note-taking module 153 includes executable instructions for creating and managing notes, to-do items, etc., according to user instructions.

[0097] Combining RF circuit 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, GPS module 135 and browser module 147, map module 154 is optionally used to receive, display, modify and store maps and data associated with the maps (e.g., driving directions, data related to shops and other points of interest at or near a specific location, and other location-based data) according to user instructions.

[0098] Incorporating touchscreen 112, display controller 156, touch / motion module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, text input module 134, email client module 140, and browser module 147, the online video module 155 includes instructions for performing the following actions: allowing users to access, browse, receive (e.g., via streaming and / or downloading), play back (e.g., on the touchscreen or on an external display connected via external port 124), send emails with links to specific online videos, and otherwise manage online videos in one or more file formats such as H.264. In some embodiments, an instant messaging module 141 is used instead of the email client module 140 to send links to specific online videos. Further descriptions of online video applications can be found in U.S. Provisional Patent Application No. 60 / 936,562, filed June 20, 2007, entitled “Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos,” and U.S. Patent Application No. 11 / 968,067, filed December 31, 2007, entitled “Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos,” the contents of which are incorporated herein by reference in their entirety.

[0099] Each of the above modules and applications corresponds to an executable set of instructions for performing one or more of the functions described above and the methods described in this patent application (e.g., computer-implemented methods and other information processing methods as described herein). These modules (e.g., instruction sets) need not be implemented as separate software programs (such as computer programs (e.g., including instructions)), processes, or modules; therefore, various subsets of these modules may optionally be combined or otherwise rearranged in various embodiments. For example, a video player module may optionally be combined with a music player module into a single module (e.g., Figure 1A (e.g., video and music player module 152). In some embodiments, memory 102 optionally stores subgroups of the aforementioned modules and data structures. Additionally, memory 102 optionally stores other modules and data structures not described above.

[0100] In some implementations, device 100 is a device on which the operation of a predefined set of functions is performed solely via a touchscreen and / or touchpad. By using a touchscreen and / or touchpad as the primary input control device for operating device 100, the number of physical input control devices (e.g., push-buttons, dials, etc.) on device 100 is optionally reduced.

[0101] A predefined set of functions, uniquely performed via a touchscreen and / or touchpad, optionally includes navigation between user interfaces. In some embodiments, the touchpad, when touched by a user, navigates device 100 from any user interface displayed on device 100 to the main menu, home menu, or root menu. In such embodiments, a touchpad 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 touchpad.

[0102] Figure 1B This 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 This includes an event classifier 170 (e.g., in operating system 126) and a corresponding application 136-1 (e.g., any one of the aforementioned applications 137 to 151, 155, 380 to 390).

[0103] Event classifier 170 receives event information and determines the application 136-1 and application view 191 of application 136-1 to which the event information should be delivered. Event classifier 170 includes event monitor 171 and event dispatcher 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 running. 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 should be delivered.

[0104] In some implementations, the application internal state 192 includes additional information such as one or more of the following: recovery information to be used when the application 136-1 resumes execution, user interface state information indicating that information is being displayed or ready to be displayed by the application 136-1, a state queue for enabling the user to return to the previous state or view of the application 136-1, and a repeat / undo queue for the user's previous actions.

[0105] Event monitor 171 receives event information from peripheral interface 118. The event information includes information about sub-events, such as a user touch on touch-sensitive display 112 as part of a multi-touch gesture. Peripheral 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 (via audio circuitry 110). The information received by peripheral interface 118 from I / O subsystem 106 includes information from touch-sensitive display 112 or touch-sensitive surfaces.

[0106] In some implementations, event monitor 171 sends requests to peripheral device interface 118 at predetermined intervals. In response, peripheral device interface 118 transmits event information. In other implementations, peripheral device interface 118 transmits event information only when a significant event occurs (e.g., receiving input above a predetermined noise threshold and / or receiving input for a predetermined duration).

[0107] In some implementations, the event classifier 170 also includes a hit view determination module 172 and / or an activity event recognizer determination module 173.

[0108] When the touch-sensitive display 112 displays more than one view, the hit view determination module 172 provides a software process for determining where a sub-event has occurred within one or more views. A view consists of controls and other elements that the user can see on the display.

[0109] Another aspect of the user interface associated with an application is a set of views, sometimes referred to herein as application views or user interface windows, in which information is displayed and touch-based gestures occur. The application view (of the corresponding application) in which a touch is detected optionally corresponds to a procedural level within the application's procedural or view hierarchy. For example, the lowest-level view in which a touch is detected is optionally referred to as the hit view, and the set of events identified as correct input is optionally determined at least in part based on the hit view of the initial touch that initiates a touch-based gesture.

[0110] The hit view determination module 172 receives information related to sub-events of touch-based gestures. When an application has multiple views organized in a hierarchical structure, the hit view determination module 172 identifies the hit view as the lowest-level view in the hierarchical structure from which the sub-events should be processed. 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 forming an event or potential event) occurs. Once the hit view is identified by the hit view determination module 172, the hit view typically receives all sub-events related to the same touch or input source to which it was identified as the hit view.

[0111] The activity event recognizer determination module 173 determines which views(s) within the view hierarchy should receive a specific sub-event sequence. In some embodiments, the activity event recognizer determination module 173 determines that only the hit view should receive the specific sub-event sequence. In other embodiments, the activity event recognizer determination module 173 determines that all views including the physical location of the sub-event are actively participating views, and therefore determines that all actively participating views should receive the specific sub-event sequence. In other embodiments, even if the touch sub-event is entirely confined to the area associated with a particular view, higher views in the hierarchy will still remain actively participating views.

[0112] Event assigner module 174 assigns event information to event identifiers (e.g., event identifier 180). In embodiments that include active event identifier determination module 173, event assigner module 174 delivers event information to the event identifier determined by active event identifier determination module 173. In some embodiments, event assigner module 174 stores event information in an event queue, which is retrieved by the corresponding event receiver 182.

[0113] In some implementations, operating system 126 includes event classifier 170. Alternatively, application 136-1 includes event classifier 170. In yet another implementation, event classifier 170 is a standalone module or part of another module (such as contact / motion module 130) stored in memory 102.

[0114] In some implementations, application 136-1 includes a plurality of 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 application's user interface. Each application view 191 of application 136-1 includes one or more event recognizers 180. Typically, a corresponding application view 191 includes a plurality of event recognizers 180. In other implementations, one or more of the event recognizers 180 are part of a separate module, such as a user interface toolkit or a higher-level object from which application 136-1 inherits methods and other properties. In some implementations, a corresponding event handler 190 includes one or more of the following: a data updater 176, an object updater 177, a GUI updater 178, and / or event data 179 received from an event classifier 170. Event handlers 190 optionally utilize or invoke the data updater 176, the object updater 177, or the GUI updater 178 to update the application's internal state 192. Alternatively, one or more application views in application view 191 include one or more corresponding event handlers 190. Additionally, in some embodiments, one or more of data updater 176, object updater 177, and GUI updater 178 are included in the corresponding application view 191.

[0115] The corresponding event recognizer 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 recognizer 180 includes an event receiver 182 and an event comparator 184. In some embodiments, the event recognizer 180 also includes at least one subset of metadata 183 and event delivery instructions 188 (which optionally include sub-event delivery instructions).

[0116] Event receiver 182 receives event information from event classifier 170. The 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 touch movement, 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 (e.g., from a longitudinal orientation to a lateral orientation, or vice versa), and the event information includes corresponding information about the device's current orientation (also referred to as device orientation).

[0117] Event comparator 184 compares event information with predefined event or sub-event definitions and determines the event or sub-event based on the comparison, or determines or updates the state of the event or sub-event. In some embodiments, event comparator 184 includes event definition 186. Event definition 186 contains definitions of events (e.g., predefined sequences of sub-events), such as event 1 (187-1), event 2 (187-2), and others. In some embodiments, sub-events in event (187) include, for example, touch start, touch end, touch move, touch cancel, and multi-touch. In one example, event 1 (187-1) is defined as a double-click on a displayed object. For example, a double-click includes a first touch (touch start) of a predetermined duration on the displayed object, a first lift-off of a predetermined duration (touch end), a second touch (touch start) of a predetermined duration on the displayed object, and a second lift-off of a predetermined duration (touch end). In another example, event 2 (187-2) is defined as a drag on a displayed object. For example, dragging includes a touch (or contact) on the displayed object for a predetermined duration, movement of the touch on the touch-sensitive display 112, and lifting off the touch (touch end). In some embodiments, the event also includes information for one or more associated event handlers 190.

[0118] In some implementations, event definition 187 includes definitions of events for corresponding user interface objects. In some implementations, event comparator 184 performs a hit test to determine which user interface object is associated with the 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 the event handler associated with the sub-event and the object that triggered the hit test.

[0119] In some implementations, the definition of the corresponding event (187) also includes a delay action that delays the delivery of event information until it has been determined whether the sub-event sequence actually corresponds to or does not correspond to the event type of the event recognizer.

[0120] When the corresponding event recognizer 180 determines that the sub-event sequence 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 based on touch gestures are ignored. In this case, other event recognizers (if any) that remain active in the hit view continue to track and process the ongoing sub-events based on touch gestures.

[0121] In some embodiments, the corresponding event recognizer 180 includes metadata 183 having configurable attributes, flags, and / or lists instructing how the event delivery system should perform sub-event delivery to actively participating event recognizers. In some embodiments, the metadata 183 includes configurable attributes, flags, and / or lists instructing how or how event recognizers can interact with each other. In some embodiments, the metadata 183 includes configurable attributes, flags, and / or lists instructing whether sub-events are delivered to different levels in a view or programmatic hierarchy.

[0122] In some implementations, when one or more specific sub-events of an event are identified, the corresponding event recognizer 180 activates the event handler 190 associated with the event. In some implementations, 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 delaying) the sub-event to the corresponding hit view. In some implementations, the event recognizer 180 throws a tag associated with the identified event, and the event handler 190 associated with that tag retrieves the tag and executes a predefined procedure.

[0123] In some implementations, event delivery instruction 188 includes 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 the sub-event sequence or to an actively participating view. The event handler associated with the sub-event sequence or the actively participating view receives the event information and performs a predetermined procedure.

[0124] In some implementations, 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 implementations, 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 location 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 touch-sensitive display.

[0125] In some implementations, event handler 190 includes, or has access to, a data updater 176, an object updater 177, and a GUI updater 178. In some implementations, 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 implementations, they are included in two or more software modules.

[0126] It should be understood that the above discussion regarding event handling for user touch on a touch-sensitive display also applies to other forms of user input used to operate the multifunction device 100 using an input device, and not all user input is initiated on the touchscreen. For example, mouse movement and mouse button presses optionally in conjunction with single or multiple keyboard presses or holds; touch movements on the touchpad, such as taps, drags, scrolls, etc.; stylus input; device movement; verbal commands; detected eye movements; biometric input; and / or any combination thereof may optionally be used as input corresponding to sub-events that define the event to be identified.

[0127] Figure 2A portable multifunction device 100 with a touchscreen 112 is shown according to some embodiments. The touchscreen 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 graphics by gesturing over the graphics, for example, 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 occurs when the user breaks contact with one or more graphics. In some embodiments, gestures optionally include one or more taps, one or more swipes (from left to right, from right to left, up and / or down), and / or scrolling (from right to left, from left to right, up and / or down) of a finger already in contact with the device 100. In some specific embodiments or in some cases, unintentional contact with a graphic does not select the graphic. For example, a swipe gesture over an application icon optionally does not select the corresponding application when the gesture corresponding to selection is a tap.

[0128] Device 100 optionally also includes one or more physical buttons, such as a "home" or menu button 204. As previously described, menu button 204 is optionally used to navigate to any application 136 of a set of applications optionally executed on device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key in a GUI displayed on touchscreen 112.

[0129] In some embodiments, device 100 includes a touchscreen 112, a menu button 204, a push-button 206 for powering on / off and locking the device, one or more volume control buttons 208, a SIM card slot 210, a headset jack 212, and a docking / charging external port 124. The push-button 206 is optionally used to power on / off the device by pressing the button and holding it in the pressed state for a predefined time interval; to lock the device by pressing the button and releasing it before the predefined time interval has elapsed; and / or to unlock the device or initiate an unlocking process. In another embodiment, device 100 also accepts voice input via microphone 113 for activating or deactivating certain functions. Device 100 also optionally includes one or more contact strength sensors 165 for detecting the intensity of contact on the touchscreen 112, and / or one or more haptic output generators 167 for generating haptic outputs for a user of device 100.

[0130] Figure 3This is a block diagram of an exemplary multifunctional device with a display and a touch-sensitive surface according to some embodiments. Device 300 need not be portable. In some embodiments, device 300 is a laptop, desktop computer, tablet computer, multimedia player device, navigation device, educational device (such as a children's learning toy), gaming system, or control device (e.g., a home controller or industrial controller). Device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, memory 370, and one or more communication buses 320 for interconnecting these components. The communication bus 320 optionally includes circuitry (sometimes referred to as a chipset) that interconnects system components and controls communication between system components. Device 300 includes an input / output (I / O) interface 330 with a display 340, which is typically a touchscreen display. The I / O interface 330 also optionally includes a keyboard and / or mouse (or other pointing device) 350 and a touchpad 355, and a haptic output generator 357 for generating haptic output on device 300 (e.g., similar to the reference above). Figure 1A The tactile output generator 167 and sensor 359 (e.g., optical sensor, accelerometer, proximity sensor, touch sensor and / or contact intensity sensor (similar to the above reference)) are described. Figure 1A The contact strength sensor 165 is mentioned above. The memory 370 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid-state memory devices; and optionally includes non-volatile memory, such as one or more disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. The memory 370 optionally includes one or more storage devices located remotely from the CPU 310. In some embodiments, the memory 370 stores information related to the portable multifunction device 100. Figure 1A The memory 370 stores programs, modules, and data structures similar to those in the memory 102 of the portable multifunction device 100, or subsets thereof. Additionally, the memory 370 optionally stores additional programs, modules, and data structures not present in the memory 102 of the portable multifunction device 100. For example, the memory 370 of the device 300 optionally stores a drawing module 380, a rendering module 382, ​​a word processing module 384, a website creation module 386, a disk editing module 388, and / or a spreadsheet module 390, while the portable multifunction device 100 (… Figure 1A The memory 102 may optionally not store these modules.

[0131] Figure 3Each of the elements described above is optionally stored in one or more memory devices of the previously mentioned memory devices. Each of the modules described above corresponds to an instruction set for performing the functions described above. The modules or computer programs described above (e.g., instruction sets or including instructions) need not be implemented as separate software programs (such as computer programs (e.g., including instructions)), processes, or modules, and therefore various subsets of these modules are optionally combined or otherwise rearranged in various embodiments. In some embodiments, memory 370 optionally stores a subgroup of the modules and data structures described above. In addition, memory 370 optionally stores additional modules and data structures not described above.

[0132] Now let’s turn our attention to the implementation of the user interface, which is optionally implemented on, for example, a portable multifunction device 100.

[0133] Figure 4A An exemplary user interface for an application menu on a portable multifunction device 100 according to some embodiments is shown. A similar user interface is optionally implemented on device 300. In some embodiments, user interface 400 includes the following elements or a subset or superset thereof: ● Signal strength indicator 402 for wireless communications such as cellular signals and Wi-Fi signals; ● Time 404; ● Bluetooth indicator 405; ● Battery status indicator 406; ● Tray icon 408 with icons for frequently used applications, such as: o The telephone module 138 has an icon 416 labeled "telephone", which optionally includes an indicator 414 indicating the number of missed calls or voicemail messages; o An icon 418 labeled "Mail" in the email client module 140, which optionally includes an indicator 410 for the number of unread emails; o The browser module 147's icon 420 labeled "Browser"; and o The video and music player module 152 (also known as the iPod module 152, a trademark of Apple Inc.) with an icon 422 labeled "iPod"; and ● Icons of other applications, such as: o IM module 141's icon 424 labeled "Message"; o Calendar module 148 has an icon 426 labeled "Calendar"; o Image management module 144 icon 428 labeled "Photo"; o The icon 430 of the camera module 143 is labeled "camera"; o The icon 432 of the online video module 155 is labeled "Online Video"; o The icon 434 labeled "Stock Market" in the Stock Market widget 149-2; o Map module 154's icon 436 labeled "map"; o Weather widget 149-1 with icon 438 labeled "Weather"; o Alarm clock widget 149-4 with icon 440 labeled "Clock"; o The icon 442 of the fitness support module 142 is labeled "fitness support"; o The icon 444 labeled "Notes" in the Notes module 153; and o The icon 446, labeled "Settings," is used to set up an application or module that provides access to settings for the device 100 and its various applications 136.

[0134] It should be pointed out that, Figure 4A The icon labels shown are merely exemplary. For example, icon 422 of video and music player module 152 is labeled "Music" or "Music Player". Other labels may be optionally used for various application icons. In some embodiments, the label of a particular application icon includes the name of the application corresponding to that particular application icon. In some embodiments, the label of a particular application icon is different from the name of the application corresponding to that particular application icon.

[0135] Figure 4B A touch-sensitive surface 451 (e.g., separate from the display 450 (e.g., touchscreen display 112)) is shown. Figure 3 Devices such as tablets or touchpads (e.g., 355) Figure 3 An exemplary user interface on the device 300. The device 300 also optionally includes one or more contact intensity sensors (e.g., one or more of the sensors 359) for detecting the intensity of contact on the tactile surface 451 and / or one or more tactile output generators 357 for generating tactile outputs for the user of the device 300.

[0136] While some examples of input on a reference touchscreen display 112 (which combines a touch-sensitive surface and a display) are given below, in some implementations the device detects input on a touch-sensitive surface separate from the display, such as... Figure 4B As shown in the diagram. In some embodiments, the touch-sensitive surface (e.g., Figure 4B 451) has a spindle (e.g., on the display (e.g., 450) with the spindle on the display (e.g., 451). Figure 4BThe spindle corresponding to 453 in the middle (e.g., Figure 4B (452 in the example). According to these embodiments, the device detects the position corresponding to the corresponding position on the display (e.g., in the example). Figure 4B In the diagram, 460 corresponds to 468 and 462 corresponds to 470) is in contact with the touch-sensitive surface 451 (e.g., Figure 4B (460 and 462 in the text). Thus, when the touch-sensitive surface (e.g., ...) Figure 4B 451 in the middle) and the display of a multi-functional device (e.g., Figure 4B When 450 is separated from the touch-sensitive surface, user input detected by the device on that touch-sensitive surface (e.g., touches 460 and 462 and their movement) is used by the device to manipulate the user interface on the display. It should be understood that similar methods may be optionally used for other user interfaces described herein.

[0137] Additionally, while the examples below are primarily given with reference to finger input (e.g., finger touch, single-finger tap, finger swipe), it should be understood that in some implementations, one or more of these finger inputs may be replaced by input from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture may optionally be replaced by a mouse click (e.g., instead of a touch), followed by movement of the cursor along the swipe path (e.g., instead of movement of the touch). Similarly, a tap gesture may optionally be replaced by a mouse click while the cursor is over the location of the tap gesture (e.g., instead of detection of touch, followed by cessation of touch detection). Likewise, when multiple user inputs are detected simultaneously, it should be understood that multiple computer mice may optionally be used simultaneously, or mouse and finger touch may optionally be used simultaneously.

[0138] Figure 5A An exemplary personal electronic device 500 is illustrated. Device 500 includes a body 502. In some embodiments, device 500 may include components relative to devices 100 and 300 (e.g., Figures 1A to 4B Some or all of the features described herein. In some embodiments, device 500 has a touch-sensitive display 504, referred to below as touchscreen 504. As an alternative to or complement to touchscreen 504, device 500 has a display and a touch-sensitive surface. Similar to devices 100 and 300, in some embodiments, touchscreen 504 (or touch-sensitive surface) optionally includes one or more intensity sensors for detecting the intensity of an applied contact (e.g., touch). The one or more intensity sensors of touchscreen 504 (or touch-sensitive surface) can provide output data representing the intensity of the touch. The user interface of device 500 can respond to touches based on the intensity of the touch, meaning that touches of different intensities can invoke different user interface operations on device 500.

[0139] Exemplary techniques for detecting and processing touch intensity are found, for example, in the following related patent applications: International Patent Application Serial No. PCT / US2013 / 040061, filed May 8, 2013, entitled “Device, Method, and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application,” published as WIPO Patent Publication No. WO / 2013 / 169849; and International Patent Application Serial No. PCT / US2013 / 069483, filed November 11, 2013, entitled “Device, Method, and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships,” published as WIPO Patent Publication No. WO / 2014 / 105276, each of which is incorporated herein by reference in its entirety.

[0140] In some embodiments, device 500 has one or more input mechanisms 506 and 508. Input mechanisms 506 and 508, if included, can be physical. Examples of physical input mechanisms include push-buttons and rotatable mechanisms. In some embodiments, device 500 has one or more attachment mechanisms. Such attachment mechanisms, if included, allow device 500 to be attached to, for example, hats, glasses, earrings, necklaces, shirts, jackets, bracelets, watch straps, bangles, trousers, belts, shoes, wallets, backpacks, etc. These attachment mechanisms allow a user to wear device 500.

[0141] Figure 5B An exemplary personal electronic device 500 is depicted. In some embodiments, device 500 may include a reference retrieval system. Figure 1A , Figure 1B and Figure 3Some or all of the components described herein. Device 500 has a bus 512 that operatively couples I / O portion 514 to one or more computer processors 516 and memory 518. I / O portion 514 may be connected to display 504, which may have touch-sensitive components 522 and optionally have an intensity sensor 524 (e.g., a contact intensity sensor). Furthermore, I / O portion 514 may be connected to 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 optionally be a rotatable input device or a pressable input device and a rotatable input device. In some examples, input mechanism 508 may optionally be a button.

[0142] In some examples, the input mechanism 508 is optionally a microphone. The personal electronic device 500 optionally includes various sensors, such as a GPS sensor 532, an accelerometer 534, an orientation sensor 540 (e.g., a compass), a gyroscope 536, a motion sensor 538, and / or combinations thereof, all of which are operatively connected to the I / O section 514.

[0143] 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, which, when executed by one or more computer processors 516, may cause the computer processors to perform the techniques described below, including processes 700 and 1000. Figures 7A to 7B and Figure 10 A computer-readable storage medium can be any medium that can tangibly contain or store computer-executable instructions for use by or in connection with an instruction execution system, apparatus, or device. In some examples, the storage medium is a transient computer-readable storage medium. In some examples, the storage medium is a non-transitory computer-readable storage medium. Non-transitory computer-readable storage media can 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 discs based on CD, DVD, or Blu-ray technology, and persistent solid-state storage such as flash memory, solid-state drives, etc. Personal electronic devices are not limited to... Figure 5B It can be the components and configurations, or it can include other components or additional components in a variety of configurations.

[0144] As used herein, the term "power indication" refers optionally to the power indication in devices 100, 300, and / or 500 ( Figure 1A , Figure 3 and Figures 5A to 5BA user-interactive graphical user interface object displayed on a screen. For example, images (e.g., icons), buttons, and text (e.g., hyperlinks) optionally each constitute a functional representation.

[0145] As used herein, the term "focus selector" refers to an input element used to indicate the current portion of a user interface with which a user is interacting. In some specific implementations that include a cursor or other positional 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), the cursor is positioned on a touch-sensitive surface (e.g., a...). Figure 3 The touchpad 355 or Figure 4B When an input (e.g., a press input) is detected on the touch-sensitive surface 451 of the display, the specific user interface element is adjusted according to the detected input. This applies to touchscreen displays (e.g., those capable of direct interaction with user interface elements on a touchscreen display) that enable direct interaction with user interface elements on the touchscreen display. Figure 1A The touch-sensitive display system 112 or Figure 4A In some embodiments of the touchscreen 112, a touch detected on the touchscreen acts as a "focus selector," such that when input (e.g., a press input by touch) is detected at the location of a particular user interface element (e.g., a button, window, slider, or other user interface element) on the touchscreen display, that particular user interface element is adjusted according to the detected input. In some embodiments, focus moves from one area of ​​the user interface to another without corresponding movement of the cursor or movement of a touch on the touchscreen display (e.g., moving focus from one button to another using tab keys or arrow keys); in these embodiments, the focus selector moves according to the movement of focus between different areas of the user interface. Regardless of the specific form the focus selector takes, the focus selector is typically a user-controlled user interface element (or a touch on the touchscreen display) that delivers the user-expected interaction with the user interface (e.g., by indicating to the device the element of the user interface that the user expects to interact with). For example, when a press input is detected on a touch-sensitive surface (e.g., a touchpad or touchscreen), the position of the focus selector (e.g., a cursor, touch, or selection box) above the corresponding button will indicate to the user that they expect to activate the corresponding button (rather than other user interface elements shown on the device's display).

[0146] As used in the specification and claims, the term "characteristic intensity" of a contact refers to a characteristic of the 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 over 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, before or after contact begins to move, before contact ends, before or after contact intensity is detected to increase, and / or before or after contact intensity decreases). The characteristic intensity of the contact is optionally based on one or more of the following: the maximum value of the contact intensity, the mean value of the contact intensity, the average value of the contact intensity, the value at the top 10% of the contact intensity, the half maximum value of the contact intensity, the 90% maximum value of the contact intensity, 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 contact intensity over time). In some implementations, the feature intensity is compared to a set of one or more intensity thresholds to determine whether the user has performed an action. For example, the set of one or more intensity thresholds may optionally include a first intensity threshold and a second intensity threshold. In this example, contact with a feature intensity not exceeding the first threshold results in a first action, contact with a feature intensity exceeding the first intensity threshold but not exceeding the second intensity threshold results in a second action, and contact with a feature intensity exceeding the second threshold results in a third action. In some implementations, a comparison between the feature intensity and one or more thresholds is used to determine whether to perform one or more actions (e.g., whether to perform the corresponding action or abandon its execution) rather than to determine whether to perform the first or second action.

[0147] Now let’s turn our attention to the implementation of user interfaces (“UIs”) on electronic devices, such as portable multifunction devices 100, 300 or 500, and the associated processes.

[0148] Figures 6A to 6K Exemplary user interfaces for managing patient health data are shown according to some implementation schemes. The user interfaces in these figures are used to illustrate [the following]. Figure 7A and Figure 7B The process described below is the process in the middle.

[0149] Figures 6A to 6KDevice 600 is shown that displays a user interface for managing a patient's health data on a display 601 (e.g., a display device or display generating component). In the embodiments depicted in the figures, the user interface on display 601 represents a user interface displayed to a doctor or healthcare provider, for example, for managing a patient's health data. In some embodiments, the user interface may be displayed on a different device, such as a laptop screen or monitor, and the user interface may be interacted with via touch input or other input devices, such as a cursor controlled using a touchpad, mouse, etc. In some embodiments, device 600 includes one or more features of devices 100, 300, or 500.

[0150] exist Figure 6A In the diagram, device 600 depicts a dashboard user interface 602 that displays an overall overview of the patient's (Mary Appleseed) health data. The dashboard UI 602 includes patient data 604, which includes the patient's name (e.g., MARY APPLESEED), date of birth (e.g., 1 / 2 / 81), and alphabetical combinations (such as visual representations corresponding to the patient, which in...). Figure 6A The system includes a circle containing the letter "MA", an indication of the most recent date / time at which patient records were added or synchronized (e.g., last synchronized at 4:28 PM), and representations of different data sources (e.g., smartwatches, smartphones, health apps) used to measure / collect / record / provide the patient's health data that will be presented on the dashboard UI 602. In some implementations, the different data sources are typically associated with an account that is different from the account associated with device 600. For example, different data sources are logged into a user account that is associated with the patient and separate from the account associated with device 600 (e.g., the healthcare provider's account). In some implementations, the patient's user account is authorized (e.g., authorized by the patient) to share the patient's health data with the account associated with device 600. In the implementations discussed herein, some of the patient's health data is based on biometric measurements obtained from one or more of the different data sources. Biometric data may include heart rate information, electrocardiogram (ECG) measurements, weight measurements, blood pressure readings, and menstrual data. Health data may include activity information, such as the amount of time a patient spends exercising, the amount of calories a patient burns, and the number of hours a patient is detected standing.

[0151] In some implementations, patient data 604 is optional for viewing additional patient details. Additional patient details associated with patient data 604 may be displayed in response to input on patient data 604 (e.g., tap, tap and hold, or hover gestures (e.g., using a cursor)). These additional patient details may be displayed as graphical elements extending from, for example, a combination of letters. The additional patient details may include health records provided by hospitals and health clinics, as well as data indicating the time when the data was last synchronized from the corresponding source of the health data.

[0152] The dashboard UI 602 includes optional tabs 606a-606c, which are optional to view additional patient health records. For example, the Laboratory tab 606b is optional to view and / or search detailed laboratory information for a patient, as described below relative to... Figures 6I to 6K To be discussed in more detail.

[0153] The dashboard UI 602 includes a patient overview banner 608, which provides a comprehensive view of patient data, including representations of measurements for various health metrics such as the patient's body mass index (BMI), exercise time, resting heart rate, blood pressure, and multiple health alerts (e.g., cardiac alerts such as high heart rate alert, low heart rate alert, and arrhythmia alert). For some health metrics, the representation of the measurement results includes an indication of the average measurement result of the health metric over the past year. Figure 6A The data is shown as a three-bar chart, representing the average measurement results corresponding to the most recent four weeks (shown as solid black bars), the average measurement results from the eight weeks prior to the four-week measurement (shown as shaded lines), and the average measurement results from the forty weeks prior to the eight-week measurement (shown as white bars). In some implementations, the representation of the measurement results in the patient overview banner 608 can be selected to display additional details of the selected health measure, such as those described below relative to... Figures 6B to 6H Those details are discussed in more detail. In some implementations, selecting the representation of the measurement results in the patient overview banner 608 will cause area 610 to scroll to the corresponding health measurement group, as described below relative to... Figure 6A The discussion.

[0154] The dashboard UI 602 also includes area 610, which contains groups of health metrics for different categories. For example, in Figure 6A In this context, area 610 includes activity metrics 612 and heart rate metrics 614. In some implementations, additional health metrics, such as ECG, weight, blood pressure, and menstrual cycle measurements, can be viewed via a scrolling dashboard UI 602.

[0155] Each metric group includes tiles containing data associated with the corresponding metric group, thus providing a summary of the data for the corresponding metric represented in overview banner 608. For example, activity metric 612 includes summary tile 612a, which includes an indication of the weekly average of exercise minutes recorded over the past four weeks, and an indication of the percentage of days during that four-week period and the first 40-week period where the patient exercised for more than the target amount of time (30 minutes in this example). Figure 6A As shown, Mary exercised for more than 30 minutes on 87% of the days in the past four weeks, and for 78% of the days in the first 40 weeks.

[0156] The activity metric 612 also includes coordinate plot tile 612b, which represents a coordinate plot of the activity data. Figure 6A In the diagram, tile 612b shows a coordinate graph of weekly exercise minutes over the past year.

[0157] Activity metric 612 includes calorie tile 612c, which represents data indicating the average calories Mary burned over the past four weeks and the first 40 weeks. Calorie tile 612c shows that Mary burned an average of 4,324 calories per week over the past four weeks and an average of 4,328 calories per week over the first 40 weeks. Calorie tile 612c also indicates the percentage of days Mary reached her goal of actively burning 510 calories. For example, Mary actively burned 510 calories on 88% of the days in the four-week period and 74% of the days in the first 40 weeks.

[0158] Activity metric 612 includes standing tiles 612d, which represent data indicating the average number of hours Mary stood during the past four-week period and the first 40-week period. Standing tiles 612d show that Mary stood for an average of eight hours a day during the four-week period and for an average of six hours a day during the first 40-week period. Standing tiles 612d also indicate the percentage of days Mary achieved her goal of standing for eight hours a day. For example, Mary stood for more than eight hours on 89% of the days during the four-week period and for 81% of the days during the first 40-week period.

[0159] Heart rate measurement 614 includes a heart rate profile tile 614a, which includes an indication of Mary's average resting heart rate recorded over the past four weeks, as well as an indication of her average heart rate during workouts over the four-week period and the preceding 40-week period. (As...) Figure 6AAs shown, Mary's average heart rate during workouts over the past four weeks was 156 BPM, and her average heart rate during workouts over the previous 40-week period was 132 BPM. Heart rate measurement 614 also includes a coordinate plot tile 614b, which displays a coordinate graph indicating Mary's heart rate measurements during the previous year.

[0160] Each profile tile in region 610 is optional to view additional details of the health metric associated with the selected profile tile. For example, in response to the detection of input 624 on the active profile tile 612a ( Figure 6A As shown), device 600 displays details of activity metrics in UI 625, such as... Figure 6B As shown. Details UI 625 includes additional details of the patient's health data corresponding to the selected health metric. For example, if Heart Rate Summary Tile 614a is selected, Details UI 625 displays additional details of the patient's health data for the heart rate health metric.

[0161] See now Figure 6B UI 625 shows additional details about the activity metric. Various details about the activity metric can be viewed by selecting tab 626. Figure 6B In the configuration, the Summary tab 626-1 is selected (e.g., by default), and the Details UI 625 includes coordinate graphs 628-1, 628-2, and 628-3, each representing various aspects of the patient's activity data (e.g., measurement outcomes). Data for each coordinate graph is displayed within a time variable (in this case, one year) selectable via time-based energy representations 630, including "All Time" energy representation 630-1, one-year energy representation 630-2, and four-week energy representation 630-3. Figure 6B In the example shown, a one-year energy representation 630-2 was selected. Therefore, each of these coordinate plots represents a measurement of activity data within a one-year time period (e.g., the most recent 52 weeks). Displaying each of these coordinate plots within the same time variable (timeline) allows for comparison of specific data points with different coordinate plots corresponding to common times along that coordinate plot, as discussed in more detail below.

[0162] Coordinate graph 628-1 represents the measurement results of Mary's daily activity calories burned last year. The coordinate graph data is represented by bars 632, which are visually distinguishable (e.g., using different variations in shading) to indicate specific subsets of the data. For example, bars 632-1 are shown in solid black and each represents the weekly average of Mary's daily activity calories burned in a given week during the preceding four-week period. Similarly, bars 632-2 are shown with shading and each represents the weekly average of Mary's daily activity calories burned in a given week during the eight-week period preceding the four-week period. Finally, bars 632-3 are shown without shading or shading (e.g., solid white) and each represents the weekly average of Mary's daily activity calories burned in a given week during the 40-week period preceding the eight-week period. Details UI 625 also includes representations of the averages of the bars that constitute specific subsets of the data in coordinate graph 628-1. For example, the average 634-1 indicates that the average of bar 632-1 is 1100, meaning that Mary burned an average of 1100 calories per day during the four-week period. Similarly, the average 634-2 indicates that the average of bar 632-2 is 999, and the average 634-3 indicates that the average of bar 632-3 is 775.

[0163] Plot 628-2 represents the measurement of Mary's daily exercise minutes last year (i.e., the year preceding the same year as the data in plot 628-1). The plot data is represented by bars 636, similar to bar 632. Bars 636-1 each represent the weekly average of Mary's daily exercise minutes over a given week during the preceding four-week period. Bars 636-2 each represent the weekly average of Mary's daily exercise minutes over a given week during the eight-week period preceding the four-week period. Bars 636-3 each represent the weekly average of Mary's daily exercise minutes over a given week during the 40-week period preceding the eight-week period. Details UI 625 also includes representations of the averages of the bars that constitute a specific subset of the data in plot 628-2. For example, average 638-1 indicates that the average of bar 636-1 is 140, meaning that Mary exercised an average of 140 minutes per day during the four-week period. Similarly, average 638-2 indicates that the average of bar 636-2 is 125, and average 638-3 indicates that the average of bar 636-3 is 110.

[0164] Plot 628-3 represents the measurement of Mary's daily standing hours last year (i.e., the year preceding the same year as the data in Plots 628-1 and 628-2). The plot data is represented by bar 639, similar to bars 632 and 636. Bar 639-1 each represents the weekly average of Mary's daily standing hours during a given week within the preceding four-week time period. Bar 639-2 each represents the weekly average of Mary's daily standing hours during a given week within the eight-week time period preceding the four-week time period. Bar 639-3 each represents the weekly average of Mary's daily standing hours during a given week within the 40-week time period preceding the eight-week time period.

[0165] The data in each graph is optional, allowing you to view additional details of the data represented by the selected graph, as well as additional details of the data represented by other graphs that were not directly selected and / or with which you did not directly interact. For example, in Figure 6C In this process, device 600 detects input 640 (e.g., a tap gesture, a tap and hold gesture, or a hover gesture) on bars 632-3a of coordinate graph 628-1. In response, device 600 displays detail bubbles 641-1, 641-2, and 641-3 (sometimes referred to as "lollipops"), each detail bubble corresponding to a data point in coordinate graphs 628-1, 628-2, and 628-3, respectively. Furthermore, each detail bubble corresponds to a data point in its respective coordinate graph that has the same value along the timeline as the selected data point (bar 632-3a) in coordinate graph 628-1. For example, detail bubble 641-1 corresponds to bar 632-3a, detail bubble 641-2 corresponds to bar 636-3a, and detail bubble 641-3 corresponds to bar 639-3a. Bars 632-3a, 636-3a, and 639-3a each correspond to the same point (e.g., week 40) along the one-year timeline of coordinate graphs 628-1, 628-2, and 628-3, respectively.

[0166] like Figure 6C As shown, detail bubbles 641-1, 641-2, and 641-3 are vertically aligned with each other and positioned outside their respective coordinate plots 628-1, 628-2, and 628-3. This allows the user to quickly associate each detail bubble with its corresponding coordinate plot, while also enabling simultaneous comparison of each dataset. In some implementations, these detail bubbles are displayed as vertically aligned and overlapping with the coordinate plots (e.g., ...). Figure 6D As shown in the figure, this makes the detail bubble adjacent to its corresponding bar. Figure 6DDetail bubbles 641-1, 641-2, and 641-3 are shown. These detail bubbles are displayed in response to input 642 on bar 632-3b and are positioned adjacent to the corresponding bars 632-3b, 636-3b, and 639-3b, respectively. Bubbles 641-1, 641-2, and 641-3 are... Figure 6D The details bubble is updated to reflect the values ​​of the data represented by the corresponding bars 632-3b, 636-3b, and 639-3b. This display can be generated to more closely correlate the details bubble with the corresponding bars, while also allowing simultaneous comparison of each dataset. Additionally, in some implementations, the corresponding bar and / or the area adjacent to the bar can be visually modified when one of the bars is selected. For example, the bar and / or the adjacent area can be highlighted, or the bar can be enlarged. Furthermore, the details bubble may include a tail (e.g., Figure 6D (641-1c, 641-2c and 641-3c at the end) or other graphic indicators that associate the corresponding detail bubbles with the corresponding bars. Figure 6D The positions of detail bubbles 641-1, 641-2, and 641-3 shown are alternative positions where the detail bubbles are positioned adjacent to and above the bars corresponding to their respective detail bubbles. Therefore, Figure 6C and Figures 6E to 6H The details bubble can also have... Figure 6D The location shown is similar to that of the previous location. Similarly, Figure 6D The detailed bubble shown can optionally have the same as... Figure 6C The location shown is similar to the location shown.

[0167] exist Figure 6C and Figure 6D In the illustrated implementation, the detail bubble includes a cumulative total value of activity data represented by its corresponding bar, as well as an indication of the time it took for the patient to reach a specific goal, represented by that bar. For example, detail bubble 641-1 includes a total value 641-1a, which is in Figure 6C The text indicates that Mary actively burned a total of 8529 calories during the week represented by bar 632-3a (e.g., week 40). Similarly, details are in bubble 641-1. Figure 6D The text shows that Mary actively burned a total of 9411 calories during the week represented by bar 632-3b (e.g., week 13). Detail bubble 641-1 also includes indication 641-1b, which shows that Mary achieved her goal of actively burning over 1000 calories per day during the six days of the week represented by bar 632-3a and the seven days of the week represented by bar 632-3b. Similarly, detail bubble 641-2 includes a total value 641-2a, which... Figure 6CThe instructions indicate that Mary exercised for a total of 452 minutes during the week represented by bar 636-3a (e.g., week 40), and... Figure 6D The instruction in detail bubble 641-2 indicates that Mary exercised a total of 473 minutes during the week represented by bar 636-3b (e.g., week 13). Detail bubble 641-2 also includes instruction 641-2b, which shows that Mary achieved her goal of exercising more than 30 minutes per day over six days of the week represented by bar 636-3a and seven days of the week represented by bar 636-3b. Detail bubble 641-3 includes total value 641-3a, which... Figure 6C The text indicates that Mary stood for at least a predetermined amount of time per hour during the week (e.g., week 40) represented by bar 639-3a, for a total of 85 hours, and... Figure 6D The instruction indicates that Mary stood for at least a predetermined amount of time per hour during the week represented by bar 639-3b (e.g., week 13) for a total of 81 hours. Details bubble 641-3 also includes instruction 641-3b, which shows that Mary stood for at least a predetermined amount of time per hour during the six days of the week represented by bar 639-3a and the six days of the week represented by bar 639-3b, and that each day lasted for more than 12 hours.

[0168] like Figure 6C and Figure 6D As shown, by selecting a bar for a specific week, users can view details of different datasets for that week (displayed as different detail bubbles), even if the data corresponds to different coordinate graphs. Furthermore, this selection can be made in any of these coordinate graphs, and corresponding detail bubbles can be displayed for multiple coordinate graphs (e.g., all three).

[0169] For example, in Figure 6D In response to input 642 on bar 632-3b in coordinate graph 628-1, detail bubbles 641-1, 641-2, and 641-3 are updated, as discussed in more detail above. Figure 6E In the coordinate graph 628-2, device 600 detects input 644 on bar 636-3a, which corresponds to the same cycle (e.g., cycle 40) as bars 632-3a and 639-3a. Therefore, device 600 displays a display with... Figure 6C The same detail bubbles 641-1, 641-2, and 641-3 are shown, even though input is detected on different bars of different coordinate graphs (bar 636-3a of coordinate graph 628-2, but not bar 632-3a of coordinate graph 628-1). Therefore, in response to detecting input on bar 639-3a of coordinate graph 628-3, device 600 also displays items with the same details as shown in the image. Figure 6C and Figure 6EThe same details are shown in detail bubbles 641-1, 641-2, and 641-3.

[0170] See now Figure 6F Device 600 detects input 646 (e.g., a tap input) on the four-week indicator 630-3 and, in response, updates coordinate graphs 628-1, 628-2, and 628-3 based on the selected four-week time variable, as follows. Figure 6G As shown.

[0171] like Figure 6G As shown, coordinate graphs 628-1, 628-2, and 628-3 are updated based on a selected four-week time variable, where each bar in each graph represents measurement data for one day within the four-week time period. Therefore, each bar 648 in coordinate graph 628-1 represents the measurement of daily activity calories on a specific day during the most recent four-week time period. Similarly, each bar 650 in coordinate graph 628-2 represents the number of daily exercise minutes on a specific day during the most recent four-week time period. Finally, each bar 652 in coordinate graph 628-3 represents the number of daily standing hours on a specific day during the most recent four-week time period.

[0172] exist Figure 6G In the process, device 600 detects input 654 on bar 650-1 of coordinate graph 628-2, and in response, displays detail bubbles 656-1, 656-2, and 656-3 corresponding to the data represented by bars 648-1, 650-1, and 652-1, respectively. Figure 6G In the example shown, detail bubbles 656-1, 656-2, and 656-3 include the date of the corresponding data (e.g., Thursday, February 20th), an indication of the measurement data, an indication of the source of the measurement data (e.g., a smartwatch), and an indication of whether the patient's goal was achieved on that particular day. For example, detail bubble 656-1 indicates that Mary burned 1100 calories on February 20th, which met her goal of burning 1000 calories a day, as indicated by checkmark 657. Watch icon 658 indicates that Mary's smartwatch measured this data. Similarly, detail bubble 656-2 indicates that Mary exercised for 150 minutes on February 20th, which met her goal of exercising for at least 30 minutes that day (this data was measured using her smartwatch). Detail bubble 656-3 indicates that Mary's watch detected that she stood for 14 hours on February 20th, which met her goal of standing for at least 12 hours.

[0173] Figure 6H The detailed UI 625 is shown when the "All Time" display is selected (630-1), and input 660 is detected on bar 662-1 of coordinate graph 628-1. Figure 6HIn each coordinate graph, each bar represents measurement data for one month out of the total time period for which measurement data exists (e.g., three years in the current example). Therefore, each bar 662 in coordinate graph 628-1 represents the measurement of daily activity calories for a specific month. Similarly, each bar 664 in coordinate graph 628-2 represents the number of daily exercise minutes for a specific month, and each bar 666 in coordinate graph 628-3 represents the number of daily standing hours for a specific month.

[0174] exist Figure 6H In the process, device 600 detects input 660 on bar 662-1 of coordinate graph 628-1, and in response, displays detail bubbles 670-1, 670-2, and 670-3 corresponding to the data represented by bars 662-1, 664-1, and 666-1, respectively. Figure 6H In the examples shown, detail bubbles 670-1, 670-2, and 670-3 include weekly averages of the corresponding data and indications of the number of days in a month the patient achieved their associated goals for that data. For example, detail bubble 670-1 indicates that Mary burned an average of 9201 calories per week in the month corresponding to bar 662-1, and that she achieved her goal of burning 1000 calories per day on 28 out of the 31 days of that month. Detail bubble 670-2 indicates that Mary exercised an average of 770 minutes per week, and that she achieved her goal of exercising for at least 30 minutes on 28 out of the 31 days of that month. Detail bubble 670-3 indicates that Mary stood for an average of 77 hours per week, and that she achieved her goal of standing for at least a predetermined amount of time per hour for more than 12 hours a day on 28 out of the 31 days of that month.

[0175] As shown in the accompanying figures and discussed above, the content of the coordinate graph and each detail bubble depends in some cases on the selected time variable and available data for the coordinate graph. For example, when the time variable is "one year," each bar in the corresponding coordinate graph represents a specific week within the previous 52 weeks, the data in the detail bubble corresponds to the cumulative total of the data represented by the corresponding bar, and the detail bubble includes indications of whether various targets were met in the specific week (e.g., such as...). Figure 6C (As shown). When the time variable is "all time", each bar in the corresponding coordinate graph represents a specific month, the data in the detail bubble corresponds to the weekly average of the data represented by the corresponding bar, and the detail bubble includes indications of whether various targets were met in the specific month (e.g., as shown). Figure 6H As shown). When the time variable is "four weeks", each bar in the corresponding coordinate graph represents a specific day within the past four weeks. The data in the detail bubbles includes indications of the source of the measurement data, and the detail bubbles include indications of whether various targets were met on the specific day (e.g., as shown). Figure 6G(As shown). The values ​​associated with the corresponding coordinate graphs and bars represent available data, and therefore these values ​​can be changed based on the amount of available data and the measurement results represented by the available data.

[0176] See now Figure 6I Device 600 displays Lab UI 675, which responds to... Figure 6A The input is displayed on the Laboratory tab 606b. The Laboratory UI 675 includes representations of individual test results from different laboratory tests. In some cases, the test results provide visual indications of the acceptable range of test result values ​​(e.g., measurement results) (e.g., ranges 676, 678, and 680) and indications of the measured test result value (e.g., icons 682, 684, and 686). Figure 6I As shown, test result values ​​(e.g., icon 686) may be displayed outside an acceptable range (e.g., range 680) to provide a visual indication of how much a particular test result value deviates from the acceptable range. In some embodiments, the representation of test result values ​​outside the acceptable range (e.g., icon 686) may be visually distinguished from the representation of other test result values, for example, by displaying the representation of the test result values ​​in different colors.

[0177] Laboratory results can be filtered and sorted by selecting different energy representations. For example, the "All Laboratories" energy representation can be selected to display a list of all available measurements (e.g., alphabetically). Alternatively, the "Laboratories Out of Range" energy representation can be selected to display only laboratories with measurements outside the acceptable range (e.g., including measurements outside the range and dates on the range coordinate graph). In some implementations, search box 687 can be used to search for individual laboratory results.

[0178] Figure 6IThis also includes kit indicator 689, which can be selected to view various test kits. In some embodiments, the test kit associated with each kit indicator 689 is not necessarily a test kit existing in the patient's medical records (e.g., a single, discrete test kit), but rather a kit temporarily created by identifying various test results recorded in the patient's medical history and using the test data to generate various kits, which are typically constructed using tests identified in the patient's medical data. In some embodiments, these kits are generated using a system or computer program associated with the laboratory UI 675 and operating at least partially at device 600. For example, the system receives the patient's medical records, identifies test results in the patient's medical records, identifies a set of kits that can be generated using the test results, generates these kits, and displays kit indicator 689, each indicator associated with a different kit generated using the patient's medical data.

[0179] exist Figure 6J In response to the selection of the metabolic suite display 689-1, the laboratory UI 675 is replaced with the metabolic suite UI 688. The metabolic suite UI 688 displays the generated metabolic suite as discussed above, which includes a set of biometric measurements arranged in a tabular pattern, such as... Figure 6J As shown. Scrollable. Figure 6J The table view in the UI 688 allows viewing all available measurements that constitute the generated metabolic suite. The metabolic suite UI 688 also includes a set of patterned view displays 690, which can optionally rearrange the displayed patterns of the biometric measurements constituting the generated metabolic suite. Figure 6J In the table view, 690-1 was selected, and therefore... Figure 6J The biometric results are arranged in a tabular view as shown. Other patterns include bullet points, charts, and fishbone diagrams. The fishbone pattern representation 690-2 is an optional fishbone pattern arrangement to switch to the biometric results constituting the generated metabolic suite, such as... Figure 6K As shown.

[0180] exist Figure 6K In the middle, update the metabolic kit UI 688 so that the biometrics results of the generated metabolic kit are rearranged into a fishbone schematic pattern in response to the selection of the fishbone pattern display 690-2. Figure 6K The fishbone diagram 692 shows the fishbone pattern in the diagram. Figure 6J The tables contain the same biometric data (e.g., data for the same specific time period), but are arranged using a fishbone diagram. In some implementations, Figure 6KThe fishbone pattern in the diagram shows a predetermined number of measurements of a predetermined type (such as those used to generate metabolic kits), and therefore cannot be scrolled to view all available measurements.

[0181] exist Figure 6K In this context, the metabolic suite UI 688 also includes a representation 693 of other types of measurements not included in the fishbone diagram (e.g., measurements not used to generate the metabolic suite but which would otherwise be available in the patient's medical data). In some embodiments, either the fishbone diagram 692 or any representation 693 may be selected to display a separate panel (e.g., a pop-up UI element) for each measurement, including a visual indication of the current measurement within a defined range. In some embodiments, the panel of measurements included in the fishbone diagram is shown before other panels or arranged with priority (e.g., first in the presentation order).

[0182] In some implementations, it can be rolled Figure 6K The metabolic kit 688 allows viewing different fishbone diagrams for different test days (e.g., in order from most recent to oldest). In some embodiments, the fishbone diagram 692 includes indications of measurement types (e.g., "BUN", "sodium") outside of acceptable ranges (e.g., acceptable measurement ranges). In some embodiments, when a measurement type in the fishbone diagram 692 is selected (or hovered over), the device 600 displays a detailed view (e.g., a pop-up window) of the data associated with that measurement type, and in some cases includes changes in the measurement results over time (e.g., in a chart view). In some embodiments, the detailed view of the data associated with that measurement type includes a list (or at least a partial list) of past measurement results showing the date / time of each past measurement and the location of each past measurement (e.g., a hospital or clinic).

[0183] Figure 7A and Figure 7B This is a flowchart illustrating a method for managing patient health data using an electronic device according to some embodiments. Method 700 is performed at a computer system (e.g., 100, 300, 500, 600) (e.g., smartphone, tablet, laptop) communicating with a display generating component (e.g., 601) (e.g., display controller, touch-sensitive display system) and one or more input devices (e.g., touch-sensitive surfaces). Some operations in method 700 may be optionally combined, some operations may be optionally changed in order, and some operations may be optionally omitted.

[0184] In some embodiments, the electronic device (e.g., 600) includes a computer system. The computer system optionally communicates with a display generating component and one or more input devices (e.g., wired communication, wireless communication). The display generating component is configured to provide visual output, such as a display via a CRT monitor, a display via an LED monitor, or a display via image projection. In some embodiments, the display generating component is integrated with the computer system. In some embodiments, the display generating component is separate from the computer system. One or more input devices are configured to receive input, such as a touch-sensitive surface that receives user input. In some embodiments, one or more input devices are integrated with the computer system. In some embodiments, one or more input devices are separate from the computer system. Therefore, the computer system can transmit data (e.g., image data or video data) via wired or wireless connections to an integrated or external display generating component to visually generate content (e.g., using a display device), and can receive input from one or more input devices via wired or wireless connections.

[0185] As described below, method 700 provides an intuitive way to manage patient health data. This method reduces the cognitive burden on users managing patient health data, thereby creating a more efficient human-computer interface. For battery-powered computing devices, it enables users to manage patient health data more quickly and efficiently, saving power and increasing the time between battery charging sessions.

[0186] In method 700, a computer system (e.g., 600) displays (702) multiple graphical representations (e.g., 628-1, 628-2, 628-3) of data via a display generation component (e.g., 601) (e.g., charts (e.g., pie charts, radar charts) and / or coordinate graphs (e.g., line graphs, scatter plots, bar charts)). The multiple graphical representations of the data include a first graphical representation (e.g., 628-1) of data corresponding to a first dataset (e.g., 632) (e.g., data measuring daily activity calories, weight data) and a second graphical representation (e.g., 628-2) of data corresponding to a second dataset different from the first dataset (e.g., 636) (e.g., measurement data different from the first measurement data; data measuring daily exercise minutes). In some embodiments, the second graphical representation does not overlap with the first graphical representation. In some embodiments, the second graphical representation is separate from the first graphical representation.

[0187] In method 700, the computer system (e.g., 600) detects (704) a first input (e.g., 640; 644; 654; 660) corresponding to a first graphical representation (e.g., 628-1) of the data via the one or more input devices (e.g., 601). This input may be a hover gesture (e.g., using a cursor; a tap and hold gesture). In some embodiments, the first input corresponds to (e.g., pointing to) a location within the first graphical representation of the data and outside the second graphical representation of the data.

[0188] In response to detecting a first input (e.g., 640; 644; 654; 660) corresponding to a first graphical representation of the data, a computer system (e.g., 600) displays (706) a plurality of user interface objects (e.g., 641-1 to 641-3; 656-1 to 656-3; 670-1 to 670-3) (e.g., graphical representation, detail bubble, lollipop, pop-up window and / or annotation bubble; a first plurality of user interface objects). The plurality of user interface objects includes (708) a first user interface object (e.g., 641-1; 656-1; 670-1) associated with a first graphical representation of the data (e.g., 628-1) and based on a first variable (e.g., a value along a first axis of the graphical representation (e.g., a specific week along a time axis) (e.g., as relative to...). Figure 6C The 40th week under discussion (e.g., as relative to) Figure 6G The specific day in question (e.g., February 20th) (e.g., relative to...) Figure 6H (The specific month under discussion), the first variable is selected based on the position of the first input.

[0189] Based on determining that the first input corresponds to a first position in a first graphical representation of the data (e.g., a position along a first axis or two or more axes) (e.g., input 640 on bars 632-3a of coordinate graph 628-1), a first user interface object (e.g., 641-1) includes (710) a representation (e.g., 641-1a) of a first subset of a first dataset associated with a first variable (e.g., selected based on the first variable) (e.g., a first subset of data measuring daily activity calories for a week associated with the user interface object) (e.g., graphical and / or textual representation). In some embodiments, the graphical representation of the data is a coordinate graph (e.g., a bar graph) of the data having x-axis and y-axis, and the first user interface object includes a representation of x and / or y values ​​corresponding to the position of the first input.

[0190] Based on the determination that the first input corresponds to a second position in the first graphical representation of the data that is different from the first position (e.g., different along at least one axis) (e.g., input 660 on bar 662-1 of coordinate graph 628-1), the first user interface object (e.g., 670-1) includes (712) a representation (e.g., the contents of detail bubble 670-1) of a second subset of the first dataset that is associated with the first variable and is different from the first subset of the first dataset (e.g., does not include the first subset or a subset that does not overlap with the first subset).

[0191] In response to detecting a first input (e.g., 640; 644; 654; 660) corresponding to a first graphical representation of the data, a computer system (e.g., 600) displays the plurality of user interface objects (e.g., 641-1 to 641-3; 656-1 to 656-3; 670-1 to 670-3) (e.g., graphical representation, detail bubble, lollipop, pop-up window, and / or annotation bubble), including (714) a second user interface object (e.g., 641-2; 656-2; 670-2) associated with a second graphical representation of the data (e.g., 628-2) and based on a second variable (e.g., a first variable (in some embodiments, the second variable is the same as the first variable)) (e.g., as relative to...). Figure 6C The 40th week under discussion (e.g., as relative to) Figure 6G The specific day in question (e.g., February 20th) (e.g., relative to...) Figure 6H (The specific month under discussion), the second variable is selected based on the position of the first input.

[0192] Based on determining that the first input corresponds to a first position in a first graphical representation of the data (e.g., input 640 on bars 632-3a of coordinate graph 628-1), a second user interface object (e.g., 641-2) includes (716) a representation (e.g., 641-2a) of a first subset of a second dataset associated with a second variable (e.g., a first subset of data measuring the number of daily exercise minutes per week associated with the user interface object). Displaying the second user interface object, including the representation of the first subset of the second dataset associated with the second variable, based on determining that the first input corresponds to a first position in the first graphical representation of the data, provides feedback to the user of the computer system that the first subset of the second data associated with the second variable corresponds to the value of the second variable based on the selected position in the first graphical representation of the data (e.g., the value of the second variable corresponding to the relative position of the second graphical representation of the data at the same selected position in the first graphical representation of the data). A second user interface object is displayed based on determining that the first input corresponds to a first position in the first graphical representation of the data. This object includes a representation of a first subset of a second dataset associated with a second variable. Furthermore, by automatically displaying the second user interface object when the first input corresponds to the first position, the amount of input required to display the corresponding second user interface object of the second graphical representation of the data is reduced, thereby eliminating the need for subsequent selection of the second graphical representation of the data. This also ensures that the second user interface object accurately corresponds to the selected position in the first graphical representation of the data by eliminating human error that may occur due to inaccurate selection of the corresponding position in the second graphical representation of the data. Providing improved feedback, reducing the amount of input at the computer system, and performing operations without further input when a set of conditions is met enhances the operability of the computer system and makes the user-system interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the computer system). This, in turn, reduces power consumption and extends the battery life of the computer system by enabling users to use the system more quickly and efficiently.

[0193] Based on the determination that the first input corresponds to a second position in the first graphical representation of the data that is different from the first position (e.g., input 660 on bar 662-1 of coordinate graph 628-1), a second user interface object (e.g., 670-2) includes (718) a representation (e.g., the contents of detail bubble 670-2) of a second subset of the second dataset associated with the second variable and different from the first subset of the second dataset (e.g., a second subset of data measuring the number of daily exercise minutes per week associated with the user interface object). By displaying the second user interface object, which includes a representation of the second subset of the second dataset associated with the second variable, based on the determination that the first input corresponds to the second position in the first graphical representation of the data, feedback is provided to the user of the computer system that the second subset of the second data associated with the second variable corresponds to the value of the second variable based on the selected position in the first graphical representation of the data (e.g., the value of the second variable corresponding to the relative position of the second graphical representation of the data at the same selected position in the first graphical representation of the data). A second user interface object is displayed based on determining that the first input corresponds to a second position in the first graphical representation of the data. This object includes a representation of a second subset of a second dataset associated with a second variable. Furthermore, by automatically updating the second user interface object when the first input corresponds to the second position, the amount of input required to display the corresponding second user interface object for updating the second graphical representation of the data is reduced, thereby eliminating the need for subsequent selection of the second graphical representation of the data. This also ensures that the second user interface object accurately corresponds to the selected position in the first graphical representation of the data by eliminating potential human error caused by inaccurate selection of the corresponding position in the second graphical representation of the data. Providing improved feedback, reducing the amount of input at the computer system, and performing operations without further input when a set of conditions is met enhances the operability of the computer system and makes the user-system interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the computer system). This, in turn, reduces power consumption and extends the battery life of the computer system by enabling users to use the system more quickly and efficiently.

[0194] In some implementations, displaying the plurality of user interface objects includes displaying a first user interface object (e.g., 641-1) positioned relative to a first graphical representation of the data (e.g., 628-1) (e.g., and a second graphical representation of the data) (e.g., separated from the graphical representation (e.g., spaced apart from the graphical representation; outside the boundaries of the graphical representation; and / or not overlapping with the graphical representation)), and displaying a second user interface object (e.g., 641-2) positioned relative to a second graphical representation of the data (e.g., 628-2) (e.g., and the first graphical representation of the data) (e.g., separated from the graphical representation (e.g., spaced apart from the graphical representation; outside the boundaries of the graphical representation; and / or not overlapping with the graphical representation)). Displaying the first user interface object positioned relative to the first graphical representation of the data and displaying the second user interface object positioned relative to the second graphical representation of the data provides feedback to the user of the computer system that multiple representations of the data will be presented and also allows for sequential viewing of the first user interface object and the second user interface object having the first graphical representation and the second graphical representation of the data. Providing improved feedback enhances the operability of the computer system and makes the user-system interface more efficient (e.g., by helping users provide appropriate input and reducing user errors when operating / interacting with the computer system), which in turn reduces power consumption and extends the battery life of the computer system by enabling users to use the system more quickly and efficiently.

[0195] In some embodiments, displaying the plurality of user interface objects includes displaying a first user interface object (e.g., 641-1) and a second user interface object (e.g., 641-2), which have the same position along an axis (e.g., the first user interface object has the same position as the second user interface object) (e.g., the same position along the x-axis and different positions along the y-axis). Displaying the first and second user interface objects with the same position along the axis provides feedback to the user of the computer system that, just as the second user interface object corresponds to the relative position of a second graphical representation of the data, the first user interface object also corresponds to the same relative position of a first graphical representation of the data, while also allowing for sequential viewing of the first and second graphical representations. Providing improved feedback enhances the operability of the computer system and makes the user-system interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the computer system), which in turn reduces power consumption and extends the battery life of the computer system by enabling the user to use the system more quickly and efficiently. In some embodiments, the first and second user interface objects are displayed with vertical alignment. In some implementations, the first graphical representation of the data and the second graphical representation of the data are aligned with the axis (e.g., the axis that displays the generated component; the x-axis or y-axis) (e.g., the edges of each graphical representation are aligned (e.g., the right edge, the left edge).

[0196] In some implementations, the second variable is the first variable. In some implementations, the variable (e.g., its value or position along a time axis (e.g., the week in a graphical representation of data divided into weeks) is common to both the first and second graphical representations of the data.

[0197] In some implementations, the first and second variables are time-based variables (e.g., the first variable is time, and the second variable is also time). In some implementations, the time variable is the length of time for which a specific amount of time is measured (e.g., three years, one year, the current year, one month, four weeks). In some implementations, the time variable is the total amount of time for which data is recorded / collected (“all time”).

[0198] In some embodiments, the representation of a first subset of the first dataset (e.g., 641-1a) (e.g., or a representation of a second subset of the first dataset) includes the total value (e.g., cumulative and / or total value) of the first subset of the first dataset determined (e.g., calculated) within a first time subset (e.g., a week) (e.g., the total number of daily activity calories burned). In some embodiments, the representation of a first subset of the second dataset (e.g., 641-2a) (e.g., or a representation of a second subset of the second dataset) includes the total value (e.g., the total number of daily exercise minutes) of the first subset of the second dataset determined (e.g., calculated) within a second time subset (e.g., the first time subset; e.g., a week; a month). In some embodiments, the first time subset is determined based on the current time range corresponding to the first dataset (e.g., four weeks; a year; all time) (e.g., the amount of time for which data is represented for the first dataset) (e.g., the year indicated as chosen by energy representation 630-2). In some implementations, the second time subset is determined based on the current time range corresponding to the second dataset (e.g., four weeks; one year; all time; the current time range corresponding to the first dataset) (e.g., the amount of time representing the data for the second dataset) (e.g., the year indicated by the chosen year representation 630-2). In some implementations, the first / second time subset is determined based on the current time range. For example, if the current time range is "all time," then the first / second time subset is one month (e.g., 31 days). As another example, if the current time range is one year, then the first / second time subset is one week. As yet another example, if the current time range is four weeks, then the first / second time subset is one day.

[0199] In some implementations, a representation of a first subset of the first dataset (e.g., or a representation of a second subset of the first dataset) includes the average of the first subset of the first dataset determined (e.g., calculated) within a third time subset (e.g., a week; a month) (e.g., the average daily activity calories burned). Figure 6H See details in bubble 670-1). In some implementations, the representation of the first subset of the second dataset (e.g., or the representation of the second subset of the second dataset) includes the average of the first subset of the second dataset determined (e.g., calculated) within a fourth time subset (e.g., a third time subset; e.g., a week; a month) (e.g., the average number of minutes of exercise per day). Figure 6H(See details in bubble 670-2). In some implementations, the third and fourth time subsets are determined based on the current time range (e.g., four weeks; one year; all time) corresponding to the first and second datasets (e.g., the amount of time representing the data for the first and / or second datasets). In some implementations, the first / second time subset is determined based on the current time range. For example, if the current time range is "all time," then the first / second time subset is one month (e.g., 28 days, 30 days, or 31 days). As another example, if the current time range is one year, then the first / second time subset is one week. As yet another example, if the current time range is four weeks, then the first / second time subset is one day.

[0200] In some implementations, the computer system (e.g., 600) detects a third input (e.g., 654) corresponding to a first graphical representation of the data (e.g., or a second graphical representation of the data (e.g., 628-2)) via one or more input devices (e.g., 601) (e.g., the third input is detected when the current time range for presenting the data for the first and second datasets is a certain value (e.g., one week, two weeks, four weeks)). In response to the detection of the third input, the computer system displays a first graphical indication (e.g., 658) of the source associated with the first dataset (e.g., a graphical representation of a smartwatch) (e.g., displaying the first graphical indication of the source instead of the average of a first subset of the first dataset). Displaying the first graphical indication of the source associated with the first dataset provides feedback to the user of the computer system regarding the use of the source to collect the first dataset. Providing improved feedback enhances the operability of the computer system and makes the user-system interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the computer system), which in turn reduces power consumption and extends the battery life of the computer system by enabling the user to use the system more quickly and efficiently.

[0201] In response to the detection of a third input, the computer system displays a second graphical indication of the source associated with the second dataset (e.g., a graphical representation of a smartwatch) (e.g., a watch icon in detail bubble 656-2 (similar to icon 658)) (e.g., displaying the second graphical indication of the source instead of the average of the first subset of the second dataset). Displaying the second graphical indication of the source associated with the second dataset provides feedback to the user of the computer system regarding the use of that source to collect the second dataset. Providing improved feedback enhances the operability of the computer system and makes the user-system interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the computer system), which in turn reduces power consumption and extends the battery life of the computer system by enabling the user to use the system more quickly and efficiently. In some embodiments, when the current time range for presenting data to the first dataset is a specific value (such as four weeks), the representation of the first subset of the first dataset does not include the average of the first subset of the first dataset. In some embodiments, the representation of the first subset of the first dataset instead includes a representation of the device (e.g., a smartwatch) currently / previously used to obtain (e.g., measure) the first dataset. Similarly, in some implementations, when the current time range is a specific value (e.g., four weeks), the representation of the first subset of the second dataset instead includes the representation of the device currently / previously used to obtain the second dataset.

[0202] In some implementations, a first dataset (e.g., 632-3a) corresponds to a fifth time subset (e.g., a week; a month), and a second dataset (e.g., 636-3a) corresponds to a sixth time subset (e.g., the fifth time subset; a week; a month). In some implementations, the representation of the first subset of the first dataset (e.g., 641-1) (e.g., or the representation of the second subset of the first dataset) includes an indication (e.g., the number of days in the week; the number of days in the month) of a first portion of the fifth time subset where measurements of the first subset of the first dataset (e.g., measurements of daily activity calories burned) exceed a first predetermined threshold (e.g., 900 calories; 1000 calories; 1200 calories) (e.g., 641-1b) (e.g., "there were 6 days with more than 1000 calories per day"; "28 out of 31 days had more than 1000 calories per day"). In some implementations, the representation of a first subset of the second dataset (e.g., 641-2) (e.g., or the representation of a second subset of the second dataset) includes an indication (e.g., the number of days in the week; the number of days in the month) of a first portion of a sixth time subset (e.g., the number of days in the week; the number of days in the month) where measurements of the first subset of the second dataset (e.g., the number of days in the day) exceed a second predetermined threshold (e.g., 15 minutes; 30 minutes; one hour) (e.g., 641-2b) (e.g., "6 days exceeded 30 minutes"; "28 out of 31 days exceeded 30 minutes").

[0203] In some implementations, the first and second variables have a first value (e.g., the year indicated by the selected year display 630-2) (e.g., the currently selected value of the time range; e.g., one year, four weeks, all time). In some implementations, the computer system (e.g., 600) detects an input (e.g., 646) corresponding to a request to adjust the values ​​of the first and second variables via the one or more input devices (e.g., 601) (e.g., a single input; a single input on a single optional user interface object (e.g., the selection of the "current year" or "current week" display)). In response to detecting an input corresponding to a request to adjust the values ​​of the first and second variables, and based on determining that the input corresponds to a first request to adjust the first and second variables (e.g., the selection of a value of the time range; e.g., one year, four weeks, all time), the computer system changes the first value of the first and second variables to a second value different from the first value (e.g., changing the first and second variables from a value of one year to a value of four weeks). Based on the determination that the input corresponds to a first request to adjust the first and second variables, the first values ​​of the first and second variables are changed to a second value different from the first value. By eliminating the need to separately select the second value of the first and second variables, the amount of input required to set the values ​​of the first and second variables to the second value is reduced. Reducing the amount of input required to perform the operation enhances the operability of the computer system and makes the user-system interface more efficient (e.g., by helping users provide appropriate input and reducing user errors when operating / interacting with the computer system). This, in turn, reduces power consumption and extends the battery life of the computer system by enabling users to use the system more quickly and efficiently.

[0204] In response to detecting an input corresponding to a request to adjust the values ​​of the first and second variables, and based on determining that the input corresponds to a second request to adjust the first and second variables (e.g., selection of a time range value; e.g., one year, four weeks, all time), the first value of the first and second variables is changed to a third value different from the first and second values ​​(e.g., changing the first and second variables from a value for four weeks (or one year) to a value for all time, such as...). Figure 6H(As shown). Based on the determination that the input corresponds to a second request to adjust the first and second variables, the first values ​​of the first and second variables are changed to a third value different from the first and second values. By eliminating the need to separately select the third value of the first and second variables, the amount of input required to set the values ​​of the first and second variables to the third value is reduced. Reducing the amount of input required to perform the operation enhances the operability of the computer system and makes the user-system interface more efficient (e.g., by helping users provide appropriate input and reducing user errors when operating / interacting with the computer system). This, in turn, reduces power consumption and extends the battery life of the computer system by enabling users to use the system more quickly and efficiently.

[0205] In some implementations, displaying a first user interface object (e.g., 641-1) includes replacing the display of a portion of a first graphical representation of the data (e.g., 628-1) with at least a portion of the first user interface object (e.g., the first user interface object is a pop-up window overlaid on a portion of the first graphical representation of the data). Replacing the display of a portion of the first graphical representation of the data with at least a portion of the first user interface object provides feedback to the user of the computer system that the displayed first user interface object corresponds to a first dataset. Providing improved feedback enhances the operability of the computer system and makes the user-system interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the computer system), which in turn reduces power consumption and extends the battery life of the computer system by enabling the user to use the system more quickly and efficiently.

[0206] In some implementations, displaying a second user interface object (e.g., 641-2) includes replacing the display of a portion of a second graphical representation of the data (e.g., 628-2) with at least a portion of the second user interface object (e.g., the second user interface object is a pop-up window overlaid on a portion of the second graphical representation of the data). Replacing the display of a portion of the second graphical representation of the data with at least a portion of the second user interface object provides the user of the computer system with feedback that the displayed second user interface object corresponds to a second dataset. Providing improved feedback enhances the operability of the computer system and makes the user-system interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the computer system), which in turn reduces power consumption and extends the battery life of the computer system by enabling the user to use the system more quickly and efficiently.

[0207] In some implementations, the first user interface object is displayed at an initial position having a first graphical representation of the data (e.g., Figure 6CThe position of detail bubble 641-1 in the diagram (e.g., adjacent to or covering a portion of the first coordinate graph and determined based on the position of the first input on the first coordinate graph), and the second user interface object is displayed with an initial position having a second graphical representation relative to the data (e.g., Figure 6C The position of detail bubble 641-2 in the diagram (e.g., adjacent to or covering a portion of the second coordinate graph and determined based on the position of the first input on the first coordinate graph). In some embodiments, the computer system (e.g., 600) detects a fourth input (e.g., 642) corresponding to a first graphical representation of the data (e.g., 628-1) via the one or more input devices (e.g., 601) (e.g., a second input on the first coordinate graph). In response to detecting the fourth input corresponding to the first graphical representation of the data, the computer system updates the display of the plurality of user interface objects (e.g., based on the position of the fourth input on the first graphical representation of the data). In some embodiments, updating the display of the plurality of user interface objects includes displaying a first user interface object (e.g., 641-1) having an updated position relative to the first graphical representation of the data (e.g., ...). Figure 6D The updated position is determined based on a first variable, which is selected based on the position of a fourth input on a first graphical representation of the data, and this updated position differs from the initial position relative to the first graphical representation of the data (e.g., stopping the display of the first user interface object at the initial position and displaying the first user interface object at the updated position). In some embodiments, updating the display of the plurality of user interface objects includes displaying a second user interface object (e.g., 641-2) having an updated position relative to a second graphical representation of the data (e.g., ...). Figure 6D The position of the details bubble 641-2 in the data (e.g., the update position is determined based on a first variable, which is selected based on the position of the fourth input on the first graphical representation of the data) and the update position is different from the initial position relative to the second graphical representation of the data (e.g., stopping the display of the second user interface object at the initial position and displaying the second user interface object at the update position).

[0208] Displaying a first user interface object with an updated position relative to a first graphical representation of the data and a second user interface object with an updated position relative to a second graphical representation of the data provides the user with feedback that the selection of data associated with the first and second graphical representations of the data has changed, and also allows for sequential viewing of the first and second user interface objects with the first and second graphical representations of the data. Providing improved feedback enhances the operability of the computer system and makes the user-system interface more efficient (e.g., by helping the user provide appropriate input and reducing user errors when operating / interacting with the computer system), which in turn reduces power consumption and extends the battery life of the computer system by enabling the user to use the system more quickly and efficiently.

[0209] In some implementations, displaying a first user interface object with an updated location includes a representation of updating a subset of first data associated with a first variable (e.g., see...). Figure 6D (See the updated content in details bubble 641-1). In some embodiments, displaying a second user interface object with the updated location includes a representation of an updated subset of second data associated with the first variable (e.g., see...). Figure 6D (Update details in bubble 641-2).

[0210] It should be noted that the above is relative to method 700 (e.g., Figure 7A and Figure 7B The details of the process described herein also apply in a similar manner to other methods or corresponding user interfaces described herein. For example, method 1000 optionally includes one or more features of the various methods described above with reference to method 700. For example, the interaction techniques of method 700 can be used to interact with the sleep-related user interface of method 1000. For the sake of brevity, these details will not be repeated.

[0211] Figures 8A to 8G Exemplary user interfaces for managing patient health data (specifically, sleep-related data) according to some implementation schemes are shown. The user interfaces in these figures are used to illustrate the following descriptions, including... Figure 10 The process of...

[0212] exist Figure 8A In this configuration, device 600 displays dashboard user interface 602 on display 601. Figure 6A Compared to the view of dashboard UI 602 seen in the previous version, (for example, in response to user input) the UI has been scrolled to show different health metrics. Specifically, Figure 8AThe dashboard UI 602 now includes a blood pressure metric 802 and a sleep metric 804. The blood pressure metric 802 includes blood pressure-related data in both text and graphical form. Similarly, the sleep metric 804 includes sleep-related data, including a summary tile 804a, a coordinate graph tile 804b, and a target tile 804c. The summary tile 804a shows patient Mary's average bedtime and average sleep duration during the most recent week (the week of August 1-7, 2020). The coordinate graph tile 804b provides a graphical depiction of bedtime and sleep onset time during the most recent week (shown as black bars), the previous 11 weeks (shown as gray bars), and the 40 weeks prior to those 11 weeks (shown as white bars). In some implementations, the coordinate graph tile 804b displays different time periods (e.g., days, years) instead of weeks, or displays time periods other than the past 52 weeks (e.g., last week, the past 6 months, the past 2 years). Target tile 804c provides data related to Mary's sleep goals (e.g., a goal of 7 hours per night), as well as data on achieving that goal within the same time period, as shown in coordinate plot tile 804b. Figure 8A In the middle, the device 600 detects the summary tile 804 of sleep measurement 804 on the input 806.

[0213] exist Figure 8B In response to input 806, device 600 displays a detailed sleep summary interface 808, which includes a detailed summary of sleep data, including a bedtime time coordinate graph 814 and a sleep onset time coordinate graph 816. Figure 8B In the diagram, since the weekly time scale selector 810b is selected (as indicated by its bolding), coordinate graphs 814 and 816 are displayed on a weekly scale. Figure 8B It also includes a monthly time selector 810a and a daily time selector 810c, which can be used to change the scale of the coordinate graph to a monthly or daily scale, respectively. Coordinate graphs 814 and 816 also include target indicators 817a and 817b, respectively, which provide indications of whether the data for a given week has reached a target sleep goal (e.g., 7 hours per night). Figure 8B In the middle, the sleep target control 819 can be used to turn the target indicators 817a and 817b on or off.

[0214] The detailed sleep summary interface 808 also includes tab selectors 812a-j. The summary tab indicator 812a is currently bold, indicating that the summary tab is currently displayed. Figures 8A to 8GIn the implementation scheme, elements shown as visually emphasized via bolding can be visually emphasized in other ways (e.g., underlined, displayed in different sizes or colors). Tab selectors 812b and 812d-f will be discussed in more detail below. Tab selector 812g-j can be selected to provide a user interface comparing patient Mary's sleep data with patient Mary's weight data (tab selector 812g), blood pressure data (tab selector 812h), resting heart rate data (tab selector 812i), and glucose data (tab selector 812j), respectively.

[0215] Figure 8B The coordinate graph 814 presents bedtime data for the most recent week (shown as black bars), the previous 11 weeks (shown as shaded lines), and the 40 weeks prior to those 11 weeks (shown as white bars). In some embodiments, bedtime data is determined directly by device 600 (e.g., using a combination of the patient Mary's sleep schedule and periods during which device 600 was not used). In some embodiments, bedtime is determined using one or more sensors of device 600 (e.g., an accelerometer) that indicate the patient Mary was prone during the bedtime periods in her sleep schedule. In some embodiments, bedtime data is determined by an external device (such as a smartwatch or a dedicated sleep monitoring device) that communicates with device 600.

[0216] Figure 8B The coordinate graph 816 presents sleep data for the most recent week (shown as black bars), the previous 11 weeks (shown as gray bars), and the 40 weeks prior to those 11 weeks (shown as white bars). In some embodiments, sleep data is determined directly using one or more sensors of device 600. In some embodiments, sleep data is determined by an external device (such as a smartwatch or dedicated sleep monitoring device) communicating with device 600. In some embodiments, if the patient does not have a compatible external device for collecting sleep data, the coordinate graph 816 is not displayed or is displayed as missing one or more data bars to indicate the lack of appropriate sleep data for the corresponding time period.

[0217] exist Figure 8B In the middle, on the device 600 detection and analysis tab selector 812b, enter 818 (for example, tap).

[0218] exist Figure 8C In response to input 818, device 600 displays a sleep analysis user interface 820. The sleep analysis user interface 820 includes multiple sleep data bars 822, each presenting sleep data for a specific day. Figure 8CIn the sleep analysis user interface 820, data bars 822c-822i correspond to sleep data from the past seven days, while data bars 822a and 822b correspond to data from nine and eight days ago, respectively. Data bars 822c-822i are shown in a lighter shade to indicate that they are part of the most recent week, while data bars 822a and 822b are shown in a darker shade to indicate that they are outside the most recent week. In some embodiments, the sleep analysis user interface 820 can be scrolled (e.g., via swipe input) to display historical sleep data for additional days, such as displaying data for the remaining days of the 28 days (4 weeks) shown in the sleep analysis user interface 820.

[0219] Data bar 822i (corresponding to the previous night, August 7th) includes a base area 822i1 displayed in a first color, which matches the color of the indicator 824a on the bed column header 824. The base area 822i1 provides an indication of the bedtime on the previous night, August 7th. Note that all of these data bars 822 are aligned along the time axis 828. Therefore, in Figure 8C As can be seen from the data, patient Mary was in bed from approximately midnight to just after 8 a.m., which corresponds to 6 hours and 15 minutes as shown in the bed data column with bed column header 824. Data bar 822i also includes sleep embeddings 822i2a-822i2c. The sleep embeddings are displayed in a color matching the color of indicator 826a in the sleep column header 826. The sleep embeddings 822i2a-822i2c indicate the time period during which patient Mary fell asleep on the previous night, August 7th. As can be seen from data bar 822i, Mary fell asleep during three discrete time periods (822i2a-822i2c) on the night of August 7th, totaling 5 hours, as shown in the sleep data column with sleep column header 826. Therefore, data bar 822i also indicates two time periods of mid-sleep awakenings: 822i3a (between sleep insets 822i2a and 822i2b) and 822i3b (between sleep insets 822i2b and 822i2c). In summary, data bar 822i provides indications of bedtime, sleep onset time, and mid-sleep awakenings, as well as the nighttime of each of these mid-sleep awakenings (e.g., reference axis 828). The remaining data bars provide similar information for their respective days. It should be noted that for days when sleep data is unavailable (e.g., because Mary was not wearing her smartwatch and / or dedicated sleep tracker) (such as August 5th corresponding to data bar 822g), sleep insets are not shown, and null values ​​are displayed for sleep data with sleep header 826.

[0220] exist Figure 8CThe sleep analysis user interface 820 also includes a wake-up control 830, which includes an indication of the average number of wake-ups per night for 28 days of sleep data shown in the sleep analysis user interface 820. In some embodiments, days for which sleep data is unavailable (e.g., August 5th) are excluded from the calculation of the average number of wake-ups per night. In some embodiments, the wake-up control 830 includes different statistical values ​​(e.g., median, pattern) and / or shows averages for time periods other than 28 days (e.g., the past week, the past month, the past year). The sleep analysis user interface 820 also includes a sleep schedule control 832, which includes an indication of the number of currently active sleep schedules or, in some embodiments, the number of sleep schedules applicable to the current time period (e.g., the past 28 days) of sleep data. Figure 8E The sleep schedule control 832 is discussed in more detail.

[0221] exist Figure 8C In the process, device 600 detects input 834 (e.g., a tap) on wake-up control 830.

[0222] exist Figure 8D In response to input 834, device 600 modifies the sleep analysis user interface 820 (including multiple data bars 822) to visually emphasize mid-sleep awakening periods (including mid-sleep awakenings 822i3a and 822i3b). Device 600 also boldes the awakening control 830 to indicate that the currently emphasized mid-sleep awakening period is being highlighted. Therefore, the awakening control 830 can be used to more easily identify mid-sleep awakening periods within a larger sleep dataset displayed in the sleep analysis user interface 820. Figure 8D In the middle, device 600 detects input 836 (e.g., tap) on sleep schedule control 832.

[0223] exist Figure 8E In response to input 836, device 600 displays a sleep schedule start indicator 838 and a sleep schedule end indicator 840 in the sleep analysis user interface 820. Device 600 also modifies the color of the data bar 822 to emphasize the sleep schedule indicators. As noted in the sleep schedule control 832, patient Mary has two currently active sleep schedules. From Figure 8EAs can be seen, Mary has a weekday sleep schedule (11 PM to 8 AM) and a different weekend sleep schedule (12 AM to 9 AM). For example, on the previous night, December 7th, the sleep schedule start indicator 838a corresponds to 11 PM and the sleep schedule end indicator 840a corresponds to 8 AM. In contrast, the Saturday sleep schedule start indicator 838b corresponds to 12 AM, while the Saturday sleep schedule end indicator 840b corresponds to 9 AM. Therefore, the sleep schedule control 832 can be used to display the sleep schedule in the sleep analysis user interface 820. In some embodiments, the wake-up control 830 and the sleep schedule control 832 are mutually exclusive toggles, such that turning one on will turn off the other (if it is currently on) and vice versa. Figure 8E In the device 600, input 842 on the detection tab selector 812e (e.g., tap) corresponds to the weekly pattern tab.

[0224] exist Figure 8F In response to input 842, device 600 displays a weekly pattern user interface 844. The weekly pattern user interface 844 includes a bedtime time coordinate graph 846 and a sleep time coordinate graph 848. The bedtime time coordinate graph 846 provides a comparison of bedtime data (in hours) on a weekday basis (e.g., Monday to Sunday) between the previous 12 weeks (in white) and the 40 weeks preceding the previous 12 weeks (in gray). The bedtime time coordinate graph 846 provides the user with a visualization of bedtime data on a more recent timeframe (e.g., the previous 12 weeks or approximately ¼ of a year) on a weekday basis and compares it with bedtime data on a longer, earlier timeframe (e.g., the 40 weeks preceding the previous 12 weeks or approximately ¾ of a year). The sleep time coordinate graph 848 provides a comparison of sleep time data (in hours) on a weekday basis (e.g., Monday to Sunday) between the previous 12 weeks (in white) and the 40 weeks preceding the previous 12 weeks (in black). The sleep onset time coordinate graph 848 provides users with a visualization of sleep onset data by days of the week for more recent time periods (e.g., the previous 12 weeks or approximately ¼ of a year) and comparisons with sleep onset data for longer, earlier time periods (e.g., 40 weeks prior to the previous 12 weeks or approximately ¾ of a year). Figure 8F In the middle, the input 850 on the device 600 detection tab selector 812f corresponds to the annual pattern tab.

[0225] exist Figure 8GIn response to input 850, device 600 displays a yearly pattern user interface 852, which includes a bedtime time coordinate graph 854 and a sleep time coordinate graph 856. The bedtime time coordinate graph 854 includes lines 854a, 854b, and 854c corresponding to the current year (e.g., the previous 12 months), the year before that, and the year before that, respectively. The bedtime time coordinate graph provides hourly bedtime data (across the y-axis) based on the time of year (across the x-axis). The sleep time coordinate graph 856 includes lines 856a, 856b, and 856c corresponding to the current year (e.g., the previous 12 months), the year before that, and the year before that, respectively. The sleep time coordinate graph provides hourly sleep time data (across the y-axis) based on the time of year (across the x-axis).

[0226] Figures 9A to 9D An exemplary user interface for managing (including copying) patient health data is shown according to some implementation schemes.

[0227] exist Figure 9A In this configuration, device 600 displays dashboard user interface 602a on display 601. Dashboard user interface 602a includes the features and functions of dashboard user interface 602 discussed above, and adds sticky note control 902. Figure 9A In the middle, device 600 detects input 904 on sticky note control 902.

[0228] exist Figure 9B In this device, device 600 displays a notepad area 906 in response to input 904. The notepad area 906 includes a notepad area 906a, an editing indicator 906b, and a hidden indicator 906c. Figure 9B An empty sticky note area 906 can display data already entered into the sticky note, as discussed below. An edit indicator 906b can be used to modify data already entered into sticky note area 906a, as discussed below. A hidden indicator 906c cancels the selection of sticky note area 906 (e.g., restoring the user interface 602a on display 601 to its original state). Figure 9A (The state shown). In Figure 9B In this embodiment, device 600 displays an added energy indicator 908 in response to input 904. In some implementations, device 600 displays a separate added energy indicator for each health metric (e.g., health metric 612, health metric 614, health metric 802) in the dashboard user interface 602a. In some implementations, the added energy indicator 908 is associated with the currently topmost health metric (e.g., 612), such that scrolling the dashboard user interface 602a to present different health metrics at the top will cause the added energy indicator 908 to be associated with the different health metrics. Figure 9BIn the process, device 600 detects input 910 (e.g., a tap) on the added power indicator 908.

[0229] exist Figure 9C In response to input 910, device 600 adds (e.g., copies) selected data corresponding to health metric 612 (e.g., adding an energy level indicator 906 currently associated with) to sticky note area 906, including summary dataset 912a, dataset 912b greater than target, and calorie dataset 912c. In some embodiments, this data includes data from multiple different time periods (e.g., the past 4 weeks, the past 12 weeks, and / or the past 40 weeks). In some embodiments, the selection to add an energy level indicator corresponding to a different health metric (e.g., health metric 614 or health metric 802) will add the selected data corresponding to that corresponding health metric to sticky note area 906. Figure 9C In this device 600, input 914 is detected and edited on indicator 906b. In some embodiments, multiple selections to add indicator data will cause data to be added sequentially (e.g., later data will be appended to existing data) to the notepad. Therefore, the user can add any amount of desired data to the notepad without adding unwanted data.

[0230] exist Figure 9D In response to input 914, the display modifies the sticky note area 906a, which includes data from various categories added to the sticky note area. These categories include category 906a2 (“Activity Summary”), which is displayed together with the Remove Energy Representation 906a and the Expand Energy Representation 906c. The Remove Energy Representation 906a1 removes category 906a2 from the sticky note area when selected, without removing the remaining categories (e.g., “Days with More Than 30 Minutes”). The Expand Energy Representation 906a3 expands category 906a2 when selected to display the complete dataset of the Activity Summary, such as… Figure 9C As seen in the diagram. The remaining categories in the modified sticky note area 906a each include, respectively, a function similar to removing and expanding a power indicator. The modified sticky note area 906a also includes a clear all power indicators 906a4, which, when selected, causes all data to be cleared from the sticky note. In some embodiments, a user can copy data from sticky note area 906 and / or the modified sticky note area 906a to the system clipboard for export to another application. In some embodiments, data from sticky note area 906 and / or the modified sticky note area 906a can be exported to a communication application (e.g., a messaging application, an email application) shared with another device and / or user.

[0231] Figure 10This is a flowchart illustrating a method for managing patient sleep-related data using a computer system according to some embodiments. Method 1000 is performed at a computer system (e.g., tablet computer, personal computer, smartphone 100, 300, 500) communicating with display generating components (e.g., integrated display, external display, display monitor, display adapter) and one or more input devices (e.g., touch-sensitive surface, mouse, keyboard, data transmission bus). Some operations in method 1000 may be optionally combined, some operations may be optionally changed in order, and some operations may be optionally omitted.

[0232] As described below, Method 1000 provides an intuitive way to manage patient sleep-related data. This method reduces the cognitive burden on users managing patient sleep-related data, thereby creating a more efficient human-computer interface. For battery-powered computing devices, it enables users to manage patient sleep-related data more quickly and efficiently, saving power and increasing the time between battery charging.

[0233] The computer system receives (1002) a sleep dataset via one or more input devices (e.g., 601), the sleep dataset including a first user (e.g., Figure 8A Data from the first plurality of sleep periods (e.g., data corresponding to 822a-822i) of patient Mary Appleseed are collected (e.g., one night of sleep; a time period between the following times: when sleep period initiation criteria are met (e.g., when sleep is first detected after a non-sleep period; when sleep is first detected within a predetermined time period (e.g., a set bedtime); and when sleep period end criteria are met (e.g., a wake-up period lasting longer than the predetermined time period; a wake-up period detected outside the predetermined time period)). In some embodiments, sleep data is collected via one or more sensors (e.g., a heart rate monitor, a pressure sensor, and / or a motion sensor) of a computer system. In some embodiments, sleep data is collected by an external device (e.g., a smartwatch; a dedicated sleep tracking device) and transmitted to or retrieved by the computer system. In some embodiments, the plurality of sleep periods are a combination of sleep periods within a predetermined time period (e.g., a week, a month, a year).

[0234] Upon receiving the sleep dataset, the computer system displays (1004) a sleep analysis user interface (e.g., 820) via a display generation component (e.g., 601). This sleep analysis user interface includes (e.g., simultaneously includes) first sleep indicators (e.g., 822i2a, 822i2b, 822i2c) (e.g., graphical objects). These first sleep indicators indicate (1006) the sleep duration of a first sleep period (e.g., 822i, August 7th) (e.g., the first night's sleep) among a first plurality of sleep periods (e.g., the time period during which the first user fell asleep, as indicated by the data). In some embodiments, the indicator indicates the time and duration of the sleep period. In some embodiments, multiple sleep indicators are displayed for the first sleep period.

[0235] The sleep analysis user interface also includes (e.g., simultaneously includes) at least one mid-sleep awakening event corresponding to the first sleep period, based on data determining the first plurality of sleep periods, and a first awakening indicator (e.g., 822i3a, 822i3b) (e.g., a graphical object), which indicates (1008) the mid-sleep awakening event of the first sleep period (data indicating the period of time the first user has been awakened after falling asleep during the sleep period; non-terminal awakening events during the sleep period; discrete mid-sleep awakening events) (in some embodiments, this is independent of awakening events of a second sleep period, if any). In some embodiments, the indicator indicates the time and duration of the mid-sleep awakening event. In some embodiments, multiple awakening indicators are displayed for the first sleep period.

[0236] The sleep analysis user interface also includes (e.g., simultaneously includes) a second sleep indicator (e.g., the sleep onset time period of 822b) (e.g., a graphical object) that indicates (1010) the sleep time period of a second sleep period (e.g., a second night's sleep) that is different from the first sleep period among the first plurality of sleep periods (e.g., the time period during which the first user fell asleep, as indicated by data). In some embodiments, the indicator indicates the time and duration of the sleep period. In some embodiments, multiple sleep indicators are displayed for the second sleep period.

[0237] The sleep analysis user interface also includes (e.g., simultaneously including) at least one mid-sleep awakening event corresponding to a second sleep period, based on data determining a first plurality of sleep periods, and a second awakening indicator (e.g., the mid-sleep awakening time period of 822b) (e.g., a graphical object), which indicates (1012) the mid-sleep awakening event of the second sleep period (e.g., data indicating the time period during which the first user has awakened after falling asleep during the sleep period; non-terminal awakening events during the sleep period) (in some embodiments, this is independent of awakening events (if any) of the first sleep period). In some embodiments, the indicator indicates the time and duration of the mid-sleep awakening event. In some embodiments, multiple awakening indicators are displayed for the second sleep period.

[0238] The sleep analysis user interface also includes (e.g., simultaneously includes) a collective wake-up indicator (e.g., 830) that indicates (1014) the value of collective mid-sleep wake-up events based on a first plurality of sleep periods (e.g., including a first session and a second session) (e.g., "1.5 times per night" in 830) (e.g., numerical values ​​(e.g., average, cumulative, median, mode, increment compared to previous plurality of sleep periods; derived values; values ​​based on plurality of mid-sleep wake-up events)). Conditionally displaying the first wake-up indicator and / or the second wake-up indicator based on the received sleep data provides the user with visual feedback on the status of the system (specifically, the data received by the system), thereby providing improved visual feedback.

[0239] In some implementations, the value of collective mid-sleep awakening events based on a first plurality of sleep periods is the average of the mid-sleep awakening events across the first plurality of sleep periods (e.g., 830) (e.g., the total number of mid-sleep awakening events divided by the number of sleep periods within the plurality of sleep periods). Displaying the average number of mid-sleep awakening events across the first plurality of sleep periods provides the user with visual feedback on the system's status (specifically, the mid-sleep awakening data received by the system), thereby providing improved visual feedback.

[0240] In some implementations, the sleep analysis user interface includes (e.g., simultaneously includes) a first bedtime indicator (e.g., 822i1) indicating the total amount of time a first user spends in bed during a first sleep period (e.g., a graphical indicator; an alphanumeric value (e.g., "8 hours 10 minutes")) and a second bedtime indicator (e.g., the bed portion of 822b) indicating the total amount of time the first user spends in bed during a second sleep period. In some implementations, bedtime is determined based on data from one or more sensors (e.g., orientation sensors). Displaying the bedtime indicator provides the user with visual feedback on the system's status (specifically, the data received by the system), thus providing improved visual feedback.

[0241] In some embodiments, the sleep analysis user interface includes a first user-interactive graphical user interface object (e.g., 830) (e.g., a wake-up indicator). In some embodiments, the computer system receives a first input (e.g., a tap, mouse click, key press) corresponding to the first user-interactive graphical user interface object via one or more input devices. In response to receiving the first input, the computer system modifies the visual appearance of the first sleep indicator and / or the visual appearance of the first wake-up indicator to emphasize the visual appearance of the first wake-up indicator (e.g., ...). Figure 8D The appearance of the 822i in the diagram (e.g., the visual appearance relative to the first sleep indicator). In some embodiments, in response to receiving the first input, the visual appearance of the second sleep indicator and / or the second wake-up indicator is modified to emphasize the visual appearance of the second sleep indicator. Modifying the visual appearance of the first sleep indicator and / or the first wake-up indicator to emphasize the visual appearance of the first wake-up indicator provides the user with an emphasized visualization option to view mid-sleep wake-up data, thereby providing improved visual feedback.

[0242] In some embodiments, upon receiving a sleep dataset, the computer system displays a sleep summary user interface (e.g., 808) via a display generation component. This sleep summary user interface includes (e.g., simultaneously includes) a first sleep value indicator (e.g., the 12-week portion of 814) indicating the value of a first sleep parameter (e.g., sleep-related metrics (e.g., bedtime; sleep onset time)) for a first plurality of sleep periods, and a second sleep value indicator (e.g., the 40-week portion of 814) indicating the value of a first sleep parameter (e.g., sleep-related metrics (e.g., bedtime; sleep onset time)) for a second plurality of sleep periods different from the first plurality of sleep periods. In some embodiments, the first plurality of sleep periods and the second plurality of sleep periods are non-overlapping consecutive time periods. In some embodiments, the first plurality of sleep periods and the second plurality of sleep periods overlap (e.g., the current / recent 12 weeks and the previous 40 weeks). In some embodiments, the first plurality of sleep periods and the second plurality of sleep periods include different numbers of sleep periods (e.g., a session equivalent to 12 weeks and a session equivalent to 40 weeks). Indicators displaying the same first sleep parameters for the first and second sleep periods provide the user with visual feedback on data related to the first and second sleep periods, thereby providing improved visual feedback.

[0243] In some implementations, a sleep dataset including data from a first plurality of sleep periods of a first user includes data collected by an external electronic device (e.g., a dedicated sleep tracking device with sensors and software for collecting sleep-related data) having one or more sensors configured to collect sleep data.

[0244] In some embodiments, the sleep dataset including data from a first plurality of sleep periods of a first user includes data corresponding to a third sleep period (e.g., 822c, August 1st), which excludes data collected by external electronics having one or more sensors configured to collect sleep data (e.g., a dedicated sleep tracking device having sensors and software for collecting sleep-related data). (e.g., the data for the third sleep period includes only data directly collected by a computer system and / or data manually entered by the user). In some embodiments, the sleep analysis user interface does not include indicators of mid-sleep awakening events in the third sleep period (e.g., 822c does not include mid-sleep awakenings) (e.g., any indicators of mid-sleep awakening events in the third sleep period). In some embodiments, the sleep analysis user interface does not include an indication of the total sleep time for the third sleep period. In some embodiments, the sleep analysis user interface includes an indication of the total bedtime for the third sleep period. Excluding indicators of mid-sleep awakening events from the sleep analysis user interface when the data for the third sleep period does not include data from external electronics having one or more sensors configured to collect sleep data provides the user with an indication of the nature / characteristics / source of the data, thereby providing improved visual feedback. This also automatically excludes such indicators when the data meets the condition that it does not include the required data type, which performs the operation when a set of conditions has been met without further user input.

[0245] In some implementations, before displaying the sleep analysis user interface, the computer system displays a health summary user interface (e.g., 602) (an interface outlining parameters for multiple health-related topics), which includes (e.g., simultaneously includes) a sleep user interaction graphical user interface object (e.g., 804) (e.g., a summary of certain sleep-related data), which includes indications of values ​​for second sleep parameters (e.g., sleep-related metrics such as time in bed; time to fall asleep). In some implementations, the second sleep parameter is the same as the first sleep parameter. The health summary user interface also includes (e.g., simultaneously includes) a first health category user interaction graphical user interface object, which includes indications of values ​​for first health parameters (e.g., 802) (e.g., blood pressure; menstruation; exercise / physical activity; weight; heart rate), wherein the first health parameter is not associated with the sleep parameter. The health summary user interface also includes (e.g., simultaneously includes) a second health category user interaction graphical user interface object (e.g., 612), which includes indications of values ​​for a second health parameter (e.g., blood pressure; menstruation; exercise / physical activity; weight; heart rate), wherein the second health parameter is not associated with sleep parameters. When displaying the health summary user interface, the computer system receives a first set of one or more inputs via the one or more input devices, the first set of one or more inputs including a second input (e.g., 806) corresponding to the sleep user interaction graphical user interface object (e.g., tap input, mouse click, key press). In response to receiving the first set of one or more inputs, the computer system displays a sleep analysis user interface (e.g., 820). Displaying the sleep user interaction graphical user interface object together with other health category user interaction graphical user interface objects provides the user with feedback on different types of health-related data available on the computer system, thereby providing improved visual feedback.

[0246] In some embodiments, the sleep analysis user interface includes a second user-interactive graphical user interface object (e.g., 832) (e.g., a sleep time display). In some embodiments, the computer system receives a third input (e.g., 836) corresponding to the second user-interactive graphical user interface object via the one or more input devices (e.g., a tap, mouse click, key press). In response to receiving the third input, the computer system displays an indication (e.g., 838, 840) of a pre-selected sleep schedule corresponding to a first sleep period (e.g., via previous user input / user selection) in the sleep analysis user interface (e.g., a set of lines indicating a certain time period (e.g., 10 PM to 7 AM)). In some embodiments, in response to receiving the third input, the computer system displays an indication of a pre-selected sleep schedule corresponding to a second sleep period in the sleep analysis user interface. In some embodiments, the indication of the pre-selected sleep schedule corresponding to the first sleep period provides a visual indication of the relationship between the sleep time period of the first sleep period and the pre-scheduled time period of the first sleep period. The sleep analysis user interface displays an indication of the pre-selected sleep schedule corresponding to the first sleep period, providing users with information about what sleep schedule was previously selected, thus offering improved visual feedback.

[0247] Note that the above reference method 1000 (for example, Figure 10 The details of the process described herein also apply in a similar manner to the methods described herein. For example, method 700 optionally includes one or more features of the various methods described above with reference to method 1000. For example, the sleep-related user interface of method 1000 can be interacted with according to the technology of method 700. For the sake of brevity, these details will not be repeated herein.

[0248] For purposes of explanation, the foregoing description has been given by reference to specific embodiments. However, the illustrative discussion above is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible based on the teachings above. These embodiments were chosen and described in order to best explain the principles of these techniques and their practical application. Others skilled in the art will thus be able to best utilize these techniques and the various embodiments with various modifications suitable for the particular intended use.

[0249] While this 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 this disclosure and examples as defined by the claims.

[0250] As described above, one aspect of the present invention is the collection and use of data from various sources to improve the management of patient health data. This disclosure contemplates that, in some instances, such collected data may include personal information data that uniquely identifies or can be used to contact or locate specific individuals. Such personal information data may include demographic data, location-based data, telephone numbers, email addresses, Twitter IDs, home addresses, data or records related to a user's health or fitness level (e.g., vital sign measurements, medication information, exercise information), date of birth, or any other identifying or personal information.

[0251] This disclosure recognizes that the use of such personal information data in the techniques of this invention can benefit users. For example, the personal information data can be used to deliver targeted content that is more relevant to a patient's health. Therefore, the use of such personal information data enables users to have planned control over the delivered content. Furthermore, this disclosure also anticipates other uses of personal information data that are beneficial to users. For example, health and fitness data can be used to provide insights into a user's overall health status or as positive feedback for individuals using technology to pursue health goals.

[0252] This disclosure assumes that entities responsible for collecting, analyzing, disclosing, transmitting, storing, or otherwise using such personal information data will comply with established privacy policies and / or privacy practices. Specifically, such entities should implement and adhere to privacy policies and practices that are generally recognized as meeting or exceeding industry or governmental requirements for maintaining the privacy and security of personal information data. Such policies should be easily accessible to users and should be updated as data collection and / or use change. Personal information from users should be collected for the entity's lawful and reasonable purposes and not shared or sold outside of these lawful uses. Furthermore, such collection / sharing should be conducted only after obtaining informed consent from users. In addition, such entities should consider taking any necessary steps to protect and safeguard access to such personal information data and ensure that others with access to such personal information data comply with their privacy policies and processes. Additionally, such entities may be subject to third-party evaluations to demonstrate their compliance with widely accepted privacy policies and practices. Furthermore, policies and practices should be adapted to the specific types of personal information data collected and / or accessed, and to applicable laws and standards, including specific considerations regarding jurisdiction. 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 in other countries, health data may be subject to other regulations and policies and should be handled accordingly. Therefore, different privacy practices should be maintained for different types of personal data in each country.

[0253] Regardless of the foregoing, this disclosure also contemplates implementation schemes for users to selectively block the use or access to personal information data. That is, this disclosure contemplates providing hardware and / or software components to prevent or block access to such personal information data. For example, with respect to healthcare services, the inventive technology can be configured to allow users to opt-in or opt-out at any time during or after service registration to participate in the collection of personal information data. In another example, a user may choose not to provide health data for a targeted content delivery service. In yet another example, a user may choose to limit the length of time health data is retained or to completely prohibit the development of health profiles. In addition to providing opt-in and opt-out options, this disclosure also envisions providing notifications related to access to or use of personal information. For example, users may be notified when downloading an application that their personal information data will be accessed, and then reminded again just before the application accesses the personal information data.

[0254] Furthermore, the purpose of this disclosure is to manage and process personal information data to minimize the risk of unintentional or unauthorized access or use. Risk can be minimized by limiting data collection and deleting data once it is no longer needed. Additionally, and where applicable, including in certain health-related applications, data deidentification can be used to protect user privacy. Deidentification can be facilitated, where appropriate, 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 the address level), controlling how data is stored (e.g., aggregating data among users), and / or other methods.

[0255] Therefore, while this disclosure broadly covers the use of personal information data to implement one or more of the various disclosed embodiments, it is also contemplated that various embodiments can be implemented without access to such personal information data. That is, various embodiments of the present invention will not be rendered inoperable due to the absence of all or part of such personal information data. For example, preferences can be inferred based on non-personal information data or a minimal amount of personal information, such as content requested by a device associated with a user, other non-personal information available to healthcare providers, or publicly available information, thereby selecting content and delivering it to the user.

Claims

1. A method comprising: At the computer system that communicates with the display generation component and one or more input devices: The display generating component displays multiple graphical representations of the data, including: The first graphical representation of the data corresponding to the first dataset; and A second graphical representation of data corresponding to a second dataset that is different from the first dataset; Detecting a first input corresponding to a first graphical representation of the data via the one or more input devices; and In response to detecting the first input corresponding to the first graphical representation of the data, a plurality of user interface objects are displayed, the plurality of user interface objects including: A first user interface object associated with a first graphical representation of the data and based on a first variable, the first variable being selected based on the position of the first input, wherein displaying the first user interface object includes replacing the display of a portion of the first graphical representation of the data with at least a portion of the first user interface object, and wherein the first user interface object includes: Based on determining that the first input corresponds to a first position in a first graphical representation of the data, a representation of a first subset of the first dataset associated with the first variable; and Based on determining that the first input corresponds to a second position in a first graphical representation of the data that is different from the first position, and the representation of a second subset of the first dataset that is associated with the first variable and is different from the first subset of the first dataset; and A second user interface object associated with a second graphical representation of the data and based on a second variable selected based on the position of the first input, wherein displaying the second user interface object includes replacing the display of a portion of the second graphical representation of the data with at least a portion of the second user interface object, and wherein the second user interface object includes: Based on determining the first position in the first graphical representation of the data corresponding to the first input, a representation of the first subset of the second dataset associated with the second variable; and Based on determining that the first input corresponds to a second position in a first graphical representation of the data that is different from the first position, the representation of a second subset of the second dataset that is associated with the second variable and is different from the first subset of the second dataset.

2. The method according to claim 1, further comprising: A second input is detected via the one or more input devices, wherein the second input corresponds to a second graphical representation of the data; as well as In response to detecting the second input, a second plurality of user interface objects are displayed, the second plurality of user interface objects including: A third user interface object associated with a first graphical representation of the data and based on a third variable selected based on the position of the second input, the third user interface object comprising: Based on determining the first position in the second graphical representation of the data corresponding to the second input, a representation of the third subset of the first dataset associated with the third variable; and Based on determining that the second input corresponds to a second position in the second graphical representation of the data that is different from the first position, a representation of a fourth subset of the first dataset that is associated with the third variable and is different from the third subset of the first dataset; and A fourth user interface object associated with a second graphical representation of the data and based on a fourth variable selected based on the position of the second input, the fourth user interface object comprising: Based on determining the first position in the second graphical representation of the data corresponding to the second input, a representation of the third subset of the second dataset associated with the fourth variable; and Based on the determination that the second input corresponds to the second position in the second graphical representation of the data that is different from the first position, the representation of the fourth subset of the second dataset that is associated with the fourth variable and is different from the third subset of the second dataset.

3. The method according to any one of claims 1 to 2, wherein displaying the plurality of user interface objects comprises: The first user interface object, positioned relative to the data, is displayed in a first graphical representation. The second user interface object, positioned relative to the second graphical representation of the data, and Display the first user interface object and the second user interface object having the same position along the axis.

4. The method according to any one of claims 1 to 2, wherein the second variable is the first variable.

5. The method according to any one of claims 1 to 2, wherein the first variable and the second variable are time-based variables.

6. The method according to any one of claims 1 to 2, wherein: The representation of the first subset of the first dataset includes the total value of the first subset of the first dataset determined within the first time subset. The representation of the first subset of the second dataset includes the total value of the first subset of the second dataset determined within the second time subset. The first time subset is determined based on the current time range corresponding to the first dataset, and The second time subset is determined based on the current time range corresponding to the second dataset.

7. The method according to any one of claims 1 to 2, wherein: The representation of the first subset of the first dataset includes the average value of the first subset of the first dataset determined within a third time subset, and The representation of the first subset of the second dataset includes the average value of the first subset of the second dataset determined within the fourth time subset.

8. The method according to any one of claims 1 to 2, further comprising: A third input corresponding to a first graphical representation of the data is detected via the one or more input devices; as well as In response to the detection of the third input, the following is displayed: A first graphical representation of the source associated with the first dataset; and A second graphical representation of the source associated with the second dataset.

9. The method according to any one of claims 1 to 2, wherein: The first dataset corresponds to the fifth time subset. The second dataset corresponds to the sixth time subset. The representation of the first subset of the first dataset includes an indication of a first portion of the fifth time subset during which measurements of the first subset of the first dataset exceed a first predetermined threshold. The representation of the first subset of the second dataset includes an indication of a first portion of the sixth time subset during which the measurement value of the first subset of the second dataset exceeds a second predetermined threshold.

10. The method according to any one of claims 1 to 2, wherein the first variable and the second variable have a first value, the method further comprising: Inputs corresponding to requests to adjust the values ​​of the first variable and the second variable are detected via the one or more input devices; as well as In response to the detection of the input corresponding to the request to adjust the values ​​of the first variable and the second variable: Based on the determination that the input corresponds to a first request to adjust the first variable and the second variable, the first value of the first variable and the second variable is changed to a second value that is different from the first value; as well as Based on the determination that the input corresponds to a second request to adjust the first variable and the second variable, the first value of the first variable and the second variable is changed to a third value that is different from the first value and the second value.

11. The method of any one of claims 1 to 2, wherein the first user interface object is displayed having an initial position with respect to a first graphical representation of the data, and the second user interface object is displayed having an initial position with respect to a second graphical representation of the data, the method further comprising: A fourth input corresponding to a first graphical representation of the data is detected via the one or more input devices; as well as In response to detecting the fourth input corresponding to the first graphical representation of the data, updating the display of the plurality of user interface objects includes: Display the first user interface object, the first user interface object having an updated position relative to a first graphical representation of the data and the updated position being different from the initial position relative to the first graphical representation of the data; as well as The second user interface object is displayed, the second user interface object having an updated position relative to a second graphical representation of the data and the updated position being different from the initial position relative to the second graphical representation of the data.

12. A 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, said one or more programs including instructions for performing the method according to any one of claims 1 to 11.

13. 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 performing the method according to any one of claims 1 to 11.

14. A computer system configured to communicate with a display generation component and one or more input devices, the computer system comprising: Apparatus for performing the method according to any one of claims 1 to 11.

15. 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, said one or more programs comprising instructions for performing the method according to any one of claims 1 to 11.

Citation Information

Patent Citations

  • Method and apparatus for integrating manual input

    US20020015024A1

  • Acceleration-based theft detection system for portable electronic devices

    US20050190059A1

  • Methods and apparatuses for operating a portable device based on an accelerometer

    US20060017692A1

  • Gestures for touch sensitive input devices

    US20060026521A1

  • Gestures for touch sensitive input devices

    US20060026536A1