Activity and fitness renewal
By designing a faster and more efficient interface and method in portable electronic devices, the problem of inefficient viewing and sharing of activity data in the prior art is solved, and more efficient user interaction and resource utilization are achieved.
Patent Information
- Application Number
- CN202411662520.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2017-05-31
- Filing Date
- 2017-06-01
- Publication Date
- 2025-03-14
AI Technical Summary
The prior art is inefficient in viewing and sharing active data, complex and time-consuming user interface, especially in battery-powered devices, resulting in waste of resources.
Provides a faster and more efficient method and interface for viewing and sharing of activity data for portable electronic devices, including generating graphical representations to output on a display, replacing and panning of graphical elements in response to user input to simplify user interaction.
It reduces the user's cognitive burden, improves the efficiency of the human-computer interface, saves the power of the device, and extends the battery charging interval.
Smart Images

Figure CN119620887A_ABST
Abstract
Description
[0001] CROSS-REFERENCE TO RELATED APPLICATIONS
[0002] This application is a divisional application of the invention patent application with Chinese national application number 202210312775.7, application date June 1, 2017, and invention name “Activity and Fitness Update”.
[0003] This application claims priority to U.S. Provisional Patent Application No. 62 / 348,908, filed on June 11, 2016, entitled “ACTIVITY AND WORKOUT UPDATES,” the contents of which are incorporated herein by reference in their entirety, and claims priority to Danish Patent Application No. PA201770423, filed on May 31, 2017, entitled “ACTIVITY AND WORKOUT UPDATES,” the contents of which are incorporated herein by reference in their entirety. Technical Field
[0004] The present disclosure relates generally to computer user interfaces, and more particularly to techniques for interacting with fitness or activity applications. Background Art
[0005] There are currently about 133 million Americans suffering from at least one chronic health disease. It is expected that this number will rise to about 165 million by 2020. This deterioration in health can be largely attributed to a sedentary lifestyle with little or no physical activity. For example, lack of sufficient physical activity may increase the risk of forming diabetes, high blood pressure, colon cancer, depression and anxiety, obesity, and muscle and bone fragility. In addition, recent studies have found that prolonged inactivity (e.g., sitting at a desk) may lead to serious health risks, such as increasing the risk of heart disease. Summary of the invention
[0006] However, some techniques for viewing and sharing activity data using electronic devices are generally 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.
[0007] Thus, the present technology provides faster, more efficient methods and interfaces for electronic devices to view and share activity data. Such methods and interfaces optionally supplement or replace other methods for viewing or sharing activity data. Such methods and interfaces reduce the cognitive burden on users and produce more efficient human-computer interfaces. For battery-powered computing devices, such methods and interfaces save power and increase the time interval between battery charges.
[0008] In one embodiment, at a portable electronic device having a display, a graphical representation of activity data is generated for output on the display. The graphical representation includes a target portion and a fitness portion. The target portion and the fitness portion both extend beyond a displayable area of the display. The target portion includes a first target graphical element for a first target metric. The fitness portion includes a first fitness graphical element for a first fitness metric. A first portion of the graphical representation is displayed on the display. The displayed first portion includes a first graphical element. In response to receiving a first scroll input and when the displayed first portion belongs to the target portion, the display of the first graphical element is replaced with the display of the first target graphical element. In response to receiving a first scroll input and when the displayed first portion does not belong to the target portion, the first graphical element is translated by an amount based on the size of the first scroll input, and at least a portion of the first fitness graphical element is displayed.
[0009] In one embodiment, at a portable electronic device having a display, contact information for a plurality of contacts including a first contact is displayed. Activity summary data for the first contact is received from one or more external electronic devices. The activity summary data for the first contact includes a first target metric. First user input selecting the first contact is received. In response to receiving the first user input selecting the first contact, a portion of a graphical representation of the activity summary is displayed on the display. The graphical representation includes a first target graphical element for the first target metric.
[0010] In one embodiment, at a portable electronic device having a display, a notification and fitness summary data are received from an external electronic device. The fitness summary data is for completed fitness of a remote user associated with the external electronic device. A first graphical element representing the notification is displayed on the display. A first user input selecting the first graphical element is received while the first graphical element is displayed. In response to the first user input, a portion of a graphical representation of the fitness summary data is displayed.
[0011] In one embodiment, at a portable electronic device having a display and a touch-sensitive screen, contact information for a first plurality of contacts is displayed, the contact information including first contact information, the first plurality of contacts including the first contact. The first contact information corresponds to the first contact. A first user input indicating a selection of the first contact is received. In response to receiving the first user input, a determination is made as to whether the portable electronic device has access to activity data associated with the first contact. Based on a determination that the portable electronic device has access to the activity data associated with the first contact, a portion of a graphical representation of the activity data is displayed. Based on a determination that the electronic device does not have access to the activity data associated with the first contact, a graphical element is displayed indicating that the first contact has no activity data.
[0012] In one embodiment, at a portable electronic device having a display, first fitness data for a first segment of a multi-segment fitness route is received. The first fitness data includes a plurality of locations for the multi-segment fitness route and a plurality of fitness metrics associated with the plurality of locations. Second fitness data for a second segment of the multi-segment fitness route is received. The second fitness data includes a plurality of locations for the multi-segment fitness route and a plurality of fitness metrics associated with the plurality of locations. A first graphical representation of the first fitness data and a second graphical representation of the second fitness data are displayed above a map. The first graphical representation and the second graphical representation are displayed in a three-dimensional overlay. An appearance of the first graphical representation is based on the plurality of fitness metrics of the first fitness data, and an appearance of the second graphical representation is based on the plurality of fitness metrics of the second fitness data.
[0013] In one embodiment, on a portable electronic device having a display and a pressure-sensitive touch screen, an indication to start a fitness session is received. In response to receiving the indication to start a fitness session, a plurality of fitness metrics for fitness are recorded using a fitness application of the electronic device. While recording the plurality of fitness metrics, a first user input is received on the pressure-sensitive touch screen. The first user input has a characteristic intensity. In response to receiving the first user input, it is determined whether the fitness application is in a locked state and whether the characteristic intensity exceeds a threshold intensity. Based on determining that the fitness application is in a locked state and the first user input does not exceed the threshold intensity, the fitness application of the electronic device continues to record the plurality of fitness metrics for fitness. Based on determining that the fitness application is in a locked state and the first user input exceeds the threshold intensity, recording using the fitness application is stopped. Based on determining that the fitness application is in an unlocked state, the first user input is processed according to the fitness application.
[0014] One embodiment of a transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display. The one or more programs include instructions for: generating a graphical representation of activity data for output on a display, wherein the graphical representation includes a target portion and a fitness portion, wherein the target portion and the fitness portion each extend outside a displayable area of the display, wherein the target portion includes a first target graphical element for a first target metric, and wherein the fitness portion includes a first fitness graphical element for a first fitness metric; displaying a first portion of the graphical representation on the display, wherein the displayed first portion includes a first graphical element; in response to receiving a first scroll input: when the displayed first portion belongs to the target portion, replacing display of the first graphical element with display of the first target graphical element; and when the displayed first portion does not belong to the target portion, translating the first graphical element by an amount based on a size of the first scroll input and displaying at least a portion of the first fitness graphical element.
[0015] One embodiment of a transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display. The one or more programs include instructions for: displaying contact information of a plurality of contacts including a first contact; receiving activity summary data for the first contact from one or more external electronic devices, wherein the activity summary data for the first contact includes a first target metric; receiving a first user input selecting the first contact; and in response to receiving the first user input selecting the first contact, displaying a portion of a graphical representation of the activity summary on the display, wherein the graphical representation includes a first target graphical element for the first target metric.
[0016] One embodiment of a transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display. The one or more programs include instructions for: receiving a notification of a completed workout and fitness summary data of a remote user associated with the external electronic device from an external electronic device; displaying a first graphical element representing the notification on the display; receiving a first user input selecting the first graphical element while displaying the first graphical element; and displaying a portion of a graphical representation of the fitness summary data in response to the first user input.
[0017] One embodiment of a transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display. The one or more programs include instructions for: displaying contact information for a first plurality of contacts, the contact information including first contact information, the first plurality of contacts including a first contact, wherein the first contact information corresponds to the first contact; receiving a first user input indicating a selection of the first contact; in response to receiving the first user input, determining whether the portable electronic device has access to activity data associated with the first contact; based on determining that the portable electronic device has access to activity data associated with the first contact, displaying a portion of a graphical representation of the activity data; based on determining that the electronic device does not have access to activity data associated with the first contact, displaying a graphical element indicating that there is no activity data for the first contact.
[0018] One embodiment of a transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device having a display. The one or more programs include instructions for: receiving first fitness data for a first segment of a multi-segment fitness route, wherein the first fitness data includes a plurality of locations for the multi-segment fitness route and a plurality of fitness metrics associated with the plurality of locations; receiving second fitness data for a second segment of the multi-segment fitness route, wherein the second fitness data includes a plurality of locations for the multi-segment fitness route and a plurality of fitness metrics associated with the plurality of locations; displaying a first graphical representation of the first fitness data and a second graphical representation of the second fitness data above a map, wherein the first graphical representation and the second graphical representation are displayed in a three-dimensional overlay, wherein an appearance of the first graphical representation is based on the plurality of fitness metrics of the first fitness data, and an appearance of the second graphical representation is based on the plurality of fitness metrics of the second fitness data.
[0019] One embodiment of a transient computer-readable storage medium stores one or more programs configured to be executed by one or more processors of an electronic device with a display. The one or more programs include instructions for: receiving an indication to start a workout; in response to receiving the indication to start a workout, recording multiple fitness metrics for the workout using a fitness application of the electronic device; while recording the multiple fitness metrics, receiving a first user input on the pressure-sensitive touch screen, wherein the first user input has a characteristic intensity; in response to receiving the first user input, determining whether the fitness application is in a locked state and whether the characteristic intensity exceeds a threshold intensity; based on determining that the fitness application is in a locked state and the first user input does not exceed the threshold intensity, continuing to record the multiple fitness metrics for the workout using the fitness application of the electronic device; based on determining that the fitness application is in a locked state and the first user input exceeds the threshold intensity, stopping the recording using the fitness application; based on determining that the fitness application is in a locked state and the first user input exceeds the threshold intensity, processing the first user input according to the fitness application.
[0020] 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.
[0021] Thus, a faster, more efficient method and interface is provided for devices to view and share activity data, thereby increasing the effectiveness, efficiency, and user satisfaction of such devices.Such methods and interfaces may supplement or replace other methods for viewing or sharing activity data. BRIEF DESCRIPTION OF THE DRAWINGS
[0022] For a better understanding of the various described embodiments, reference should be made to the following detailed description taken in conjunction with the following drawings, wherein like reference numerals designate corresponding parts throughout the several views.
[0023] Figure 1A is a block diagram showing a portable multifunction device with a touch-sensitive display according to some embodiments.
[0024] Figure 1B is a block diagram illustrating example components for event processing according to some embodiments.
[0025] Figure 2 A portable multifunction device with a touch screen according to some embodiments is shown.
[0026] Figure 3 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface according to some embodiments.
[0027] Figure 4A An exemplary user interface for a menu of applications on a portable multifunction device is shown according to some embodiments.
[0028] Figure 4B An exemplary user interface is shown for a multifunction device having a touch-sensitive surface that is separate from the display according to some embodiments.
[0029] Figure 5A A personal electronic device according to some embodiments is shown.
[0030] Figure 5B is a block diagram illustrating a personal electronic device according to some embodiments.
[0031] Figure 5C-5D Example components of a personal electronic device with a touch-sensitive display and an intensity sensor are shown according to some embodiments.
[0032] Figure 5E-Figure 5H Exemplary components and user interfaces of a personal electronic device according to some embodiments are shown.
[0033] Figure 6A-6E A user interface for a portable electronic device executing a fitness or activity application according to some embodiments is shown.
[0034] Figure 7A-7K A user interface for a portable electronic device for navigating and viewing activity data according to some embodiments is shown.
[0035] Figure 8 is a flowchart illustrating a method for navigating and viewing activity data using a portable electronic device according to some embodiments.
[0036] Fig. 9 An exemplary functional block diagram of an electronic device according to principles of various described embodiments is shown.
[0037] Figures 10A-10G A user interface for a portable electronic device for navigating and viewing activity data for contacts according to some embodiments is shown.
[0038] Fig.11 is a flowchart illustrating a method for navigating and viewing activity data of contacts using a portable electronic device according to some embodiments.
[0039] Fig.12 An exemplary functional block diagram of an electronic device according to principles of various described embodiments is shown.
[0040] Figures 13A-13F An exemplary user interface for activity and fitness monitoring and sharing is shown according to some embodiments.
[0041] Fig.14 is a flowchart illustrating a method for activity and fitness monitoring and sharing using a portable electronic device according to some embodiments.
[0042] Fig.15 An exemplary functional block diagram of an electronic device according to principles of various described embodiments is shown.
[0043] Figures 16A-16J An exemplary user interface for navigating and sharing activity data according to some embodiments is shown.
[0044] Fig.17 is a flowchart illustrating a method for navigating and viewing activity data using a portable electronic device according to some embodiments.
[0045] Fig.18 An exemplary functional block diagram of an electronic device according to principles of various described embodiments is shown.
[0046] Figures 19A-19D An exemplary user interface for viewing and navigating fitness data is shown according to some embodiments.
[0047] Fig. 20 is a flow chart illustrating a method 2000 for viewing and navigating fitness data using a portable electronic device according to some embodiments.
[0048] Fig.21 An exemplary functional block diagram of an electronic device according to principles of various described embodiments is shown.
[0049] Figure 22A-22F An exemplary user interface is shown for pausing a workout and preventing accidental activation of other functions on a portable electronic device according to some embodiments.
[0050] Fig.23 is a flowchart illustrating a method 2300 for pausing a workout and preventing accidental activation of other functions on a portable electronic device during a workout according to some embodiments.
[0051] Fig.24 An exemplary functional block diagram of an electronic device according to principles of various described embodiments is shown. DETAILED DESCRIPTION
[0052] 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.
[0053] There is a need for electronic devices that provide efficient methods and interfaces for viewing, navigating, and sharing activity or fitness data and interacting with fitness applications. For example, there is a need to display fitness and other activity data in a manner that allows efficient navigation, easy viewing, and convenient sharing with friends even during fitness. As another example, there is also a need for an interface with a fitness application that allows easy interaction with the fitness application while the fitness application is operating, while preventing unexpected functions from being activated during fitness. Such techniques can reduce the cognitive burden on users using activity and fitness applications, thereby increasing productivity. In addition, such techniques can reduce processor power and battery power that would otherwise be wasted on redundant user input.
[0054] under Figure 1A-1B , Figure 2 , Figure 3 , Figure 4A-4B and Figure 5A-5H A description of an exemplary device for performing techniques for management event notifications is provided. Figure 6A-6E An exemplary user interface for a fitness or activity application is shown.
[0055] Figure 7A-7K A user interface for a portable electronic device for navigating and viewing activity data according to some embodiments is shown. Figure 8 is a flowchart illustrating a method for navigating and viewing activity data using a portable electronic device according to some embodiments. Figure 7A-7K The user interface is used to show the Figure 8 The process is described below in the process.
[0056] Figures 10A-10G A user interface for a portable electronic device for navigating and viewing activity data for contacts according to some embodiments is shown. Fig.11 is a flowchart illustrating a method for navigating and viewing activity data of contacts using a portable electronic device according to some embodiments. Figures 10A-10G The user interface is used to show the Fig.11 The process is described below in the process.
[0057] Figures 13A-13F An exemplary user interface for activity and fitness monitoring and sharing is shown according to some embodiments. Fig.14 is a flowchart illustrating a method for activity and fitness monitoring and sharing using a portable electronic device according to some embodiments. Figures 13A-13FThe user interface is used to show the Fig.14 The process is described below in the process.
[0058] Figures 16A-16J An exemplary user interface for navigating and sharing activity data according to some embodiments is shown. Fig.17 is a flowchart illustrating a method for navigating and viewing activity data using a portable electronic device according to some embodiments. Figures 16A-16J The user interface is used to show the Fig.17 The process is described below in the process.
[0059] Figures 19A-19D An exemplary user interface for viewing and navigating fitness data is shown according to some embodiments. Fig. 20 is a flow chart illustrating a method 2000 for viewing and navigating fitness data using a portable electronic device according to some embodiments. Figures 19A-19D The user interface is used to show the Fig. 20 The process is described below in the process.
[0060] Figure 22A-22F An exemplary user interface is shown for pausing a workout and preventing accidental activation of other functions on a portable electronic device according to some embodiments. Fig.23 is a flowchart illustrating a method 2300 for pausing a workout and preventing accidental activation of other functions on a portable electronic device during a workout according to some embodiments. Figure 22A-22F The user interface is used to show the Fig.23 The process is described below in the process.
[0061] Although the following description uses the terms "first", "second", etc. to describe various elements, these elements should not be limited by the terms. These terms are only used to distinguish one element from another 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. Both the first touch and the second touch are touches, but they are not the same touch.
[0062] The terms used in the description of various described embodiments herein are only for the purpose of describing specific embodiments, and are not intended to be limited. As used in the description of various described embodiments and in the appended claims, the singular forms "one" and "the" are intended to also include plural forms, unless the context clearly indicates otherwise. It will also be understood that the term "and / or" used herein refers to and encompasses any and all possible combinations of one or more items in the associated listed items. It will also be understood that the term "includes", "including", "comprises" and / or "comprising" when used in this specification specifies the presence of stated features, integers, steps, operations, elements and / or parts, but does not exclude the presence or addition of one or more other features, integers, steps, operations, elements, parts and / or their grouping.
[0063] 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.
[0064] Embodiments of electronic devices, user interfaces for such devices, and associated processes for using such devices are described herein. In some embodiments, the device is a portable communication device, such as a mobile phone, that also includes other functions, such as a PDA and / or a music player function. Exemplary embodiments of portable multifunction devices include, but are not limited to, the Apple iPod from Apple Inc. (Cupertino, California). Devices, iPod Equipment, and Device. Other portable electronic devices, such as laptops or tablet computers with touch-sensitive surfaces (e.g., touch screen displays and / or touch pads) are optionally used. 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).
[0065] 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.
[0066] 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.
[0067] Various applications executed on the device optionally use at least one common physical user interface device, such as a touch-sensitive surface. One or more functions of the touch-sensitive surface and corresponding information displayed on the device are optionally adjusted and / or varied for different applications, and / or adjusted and / or varied within the respective applications. In this way, the common physical architecture of the device (such as a touch-sensitive surface) optionally supports a variety of applications with a user interface that is intuitive and clear to the user.
[0068] 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.
[0069] 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 averaged) to determine an estimated contact force. Similarly, the pressure-sensitive tip of a stylus is optionally used to determine the pressure of the stylus on the touch-sensitive surface. Alternatively, the size of the contact area detected on the touch-sensitive surface and / or its change, the capacitance of the touch-sensitive surface near the contact and / or its change, and / or the resistance of the touch-sensitive surface near the contact and / or its change are optionally used as a substitute for the force or pressure of the contact on the touch-sensitive surface. In some embodiments, the substitute measurement of the contact force or pressure is used directly to determine whether the intensity threshold has been exceeded (e.g., the intensity threshold is described in units corresponding to the substitute measurement). In some embodiments, the substitute measurement of the contact force or pressure is converted into an estimated force or pressure, and the estimated force or pressure is used to determine whether the intensity threshold has been exceeded (e.g., the intensity threshold is a pressure threshold measured in units of pressure). Using the intensity of the contact as an attribute of the user input allows the user to access additional device functions that would otherwise be inaccessible to the user on a smaller device with limited real estate, which is used to display an enable indication (e.g., on a touch-sensitive display) and / or receive user input (e.g., via a touch-sensitive display, a touch-sensitive surface, or a physical control / mechanical control, such as a knob or button).
[0070] 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 a 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, detected by a user using the user's sense of touch. For example, in the case where a device or a component of a 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 a physical characteristic of the device or a component of the device. For example, movement of a touch-sensitive surface (e.g., a touch-sensitive display or a touchpad) 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 a physical actuation button associated with the touch-sensitive surface that is physically pressed (e.g., displaced) by the user's movement does not move. As another example, even when there is no change in the smoothness of the touch-sensitive surface, movement of the touch-sensitive surface may optionally be interpreted or sensed by the user as "roughness" of the touch-sensitive surface. Although such a user's interpretation of touch will be limited by the user's individualized sensory perceptions, many sensory perceptions of touch are common to most users. Thus, when a tactile output is described as corresponding to a particular sensory perception of a user (e.g., "press click," "release click," "roughness"), unless otherwise stated, the generated tactile output corresponds to a physical displacement of the device or a component thereof that would generate that sensory perception for a typical (or average) user.
[0071] 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 in the EMBODIMENTS 2000 are implemented in hardware, software, or a combination of hardware and software, including one or more signal processing and / or application specific integrated circuits.
[0072] Memory 102 optionally includes high-speed random access memory, and optionally also includes non-volatile memory, such as one or more disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Memory controller 122 optionally controls other components of device 100 to access memory 102.
[0073] 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 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.
[0074] RF (radio frequency) circuit 108 receives and transmits RF signals, also called 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, etc. 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 by detecting through a short-range communication radio component. 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). 802.11n and / or IEEE 802.11ac), Voice over Internet Protocol (VoIP), Wi-MAX, email protocols (e.g., Internet Message Access Protocol (IMAP) and / or Post Office Protocol (POP)), instant messaging (e.g., Extensible Messaging and Presence Protocol (XMPP), 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.
[0075] The audio circuit 110, the speaker 111, and the microphone 113 provide an audio interface between the user and the device 100. The audio circuit 110 receives audio data from the peripheral device interface 118, converts the audio data into electrical signals, and transmits the electrical signals to the speaker 111. The speaker 111 converts the electrical signals into sound waves audible to the human ear. The audio circuit 110 also receives electrical signals converted from sound waves by the microphone 113. The audio circuit 110 converts the electrical signals into audio data and transmits the audio data to the peripheral device interface 118 for processing. The audio data is optionally retrieved from and / or transmitted to the memory 102 and / or the RF circuit 108 by the peripheral device interface 118. In some embodiments, the audio circuit 110 also includes a headphone 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).
[0076] 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, an intensity sensor controller 159, a tactile feedback controller 161, and one or more input controllers 160 for other input or control devices. The one or more input controllers 160 receive / send electrical signals from other input control devices 116. 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 alternative embodiments, one or more input controllers 160 are optionally coupled to any (or none) of the following: a keyboard, an infrared port, a USB port, and a pointer device such as a mouse. One or more buttons (e.g., Figure 2 208) optionally includes an up / down 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 2 206).
[0077] A quick press of the push button optionally unlocks 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 of the buttons can optionally be customized by the user. The touch screen 112 is used to implement virtual buttons or soft buttons and one or more soft keyboards.
[0078] The touch-sensitive display 112 provides an input interface and an output interface between the device and the user. The display controller 156 receives electrical signals from the touch screen 112 and / or sends electrical signals to the touch screen. The touch screen 112 displays visual output to the user. The visual output optionally includes graphics, text, icons, videos, and any combination thereof (collectively referred to as "graphics"). In some embodiments, some or all of the visual output optionally corresponds to user interface objects.
[0079] The touch screen 112 has a touch-sensitive surface, sensor, or set of sensors 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 a finger of the user.
[0080] 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.
[0081] The touch-sensitive display in some embodiments of the touch screen 112 is optionally similar to the multi-touch-sensitive trackpad described in the following U.S. Patents: 6,323,846 (Westerman et al.), 6,570,557 (Westerman et al.), and / or 6,677,932 (Westerman et al.), and / or U.S. Patent Publication 2002 / 0015024A1, each of which is hereby incorporated by reference in its entirety. However, the touch screen 112 displays visual output from the device 100, while the touch-sensitive trackpad does not provide visual output.
[0082] In some embodiments, the touch-sensitive display of the touch screen 112 is as described in the following patent applications: (1) U.S. patent application No. 11 / 381,313, entitled “Multipoint Touch Surface Controller,” filed on May 2, 2006; (2) U.S. patent application No. 10 / 840,862, entitled “Multipoint Touchscreen,” filed on May 6, 2004; (3) U.S. patent application No. 10 / 903,964, entitled “Gestures For Touch Sensitive Input Devices,” filed on July 30, 2004; (4) U.S. patent application No. 11 / 048,264, entitled “Gestures For Touch Sensitive Input Devices,” filed on January 31, 2005; (5) U.S. patent application No. 11 / 051,964, entitled “Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices,” filed on January 18, 2005 and (ii) U.S. Patent Application No. 11 / 038,590, entitled “Mode-Based Graphical User Interface for Touch-Sensitive Input Devices”; (6) U.S. Patent Application No. 11 / 228,758, filed on September 16, 2005, entitled “Virtual Input Device Placement On A Touch Screen User Interface”; (7) U.S. Patent Application No. 11 / 228,700, filed on September 16, 2005, entitled “Operation Of A Computer With A Touch Screen Interface”; (8) U.S. Patent Application No. 11 / 228,737, filed on September 16, 2005, entitled “Activating Virtual Keys Of A Touch-Screen Virtual Keyboard”; and (9) U.S. Patent Application No. 11 / 228,747, filed on March 3, 2006, entitled “Multi-Functional All of these applications are incorporated herein by reference in their entirety.
[0083] The touch screen 112 optionally has a video resolution of more than 100 dpi. In some embodiments, the touch screen has a video resolution of about 160 dpi. The user optionally uses any suitable object or attachment such as a stylus, finger, etc. to contact the touch screen 112. In some embodiments, the user interface is designed to work primarily through finger-based contacts and gestures, which may not be as precise as stylus-based input due to the larger contact area of the finger on the touch screen. In some embodiments, the device converts rough finger-based input into precise pointer / cursor positions or commands for performing the actions desired by the user.
[0084] In some embodiments, in addition to the touch screen, the device 100 optionally includes a touchpad (not shown) 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 that is separate from the touch screen 112 or an extension of the touch-sensitive surface formed by the touch screen.
[0085] The device 100 also includes a power system 162 for powering the various components. The power system 162 optionally includes a power management system, one or more power sources (e.g., batteries, alternating current (AC)), a recharging system, a power fault detection circuit, a power converter or inverter, a power status indicator (e.g., a light emitting diode (LED)), and any other components associated with the generation, management, and distribution of power in a portable device.
[0086] Device 100 optionally also includes one or more optical sensors 164 . Figure 1AAn optical sensor coupled to an optical sensor controller 158 in the I / O subsystem 106 is shown. The optical sensor 164 optionally includes a charge coupled device (CCD) or a complementary metal oxide semiconductor (CMOS) phototransistor. The optical sensor 164 receives light projected through one or more lenses from the environment and converts the light into data representing an image. In conjunction with the imaging module 143 (also called a camera module), the optical sensor 164 optionally captures a static image or 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 image and / or video image acquisition. In some embodiments, the optical sensor is located on the front of the device so that the image of the user is optionally obtained when the user views other video conference participants on the touch screen display for video conferencing. In some embodiments, the position 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.
[0087] Device 100 optionally also includes one or more contact intensity sensors 165 . Figure 1A A 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 rear of device 100 opposite to touch screen display 112 located on the front of device 100.
[0088] Device 100 optionally also includes one or more proximity sensors 166 . Figure 1AA 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 applications: No. 11 / 241,839, entitled “Proximity Detector In Handheld Device”; No. 11 / 240,788, entitled “Proximity Detector In Handheld Device”; No. 11 / 620,702, entitled “Using Ambient Light Sensor To Augment Proximity Sensor Output”; No. 11 / 586,862, entitled “Automated Response To And Sensing Of User Activity In Portable Devices”; and No. 11 / 638,251, entitled “Methods And Systems For Automatic Configuration Of Peripherals”, the entire contents of which are hereby incorporated by reference into this document. 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.
[0089] 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.
[0090] Device 100 optionally also includes one or more accelerometers 168 . Figure 1A An accelerometer 168 is shown coupled to the peripherals interface 118. Alternatively, the accelerometer 168 is optionally coupled to the input controller 160 in the I / O subsystem 106. The accelerometer 168 optionally implements as described in the following U.S. Patent Publications: U.S. Patent Publication 20050190059, entitled "Acceleration-based Theft Detection System for Portable Electronic Devices" and U.S. Patent Publication 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. Device 100 optionally includes a magnetometer (not shown) and a GPS (or GLONASS or other global navigation system) receiver (not shown) in addition to one or more accelerometers 168 for obtaining information about the position and orientation (e.g., portrait or landscape) of device 100.
[0091] 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: an active application state, which indicates which applications (if any) are currently active; a display state, which indicates what applications, views, or other information occupy various areas of the touch screen display 112; a sensor state, including information obtained from the device's various sensors and input control devices 116; and position information about the device's position and / or posture.
[0092] 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.
[0093] 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.
[0094] The contact / motion module 130 optionally detects contact with the touch screen 112 (in conjunction with the display controller 156) and other touch-sensitive devices (e.g., a touchpad or physical click wheel). The contact / motion module 130 includes various software components for performing various operations related to contact detection, such as determining whether contact has occurred (e.g., detecting a finger press event), determining the contact strength (e.g., the force or pressure of the contact, or a substitute for the force or pressure of the contact), determining whether there is movement of the contact and tracking the movement on the touch-sensitive surface (e.g., detecting one or more finger drag events), and determining whether the contact has stopped (e.g., detecting a finger lift event or contact disconnection). The contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of the contact point optionally includes determining the rate (magnitude), velocity (magnitude and direction), and / or acceleration (change in magnitude and / or direction) of the contact point, the movement of the contact point being represented by a series of contact data. These operations are optionally applied to a single point of contact (e.g., a single finger contact) or multiple points of simultaneous contact (e.g., "multi-touch" / multiple finger contacts). In some embodiments, the contact / motion module 130 and display controller 156 detect contact on a touch pad.
[0095] 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 is determined based on software parameters (e.g., the intensity thresholds are not determined by the activation threshold of a particular physical actuator 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. In addition, 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).
[0096] 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.
[0097] The graphics module 132 includes various known software components for presenting 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 characteristics) of the displayed graphics. As used herein, the term "graphics" includes any object that can be displayed to a user, including, but not limited to, text, web pages, icons (such as user interface objects including soft keys), digital images, videos, animations, etc.
[0098] 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 program, etc., and also receives coordinate data and other graphic attribute data together if necessary, and then generates screen image data to be output to the display controller 156.
[0099] Haptic feedback module 133 includes various software components for generating instructions used by one or more tactile output generators 167 to produce tactile output at one or more locations on device 100 in response to user interaction with device 100 .
[0100] Text input module 134, which is optionally a component of graphics module 132, provides a soft keyboard for entering text in various applications (e.g., contacts 137, email 140, IM 141, browser 147, and any other application requiring text input).
[0101] The GPS module 135 determines the location of the device and provides this information for use in various applications (e.g., to the phone 138 for location-based dialing; to the camera 143 as picture / video metadata; and to applications that provide location-based services, such as the Weather widget, the Local Pages widget, and the Maps / Navigation widget).
[0102] The application 136 optionally includes the following modules (or instruction sets) or a subset or superset thereof:
[0103] Contacts module 137 (sometimes called address book or contact list);
[0104] Telephone module 138;
[0105] Video conferencing module 139;
[0106] Email client module 140;
[0107] Instant messaging (IM) module 141;
[0108] Fitness support module 142;
[0109] A camera module 143 for still images and / or video images;
[0110] Image management module 144;
[0111] Video player module;
[0112] Music player module;
[0113] Browser module 147;
[0114] Calendar module 148;
[0115] A widget module 149, which optionally includes one or more of the following: a weather widget 149-1, a stock 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;
[0116] A widget creator module 150 for forming a user-created widget 149-6;
[0117] Search module 151;
[0118] Video and music player module 152, which merges the video player module and the music player module;
[0119] Notepad module 153;
[0120] Map module 154; and / or
[0121] Online video module 155.
[0122] 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.
[0123] In conjunction 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 (e.g., 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 telephone numbers, email addresses, physical addresses, or other information with names; associating images with names; categorizing and classifying names; providing telephone numbers or email addresses to initiate and / or facilitate communications via telephone 138, video conferencing module 139, email 140, or instant messaging 141; and the like.
[0124] In conjunction with RF circuitry 108, audio circuitry 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 sequence of characters 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 complete. As described above, wireless communication optionally uses any of a variety of communication standards, protocols, and technologies.
[0125] In combination with RF circuit 108, audio circuit 110, speaker 111, microphone 113, touch screen 112, display controller 156, optical sensor 164, optical sensor controller 158, touch / motion module 130, graphics module 132, text input module 134, contact module 137 and telephone module 138, video conferencing module 139 includes executable instructions for initiating, executing and terminating a video conference between a user and one or more other participants in accordance with user instructions.
[0126] In conjunction with RF circuit 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, email client module 140 includes executable instructions for creating, sending, receiving, and managing emails in response to user instructions. In conjunction with image management module 144, email client module 140 makes it very easy to create and send emails with still images or video images captured by camera module 143.
[0127] In conjunction with RF circuit 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, instant messaging module 141 includes executable instructions for the following operations: inputting a character sequence corresponding to an instant message, modifying previously input characters, transmitting a corresponding instant message (e.g., using a short message service (SMS) or multimedia message service (MMS) protocol for phone-based instant messaging or using XMPP, SIMPLE, or IMPS for Internet-based instant messaging), receiving an instant message, and viewing the received instant message. In some embodiments, the transmitted and / or received instant message optionally includes graphics, photos, audio files, video files, and / or other attachments supported in MMS and / or enhanced messaging service (EMS). As used herein, "instant messaging" refers to both phone-based messages (e.g., messages sent using SMS or MMS) and Internet-based messages (e.g., messages sent using XMPP, SIMPLE, or IMPS).
[0128] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, the text input module 134, the GPS module 135, the map module 154 and the music player module, the fitness support module 142 includes executable instructions for creating a fitness (e.g., with time, distance and / or calorie burn goals); communicating with fitness sensors (sports equipment); receiving fitness sensor data; calibrating sensors for monitoring fitness; selecting and playing music for fitness; and displaying, storing and transmitting fitness data.
[0129] In conjunction with the touch screen 112, display controller 156, one or more optical sensors 164, optical sensor controller 158, touch / motion module 130, graphics module 132, and image management module 144, the camera module 143 includes executable instructions for capturing still images or videos (including video streams) and storing them in memory 102, modifying characteristics of still images or videos, or deleting still images or videos from memory 102.
[0130] In conjunction with touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, and camera module 143, image management module 144 includes executable instructions for arranging, modifying (e.g., editing) or otherwise manipulating, labeling, deleting, presenting (e.g., in a digital slideshow or album), and storing still images and / or video images.
[0131] 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 (including searching, linking to, receiving and displaying web pages or portions thereof, as well as attachments and other files linked to web pages) in accordance with user instructions.
[0132] 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.
[0133] In conjunction with the RF circuit 108, the touch screen 112, the display system controller 156, the contact / motion module 130, the graphics module 132, the text input module 134, and the browser module 147, the desktop widget module 149 is a mini-application that is optionally downloaded and used by the user (e.g., the weather desktop widget 149-1, the stock desktop widget 149-2, the calculator desktop widget 149-3, the alarm desktop widget 149-4, and the dictionary desktop widget 149-5) or a mini-application created by the user (e.g., the user-created desktop widget 149-6). In some embodiments, the desktop widget includes an HTML (Hypertext Markup Language) file, a CSS (Cascading Style Sheets) file, and a JavaScript file. In some embodiments, the desktop widget includes an XML (Extensible Markup Language) file and a JavaScript file (e.g., the Yahoo! desktop widget).
[0134] 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 desktop widget creator module 150 is optionally used by a user to create a desktop widget (e.g., transferring a user-specified portion of a web page to a desktop widget).
[0135] 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, video and / or other files that match one or more search criteria (e.g., one or more user-specified search terms) in accordance with user instructions.
[0136] 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), as well as 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.).
[0137] 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.
[0138] 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.
[0139] 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 performing the following operations: allowing a user to access, browse, receive (e.g., by streaming and / or downloading), playback (e.g., on the touch screen or on an external display connected via external port 124), send an email with a link to a specific online video, and otherwise manage online videos in one or more file formats such as H.264. In some embodiments, instant messaging module 141 is used instead of email client module 140 to send a link to a specific online video. Additional descriptions of online video applications 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.
[0140] 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 separate software programs, processes, or modules, and thus 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.
[0141] In some embodiments, the device 100 is a device on which operation of a predefined set of functions 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.
[0142] A predefined set of functions that are performed exclusively through the touch screen and / or trackpad optionally includes navigation between user interfaces. In some embodiments, the touchpad, when touched by the user, navigates the device 100 from any user interface displayed on the device 100 to a main menu, a home menu, or a root menu. In such embodiments, a "menu button" is implemented using a touchpad. In some other embodiments, the menu button is a physical push button or other physical input control device, rather than a touchpad.
[0143] Figure 1B 1 is a block diagram illustrating exemplary components for event processing according to some embodiments. In some embodiments, memory 102 ( Figure 1A ) or 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-151, 155, 380-390).
[0144] 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 the current application view 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.
[0145] 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 the application 136-1 resumes execution, user interface state information indicating information being displayed by the application 136-1 or information ready to be displayed by the application, a state queue for enabling a user to return to a previous state or view of the application 136-1, and a repeat / undo queue of previous actions taken by the user.
[0146] Event monitor 171 receives event information from peripherals interface 118. Event information includes information about sub-events (e.g., user touches on touch-sensitive display 112 as part of a multi-touch gesture). Peripherals interface 118 transmits information it receives from I / O subsystem 106 or sensors such as proximity sensor 166, accelerometer 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.
[0147] In some embodiments, event monitor 171 sends requests to peripheral device interface 118 at predetermined intervals. In response, peripheral device interface 118 transmits event information. In other embodiments, peripheral device interface 118 transmits event information only when there is a significant event (e.g., receiving an input above a predetermined noise threshold and / or receiving an input for more than a predetermined duration).
[0148] In some embodiments, the event classifier 170 also includes a hit view determination module 172 and / or an active event identifier determination module 173.
[0149] 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.
[0150] Another aspect of the user interface associated with an application is a set of views, sometimes also referred to herein as application views or user interface windows, in which information is displayed and touch-based gestures occur. The application views (of the respective application) in which a touch is detected optionally correspond to a programmatic level within the programmatic or view hierarchy of the application. For example, the lowest level view in which a touch is detected is optionally referred to as a hit view, and the set of events 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.
[0151] 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 where the sub-events should be processed. In most cases, the hit view is the lowest level view in which the initiating sub-event (e.g., the first sub-event in a sequence of sub-events 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 identified as the hit view.
[0152] 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 thereby 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.
[0153] 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.
[0154] In some embodiments, operating system 126 includes event classifier 170. Alternatively, application 136-1 includes event classifier 170. In another embodiment, event classifier 170 is a standalone module, or is part of another module (such as contact / motion module 130) stored in memory 102.
[0155] In some embodiments, application 136-1 includes multiple event handlers 190 and one or more application views 191, each of which includes instructions for handling touch events occurring within a corresponding view of the user interface of the application. Each application view 191 of application 136-1 includes one or more event recognizers 180. Typically, the corresponding application view 191 includes multiple event recognizers 180. In other embodiments, one or more event recognizers in event recognizers 180 are part of an independent module, which is a higher-level object such as a user interface toolkit (not shown) 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 in 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.
[0156] A corresponding event identifier 180 receives event information (e.g., event data 179) from event classifier 170 and identifies an event from the event information. Event identifier 180 includes an event receiver 182 and an event comparator 184. In some embodiments, event identifier 180 also includes metadata 183 and at least a subset of event delivery instructions 188 (which optionally include sub-event delivery instructions).
[0157] 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 (e.g., 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).
[0158] 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 sequence of sub-events), such as event 1 (187-1), event 2 (187-2), and others. In some embodiments, sub-events in event 187 include, for example, touch start, touch end, touch move, touch cancel, and multi-touch. In one example, 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.
[0159] In some embodiments, event definition 187 includes definitions of events for associated user interface objects. 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 the sub-event and the object that triggered the hit test.
[0160] 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.
[0161] When a corresponding event recognizer 180 determines that a series 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.
[0162] In some embodiments, the corresponding event identifier 180 includes metadata 183 having configurable properties, flags, and / or lists that indicate how the event delivery system should perform sub-event delivery to actively participating event identifiers. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate how event identifiers 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.
[0163] In some embodiments, when one or more specific sub-events of an event are identified, the corresponding event recognizer 180 activates an event handler 190 associated with the event. In some embodiments, the corresponding event recognizer 180 delivers event information associated with the event to the event handler 190. Activating the event handler 190 is different from sending (and deferred sending) the sub-events to the corresponding hit view. In some embodiments, the event recognizer 180 issues a flag associated with the identified event, and the event handler 190 associated with the flag obtains the flag and performs a predefined process.
[0164] In some embodiments, event delivery instructions 188 include sub-event delivery instructions that deliver event information about a sub-event without activating an event handler. Instead, the sub-event delivery instructions deliver the event information to an event handler associated with a sub-event sequence or to an actively participating view. An event handler associated with a sub-event sequence or with an actively participating view receives the event information and performs a predetermined process.
[0165] 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 position of user interface objects. GUI updater 178 updates the GUI. For example, GUI updater 178 prepares display information and sends the display information to graphics module 132 for display on a touch-sensitive display.
[0166] In some embodiments, one or more event handlers 190 include or have 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.
[0167] 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 using input devices to operate the multifunction device 100, and not all user input is initiated on the touch screen. For example, mouse movement and mouse button presses, optionally in conjunction with single or multiple keyboard presses or hold; contact movement on a touch pad, such as tapping, dragging, scrolling, etc.; stylus input; movement of the device; verbal commands; detected eye movement; biometric input; and / or any combination thereof are optionally used as input corresponding to sub-events defining the event to be recognized.
[0168] Figure 2A portable multifunction device 100 with a touch screen 112 according to some embodiments is shown. The touch screen optionally displays one or more graphics within a user interface (UI) 200. In this embodiment and in 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 accompanying drawings) or using one or more styluses 203 (not drawn to scale in the accompanying drawings). 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.
[0169] 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.
[0170] 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.
[0171] Figure 3300 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface according to some embodiments. The device 300 need not be portable. In some embodiments, the device 300 is a laptop, a desktop computer, a tablet computer, a multimedia player device, a navigation device, an educational device (such as a children's learning toy), a game system, or a control device (e.g., a home controller or an industrial controller). The device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, a memory 370, and one or more communication buses 320 for interconnecting these components. The communication bus 320 optionally includes circuits (sometimes called chipsets) that interconnect system components and control communications between system components. The device 300 includes an input / output (I / O) interface 330 with a display 340, which is typically a touch screen display. The I / O interface 330 also optionally includes a keyboard and / or mouse (or other 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 one or more tactile output generators 167 described above), sensors 359 (e.g., optical sensors, acceleration sensors, proximity sensors, touch sensors, and / or contact intensity sensors (similar to the above referenced Figure 1A The memory 370 optionally includes one or more storage devices located away from the one or more CPUs 310. In some embodiments, the memory 370 stores information 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.
[0172] 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 module corresponds to the instruction set for performing the above-mentioned functions.The above-mentioned modules or programs (e.g., instruction sets) need not be implemented as independent software programs, 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 subset of the above-mentioned modules and data structures.In addition, memory 370 optionally stores other modules and data structures not described above.
[0173] Attention is now turned to an embodiment of a user interface that is optionally implemented on, for example, portable multifunction device 100.
[0174] Figure 4A An exemplary user interface of a menu of applications on portable multifunction device 100 according to some embodiments is shown. A similar user interface is optionally implemented on device 300. In some embodiments, user interface 400 includes the following elements, or a subset or superset thereof:
[0175] One or more signal strength indicators 402 of one or more wireless communications, such as cellular signals and Wi-Fi signals;
[0176] Time 404;
[0177] Bluetooth indicator 405;
[0178] Battery status indicator 406;
[0179] A tray 408 with icons of commonly used applications, such as:
[0180] o An icon 416 of the phone module 138 labeled "Phone," which optionally includes an indicator 414 of the number of missed calls or voice messages;
[0181] o an icon 418 of the email client module 140 labeled “Mail”, which optionally includes an indicator 410 of the number of unread emails;
[0182] o An icon 420 labeled "Browser" of the browser module 147; and
[0183] o An icon 422 labeled “iPod” of a video and music player module 152 (also referred to as an iPod (trademark of Apple Inc.) module 152); and
[0184] Icons for other apps, such as:
[0185] o Icon 424 labeled "Message" of IM module 141;
[0186] o An icon 426 labeled “Calendar” of the calendar module 148;
[0187] o Icon 428 labeled “Photos” of the image management module 144;
[0188] o An icon 430 labeled “Camera” of the camera module 143;
[0189] ○ Icon 432 labeled “Online Video” of the online video module 155;
[0190] ○ Icon 434 labeled “Stock Market” of the Stock Market Desktop Applet 149-2;
[0191] o An icon 436 labeled “Map” of the map module 154;
[0192] ○ Icon 438 labeled “Weather” of the Weather widget 149-1;
[0193] ○ Icon 440 labeled as “Clock” of the alarm clock desktop applet 149-4;
[0194] o An icon 442 labeled “Fitness Support” of the fitness support module 142;
[0195] o An icon 444 labeled "Notepad" of the Notepad module 153; and
[0196] ○ An icon 446 labeled “Settings” for a settings application or module that provides access to settings for the device 100 and its various applications 136 .
[0197] Please note that Figure 4A The icon labels shown in are exemplary only. For example, icon 422 of 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 a 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.
[0198] Figure 4B A touch-sensitive surface 451 (eg, touch screen display 112) is shown having a touch-sensitive surface 451 (eg, Figure 3 tablet computer or touch pad 355) device (e.g., Figure 3Device 300 also optionally includes one or more contact intensity sensors (e.g., one or more of sensors 359) for detecting intensity of contact on touch-sensitive surface 451, and / or one or more tactile output generators 357 for generating tactile output for a user of device 300.
[0199] 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 the display of a multi-function device ( 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 by the device to manipulate the user interface on the display. It should be understood that similar methods are optionally used for other user interfaces described herein.
[0200] In addition, 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 a mouse and finger contact are optionally used simultaneously.
[0201] Figure 5AAn exemplary personal electronic device 500 is shown. Device 500 includes a body 502. In some embodiments, device 500 may include a body 502 relative 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. As an alternative or in addition to touch screen 504, device 500 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 strength sensors for detecting the intensity of contact (e.g., touch) applied. One or more strength 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 touch, which means that touches of different intensities can invoke different user interface operations on device 500.
[0202] Exemplary techniques for detecting and processing touch intensity are found, for example, in the following related patent applications: International patent application serial number PCT / US2013 / 040061, entitled “Device, Method, and Graphical User Interface for Displaying User Interface Objects Corresponding to an Application,” filed on May 8, 2013, published as WIPO patent publication number WO / 2013 / 169849; and International patent application serial number PCT / US2013 / 069483, entitled “Device, Method, and Graphical User Interface for Transitioning Between Touch Input to Display Output Relationships,” filed on November 11, 2013, published as WIPO patent publication number WO / 2014 / 105276, each of which is hereby incorporated by reference in its entirety.
[0203] 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.
[0204] Figure 5B An exemplary personal electronic device 500 is shown. In some embodiments, the device 500 may include a reference 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.
[0205] 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 can be operatively connected to I / O portion 514.
[0206] 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 following techniques, including method 800 ( Figure 8 )、Method 11( Fig.11 ), method 1400( Fig.14 ), method 1700( Fig.17 ), Method 2000( Fig. 20 ) and method 2300( Fig.23 ). The 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.
[0207] As used herein, the term "indicative representation" refers to an optional feature of the apparatus 100, 300, and / or 500 (FIG. 1, Figure 3 5 ). For example, an image (e.g., an icon), a button, and text (e.g., a hyperlink) optionally each constitute an affordance.
[0208] As used herein, the term "focus selector" refers to an input element used to indicate the current portion of a user interface with which a user is interacting. In some 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 detected contact 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).
[0209] 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.
[0210] Figure 5C Detecting multiple contacts 552A-552E on touch-sensitive display screen 504 using multiple intensity sensors 524A-524D is shown. Figure 5C Also included is an intensity graph that shows the current intensity measurements of intensity sensors 524A-524D relative to intensity units. In this example, the intensity measurements of intensity sensors 524A and 524D are each 9 intensity units, and the intensity measurements of intensity sensors 524B and 524C are each 7 intensity units. In some implementations, the cumulative intensity is the sum of the intensity measurements of multiple intensity sensors 524A-524D, which is 32 intensity units in this example. In some embodiments, each contact is assigned a corresponding intensity, which is a portion of the cumulative intensity. Figure 5DThe cumulative strength assigned to contacts 552A-552E based on their distance from the center of force 554 is shown. In this example, each of contacts 552A, 552B, and 552E is assigned a contact strength of 8 strength units of the cumulative strength, and each of contacts 552C and 552D is assigned a contact strength of 4 strength units of the cumulative strength. More generally, in some embodiments, each contact j is assigned a corresponding strength Ij, which is a portion of the cumulative strength A, according to a predefined mathematical function Ij=A·(Dj / ΣDi), where Dj is the distance of the corresponding contact j from the center of force, and ΣDi is the sum of the distances of all corresponding contacts (e.g., i=1 to the last) from the center of force. The reference may be performed using an electronic device similar to or equivalent to device 100, 300, or 500. Figure 5C-5D In some embodiments, the characteristic intensity of the contact is based on one or more intensities of the contact. In some embodiments, the intensity sensor is used to determine a single characteristic intensity (e.g., a single characteristic intensity of a single contact). It should be noted that the intensity map is not part of the displayed user interface, but is included in the Figure 5C-5D To help readers.
[0211] In some embodiments, a portion of a gesture is identified for determining characteristic strength. For example, the touch-sensitive surface optionally receives a continuous swipe contact that transitions from a starting position and reaches an end position, where the contact strength increases. In this example, the characteristic strength of the contact at the end position is optionally based only on a portion of the continuous swipe contact, rather than the entire swipe contact (e.g., only the portion of the swipe contact at the end position). In some embodiments, a smoothing algorithm is optionally applied to the strength of the swipe contact before determining the characteristic strength of the contact. For example, the smoothing algorithm optionally includes one or more of the following: an unweighted sliding average smoothing algorithm, a triangular smoothing algorithm, a median filter smoothing algorithm, and / or an exponential smoothing algorithm. In some cases, these smoothing algorithms eliminate narrow peaks or depressions in the strength of the swipe contact to achieve the purpose of determining the characteristic strength.
[0212] The intensity of contact on the touch-sensitive surface is optionally characterized relative to one or more intensity thresholds such as a contact detection intensity threshold, a light press intensity threshold, a deep press intensity threshold, and / or one or more other intensity thresholds. In some embodiments, the light press intensity threshold corresponds to an intensity at which the device will perform an operation typically associated with clicking a button of a physical mouse or touchpad. In some embodiments, the deep press intensity threshold corresponds to an intensity at which the device will perform an operation different from the operation typically associated with clicking a button of a physical mouse or touchpad. In some embodiments, when a contact having a characteristic intensity lower than the light press intensity threshold (e.g., and higher than a nominal contact detection intensity threshold, contacts lower than the nominal contact detection intensity threshold are no longer detected) is detected, the device will move the focus selector according to the movement of the contact on the touch-sensitive surface without performing an operation associated with the light press intensity threshold or the deep press intensity threshold. Generally speaking, unless otherwise stated, these intensity thresholds are consistent between different groups of user interface illustrations.
[0213] An increase in contact feature intensity from an intensity below a light press intensity threshold to an intensity between the light press intensity threshold and the deep press intensity threshold is sometimes referred to as a "light press" input. An increase in contact feature intensity from an intensity below a deep press intensity threshold to an intensity above the deep press intensity threshold is sometimes referred to as a "deep press" input. An increase in contact feature intensity from an intensity below a contact detection intensity threshold to an intensity between the contact detection intensity threshold and the light press intensity threshold is sometimes referred to as detecting contact on the touch surface. A decrease in contact feature intensity from an intensity above the contact detection intensity threshold to an intensity below the contact detection intensity threshold is sometimes referred to as detecting contact lifted from the touch surface. In some embodiments, the contact detection intensity threshold is zero. In some embodiments, the contact detection intensity threshold is greater than zero.
[0214] In some embodiments described herein, one or more operations are performed in response to detecting a gesture that includes a corresponding press input or in response to detecting a corresponding press input performed using a corresponding contact (or multiple contacts), wherein the corresponding press input is detected at least in part based on detecting that the strength of the contact (or multiple contacts) increases to above a press input strength threshold. In some embodiments, the corresponding operation is performed in response to detecting that the strength of the corresponding contact increases to above the press input strength threshold (e.g., a "down stroke" of the corresponding press input). In some embodiments, the press input includes an increase in the strength of the corresponding contact to above the press input strength threshold and the strength of the contact subsequently decreases to below the press input strength threshold, and the corresponding operation is performed in response to detecting that the strength of the corresponding contact subsequently decreases to below the press input threshold (e.g., an "up stroke" of the corresponding press input).
[0215] Figure 5E-Figure 5HDetection of a gesture is shown, the gesture comprising contact 562 with an intensity from below Figure 5E The light press intensity threshold in L ”) increases to a strength higher than Figure 5H The deep compression intensity threshold in D ”). On the displayed user interface 570 including application icons 572A-572D displayed in the predefined area 574, when the cursor 576 is displayed above the application icon 572B corresponding to the application 2, the gesture performed using the contact 562 is detected on the touch-sensitive surface 560. In some embodiments, the gesture is detected on the touch-sensitive display 504. The intensity sensor detects the intensity of the contact on the touch-sensitive surface 560. The device determines that the intensity of the contact 562 is within the deep press intensity threshold (for example, “IT D ”) reaches a peak above. Contact 562 is maintained on touch-sensitive surface 560. In response to detecting the gesture, and according to the intensity increasing to a deep press intensity threshold (e.g., “IT D ”) above contact 562, displays reduced-scale representations 578A-578C (e.g., thumbnails) of documents recently opened for application 2, such as Figure 5F-5H In some embodiments, the intensity is a characteristic intensity of the contact compared to one or more intensity thresholds. It should be noted that the intensity map for contact 562 is not part of the displayed user interface, but is included in the Figure 5E-Figure 5H To help readers.
[0216] In some embodiments, the display of representations 578A-578C includes animation. For example, representation 578A is initially displayed near application icon 572B, such as Fig. 5F As the animation progresses, representation 578A moves upward and representation 578B is displayed near application icon 572B, as shown in FIG. Figure 5G Then, representation 578A moves upward, 578B moves upward toward representation 578A, and representation 578C is displayed near application icon 572B, as shown in FIG. Figure 5H 578A-578C form an array above icon 572B. In some embodiments, the animation progresses according to the intensity of contact 562, such as Figure 5F-5G , where representations 578A-578C appear and increase as the strength of contact 562 approaches a deep press strength threshold (eg, “IT D ”) increases and moves upward. In some embodiments, the intensity according to which the animation progresses is the characteristic intensity of the contact. The reference may be performed using an electronic device similar to or equivalent to device 100, 300, or 500. Figure 5E-Figure 5H The operation described.
[0217] In some embodiments, the device employs intensity hysteresis to avoid unexpected inputs sometimes referred to as "jitter," where the device defines or selects a hysteresis intensity threshold that has a predefined relationship to a press input intensity threshold (e.g., the hysteresis intensity threshold is X intensity units lower than the press input intensity threshold, or the hysteresis intensity threshold is 75%, 90%, or some reasonable proportion of the press input intensity threshold). Thus, in some embodiments, a press input includes an increase in the intensity of the corresponding contact to above the press input intensity threshold and a subsequent decrease in the intensity of the contact to below the hysteresis intensity threshold corresponding to the press input intensity threshold, and a corresponding operation is performed in response to detecting that the intensity of the corresponding contact subsequently decreases to below the hysteresis intensity threshold (e.g., an "upward stroke" of the corresponding press input). Similarly, in some embodiments, a press input is detected only when the device detects that the contact intensity increases from an intensity equal to or below the hysteresis intensity threshold to an intensity equal to or above the press input intensity threshold and, optionally, that the contact intensity subsequently decreases to an intensity equal to or below the hysteresis intensity, and a corresponding operation is performed in response to detecting the press input (e.g., an increase in contact intensity or a decrease in contact intensity, depending on the circumstances).
[0218] For ease of explanation, optionally, a description of an operation performed in response to a press input associated with a press input intensity threshold or in response to a gesture including a press input is triggered in response to detecting any of the following: contact intensity increasing to above the press input intensity threshold, contact intensity increasing from an intensity below a hysteresis intensity threshold to an intensity above the press input intensity threshold, contact intensity decreasing to below the press input intensity threshold, and / or contact intensity decreasing to below a hysteresis intensity threshold corresponding to the press input intensity threshold. Additionally, in examples where an operation is described as being performed in response to detecting that the intensity of the contact decreases below the press input intensity threshold, the operation is optionally performed in response to detecting that the intensity of the contact decreases below a hysteresis intensity threshold that corresponds to and is less than the press input intensity threshold.
[0219] 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.
[0220] Figure 6A-6E and Figure 7A-7K illustrative user interfaces for activity and fitness monitoring according to some embodiments are shown. The user interfaces in these figures are used to illustrate the processes described below, including Figure 8 process.
[0221] Fig. 6A A portable electronic device 600 is shown. In some embodiments, the device 600 includes the device described above with respect to Figure 1A-1B , Figure 2-Figure 3 , Figure 4A-4B and Figure 5A-5H Some or all of the features of the device 100, device 300, or device 500 described above. The portable electronic device 600 is displaying a user interface 602 for a fitness or activity application, which can help track data related to physical activity, health, and / or physiological status of a user of the portable electronic device 600. The portable electronic device 600 can be carried or worn by the user. For example, the portable electronic device 600 can be a watch worn on the wrist of the user. The portable electronic device can also be other types of devices.
[0222] User interface 602 includes a goal summary graphical element 604 that represents progress toward a set of goals. Progress toward each of the set of goals is represented by goal graphical elements 606, 608, and 610. For example, goal graphical element 606 may represent progress toward a goal for total calories burned that day, goal graphical element 608 may represent a goal for total time spent active by the user that day, and goal graphical element 610 may relate to a goal for the number of hours the user spent standing up at least once today. Goal summary graphical element 604 may be updated as sensors on portable electronic device 600 measure additional activity data.
[0223] The user interface 602 also includes a page indicator 612 that indicates that there are other pages that can be viewed. For example, the indicator 612 shows that another page can be accessed from the current page. The solid dot in the indicator 612 indicates that the user interface 602 currently being viewed is the first of two pages. The unfilled indicator to the right of the filled solid indicator shows that there is an "other" page that is not displayed, but can be accessed from the user interface 602. For example, this page can be accessed by a swipe gesture on the touch screen of the portable electronic device 600. When the page is changed, the indicator 612 is updated to reflect the page being displayed.
[0224] For example, a swipe gesture to the left can display the last page and will display an updated indicator showing the first dot open and the last dot filled in. The result of this example is Figure 6B , which includes a user interface 660 showing contact information 662, 664, 666, and 668 for a plurality of contacts (Adam, Jeff, Mary, and Nancy) (although only a portion of the contact information 668 is shown). The contact information 662, 664, 666, and 668 includes the first name of the contact. The contact information may include other fields in addition to or in lieu of the first name, such as last name, initials, photo, group name, or user name. Displayed along with the contact information 662, 664, 666, and 668 is a goal metric for each contact. Figure 6BThe goal metric is the progress toward each contact's total calorie goal burned for the day. The progress is expressed as a percentage of the goal.
[0225] Re-reference Fig. 6A In addition to viewing additional pages from user interface 602, other user inputs, such as a vertical scroll gesture, may be used to access additional information of user interface 602. For example, a scroll gesture may scroll user interface 602 to display a new portion of user interface 602. This result is shown in FIG. Figure 6C , which shows that the target summary graphic element 604 has been replaced by a target graphic element 614, which includes Fig. 6A The target graphic element 606 is similar to the target metric data. The target graphic element 614 also includes text that specifies the current progress toward the target. For ease of presentation, Figure 6C Indicator 612 is not included in the Figure 6C-Figure 6E But you can not Figure 6A-6B Indicator 612 is presented in .
[0226] If the portable electronic device 600 is in Fig.6D When one or more additional scroll gestures are received in the illustrated state, additional portions of user interface 602 may be displayed, such as Fig.6D . This section includes fitness graphic elements 616, 618, 620, and 622 for corresponding fitness metrics. In this case, the graphic element is text. In other cases, the graphic element can include other elements, such as text, images, videos, and animations.
[0227] for Figure 6B For the user interface 660 of , scrolling is possible. Figure 6B When the user interface 660 shown in FIG. 1 receives a scroll input (e.g., a swipe gesture on a touch screen or a rotation of a rotatable input), the user interface 660 may be scrolled to display the image for the user interface 660. Fig. 6E Contact information for additional contacts is shown (eg, contact information 670 for a contact named Tom).
[0228] Fig. 7A A graphical representation 700 of activity data is shown. The activity data is, for example, for a user of a portable electronic device 600 ( Figure 6A-6E ). Portions of the graphical representation 702 may be displayed on the portable electronic device 600 as part of a user interface (eg, user interface 602). The graphical representation 702 includes target graphical elements 604, 614, 702, 704, and 706. Respectively Fig. 6A and Fig.6DDepicted are goal graphical elements 604 and 614. Goal graphical elements 702 and 704 may be similar to goal graphical element 614, except that they present different goal metrics (eg, active minutes and hours when the user is standing).
[0229] Target summary graphic element 706 displays a time representation of the target metric associated with target graphic elements 614, 702, and 704. Specifically, schematic diagram 708 corresponds to the target metric associated with target graphic element 614 and depicts the amount of calories burned as a function of the time of day, with morning on the left side of the schematic diagram and evening on the right side of the schematic diagram. Schematic diagram 710 similarly corresponds to the target metric associated with target graphic element 702. Schematic diagram 712 similarly corresponds to the target metric associated with target graphic element 704, except that schematic diagram 712 depicts binary data (e.g., whether the user stood up at each hour of the day). Schematics 708, 710, and 712 can be color-coded to become their corresponding target graphic elements.
[0230] Fitness graphical elements 616, 618, 620, and 622 correspond to different fitness metrics for the user's fitness. For example, these graphical elements may correspond to the time of fitness, the distance of fitness, the pace of fitness, and the average or maximum heart rate of fitness. These graphical elements may represent the most recent fitness that the user has completed. In other cases, these or additional graphical elements may represent multiple fitness or one or more fitness of the day.
[0231] Graphical representation 700 may also include additional graphical elements such as graphical element 714. Graphical element 714 may represent other data and information that may be of interest or use to a user.
[0232] The target-related graphic elements (e.g., target summary graphic element 604, target graphic elements 614, 702 and 704, and target graphic element 706) are included in the target portion 716 of the graphical representation 700. The elements in this part are more suitable for being displayed as one at a time when displayed on a smaller screen. For example, it may not be desirable to display half of the target graphic element 614 and half of the graphic element 702. On the contrary, it may be more desirable to display only one of these elements at a time, and make it easy for the user to switch between elements. In some embodiments, doing so can help the user consume relevant information, thereby alleviating the cognitive burden when interacting with an electronic device and improving the human-device interface.
[0233] Fitness-related graphical elements (e.g., fitness graphical elements 616, 618, 620, and 622) are included in the fitness portion 718. In contrast to the elements of the goal portion, the elements of the fitness portion may be suitable for viewing even when multiple elements are displayed at a time. Therefore, it may be desirable for the user to have more control over what fitness graphical elements are currently displayed. The embodiments described below allow the same user input to be treated differently depending on what is being displayed. This enables the user to scroll through the data using a single type of user input in a manner that maintains the most useful scrolling style for each portion of the graphical representation.
[0234] Figure 7B A graphical representation 701 of activity data is shown. Graphical representation 701 is similar to graphical representation 700 with several exceptions. First, instead of goal graphical indicators 702 and 704 of graphical representation 700, goal graphical elements 720 and 722 corresponding to the goal metrics for goal graphical indicators 702 and 704 are included and are sized the same as goal graphical element 614. Second, there are no elements for time-series goal data in graphical representation 701, as shown in goal graphical element 706. Third, graphical representation 701 includes graphical elements 724 and 730, which are not included in goal section 726 or fitness section 728. Graphic elements 724 and 730 may be other types of graphical elements, such as a summary of activity data for friends or a description of other data. Fourth, fitness section 728 excludes fitness graphical elements 616 and 714.
[0235] When displayed on the display of portable electronic device 600, graphical representations 700 and 701 extend beyond the displayable area. In some cases, graphical representations 700 and 701 can have a width corresponding to the width of the displayable area of the display of portable electronic device 600, and have a height that is a multiple of the height of the displayable area of the display of portable electronic device 600. The opposite situation can also exist (i.e., the height corresponds, but the width is many times). In addition, as described above, different parts of the graphical representation can have different appropriate scrolling styles. Specifically, as described in the following paragraphs with respect to Figure 7C-7K As explained in more detail, the goal portion of the graphical representation of activity data may be more suitable for scrolling the entire graphical element at once, while the fitness portion may be suitable for a more continuous scrolling style.
[0236] Figure 7C and Fig. 6ASimilarly, user interface 602 is depicted displaying a portion of graphical representation 700. The displayed portion of graphical representation 700 includes target summary graphical element 604, which is part of a target portion of graphical representation 700. Because the graphical elements of the target portion are more appropriately displayed one at a time, in response to a scroll input from the bottom of the display to the top of the display, display of target summary graphical element 604 is replaced with target graphical element 614, as shown in FIG. Fig.7D shown.
[0237] In the target portion, the display transitions from the summary graphical element 604 to the target graphical element 614, or more generally, from one graphical element to an adjacent graphical element, can occur through a variety of mechanisms. For example, from the target graphical element 614 ( Fig.7D ) transitions to the target graphic element 702 ( Figure 7F ) can respond to scroll input in the form of translation of a graphical element, in the form of a shrinking / growing animation, or other forms.
[0238] Fig. 7E 1 shows a display transition moment in the form of a graphical element translation. Upon receiving the scroll input, the target graphical element 614 translates upward away from the display, while the target graphical element 702 translates upward into the display. If the scroll input stops before the target graphical element 702 completely replaces the target graphical element 614, one of the graphical elements is captured on the display, while the other is not displayed. For example, Fig. 7E As shown, more than half of the target graphical element 614 has been translated off the display, and more than half of the target graphical element 702 has been translated onto the display. In this case, because more than half of the target graphical element 702 is now displayed, in response to the scroll input stopping and no further user input, all of the target graphical element 702 may be displayed without displaying any of the target graphical element 702, as shown in FIG. Figure 7F Other thresholds other than half may also be used (e.g., one-third or one-quarter). If the threshold is not exceeded, the display will return to displaying only the target graphical element 614, as shown. Fig.7D shown.
[0239] Figure 7G shows the shrinking / enlarging transition form from FIG. 7D to FIG. 7E When the scroll input is received, the target graphic element 614 shrinks and the target graphic element 702 grows. For example, Figure 7GThe transition graphic element 732 in FIG. 7 depicts a contracted portion 734 corresponding to the target graphic indicator 614 and an enlarged portion 736 corresponding to the target graphic indicator 702. Following the translation transition described in the previous paragraph, if the scroll input ends and the display transition exceeds the threshold level, the display will snap to the target graphic element 702, as shown in FIG. Figure 7F As shown, there is no additional user input. If the threshold is not exceeded, the display will automatically return to the target graphical element 614 in response to the scroll input stopping, as shown. Fig.7D shown.
[0240] In a similar manner, the graph representation 700 ( Fig. 7A ) of the target part (e.g. Figure 7H In addition to the above-described translation and shrink / grow animation transitions, other transitions may also be used, such as replacing the display of a graphical element in response to a particular level of scroll input or fading in or out a graphical element in response to a scroll input.
[0241] Fig.7I 700. This transition may occur similar to the transitions described above such that when a threshold portion of the fitness portion is displayed or a fitness graphical element is displayed in response to a scroll input (e.g., as shown in FIG. 70), the graphical element of the fitness portion of the graphical representation of activity data 700 is transitioned from displaying a graphical element of the goal portion to displaying a graphical element of the fitness portion of the graphical representation of activity data 700. Fig.7I ), the display may automatically capture the first fitness graphical element (e.g., Figure 7J 616 in the fitness section) without further user input. Alternatively, once a portion of the fitness section is displayed, the scrolling input can be more continuous and the display can be maintained in its current state in response to the scrolling input stopping. For example, if the scrolling input stops when a portion of the display includes the goal graphical element 706 and the graphical element 612, as shown in FIG. Fig.7I As shown, the display can be maintained.
[0242] In the display (for example, Figure 7J When a fitness graphical element (e.g., fitness graphical element 616, 618, 620, 622, or 714) is captured relative to the target portion, the scroll input may result in a more continuous scrolling, as opposed to the scrolling behavior of snapping the graphical element relative to the target portion. The displayed fitness graphical element of the fitness portion may be translated proportionally to the amount of the scroll input and not automatically translated further in response to the scroll input being stopped. For example, relative to Figure 7KIn response to scrolling input stopping when only a portion of fitness graphical elements 612 and 618 are displayed, the display may be maintained without further user input. Alternatively, the display may automatically translate the fitness graphical elements so that the nearest fitness graphical element is aligned with the top of the display.
[0243] Figure 8 800 is a flow chart showing a method for navigating and viewing activity data using a portable electronic device according to some embodiments. Method 800 is performed at a device (e.g., 100, 300, 500, 600) having a display and (in some cases) a touch-sensitive screen. Some operations in method 800 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0244] As described below, method 800 provides an intuitive way to navigate and view activity data. The method reduces the cognitive burden on users to navigate menus and view different types of activity metrics, thereby creating a more efficient human-computer interface. For battery-powered computing devices, enabling users to navigate and understand data faster and more efficiently saves power and increases the time interval between battery charges.
[0245] In block 802, a graphical representation of activity data is generated for output to a display of a portable electronic device. For example, one or more processors of the portable electronic device may generate the graphical representation. The graphical representation may be, for example, Fig. 7A and Figure 7B 700 or 701. For example, activity data can be generated on a portable electronic device by taking measurements using one or more sensors of the portable electronic device. Activity data can also be received from an external source such as a companion device. Other methods for obtaining activity data can also be used.
[0246] The graphical representation generated in block 802 includes a goal portion and a fitness portion. The goal portion includes a goal graphical element for a goal metric. The fitness portion includes a fitness graphical element for a fitness metric. The graphical representation is larger than the displayable area of a display of a portable electronic device. Some embodiments of method 800 allow for easy navigation of the graphical representation, making it easy to identify and understand the data represented in the graphical representation. Fig. 7A and Figure 7B and associated descriptions for graphical representations of activities.
[0247] In block 804, a portion of a graphical representation is displayed on a display of a portable electronic device. The displayed first portion includes a first graphical element, which may be a target graphical element of a target portion (e.g., Fig. 7Aof the graphical representation 700), a fitness graphical element of the fitness portion (e.g., Fig. 7A The fitness graphical element 614 of the graphical representation 700) or another graphical element.
[0248] In block 806, a scroll in input is received at the portable electronic device. For example, the scroll input may be any input that is interpreted as a scroll, such as a swipe gesture or a drag gesture on a touch screen or a rotation of a rotatable input. Other types of scroll inputs may also be used.
[0249] In block 808, when the displayed portion is the target portion, display of the first graphical element is replaced with display of the first target graphical element. For example, if the first graphical element of block 804 is another target graphical element (e.g., Fig. 7A In this example, in response to receiving the scroll input of box 806, the first target graphic element (e.g., Fig. 7A The target graphic element 614 replaces the target graphic element 604. This results in FIG. 7C to FIG. 7D This block may be executed by one or more processors of the portable electronic device including a graphics processor.
[0250] In some variations of method 800, the transition from display of the first graphical element to display of the first target graphical element includes an animation. Figure 7G The shrinking / expanding animation may be generated by one or more processors of the portable electronic device, including a graphics processor.
[0251] Optionally, in block 810 as part of block 808, in response to detecting that the scroll input has ceased, an amount of the first target graphical element being displayed is determined, for example, by one or more processors of the portable electronic device. If the amount displayed is greater than a threshold amount, display of the first target graphical element may automatically and completely replace display of the first graphical element. If the amount displayed is less than the threshold amount, display of the first graphical element may be automatically resumed and the first target graphical element may not be displayed at all. Also with respect to FIG. 7D to FIG. 7F ,via Fig. 7E Or 7G transition, describes this box.
[0252] The threshold value may have many possible values. For example, the threshold value may be 50%. The determination of the displayed amount of the first target graphical element may be performed using various methods, including directly determining the amount of the displayed first target graphical element, determining the amount of the displayed first graphical element, or determining the size of the received scroll input.
[0253] In some variations of method 800, before displaying the first target graphical element (e.g., Fig. 7A After receiving another scroll input (e.g., in a manner similar to receiving the scroll input of block 806), the first target graphical element (e.g., Fig. 7E A second target graphic element (eg, Fig. 7E According to the displayed portion of the second target graphic element exceeding the threshold, the second target graphic element is displayed without displaying the first target graphic element. Fig.7D via Fig. 7E Transition to Figure 7F As described in the description of , in response to detecting that the scroll input has stopped, either the first target graphic element 614 or the second target graphic element 702 (but not both) will be displayed. If the scrolling amount (e.g., the displayed portion of the second target graphic) has exceeded the threshold, the second target graphic element will be displayed without displaying the first target graphic element. Otherwise, the display of the first target graphic element is restored without displaying the second target graphic element.
[0254] At block 812, when the displayed portion is not the target portion, the display of the first graphical element is translated by an amount based on the scroll input size. In addition, at least a portion of the first fitness graphical element is displayed. For example, if the first graphical element of block 804 is another fitness graphical element (e.g., Figure 7J In this example, in response to receiving the scroll input of block 806, the fitness graphical element 616 is translated upwardly on the display so that only a portion of the element is displayed. At the same time, the first fitness graphical element (e.g., Fig. 7A This result is in Figure 7J to Figure 7K This block may be executed by one or more processors of the portable electronic device including a graphics processor. In response to detecting that the scroll input has stopped, maintaining partial display of fitness graphical elements 616 and 622, such as Figure 7K shown.
[0255] In some variations of process 800, before displaying the first fitness graphical element (e.g., Fig. 7A After receiving another scroll input (e.g., in a manner similar to receiving the scroll input of block 806), the first fitness graphical element (e.g., Figure 7K A second fitness graphical element (e.g., Figure 7KThis display is maintained even if the scroll input stops. For example, as described above with respect to Figure 7J Transition to Figure 7K As described above, in response to detecting that the scroll input has stopped, both the first fitness graphical element 616 or the second fitness graphical element 622 will be displayed.
[0256] It should be noted that the process described above with reference to method 800 (eg Figure 8 ) also applies in a similar manner to the methods described below. For example, method 1100 ( Fig.11 ), method 1400( Fig.14 ), method 1700( Fig.17 ), Method 2000( Fig. 20 ) and method 2300( Fig.23 ) optionally includes one or more features of the various methods described above with reference to method 800. For example, the scrolling style of method 800 can be applicable to viewing data in these other methods. For the sake of brevity, these details are not repeated below.
[0257] According to some embodiments, Fig. 9 An exemplary functional block diagram of an electronic device 900 configured according to the principles of various described embodiments is shown. According to some embodiments, the functional blocks of the electronic device 900 are configured to perform the techniques described above. The functional blocks of the device 900 are optionally implemented by hardware, software, or a combination of hardware and software to perform the principles of various described examples. It should be understood by those skilled in the art that Fig. 9 The functional blocks described in the present invention are optionally combined or separated into sub-blocks to implement the principles of various examples. Therefore, the description herein optionally supports any possible combination or separation or further limitation of the functional blocks described herein.
[0258] like Fig. 9 As shown in , the electronic device 900 includes a display unit 902 configured to display a graphical user interface, a touch-sensitive surface unit 904 configured to receive contact (i.e., touch), optionally a pressure-sensitive surface unit 918, and a processing unit 906 coupled to the display unit 902 and the touch-sensitive surface unit 904. In some embodiments, the processing unit 906 includes a display enabling unit 908, a receiving unit 910, a determining unit 912, a generating unit 914, and optionally a detecting unit 916.
[0259] Processing unit 906 is configured to: generate (e.g., using generation unit 914) a graphical representation of the activity data for output on a display, wherein the graphical representation includes a goal portion and a fitness portion, wherein: the goal portion and the fitness portion both extend beyond a displayable area of the display, the goal portion includes a first goal graphical element for a first goal metric, and the fitness portion includes a first fitness graphical element for a first fitness metric. Processing unit 906 is further configured to enable display of a first portion of the graphical representation on display unit 902 (e.g., using display enabling unit 908), wherein the displayed first portion includes the first graphical element. The processing unit 906 is also configured to, in response to receiving a first scrolling input (e.g., using the touch-sensitive surface unit 904): enable display of the first graphical element to be replaced with display of the first target graphical element (e.g., using the display enabling unit 908) when the displayed first portion belongs to the target portion; and enable (e.g., using the display enabling unit 908) translating the first graphical element by an amount based on the size of the first scrolling input and displaying at least a portion of the first fitness graphical element when the displayed first portion does not belong to the target portion.
[0260] In some embodiments, replacing display of the first graphical element with display of the first target graphical element includes transitioning the first graphical element to the first target graphical element via an animation.
[0261] In some embodiments, the processing unit 906 is further configured to, in response to receiving the first scroll input (e.g., using the receiving unit 910), enable display of a portion of the first graphical element when displaying a portion of the first target graphical element (e.g., using the display enabling unit 908). The processing unit 906 is further configured to, when the displayed first portion belongs to the target portion and in response to detecting (e.g., using the detecting unit 916) that the first scroll input has stopped, determine (e.g., using the determining unit 912) whether the displayed portion of the first target graphical element is greater than a threshold, wherein replacing the display of the first graphical element with the display of the first target graphical element is based on determining that the displayed portion of the first target graphical element exceeds the threshold.
[0262] In some embodiments, the target portion includes a second target graphical element for a second target metric, and the processing unit 902 is further configured to receive a second scroll input (e.g., using the receiving unit 910) while displaying the first target graphical element. The processing unit 902 is further configured to enable, in response to receiving the second scroll input, a portion of the first target graphical element to be displayed while a portion of the second target graphical element is displayed (e.g., using the display enabling unit 909). The processing unit 902 is further configured to determine, in response to detecting that the first scroll input has stopped, whether the displayed portion of the second target graphical element is greater than a threshold (e.g., using the determining unit 912). The processing unit 906 is further configured to enable, based on determining that the displayed portion of the second target graphical element is greater than the threshold intensity, to replace the display of the first target graphical element with the display of the second target graphical element (e.g., using the display enabling unit 908).
[0263] In some embodiments, the graphical representation includes a target summary portion having summary graphical elements representing time series data for the first target metric.
[0264] In some embodiments, the color of the summary graphical element corresponds to the color of the first target metric.
[0265] In some embodiments, the fitness portion includes a second fitness graphical element for a second fitness metric, and the processing unit 906 is further configured to receive a third scroll input (e.g., using the receiving unit 910) while the first fitness graphical element is displayed. The processing unit 906 is further configured to enable (e.g., using the display enabling unit 908) responsive to receiving the third scroll input to translate the display of the first fitness graphical element by an amount based on the third scroll input while displaying a portion of the second fitness graphical element. The processing unit 906 is further configured to enable (e.g., using the display enabling unit 908) to maintain display of the portion of the first fitness graphical element and the portion of the second fitness graphical element after the second scroll input has ceased.
[0266] In some embodiments, the portable electronic device includes a pressure-sensitive touch screen unit 918, and the processing unit 906 is further configured to receive a user input on the pressure-sensitive touch screen unit (918) while displaying a portion of the target portion of the graphical representation of the activity data (e.g., using the receiving unit 910), wherein the user input has a characteristic intensity. The processing unit 906 is further configured to determine whether the characteristic intensity exceeds the intensity threshold based on determining that the user input exceeds the intensity threshold: enable display of an affordance for entering a target setting interface (e.g., using the display enabling unit 908), and in response to receiving user input selecting the affordance, enable display of the target setting interface (e.g., using the display enabling unit 908). The processing unit 906 is further configured to receive user input via the target setting interface (e.g., using the receiving unit 912), the user input indicating a new value for the first target via the displayed user interface element.
[0267] Figures 10A-10G A user interface of a portable electronic device for navigating and viewing activity data according to some embodiments is shown. The user interface in these figures is used to illustrate the Fig.11 The process is described below in the process.
[0268] Fig. 10A (and Figure 6B 6 shows a user interface 660 on a portable electronic device 600. The user interface 660 includes contact information graphic elements 662, 664, and 668 (only partially visible) for contacts corresponding to the names Adam, Jeff, and Nancy (names not visible). The user interface 600 also includes an information graphic element 666 (labeled "I") for the user of the portable electronic device 600. Each contact information graphic element includes contact information, in this case, the name of each contact represented by the contact information graphic element. Each contact information graphic element and the other information graphic elements also include a goal graphic element for a goal metric (in this case, progress toward a calorie goal for the day). Other graphic elements for other goal metrics, fitness metrics, and other contact information may also be included.
[0269] The contact information accessible through the user interface 660 provides access to contacts who share activity data, including goals or fitness data, with the user of the portable electronic device 600. The user interface 660 provides a simple interface for the user of the portable electronic device 600 to rank her or him relative to friends, colleagues, and / or other acquaintances represented by the contact information. Fig. 10A In , the contact information is sorted alphabetically according to the name of each corresponding contact. A sorting interface can be provided, such as Fig. 10BThe sorting interface 1000 allows the user to select how to sort the contact information displayed in the user interface 660.
[0270] For example, in response to receiving Fig. 10A The corresponding user input on the user interface 660 shown in Fig. 10B If portable electronic device 600 has a pressure-sensitive touch screen, then sorting interface 1000 may be displayed in response to a touch on the pressure-sensitive touch screen having a characteristic intensity greater than a threshold intensity. Sorting interface 1000 includes affordances 1002, 1004, and 1006 that allow a user to select parameters that will be used to sort contact information. Affordance 1002 selects a contact name to be sorted, and in Fig. 10A The indicator 1004 selects progress toward a calorie goal for sorting the contact information, which results in Fig. 10C . The affordance 1006 selects the number of completed fitness sessions that day as a parameter for sorting the contact information. Other parameters are also possible, such as other goal metrics, types of completed fitness, and other fitness metrics.
[0271] refer to Fig. 10C In response to receiving user input selecting contact information graphical element 664, a graphical representation 1008 of Jeff's activity data may be generated. Fig. 10D ), to be displayed on the display of the portable electronic device 600, such as Figure 10E-10G As shown. Alternatively, the graphical representation 1008 can be generated before the contact information graphical element is selected, or can be generated during the process of displaying a portion of the graphical representation 1008. The activity data can be received from an external electronic device, such as an electronic device associated with Jeff. The activity data can be received from an electronic device associated with Jeff via a server that stores and distributes such data. The activity data can be received periodically, for example, when the user interface 660 is first displayed, when a contact information graphical element is selected, or at other times.
[0272] refer to Fig. 10D , the graphical representation 1008 of Jeff's activity data may be similar to Fig. 7A and Figure 7BThe graphical representation 1008 of Jeff's activity data may include goal graphical elements 1010, 1012, 1014, 1016, 1018, and 1022. These graphical elements may provide information about the progress Jeff has made toward various activity goals. The graphical representation 1008 of Jeff's activity data may also include fitness graphical elements 1024, 1026, and 1028, which may provide data about the fitness Jeff has completed today or at some other time period. Multiple groups of fitness elements may also be included for additional fitness Jeff has completed. Although in Fig. 10D An example graphical representation of activity data has been provided in , and other representations containing other combinations and / or types of data may also be displayed.
[0273] refer to Fig. 10E and Fig.10F , a graphical representation 1008 of the activity data for Jeff is displayed ( Fig. 10D ). Graphical representation 1008 may be navigated using scroll input (e.g., a swipe or drag on a touch-sensitive screen or a rotation of a rotatable input mechanism). In addition to graphical representation 1008 for Jeff's activity data, affordances 1030 and 1032 may also be displayed after graphical representation 1008 ends, as shown in FIG. Figure 10G As shown, you can communicate with your contacts (in Figure 10G In the example of FIG. 1030 , the user may select an indication 1032 to initiate communication with Jeff. Selecting indication 1030 or 1032 may open a communication application (e.g., email, messaging, or a social network) using Jeff's contact information for the communication application. A message may then be entered or a predefined message may be selected to send to Jeff. The predefined messages may include any type of message, such as a message of encouragement, competition, or praise.
[0274] Fig.11 1 is a flow chart showing a method for navigating and viewing activity data of contacts using a portable electronic device according to some embodiments. Method 1100 is performed at a device (e.g., 100, 300, 500, 600) having a display and (in some cases) a touch-sensitive screen or a touch-sensitive screen that is also pressure-sensitive. Some operations in method 1100 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0275] As described below, method 1100 provides an intuitive way to navigate and view activity data for contacts. The method reduces the cognitive burden on users to navigate menus and view different types of activity metrics, thereby creating a more efficient human-computer interface. For battery-powered computing devices, enabling users to navigate and understand data faster and more efficiently saves power and increases the time interval between battery charges.
[0276] In block 1102, contact information for a plurality of contacts is displayed on a display of a device. The contact information includes information for a first contact. Fig. 10A and Fig. 10C An example display obtained by executing block 1102 is shown. For example, the contact information for the first contact is Fig. 10A and Fig. 10C In some variations of method 1100, the contact information graphic element may also include fitness data or goal data, such as Fig. 10A and Fig. 10C as shown in contact graphical elements 662, 664 and 668 of FIG.
[0277] In some variations of method 1100, information graphic elements for device users are also displayed. Fig. 10A As shown in FIG. 6 , user interface 660 includes an information graphic element 666 that includes targeted data for an owner of portable electronic device 600 (labeled “I”).
[0278] In some variations of method 1100, parameters for sorting contact information are received via a sorting interface. For example, the sorting interface may be accessed by touching a touch-sensitive screen (also pressure-sensitive) of a device, from or through a user interface displaying contact information. If the touch has a characteristic intensity that exceeds an intensity threshold, then the sorting interface is entered. The sorting interface (e.g., Fig. 10B The sorting interface 1000 of FIG. 1000 allows a user to select parameters for sorting contact information. Parameters may be selected via touch on the displayed affordances associated with the respective parameters. Upon selecting a parameter (e.g., selecting a calorie progress parameter), the user may select a parameter for sorting contact information. Fig. 10B After the enabling indication 1004), the contact information is updated based on the sorting parameters (for example, using Fig. 10C Display updates Fig. 10A of the display).
[0279] In box 1104, activity summary data is received from one or more external devices. Box 1104 may occur before or after box 1102, and before, after or in response to box 1106. The activity summary data may include at least a first target metric, such as progress toward a calorie burning target, an activity measurement target (e.g., standing up every hour), a movement time target, or other types of targets. In a variant of method 1100, the activity summary data may also include data for one or fitness metrics, such as execution data for recent fitness or other fitness-related data (e.g., pace, distance, time, calorie value, and heart rate). Activity summary data may be received from one or more external devices, for example, an electronic device associated with a contact (e.g., for Jeff as the example of the first contact, a smart phone and / or activity monitor belonging to Jeff). Activity summary data may also be received via one or more servers.
[0280] In block 1106, a first user input is received selecting a first contact. Fig. 10A and Fig. 10C For example, contact information graphical elements 662, 664 and 668 can be affordances that can be selected via a touch-sensitive screen. Alternatively, the first contact can be selected via hardware input, such as a button, keyboard, rotatable input or other types of interface device input.
[0281] In block 1108, in response to receiving the first user input selecting the first contact in block 1106, a portion of the graphical representation of the activity summary data is displayed on the display, such as in Figure 10E-10G shown in and relative to Figure 10E-10G The graphical representation includes at least a first target graphical element, such as a graphical indicator or text, for the first target metric. For example, the graphical representation may be Fig. 10D A graphical representation 1008 of the activity diagram. The graphical representation may include any number of different activity graphical elements, including goal graphical elements and fitness graphical elements.
[0282] In addition to displaying a portion of the graphical representation, an affordance for communicating with the selected contact may also be displayed. Figure 10G , affordances 1030 and 1032 may allow a user of the device to send a message to Jeff, as described above. Alternatively, affordances may be part of a graphical representation.
[0283] According to some embodiments, Fig.12An exemplary functional block diagram of an electronic device 1200 configured according to the principles of various described embodiments is shown. According to some embodiments, the functional blocks of the electronic device 1200 are configured to perform the techniques described above. The functional blocks of the device 1200 are optionally implemented by hardware, software, or a combination of hardware and software to perform the principles of various described examples. It should be understood by those skilled in the art that Fig.12 The functional blocks described in the present invention are optionally combined or separated into sub-blocks to implement the principles of various examples. Therefore, the description herein optionally supports any possible combination or separation or further limitation of the functional blocks described herein.
[0284] like Fig.12 As shown in , the electronic device 1200 includes a display unit 1202 configured to display a graphical user interface, a touch-sensitive surface unit 1204 configured to receive contact (i.e., touch), an optional pressure-sensitive surface unit 1216, and a processing unit 1206 coupled to the display unit 1202 and the touch-sensitive surface unit 1204. In some embodiments, the processing unit 1206 includes a display enabling unit 1208 and a receiving unit 1210 and optionally a determining unit 1212 and a sorting unit 1214.
[0285] Processing unit 1206 is configured to enable display of contact information for multiple contacts including a first contact (e.g., using display enabling unit 1208). Processing unit 1206 is further configured to receive activity summary data for the first contact from one or more external electronic devices (e.g., using receiving unit 1210), wherein the activity summary data for the first contact includes a first target metric, and receive (e.g., using receiving unit 1210) a first user input selecting the first contact. Processing unit 1206 is further configured to, in response to receiving the first user input selecting the first contact, enable display of a portion of a graphical representation of the activity summary on a display (e.g., using display enabling unit 1208), wherein the graphical representation includes a first target graphical element for the first target metric.
[0286] In some embodiments, the displayed contact information includes fitness data or goal data for each of the multiple contacts.
[0287] In some embodiments, the portable electronic device includes a pressure-sensitive touch screen, and the processing unit 1206 is further configured to receive a second user input on the pressure-sensitive touch screen (e.g., using the receiving unit 1210) when displaying the contact information, wherein the second user input has a characteristic strength. The processing unit 1206 is further configured to determine whether the characteristic strength exceeds a threshold strength (e.g., using the determining unit 1212) in response to receiving the second user input. The processing unit 1206 is further configured to enable display of a sorting interface for selecting a parameter by which the first plurality of contacts are sorted (e.g., using the display enabling unit 1208) based on determining that the second user input exceeds the threshold strength. The processing unit 1206 is further configured to receive a third user input identifying a parameter for sorting the plurality of contacts (e.g., using the receiving unit 1210) when displaying the sorting interface. The processing unit 1206 is also configured to sort the first plurality of contacts based on the parameter (e.g., using the sorting interface 1214) in response to receiving the second user input to generate a sorted first plurality of contacts. The processing unit 1206 is further configured to enable (eg, using the display enabling unit 1208) updating of the display of the contact information based on the sorted first plurality of contacts.
[0288] In some embodiments, the graphical representation of the activity summary includes an affordance for contacting the first contact, and processing unit 1206 is further configured to receive a third user input indicating selection of the affordance (e.g., using receiving unit 1210). Processing unit 1206 is further configured to, in response to receiving the third user input, enable display of a message user interface (e.g., using display enabling unit 1208) that is configured to receive a message input for the first contact on the portable electronic device.
[0289] In some embodiments, the first goal metric is at least one of a number of calories burned or an activity measurement.
[0290] In some embodiments, the activity summary includes a first fitness metric, and the graphical representation includes a first fitness graphical element for the first fitness metric.
[0291] In some embodiments, the first fitness metric is selected from the group consisting of: pace, distance, time, calorie value, and heart rate.
[0292] In some embodiments, the processing unit 1206 is further configured to enable display of graphical elements corresponding to a user of the portable electronic device (e.g., using the display enabling unit 1208) when displaying contact information, wherein the graphical elements include active graphical elements for the user.
[0293] Figures 13A-13F Exemplary user interfaces for activity and fitness monitoring and sharing are shown according to some embodiments. The user interfaces in these figures are used to illustrate the Fig.14 The process is described below in the process.
[0294] Fig.13A A user interface 1300 is shown on a portable electronic device 600. The user interface 1300 includes a graphical element in the form of a notification indicator 1302 and a graphical element 1304 that displays the current date and time. In addition to the notification indicator 1302 indicating that a notification has been received, the portable electronic device 600 may also prompt the user that a notification has been received in other ways, such as tactile feedback, an audio indicator, other visual indications, or other ways of notifying the user. The indicator 1302 may indicate that any number of notifications have been received, including a notification that the remote user has completed a workout.
[0295] The notification may be received from one or more external devices. For example, the notification may be received from a device associated with a remote user of the electronic device. The notification may be received via one or more servers. The notification may also be received via an electronic device associated with the user. For example, the portable electronic device may be a watch, and the notification may be received at the watch via communication with a paired smart phone, which may receive the notification via one or more servers, which may receive the notification from the external electronic device associated with the remote user.
[0296] In addition to receiving notifications, fitness summary data may also be received in a similar manner. Fitness summary data may be received via the same or different paths as described above. In addition, fitness summary data and notifications may be received at the same time or at different times. Fitness summary data and notifications may also be the same data (i.e., notifications are fitness summary data).
[0297] refer to Fig. 13B , a user input may be received that initiates access to a notification center that includes information for received notifications. For example, a user may touch an indicator 1302 on a touch-sensitive screen and drag the touch downward to pull the notification center downward from the top of the display. Fig. 13B Notification center 1306 is shown near midway down the pull. Notification prompt graphical element 1310 is displayed with notification information 1314 and indication 1316 indicating the application associated with the notification. Notification prompt graphical element 1308 is partially visible along with notification information 1312.
[0298] refer to Fig. 13C, the interface for notification center 1306 is fully visible. Two notification prompt graphical elements (1308 and 1310) are presented. If there are additional notifications, the associated notification prompt graphical elements can be displayed via a scroll input (e.g., via a swipe or drag gesture). Notification prompt graphical prompt 1308 includes an indication 1318 that indicates the application associated with the notification.
[0299] Notification prompt graphic elements 1308 and 1310 may be affordances for selecting associated notifications or associated applications. For example, a user may select one of the affordances via a touch-sensitive screen. Other input methods may also be used to select notification prompts.
[0300] In response to selecting the notification prompt graphical element for the fitness application (graphical element 1310), a graphical representation of the received fitness summary data corresponding to the notification is at least partially displayed in the fitness application, such as Figure 13D-13F If the graphical representation extends beyond the size of the displayable area of the display, other portions may be accessed by scrolling the display via user input (e.g., a touch-sensitive screen or other hardware user input), such as Figure 13D-13F As shown ( Fig.13E Draw the result of the first scroll input, and Fig.13F 1320, 1322, 1324, 1326, and 1330, all of which relate to different aspects of fitness. For example, Fig.13D Fitness graphical element 1330 in the figure includes a graphical element indicating the type of fitness completed; fitness graphical element 1326 includes a graphical element indicating the weather associated with the completed fitness; and fitness graphical elements 1320, 1322 and 1324 include graphical elements of fitness metric data (e.g., pace, distance, time, calories burned, or heart rate) for the completed fitness. The graphical representation can also include graphical elements for other types of data, such as goal metrics (e.g., counts of hours for calories burned, steps, time spent standing, or other measurements of activity).
[0301] As part of or in addition to the graphical representation, one or more affordances may be displayed, such as Fig.13F One or more affordances may provide various actions that a user may perform by selecting an affordance. Fig.13F With respect to affordance 1328, selecting affordance 1328 will open a messaging user interface that a user can use to enter a message for a contact associated with the graphical representation. Figure 13D-13FIn the case of , selecting the affordance 1328 causes the messaging interface to send a message to Adam. The messaging interface may also include the ability to select and send a predefined message. The predefined messages may include any type of message, such as a message of encouragement, competition, or praise.
[0302] Fig.14 1400 is a flow chart showing a method for activity and fitness monitoring and sharing using a portable electronic device according to some embodiments. The method 1400 is performed at a device (e.g., 100, 300, 500, 600) having a display. Some operations in the method 1400 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0303] As described below, method 1400 provides an intuitive way to navigate and view completed activity notifications and associated fitness data. The method reduces the cognitive burden on users to navigate menus and view different types of activity metrics, thereby creating a more efficient human-computer interface. For battery-powered computing devices, enabling users to navigate and understand data faster and more efficiently saves power and increases the time interval between battery charges.
[0304] In block 1402, a notification and fitness summary data are received from an external electronic device. The fitness summary data may be for a completed fitness session of a remote user associated with the external electronic device. The notification may be, for example, a push notification or other type of notification generated in response to an indication from the external electronic device that the remote user completed a fitness session. The fitness summary data may include data for one or more fitness metrics, such as those described above with respect to Figure 13D-13F The data mentioned.
[0305] In block 1404, a first graphical element representing the notification is displayed on the display, such as the one described above with respect to Fig. 13C The display of the first graphical element may occur after receiving the fitness summary data, or if the notification and the fitness summary data are different data, the display of the first graphical element may occur before receiving the fitness summary data.
[0306] In block 1406, while the first graphical element is displayed, a first user input is received that selects the first graphical element. The first user input may be, for example, a touch on a touch-sensitive screen while the first graphical element is displayed. In other words, the first graphical element may be an affordance, as described above with respect to Fig. 13C described.
[0307] In response to the first user input, a portion of a graphical representation of the fitness summary data is displayed in block 1408. For example, the graphical representation may be similar to the one previously described with respect to FIG. Fig. 7A , Figure 7B and Fig. 10D The graphical representation described, except that the graphical representation in box 1408 is for fitness summary data. Figure 13D-13F A portion of an example graphical representation of fitness summary data is depicted in FIG.
[0308] According to some embodiments, Fig.15 An exemplary functional block diagram of an electronic device 1500 configured according to the principles of various described embodiments is shown. According to some embodiments, the functional blocks of the electronic device 1500 are configured to perform the techniques described above. The functional blocks of the device 1500 are optionally implemented by hardware, software, or a combination of hardware and software to perform the principles of various described examples. It should be understood by those skilled in the art that Fig.15 The functional blocks described in the present invention are optionally combined or separated into sub-blocks to implement the principles of various examples. Therefore, the description herein optionally supports any possible combination or separation or further limitation of the functional blocks described herein.
[0309] like Fig.15 As shown in , the electronic device 1500 includes a display unit 1502 configured to display a graphical user interface, a touch-sensitive surface unit 1504 configured to receive contact (i.e., touch), and a processing unit 1506 coupled to the display unit 1502 and the touch-sensitive surface unit 1504. In some embodiments, the processing unit 1506 includes a display enabling unit 1508 and a receiving unit 1510.
[0310] The processing unit 1506 is configured to: receive a notification of completed fitness and fitness summary data for a remote user associated with the external electronic device from an external electronic device (for example, using the receiving unit 1510); enable (for example, using the display enabling unit 1508) to display a first graphical element representing the notification on a display (for example, the display unit 1502); receive (for example, using the receiving unit 1510) a first user input selecting the first graphical element when the first graphical element is displayed; and in response to the first user input, enable (for example, using the display enabling unit 1508) to display a portion of a graphical representation of the fitness summary data.
[0311] In some embodiments, the graphical representation includes a graphical element indicating a fitness type.
[0312] In some embodiments, the graphical representation includes a graphical element indicating weather data associated with fitness.
[0313] In some embodiments, the graphical representation includes a graphical element of a first goal metric, and wherein the first goal metric is a number of calories burned or a measure of activity.
[0314] In some embodiments, the graphical representation includes a graphical element for a first fitness metric for a completed fitness session, and the first fitness metric is selected from the group consisting of: pace, distance, time, number of calories burned, and heart rate.
[0315] In some embodiments, the graphical representation includes a graphical element for a second fitness metric that is different from the first fitness metric, and the second fitness metric is selected from the group consisting of: pace, distance, time, calorie value, and heart rate.
[0316] In some embodiments, receiving the fitness summary occurs after receiving a first user input selecting a notification.
[0317] In some embodiments, the graphical representation of the activity summary includes an affordance for contacting the first contact, and processing unit 1506 is further configured to receive a second user input indicating selection of the affordance (e.g., using receiving unit 1510). Processing unit 1506 is further configured to, in response to receiving the second user input, enable display of a message user interface (e.g., using display enabling unit 1508) that is configured to receive a message input for the first contact on the portable electronic device.
[0318] In some embodiments, the message user interface includes a plurality of predefined messages, and wherein at least one of the predefined messages is based on a type of current fitness.
[0319] In some embodiments, the message user interface includes a plurality of predefined messages, and at least one of the predefined messages is based on the fitness summary data.
[0320] Figures 16A-16J An exemplary user interface for navigating and sharing activity data according to some embodiments is shown. The user interface in these figures is used to illustrate the Fig.17 The process is described below in the process.
[0321] Fig.16A A portable electronic device 1600 is shown, such as that described above with respect to Figure 1A-1B , Figure 2-Figure 3 , Figure 4A-4B and Figure 5A-5H The portable electronic device includes a user interface 1602 for a fitness or activity application, which can help track data related to physical activity, health, and / or physiological status of a user of the portable electronic device 1600. The portable electronic device 1600 can be carried or worn by the user. For example, the portable electronic device 1600 can be a smart phone. The portable electronic device 1600 can also be other types of devices and connected to other devices, such as Fig. 6A A portable electronic device 600 is provided to measure and collect fitness and activity data.
[0322] User interface 1602 includes a goal summary graphic element 1604 that indicates progress toward each activity goal for the day. Fig. 6A 1604. Target summary graphical element 1606 may be the same or similar to target graphical element 1604. Target summary graphical element 1606 may be a smaller version of target graphical element 1604, each of which is associated with a day of the week. Target graphical element 1606 associated with Saturday (labeled "S") is the same as and updated with target graphical element 1604 because activity is measured and recorded on that day.
[0323] User interface 1602 may include other graphical elements. For example, target summary graphical element 1608 is a time-series representation of one of the target metrics associated with target summary graphical element 1604. Additional information and graphical elements may be accessed by scrolling user interface 1602.
[0324] User interface 1602 also includes affordances 1610, 1612, 1614, and 1616 for selecting various modes of user interface 1602 or an application. Affordance 1610 corresponds to a goal history interface for accessing data about past activity goals, including goal metrics for past days. Affordance 1612 corresponds to a fitness history interface for accessing data about past fitness, including fitness metrics. Affordance 1614 corresponds to a sharing interface, in which activity and fitness data can be shared with friends.
[0325] Fig. 16B User interface 1617 is shown, in response to receiving (e.g., by a touch on a touch-sensitive screen) a selection Fig.16A The user interface 1617 is displayed by indicating the user input of 1616. Fig. 16B In the example, user interface 1602 includes an affordance 1618 for initializing data and a shared graphical element 1619. In response to user input selecting affordance 1618, graphical element 1619 is transformed into Fig. 16C An S-shaped graphical element 1620 is displayed to indicate that fitness and activity sharing is being initialized.
[0326] exist Fig. 16B The graphic element 1619 is converted into Fig. 16C After the animation of the graphic element 1620, the list of potential friends is loaded. For example, Fig.16DThe friend list shown in can be a list of contacts 1622, 1624, 1626, 1628, 1630, 1632, 1634 and 1636 from other applications, such as an email application, a contact application or a phone application. The contact list can also be loaded from a remote server or other device.
[0327] After retrieving the contact list, determine which contacts support sharing activity data, such as goal metrics or fitness metrics. For example, it can be determined whether each contact is associated with an electronic device that measures and / or records activity data. This association can be stored on the central server. Fig.16D , the presence of selection indicators 1638, 1640, 1642, 1644, 1646, and 1648 indicates that the associated contacts support sharing of activity data. The absence of selection indicators for contacts 1630 and 1634 indicates that those contacts do not support sharing of activity data.
[0328] Fig.16E Several selection indicators are illustrated, for example, via a touch on a screen displaying selection indicators. In this example, the selection indicator is an affordance indication for indicating that the user wishes to share activity data with associated contacts. Selection is illustrated as a check mark above the selection indicator. The entire contacts area may alternatively be an affordance indication for selecting individual contacts. Once the selection of contacts is complete, affordance indication 1650 may be selected by user input to complete the initialization process. In response to selecting affordance indication 1650, an invitation message may be sent to the selected contact, indicating that the user wishes to become an active friend of the contact. If the contact accepts the invitation, the user and the contact may share activity data as described below.
[0329] Fig.16F User interface 1602 in sharing mode after initialization is shown. Once initialization is completed, this sharing mode can be entered in response to selecting enable representation 1616 instead of entering initialization mode. The sharing mode includes an enable representation 1662 for entering a sorting interface, which is used to select parameters for sorting active friends. Enable representation 1660 allows the user to enter a message interface to send messages to active friends. Enable representation 1650 corresponds to the user and enables the user to view the user's own activity data that will be seen by active friends. Enable representations 1652, 1654, 1658 and 1660 correspond to active friends (i.e., contacts who accept the user's invitation to share activity data or contacts who send invitations accepted by the user) and enable the user to view the activity data of active friends.
[0330] For example, in response to selecting Fig.16FThe affordance represents user input 1652 to determine whether there is activity data for Adam (e.g., locally or on a server). The presence of actual activity data may be checked or other configurations or variables may be checked. If there is activity data, which indicates that Adam is not hiding activity data, a portion of a graphical representation of Adam's activity data is displayed, such as Figure 16G Select Figure 16G The indication in 1664 returns to Fig.16F The graphical representation includes Figure 16G The target summary graphic elements 1666 and 1668 and Fig.16H Achievement graphic element 1670. Fig.16H Also shown are affordances 1672, 1674, and 1676, which allow the user to control activities shared with contacts. For example, affordance 1672 may prevent further notifications about Adam's activities (e.g., relative to Figures 13A-13F and Fig.14 1674 may prevent the user's activity data from being provided to Adam. This may be important, for example, if the relationship between the user and Adam is one in which it is not appropriate for the user to share activity data with Adam, but the user should be able to see Adam's activity data. One such example situation is if the user is a trainer or healthcare provider who monitors Adam's activities, but the user does not wish to share their activities and have Adam feel as if he or she must compete with the user's activities. Affirmation 1676 allows the user to remove Adam as an activity friend.
[0331] Graphic element 1678 can be another enabling representation for performing other actions relative to Adam, can be a graphical element showing additional activity information, can be a graphical element that provides information about Adam's history or status as an active friend (e.g., how long the data was hidden at the beginning of the friendship), or can be another graphical element.
[0332] When there is activity data for a contact associated with a corresponding affordance, the activity data may be displayed in response to selecting Fig.16F 1650 (as well as the daily summary of the user's activity data for affordances 1650). However, if there is no activity data, either because the activity data was not received or because the activity friends decided to hide their data from the user, there is an indication that there is no activity data in response to selecting the affordance.
[0333] For example, if you select Fig.16F If there is no activity data for Wendy, then a graphical element 1680 may be displayed indicating that there is no activity data, such as Fig.16I Alternatively, the graphical element may also indicate that Wendy is hiding her activity data.
[0334] You can use the active friend interface, such as Fig.16J interface to view and manage active friends. For example, refer to Fig.16J , each potential active friend and current active friend may be listed. Graphic element 1682 is associated with a potential active friend that has sent an invitation to share activity data to the user. Invitations may be accepted or declined using affordances 1684 and 1686, respectively. Graphic elements 1688 and 1690 indicate active friends that share activity data with each other. Graphic element 1692 indicates an active friend for whom the user is hiding activity data. Graphic element 1694 indicates an active friend for whom activity data is hidden from the user. Graphic elements 1682, 1688, 1690, 1692, and 1694 may also be affordances that, when selected, provide additional information about the active friend (e.g., a summary of activity data or other contact information).
[0335] Fig.17 1700 is a flow chart showing a method for navigating and viewing activity data using a portable electronic device according to some embodiments. Method 1700 is performed at a device (e.g., 100, 300, 500, 600, 1600) having a display and (in some cases) a touch-sensitive screen. Some operations in method 1700 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0336] In block 1702, contact information is displayed, including first contact information for a first plurality of contacts (including a first contact), wherein the first contact information corresponds to the first contact. The contact information may be, for example, a name or a contact. The contact information may also include activity data, such as a goal metric. Fig.16F Graphic element 1652 of is an example of displaying contact information (eg, contact name) for a first contact (a contact named “Adam”).
[0337] A variation of method 1700 may include, prior to displaying the contact information in block 1702, generating a first plurality of contacts. This process may be performed by displaying an affordance for generating the first plurality of contacts such as Fig. 16B The process begins with the enable indication 1618 of the present invention. In response to receiving user input selecting the enable indication, retrieving a second plurality of contacts. For example, the second plurality of contacts can be contacts from an email application, a phone application, a contacts application, a database, or other source. The second plurality of contacts can be retrieved from a local or remote source. The second plurality of contacts includes the first contact and the second contact.
[0338] Next, a determination is made as to whether the electronic device associated with the second contact supports sharing activity data. This determination can be made in several ways. For example, a determination can be made as to whether the electronic device associated with the second contact is capable of measuring and / or recording activity data. A local or remote database can be queried to make this determination. Based on determining that the second contact is not associated with an electronic device that supports sharing activity data, the second contact is excluded from the first plurality of contacts. For example, the second contact can be excluded by preventing the second contact from being selected for inclusion in the first plurality of contacts. Fig.16D This situation is exemplified and described above. For example, if "Tina" is Fig.16D The second contact in Tina cannot be added to Fig.16F , because it has been determined that Tina is not associated with a device capable of sharing activity data and no selection indicator is provided to Tina. In contrast, if the first contact is "Adam", it is determined that Adam is associated with an electronic device that supports sharing activity data. Therefore, a selection indicator 1638 is provided for Adam ( Fig.16D ), so that the user can add Adam to the first plurality of contacts.
[0339] A variation of method 1700 may include sorting the first plurality of contacts for display. An affordance for a sorting interface may be displayed and selected via user input (e.g., Fig.16F The sorting interface may enable receiving user input indicating a parameter for sorting the first plurality of contacts. For example, contact information (e.g., name) or activity data (e.g., goal metric or fitness metric) may also be selected as a sorting parameter. In response to the selection of the parameter, the first plurality of contacts are sorted based on the selected parameter to generate a sorted first plurality of contacts, and the display of contact information is based on the sorted first plurality of contacts.
[0340] In block 1704, a first user input indicating a selection of a first contact is received. For example, the first user input may be received via a touch-sensitive screen or other form of input. Fig.16F , graphical element 1652 may also be an affordance that may be selected via a touch-sensitive screen of portable electronic device 1600. In this example, the first contact is selected via a user touch on the touch screen displaying graphical element 1652.
[0341] In block 1706, in response to receiving the first user input, it is determined whether the portable electronic device can access the activity data associated with the first contact. This determination can be performed in several ways. For example, one or more processors of the portable electronic device can check local memory to find the activity data associated with the first contact. A database of contact information including flags or other configuration data can also indicate whether there is activity data for the first contact. As another example, a remote server or electronic device associated with the contact can be checked. The determination can also check whether there is an indication that the first contact is hiding its activity data.
[0342] In block 1708, based on determining that the portable electronic device has accessed activity data associated with the first contact, a portion of a graphical representation of the activity data is displayed. The graphical representation of the activity data may be similar to the graphical representations of the activity, goal, and fitness data described above. For example, Figure 16G and Fig.16H The Fig.16F Example graphical representation of the first contact "Adam" of FIG.
[0343] In addition to displaying a graphical representation of activity data for the first contact, other data and / or affordances may be displayed. For example, affordances for hiding activity data from the first contact may be included (e.g., Fig.16H In response to receiving user input selecting this enable indication, an indication to prevent the user's activity data from being sent to the contact can be stored.
[0344] As another example, an affordance may be displayed for muting future notifications regarding activity from the first contact (e.g., Fig.16H In response to receiving user input selecting this affordance, future notifications regarding the first contact's activities or activity data will not be presented to the user.
[0345] As another example, an affordance for removing a first contact from a first plurality of contacts may be displayed (e.g., Fig.16H In response to receiving user input selecting the enable representation 1676, the first contact is removed from the first plurality of contacts. Removing the first contact from the first plurality of contacts does not necessarily affect the presence of the first contact in the second plurality of contacts.
[0346] In block 1710, based on determining that the electronic device does not have access to activity data associated with the first contact, a graphical element is displayed indicating that the first contact has no activity data. Fig.16IAn example of this display is depicted in FIG. As another example, the graphical element indicating no activity data may also indicate that the first contact is hiding activity data.
[0347] In some variations of method 1700, in response to receiving user input selecting an affordance for a friend control interface, display of the contact information is replaced with display of a graphical representation of the aggregated status data, such as Fig.16J . The graphical representation of the aggregated data includes a hidden portion, an invitation portion, and a sharing portion. The hidden portion includes contact information for a group of contacts that hide activity data. The invitation portion includes contact information for a group of contacts from which a notification indicating a proposal to share activity data has been received. The sharing portion includes contact information for a group of contacts that are sharing activity data.
[0348] According to some embodiments, Fig.18 An exemplary functional block diagram of an electronic device 1800 configured according to the principles of various described embodiments is shown. According to some embodiments, the functional blocks of the electronic device 1800 are configured to perform the techniques described above. The functional blocks of the device 1800 are optionally implemented by hardware, software, or a combination of hardware and software to perform the principles of various described examples. It should be understood by those skilled in the art that Fig.18 The functional blocks described in the present invention are optionally combined or separated into sub-blocks to implement the principles of various examples. Therefore, the description herein optionally supports any possible combination or separation or further limitation of the functional blocks described herein.
[0349] like Fig.18 As shown in , the electronic device 1800 includes a display unit 1802 configured to display a graphical user interface, a touch-sensitive surface unit 1804 configured to receive contact (i.e., touch), and a processing unit 1806 coupled to the display unit 1802 and the touch-sensitive surface unit 1804. In some embodiments, the processing unit 1806 includes a display enabling unit 1808, a receiving unit 1810, and a determining unit 1812, as well as an optional retrieving unit 1814, a sorting unit 1816, a storing unit 1818, a removing unit 1820, an excluding unit 1822, and a sending unit 1824.
[0350] Processing unit 1806 is configured to enable display of contact information for a first plurality of contacts (e.g., using display enabling unit 1808), the contact information including first contact information, the first plurality of contacts including the first contact, wherein the first contact information corresponds to the first contact. Processing unit 1806 is further configured to receive a first user input indicating a selection of the first contact (e.g., using receiving unit 1812). Processing unit 1806 is further configured to determine, in response to receiving the first user input, whether the portable electronic device has access to activity data associated with the first contact (e.g., using determining unit 1812).
[0351] Processing unit 1806 is configured to, based on determining that the portable electronic device has access to activity data associated with the first contact, enable display of a portion of the graphical representation of the activity data (eg, using display enabling unit 1808).
[0352] Processing unit 1806 is configured to, based on determining that the electronic device does not have access to activity data associated with the first contact, enable display of a graphical element (eg, using display enabling unit 1808) indicating that the first contact has no activity data.
[0353] In some embodiments, before displaying the contact information, processing unit 1806 is configured to enable display of a first enable representation for generating a first plurality of contacts (e.g., using display enabling unit 1808), and receive a second user input indicating selection of the first enable representation (e.g., using receiving unit 1812). Processing unit 1806 is further configured to, in response to receiving the second user input, retrieve a second plurality of contacts (e.g., using retrieval unit 1814), wherein the second plurality of contacts includes a first contact and a second contact. Processing unit 1806 is further configured to determine (e.g., using determination unit 1812) whether an electronic device associated with a second contact of the second plurality of contacts supports sharing activity data. Processing unit 1806 is further configured to exclude the second contact from the first plurality of contacts based on determining that the second contact is not associated with an electronic device that supports sharing activity data. Processing unit 1806 is further configured to determine (e.g., using determination unit 1812) whether an electronic device associated with the first contact supports sharing activity data. Processing unit 1806 is further configured to, based on determining that the electronic device associated with the first contact supports sharing activity data, add the first contact to the first plurality of contacts (eg, using adding unit 1818).
[0354] In some embodiments, processing unit 1806 is further configured to determine (e.g., using determination unit 1812) whether the electronic device associated with the first contact supports sharing activity data, including determining whether the electronic device is capable of measuring activity data.
[0355] In some embodiments, processing unit 1806 is configured to receive (e.g., using receiving unit 1812) user input selecting an affordance for a sorting interface, and in response to receiving the user input selecting an affordance for a sorting interface, enable display of the sorting interface (e.g., using display enabling unit 1808). Processing unit 1806 is configured to receive (e.g., using receiving unit 1812) a third user input corresponding to a parameter by which the first plurality of contacts are sorted when displaying the sorting user interface, and in response to receiving the third user input, sort the first plurality of contacts based on the parameter (e.g., using sorting unit 1818) to generate a sorted first plurality of contacts, wherein display of contact information is based on the sorted first plurality of contacts.
[0356] In some embodiments, the graphical representation includes a second enable representation indicating that the activity data should not be shared with the first contact, and processing unit 1806 is further configured to, while displaying the second enable representation, receive (e.g., using receiving unit 1812) a fourth user input indicating a selection of the first enable representation. Processing unit 1806 is further configured to, in response to receiving the fourth user input, store (e.g., using storage unit 1818) data indicating that the activity data should not be sent to the first contact.
[0357] In some embodiments, the graphical representation includes a third enable representation indicating that the first contact's completed fitness should not generate a message on the portable electronic device, and processing unit 1806 is further configured to, when displaying the third enable representation, receive a fifth user input indicating selection of the third enable representation (for example, using receiving unit 1812), and in response to receiving the fifth user input, store data indicating processing of a notification in response to the first contact completing the fitness (for example, using storage unit 1818).
[0358] In some embodiments, processing unit 1806 is configured to, based on determining that the portable electronic device does not have access to activity data associated with the first contact, enable display of an indication that the first contact is hiding activity data (e.g., using display enabling unit 1808).
[0359] In some embodiments, the graphical representation includes a fourth enable representation indicating that the first contact should be removed from the first plurality of contacts, and processing unit 1806 is further configured to, while displaying the fourth enable representation, receive (e.g., using receiving unit 1812) a sixth user input indicating selection of the fourth enable representation. Processing unit 1806 is further configured to, in response to receiving the sixth user input, remove the first contact from the first plurality of contacts (e.g., using removal unit 1820) while maintaining the first contact in the second plurality of contacts.
[0360] In some embodiments, processing unit 1806 is further configured to enable display of a fifth enable representation for displaying aggregated status data for a first plurality of contacts (e.g., using display enabling unit 1808), and to receive a seventh user input selecting the fifth enable representation (e.g., using receiving unit 1812). Processing unit 1806 is further configured to, in response to receiving the seventh user input, enable display of a graphical representation of the aggregated status data to replace the display of the contact information (e.g., using display enabling unit 1808), wherein the graphical representation of the aggregated data includes a hidden portion, an invitation portion, and a shared portion, wherein the hidden portion includes contact information for a group of contacts for which activity data is being hidden, wherein the invitation portion includes contact information for a group of contacts from which notifications indicating a proposal to share activity data have been received, and wherein the shared portion includes contact information for a group of contacts for which activity data is being shared.
[0361] In some embodiments, the processing unit 1806 is also configured to receive an indication of completing user fitness from an external electronic device paired with the portable electronic device (e.g., using the receiving unit 1812), and receive data regarding user fitness from the external electronic device (e.g., using the receiving unit 1812); and send data to at least one of the first plurality of contacts (e.g., using the sending unit 1824).
[0362] Figures 19A-19D An exemplary user interface for viewing and navigating fitness data according to some embodiments is shown. The user interface in these figures is used to illustrate the process described below, including Fig. 20 process.
[0363] Fig.19A A street map 1900 is shown on the portable electronic device 1600. Although the map 1900 is shown as a two-dimensional map, three-dimensional maps may also be used.
[0364] The portable electronic device receives fitness data including location-dependent fitness metrics for fitness. The location of the fitness data coincides with the location in the map 1900. The fitness data may include data for multiple segments of fitness, such as multiple laps around a run or bike or multiple laps around a swim. The fitness data may be received from an external electronic device such as a fitness monitor, or may be measured from a sensor included in the portable electronic device.
[0365] Fig.19B Depicted are fitness segments 1902, 1904, and 1906 stacked in a three-dimensional overlay on a map 1900. Fitness segments 1902, 1904, and 1906 are pattern-coded based on location-dependent data in the fitness data. For example, the pattern coding may correspond to a corresponding fitness pace at that location on the map. Other codings may be used, such as color-alternative pattern coding.
[0366] Affordance 1901 allows a user to share the displayed fitness information with a contact. In response to user input selecting affordance 1901, a message interface may be displayed, allowing the user to include additional text and select a recipient. The data and information necessary to generate the display may then be transmitted to the recipient. Alternatively, an image capture of the display may be transmitted.
[0367] Fig.19C A schematic diagram 1908 is depicted, representing data associated with fitness segments 1902, 1904, and 1906. Schematic diagram 1908 includes curve 1910, representing data associated with the fitness segments. For example, the x-axis can be distance, and the y-axis is height. Other values can also be used for each axis, such as time, pace, posture (for swimming fitness), heart rate, and other parameters. In addition, curve 1910 can be color-coded or have other coding to indicate additional information, such as pace. The coloring or other coding can be coordinated or different from the coloring or other coding of the fitness segments.
[0368] Fig.19D A selection indicator 1912 is shown that selects a point or portion of the curve 1910. In response to receiving a user input specifying a location for the selection indicator 1912, the selection marker 1914 and a graphical element 1916 are displayed on the map 1900 based on the location in one of the fitness segments corresponding to the selection marker 1914. The graphical element 1916 may include a fitness metric associated with the fitness for the selected location.
[0369] Fig. 202000 is a flow chart showing a method 2000 for viewing and navigating fitness data using a portable electronic device according to some embodiments. The method 2000 is performed at a device having a display (e.g., 100, 300, 500, 600, 1600). Some operations in the method 2000 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0370] As described below, method 2000 provides an intuitive way to view fitness data. The method reduces the cognitive burden of viewing fitness data for a user, thereby creating a more efficient human-computer interface. For battery-powered electronic devices, enabling users to view fitness data faster and more efficiently saves power and increases the time interval between battery charges.
[0371] In block 2002, first fitness data is received for a first segment of a multi-segment fitness route. The fitness data may be received from a sensor of the device, from a sensor on an external device, such as a motion monitor, or from a remote source.
[0372] A multi-segment workout route can be any number of different types of workouts. For example, for a running or circuit workout, each segment of the multi-segment workout can be a lap of the route (e.g., Fig.19B As another example, in a swimming workout, each segment may be one lap of a pool or one lap of a course in a body of water.
[0373] The first fitness data includes multiple locations for a multi-segment fitness route and multiple fitness metrics associated with the multiple locations. For example, each segment of the multi-segment fitness route may have one or more fitness metrics associated with each of the multiple locations along the route (e.g., every 1m, 3m, 10m, etc., or locations that may be recorded based on time periods, such as every 1s, 5s, 10s, etc.) such as speed, pace, or heart rate. In other words, the fitness data includes fitness metric data that depends on the location for the segment.
[0374] In block 2004, second fitness data is received for a second segment of the multi-segment fitness route. The second fitness data is similar to the first fitness data received in block 2002, except that it is for a different segment.
[0375] In block 2006, a first graphical representation of the first fitness data and a second graphical representation of the second fitness data are displayed on a map. The map may be a two-dimensional or three-dimensional map. The first graphical representation and the second graphical representation are displayed in a three-dimensional overlay, wherein an appearance of the first graphical representation is based on a plurality of fitness metrics of the first fitness data, and an appearance of the second graphical representation is based on a plurality of fitness metrics of the second fitness data. For example, the appearance of the first graphical representation and the second graphical representation may be color-coded or otherwise coded based on the fitness metrics at each point along the segment. Fig.19B An example of this is depicted in The appearance of the segments may be encoded according to any of the fitness metrics, such as pace or heart rate.
[0376] In a variation of method 2000 , a two-dimensional graph of the first fitness data and the second fitness data is displayed along with the first graphical representation and the second graphical representation. Fig.19C This is illustrated in FIG. 1 , which includes a diagram 1908 with a curve 1910 showing the height of the fitness zones. In some variations, the two-dimensional graph includes an indicator of a position on one of the fitness zones. The corresponding position of the corresponding zone can be marked in the three-dimensional overlay of the graphical representation of the fitness zones, and an additional fitness metric can be displayed for that position. Fig.19D , where indicator 1912 on schematic 1908 corresponds to a location on segment 1904 indicated by indicator 1914. Graphical element 1916 provides an additional fitness metric for work at the locations indicated by indicators 1912 and 1914.
[0377] In a variation of method 2000, an affordance for sharing displayed fitness data is provided. In response to user input selecting the affordance, a message interface may be displayed, allowing the user to select a recipient and add additional text. The data and information required to generate the display or image capture of the display is then transmitted to the recipient along with any text entered by the user.
[0378] According to some embodiments, Fig.21 An exemplary functional block diagram of an electronic device 2100 configured according to the principles of various described embodiments is shown. According to some embodiments, the functional blocks of the electronic device 2100 are configured to perform the techniques described above. The functional blocks of the device 2100 are optionally implemented by hardware, software, or a combination of hardware and software to perform the principles of various described examples. It should be understood by those skilled in the art that Fig.21 The functional blocks described in the present invention are optionally combined or separated into sub-blocks to implement the principles of various examples. Therefore, the description herein optionally supports any possible combination or separation or further limitation of the functional blocks described herein.
[0379] like Fig.21As shown in , the electronic device 2100 includes a display unit 2102 configured to display a graphical user interface, a touch-sensitive surface unit 2104 configured to receive contact (i.e., touch), optionally a pressure-sensitive surface unit 2118, and a processing unit 2106 coupled to the display unit 2102 and the touch-sensitive surface unit 2104. In some embodiments, the processing unit 2106 includes a display enabling unit 2108 and a receiving unit 2110.
[0380] The processing unit 2106 is configured to: (e.g., using the receiving unit 2110) receive first fitness data for a first segment of a multi-segment fitness route, wherein the first fitness data includes multiple locations for the multi-segment fitness route and multiple fitness metrics associated with the multiple locations; (e.g., using the receiving unit 2110) receive second fitness data for a second segment of the multi-segment fitness route, wherein the second fitness data includes multiple locations for the multi-segment fitness route and multiple fitness metrics associated with the multiple locations; and (e.g., using the display enabling unit 2108) enable display of a first graphical representation of the first fitness data and a second graphical representation of the second fitness data above a map, wherein the first graphical representation and the second graphical representation are displayed in a three-dimensional overlay, wherein an appearance of the first graphical representation is based on the multiple fitness metrics of the first fitness data, and an appearance of the second graphical representation is based on the multiple fitness metrics of the second fitness data.
[0381] In some embodiments, the processing unit 2106 is further configured (eg, using the display enabling unit 2108 ) to enable display of a two-dimensional graph of the first fitness data and the second fitness data along with displaying the first graphical representation and the second graphical representation.
[0382] In some embodiments, the processing unit 2106 is further configured to (e.g., using the display enabling unit 2108) enable a first indicator to be displayed on a two-dimensional graph for a portion of the first fitness data or a portion of the second fitness data, and to (e.g., using the display enabling unit 2108) enable a second indicator to be displayed on the display of the first fitness data or the second fitness data, wherein the first indicator and the second indicator correspond to the same portion of the first fitness data or the second fitness data.
[0383] In some embodiments, the two-dimensional graph includes an indication of altitude for the first fitness data and the second fitness data.
[0384] In some embodiments, the first graphical representation has a location-dependent color based on a location-dependent fitness metric from the first fitness data, and the second graphical representation has a location-dependent color based on a location-dependent fitness metric from the second fitness data.
[0385] In some embodiments, the location-dependent fitness metric is a fitness pace or a swimming style.
[0386] In some embodiments, the processing unit 2106 is further configured (e.g., using the display enabling unit 2108) to enable an enabling representation of an image for sharing the display of the first graphical representation and the second graphical representation on the map to be displayed simultaneously with the first graphical representation and the second graphical representation on the map.
[0387] Figure 22A-22F An exemplary user interface for pausing a workout and preventing accidental activation of other functions on a portable electronic device according to some embodiments is shown. The user interfaces in these figures are used to illustrate the process described below, including Fig.23 process.
[0388] A workout can be started on a portable electronic device by the user selecting from a plurality of workout types and providing any additional required information for a particular workout type. For example, if a swimming workout type is selected, the user may also need to specify whether the swimming workout is in a pool or an open body of water. Alternatively, these may be separated into different types of workouts. For a pool swimming workout, the user may need to specify the length of the pool. Other example workout types include running, cycling, wheelchair, rowing, and treadmill.
[0389] Once a running workout is selected, the portable electronic device can turn off its display to save battery power. However, even with the display turned off, the device can still process touch inputs on the touch screen. Specifically, the touch screen can detect not only touch inputs, but also characteristic strengths of touches, as described above. The device is then configured to respond differently depending on whether the received touch has a characteristic strength that exceeds a threshold. This may be useful, for example, when the touch interface is likely to receive unexpected inputs that would be interpreted as touches. For swimming fitness, water moving on the touch screen may be interpreted as a touch on the touch screen. This may result in unexpected actions on the portable electronic device, including ending a workout, sending a message, or dismissing a notification. By requiring a touch to have a characteristic strength that exceeds a threshold strength before further interaction can occur, the likelihood of unexpected actions based on unexpected touches is greatly reduced.
[0390] Fig.22AA user interface 2200 is depicted, which includes a lock indication 2002 indicating that the current fitness is in a locked state. The user interface 2200 also includes: a fitness metric graphic element 2004, which displays the time spent on fitness; goal metric graphic elements 2006 and 2008, wherein the goal metric graphic element 2008 indicates the progress toward the goal represented by the goal metric graphic element 2008; and a fitness metric graphic element 2010, which represents the total calories burned for fitness so far. Fig.22A This may occur while the ongoing workout is in the locked state in response to a touch on the touch-sensitive screen having a characteristic intensity that does not exceed a threshold.
[0391] If the fitness does not react normally to touches on the touch screen that do not have a characteristic intensity that exceeds the intensity threshold, the fitness is in the locked state. For example, Fig.22A The user interface 2200 of the embodiment of the present invention will normally allow the user to further interact with the display through other gestures on the touch screen. However, when the fitness is in the locked state, further touches on the user interface 2200 may have limited effects, as described below.
[0392] Fig. 22B User interface 2200 is depicted including an indication 2212 indicating that the workout is in a locked state and that the workout should be paused using a force touch (eg, a touch having a characteristic intensity greater than a threshold). Fig. 22B Can be Fig.22A The user interface 2200 of 2200 detects another touch whose characteristic intensity does not exceed the intensity threshold. In some cases, when the fitness is in the locked state, Fig.22A and Fig. 22B The displays are only those that the user can access without first performing a touch of a certain intensity greater than a threshold intensity.
[0393] Fig. 22C The user interface 2200 is shown in response to the portable electronic device 600 receiving a touch input having a characteristic intensity exceeding a threshold intensity. Fig. 22C In the example, user interface 2200 includes a pause indicator 2216, a fitness summary graphical element 2214, and an indicator 2218 indicating how to resume the fitness. Fitness summary graphical element 2214 can be further interacted with to reveal additional fitness data. In response to user interface 2200 receiving a touch with a characteristic intensity exceeding a threshold intensity, the fitness can be restored to a locked state, and user interface 2200 can return to a state with limited response to low-intensity touches, such as relative to Fig.22A and Fig. 22B described.
[0394] In response to Fig. 22C The portable electronic device 600 receives a user input, such as a scroll or swipe input, Fig.22D A user interface 2200 is depicted having graphical elements 2220, 2222, 2224 that provide graphical representations of a workout status, potential actions, and instructions for performing potential actions, respectively. In response to user interface 2200 receiving a touch having a characteristic intensity exceeding a threshold intensity, the workout can end.
[0395] In response to Fig.22D The portable electronic device 600 receives further user input, such as a scroll or swipe input, Fig.22E A user interface 2200 is depicted with graphical elements 2226, 2228, 2230, which provide graphical representations of a fitness state, potential actions, and instructions for performing potential actions, respectively. In response to the user interface 2200 receiving a touch having a characteristic intensity exceeding a threshold intensity, the fitness can be resumed in an unlocked state. Fig.22F Shown as Fig.22A The user interface 2200 is just a fitness program in an unlocked state, such as Fig.22E The result of receiving a user input with a sufficiently large characteristic strength in the user interface 2200. The touch input with a characteristic strength exceeding the threshold on the user interface 2200 may display an interface allowing the fitness to be locked again.
[0396] Fig.23 2300 is a flowchart showing a method 2300 for pausing a workout and preventing accidental activation of other functions on a portable electronic device during a workout, according to some embodiments. The method 2300 is performed at a device (e.g., 100, 300, 500, 600, 1600) having a display and a touch-sensitive screen that is also pressure-sensitive. Some operations in the method 2300 are optionally combined, the order of some operations is optionally changed, and some operations are optionally omitted.
[0397] As described below, method 2300 provides an intuitive way to pause a fitness application and prevent accidental activation or deactivation of functions on a portable electronic device during a workout. The method reduces the cognitive burden on a user to pause a fitness application and prevent accidental activation or deactivation of functions on a portable electronic device during a workout, thereby creating a more efficient human-computer interface. For battery-operated computing devices, enabling users to more quickly and efficiently pause fitness applications and prevent accidental activation or deactivation of functions on a portable electronic device during a workout saves power and increases the time interval between battery charges.
[0398] In block 2302, an instruction to start a workout is received. The workout may be started on the portable electronic device by the user selecting from a plurality of workout types and providing any additional required information for the particular workout type. For example, if a swimming workout type is selected, the user may also need to specify whether the swimming workout is in a pool or an open body of water. Alternatively, these may be separated into different types of workouts. For a pool swimming workout, the user may need to specify the length of the pool. Other example workout types include running, cycling, wheelchair, rowing, and treadmill.
[0399] In response to receiving the instruction to start a workout, the fitness application of the portable electronic device begins recording a plurality of fitness metrics for the workout in block 2304. For example, the fitness metrics may include speed, pace, swimming style, heart rate, distance, and time.
[0400] In block 2306, a first user input is received on the pressure-sensitive touch screen while recording a plurality of fitness metrics. The first user input has a characteristic intensity. Blocks 2308-2314 are responsive to receiving the first user input. The user interface may be displayed when the display is off or on the display (e.g., Fig.22A Receive first user input when the user interface 2200 is received.
[0401] In block 2308, it is determined whether (1) the fitness application is in a locked state and (2) the feature intensity exceeds a threshold intensity. Whether the fitness application is in a locked state may be determined based on a state bit associated with the fitness application or by some other means.
[0402] In block 2310, based on determining that the fitness application is in a locked state and the first user input does not exceed the threshold intensity, the fitness application continues to record multiple fitness metrics for fitness. In other words, touching the first input does not affect the operation of the fitness application. Subsequent touches of this type when the fitness application is in the same state will produce the same result. In some variants, based on these determinations, the fitness application can display a limited user interface, such as Fig.22A and Fig. 22B as shown in .
[0403] In block 2312, based on determining that the fitness application is in a locked state and the first user input exceeds the threshold intensity, recording using the fitness application is stopped (e.g., paused). In addition to pausing recording of the plurality of fitness metrics, a pause screen may also be displayed, such as Fig. 22C User input received while the pause screen is displayed can present additional fitness metrics or information specific to the fitness.
[0404] In some variations of method 2300, after recording with the fitness application is stopped, a third user input is received on the pressure-sensitive screen. In response to receiving the third user input, a determination is made whether the third user input has a characteristic intensity that exceeds a threshold intensity. Based on the determination that the third user input does not exceed the threshold intensity and in response to the second user input, a fitness metric for fitness is displayed. Based on the determination that the third user input exceeds the threshold intensity, recording of the fitness metric with the fitness application is resumed.
[0405] In some variations of method 2300, after stopping recording with the fitness application and when the resume user interface is displayed, as described above with respect to Fig.22E The method further comprises receiving a fourth user input for resuming recording using the fitness application and changing the fitness application to an unlocked state. In response to receiving the fourth user input, resuming recording using the fitness application. Data indicating that the fitness application is in an unlocked state is also stored.
[0406] In block 2314, based on determining that the fitness application is in an unlocked state, the first user input is processed based on the fitness application. This is normal operation of the fitness application.
[0407] In some variations of method 2300, after completing a workout, data is stored in association with the type of workout completed, with an indication of a locked or unlocked state based on the state of the workout application when the workout was concluded.
[0408] In some variations of method 2300, a fifth user input is received and processed via a hardware input of the portable electronic device while the plurality of fitness metrics are being recorded and while the fitness application is in a locked state. In other words, hardware inputs are still processed normally even when the fitness application is in a locked state.
[0409] Figure 22A-22F and Fig.23The description associated with describes an embodiment of an input intensity unlocking system. With such a system having an input intensity sensitive and touch-sensitive screen, the device can have two states and can move from one state to another state in response to a touch on the screen having a characteristic intensity greater than an intensity threshold. For example, the first state of the device can be a restricted or locked state, while the second state can allow full functionality. When the device is in the first state, in response to receiving a touch having a characteristic intensity not exceeding the intensity threshold, no action is taken or an action of a limited set of available actions is taken (for example, an action that does not require the characteristic intensity to meet the intensity threshold). The limited set of available actions is less than the full functionality of the device available in the second state, and may include, for example, displaying instructions for switching the device to other states, displaying an indication of the state in which the device is located, displaying summary information or other limited functions. When the device is in the first state, in response to receiving a touch exceeding the threshold intensity, the device is switched to a second state that provides full or nearly full functionality (for example, when the device is a locked device, the device is switched to an unlocked state). In some embodiments, in addition to requiring the input intensity to be greater than the intensity threshold, changing the state (for example, unlocking) also requires satisfying one or more additional criteria (for example, the input includes a required component of motion or the input includes two or more contacts). In other words, the device can receive input having a characteristic intensity; determine whether the input satisfies state change criteria, wherein the state change criteria include criteria that are satisfied when the characteristic intensity of the input exceeds an intensity threshold; in response to determining that the state change criteria are satisfied, change an access state of the device; and in response to determining that the state change criteria are not satisfied, process the input as a non-state changing function (e.g., as a touch input that does not result in a state change) or abandon any further action in response to the input.
[0410] According to some embodiments, Fig.24 An exemplary functional block diagram of an electronic device 2400 configured according to the principles of various described embodiments is shown. According to some embodiments, the functional blocks of the electronic device 2400 are configured to perform the techniques described above. The functional blocks of the device 2400 are optionally implemented by hardware, software, or a combination of hardware and software to perform the principles of various described examples. It should be understood by those skilled in the art that Fig.24 The functional blocks described in the present invention are optionally combined or separated into sub-blocks to implement the principles of various examples. Therefore, the description herein optionally supports any possible combination or separation or further limitation of the functional blocks described herein.
[0411] like Fig.24As shown in , the electronic device 2400 includes a display unit 2402 configured to display a graphical user interface, a touch-sensitive surface unit 2404 configured to receive contact (i.e., touch), a pressure-sensitive surface unit 2418, and a processing unit 2406 coupled to the display unit 2402 and the touch-sensitive surface unit 2404. In some embodiments, the processing unit 2406 includes a display enabling unit 2408, a receiving unit 2410, a determining unit 2412, a recording unit 2414, and optionally a storage unit 2416.
[0412] The processing unit 2406 is configured to: receive an indication to start fitness (for example, using the receiving unit 2410); in response to receiving the indication to start fitness, record multiple fitness metrics of the fitness (for example, using the recording unit 2414); while recording the multiple fitness metrics, receive a first user input on the pressure-sensitive touch screen (for example, using the receiving unit 2410), wherein the first user input has a characteristic strength; and in response to receiving the first user input, determine whether the fitness application is in a locked state and whether the characteristic strength exceeds a threshold strength (for example, using the determining unit 2412).
[0413] The processing unit 2406 is configured to continue recording multiple fitness metrics of the fitness (for example, using the recording unit 2414) based on determining that the fitness application is in a locked state and the first user input does not exceed the threshold intensity; stop the recording (for example, using the recording unit 2414) based on determining that the fitness application is in a locked state and the first user input exceeds the threshold intensity; and process the first user input according to the fitness application (for example, using the input processing unit 2422) based on determining that the fitness application is in an unlocked state.
[0414] In some embodiments, processing unit 2402 is further configured to enable display of a pause screen for fitness (e.g., using display enabling unit 2408) based on determining that the fitness application is in a locked state and the first user input exceeds a threshold intensity.
[0415] In some embodiments, the processing unit 2402 is further configured to, in response to receiving a second user input while recording is stopped, enable scrolling of the display of the fitness metric for the fitness (eg, using the display enabling unit 2408).
[0416] In some embodiments, processing unit 2402 is further configured to, after stopping recording using the fitness application, receive a third user input on the pressure-sensitive touch screen (e.g., using receiving unit 2410), wherein the third user input has a characteristic intensity. Processing unit 2406 is further configured to, in response to receiving the third user input: determine (e.g., using determining unit 2412) whether the characteristic intensity exceeds a threshold intensity, and based on determining that the third user input does not exceed the threshold intensity and in response to the second user input, enable display of a fitness metric for fitness (e.g., using display enabling unit 2408). Processing unit 2406 is further configured to: based on determining that the third user input exceeds the threshold intensity, resume recording (e.g., using recording unit 2414).
[0417] In some embodiments, the processing unit 2402 is further configured to, after stopping recording using the fitness application, receive a fourth user input (e.g., using the receiving unit 2410) when displaying the resumption user interface to resume recording using the fitness application and change the fitness application to an unlocked state, and in response to receiving the fourth user input, resume recording (e.g., using the recording unit 2414) and store data indicating that the fitness application is in an unlocked state (e.g., using the storage unit 2416).
[0418] In some embodiments, the exercise is swimming exercise.
[0419] In some embodiments, processing unit 2402 is further configured to, after completion of the workout, store (eg, using storage unit 2416) data associating the type of workout with an indication of a locked or unlocked state.
[0420] In some embodiments, it is determined whether the first user input exceeds a threshold pressure while the display is off.
[0421] In some embodiments, the processing unit 2402 is further configured to, while recording multiple fitness metrics and the fitness application is in a locked state, receive a fifth user input via a hardware input of the portable electronic device (e.g., using the receiving unit 2410) and process a fourth user input (e.g., using the input processing unit 2422).
[0422] 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.
[0423] Exemplary methods, non-transitory computer-readable storage media, systems, and electronic devices are given in the following:
[0424] 1. A method comprising:
[0425] At a portable electronic device having a display:
[0426] generating a graphical representation of the activity data for output on the display, wherein
[0427] the graphical representation includes a target portion and a fitness portion, wherein the target portion and the fitness portion each extend outside a displayable area of the display, wherein the target portion includes a first target graphical element for a first target metric, and wherein the fitness portion includes a first fitness graphical element for a first fitness metric;
[0428] displaying a first portion of the graphical representation on the display, wherein the displayed first portion includes a first graphical element;
[0429] In response to receiving a first scroll input:
[0430] When the displayed first portion belongs to the target portion, replacing display of the first graphical element with display of the first target graphical element; and
[0431] When the displayed first portion does not belong to the target portion, the first graphical element is translated by an amount based on the first scroll input size and at least a portion of the first fitness graphical element is displayed.
[0432] 2. The method of claim 1, wherein replacing the display of the first graphical element with the display of the first target graphical element comprises transitioning the first graphical element to the first target graphical element via animation.
[0433] 3. The method according to item 1 or 2, further comprising:
[0434] In response to receiving the first scroll input, displaying a portion of the first graphical element while displaying a portion of the first target graphical element;
[0435] When the displayed first part belongs to the target part, and in response to detecting that the first scrolling input has stopped, it is determined whether the displayed part of the first target graphic element is greater than a threshold, wherein replacing the display of the first graphic element with the display of the first target graphic element is based on determining that the displayed part of the first target graphic element exceeds the threshold.
[0436] 4. The method according to any one of item 1 or item 2, wherein the target portion includes a second target graphical element for a second target metric, the method further comprising:
[0437] receiving a second scroll input while displaying the first target graphical element;
[0438] In response to receiving the second scroll input, displaying a portion of the first target graphical element while displaying a portion of the second target graphical element; and
[0439] In response to detecting that the first scroll input has ceased, determining whether the displayed portion of the second target graphical element is greater than a threshold;
[0440] Based on determining that the displayed portion of the second target graphical element is greater than the threshold intensity, display of the first target graphical element is replaced with display of the second target graphical element.
[0441] 5. A method according to any one of items 1-4, wherein the graphical representation includes a target summary portion having summary graphical elements representing time series data for the first target metric.
[0442] 6. A method according to item 5, wherein the color of the summary graphical element corresponds to the color of the first target metric.
[0443] 7. The method of any one of items 1-6, wherein the fitness portion includes a second fitness graphical element for a second fitness metric, the method further comprising:
[0444] receiving a third scroll input while displaying the first fitness graphical element;
[0445] in response to receiving the third scroll input, while displaying a portion of the second fitness graphical element, translating the display of the first fitness graphical element by an amount based on the third scroll input; and
[0446] After the second scroll input has ceased, display of a portion of the first fitness graphical element and display of the portion of the second fitness graphical element are maintained.
[0447] 8. The method of any one of clauses 1 to 7, wherein the portable electronic device comprises a pressure-sensitive touch screen, the method further comprising:
[0448] receiving a user input on the pressure-sensitive touch screen while displaying a portion of the target portion of the graphical representation of activity data, wherein the user input has a characteristic intensity;
[0449] determining whether the feature intensity exceeds an intensity threshold; and
[0450] Based on determining that the user input exceeds the intensity threshold:
[0451] Displaying an affordance for entering a target setting interface;
[0452] In response to receiving user input selecting the affordance, displaying the goal setting interface; and
[0453] User input is received via the goal setting interface, the user input indicating a new value for the first goal via a displayed user interface element.
[0454] 9. A method according to any one of items 1-8, wherein the width of the graphical representation is equal to the width of the displayable area of the display.
[0455] 10. A portable electronic device comprising:
[0456] one or more processors,
[0457] monitor;
[0458] Touch-sensitive screen; and
[0459] A memory storing one or more programs executed by the one or more processors, the one or more programs including instructions for performing the following operations:
[0461] generating a graphical representation of the activity data for output on the display, wherein the graphical representation includes a goal portion and a fitness portion, wherein the goal portion and the fitness portion each extend outside a displayable area of the display, wherein the goal portion includes a first goal graphical element for a first goal metric, and wherein the fitness portion includes a first fitness graphical element for a first fitness metric;
[0462] displaying a first portion of the graphical representation on the display, wherein the displayed first portion includes a first graphical element;
[0463] In response to receiving a first scroll input:
[0464] When the displayed first portion belongs to the target portion, replacing display of the first graphical element with display of the first target graphical element; and
[0465] When the displayed first portion does not belong to the target portion, the first graphical element is translated by an amount based on the first scroll input size and at least a portion of the first fitness graphical element is displayed.
[0466] 11. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device having a display, the one or more programs comprising instructions for performing the following operations:
[0467] generating a graphical representation of the activity data for output on the display, wherein the graphical representation includes a goal portion and a fitness portion, wherein the goal portion and the fitness portion each extend outside a displayable area of the display, wherein the goal portion includes a first goal graphical element for a first goal metric, and wherein the fitness portion includes a first fitness graphical element for a first fitness metric;
[0468] displaying a first portion of the graphical representation on the display, wherein the displayed first portion includes a first graphical element;
[0469] In response to receiving a first scroll input:
[0470] When the displayed first portion belongs to the target portion, replacing display of the first graphical element with display of the first target graphical element; and
[0471] When the displayed first portion does not belong to the target portion, the first graphical element is translated by an amount based on the first scroll input size and at least a portion of the first fitness graphical element is displayed.
[0472] 12. A portable electronic device comprising:
[0473] means for generating a graphical representation of activity data for output on a display, wherein the graphical representation includes a goal portion and a fitness portion, wherein the goal portion and the fitness portion each extend outside a displayable area of the display, wherein the goal portion includes a first goal graphical element for a first goal metric, and wherein the fitness portion includes a first fitness graphical element for a first fitness metric;
[0474] means for displaying a first portion of the graphical representation on the display, wherein the displayed first portion includes a first graphical element;
[0475] In response to receiving a first scroll input:
[0476] means for replacing display of said first graphical element with display of said first target graphical element when the displayed first portion belongs to said target portion; and
[0477] When the displayed first portion does not belong to the target portion, means for translating the first graphical element by an amount based on the first scroll input size and displaying at least a portion of the first fitness graphical element.
[0478] 13. A portable electronic device comprising:
[0479] monitor;
[0480] one or more processors;
[0481] Memory; and
[0482] One or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs include instructions for executing any of the methods described in items 1-9.
[0483] 14. A non-transitory computer-readable storage medium storing one or more programs, wherein the one or more programs include instructions that, when executed by one or more processors of an electronic device with a display, cause the device to perform any of the methods described in items 1-9.
[0484] 15. A portable electronic device comprising:
[0485] monitor;
[0486] An apparatus for performing any of the methods described in items 1-9.
[0487] 16. A portable electronic device comprising:
[0488] a display unit configured to display a graphical user interface;
[0489] A processing unit is coupled to the display unit, the processing unit
[0490] The meta is configured as:
[0491] generating a graphical representation of the activity data for output on the display, wherein the graphical representation includes a goal portion and a fitness portion, wherein the goal portion and the fitness portion each extend outside a displayable area of the display, wherein the goal portion includes a first goal graphical element for a first goal metric, and wherein the fitness portion includes a first fitness graphical element for a first fitness metric;
[0492] displaying a first portion of the graphical representation on the display, wherein the displayed first portion includes a first graphical element;
[0493] In response to receiving a first scroll input:
[0494] When the displayed first portion belongs to the target portion, replacing display of the first graphical element with display of the first target graphical element; and
[0495] When the displayed first portion does not belong to the target portion, the first graphical element is translated by an amount based on the first scroll input size and at least a portion of the first fitness graphical element is displayed.
[0496] 17. A portable electronic device according to item 16, wherein replacing the display of the first graphical element with the display of the first target graphical element includes transitioning the first graphical element to the first target graphical element via animation.
[0497] 18. The portable electronic device according to item 16 or 17, wherein the processing unit is further configured to:
[0498] In response to receiving the first scroll input, displaying a portion of the first graphical element while displaying a portion of the first target graphical element;
[0499] When the displayed first part belongs to the target part, and in response to detecting that the first scrolling input has stopped, it is determined whether the displayed part of the first target graphic element is greater than a threshold, wherein replacing the display of the first graphic element with the display of the first target graphic element is based on determining that the displayed part of the first target graphic element exceeds the threshold.
[0500] 19. The portable electronic device of any one of clauses 16 or 17, wherein the target portion comprises a second target graphical element for a second target metric, the method further comprising:
[0501] receiving a second scroll input while displaying the first target graphical element;
[0502] In response to receiving the second scroll input, displaying a portion of the first target graphical element while displaying a portion of the second target graphical element; and
[0503] In response to detecting that the first scroll input has ceased, determining whether the displayed portion of the second target graphical element is greater than a threshold;
[0504] Based on determining that the displayed portion of the second target graphical element is greater than the threshold intensity, display of the first target graphical element is replaced with display of the second target graphical element.
[0505] 20. A portable electronic device according to any of items 16-19, wherein the graphical representation includes a target summary portion having summary graphical elements representing time series data for the first target metric.
[0506] 21. A portable electronic device according to item 19, wherein the color of the summary graphical element corresponds to the color of the first target metric.
[0507] 22. The portable electronic device of any one of items 16-21, wherein the fitness portion includes a second fitness graphical element for a second fitness metric, the processing being further configured to:
[0508] receiving a third scroll input while displaying the first fitness graphical element;
[0509] In response to receiving the third scroll input, while displaying a portion of the second fitness graphical element, translating display of the first fitness graphical element by an amount based on the third scroll input; and
[0510] After the second scroll input has ceased, display of a portion of the first fitness graphical element and display of the portion of the second fitness graphical element are maintained.
[0511] 23. The portable electronic device according to any one of items 16-22, wherein the portable electronic device comprises a pressure-sensitive touch screen unit, and the portable electronic device is further configured to:
[0512] receiving a user input on the pressure-sensitive touch screen while displaying a portion of the target portion of the graphical representation of activity data, wherein the user input has a characteristic intensity;
[0513] determining whether the feature intensity exceeds an intensity threshold; and
[0514] Based on determining that the user input exceeds the intensity threshold:
[0515] Displaying an affordance for entering a target setting interface;
[0516] In response to receiving user input selecting the affordance, displaying the goal setting interface; and
[0517] User input is received via the goal setting interface, the user input indicating a new value for the first goal via a displayed user interface element.
[0518] 24. A method comprising:
[0519] On an electronic device with a display:
[0520] displaying contact information for a plurality of contacts including the first contact;
[0521] receiving, from one or more external electronic devices, a summary of activity for the first contact, wherein the summary of activity for the first contact includes a first goal metric;
[0522] receiving a first user input selecting the first contact;
[0523] In response to receiving the first user input selecting the first contact, displaying a portion of a graphical representation of the activity summary on the display, wherein the graphical representation includes a first target graphical element for the first target metric.
[0524] 25. The method of clause 24, wherein the portable electronic device comprises a pressure-sensitive touch screen, the method further comprising:
[0525] receiving a second user input on the pressure-sensitive touch screen while displaying the contact information, wherein the second user input has a characteristic intensity;
[0526] In response to receiving the second user input, determining whether the feature strength exceeds a threshold strength;
[0527] Based on determining that the second user input exceeds the threshold strength, displaying a sorting interface for selecting a parameter by which to sort the first plurality of contacts;
[0528] While displaying the sorting interface, receiving a third user input identifying a parameter for sorting the plurality of contacts;
[0529] In response to receiving the second user input:
[0530] sorting the first plurality of contacts based on the parameter to generate a sorted first plurality of contacts; and
[0531] The display of the contact information is updated based on the ranked first plurality of contacts.
[0532] 26. The method of any of clauses 24-25, wherein the graphical representation of the activity summary includes an affordance for contacting the first contact, the method further comprising:
[0533] receiving a third user input indicating selection of the affordance;
[0534] In response to receiving the third user input, a message user interface is displayed, the message user interface configured to receive message input for the first contact on the portable electronic device.
[0535] 27. A method according to any of items 24-26, wherein the first goal metric is at least one of a number of calories burned or an activity measure.
[0536] 28. The method of any of items 24-27, wherein the activity summary includes a first fitness metric and the graphical representation includes a first fitness graphical element for the first fitness metric.
[0537] 29. The method of item 28, wherein the first fitness metric is selected from the group consisting of: pace, distance, time, calorie value, and heart rate.
[0538] 30. The method according to any one of items 24-29, further comprising:
[0539] When displaying the contact information, a graphical element corresponding to a user of the portable electronic device is displayed, wherein the graphical element includes an active graphical element for the user.
[0540] 31. A portable electronic device comprising:
[0541] one or more processors,
[0542] monitor;
[0543] Touch-sensitive screen; and
[0544] A memory storing one or more programs executed by the one or more processors, the one or more programs including instructions for performing the following operations:
[0546] displaying contact information for a plurality of contacts including the first contact;
[0547] receiving, from one or more external electronic devices, activity summary data for the first contact, wherein the activity summary data for the first contact includes a first goal metric;
[0548] receiving a first user input selecting the first contact;
[0549] In response to receiving the first user input selecting the first contact, displaying a portion of a graphical representation of the activity summary on the display, wherein the graphical representation includes a first target graphical element for the first target metric.
[0550] 32. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device having a display, the one or more programs comprising instructions for performing the following operations:
[0551] displaying contact information for a plurality of contacts including the first contact;
[0552] receiving, from one or more external electronic devices, activity summary data for the first contact, wherein the activity summary data for the first contact includes a first goal metric;
[0553] receiving a first user input selecting the first contact;
[0554] In response to receiving the first user input selecting the first contact, displaying a portion of a graphical representation of the activity summary on the display, wherein the graphical representation includes a first target graphical element for the first target metric.
[0555] 33. A portable electronic device comprising:
[0556] means for displaying contact information for a plurality of contacts including a first contact;
[0557] means for receiving, from one or more external electronic devices, activity summary data for the first contact, wherein the activity summary data for the first contact includes a first goal metric;
[0558] means for receiving first user input selecting said first contact;
[0559] Means for displaying, on the display, a portion of a graphical representation of the activity summary in response to receiving the first user input selecting the first contact, wherein the graphical representation includes a first target graphical element for the first target metric.
[0560] 34. A portable electronic device comprising:
[0561] monitor;
[0562] one or more processors;
[0563] Memory; and
[0564] One or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs include instructions for executing any of the methods described in items 23-30.
[0565] 35. A non-transitory computer-readable storage medium storing one or more programs, wherein the one or more programs include instructions that, when executed by one or more processors of an electronic device with a display, cause the device to perform any of the methods described in items 23-30.
[0566] 36. A portable electronic device comprising:
[0567] monitor;
[0568] An apparatus for performing any of the methods described in items 23-30.
[0569] 37. A portable electronic device comprising:
[0570] a display unit configured to display a graphical user interface;
[0571] A processing unit is coupled to the display unit, the processing unit
[0572] The meta is configured as:
[0573] displaying contact information for a plurality of contacts including the first contact;
[0574] receiving, from one or more external electronic devices, activity summary data for the first contact, wherein the activity summary data for the first contact includes a first goal metric;
[0575] receiving a first user input selecting the first contact;
[0576] In response to receiving the first user input selecting the first contact, displaying a portion of a graphical representation of the activity summary on the display, wherein the graphical representation includes a first target graphical element for the first target metric.
[0577] 38. A portable electronic device according to item 37, wherein the displayed contact information includes fitness data or goal data for each of the plurality of contacts.
[0578] 39. The portable electronic device according to any one of items 37-38, wherein the portable electronic device comprises a pressure-sensitive touch screen unit, and the processing unit is further configured to:
[0579] receiving a second user input on the pressure-sensitive touch screen while displaying the contact information, wherein the second user input has a characteristic intensity;
[0580] In response to receiving the second user input, determining whether the feature strength exceeds a threshold strength;
[0581] Based on determining that the second user input exceeds the threshold strength, displaying a sorting interface for selecting a parameter by which to sort the first plurality of contacts;
[0582] While displaying the sorting interface, receiving a third user input identifying a parameter for sorting the plurality of contacts;
[0583] In response to receiving the second user input:
[0584] sorting the first plurality of contacts based on the parameter to generate a sorted first plurality of contacts; and
[0585] The display of the contact information is updated based on the ranked first plurality of contacts.
[0586] 40. The portable electronic device of any one of clauses 37-39, wherein the graphical representation of the activity summary includes an affordance for contacting the first contact, and the processing unit is further configured to:
[0587] receiving a third user input indicating selection of the affordance;
[0588] In response to receiving the third user input, a message user interface is displayed, the message user interface configured to receive message input for the first contact on the portable electronic device.
[0589] 41. A portable electronic device according to any of items 37-40, wherein the first goal metric is at least one of a number of calories burned or an activity measure.
[0590] 42. A portable electronic device as described in any of items 37-41, wherein the activity summary includes a first fitness metric and the graphical representation includes a first fitness graphical element for the first fitness metric.
[0591] 43. The portable electronic device of item 42, wherein the first fitness metric is selected from the group consisting of: pace, distance, time, calorie value, and heart rate.
[0592] 44. The portable electronic device according to any one of items 37-43, wherein the processing unit is further configured to:
[0593] When displaying the contact information, a graphical element corresponding to a user of the portable electronic device is displayed, wherein the graphical element includes an active graphical element for the user.
[0594] 45. A method comprising:
[0595] On an electronic device with a display:
[0596] receiving, from an external electronic device, notifications of completed workouts and workout summary data of a remote user associated with the external electronic device;
[0597] displaying, on the display, a first graphical element representing the notification;
[0598] receiving a first user input selecting the first graphical element while the first graphical element is displayed; and
[0599] In response to the first user input, a portion of a graphical representation of the fitness summary data is displayed.
[0600] 46. A method according to item 45, wherein the graphical representation includes a graphical element indicating the type of fitness.
[0601] 47. A method according to item 45 or 46, wherein the graphical representation includes a graphical element indicating weather data associated with the fitness.
[0602] 48. A method according to any of items 45-47, wherein the graphical representation includes a graphical element of a first goal metric, and wherein the first goal metric is a number of calories burned or an activity measure.
[0603] 49. A method according to any of items 45-48, wherein the graphical representation includes a graphical element of a first fitness metric for the completed fitness, and wherein the first fitness metric is selected from the group consisting of: pace, distance, time, number of calories burned, and heart rate.
[0604] 50. A method according to item 49, wherein the graphical representation includes a graphical element of a second fitness metric for the fitness that is different from the first fitness metric, and wherein the second fitness metric is selected from the group consisting of: pace, distance, time, calorie value and heart rate.
[0605] 51. The method of any of items 45-50, wherein receiving the fitness summary occurs after receiving the first user input selecting the notification.
[0606] 52. The method of any of clauses 45-51, wherein the graphical representation of the activity summary includes an affordance for contacting the first contact, the method further comprising:
[0607] receiving a second user input indicating selection of the affordance;
[0608] In response to receiving the second user input, a message user interface is displayed, the message user interface configured to receive message input for the first contact on the portable electronic device.
[0609] 53. A method according to item 52, wherein the message user interface includes a plurality of predefined messages, and wherein at least one of the predefined messages is based on a type of current fitness.
[0610] 54. A method according to item 52, wherein the message user interface includes a plurality of predefined messages, and wherein at least one of the predefined messages is based on the fitness summary data.
[0611] 55. A portable electronic device comprising:
[0612] one or more processors,
[0613] monitor;
[0614] Touch-sensitive screen; and
[0615] A memory storing one or more programs executed by the one or more processors, the one or more programs including instructions for performing the following operations:
[0617] receiving, from an external electronic device, notifications of completed workouts and workout summary data of a remote user associated with the external electronic device;
[0618] displaying, on the display, a first graphical element representing the notification;
[0619] receiving a first user input selecting the first graphical element while the first graphical element is displayed; and
[0620] In response to the first user input, a portion of a graphical representation of the fitness summary data is displayed.
[0621] 56. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device having a display, the one or more programs comprising instructions for:
[0622] receiving, from an external electronic device, notifications of completed workouts and workout summary data of a remote user associated with the external electronic device;
[0623] displaying, on the display, a first graphical element representing the notification;
[0624] receiving a first user input selecting the first graphical element while the first graphical element is displayed;
[0625] In response to the first user input, a portion of a graphical representation of the fitness summary data is displayed.
[0626] 57. A portable electronic device comprising:
[0627] means for receiving, from an external electronic device, notifications of completed workouts and workout summary data of a remote user associated with the external electronic device;
[0628] means for displaying on said display a first graphical element representing said notification;
[0629] means for receiving a first user input selecting the first graphical element while the first graphical element is displayed; and
[0630] Means for displaying, in response to the first user input, a portion of a graphical representation of the fitness summary data.
[0631] 58. A portable electronic device comprising:
[0632] monitor;
[0633] one or more processors;
[0634] Memory; and
[0635] One or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs include instructions for executing any of the methods described in items 45-54.
[0636] 59. A non-transitory computer-readable storage medium storing one or more programs, wherein the one or more programs include instructions that, when executed by one or more processors of an electronic device with a display, cause the device to perform any of the methods described in items 46-55.
[0637] 60. A portable electronic device comprising:
[0638] monitor;
[0639] Apparatus for carrying out any of the methods described in items 45 to 54.
[0640] 61. A portable electronic device comprising:
[0641] a display unit configured to display a graphical user interface;
[0642] A processing unit is coupled to the display unit, the processing unit
[0643] The meta is configured as:
[0644] receiving, from an external electronic device, notifications of completed workouts and workout summary data of a remote user associated with the external electronic device;
[0645] enabling display of a first graphical element representing the notification on the display unit;
[0646] receiving a first user input selecting the first graphical element while the first graphical element is displayed; and
[0647] In response to the first user input, display of a portion of a graphical representation of the fitness summary data is enabled.
[0648] 62. A portable electronic device according to item 61, wherein the graphical representation includes a graphical element indicating the type of fitness.
[0649] 63. A portable electronic device according to item 61 or 62, wherein the graphical representation includes a graphical element indicating weather data associated with the fitness.
[0650] 64. A portable electronic device according to any of items 61-63, wherein the graphical representation includes a graphical element of a first target metric, and wherein the first target metric is a number of calories burned or an activity measure.
[0651] 65. A portable electronic device according to any one of items 61-64, wherein the graphical representation includes a graphical element for a first fitness metric of the completed fitness, and
[0652] Wherein the first fitness metric is selected from the group consisting of: pace, distance, time, number of calories burned, and heart rate.
[0653] 66. A portable electronic device according to item 65, wherein the graphical representation includes a graphical element of a second fitness metric for the fitness that is different from the first fitness metric, and wherein the second fitness metric is selected from the group consisting of: pace, distance, time, calorie value and heart rate.
[0654] 67. A portable electronic device according to any of items 61-66, wherein receiving the fitness summary occurs after receiving the first user input selecting the notification.
[0655] 68. The portable electronic device of any one of clauses 61-67, wherein the graphical representation of the activity summary includes an affordance for contacting the first contact, the processing unit being further configured to:
[0656] receiving a second user input indicating selection of the affordance;
[0657] In response to receiving the second user input, a message user interface is displayed, the message user interface configured to receive message input for the first contact on the portable electronic device.
[0658] 69. A portable electronic device according to item 68, wherein the message user interface includes a plurality of predefined messages, and wherein at least one of the predefined messages is based on a type of current fitness.
[0659] 70. A portable electronic device according to item 68, wherein the message user interface includes a plurality of predefined messages, and wherein at least one of the predefined messages is based on the fitness summary data.
[0660] 71. A method comprising:
[0661] At a portable electronic device having a touch screen and a display;
[0662] displaying contact information for a first plurality of contacts, the contact information including first contact information, the first plurality of contacts including the first contact, wherein the first contact information corresponds to the first contact;
[0663] receiving a first user input indicating selection of the first contact;
[0664] In response to receiving the first user input, determining whether the portable electronic device is authorized to access activity data associated with the first contact;
[0665] Based on determining that the portable electronic device has access to the activity data associated with the first contact, displaying a portion of the graphical representation of the activity data; and
[0666] Based on determining that the electronic device does not have access to activity data associated with the first contact, a graphical element is displayed indicating that there is no activity data for the first contact.
[0667] 72. The method according to item 71, further comprising:
[0668] Before displaying said contact information:
[0669] displaying a first affordance for generating the first plurality of contacts;
[0670] receiving a second user input indicating selection of the first affordance;
[0671] In response to receiving the second user input:
[0672] retrieving a second plurality of contacts, wherein the second plurality of contacts includes the first contact and a second contact; and
[0673] determining whether an electronic device associated with the second contact of the second plurality of contacts supports sharing activity data;
[0674] excluding the second contact from the first plurality of contacts based on determining that the second contact is not associated with an electronic device that supports sharing activity data;
[0675] determining whether the electronic device associated with the first contact supports sharing activity data;
[0676] Based on determining that the electronic device associated with the first contact supports sharing activity data, the first contact is added to the first plurality of contacts.
[0677] 73. A method according to item 71 or 72, wherein determining whether the electronic device associated with the first contact supports sharing activity data includes determining whether the electronic device is capable of measuring activity data.
[0678] 74. The method according to any one of items 71 to 73, further comprising:
[0679] receiving user input selecting an affordance for a sorting interface;
[0680] In response to receiving the user input selecting the affordance for the sorting interface, displaying the sorting interface;
[0681] while displaying the sorting user interface, receiving a third user input corresponding to a parameter by which to sort the first plurality of contacts;
[0682] In response to receiving the third user input:
[0683] The first plurality of contacts is sorted based on the parameter to generate a sorted first plurality of contacts, wherein the display of the contact information is based on the sorted first plurality of contacts.
[0684] 75. The method of any of clauses 71-74, wherein the graphical representation includes a second affordance indicating that activity data should not be shared with the first contact, the method further comprising:
[0685] While displaying the second enable indication, receiving a fourth user input indicating a selection of the first enable indication;
[0686] In response to receiving the fourth user input, data indicating that activity data should not be sent to the first contact is stored.
[0687] 76. The method of any of items 71-75, wherein the graphical representation includes a third affordance indicating that the first contact's completed workout should not generate a message on the portable electronic device, the method further comprising:
[0688] While displaying the third enable indication, receiving a fifth user input indicating selection of the third enable indication;
[0689] In response to receiving the fifth user input, data is stored indicating a notification processed in response to the first contact completing a workout.
[0690] 77. The method according to any one of items 71 to 76, further comprising:
[0691] Based on determining that the portable electronic device is not authorized to access the activity data associated with the first contact, an indication that the first contact is hiding activity data is displayed.
[0692] 78. The method of any of clauses 71-77, wherein the graphical representation includes a fourth affordance indicating that the first contact should be removed from the first plurality of contacts, the method further comprising:
[0693] While displaying the fourth enable indication, receiving a sixth user input indicating selection of the fourth enable indication;
[0694] In response to receiving the sixth user input, the first contact is removed from the first plurality of contacts while maintaining the first contact in the second plurality of contacts.
[0695] 79. The method according to any one of items 71 to 78, further comprising:
[0696] displaying a fifth indication, the fifth indication being used to display aggregated status data for the first plurality of contacts;
[0697] receiving a seventh user input selecting said fifth indication;
[0698] In response to receiving the seventh user input, replacing the display of the contact information with the display of the graphical representation of the aggregated status data, wherein the graphical representation of the aggregated data includes a hidden portion, an invitation portion, and a shared portion, wherein the hidden portion includes contact information for a group of contacts for whom activity data is being hidden, wherein the invitation portion includes contact information for a group of contacts from whom notifications indicating a proposal to share activity data have been received, and wherein the shared portion includes contact information for a group of contacts for whom activity data is being shared.
[0699] 80. The method according to any one of items 71 to 79, further comprising:
[0700] receiving an indication of completion of a user workout from an external electronic device paired with the portable electronic device;
[0701] receiving fitness data for the user from the external electronic device;
[0702] The data is sent to at least one first contact of the first plurality of contacts.
[0703] 81. A portable electronic device comprising:
[0704] one or more processors,
[0705] monitor;
[0706] Touch-sensitive screen; and
[0707] A memory storing one or more programs executed by the one or more processors, the one or more programs including instructions for performing the following operations:
[0709] displaying contact information for a first plurality of contacts, the contact information including first contact information, the first plurality of contacts including the first contact, wherein the first contact information corresponds to the first contact;
[0710] receiving a first user input indicating selection of the first contact;
[0711] In response to receiving the first user input, determining whether the portable electronic device is authorized to access activity data associated with the first contact;
[0712] Based on determining that the portable electronic device has access to the activity data associated with the first contact, displaying a portion of the graphical representation of the activity data; and
[0713] Based on determining that the electronic device does not have access to activity data associated with the first contact, a graphical element is displayed indicating that there is no activity data for the first contact.
[0714] 82. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device having a display, the one or more programs comprising instructions for:
[0715] Displaying contact information for a first plurality of contacts, the contact information including first contact information, the first plurality of contacts including the first contact, wherein
[0716] The first contact information corresponds to the first contact;
[0717] receiving a first user input indicating selection of the first contact;
[0718] In response to receiving the first user input, determining whether the portable electronic device is authorized to access activity data associated with the first contact;
[0719] Based on determining that the portable electronic device has access to the activity data associated with the first contact, displaying a portion of the graphical representation of the activity data; and
[0720] Based on determining that the electronic device does not have access to activity data associated with the first contact, a graphical element is displayed indicating that there is no activity data for the first contact.
[0721] 83. A portable electronic device comprising:
[0722] means for displaying contact information for a first plurality of contacts, the contact information comprising first contact information, the first plurality of contacts comprising the first contact, wherein the first contact information corresponds to the first contact;
[0723] means for receiving first user input indicating selection of said first contact;
[0724] means for determining, in response to receiving the first user input, whether the portable electronic device is authorized to access activity data associated with the first contact;
[0725] means for displaying a portion of a graphical representation of the activity data based on determining that the portable electronic device has access to the activity data associated with the first contact; and
[0726] Based on determining that the electronic device does not have access to activity data associated with the first contact, means for displaying a graphical element indicating that there is no activity data for the first contact.
[0727] 84. A portable electronic device comprising:
[0728] monitor;
[0729] one or more processors;
[0730] Memory; and
[0731] One or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, and the one or more programs include instructions for executing any of the methods described in items 71-88.
[0732] 85. A non-transitory computer-readable storage medium storing one or more programs, wherein the one or more programs include instructions that, when executed by one or more processors of an electronic device with a display, cause the device to perform any of the methods described in items 72-80.
[0733] 86. A portable electronic device comprising:
[0734] monitor;
[0735] An apparatus for performing any of the methods described in items 71-80.
[0736] 87. A portable electronic device comprising:
[0737] a display unit configured to display a graphical user interface;
[0738] A processing unit is coupled to the display unit, the processing unit
[0739] The meta is configured as:
[0740] displaying contact information for a first plurality of contacts, the contact information including first contact information, the first plurality of contacts including the first contact, wherein the first contact information corresponds to the first contact;
[0741] receiving a first user input indicating selection of the first contact;
[0742] In response to receiving the first user input, determining whether the portable electronic device is authorized to access activity data associated with the first contact;
[0743] Based on determining that the portable electronic device has access to the activity data associated with the first contact, displaying a portion of the graphical representation of the activity data; and
[0744] Based on determining that the electronic device does not have access to activity data associated with the first contact, a graphical element is displayed indicating that there is no activity data for the first contact.
[0745] 88. The portable electronic device according to item 87, further comprising:
[0746] Before displaying said contact information:
[0747] displaying a first affordance for generating the first plurality of contacts;
[0748] receiving a second user input indicating selection of the first affordance;
[0749] In response to receiving the second user input:
[0750] retrieving a second plurality of contacts, wherein the second plurality of contacts includes the first contact and a second contact; and
[0751] determining whether an electronic device associated with the second contact of the second plurality of contacts supports sharing activity data;
[0752] excluding the second contact from the first plurality of contacts based on determining that the second contact is not associated with an electronic device that supports sharing activity data;
[0753] determining whether the electronic device associated with the first contact supports sharing activity data;
[0754] Based on determining that the electronic device associated with the first contact supports sharing activity data, the first contact is added to the first plurality of contacts.
[0755] 89. A portable electronic device according to item 87, wherein determining whether the electronic device associated with the first contact supports sharing activity data includes determining whether the electronic device is capable of measuring activity data.
[0756] 90. The portable electronic device according to any one of items 88-89, wherein the processing unit is further configured to:
[0757] receiving user input selecting an affordance for a sorting interface;
[0758] In response to receiving the user input selecting the affordance for the sorting interface, displaying the sorting interface;
[0759] while displaying the sorting user interface, receiving a third user input corresponding to a parameter by which to sort the first plurality of contacts;
[0760] In response to receiving the third user input:
[0761] The first plurality of contacts is sorted based on the parameter to generate a sorted first plurality of contacts, wherein the display of the contact information is based on the sorted first plurality of contacts.
[0762] 91. The portable electronic device of any one of items 87-90, wherein the graphical representation includes a second affordance indicating that the activity data should not be shared with the first contact, and the processing unit is further configured to:
[0763] While displaying the second enable indication, receiving a fourth user input indicating a selection of the first enable indication;
[0764] In response to receiving the fourth user input, data indicating that activity data should not be sent to the first contact is stored.
[0765] 92. A portable electronic device according to any one of items 87-91, wherein the graphical representation includes a third indication indicating that the completed fitness of the first contact should not generate a message on the portable electronic device, and the processing unit is further configured to:
[0766] While displaying the third enable indication, receiving a fifth user input indicating selection of the third enable indication;
[0767] In response to receiving the fifth user input, data is stored indicating a notification processed in response to the first contact completing a workout.
[0768] 93. The portable electronic device according to any one of items 87-92, wherein the processing unit is further configured to:
[0769] Based on determining that the portable electronic device is not authorized to access the activity data associated with the first contact, an indication that the first contact is hiding activity data is displayed.
[0770] 94. A portable electronic device according to any one of items 87-93, wherein the graphical representation includes a fourth enable representation, the fourth enable representation indicating that the first contact should be removed from the first plurality of contacts, and the processing unit is further configured to:
[0771] While displaying the fourth enable indication, receiving a sixth user input indicating selection of the fourth enable indication;
[0772] In response to receiving the sixth user input, the first contact is removed from the first plurality of contacts while maintaining the first contact in the second plurality of contacts.
[0773] 95. The portable electronic device according to any one of items 87-94, wherein the processing unit is further configured to:
[0774] displaying a fifth indication, the fifth indication being used to display aggregated status data for the first plurality of contacts;
[0775] receiving a seventh user input selecting said fifth indication;
[0776] In response to receiving the seventh user input, replacing the display of the contact information wit...
Claims
1. A method comprising: At an electronic device having a display: displaying a fitness user interface via the display; While displaying the fitness user interface, detecting a first scroll input; In response to detecting the first scroll input: Based on determining that the first scroll input is detected while displaying the fitness user interface including a first target graphical element for a first target metric and a second target graphical element for a second target metric: ceasing to display the first target graphical element for the first target metric and the second target graphical element for the second target metric; and simultaneously displaying a representation of the first target graphical element for the first target metric and a first summary graphical element corresponding to additional information associated with the first target metric; as well as Based on determining that the first scroll input is detected while displaying the fitness user interface including the representation of the first target graphic element for the first target metric and the first summary graphic element corresponding to additional information associated with the first target metric, simultaneously displaying a representation of a second target graphic element for the second target metric and a second summary graphic element corresponding to additional information associated with the second target metric.
2. The method according to claim 1, further comprising: In response to detecting the first scroll input: Based on determining that the first scroll input is detected while displaying the fitness user interface including the representation of the second target graphic element for the second target metric and the second summary graphic element corresponding to additional information associated with the second target metric, simultaneously displaying a representation of a third target graphic element for a third target metric and a third summary graphic element corresponding to additional information associated with the third target metric.
3. A method according to any one of claims 1-2, wherein the first summary graphical element corresponding to additional information associated with the first target metric includes time series data for the first target metric.
4. The method of any one of claims 1-2, wherein the first summary graphical element corresponding to additional information associated with the first target metric comprises an alphanumeric representation for the first target metric.
5. A method according to any one of claims 1-2, wherein the color of the first target graphic element is different from the color of the second target graphic element, wherein the color of the first summary graphic element corresponds to the color of the first target graphic element, and the color of the second summary graphic element corresponds to the color of the second target graphic element.
6. The method according to any one of claims 1-2, wherein a width of the fitness user interface is equal to a width of a displayable area of the display.
7. A mobile electronic device comprising: monitor; one or more processors; Memory; as well as One or more programs, wherein the one or more programs are stored in the memory and 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-6.
8. A computer-readable storage medium storing one or more programs, wherein the one or more programs include instructions, which, when executed by one or more processors of an electronic device having a display, cause the device to perform the method according to any one of claims 1-6.
9. An electronic device, comprising: monitor; An apparatus for performing the method according to any one of claims 1 to 6.
10. A computer program product comprising program code portions for performing the method according to any one of claims 1 to 6 when the computer program product is run on one or more computing devices.
11. A method comprising: On a portable electronic device having a display and a pressure-sensitive touch screen: Receive instructions to start working out; In response to receiving the indication to start a workout, recording a plurality of fitness metrics for the workout using a fitness application of the electronic device; receiving a first user input on the pressure-sensitive touch screen while recording the plurality of fitness metrics, wherein the first user input has a characteristic intensity; In response to receiving the first user input, determining: whether the fitness app is locked, and whether the characteristic strength exceeds a threshold strength; continuing to record the plurality of fitness metrics for the fitness using the fitness application of the electronic device based on determining that the fitness application is in a locked state and the first user input does not exceed the threshold intensity; stopping the recording using the fitness application based on determining that the fitness application is in a locked state and the first user input exceeds the threshold intensity; Based on determining that the fitness application is in an unlocked state, the first user input is processed based on the fitness application.
12. The method according to claim 11, further comprising: Based on determining that the fitness application is in a locked state and the first user input exceeds the threshold intensity, displaying a pause screen for the fitness application.
13. The method according to any one of claims 11-12, further comprising: In response to receiving a second user input while stopping the recording, scrolling the display of the fitness metric for the fitness.
14. The method according to claim 13, further comprising: receiving a third user input on the pressure-sensitive touch screen after stopping the recording with the fitness application, wherein the third user input has a characteristic intensity; In response to receiving the third user input: determining whether the feature strength exceeds a threshold strength; displaying a fitness metric for the fitness based on determining that the third user input does not exceed the threshold intensity and in response to the second user input; Based on determining that the third user input exceeds the threshold intensity, the recording using the fitness application is resumed.
15. The method according to claim 13, further comprising: after stopping the recording with the fitness application and while displaying a resume user interface, receiving a fourth user input for resuming the recording with the fitness application and changing the fitness application to an unlocked state; as well as In response to receiving the fourth user input, the recording using the fitness application is resumed and data indicating that the fitness application is in an unlocked state is stored.
16. The method according to any one of claims 11-12, wherein the fitness is swimming fitness.
17. The method according to any one of claims 11-12, further comprising: After completing the workout, data is stored associating the type of workout with an indication of a locked or unlocked state.
18. The method of any of claims 11-12, wherein determining whether the first user input exceeds a threshold pressure is performed while the display is off.
19. The method according to any one of claims 11-12, further comprising: receiving a fifth user input via a hardware input of the portable electronic device while recording the plurality of fitness metrics and while the fitness application is in the locked state; as well as The fourth user input is processed.
20. A mobile electronic device comprising: monitor; one or more processors; Memory; as well as One or more programs, wherein the one or more programs are stored in the memory and 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 11-19.
21. A computer-readable storage medium storing one or more programs, wherein the one or more programs include instructions that, when executed by one or more processors of an electronic device having a display, cause the device to perform a method according to any one of claims 11-19.
22. An electronic device, comprising: monitor; Apparatus for performing the method according to any one of claims 11-19.
23. A computer program product comprising program code portions for performing the method according to any one of claims 11 to 19 when the computer program product is run on one or more computing devices.
Citation Information
Patent Citations
Activity and fitness renewal
CN114661194A
Method and apparatus for integrating manual input
US20020015024A1
Acceleration-based theft detection system for portable electronic devices
US20050190059A1
Methods and apparatuses for operating a portable device based on an accelerometer
US20060017692A1
Gestures for touch sensitive input devices
US20060026521A1