Physical activity user interface
By integrating display generation components and sensors in the computer system of electronic devices, detecting immersion depth and dynamically adjusting the user interface, the complex and time-consuming problems of the user interface in the prior art are solved, and a more efficient user experience and battery life are achieved.
Patent Information
- Application Number
- CN202380063710.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-01-12
- Filing Date
- 2023-08-21
- Publication Date
- 2025-04-11
AI Technical Summary
The prior art When using electronic devices to manage information related to physical activities, the user interface is complex and time-consuming, resulting in a waste of time and increased energy consumption of the device, especially in battery-powered devices.
By integrating display generation components and sensors in a computer system, it is possible to detect depth in an immersion state and dynamically adjust the displayed metric set, thus providing a faster and more efficient user interface.
It reduces the user's cognitive burden, improves the efficiency of the human-computer interface, saves the power of the battery-driven device, and extends the battery charging interval.
Smart Images

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