User interface for viewing and refining current location of electronic device

JP2025041608A5Inactive Publication Date: 2025-10-16APPLE INC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
JP2024204929
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2020-06-21
Filing Date
2024-11-25
Publication Date
2025-10-16
Estimated Expiration
Not applicable · inactive patent

Smart Images

  • Figure 00000000_0000_ABST
    Figure 00000000_0000_ABST
Patent Text Reader

Abstract

To display an indication of the current location of an electronic device, and improve the accuracy of a determined location of the electronic device.SOLUTION: An electronic device displays a map user interface including a representation of a map at a respective zoom level and a location indicator that indicates a determined location of the electronic device on the representation of the map. The location indicator includes a first location element and does not include a second location element. The location indicator includes the second location element and does not include the first location element. An electronic device displays a map user interface including a representation of a map and a location indicator that indicates a determined location of the electronic device on the representation of the map. While displaying the map user interface, the electronic device displays a selectable option that is selectable to initiate a process for improving the accuracy of the determined location of the electronic device.SELECTED DRAWING: Figure 6A
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] [CROSS REFERENCE TO RELATED APPLICATIONS] This application claims the benefit of U.S. Provisional Patent Application No. 63 / 026275, filed May 18, 2020, and U.S. Provisional Patent Application No. 63 / 041984, filed June 21, 2020, the contents of which are incorporated by reference in their entireties for all purposes.

[0002] [Technical field] TECHNICAL FIELD This application relates generally to user interfaces that allow a user to view and / or refine the current location of an electronic device. [Background technology]

[0003] In recent years, user interaction with electronic devices has increased significantly. These devices can be computers, tablet computers, televisions, multimedia devices, mobile devices, and other devices.

[0004] In some situations, such devices display a map user interface. In some situations, the map user interface displays an indication of the device's current location. Summary of the Invention

[0005] Some embodiments described in this disclosure relate to displaying an indication of a current location of an electronic device. Some embodiments described in this disclosure relate to improving the accuracy of a determined location of an electronic device.

[0006] The embodiments described in this disclosure enhance what a user can do to view and improve the current location of a device. By improving what a user can do to view and improve the current location of a device, the user's interaction with the device is enhanced. Enhancing the user's interaction with the device improves the user experience with the device and reduces the user interaction time, which is especially important when the input device is battery operated.

[0007] It is understood that use of personally identifiable information should comply with privacy policies and practices generally recognized as meeting or exceeding industry or governmental requirements for maintaining user privacy. In particular, personally identifiable information data should be managed and handled in a manner that minimizes the risk of unintended or unauthorized access or use, and the nature of permitted uses should be clearly indicated to users.

[0008] A full description of these embodiments is provided in the Detailed Description of the Invention, and it should be understood that the above Summary of the Invention does not limit the scope of the present disclosure in any way. [Brief description of the drawings]

[0009] For a better understanding of the various described embodiments, please refer to the following Detailed Description of the Invention in conjunction with the following drawings, in which like reference numerals refer to corresponding parts throughout:

[0010] [Figure 1A] FIG. 1 is a block diagram illustrating a multifunction device with a touch-sensitive display in accordance with some embodiments of the present disclosure.

[0011] [Figure 1B] FIG. 2 is a block diagram illustrating example components for event processing according to some embodiments of the present disclosure.

[0012] [Diagram 2]1 illustrates a multifunction device having a touch screen according to some embodiments of the present disclosure.

[0013] [Diagram 3] FIG. 2 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface in accordance with some embodiments of the disclosure.

[0014] [Figure 4] 1A-1C illustrate example user interfaces for a multifunction device with a touch-sensitive surface separate from a display in accordance with some embodiments of the disclosure.

[0015] [Figure 5A] FIG. 2 shows a block diagram of an example architecture for a device according to some embodiments of the present disclosure. [Figure 5B] FIG. 2 shows a block diagram of an example architecture for a device according to some embodiments of the present disclosure.

[0016] [Figure 6A] 1 illustrates an example method for an electronic device to indicate a current location of the electronic device according to some embodiments of the present disclosure. [Figure 6B] 1 illustrates an example method for an electronic device to indicate a current location of the electronic device according to some embodiments of the present disclosure. [Figure 6C] 1 illustrates an example method for an electronic device to indicate a current location of the electronic device according to some embodiments of the present disclosure. [Figure 6D] 1 illustrates an example method for an electronic device to indicate a current location of the electronic device according to some embodiments of the present disclosure. [Figure 6E] 1 illustrates an example method for an electronic device to indicate a current location of the electronic device according to some embodiments of the present disclosure. [Figure 6F] 1 illustrates an example method for an electronic device to indicate a current location of the electronic device according to some embodiments of the present disclosure. [Figure 6G]1 illustrates an example method for an electronic device to indicate a current location of the electronic device according to some embodiments of the present disclosure. [Figure 6H] 1 illustrates an example method for an electronic device to indicate a current location of the electronic device according to some embodiments of the present disclosure. [Figure 6I] 1 illustrates an example method for an electronic device to indicate a current location of the electronic device according to some embodiments of the present disclosure. [Figure 6J] 1 illustrates an example method for an electronic device to indicate a current location of the electronic device according to some embodiments of the present disclosure. [Figure 6K] 1 illustrates an example method for an electronic device to indicate a current location of the electronic device according to some embodiments of the present disclosure. [Figure 6L] 1 illustrates an example method for an electronic device to indicate a current location of the electronic device according to some embodiments of the present disclosure. [Figure 6M] 1 illustrates an example method for an electronic device to indicate a current location of the electronic device according to some embodiments of the present disclosure. [Figure 6N] 1 illustrates an example method for an electronic device to indicate a current location of the electronic device according to some embodiments of the present disclosure. [Figure 6O] 1 illustrates an example method for an electronic device to indicate a current location of the electronic device according to some embodiments of the present disclosure. [Figure 6P] 1 illustrates an example method for an electronic device to indicate a current location of the electronic device according to some embodiments of the present disclosure. [Figure 6Q] 1 illustrates an example method for an electronic device to indicate a current location of the electronic device according to some embodiments of the present disclosure. [Figure 6R] 1 illustrates an example method for an electronic device to indicate a current location of the electronic device according to some embodiments of the present disclosure. [Figure 6S] 1 illustrates an example method for an electronic device to indicate a current location of the electronic device according to some embodiments of the present disclosure. [Figure 6T]1 illustrates an example method for an electronic device to indicate a current location of the electronic device according to some embodiments of the present disclosure.

[0017] [Figure 7] FIG. 1 is a flow diagram illustrating a method for indicating a current location of an electronic device according to some embodiments of the present disclosure.

[0018] [Figure 8A] 1 illustrates an example method for improving accuracy of an determined position of an electronic device according to some embodiments of the present disclosure. [Figure 8B] 1 illustrates an example method for improving accuracy of an determined position of an electronic device according to some embodiments of the present disclosure. [Figure 8C] 1 illustrates an example method for improving accuracy of an determined position of an electronic device according to some embodiments of the present disclosure. [Figure 8D] 1 illustrates an example method for improving accuracy of an determined position of an electronic device according to some embodiments of the present disclosure. [Figure 8E] 1 illustrates an example method for improving accuracy of an determined position of an electronic device according to some embodiments of the present disclosure. [Figure 8F] 1 illustrates an example method for improving accuracy of an determined position of an electronic device according to some embodiments of the present disclosure. [Figure 8G] 1 illustrates an example method for improving accuracy of an determined position of an electronic device according to some embodiments of the present disclosure. [Figure 8H] 1 illustrates an example method for improving accuracy of an determined position of an electronic device according to some embodiments of the present disclosure. [Figure 8I] 1 illustrates an example method for improving accuracy of an determined position of an electronic device according to some embodiments of the present disclosure. [Figure 8J] 1 illustrates an example method for improving accuracy of an determined position of an electronic device according to some embodiments of the present disclosure. [Figure 8K]1 illustrates an example method for improving accuracy of an determined position of an electronic device according to some embodiments of the present disclosure. [Figure 8L] 1 illustrates an example method for improving accuracy of an determined position of an electronic device according to some embodiments of the present disclosure. [Figure 8M] 1 illustrates an example method for improving accuracy of an determined position of an electronic device according to some embodiments of the present disclosure. [Figure 8N] 1 illustrates an example method for improving accuracy of an determined position of an electronic device according to some embodiments of the present disclosure. [Figure 8O] 1 illustrates an example method for improving accuracy of an determined position of an electronic device according to some embodiments of the present disclosure. [Figure 8P] 1 illustrates an example method for improving accuracy of an determined position of an electronic device according to some embodiments of the present disclosure. [Figure 8Q] 1 illustrates an example method for improving accuracy of an determined position of an electronic device according to some embodiments of the present disclosure. [Figure 8R] 1 illustrates an example method for improving accuracy of an determined position of an electronic device according to some embodiments of the present disclosure. [Figure 8S] 1 illustrates an example method for improving accuracy of an determined position of an electronic device according to some embodiments of the present disclosure.

[0019] [Figure 9] FIG. 1 is a flow diagram illustrating a method for improving accuracy of an determined position of an electronic device according to some embodiments of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0020] In the following description of the embodiments, reference is made to the accompanying drawings, which form a part of the embodiments, in which specific embodiments are shown by way of example, which are optionally implemented. It is to be understood that other embodiments can be optionally used and structural changes can be optionally made without departing from the scope of the disclosed embodiments. In addition, in the following description, terms such as "first" and "second" are used to describe various elements, but these elements should not be limited by these terms. These terms are only used to distinguish one element from another element. For example, a first touch can be called a second touch, and similarly, a second touch can be called a first touch, without departing from the scope of the various embodiments described. Although a first touch and a second touch are both touches, they are not the same touch.

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

[0022] The term "if" is interpreted, optionally, depending on the context, to mean "when" or "upon," or "in response to determining" or "in response to detecting." Similarly, the phrase "if it is determined" or "if [a stated condition or event] is detected" is interpreted, optionally, depending on the context, to mean "upon determining" or "in response to determining," or "upon detecting [the stated condition or event]" or "in response to detecting [the stated condition or event]." Exemplary Devices

[0023] Embodiments of electronic devices, user interfaces for such devices, and associated processes for using such devices are described. In some embodiments, the device is a portable communication device, such as a mobile phone, that also includes other functions, such as a PDA function and / or a music player function. Exemplary embodiments of portable multifunction devices include, but are not limited to, the iPhone®, iPod Touch®, and iPad® devices from Apple Inc. of Cupertino, Calif. Other portable electronic devices, such as a laptop or tablet computer with a touch-sensitive surface (e.g., a touchscreen display and / or touchpad), are also optionally used. It should also be understood that in some embodiments, the device is not a portable communication device, but rather a desktop computer or television with a touch-sensitive surface (e.g., a touchscreen display and / or touchpad). In some embodiments, the device does not have a touchscreen display and / or touchpad, but rather is capable of outputting display information (e.g., a user interface of the present disclosure) for display on another display device and receiving input information from another input device having one or more input mechanisms (e.g., one or more buttons, a touchscreen display, and / or a touchpad). In some embodiments, the device has a display but can receive input information from another input device having one or more input mechanisms (e.g., one or more buttons, a touchscreen display, and / or a touchpad).

[0024] In the following discussion, an electronic device is described that includes a display and a touch-sensitive surface. However, it should be understood that the electronic device optionally includes one or more other physical user interface devices, such as a physical keyboard, a mouse, and / or a joystick. It should also be understood that, as described above, the described electronic device, display, and touch-sensitive surface are optionally distributed among two or more devices. Thus, as used in this disclosure, information displayed on or by an electronic device may optionally be used to describe information output by the electronic device for display on another display device (touch-sensitive or non-touch-sensitive). Similarly, as used in this disclosure, input received on an electronic device (e.g., touch input received on a touch-sensitive surface of the electronic device) may optionally be used to describe input received on another input device from which the electronic device receives input information.

[0025] The device typically supports a variety of applications, such as one or more of drawing applications, presentation applications, word processing applications, website creation applications, disc authoring applications, spreadsheet applications, gaming applications, telephony applications, video conferencing applications, email applications, instant messaging applications, training support applications, photo management applications, digital camera applications, digital video camera applications, web browsing applications, digital music playback applications, television channel browsing applications, and / or digital video playback applications.

[0026] The various applications running on the device optionally use at least one common physical user-interface device, such as a touch-sensitive surface. One or more features of the touch-sensitive surface and corresponding information displayed on the device are optionally adjusted and / or changed for each application and / or within individual applications. In this way, the common physical architecture of the device (such as the touch-sensitive surface) optionally supports a variety of applications with user interfaces that are intuitive and transparent to the user.

[0027] Attention is now directed to embodiments of portable or non-portable devices with touch-sensitive displays, although the devices need not generally include a touch-sensitive display or displays, as discussed above. FIG. 1A is a block diagram illustrating a portable or non-portable multifunction device 100 with a touch-sensitive display 112, according to some embodiments. The touch-sensitive display 112 may be conveniently referred to as a "touch screen" and may also be known or referred to as a touch-sensitive display system. The device 100 includes memory 102 (optionally including one or more computer-readable storage media), a memory controller 122, one or more processing units (CPUs) 120, a peripherals interface 118, RF circuitry 108, audio circuitry 110, a speaker 111, a microphone 113, an input / output (I / O) subsystem 106, other input or control devices 116, and an external port 124. The device 100 optionally includes one or more light sensors 164. Device 100 optionally includes one or more contact intensity sensors 165 that detect the intensity of a contact on device 100 (e.g., a touch-sensitive surface such as touch-sensitive display system 112 of device 100). Device 100 optionally includes one or more tactile output generators 167 that generate a tactile output on device 100 (e.g., generate a tactile output on a touch-sensitive surface such as touch-sensitive display system 112 of device 100 or touchpad 355 of device 300). These components optionally communicate over one or more communication buses or signal lines 103.

[0028] As used herein and in the claims, the term “intensity” of a contact on a touch-sensitive surface refers to the force or pressure (force per unit area) of a contact (e.g., a finger contact) on the touch-sensitive surface, or a surrogate (proxy) for the force or pressure of a contact on the touch-sensitive surface. The intensity of a contact has a range of values ​​including at least four distinct values, and more typically including hundreds (e.g., at least 256) distinct values. The intensity of a contact is optionally determined (or measured) using various techniques and various sensors or combinations of sensors. For example, one or more force sensors under or adjacent to the touch-sensitive surface are optionally used to measure the force at various 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 force of the contact. Similarly, a pressure-sensitive tip of a stylus is optionally used to determine the pressure of the stylus on the touch-sensitive surface. Alternatively, the size and / or change in the contact area detected on the touch-sensitive surface, the capacitance and / or change in the capacitance of the touch-sensitive surface proximate the contact, and / or the resistance and / or change in the capacitance of the touch-sensitive surface proximate the contact, are optionally used as a surrogate for the force or pressure of the contact on the touch-sensitive surface. In some implementations, the surrogate measure of the force or pressure of the contact is used directly to determine whether the intensity threshold is exceeded (e.g., the intensity threshold is described in units corresponding to the surrogate measure). In some implementations, the surrogate measure for the force or pressure of the contact is converted to an estimated force or pressure, and the estimated force or pressure is used to determine whether the intensity threshold is exceeded (e.g., the intensity threshold is a pressure threshold measured in units of pressure). Using the intensity of contact as an attribute of user input may enable a user to access additional device functionality (e.g., on a touch-sensitive display) and / or receive user input (e.g., via a touch-sensitive display, touch-sensitive surface, or physical / mechanical controls such as knobs or buttons) that may not otherwise be accessible on devices of reduced size that have limited real estate for displaying affordances.

[0029] As used herein and in the claims, the term "tactile output" refers to a physical displacement of a device relative to a previous position of the device, a physical displacement of a component of the device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., a housing), or a displacement of a component relative to the center of mass of the device, that will be detected by a user with the user's sense of touch. For example, in a situation where a device or a component of a device is in contact with a touch-sensitive surface of a user (e.g., a finger, palm, or other part of a user's hand), the tactile output generated by the physical displacement will be interpreted by the user as a tactile sensation that corresponds to a perceived change in a physical 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 trackpad) is optionally interpreted by the user as a "down-click" or "up-click" of a physical actuator button. In some cases, a user feels a tactile sensation such as a "down-click" or "up-click" even when no movement of a physical actuator button associated with the touch-sensitive surface is physically pressed (e.g., displaced) by the user's action. As another example, movement of a touch-sensitive surface is optionally interpreted or sensed by a user as "roughness" of the touch-sensitive surface, even when there is no change in the smoothness of the touch-sensitive surface. Such user interpretation of touch depends on the user's personal sensory perception, but there are many sensory perceptions of touch that are common to a majority of users. Thus, when a tactile output is described as corresponding to a particular sensory perception of a user (e.g., an "up click," a "down click," "roughness"), unless otherwise noted, the generated tactile output corresponds to a physical displacement of the device, or a component of the device, that will produce the described sensory perception for a typical (or average) user.

[0030] It should be understood that device 100 is only one example of a portable or non-portal multifunction device, and that device 100 optionally has more or fewer components than those shown, optionally combines two or more components, or optionally has a different configuration or arrangement of components. The various components shown in FIG. 1A are implemented in the form of hardware, software, or a combination of both hardware and software, including one or more signal processing circuits and / or application specific integrated circuits. Furthermore, the various components shown in FIG. 1A are optionally implemented across two or more devices, such as, for example, a display and audio circuitry on a display device, a touch-sensitive surface on an input device, and the remaining components on device 100. In such an embodiment, device 100 optionally communicates with, or is optionally included within, the various components described herein associated with the display device and / or input device, and the display and / or input remainder within device 100, to facilitate operation of the systems described in this disclosure.

[0031] Memory 102 optionally includes high-speed random access memory, and optionally includes non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. A memory controller 122 optionally controls access to memory 102 by other components of device 100.

[0032] The peripherals interface 118 may be used to couple input and output peripherals of the device to the CPU 120 and memory 102. The one or more processors 120 operate or execute various software programs and / or instruction sets stored in the memory 102 to perform various functions and process data for the device 100.

[0033] In some embodiments, peripherals interface 118, CPU 120, and memory controller 122 are optionally implemented on a single chip, such as chip 104. In some other embodiments, they are optionally implemented on separate chips.

[0034] The radio frequency (RF) circuitry 108 transmits and receives RF signals, also referred to as electromagnetic signals. The RF circuitry 108 converts electrical signals to electromagnetic signals or electromagnetic signals to electrical signals and communicates with communication networks and other communication devices via electromagnetic signals. The RF circuitry 108 optionally includes well-known circuits for performing these functions, including, but not limited to, an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a CODEC chipset, a subscriber identity module (SIM) card, memory, etc. The RF circuitry 108 optionally communicates with networks, such as the Internet, also referred to as the World Wide Web (WWW), an intranet, and / or wireless networks, such as cellular telephone networks, wireless local area networks (LANs) and / or metropolitan area networks (MANs), and with other devices, by wireless communication. RF circuitry 108 optionally includes well-known circuitry for detecting near field communication (NFC) fields, such as by short-range radios. Wireless communication optionally includes, but is not limited to, Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), high-speed downlink packet access (HSDPA), high-speed uplink packet access (HSUPA), Evolution, Data-Only (EV-DO), HSPA, HSPA+, Dual-Cell HSPA (DC-HSPA), long term evolution (EV-DO), and other related technologies.Wireless technology includes, but is not limited to, wireless technology such as wireless LAN, wireless technology such as wireless technology with a cellular network (WAN), wireless technology such as wireless technology with a cellular network (WAN-CDMA), wireless technology such as wireless technology with a cellular network (WAN-SWAN ... The present invention may use any of a number of communications standards, protocols, and technologies, including Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (XMPP), Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions (SIMPLE), Instant Messaging and Presence Service (IMPS), and / or Short Message Service (SMS), or any other suitable communications protocol, including communications protocols not yet developed as of the filing date of this application.

[0035] The audio circuit 110, the speaker 111, and the microphone 113 provide an audio interface between a user and the device 100. The audio circuit 110 receives audio data from the peripherals interface 118, converts the audio data into an electrical signal, and transmits the electrical signal to the speaker 111. The speaker 111 converts the electrical signal into human audible sound waves. The audio circuit 110 also receives the electrical signal converted from the sound waves by the microphone 113. The audio circuit 110 converts the electrical signal into audio data, and transmits the audio data to the peripherals 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 peripherals interface 118. In some embodiments, the audio circuit 110 further comprises a headset jack (e.g., 212 in FIG. 2). The headset jack provides an interface between audio circuitry 110 and a detachable audio input / output peripheral such as an output-only headphone or a headset with both an output (e.g., one-ear or binaural headphones) and an input (e.g., a microphone).

[0036] I / O subsystem 106 couples input / output peripherals on device 100, such as touch screen 112 and other input control devices 116, to peripheral interface 118. I / O subsystem 106 optionally includes one or more input controllers 160 for display controller 156, light sensor controller 158, intensity sensor controller 159, haptic feedback controller 161, and other input or control devices. One or more input controllers 160 receive electrical signals from and send electrical signals to other input or control devices 116. Other input control devices 116 optionally include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slider switches, joysticks, click wheels, etc. In some alternative embodiments, input controller 160 is optionally coupled to any or none of the following: a keyboard, an infrared port, a USB port, and a pointer device such as a mouse. The one or more buttons (e.g., 208 in FIG. 2) optionally include up / down buttons for adjusting the volume of the speaker 111 and / or microphone 113. The one or more buttons optionally include a push button (e.g., 206 in FIG. 2).

[0037] A quick press of the push button optionally unlocks the touch screen 112 or optionally initiates a process of unlocking the device using gestures on the touch screen, as described in U.S. Patent Application Serial No. 11 / 322,549, filed December 23, 2005, "Unlocking a Device by Performing Gestures on an Unlock Image," U.S. Patent No. 7,657,849, which is incorporated herein by reference in its entirety. A longer press of a push button (e.g., 206) optionally turns power on or off to the device 100. The functionality of one or more of the buttons is optionally customizable by the user. The touch screen 112 is used to implement virtual or soft buttons and one or more soft keyboards.

[0038] Touch-sensitive display 112 provides an input and output interface between the device and a user. As mentioned above, the touch-sensing and display operations of touch-sensitive display 112 are optionally separated from one another, so that the display device is used for display purposes and the touch-sensitive surface (whether or not it is a display) is used for input detection purposes. Accordingly, the components and functions described have been modified. However, for simplicity, the following description is provided with reference to a touch-sensitive display. Display controller 156 receives electrical signals from and / or transmits electrical signals to touchscreen 112. Touchscreen 112 displays visual output to the user. This visual output optionally includes graphics, text, icons, video, and any combination thereof (collectively "graphics"). In some embodiments, some or all of the visual output corresponds to user interface objects.

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

[0040] Touchscreen 112 optionally uses LCD (Liquid Crystal Display), LPD (Light Emitting Polymer Display), or LED (Light Emitting Diode) technology, although other display technologies are used in other embodiments. Touchscreen 112 and display controller 156 optionally detect contact and any movement or interruption thereof using any of a number of now known or later developed touch sensing technologies, including, but not limited to, capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements that determine one or more points of contact with touchscreen 112. In one exemplary embodiment, projected mutual capacitance sensing technology is used, such as that found in the iPhone®, iPod Touch®, and iPad® from Apple Inc. of Cupertino, California.

[0041] The touch-sensitive display in some embodiments of touchscreen 112 is optionally similar to a multi-touch-sensing touchpad as described in U.S. Patent Nos. 6,323,846 (Westerman et al.), 6,570,557 (Westerman et al.), and / or 6,677,932 (Westerman), and / or U.S. Patent Application Publication No. 2002 / 0015024 (A1), each of which is incorporated by reference in its entirety. However, whereas touchscreen 112 displays visual output from device 100, a touch-sensitive touchpad does not provide visual output.

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

[0043] Touchscreen 112 optionally has a video resolution of greater than 100 dpi. In some embodiments, the touchscreen has a video resolution of approximately 160 dpi. A user optionally contacts touchscreen 112 using any suitable object or appendage, such as a stylus, finger, etc. In some embodiments, the user interface is designed to operate primarily using finger-based contacts and gestures, which may not be as precise as stylus-based input due to the larger contact area of ​​a finger on the touchscreen. In some embodiments, the device translates the rough finger input into precise pointer / cursor positions or commands to perform the actions desired by the user.

[0044] In some embodiments, device 100 is a portable computer system in communication (e.g., via wired communication, via wireless communication) with a display generation component. The display generation component is configured to provide a visual output, such as display via a CRT display, display via an LED display, or display via image projection. In some embodiments, the display generation component (e.g., an integrated display, touch screen 112, etc.) is integrated with the computer system. In some embodiments, the display generation component (e.g., an external monitor, a projection system, etc.) is separate from the computer system. As used herein, "displaying" content includes causing content (e.g., video data rendered or decoded by display controller 156) to be displayed by transmitting data (e.g., image data or video data) over a wired or wireless connection to an integrated or external display generation component to visually generate the content.

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

[0046] Device 100 also includes a power system 162 that provides power to the various components. Power system 162 optionally includes a power management system, one or more power sources (e.g., batteries, alternating current (AC)), a recharging system, power failure detection circuitry, power converters or inverters, power status indicators (e.g., light emitting diodes (LEDs)), and any other components associated with the generation, management, and distribution of electrical power within a portable or non-portable device.

[0047] Device 100 also optionally includes one or more light sensors 164. FIG. 1A shows a light sensor coupled to light sensor controller 158 in I / O subsystem 106. Light sensor 164 optionally includes a charge-coupled device (CCD) or a complementary metal-oxide semiconductor (CMOS) phototransistor. Light sensor 164 receives light from the environment projected through one or more lenses and converts the light into data representing an image. Light sensor 164 optionally works in conjunction with imaging module 143 (also called a camera module) to capture still or video images. In some embodiments, the light sensor is located on the back side of device 100 opposite touchscreen display 112 on the front side of the device, so that the touchscreen display can be used as a viewfinder for still and / or video capture. In some embodiments, the light sensor is located on the front of the device such that an image of the user is optionally captured for a video conference while the user views other video conference participants on the touchscreen display. In some embodiments, the position of the light sensor 164 can be changed by the user (e.g., by rotating the lens and sensor within the device housing), such that a single light sensor 164 is used for both video conferencing and still image and / or video capture, in conjunction with a touchscreen display.

[0048] Device 100 also optionally includes one or more contact intensity sensors 165. FIG. 1A shows a contact intensity sensor coupled to intensity sensor controller 159 in I / O subsystem 106. Contact intensity 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 intensity sensors (e.g., sensors used to measure the force (or pressure) of a contact on a touch-sensitive surface). Contact intensity sensor 165 receives contact intensity information (e.g., pressure information, or a proxy for pressure information) from the environment. In some embodiments, at least one contact intensity sensor is juxtaposed with or proximate to a touch-sensitive surface (e.g., touch-sensitive display system 112). In some embodiments, at least one contact intensity sensor is located on the back of device 100, opposite touchscreen display 112 located on the front of device 100.

[0049] Device 100 also optionally includes one or more proximity sensors 166. Figure 1A shows proximity sensor 166 coupled to peripherals interface 118. Alternatively, proximity sensor 166 is optionally coupled to an input controller 160 within I / O subsystem 106. The proximity sensor 166 optionally functions as described in U.S. patent application Ser. No. 11 / 241,839, "Proximity Detector In Handheld Device," Ser. No. 11 / 240,788, "Proximity Detector In Handheld Device," Ser. No. 11 / 620,702, "Using Ambient Light Sensor To Augment Proximity Sensor Output," Ser. No. 11 / 586,862, "Automated Response To And Sensing Of User Activity In Portable Devices," and Ser. No. 11 / 638,251, "Methods And Systems For Automatic Configuration Of Peripherals," all of which are incorporated by reference herein in their entireties. In some embodiments, the proximity sensor turns off and disables the touch screen 112 when the multifunction device is placed near the user's ear (e.g., when the user is on a phone call).

[0050] Device 100 also optionally includes one or more tactile output generators 167. FIG. 1A shows a tactile output generator coupled to haptic feedback controller 161 in I / O subsystem 106. Tactile output generator 167 optionally includes one or more electroacoustic devices, such as speakers or other audio components, and / or electromechanical devices that convert energy into linear motion, such as motors, solenoids, electroactive polymers, piezoelectric actuators, electrostatic actuators, or other tactile output generating components (e.g., components that convert electrical signals into tactile output on the device). Contact intensity sensor 165 receives tactile feedback generation commands from haptic feedback module 133 and generates a tactile output on device 100 that can be sensed by a user of device 100. In some embodiments, at least one tactile output generator is juxtaposed with or proximate to a touch-sensitive surface (e.g., touch-sensitive display system 112) and generates a tactile output, optionally by moving the touch-sensitive surface vertically (e.g., in / out of the surface of device 100) or horizontally (e.g., back and forth in the same plane as the surface of device 100). In some embodiments, at least one tactile output generator sensor is located on the back of device 100, opposite touchscreen display 112, which is located on the front of device 100.

[0051] Device 100 also optionally includes one or more accelerometers 168. FIG. 1A shows accelerometer 168 coupled to peripherals interface 118. Alternatively, accelerometer 168 is optionally coupled to input controller 160 in I / O subsystem 106. Accelerometer 168 optionally functions as described in U.S. Patent Application Publication No. 20050190059, “Acceleration-based Theft Detection System for Portable Electronic Devices,” and U.S. Patent Application Publication No. 20060017692, “Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer,” both of which are incorporated herein by reference in their entireties. In some embodiments, information is displayed on the touchscreen display in portrait or landscape view based on an analysis of data received from the one or more accelerometers. Device 100 optionally includes a magnetometer (not shown), in addition to accelerometer(s) 168, and a GPS (or GLONASS or other global navigation system) receiver (not shown) for obtaining information regarding the location and orientation (e.g., portrait or landscape) of device 100.

[0052] In some embodiments, the software components stored in memory 102 include an operating system 126, a communication module (or instruction set) 128, a touch / 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 applications (or instruction sets) 136. Additionally, in some embodiments, memory 102 (FIG. 1A) or 370 (FIG. 3) stores device / global internal state 157, as shown in FIGS. 1A and 3. Device / global internal state 157 includes one or more of: active application state indicating which applications, if any, are currently active; display state indicating which applications, views, or other information are occupying various regions of touchscreen display 112; sensor state including information obtained from the device's various sensors and input control devices 116; and location information regarding the location and / or orientation of the device.

[0053] Operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, iOS, WINDOWS, or an embedded operating system such as VxWorks) includes various software components and / or drivers that control and manage general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitate communication between various hardware and software components.

[0054] The communications module 128 also includes various software components for facilitating communication with other devices via one or more external ports 124 and for processing data received by the RF circuitry 108 and / or the external ports 124. The external ports 124 (e.g., Universal Serial Bus (USB), FIREWIRE, etc.) are adapted to couple to other devices directly or indirectly via a network (e.g., the Internet, wireless LAN, etc.). In some embodiments, the external ports are multi-pin (e.g., 30-pin) connectors identical to or similar and / or compatible with the 30-pin connector used on iPod (trademark of Apple Inc.) devices.

[0055] Contact / motion module 130, optionally in conjunction with display controller 156, detects contact with touch screen 112 and other touch-sensing devices (e.g., a touchpad or physical click wheel). Contact / motion module 130 includes various software components for performing various operations related to detecting contact, such as determining whether contact has occurred (e.g., detecting a finger down event), determining the strength of the contact (e.g., the force or pressure of the contact, or a surrogate for the force or pressure of the contact), determining whether there is movement of the contact and tracking the movement across the touch-sensitive surface (e.g., detecting one or more finger drag events), and determining whether the contact has stopped (e.g., detecting a finger up event or an interruption of the contact). Contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of the contact, as represented by the series of contact data, optionally includes determining the speed (magnitude), velocity (magnitude and direction), and / or acceleration (change in magnitude and / or direction) of the contact. These actions are, optionally, applied to a single contact (e.g., one finger contact) or multiple simultaneous contacts (e.g., "multi-touch" / multiple finger contacts). In some embodiments, contact / motion module 130 and display controller 156 detect contacts on a touchpad.

[0056] In some embodiments, the contact / motion module 130 uses a set of one or more intensity thresholds for determining whether an action has been performed by a user (e.g., for determining whether a user has “clicked” on an icon). In some embodiments, at least a subset of the intensity thresholds are determined according to software parameters (e.g., the intensity thresholds are not determined by the activation thresholds of a particular physical actuator, but can be adjusted without changing the physical hardware of the device 100). For example, the mouse “click” threshold of a trackpad or touchscreen display can be set to any of a wide range of predefined thresholds without modifying the trackpad or touchscreen display hardware. Additionally, in some implementations, a user of the device is provided with a software setting to adjust one or more of the sets of intensity thresholds (e.g., by adjusting individual intensity thresholds and / or by adjusting multiple intensity thresholds at once via a system-level click “strength” parameter).

[0057] Contact / motion module 130 optionally detects gesture input by a user. Different gestures on a touch-sensitive surface have different contact patterns (e.g., different movements, timing, and / or strength of detected contacts). Thus, gestures are optionally detected by detecting a particular contact pattern. For example, detecting a finger tap gesture includes detecting a finger down event, followed by detecting a finger up (lift off) event at the same location (or substantially the same location) as the finger down event (e.g., at the location of an icon). As another example, detecting a finger swipe gesture on the touch-sensitive surface includes detecting a finger down event, followed by one or more finger drag events, followed by detecting a finger up (lift off) event.

[0058] Graphics module 132 includes various known software components for rendering and displaying graphics on touchscreen 112 or other display, including components for modifying the visual effects (e.g., brightness, transparency, saturation, contrast, or other visual characteristics) of the displayed graphics. As used herein, the term "graphics" includes any object capable of being displayed to a user, including, but not limited to, text, web pages, icons (such as user interface objects including soft keys), digital images, video, animation, and the like.

[0059] In some embodiments, graphics module 132 stores data representing the graphics to be used. Each graphic is, optionally, assigned a corresponding code. Graphics module 132 receives one or more codes specifying the graphics to be displayed, such as from an application, along with coordinate data and other graphic characteristic data, as appropriate, and then generates screen image data for output to display controller 156.

[0060] The tactile feedback module 133 includes various software components for generating instructions used by the tactile output generator 167 to generate tactile outputs at one or more locations on the device 100 in response to a user's interaction with the device 100.

[0061] Text input module 134 is optionally a component of graphics module 132 and provides a soft keyboard for entering text in various applications (e.g., contacts 137, email 140, IM 141, browser 147, and any other application requiring text input).

[0062] The GPS module 135 determines the location of the device and provides this information for use in various applications (e.g., to the phone 138 for use in location-based calling, to the camera 143 as photo / video metadata, and to applications that provide location-based services, such as a weather widget, a local yellow pages widget, and a maps / navigation widget).

[0063] Application 136 optionally includes the following modules (or sets of instructions), or a subset or superset thereof: A contacts module 137 (sometimes called an address book or contact list); Telephone module 138, · Videoconferencing module 139, · an email client module 140; · Instant Messaging (IM) module 141, Training Support Module 142, a camera module 143 for still and / or video images, Image management module 144, -Video player module, Music player module, Browser module 147, · Calendar module 148, A widget module 149, optionally including one or more of a weather widget 149-1, a stocks widget 149-2, a calculator widget 149-3, an alarm clock widget 149-4, a dictionary widget 149-5, and other widgets obtained by the user, as well as user-created widgets 149-6; a widget creation module 150 for creating user-created widgets 149-6; · Search module 151, A video and music player module 152 that integrates a video player module and a music player module; · Memo module 153, Map module 154, and / or ·Online video module 155.

[0064] Examples of other applications 136 optionally stored in memory 102 include other word processing applications, other image editing applications, drawing applications, presentation applications, JAVA-enabled applications, encryption, digital rights management, voice recognition, and voice duplication.

[0065] In conjunction with the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134, the contacts module 137 is used to manage an address book or contact list (e.g., stored in the application internal state 192 of the contacts module 137 in the memory 102 or memory 370), including, optionally, adding a name(s) to the address book, deleting a name(s) from the address book, associating phone number(s), email address(es), address(es), or other information with a name, associating a picture with a name, categorizing and sorting names, providing phone numbers or email addresses to initiate and / or facilitate communication by phone 138, videoconferencing module 139, email 140, or IM 141, and the like.

[0066] Telephone module 138, 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, is optionally used to enter character sequences corresponding to telephone numbers, access one or more telephone numbers in contacts module 137, modify entered telephone numbers, dial individual telephone numbers, place calls, and disconnect and hang up when a call is completed. As previously mentioned, wireless communication optionally uses any of a number of communication standards, protocols, and technologies.

[0067] Video conferencing module 139 includes executable instructions to cooperate with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch screen 112, display controller 156, light sensor 164, light sensor controller 158, contact / motion module 130, graphics module 132, text input module 134, contact module 137, and telephone module 138 to initiate, conduct, and end a video conference between a user and one or more other participants in accordance with instructions from the user.

[0068] The email client module 140, in conjunction with the RF circuitry 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134, contains executable instructions for composing, sending, receiving, and managing emails in response to user instructions. In conjunction with the image management module 144, the email client module 140 greatly facilitates the creation and sending of emails with still or video images captured by the camera module 143.

[0069] Instant messaging module 141 includes executable instructions in cooperation with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134 for entering character sequences corresponding to instant messages, modifying previously entered characters, sending individual instant messages (e.g., using Short Message Service (SMS) or Multimedia Message Service (MMS) protocols for telephony-based instant messaging, or XMPP, SIMPLE, or IMPS for Internet-based instant messaging), receiving instant messages, and viewing received instant messages. In some embodiments, sent and / or received instant messages optionally include graphics, photos, audio files, video files, and / or other attachments as supported by MMS and / or Enhanced Messaging Service (EMS). As used herein, "instant messaging" refers to both telephone-based messaging (e.g., messages sent using SMS or MMS) and Internet-based messaging (e.g., messages sent using XMPP, SIMPLE, or IMPS).

[0070] The training support module 142 includes executable instructions to cooperate with the RF circuitry 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 to create workouts (e.g., having time, distance, and / or calorie burn goals), communicate with training sensors (sports devices), receive training sensor data, calibrate sensors used to monitor the workouts, select and play music for the workouts, and display, store, and transmit the workout data.

[0071] Camera module 143, in conjunction with touch screen 112, display controller 156, light sensor 164, light sensor controller 158, contact / motion module 130, graphics module 132, and image management module 144, contains executable instructions for capturing and storing still images or video (including video streams) in memory 102, modifying characteristics of a still image or video, or deleting a still image or video from memory 102.

[0072] Image management module 144, in conjunction with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, text input module 134, and camera module 143, contains executable instructions for arranging, modifying (e.g., editing), or otherwise manipulating, labeling, deleting, presenting (e.g., in a digital slide show or album), and storing still and / or video images.

[0073] Browser module 147, in conjunction with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, contains executable instructions for browsing the Internet in accordance with a user's instructions, including retrieving, linking to, receiving, and displaying web pages or portions thereof, as well as attachments and other files linked to web pages.

[0074] The calendar module 148 includes executable instructions to cooperate with the RF circuitry 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, the text input module 134, the email client module 140, and the browser module 147 to create, display, modify, and store calendars and data associated with the calendars (e.g., calendar items, to-do lists, etc.) according to user instructions.

[0075] Widget module 149, in conjunction with RF circuitry 108, touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, and browser module 147, optionally provides mini-applications (e.g., weather widget 149-1, stock price widget 149-2, calculator widget 149-3, alarm clock widget 149-4, and dictionary widget 149-5) downloaded and used by a user, or mini-applications (e.g., user-created widget 149-6) created by a user. In some embodiments, a widget includes a Hypertext Markup Language (HTML) file, a Cascading Style Sheets (CSS) file, and a JavaScript file. In some embodiments, a widget includes an Extensible Markup Language (XML) file and a JavaScript file (e.g., Yahoo! Widget).

[0076] The widget creator module 150, in conjunction with the RF circuitry 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, the text input module 134, and the browser module 147, is optionally used by a user to create a widget (e.g., turn a user-specified portion of a web page into a widget).

[0077] The search module 151 includes executable instructions for operating in conjunction with the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134 to search for text, music, sound, images, video, and / or other files in the memory 102 that match one or more search criteria (e.g., one or more user-specified search terms) in accordance with a user's instructions.

[0078] Video and music player module 152 includes executable instructions that cooperate with touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, and browser module 147 to enable a user to download and play pre-recorded music and other sound files stored in one or more file formats, such as MP3 or AAC files, as well as executable instructions for displaying, presenting, or otherwise playing videos (e.g., on touchscreen 112 or on an external display connected via external port 124). In some embodiments, device 100 optionally includes the functionality of an MP3 player, such as an iPod (a trademark of Apple Inc.).

[0079] The notes module 153 includes executable instructions for cooperating with the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134 to create and manage notes, to-do lists, and the like as directed by a user.

[0080] Map module 154, in conjunction with RF circuitry 108, touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, GPS module 135, and browser module 147, is used to receive, display, modify, and store maps and data associated with the maps (e.g., driving directions, data regarding businesses and other points of interest at or near a particular location, and other location-based data), optionally in accordance with a user's instructions.

[0081] Online video module 155, in conjunction with touchscreen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, text input module 134, email client module 140, and browser module 147, includes instructions that enable a user to access, browse for, receive (e.g., by streaming and / or downloading), and play (e.g., on the touchscreen or on an external display connected via external port 124) particular online videos, send emails with links to particular online videos, and otherwise manage online videos in one or more file formats, such as H.264. In some embodiments, instant messaging module 141 is used to send links to particular online videos, rather than email client module 140. Additional description of online video applications can be found in U.S. Provisional Patent Application No. 60 / 936,562, entitled "Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos," filed June 20, 2007, and U.S. Patent Application No. 11 / 968,067, entitled "Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos," filed December 31, 2007, the contents of which are incorporated herein by reference in their entireties.

[0082] Each of the above-identified modules and applications corresponds to a set of executable instructions that perform one or more of the functions previously described and methods described in this application (e.g., the computer-implemented methods and other information processing methods described herein). These modules (e.g., sets of instructions) need not be implemented as separate software programs, procedures, or modules, and thus, in various embodiments, various subsets of these modules are optionally combined or otherwise reconfigured. For example, a video player module is optionally combined with a music player module into a single module (e.g., video and music player module 152 of FIG. 1A). In some embodiments, memory 102 optionally stores a subset of the above-identified modules and data structures. Additionally, memory 102 optionally stores additional modules and data structures not described above.

[0083] In some embodiments, device 100 is a device in which operation of a predefined set of functions on the device is performed exclusively via a touchscreen and / or touchpad. Using the touchscreen and / or touchpad as the primary input control device for operation of device 100 optionally reduces the number of physical input control devices (push buttons, dials, etc.) on device 100.

[0084] The set of predefined functions performed only through the touchscreen and / or touchpad optionally includes navigation between user interfaces. In some embodiments, the touchpad, when touched by a user, navigates device 100 to a main menu, a home menu, or a root menu from any user interface displayed on device 100. In such embodiments, a "menu button" is implemented using the touchpad. In some other embodiments, the menu button is a physical push button or other physical input control device rather than a touchpad.

[0085] 1B is a block diagram illustrating example components for event processing, according to some embodiments. In some embodiments, memory 102 (FIG. 1A) or 370 (FIG. 3) includes an event sorter 170 (e.g., in operating system 126) and a separate application 136-1 (e.g., any of applications 137-151, 155, 380-390 described above).

[0086] Event sorter 170 receives the event information and determines which application 136-1 to deliver the event information to and application view 191 of application 136-1. Event sorter 170 includes an event monitor 171 and an event dispatcher module 174. In some embodiments, application 136-1 includes application internal state 192 that indicates the current application view that is displayed on touch-sensitive display 112 when the application is active or running. In some embodiments, device / global internal state 157 is used by event sorter 170 to determine which application(s) is currently active, and application internal state 192 is used by event sorter 170 to determine which application view 191 to deliver the event information to.

[0087] In some embodiments, application internal state 192 includes additional information such as one or more of resume information to be used when application 136-1 resumes execution, user interface state information indicating or ready to display information being displayed by application 136-1, state cues that allow a user to return to a previous state or view of application 136-1, and redo / undo cues of previous actions taken by the user.

[0088] Event monitor 171 receives event information from peripherals interface 118. The event information includes information about a sub-event (e.g., a user touch as part of a multi-touch gesture on touch-sensitive display 112). Peripherals interface 118 transmits information it receives from I / O subsystem 106 or sensors such as proximity sensor 166, accelerometer(s) 168, and / or microphone 113 (via audio circuitry 110). Information that peripherals interface 118 receives from I / O subsystem 106 includes information from touch-sensitive display 112 or a touch-sensitive surface.

[0089] In some embodiments, event monitor 171 sends requests to peripherals interface 118 at predetermined intervals. In response, peripherals interface 118 transmits event information. In other embodiments, peripherals interface 118 transmits event information only when there is a significant event (e.g., receipt of an input above a predetermined noise threshold and / or for a predetermined duration).

[0090] In some embodiments, the event sorter 170 also includes a hit view determination module 172 and / or an active event recognizer determination module 173 .

[0091] Hit view determination module 172 provides software procedures that determine where a sub-event occurred within one or more views when touch-sensitive display 112 displays more than one view. A view consists of the controls and other elements that a user can see on the display.

[0092] Another aspect of a user interface associated with an application is the set of views, sometimes referred to herein as application views or user interface windows, in which information is displayed and touch-based gestures occur. The application views (of a particular application) in which a touch is detected optionally correspond to programmatic levels within the programmatic or view hierarchy of the application. For example, the lowest level view in which a touch is detected is optionally referred to as a hit view, and the set of events that are recognized as suitable inputs is optionally determined based at least in part on the hit view of the initial touch that initiates the touch gesture.

[0093] Hit view determination module 172 receives information related to sub-events of a touch-based gesture. When an application has multiple views organized in a hierarchical manner, hit view determination module 172 identifies the hit view as the lowest view in the hierarchy that should process the sub-events. In most situations, the hit view is the lowest level view in which an initiating sub-event occurs (e.g., the first sub-event in a sub-event sequence that forms an event or potential event). Once a hit view is identified by hit view determination module 172, the hit view typically receives all sub-events related to the same touch or input source as the touch or input source identified as the hit view.

[0094] Active event recognizer determination module 173 determines which view(s) in the view hierarchy should receive the particular sequence of sub-events. In some embodiments, active event recognizer determination module 173 determines that only the hit view should receive the particular sequence of sub-events. In other embodiments, active event recognizer determination module 173 determines that all views that contain the physical location of the sub-event are actively participating views, and therefore all actively participating views should receive the particular sequence of sub-events. In other embodiments, even if the touch sub-event is completely confined to the area associated with one particular view, views higher in the hierarchy still remain actively participating views.

[0095] Event dispatcher module 174 dispatches event information to event recognizers (e.g., event recognizer 180). In embodiments that include active event recognizer determination module 173, event dispatcher module 174 delivers the event information to the event recognizers determined by active event recognizer determination module 173. In some embodiments, event dispatcher module 174 stores event information obtained by individual event receivers 182 in an event queue.

[0096] In some embodiments, operating system 126 includes event sorter 170. Alternatively, application 136-1 includes event sorter 170. In yet other embodiments, event sorter 170 is a stand-alone module or is part of another module stored in memory 102, such as contact / motion module 130.

[0097] In some embodiments, application 136-1 includes multiple event handlers 190 and one or more application views 191, each including instructions for handling touch events occurring within a respective view of the application's user interface. Each application view 191 of application 136-1 includes one or more event recognizers 180. Typically, an individual application view 191 includes multiple event recognizers 180. In other embodiments, one or more of the event recognizers 180 are part of a separate module, such as a user interface kit (not shown) or a higher level object from which application 136-1 inherits methods and other properties. In some embodiments, individual event handlers 190 include one or more of data updaters 176, object updaters 177, GUI updaters 178, and / or event data 179 received from event sorter 170. Event handler 190 optionally utilizes or invokes data updaters 176, object updaters 177, or GUI updaters 178 to update application internal state 192. Alternatively, one or more of the application views 191 include one or more separate event handlers 190. Also, in some embodiments, one or more of the data updater 176, the object updater 177, and the GUI updater 178 are included in a separate application view 191.

[0098] A separate event recognizer 180 receives event information (e.g., event data 179) from event sorter 170 and identifies an event from the event information. Event recognizer 180 includes an event receiver 182 and an event comparator 184. In some embodiments, event recognizer 180 also includes at least a subset of metadata 183 and event delivery instructions 188 (optionally including sub-event delivery instructions).

[0099] The event receiver 182 receives event information from the event sorter 170. The event information includes information about a sub-event, e.g., a touch or a movement of a touch. Depending on the sub-event, the event information also includes additional information, such as a position of the sub-event. When the sub-event involves a movement of a touch, the event information also optionally includes a speed and a direction of the sub-event. In some embodiments, the event includes a rotation of the device from one orientation to another (e.g., from portrait to landscape or vice versa), and the event information includes corresponding information about the current orientation of the device (also referred to as the device's attitude).

[0100] The event comparator 184 compares the event information to predefined event or sub-event definitions and determines the event or sub-event or determines or updates the state of the event or sub-event based on the comparison. In some embodiments, the event comparator 184 includes an event definition 186. The event definition 186 includes definitions of events (e.g., a sequence of predefined sub-events), such as event 1 (187-1) and event 2 (187-2). In some embodiments, sub-events in an event (187) include, for example, touch start, touch end, touch move, touch cancel, and multiple touches. In one example, the definition for event 1 (187-1) is a double tap on a displayed object. The double tap includes, for example, a first touch on a displayed object for a given phase (touch start), a first lift off (touch end) for a given phase, a second touch on a displayed object for a given phase (touch start), and a second lift off (touch end) for a given phase. In another example, a definition of event 2 (187-2) is a drag on a displayed object. A drag includes, for example, a touch (or contact) on a displayed object to a predetermined stage, a movement of the touch across the touch-sensitive display 112, and a lift-off of the touch (end of the touch). In some embodiments, the event also includes information regarding one or more associated event handlers 190.

[0101] In some embodiments, event definition 187 includes definitions of events for individual 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, when a touch is detected on touch-sensitive display 112 in an application view in which three user interface objects are displayed on touch-sensitive display 112, event comparator 184 performs a hit test to determine which of the three user interface objects is associated with the touch (sub-event). If each displayed object is associated with a separate event handler 190, event comparator 184 uses the results of the hit test to determine which event handler 190 to activate. For example, event comparator 184 selects the event handler associated with the sub-event and object that triggers the hit test.

[0102] In some embodiments, the definition of an individual event 187 also includes a delay action that delays transmission of the event information until a determination is made whether the sequence of sub-events corresponds to the event type of the event recognizer.

[0103] If the individual event recognizer 180 determines that the sequence of sub-events does not match any of the events in the event definition 186, the individual event recognizer 180 enters an event disabled, event failed, or event finished state and thereafter ignores the next sub-event of the touch-based gesture. In this situation, any other event recognizers that remain active for the hit view continue to track and process sub-events of the ongoing touch gesture.

[0104] In some embodiments, individual event recognizers 180 include metadata 183 with configurable properties, flags, and / or lists that indicate to actively participating event recognizers how the event delivery system should perform sub-event delivery. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate how event recognizers interact with each other or are enabled to interact with each other. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate how sub-events are delivered to various levels in a view or programmatic hierarchy.

[0105] In some embodiments, the individual event recognizer 180 activates an event handler 190 associated with an event when one or more particular sub-events of the event are recognized. In some embodiments, the individual event recognizer 180 delivers event information associated with the event to the event handler 190. Activating the event handler 190 is separate from sending (and postponing sending) the sub-events to the individual hit view. In some embodiments, the event recognizer 180 pops a flag associated with the recognized event, and the event handler 190 associated with the flag catches the flag and performs a predefined process.

[0106] In some embodiments, the event delivery instructions 188 include sub-event delivery instructions that deliver event information about a sub-event without activating an event handler. Instead, the sub-event delivery instructions deliver the event information to an event handler associated with a set of sub-events or to an actively participating view. The event handler associated with the set of sub-events or the actively participating view receives the event information and performs a predetermined process.

[0107] In some embodiments, data updater 176 creates and updates data used by application 136-1. For example, data updater 176 updates phone numbers used by contacts module 137 or stores video files used by a video player module. In some embodiments, object updater 177 creates and updates objects used by application 136-1. For example, object updater 177 creates new user interface objects or updates the positions of user interface objects. GUI updater 178 updates the GUI. For example, GUI updater 178 prepares display information and sends the display information to graphics module 132 for display on the touch-sensitive display.

[0108] In some embodiments, event handler(s) 190 includes or has access to data updater 176, object updater 177, and GUI updater 178. In some embodiments, data updater 176, object updater 177, and GUI updater 178 are included in a single module of an individual application 136-1 or application view 191. In other embodiments, they are included in two or more software modules.

[0109] It should be understood that the foregoing description of event processing of a user's touch on a touch-sensitive display also applies to other forms of user input for operating multifunction device 100 using input devices, not all of which are initiated on a touch screen. For example, mouse movements and mouse button presses, contact movements such as tapping, dragging, scrolling on a touchpad, optionally coordinated with single or multiple presses or holds of a keyboard, pen stylus input, device movement, verbal commands, detected eye movements, biometric input, and / or any combination thereof, are optionally utilized as inputs corresponding to sub-events that define the event to be recognized.

[0110] 2 illustrates portable or non-portable multifunction device 100 having touchscreen 112, according to some embodiments. As discussed above, multifunction device 100 is described as having various structures described (e.g., touchscreen 112, speaker 111, accelerometer 168, microphone 113, etc.), although it is understood that these structures optionally reside in separate devices. For example, display-related structures (e.g., display, speaker, etc.) and / or functionality optionally reside in a separate display device, input-related structures (e.g., touch-sensitive surface, microphone, accelerometer, etc.) and / or functionality optionally reside in a separate input device, and the remaining structures and / or functionality optionally reside in multifunction device 100.

[0111] The touch screen 112 optionally displays one or more graphics in a user interface (UI) 200. In this embodiment, as well as other embodiments described below, a user may select one or more of the graphics by performing a gesture on the graphics, for example, using one or more fingers 202 (not drawn to scale) or one or more styluses 203 (not drawn to scale). In some embodiments, selection of the one or more graphics is performed when the user breaks contact with the one or more graphics. In some embodiments, the gesture optionally includes one or more taps, one or more swipes (left to right, right to left, upwards and / or downwards), and / or rolling of a finger in contact with the device 100 (right to left, left to right, upwards and / or downwards). In some implementations or situations, accidental contact with a graphic does not select the graphic. For example, if the gesture corresponding to selection is a tap, a swipe gesture sweeping over an application icon optionally does not select the corresponding application.

[0112] Device 100 also optionally includes one or more physical buttons, such as a “home” or menu button 204. As mentioned above, menu button 204 is optionally used to navigate to any application 136 in a set of applications that are optionally running on device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key within a GUI displayed on touch screen 112.

[0113] In one embodiment, device 100 includes touch screen 112, menu button 204, push button 206 for powering the device on / off and locking the device, volume control button(s) 208, subscriber identity module (SIM) card slot 210, headset jack 212, and external port 124 for docking / charging. Push button 206 is optionally used to power the device on / off by pressing and holding the button down for a predefined period of time, to lock the device by pressing and releasing the button before the predefined time has elapsed, and / or to unlock the device or initiate an unlocking process. In an alternative embodiment, device 100 also accepts verbal input via microphone 113 to activate or deactivate some functions. Device 100 also optionally includes one or more contact intensity sensors 165 for detecting the intensity of a contact on touch screen 112 and / or one or more tactile output generators 167 for generating a tactile output to a user of device 100.

[0114] FIG. 3 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface, according to some embodiments. Device 300 need not include a display and a touch-sensitive surface, as described above, but rather, in some embodiments, optionally communicates with displays and touch-sensitive surfaces on other devices. In addition, device 300 need not be portable. In some embodiments, device 300 is a laptop computer, a desktop computer, a tablet computer, a multimedia playback device (e.g., a television or set-top box), a navigation device, an educational device (such as a child's learning toy), a gaming system, or a control device (e.g., a home or commercial controller). Device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, a memory 370, and one or more communication buses 320 for interconnecting these components. Communication bus 320 optionally includes circuitry (sometimes referred to as a chipset) that interconnects and controls communication between system components. Device 300 includes an input / output (I / O) interface 330 that includes a display 340, which is typically a touchscreen display. I / O interface 330 also optionally includes a keyboard and / or mouse (or other pointing device) 350 and a touchpad 355, a tactile output generator 357 (e.g., similar to tactile output generator 167 described above with reference to FIG. 1A) for generating tactile output on device 300, sensors 359 (e.g., optical sensors, acceleration sensors, proximity sensors, touch-sensitive sensors, and / or contact intensity sensors similar to contact intensity sensor 165 described above with reference to FIG. 1A). Memory 370 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid-state memory devices, and optionally includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices.Memory 370 optionally includes one or more storage devices located remotely from CPU(s) 310. In some embodiments, memory 370 stores programs, modules, and data structures similar to, or a subset of, programs, modules, and data structures stored in memory 102 of portable or non-portable multifunction device 100 (FIG. 1A). Additionally, memory 370 may store additional programs, modules, and data structures not present in memory 102 of portable or non-portable multifunction device 100. For example, memory 370 of device 300 optionally stores drawing module 380, presentation module 382, ​​document creation module 384, website creation module 386, disk authoring module 388, and / or spreadsheet module 390, whereas memory 102 of portable or non-portable multifunction device 100 (FIG. 1A) optionally does not store these modules.

[0115] Each of the above-identified elements of FIG. 3 is optionally stored in one or more of the memory devices mentioned above. Each of the above-identified modules corresponds to an instruction set that performs the functions described above. The above-identified modules or programs (i.e., instruction sets) need not be implemented as separate software programs, procedures, or modules, and thus various subsets of those modules are optionally combined or otherwise rearranged in various embodiments. In some embodiments, memory 370 optionally stores a subset of the above-identified modules and data structures. Additionally, memory 370 optionally stores additional modules and data structures not described above.

[0116] 4 shows an exemplary user interface on a device (e.g., device 300 of FIG. 3) that has a touch-sensitive surface 451 (e.g., tablet or touchpad 355 of FIG. 3) that is separate from display 450 (e.g., touchscreen display 112). Device 300 also optionally includes one or more contact intensity sensors (e.g., one or more of sensors 357) for detecting the intensity of a contact on touch-sensitive surface 451, and / or one or more tactile output generators 359 for generating a tactile output to a user of device 300.

[0117] Although some of the examples below are described with reference to input on touch screen display 112 (where the touch-sensitive surface and display are combined), in some embodiments the device detects input on a touch-sensitive surface that is separate from the display, as shown in FIG. 4. In some embodiments, this touch-sensitive surface (e.g., 451 in FIG. 4) has a major axis (e.g., 452 in FIG. 4) that corresponds to a major axis (e.g., 453 in FIG. 4) on the display (e.g., 450). According to these embodiments, the device detects contact with touch-sensitive surface 451 (e.g., 460 and 462 in FIG. 4) at locations that correspond to respective locations on the display (e.g., in FIG. 4, 460 corresponds to 468 and 462 corresponds to 470). In this manner, when the touch-sensitive surface is separate from the display, user input (e.g., contacts 460 and 462 and their movement) detected by the device on the touch-sensitive surface (e.g., 451 in FIG. 4) is used by the device to operate a user interface on the display (e.g., 450 in FIG. 4) of the multifunction device. It is to be understood that similar methods are optionally used for the other user interfaces described herein.

[0118] Furthermore, although the following examples are described primarily with reference to finger input (e.g., finger touch, finger tap gesture, finger swipe gesture), it should be understood that in some embodiments, one or more of those finger inputs are replaced with input from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture is optionally replaced by a mouse click (e.g., instead of a touch) followed by movement of a cursor along the path of the swipe (e.g., instead of moving a touch). As another example, a tap gesture is optionally replaced by a mouse click (e.g., instead of detecting a touch and then stopping detection of the touch) while the cursor is located over the location of the tap gesture. Similarly, it should be understood that when multiple user inputs are detected simultaneously, multiple computer mice are optionally used simultaneously, or mice and finger touches are optionally used simultaneously.

[0119] As used herein, the term "focus selector" refers to an input element that indicates the current portion of a user interface with which a user is interacting. In some implementations involving a cursor or other location marker, the cursor acts as a "focus selector" when an input (e.g., a press input) is detected on a touch-sensitive surface (e.g., touchpad 355 of FIG. 3 or touch-sensitive surface 451 of FIG. 4) while the cursor is over a particular user interface element (e.g., a button, window, slider, or other user interface element), and the particular user interface element is adjusted according to the detected input. In some implementations involving a touchscreen display (e.g., touch-sensitive display system 112 of FIG. 1A) that allows direct interaction with user interface elements on the touchscreen display, contact detected on the touchscreen acts as a "focus selector" such that when an input (e.g., a press input by contact) is detected at the location of a particular user interface element (e.g., a button, window, slider, or other user interface element) on the touchscreen display, the particular user interface element is adjusted according to the detected input. In some implementations, focus is moved from one region of the user interface to another region of the user interface (e.g., by using the tab or arrow keys to move focus from one button to another) without a corresponding cursor movement or contact movement on the touch-screen display. In these implementations, the focus selector moves to follow the movement of focus between various regions of the user interface. Regardless of the specific form that the focus selector takes, the focus selector is generally a user interface element (or contact on a touch-screen display) that is controlled by the user to communicate the user's intended interaction with the user interface (e.g., by indicating to the device which element of the user interface the user intends to interact with).For example, when a press input is detected on a touch-sensitive surface (e.g., a touchpad or touchscreen), the position of the focus selector (e.g., a cursor, contact, or selection box) over a corresponding button indicates that the user intends to activate the corresponding button (and not other user interface elements shown on the device's display).

[0120] As used herein and in the claims, the term "characteristic intensity" of a contact refers to a characteristic of that contact based on one or more intensities of the contact. In some embodiments, the characteristic intensity is based on a plurality of intensity samples. The characteristic intensity is optionally based on a predefined number of intensity samples, i.e., a set of intensity samples collected during a predefined time (e.g., 0.05, 0.1, 0.2, 0.5, 1, 2, 5, 10 seconds) associated with a predefined event (e.g., after detecting a contact, before detecting a lift-off of the contact, before or after detecting the start of movement of the contact, before detecting an end of the contact, before or after detecting an increase in the intensity of the contact, and / or before or after detecting a decrease in the intensity of the contact). The characteristic intensity of a contact is optionally based on one or more of a maximum intensity of the contact, a mean value of the intensity of the contact, an average value of the intensity of the contact, a top 10 percentile value of the intensity of the contact, a half maximum intensity value of the contact, a 90 percent maximum intensity value of the contact, etc. In some embodiments, the duration of the contact is used in determining the characteristic intensity (e.g., when the characteristic intensity is an average of the intensity of the contact over time). In some embodiments, the characteristic intensity is compared to a set of one or more intensity thresholds to determine whether an action is performed by the user. For example, the set of one or more intensity thresholds optionally includes a first intensity threshold and a second intensity threshold. In this example, a contact having a characteristic intensity not exceeding the first threshold results in a first action, a contact having a characteristic intensity above the first intensity threshold but not exceeding the second intensity threshold results in a second action, and a contact having a characteristic intensity above the second threshold results in a third action. In some embodiments, the comparison between the characteristic intensity and the one or more thresholds is not used to determine whether the first action or the second action should be performed, but rather is used to determine whether one or more actions should be performed (e.g., whether to perform an individual action or to forgo performing an individual action).

[0121] In some embodiments described herein, one or more actions are performed in response to detecting a gesture including an individual pressure input or in response to detecting an individual pressure input performed by an individual contact (or multiple contacts), where the individual pressure input is detected based at least in part on detecting an increase in intensity of the contact (or multiple contacts) above a pressure input intensity threshold. In some embodiments, the individual action is performed in response to detecting an increase in intensity of the individual contact above a pressure input intensity threshold (e.g., a "downstroke" of the individual pressure input). In some embodiments, the pressure input includes an increase in intensity of the individual contact above a pressure input intensity threshold followed by a decrease in intensity of the contact below the pressure input intensity threshold, where the individual action is performed in response to detecting a subsequent decrease in intensity of the individual contact below the pressure input threshold (e.g., an "upstroke" of the individual pressure input).

[0122] In some embodiments, the device employs intensity hysteresis to avoid accidental inputs, sometimes referred to as "jitter," and the device defines or selects a hysteresis intensity threshold that has a predefined relationship to the pressure input intensity threshold (e.g., the hysteresis intensity threshold is X intensity units below the pressure input intensity threshold, or the hysteresis intensity threshold is 75%, 90%, or some reasonable percentage of the pressure input intensity threshold). Thus, in some embodiments, the pressure input includes an increase in intensity of a discrete contact above the pressure input intensity threshold, followed by a decrease in intensity of the contact below the hysteresis intensity threshold that corresponds to the pressure input intensity threshold, and a discrete action is performed in response to detecting a subsequent decrease in intensity of the discrete contact below the hysteresis intensity threshold (e.g., an "upstroke" of the discrete pressure input). Similarly, in some embodiments, a pressure input is detected only when the device detects an increase in the intensity of the contact from an intensity below the hysteresis intensity threshold to an intensity above the pressure input intensity threshold, and optionally a subsequent decrease in the intensity of the contact to an intensity below the hysteresis intensity, and a distinct action is performed in response to detecting the pressure input (e.g., an increase in the intensity of the contact or a decrease in the intensity of the contact, as the case may be).

[0123] For ease of explanation, descriptions of operations performed in response to a press input associated with a press input intensity threshold or in response to a gesture including the press input are optionally triggered in response to detecting any of an increase in the intensity of the contact above the press input intensity threshold, an increase in the intensity of the contact from an intensity below a hysteresis intensity threshold to an intensity above the press input intensity threshold, a decrease in the intensity of the contact below the press input intensity threshold, and / or a decrease in the intensity of the contact below a hysteresis intensity threshold corresponding to the press input intensity threshold. Further, in examples where an operation is described as being performed in response to detecting a decrease in the intensity of the contact below a press input intensity threshold, the operation is optionally performed in response to detecting a decrease in the intensity of the contact below a hysteresis intensity threshold corresponding to and lower than the press input intensity threshold.

[0124] 5A illustrates a block diagram of an example architecture of a device 500 according to some embodiments of the disclosure. In the embodiment of FIG. 5A, media or other content is optionally received by the device 500 via a network interface 502, which is optionally a wireless or wired connection. One or more processors 504 optionally execute any number of programs stored in memory 506 or storage. The memory 506 or storage optionally includes instructions to execute one or more of the methods and / or processes described herein (e.g., methods 700 and 900).

[0125] In some embodiments, display controller 508 causes various user interfaces of the present disclosure to be displayed on display 514. Additionally, input to device 500 is optionally provided by remote control 510 through remote interface 512. Remote interface 512 is optionally wireless or wired. In some embodiments, as described in more detail below, input to device 500 is provided by multifunction device 511 (e.g., a smartphone) and a remote control application that configures the multifunction device is executed to simulate remote control functions. In some embodiments, multifunction device 511 corresponds to one or more of device 100 of FIGS. 1A and 2 and device 300 of FIG. 3. It is understood that the embodiment of FIG. 5A is not intended to limit the features of the device of the present disclosure, and other components for facilitating other features described in this disclosure are also optionally included in the architecture of FIG. 5A.3 ; network interface 502 optionally corresponds to one or more of RF circuitry 108, external port 124, and peripherals interface 118 of FIGS. 1A and 2, and network communication interface 360 ​​of FIG. 3 ; processor 504 optionally corresponds to one or more of processor 120 of FIG. 1A and CPU 310 of FIG. 3 ; display controller 508 optionally corresponds to one or more of display controller 156 of FIG. 1A and I / O interface 330 of FIG. 3 ; memory 506 optionally corresponds to one or more of memory 102 of FIG. 1A and memory 370 of FIG. 3 ; remote interface 512 optionally corresponds to one or more of 1A and one or more of I / O interface 330 of FIG. 3 ; remote 512 optionally corresponds to or includes one or more of speaker 111, touch-sensitive display system 112, microphone 113, light sensor 164, contact intensity sensor 165, tactile output generator 167, other input control device 116, accelerometer 168, proximity sensor 166, and I / O subsystem 106 of FIG. 1A , keyboard / mouse 350, touchpad 355, tactile output generator 357, and contact intensity sensor 359 of FIG. 3 , and touch-sensitive surface 451 of FIG. 4 ; and display 514 optionally corresponds to one or more of touch-sensitive display system 112 of FIGS. 1A and 2 and display 340 of FIG. 3 .

[0126] FIG. 5B illustrates an exemplary personal electronic device 500. In some embodiments, the device 500 can include some or all of the components described with respect to FIGS. 1A, 1B, and 3. The device 500 has a bus 532 operably coupling an I / O section 534 to one or more computer processors 536 and a memory 538. The I / O section 534 can be connected to a display 524, which can include a touch-sensing component 522 and optionally an intensity sensor 544 (e.g., a contact intensity sensor). In addition, the I / O section 534 can be connected to a communication unit 50 that receives application and operating system data using Wi-Fi, Bluetooth, near field communication (NFC), cellular, and / or other wireless communication technologies. The device 500 can include input mechanisms 526 and / or 528. The input mechanism 526 is optionally, for example, a rotatable input device or a depressible and rotatable input device. In some embodiments, the input mechanism 528 is optionally a button.

[0127] In some embodiments, the input mechanism 528 is optionally a microphone. The personal electronic device 500 optionally includes various sensors, such as a GPS sensor 552, an accelerometer 554, an orientation sensor 560 (e.g., a compass), a gyroscope 556, a motion sensor 558, and / or combinations thereof, all of which may be operatively connected to the I / O section 534.

[0128] The memory 538 of the personal electronic device 500 can include one or more non-transitory computer-readable storage media that store computer-executable instructions that, when executed by one or more computer processors 536, can cause the computer processors to perform techniques described below, including the processes described with reference to Figures 6-9, for example. A computer-readable storage medium can be any medium that can tangibly contain or store computer-executable instructions for use by or in connection with an instruction execution system, apparatus, or device. In some embodiments, the storage medium is a transient computer-readable storage medium. In some embodiments, the storage medium is a non-transitory computer-readable storage medium. Non-transitory computer-readable storage media can include, but are not limited to, magnetic storage devices, optical storage devices, and / or semiconductor storage devices. Examples of such storage devices include magnetic disks, optical disks based on CDs, DVDs, or Blu-ray technology, as well as persistent solid-state memory such as flash, solid-state drives, and the like. The personal electronic device 500 is not limited to the components and configuration of FIG. 5B, but may include other or additional components in multiple configurations, such as those described above with respect to FIGS. 1-3 and 5A.

[0129] It should also be understood that in methods described herein in which one or more steps are conditional on one or more conditions being satisfied, the method may be repeated multiple times such that all conditions of the conditional steps of the method are satisfied in various iterations of the method. For example, if a method requires that a first step be performed if a condition is satisfied and a second step be performed if the condition is not satisfied, one skilled in the art would understand that the claimed steps may be repeated in any order until the condition is satisfied and until it is no longer satisfied. Thus, a method described with one or more steps conditional on one or more conditions being satisfied may be rewritten as a method that is repeated until each condition described in the method is satisfied. However, this is not required for system or computer readable medium claims in which the system or computer readable medium includes instructions to perform a conditional action based on the corresponding one or more conditions being satisfied, and thus the system or computer readable medium can determine whether a condition is satisfied without explicitly repeating the method steps until all conditions on which the method steps are conditioned are satisfied. Those skilled in the art will also appreciate that, as with methods with conditional steps, the system or computer-readable storage medium may repeat the method steps as many times as necessary to ensure that all conditional steps have been performed.

[0130] As used herein, the term "affordance" refers to a user-interactive graphical user interface object, optionally displayed on a display screen of device 100, 300, 500, and / or 511 (FIGS. 1A, 3, and 5A-5B). For example, images (e.g., icons), buttons, and text (e.g., hyperlinks) each, optionally, constitute an affordance.

[0131] As used herein, an "installed application" refers to a software application that has been downloaded onto an electronic device (e.g., device 100, 300, 500, and / or 511) and is ready to be launched (e.g., opened) on that device. In some embodiments, a downloaded application becomes an installed application by an installation program that extracts program portions from a downloaded package and integrates the extracted portions with the computer system's operating system.

[0132] As used herein, the terms "open application" or "running application" refer to a software application that has retained state information (e.g., as part of device / global internal state 157 and / or application internal state 192). An open or running application is, optionally, any one of the following types of applications: the active application currently displayed on the display screen of the device on which the application is being used; Background applications (or background processes) that are not currently displayed, but for which one or more processes for the application are being processed by one or more processors; and A suspended or hibernated application that is not running but has state information stored in memory (volatile and non-volatile, respectively) and that can be used to resume execution of the application.

[0133] As used herein, the term "closed application" refers to a software application that does not have retained state information (e.g., state information for a closed application is not stored in the device's memory). Thus, closing an application includes stopping and / or removing the application process for the application and removing state information for the application from the device's memory. Generally, opening a second application during a first application does not close the first application. When the second application is displayed and the first application is taken off the display, the first application becomes a background application.

[0134] Attention is now directed to embodiments of user interfaces (“UI”) and associated processes implemented on an electronic device, such as portable multifunction device 100, device 300, device 500, or device 511. User Interface and Related Processes User interface for displaying the current location of an electronic device - Patents.com

[0135] A user interacts with an electronic device in many different ways, including using the electronic device to display and find geographic locations on a map. In some embodiments, a user can view an determined location of an electronic device on a map. The embodiments described below provide a method for displaying an determined location of an electronic device on a map, thereby enhancing user interaction with the electronic device. Enhancing interaction with the device reduces the amount of time a user needs to perform an action, thus reducing the power usage of the device and increasing battery life for battery-powered devices.

[0136] 6A-6T illustrate example methods for an electronic device to indicate a current location of the electronic device according to some embodiments of the present disclosure. The embodiments in these figures are used to illustrate the processes described below, including the process described with reference to FIG.

[0137] 6A illustrates electronic device 500 displaying a user interface 600 (e.g., via a display device, via a display generating component, etc.). In some embodiments, user interface 600 is displayed via a display generating component. In some embodiments, the display generating component is a hardware component (e.g., including electrical components) capable of receiving display data and displaying the user interface. In some embodiments, examples of display generating components include a touch screen display (e.g., touch screen 504), a monitor, a television, a projector, an integrated, separate, or external display device, or any other suitable display device in communication with device 500.

[0138] In some embodiments, user interface 600 is the user interface of a map application (e.g., an application that allows a user to view geographic locations, locate locations, and / or request directions from one location to another). In some embodiments, the map application is an application installed on device 500.

[0139] In some embodiments, the map application can present maps, routes, location metadata, and / or images (e.g., photographs) associated with various geographic locations, points of interest, etc. The map application can obtain map data from a navigation server, including data defining maps, objects, routes, points of interest, images, etc. For example, the map data can be received as map tiles including map data for a geographic area corresponding to each map tile. The map data can include, among other things, roads and / or road segments, metadata for points of interest or other locations, three-dimensional models of buildings, infrastructure, and other objects at various locations, and / or images taken at various locations. The map application can request map data (e.g., map tiles) associated with locations frequently visited by the device 500 from the navigation server over a network (e.g., a local area network, a cellular data network, a wireless network, the Internet, a wide area network, etc.). The map application can store the map data in a map database. The map application may use the map data stored in the map database and / or other map data received from device 500 to provide the navigation application features described herein (e.g., dynamic road scene overlays that combine images to improve image quality and / or introduce virtual parallax to create a three-dimensional effect).

[0140] In some embodiments, the navigation server may be a software server configured to obtain, generate, and / or store map data. For example, the navigation server may obtain lidar-generated point clouds (e.g., points defining the location of the surface of an object near the image capture location) of various locations included in the map data. The navigation server may use the location's respective point clouds to generate a three-dimensional model (e.g., a three-dimensional mesh) for each of the various locations. The navigation server may obtain images captured at the various locations (e.g., capture locations) and use the images to add texture to the three-dimensional model, thereby generating a photo-realistic three-dimensional image representing the corresponding location. For example, the captured images (e.g., photographs, panoramic photographs, etc.) may be stretched on the surface of the three-dimensional model of a particular location to generate a photo-realistic three-dimensional view of the particular location. The three-dimensional model and textures (e.g., captured images, stretched images, images applied to the three-dimensional model, etc.) may be stored in a map database on the navigation server and provided to a user device (e.g., device 500) to provide various features and functions described herein. The navigation server may be configured to obtain, generate, and / or store other map data in a map database.

[0141] In FIG. 6A, the user interface 600 includes a representation of a map corresponding to the determined current location of the electronic device. For example, in FIG. 6A, the user interface 600 displays a particular geographic location including representations of roads, landmarks, businesses, and / or buildings. In some embodiments, the user interface 600 includes graphical representations of roads, buildings, points of interest, and / or other map data. In some embodiments, the user interface 600 may include a text field for inputting search criteria for searching for a location or address. For example, a user may type a location name (e.g., a business, landmark, etc.) or address in the text entry box to cause the map application to initiate a search for the user-specified location or address. For example, the map application may search through a map database for locations (e.g., places) that match the search criteria. The map application may send a request to a navigation server to cause the navigation server to search for locations that match the search criteria. After retrieving map data corresponding to the search criteria, the navigation application can present a list of places that match the search criteria, and the user can select one of the places to have the place (e.g., an address, a point of interest, a landmark, etc.) presented on the user interface 600.

[0142] 6A, user interface 600 includes a location indicator that indicates the location of the electronic device as determined by the electronic device. In some embodiments, user interface 600 does not include a location indicator if location services are disabled and / or if the device is unable to determine the device's current location with sufficient accuracy (e.g., accuracy equal to or greater than a preset threshold).

[0143] In some embodiments, the electronic device includes one or more components for determining a location of the electronic device. In some embodiments, the electronic device includes a GPS receiver configured to receive signals from one or more GPS satellites and determine a location of the device based on the signals received from the GPS satellites. In some embodiments, the electronic device can receive signals from a cellular or WiFi network and determine a location of the device based on the signals received from the cellular or WiFi network. In some embodiments, other methods of determining a location of the device are possible. In some embodiments, the device 500 can determine a current location of the device using multiple methods (e.g., triangulation using a combination of GPS satellites and cellular towers, etc.).

[0144] In some embodiments, the device can determine the location of the device according to a certain level of accuracy based on one or more methods of determining the location of the device. For example, if the device receives signals from only one GPS satellite, the location of the device that can be derived from the signal from one satellite is not very accurate and can only narrow down the location of the device to a large geographic area. Similarly, if the device receives signals from many satellites, the location of the device derived from multiple signals is more accurate and the device can narrow down the location of the device to a smaller geographic area. For example, by receiving signals from multiple GPS satellites, the device can triangulate the location of the device to a certain level of accuracy. Thus, the device can determine the geographic area the device is in based on the number of GPS satellites from which the device is receiving signals. In some embodiments, there is inherently an error in determining the location based on the number of GPS satellites from which the device is receiving signals (e.g., 2 miles error for 2 GPS satellites, 1000 feet error for 2 GPS satellites, 200 feet error for 4 GPS satellites, etc.). In some embodiments, a minimum number of satellites (e.g., 3 satellites, 4 satellites) is required to be able to determine the location of the location according to any level of certainty.

[0145] In some embodiments, the same errors may exist in other methods of determining location accuracy: for example, if a device is in communication with three cellular towers, the device (and optionally the cellular network) can triangulate the device's location to a certain accuracy, but if the device is in communication with only one cellular tower, the error in the device's location will be greater.

[0146] In some embodiments, the accuracy of the determined location depends on the characteristics of the geographic location, for example, if there is interference such as tall buildings, if the location is an open plain, or if the satellite signal strength at the location is weak. Other environmental factors may affect the error (e.g., altitude, ambient temperature, humidity, and / or other electromagnetic waves may affect signal characteristics such as GPS satellite, cellular, and / or WiFi network signals). Thus, in some embodiments, environmental factors may affect whether signals from cellular, WiFi, or GPS satellites can be used to determine the location. In some embodiments, signals may be usable, but determining the location with degraded signals will be less accurate.

[0147] In some embodiments, the type of location indicator displayed on the user interface 600 depends on the current zoom level of the map and the accuracy of the determined location. In some embodiments, the map application has several zoom levels, each individual zoom level having a respective threshold accuracy level and showing a portion of the map corresponding to the zoom level. In some embodiments, if the accuracy of the determined location of the device exceeds the respective threshold accuracy level of the current zoom level, the location indicator is displayed as a point indicator, e.g., a pinpoint, indicating a single location on the map where the device is determined to be located. In some implementations, this location can be described by a single location, e.g., latitude and longitude, coordinates. In some embodiments, if the accuracy of the determined location is below the respective threshold accuracy level of the current zoom level, the location indicator is displayed as an area indicator indicating the area on the map where the device is determined to be located, rather than displaying a point indicator corresponding to the precise determined location of the electronic device. In some embodiments, the area indicator indicates a coarse location and may be represented as a circle (e.g., location indicator 602). The radius of the circle represents the accuracy and / or error of the location determination (e.g., the radius of location indicator 602 is equal to the error of the location determination).

[0148] In Figure 6A, the precision 606 of the device's determined location is below a threshold level 608 associated with the current zoom level. In some embodiments, because the precision 606 of the device's determined location is below the threshold level 608, the user interface 600 includes a region indicator. Thus, in Figure 6A, the user interface 600 includes a location indicator 602. In some embodiments, the location indicator 602 is a region indicator that indicates the geographic region in which the device is located (e.g., based on the precision of the device's determined location). In Figure 6A, the location indicator 602 is a circle that encompasses a geographic region that corresponds to the geographic region in which the device was determined to be located. For example, if the location of device 500 is determined to an accuracy of 500 feet (e.g., location determination error of 500 feet), then the radius of location indicator 602 corresponds to 500 feet (e.g., device 500 may be located anywhere on the map inside location indicator 602), but if the location of device 500 is determined to an accuracy of 50 feet (e.g., location determination error of 50 feet), then the radius of location indicator 602 corresponds to 50 feet (e.g., the radius of location indicator 602 has a size that represents 50 feet based on the current scale of the map). In some embodiments, other shapes of location indicator 602 are possible (e.g., square, rectangle, polygon, etc.).

[0149] In some embodiments, as shown in FIG. 6A , the location indicator 602 is overlaid on an object in the user interface 600 and is partially transparent, thus allowing at least a partial view of the object in the map at the location of the location indicator 602. As described in more detail below, the transparency of the location indicator 602 is optionally dependent on the size and / or precision 608 of the location indicator of the device's determined location relative to a threshold level 608. In some embodiments, the location indicator 602 displays a pulsating animation (e.g., periodically temporarily expanding and / or contracting in size, or expanding a circle in the location indicator 602 similar to a radar), thus indicating that the device's location is being determined continuously (optionally, the device's location is determined periodically). In some embodiments, the location indicator 602 displays an animation of the border of the location indicator 602 periodically thickening and thinning, indicating that the device's location is being determined continuously (optionally, this animation is displayed on the location indicator 610, described in more detail below).

[0150] In FIG. 6A, the user interface 600 includes an orientation indicator 604 that indicates the orientation of the device. In some embodiments, the device 500 includes one or more components for determining the orientation of the device. In some embodiments, the device 500 includes a gyroscope and / or a compass to determine the direction in which the device is facing, e.g., the orientation of the device. In some embodiments, the orientation indicator is displayed only if the orientation information is available. As shown in FIG. 6A, the orientation indicator 604 is displayed as a halo along a portion of the outer boundary / perimeter of the position indicator 602 (e.g., an arc of a circle). In some embodiments, the width of the orientation indicator 604 (e.g., the dimension of the orientation indicator 604 that is perpendicular to the center of the position indicator 602) is less than the radius of the position indicator 602. In some embodiments, the angular dimension of the orientation indicator 604 (e.g., the length of the orientation indicator 604 along the outer edge of the position indicator 602 relative to the full circumference of the position indicator 602) represents the accuracy of the determined orientation of the device. For example, if the device determines that the device is oriented in a particular direction with an accuracy of 30 degrees (e.g., an error of 30 degrees), then the position indicator 602 encompasses 30 degrees out of a total of 360 degrees of the outer edge of the position indicator 602 and is positioned on a portion of the boundary of the position indicator 602 that corresponds to the determined orientation of the device. Thus, the length (e.g., arc length) of the orientation indicator 604 is optionally based on a radius of the position indicator 602) (which is based on the accuracy of the device's position, as described above). In some embodiments, the length of the orientation indicator 604 is the radius of the orientation indicator 604 multiplied by an angle of the orientation accuracy. Thus, the dimensions of the orientation indicator 604 are optionally based on the orientation accuracy (e.g., defining the angular dimensions) and the position accuracy (e.g., defining the radius of the position indicator 602) relative to the accuracy threshold for the current zoom level.As described in more detail below, in some embodiments, the width (e.g., arc length) of the orientation indicator 604 changes in response to changes in zoom level, while in other embodiments, the width of the orientation indicator 604 does not change in response to changes in zoom level (e.g., based on which position indicator is displayed).

[0151] 6B illustrates an embodiment in which the precision 606 of the device's determined location exceeds a threshold 608 for the current zoom level (e.g., the same zoom as in FIG. 6A). In some embodiments, because the precision 606 of the device's determined location exceeds the threshold 608 for the current zoom level, the user interface 600 includes a location indicator 610 instead of the location indicator 602. In some embodiments, the location indicator 610 is a point indicator (e.g., a filled dot) and indicates a single geographic location (e.g., represented by a single location coordinate) in which the device is located. In some embodiments, the geographic region in which the device is included is determined to encompass a small enough area of ​​the map at the current zoom level (e.g., the current map scale) that displaying an area indicator would provide minimal information to the user (e.g., because the area indicator would otherwise appear mostly as a single location), so the location indicator 610 is displayed as a point indicator. In some embodiments, the location indicator 602 displays a pulsating animation outward (e.g., temporarily expanding and / or contracting in size at regular intervals, or extending a circle outward from the location indicator 610 similar to a radar), thus indicating that the location of the device is being continually determined (optionally, the location of the device is determined periodically).

[0152] In FIG. 6B, user interface 600 includes an orientation indicator 605 that indicates the orientation of the device. Like orientation indicator 604, orientation 605 has a respective angular dimension that represents the precision of the determined orientation of the device. In some embodiments, as shown in FIG. 6B, orientation indicator 605 extends conically outward from position indicator 610. In some embodiments, the width of orientation indicator 605 (e.g., the dimension of orientation indicator 604 that is perpendicular to the center of position indicator 602) is greater than the radius of position indicator 610. In some embodiments, optionally, orientation indicator 605 does not change width based on the current zoom level of the map, because position indicator 610 does not change size based on the current zoom level of the map.

[0153] For example, in FIG. 6C, a user input is received corresponding to an outward pinch gesture of contacts 603-1 and 603-2. In some embodiments, the outward pinch gesture is a request to zoom the map inward (e.g., to expand the size of an object in the map). In some embodiments, another gesture or input corresponds to a request to zoom the map inward. In FIG. 6C, in response to the request to zoom in on the map, the map expands and the accuracy threshold level, accuracy threshold level 608, is increased (e.g., compared to FIG. 6B). In some embodiments, the scale of the map has changed, so the threshold level 608 for displaying the location indicator as a point indicator is higher. Thus, a higher accuracy level is required to display the location indicator as a point indicator. In FIG. 6C, even as the threshold level 608 is increased, accuracy 606 remains higher than threshold level 608. Thus, the accuracy of the device's location is high enough to maintain the location indicator as a point indicator. Thus, in FIG. 6C, a location indicator 610 is shown. In some embodiments, the location indicator 610 and orientation indicator 605 do not change size when the map is zoomed in (e.g., as opposed to location indicator 602, which changes size in response to a user zooming in or out, location indicator 610 remains the same size as long as accuracy 606 remains above a threshold level 608). In some embodiments, maintaining the size of location indicator 610 (e.g., by maintaining location indicator 610 as a dot indicator) maintains a user's confidence in the determined location of the device, thereby minimizing the time it takes a user to view the device's location and reducing the number of inputs a user needs to verify the device's location.

[0154] In some embodiments, the threshold level 608 does not change in response to a change in zoom level. For example, not all zoom levels have a corresponding unique threshold level. In some embodiments, some or all zoom levels have the same threshold level. Thus, in some embodiments, zooming in or out does not result in a change (e.g., an increase or decrease) in the threshold level. Thus, in some embodiments, the location indicator does not change from a point indicator (e.g., location indicator 610) to an area indicator (e.g., location indicator 602) in response to zooming in or out, but rather changes based on an increase or decrease in the accuracy of the determined location (e.g., due to changes in environmental factors that affect accuracy and / or due to receipt of signals from a greater or fewer number of GPS satellites).

[0155] In FIG. 6D, precision 606 remains constant and a user input (e.g., a request to zoom in) corresponding to an outward pinch gesture of contacts 603-1 and 603-2 is received. In some embodiments, as shown in FIG. 6D, in response to the request to zoom in on the map, threshold level 608 is further increased (e.g., compared to FIG. 6C). In FIG. 6D, threshold level 608 is increased beyond precision 606. As a result of precision 606 now being below threshold 608, the location indicator is displayed as an area indicator. Thus, in FIG. 6D, user interface 600 switches from including location indicator 610 (e.g., a dot indicator) to including location indicator 602 (e.g., an area indicator). As shown in FIG. 6D, precision 606 is slightly less than threshold 608, so location indicator 602 is small in size (e.g., reflecting the geographic area in which the device is determined to be located, as described above with respect to FIG. 6A). As shown in FIG. 6D, location indicator 602 has a first transparency level. In some embodiments, the transparency of the position indicator 602 is based on the size of the position indicator 602. Thus, in Figure 6D, the position indicator 602 is relatively opaque (e.g., a low transparency level) because the position indicator 602 is relatively small.

[0156] In FIG. 6E, precision 606 remains constant and another user input (e.g., a request to zoom in) is received corresponding to an outward pinch gesture of contacts 603-1 and 603-2. In some embodiments, as shown in FIG. 6E, in response to the request to zoom in on the map, threshold level 608 is further increased (e.g., compared to FIG. 6D). In FIG. 6E, precision 606 remains the same, but threshold level 608 is now further away from precision 606. In some embodiments, as a result of precision 606 being further away from threshold precision 606, location indicator 602 increases in size. In some embodiments, the increase in size of location indicator 602 reflects a change in the scale of the map relative to the area in which the device was determined to be located (e.g., location indicator 602 of FIG. 6E represents the same geographic area as location indicator 602 of FIG. 6D). As shown in FIG. 6E, because location indicator 602 has increased in size, location indicator 602 is now more transparent compared to FIG. 6D. In some embodiments, as the size of the position indicator 602 is increased, the angular dimension of the orientation indicator 604 remains the same, and the width (e.g., arc length) of the orientation indicator 604 also increases (e.g., compared to FIG. 6D , assuming the orientation precision is unchanged).

[0157] In FIG. 6F, precision 606 remains constant and another user input (e.g., a request to zoom in) is received corresponding to an outward pinch gesture of contacts 603-1 and 603-2. In some embodiments, as shown in FIG. 6F, in response to the request to zoom in on the map, threshold level 608 is further increased (e.g., compared to FIG. 6E). In FIG. 6F, precision 606 remains the same, but threshold level 608 is now further away from precision 606. In some embodiments, as a result of precision 606 being further away from threshold precision 606, location indicator 602 is further increased in size. In some embodiments, the increase in size of location indicator 602 reflects a change in the scale of the map relative to the area in which the device is determined to be located (e.g., location indicator 602 of FIG. 6F represents the same geographic area as location indicator 602 of FIG. 6E). As shown in FIG. 6F, because location indicator 602 has increased in size, location indicator 602 is now more transparent compared to FIG. 6E. In some embodiments, because the size of the position indicator 602 has increased, the width (e.g., arc length) of the orientation indicator 604 has also increased (e.g., compared to FIG. 6E, assuming the orientation precision has not changed), but the angular dimension of the orientation indicator 604 remains the same.

[0158] In FIG. 6G, precision 606 remains constant and another user input (e.g., a request to zoom in) is received corresponding to an outward pinch gesture of contacts 603-1 and 603-2. In some embodiments, as shown in FIG. 6G, in response to the request to zoom in on the map, threshold level 608 is further increased (e.g., compared to FIG. 6F). In FIG. 6G, due to the increase in size of location indicator 602 in response to the increase in threshold level 608, the transparency of location indicator 602 is now 100%. Thus, location indicator 602 is fully transparent and is no longer displayed in user interface 600 (optionally, in some embodiments, even though location indicator 602 is fully transparent, the border of location indicator 602 continues to be displayed without changing transparency). In some embodiments, the threshold size at which location indicator 602 becomes fully transparent (e.g., ceases to be displayed) is when location indicator 602 otherwise encompasses the entire display area of ​​touch screen 504. In some embodiments, the display of the location indicator 602 provides a minimum when the location indicator 602 encompasses the entire display area of ​​the touch screen 504 (e.g., because the entire display area has the same color, which is also achieved when the location indicator 602 is not displayed at all). In some embodiments, the threshold size is 50% of the display area, 66% of the display area, 75% of the display area, 90% of the display area, 95% of the display area, etc. In some embodiments, the threshold size at which the location indicator 602 becomes fully transparent (optionally excluding a border) is when the location indicator 602 reaches (e.g., is equal to or greater in size than) the smaller dimension of the map representation (e.g., the smaller of the width of the map representation or the height of the map representation). In some embodiments, the threshold size at which the location indicator 602 becomes fully transparent (optionally excluding a border) is when the location indicator 602 reaches (e.g., is equal to or greater in size than) the larger dimension of the map representation (e.g., the larger of the width of the map representation or the height of the map representation).

[0159] In Figure 6H, precision 606 remains constant and a user input (e.g., a request to zoom out) is received corresponding to an inward pinch gesture of contacts 603-1 and 603-2. In some embodiments, in response to the request to zoom out of the map, threshold level 608 is decreased (e.g., compared to Figure 6F). In some embodiments, in response to the decrease in threshold level 608 while precision 606 remains the same, the size and transparency level of position indicator 602 is decreased. In some embodiments, the width / arc length of orientation indicator 604 is decreased (e.g., compared to Figure 6F).

[0160] In Figure 6I, the device 500 detects that the orientation of the device 500 has changed. For example, in Figure 6I, the device 500 changes from a northwest orientation to a northeast orientation. In some embodiments, in response to detecting the change in orientation, the orientation indicator 604 moves along an outer boundary of the position indicator 602 to point in the respective direction (e.g., to point northeast), e.g., while the precision of the determined orientation remains the same.

[0161] In FIG. 6J, precision 606 remains constant and a user input (e.g., a request to zoom out) is received corresponding to an inward pinch gesture of contacts 603-1 and 603-2. In some embodiments, in response to the request to zoom out of the map, threshold level 608 is decreased (e.g., compared to FIG. 6I) below precision 606. In some embodiments, another gesture or input corresponds to a request to zoom out of the map. In some embodiments, in response to precision 606 now being greater than threshold 608, device 600 switches from displaying location indicator 602 to displaying location indicator 610, as shown in FIG. 6J. In some embodiments, displaying location indicator 610 causes device 500 to switch from displaying orientation indicator 604 to displaying orientation indicator 605. In some embodiments, orientation indicator 605 faces the same direction as orientation indicator 604 of FIG. 6I (e.g., assuming device 500 has not determined a change in orientation).

[0162] In Figure 6J, the device 500 detects that the orientation of the device 500 has changed. For example, in Figure 6K, the device 500 changes from a northeasterly to a northwesterly orientation. In some embodiments, in response to detecting the orientation change, the orientation indicator 605 rotates from a northeasterly to a northwesterly orientation.

[0163] In FIG. 6L, the determined orientation of the device remains constant and a user input (e.g., a request to zoom in) corresponding to an outward pinch gesture of contacts 603-1 and 603-2 is received. In some embodiments, in response to the request to zoom in on the map, the threshold level 608 is increased above precision 606. In some embodiments, in response to precision 606 now being below threshold 608, device 600 switches from displaying location indicator 610 to displaying location indicator 602, as shown in FIG. 6L. In some embodiments, the display of location indicator 602 causes device 500 to switch from displaying orientation indicator 605 to displaying orientation indicator 604. In some embodiments, orientation indicator 604 points in the same direction as orientation indicator 605 in FIG. 6K (e.g., assuming device 500 has not determined a change in orientation).

[0164] FIG. 6M illustrates an embodiment in which a location indicator 610 and an orientation indicator 605 are displayed while the user interface 600 displays directions from one location to another. In FIG. 6M, the accuracy 606 exceeds a threshold level 608, and thus the user interface 600 includes a point indicator (e.g., location indicator 610). FIG. 6N illustrates an embodiment in which a location indicator 602 and an orientation indicator 604 are displayed while the user interface 600 displays directions from one location to another. In FIG. 6N, the accuracy 606 is below a threshold level 608, and thus the user interface 600 includes a region indicator (e.g., location indicator 602). Thus, as discussed above, the device 500 can display the location indicator 602 or the location indicator 610, and / or the orientation indicator 604 or the orientation indicator 605 (as the case may be, as discussed above with respect to FIGS. 6A-6L) regardless of whether the user interface 600 displays directions or not.

[0165] In FIG. 6O, while displaying a location indicator 610 (e.g., a point location indicator because the location accuracy is greater than a threshold 608) and an orientation indicator 604 on the location indicator 610, a user input 603o is received selecting the location indicator 610. In some embodiments, the selection of the location indicator 610 corresponds to a request to display information about the current location of the device 500. In some embodiments, the device 500 displays a user interface 616 in response to the user input 603o, as shown in FIG. 6P. In some embodiments, the user interface 616 is a user interface that includes information and / or options related to the determined location of the device 500. In FIG. 6P, the user interface 616 includes an option 618, an option 620, and an option 622 (optionally on the same line). In some embodiments, the option 618 can be selected to mark the current location of the device 500 (e.g., to save this location for future access). In some embodiments, the option 620 can be selected to initiate a process of improving the determined location of the device, as described below with respect to the method 900. In some embodiments, option 622 can be selected to share the current location of device 500 with another use (eg, send information regarding the current location of device 500 to another device).

[0166] In some embodiments, in response to user input 603o, device 500 displays a user icon 614. In some embodiments, user icon 614 is a representation of the user and may include text, an image, a graphic, or any other suitable representation of the user. In some embodiments, the visual characteristics of user icon 614 (e.g., image, graphic, text, etc.) are set by the user. In some embodiments, user icon 614 is similar or identical to a representation of the user displayed in other applications (e.g., applications other than the map application). For example, user icon 614 is optionally associated with a user's account (e.g., a user profile) that can be used for multiple other applications (e.g., logging in). In some embodiments, the user icon 614 includes an element pointing towards the location indicator 610 (e.g., an arrow, a triangle, an element protruding from the user icon 614, or any other suitable visual element that associates the user icon 614 with the location indicator 610) to indicate that the user has been determined to be at the location of the location indicator 610. In some embodiments, the orientation indicator 604 is no longer displayed on the location indicator 610 when the user icon 614 and / or user interface 616 are displayed, as shown in FIG. 6P. In some embodiments, the display of the orientation indicator 604 is maintained on the location indicator 610.

[0167] In FIG. 6Q, a user input (e.g., a request to zoom in) is received corresponding to an outward pinch gesture of contacts 603q-1 and 603q-2. In some embodiments, in response to the request to zoom in on the map, the representation of the map zooms in and the threshold level 608 increases above the level of precision 606, as shown in FIG. 6Q. As described above, in response to zooming in on the representation of the map (e.g., pursuant to a determination that precision 606 is less than threshold level 608), device 500 switches from displaying location indicator 610 (e.g., a point indicator) to displaying location indicator 602 (e.g., an area indicator). As described above, the size of location indicator 602 is optionally determined by the precision of the determined location of device 500 as compared to the threshold level. Thus, in FIG. 6Q, location indicator 602 has a radius that is smaller than the size of user icon 614. In such embodiments, user icon 614 optionally overlays (e.g., overlaps) at least a portion of location indicator 602. For example, if the size of the location indicator 602 is equal to or less than the size of the user icon 614, then at least a portion of the user icon 614 is displayed over at least a portion of the location indicator 602 and at least a portion of the user icon 614 is not displayed over the location indicator 602. In some embodiments, the user icon 614 continues to include an element that points towards the location indicator 602, but, as shown in FIG. 6Q, the user icon 614 is, optionally, positioned such that the element points to the center of the location indicator 602 (or another predefined location within or on the location indicator 602).

[0168] In FIG. 6Q, in response to a request to zoom in on the map, device 500 displays orientation indicator 604 on location indicator 604 (e.g., causes display of orientation indicator 604 or, in some cases, maintains display of orientation indicator 604) and modifies the visual appearance of orientation indicator 604 based on what is displayed on location indicator 604. In some embodiments, based on the relative sizes of orientation indicator 604 and user icon 614, orientation indicator 604 is at least partially obscured by user icon 614 (e.g., in FIG. 6Q, orientation indicator 604 is completely obscured by user icon 614). Further details regarding how the visual appearance of orientation indicator 604 differs when displayed on location indicator 602 as compared to when orientation indicator 604 is displayed on location indicator 610 are described below with respect to FIG. 6R.

[0169] In FIG. 6R, another user input (e.g., a request to zoom in) is received corresponding to the outward pinch gesture of contacts 603r-1 and 603r-2. In some embodiments, in response to the request to zoom in on the map, the map zooms in and the representation of the threshold level 608 is further increased, as shown in FIG. 6R. In some embodiments, in response to the threshold level 608 being much greater than the accuracy 606, the size of the location indicator 602 is increased accordingly (e.g., as described above with respect to FIGS. 6D-6G). In some embodiments, because the location indicator 602 is larger than the size of the user icon 614 (e.g., the radius of the location indicator 602 is larger than the radius of the user icon 614 by more than a threshold amount, optionally 0.5 mm, 1 mm, 3 mm, 5 mm, 1 cm, etc.), the user icon 614 is updated to be centered on the location indicator 602 and no longer include an element pointing toward the location indicator, as shown in FIG. 6R. Thus, in some embodiments, the user icon 614 is circular and does not include any elements that protrude beyond the boundaries of the user icon 614. In some embodiments, the size of the user icon 614 is fixed and does not change in response to zooming in or out of the representation of the map.

[0170] FIG. 6R further illustrates an embodiment of an orientation indicator 604 that includes an outer portion of the position indicator 602 and an inner portion of the position indicator 602. As described above, when the orientation indicator 604 is displayed on the position indicator 610 (e.g., a point indicator), the orientation indicator 604 is optionally displayed in a cone shape extending outward from the boundary of the position indicator 610. Thus, the orientation indicator 604 optionally does not include a portion that is displayed inside the position indicator 610. However, when the device 500 is displaying the position indicator 602 (e.g., an area indicator), the orientation indicator 604 optionally includes an outer portion and an inner portion, as shown in FIG. 6R. In some embodiments, the outer portion of the orientation indicator 604 has a shape similar to a halo along the boundary of the position indicator 602, similar to the embodiment described above with respect to FIG. 6A. In some embodiments, the inner portion of the orientation indicator 604 is displayed with a cone shape extending outward from the center of the position indicator 602 to the boundary of the position indicator 602, as shown in FIG. 6R.

[0171] Thus, in some embodiments, the orientation indicator 604 has the same or a similar shape when the orientation indicator 604 is displayed on the position indicator 610 and when the orientation indicator 604 is displayed on the position indicator 602, but is displayed in a different location relative to the position indicator and includes different portions of the shape. For example, the orientation indicator 604 displays different portions of the orientation indicator object based on whether the orientation indicator 604 is displayed on the position indicator 602 or the position indicator 610. For example, while displayed on the position indicator 610, the orientation indicator 604 reveals portions of the orientation indicator object that are outside the position indicator 610 but inside (e.g., 1 mm, 2 mm, 3 mm, 5 mm, 1 cm, etc.). While displayed on the locator indicator 602, the orientation indicator 604 reveals portions of the orientation indicator object that are outside (e.g., 1 mm, 2 mm, 3 mm, 5 mm, 1 cm, 3 mm, 5 mm, 1 cm, 2 cm, etc.). In some embodiments, as described above, orientation indicator 604 spans the boundaries of position indicator 602 when displayed on position indicator 602, but is displayed only outside of position indicator 610 when displayed on position indicator 610. Thus, in some embodiments, the size and shape of orientation indicator 610 is determined by revealing and masking different portions of an orientation indicator object (e.g., an orientation indicator object having a cone shape extending outward from the center of the respective position indicator) based on whether position indicator 602 or position indicator 610 is displayed. In some embodiments, the portions of the orientation indicator object that are displayed when the orientation indicator is displayed on position indicator 610 at least partially overlap (optionally, these portions do not overlap) with the portions of the orientation indicator object that are displayed when the orientation indicator is displayed on position indicator 602.

[0172] In some embodiments, certain portions of the orientation indicator 604 may have different levels of transparency. For example, in FIG. 6R, the transparency of the inner portion of the orientation indicator 604 increases the closer it is to the center of the position indicator 602. In some embodiments, the transparency reaches 100% at or before the center of the position indicator 602 (e.g., such that the orientation indicator 604 does not appear to reach or touch the center of the position indicator 602).

[0173] In Figure 6S, user input 603s is received corresponding to a request to dismiss user interface 616 (e.g., selection of the "close" or "x" affordance). In some embodiments, in response to user input 603s, device 500 stops displaying user interface 616, as shown in Figure 6T. In some embodiments, in response to user interface 616 being no longer displayed, device 500 stops displaying user icon 614. Thus, in some embodiments, user icon 614 is displayed (e.g., only displayed) when user interface 616 is displayed (and, optionally, not displayed when user interface 616 is not displayed).

[0174] In some embodiments, receiving user input selecting the location indicator 602 does not cause the display of the user icon 614 and / or user interface 616 (e.g., only selection of the location indicator 610 causes the display of the user icon 614 and / or user interface 616). In some embodiments, receiving user input selecting the location indicator 602 also causes the display of the user icon 614 and / or user interface 616. In some embodiments, the user icon 614 and / or user interface 616 are displayed in response to selection of the location indicator 602 if (e.g., only if) the size of the location indicator 602 is less than a threshold size (e.g., 25% of the display area, 50% of the display area, 60% of the display area, 90% of the display area). As described above, the location indicator 602 may have a transparency that increases as the location indicator 602 becomes larger, such that if the transparency of the location indicator 602 exceeds a threshold amount (e.g., 30% transparency, 50% transparency, 75% transparency, 90% transparency, 100% transparency, etc.), selection of the location indicator 602 does not cause the display of the user icon 614 and / or the user interface 616.

[0175] In some embodiments, when the size of the location indicator 602 increases beyond a threshold size (e.g., a threshold size where selection of the location indicator 602 does not cause display of the user icon 614 and / or user interface 616), device 500 optionally maintains display of the user icon 614 and / or user interface 616 if the user icon 614 and / or user interface 616 are currently displayed. For example, when the location indicator 602 is displayed at a size less than the threshold size, in response to a user input, the user icon 614 and user interface 616 are displayed. Then, while displaying the user icon 614 and user interface 616, if the user zooms in on the map such that the size of the location indicator 602 is greater than the threshold size, optionally the user icon 614 and user interface 616 continue to be displayed in the user interface. However, at that point, if the user dismisses the display of user icon 614 and / or user interface 616 (e.g., by selecting the “close” or “x” affordance as in FIG. 6S), the user cannot optionally cause the display of user icon 614 and / or user interface 616 via selection of location indicator 602 (without resizing location indicator 602 below the threshold size, such as by zooming out of the map).

[0176] 7 is a flow diagram illustrating a method 700 for indicating a current location of an electronic device, according to some embodiments of the present disclosure. Method 700 is optionally performed in an electronic device, such as device 100, device 300, device 500, and device 511, as described above with reference to Figures 1A-1B, 2-3, 4A-4B, and 5A-5B. Some operations of method 700 are optionally combined and / or the order of some operations is optionally changed.

[0177] As described below, the method 700 indicates the current location of an electronic device. The method reduces the cognitive burden on a user when interacting with a user interface of a device of the present disclosure, thereby creating a more efficient human-machine interface. For battery-operated electronic devices, improving the efficiency of the user's interaction with the user interface conserves power and increases the time between battery charges.

[0178] In some embodiments, electronic device 500 in communication with a display generation component (e.g., a mobile device (e.g., a tablet, smartphone, media player, or wearable device) or a computer, optionally in communication with one or more input devices), displays (702) a map user interface, such as user interface 600 of FIG. 6A, via the display generation component (e.g., the map user interface is displayed in response to receiving user input corresponding to a request to display the map user interface). For example, the user input selects a map application from a home screen user interface or an application launch user interface.

[0179] In some embodiments, the one or more input devices include one or more of a mouse (e.g., external), a trackpad (optionally integrated or external), a touchpad (optionally integrated or external), a remote control device (e.g., external), another mobile device (e.g., separate from the electronic device), a handheld device (e.g., external), and / or a controller (e.g., external), etc. In some embodiments, the display generating component is an external display, such as a display (optionally a touchscreen display) that is integral to the electronic device, a monitor, projector, television, or a hardware component (optionally integrated or external) for projecting the user interface or making the user interface visible to one or more users.

[0180] In some embodiments, the map user interface includes a representation of a map (704) of a particular zoom level (e.g., a map of particular geographic locations), such as in Figure 6A. In some embodiments, the map displays the user's geographic location and a location indicator that indicates the determined location of the electronic device on the representation of the map (706), such as location indicator 602 in Figure 6A and location indicator 610 in Figure 6B (e.g., the representation of the map includes an indicator that indicates the location of the electronic device within the map).

[0181] In some embodiments, the representation of the map is interactive for a user to view various geographic locations. In some embodiments, the representation of the map is interactive for a user to change the zoom level. In some embodiments, the representation of the map displays various levels of detail based on the zoom level. For example, at a first zoom level, the representation of the map includes a representation of roads and highways, and at a second zoom level that is closer than the first zoom level (e.g., zoomed in further than the first zoom level), the representation of the map includes a representation of buildings, businesses, and / or landmarks. In some embodiments, the indicator is displayed only if location determination is enabled (e.g., GPS tracking is enabled). In some embodiments, the indicator shows an estimated location of the electronic device based on the accuracy or confidence of the location of the electronic device. In some embodiments, the electronic device includes a GPS component that can determine the location of the electronic device. In some embodiments, the device can determine the location of the electronic device with a particular level of accuracy based on the number of satellites that the GPS component can lock on to (e.g., more satellites means more accuracy, fewer satellites means less accuracy). In some embodiments, the electronic device may communicate with a cellular provider and use data from the cellular provider to determine the location of the electronic device (e.g., based on the cell tower(s) with which the electronic device is communicating). In some embodiments, the electronic device may determine its location based on other mechanisms.

[0182] In some embodiments, pursuant to a determination that the accuracy of the determined location of the electronic device is below a respective threshold for a respective zoom level (e.g., based on one or more location determination mechanisms, the accuracy of the determined location of the electronic device is below a threshold (e.g., the determined location of the device is within a 5 foot radius, a 10 foot radius, a 30 foot radius, a 50 foot radius, a 100 foot radius, a quarter mile radius, a half mile radius, a mile radius, or no location can be determined, etc.)), the location indicator includes a first location element (e.g., a circular indicator of a first size at a respective location on the representation of the map) and does not include a second location element (708), such as area indicator 602 in FIG. 6A that is not location indicator 610 (e.g., an indicator on the representation of the map that indicates a single location of the electronic device within the map rather than an area).

[0183] In some embodiments, the electronic device is unable to determine an exact location. In some embodiments, if the accuracy is below a threshold, the electronic device instead determines that the electronic device is likely located within a particular region. In some embodiments, the accuracy threshold of the determined location is based on the zoom level of the representation of the map. For example, if the map is zoomed in to a first level, the first level of accuracy is required for the determined location to meet the threshold, but if the map is zoomed out to a second level (e.g., lower than the first level), an even lower level of accuracy (e.g., a second zoom level threshold lower than the first zoom level threshold) is required for the determined location to meet the threshold.

[0184] In some embodiments, the circular indicator indicates that the area in which the electronic device was determined is a possible location for the device. In some embodiments, the size of the circular indicator indicates the accuracy of the determination. For example, if the accuracy is low, the indicator is large in size (e.g., encompassing a larger area) and if the accuracy is medium, the indicator is medium in size (e.g., encompassing a smaller area).

[0185] In some embodiments, pursuant to a determination that the accuracy of the determined location of the electronic device exceeds a respective threshold level for a respective zoom level (e.g., the accuracy of the determined location of the electronic device is greater than a threshold amount for the displayed zoom level), the location indicator includes a second location element and does not include the first location element (710), such as a location indicator 610 that is not location indicator 602 in FIG. 6B (e.g., a dot indicating a single location on a map where the electronic device is located).

[0186] In some embodiments, the determined location(s) of the electronic device is at a particular location on the map. In some embodiments, the electronic device is unable to determine an exact location, but because the map is zoomed out, the area in which it is determined that the device is likely to be located is small due to the zoom level of the map. In such embodiments, the accuracy of the determined location exceeds a threshold level for the current zoom level.

[0187] In some embodiments, if the accuracy is above a threshold, the representation of the map does not include a circular indicator indicating an area on the map. In some embodiments, only one of the first and second location elements remains displayed at a time (optionally, neither element is displayed if location tracking is disabled or if the representation of the map does not include the determined location of the device). In some embodiments, as described above, whether the map user interface includes the first and second location elements depends at least on the accuracy of the determination of the device's location and the zoom level of the representation of the map (e.g., the current view of the map). For example, if the accuracy is such that the device can determine that the location of the device is somewhere within a city block, if the map is zoomed in such that a large portion of the user interface (e.g., the city block is larger than 20%, 30%, 50%, 60%, 75%, 90%, etc. of the size of the representation of the map) displays the city block, the accuracy is below the threshold required for that zoom level and the first location element is displayed as a circular indicator that encompasses the city block, thus indicating that the device is somewhere within the city block. In another example, if the device determines that the device's location is somewhere within a city block, but the user interface is displaying the entire neighborhood and the map is zoomed out such that the individual city blocks only encompass a small portion of the map's representation (e.g., an area of ​​less than 0.25 mm2, 0.5 mm2, 1 mm2, 2 mm2, or less than 1%, 3%, 5%, 10%, 15% of the size of the map's representation), then the accuracy exceeds the threshold required for that zoom level and the first location element is not displayed and instead the second location element is displayed, thus indicating that the device is at that location within the city block. Thus, in some embodiments, the first location element is an area indicator and the second location element is a point indicator, and whether the user interface includes the first or second location element is based on whether the determined potential location of the device should be represented by an area or a location based on the zoom level of the map.

[0188] The above-described method of displaying an indication of the device's determined location (e.g., by displaying either an area indicator or a point indicator depending on the accuracy of the determined location and the zoom level of the map) quickly and efficiently provides a user with information regarding the device's determined location, thereby simplifying the interaction between the user and the electronic device (e.g., by not displaying a point indicator when an area indicator would be more appropriate, and vice versa, thereby reducing potential confusion regarding the accuracy of the determined location), enhancing usability of the electronic device, and streamlining the user-device interface, which further reduces power usage and improves battery life of the electronic device by allowing a user to use the electronic device more quickly and efficiently while reducing errors when using the device.

[0189] In some embodiments, while displaying the first positional element, upon determining that the first positional element occupies a first display area (e.g., occupies a first display area of ​​a display generating component, occupies a first display area of ​​all display areas generated by the display generating component, etc.), the first positional element has a first opacity value as in FIG. 6A (e.g., the opacity of the first positional element is based on the size of the first positional element).

[0190] In some embodiments, the size of the first location element is based on the accuracy of the determined location relative to a predefined threshold of the current zoom level. For example, if the accuracy decreases (e.g., at a certain zoom level) the size of the first location element increases. If the accuracy increases the size of the first location element decreases. Similarly, if a user changes the zoom level of the map, at a certain accuracy level the size of the first location element increases when the predefined threshold increases (e.g., as the user zooms in) but decreases when the predefined threshold decreases (e.g., as the user zooms out). In some embodiments, the size of the first location element is the absolute size of the first location element. In some embodiments, the size of the first location element is the display area of ​​the first location element relative to the total display area of ​​the representation of the map (optionally based on the scale of the representation of the map or relative to the representation of other objects in the representation of the map).

[0191] In some embodiments, following a determination that the first positional element occupies a second display area having a different size than the first display area (e.g., occupies a second display area of ​​the display generating component, occupies a second display area of ​​the total display area generated by the display generating component, etc.), the first positional element has a second opacity value different from the first opacity value (e.g., as the size of the first positional element decreases, the opacity increases (the transparency of the element decreases)), such as in FIGS. 6D and 6F .

[0192] In some embodiments, as the first location element increases in size, the opacity decreases (the transparency of the element increases. For example, the more the first location element occupies the display area, the more transparent the first location element becomes, enhancing the visibility of elements of the map user interface overlaid by the first location element.

[0193] The above-described methods of varying the opacity of the location indicator (e.g., by decreasing the opacity of the location indicator as the size of the location indicator increases, and vice versa) quickly and efficiently provide a user with information regarding the determined location of the device without obstructing the view of the object on the map, thereby simplifying the interaction between the user and the electronic device (e.g., without requiring the user to disable display of the location indicator to prevent the location indicator from obscuring portions of the map), enhancing usability of the electronic device, and streamlining the user-device interface, which further reduces power usage and improves battery life of the electronic device by allowing a user to use the electronic device more quickly and efficiently while reducing errors in using the device.

[0194] In some embodiments, following a determination that the first positional element occupies more than a predetermined size of display area (e.g., as a user zooms in or as positional accuracy decreases, if the size of the first positional element increases to encompass more than a threshold amount of display area (e.g., 80%, 85%, 90%, 95%, 99%, 100%, etc. of the total display area), the electronic device ceases displaying the first positional element (e.g., the opacity of the first positional element is reduced to an opacity value of zero), as in FIG. 6G.

[0195] For example, the opacity of the first location element decreases as the display area of ​​the first location element increases, such that when the display area of ​​the first location element reaches a predetermined size, the opacity becomes zero (e.g., becomes completely transparent). In some embodiments, having a zero level of opacity means that the first location element is not visible in the user interface. In some embodiments, decreasing the opacity level to zero (optionally while maintaining the display of the first location element) is performed by ceasing the display of the first location element (and, optionally, ceasing the display of the location indicator).

[0196] The above-described method of varying the opacity of the location indicator (e.g., by ceasing display of the location indicator when the size of the location indicator reaches a predetermined threshold) quickly and efficiently removes the display of the location indicator when the size of the location indicator provides the least information value (e.g., when the location indicator encompasses the entire display area), thereby simplifying the interaction between the user and the electronic device, enhancing usability of the electronic device, and streamlining the user-device interface, which further reduces power usage and improves battery life of the electronic device by allowing a user to use the electronic device more quickly and efficiently while reducing errors when using the device.

[0197] In some embodiments, while displaying the first location element, the electronic device receives user input via one or more input devices corresponding to a request to decrease the zoom level of the representation of the map, such as in FIG. 6J, to a first zoom level (e.g., while displaying the first location element, receives user input to zoom out the representation of the map to display a larger geographic area). In some embodiments, the user input is an inward pinch gesture. In some embodiments, the user input is a selection of the zoom out affordance. In some embodiments, the user input is a double tap followed by a downward swipe gesture.

[0198] In some embodiments, in response to receiving user input, the electronic device reduces the zoom level of the representation of the map to a first zoom level (e.g., reduces the zoom level in accordance with the user input), and in accordance with a determination that the accuracy of the device's determined location exceeds a respective threshold level for the first zoom level, the electronic device updates the location indicator to include the second location element but not the first location element, as in FIG. 6J (e.g., switches from the first location element to the second location element if the accuracy exceeds a respective threshold level for the new zoom level of the map).

[0199] In some embodiments, as the user zooms in and out, the threshold accuracy level that determines the display of the first element or the second element changes (e.g., increases or decreases). For example, as the representation of the map is zoomed in, the threshold increases, and thus a higher accuracy is required to display the second element rather than the first element. Similarly, as the representation of the map is zoomed out, the threshold decreases, and thus a lower accuracy is required to display the second element rather than the first element. In some embodiments, if the user zooms in (e.g., by an outward pinch gesture, etc.) and the accuracy remains below the threshold (optionally as a result of the threshold increase that accompanies zooming in on the map), the device maintains the display of the first location element and does not display the second location element.

[0200] The above-described method of updating a location indicator (e.g., by switching from displaying a first location element to displaying a second location element when the accuracy of the determined location exceeds a threshold upon zooming out) quickly and efficiently provides relevant location information to a user as the user interacts with the map (e.g., by minimizing the amount of obscuration of the map when area indicators are not needed by automatically switching to the second location element when the user zooms out sufficiently), thereby simplifying the interaction between the user and the electronic device (e.g., without requiring the user to perform additional input to switch from one type of indicator to another and without perturbing the accuracy of the determined location), enhancing usability of the electronic device, and streamlining the user-device interface, which further reduces power usage and improves battery life of the electronic device by allowing a user to use the electronic device more quickly and efficiently while reducing errors when using the device.

[0201] In some embodiments, while displaying the first location element, the electronic device receives user input via one or more input devices corresponding to a request to increase the zoom level of the representation of the map, such as in FIG. 6E, to a first zoom level (e.g., user input to zoom in on the representation of the map to display a smaller geographic area while displaying the first location element). In some embodiments, the user input is an outward pinch gesture. In some embodiments, the user input is a selection of the zoom-in affordance. In some embodiments, the user input is an upward swipe gesture followed by a double tap.

[0202] In some embodiments, in response to receiving user input, the electronic device increases the zoom level of the representation of the map to a first zoom level (e.g., increases the zoom level in response to user input), and in accordance with a determination that the accuracy of the device's determined location is below a respective threshold level at the first zoom level, the electronic device updates the size of the display area of ​​the first location element on the display generation component in accordance with the accuracy of the device's determined location while maintaining the display of the first location element as in FIG. 6E (e.g., if the accuracy remains below the threshold after the zoom function (e.g. because the threshold has been increased as a result of zooming in), maintaining the display of the first location element (optionally while the second location element remains hidden)).

[0203] In some embodiments, as the zoom level and respective threshold levels are changed while displaying the first location element, the first location element changes size in accordance with the change in threshold level (e.g., grows proportionately as the map scale increases). In some embodiments, if the user zooms out (e.g., by an inward pinch gesture, etc.) and the accuracy exceeds the threshold (optionally as a result of the threshold decrease as the map zooms out), the device replaces the display of the first location element with the second location element.

[0204] The above-described method of updating a location indicator (e.g. by maintaining the display of the first location indicator but updating the size of the first location indicator when the map is zoomed in or out while the accuracy of the determined location remains below a threshold) quickly and efficiently provides the user with information about the accuracy of the determined location (e.g. by automatically scaling the size of the first location indicator based on the scale of the map, thus providing the user with consistent information about the area in which the device is located), thereby simplifying the interaction between the user and the electronic device, enhancing the usability of the electronic device, and streamlining the user-device interface, which further reduces power usage and improves battery life of the electronic device by allowing the user to use the electronic device more quickly and efficiently while reducing errors when using the device.

[0205] In some embodiments, while displaying the second location element, the electronic device receives user input via one or more input devices corresponding to a request to increase the zoom level of the representation of the map to the first zoom level, as in FIG. 6D (e.g., while displaying the second location element, receives user input to zoom in on the representation of the map to display a smaller geographic area). In some embodiments, the user input is an outward pinch gesture. In some embodiments, the user input is a selection of the zoom-in affordance. In some embodiments, the user input is a double-tap followed by an upward swipe gesture.

[0206] In some embodiments, in response to receiving user input, the electronic device increases the zoom level of the representation of the map to a first zoom level (e.g., increases the zoom level in accordance with the user input), and in accordance with a determination that the accuracy of the device's determined location is below a respective threshold level for the first zoom level, the electronic device updates the location indicator to include the first location element but not the second location element, as in FIG. 6D (e.g., switches from displaying the second location element to displaying the first location element if the accuracy is below the map's new zoom level threshold).

[0207] Thus, in some embodiments, a change in the zoom level of the map causes a change in the respective threshold level such that the accuracy of the device's determined location changes from above the respective threshold level to below the respective threshold level. In such embodiments, the result is that the location indicator switches from including the second location element (displayed when the accuracy is above the threshold) to including the first location element (displayed when the accuracy is below the threshold). In some embodiments, if the user zooms out (e.g., by an inward pinch gesture, etc.) and the accuracy remains above the threshold (optionally as a result of the threshold decrease that accompanies zooming out of the map), the device maintains the display of the second location element and does not display the first location element.

[0208] The above-described method of updating the location indicator (e.g., by switching from displaying a second location element to displaying a first location element when the accuracy of the determined location falls below a threshold upon zooming out) quickly and efficiently provides location information to the user as the user interacts with the map (e.g., by automatically switching to the first location element when the user zooms in sufficiently, by providing the user with information about an area the device is in only when the map is zoomed in a certain amount), thereby simplifying the interaction between the user and the electronic device (e.g., without requiring the user to perform additional input to switch from one type of indicator to another), enhancing usability of the electronic device, and streamlining the user-device interface, which further reduces power usage and improves battery life of the electronic device by allowing the user to use the electronic device more quickly and efficiently while reducing errors when using the device.

[0209] In some embodiments, while displaying the representation of the map and the first location element for the respective zoom level, the electronic device determines that the accuracy of the determined location of the electronic device has increased beyond a respective threshold level for the respective zoom level (e.g., the accuracy of the determined location has increased beyond the threshold level without changing the zoom level of the map), as in FIG. 6B. In some embodiments, the accuracy has increased as a result of the device locking onto more GPS satellites. In some embodiments, the accuracy has increased as a result of a process of improving the accuracy of the determined location, as described below with respect to method 900.

[0210] In some embodiments, in response to determining that the accuracy of the determined location of the electronic device has increased beyond a respective threshold level for a respective zoom level, the electronic device updates the location indicator to include the second location element and not the first location element, as in FIG. 6B (e.g., in response to the accuracy increasing beyond the threshold, replaces the display of the first location element with a display of the second location element). In some embodiments, if the second location element is displayed (e.g., the accuracy is above the threshold) and the accuracy decreases below the threshold, the display of the second location element is replaced with a display of the first location element. Thus, in some embodiments, the device updates the location indicator based on the change in accuracy of the determined location without changing the zoom level.

[0211] The above-described method of updating a location indicator (e.g., by switching from displaying a first location element to displaying a second location element when the accuracy of the determined location increases beyond a threshold level) quickly and efficiently provides location information to a user when the determined location of the device is updated (e.g., by automatically switching to a second location element when the location accuracy increases), thereby simplifying the interaction between a user and the electronic device (e.g., without requiring the user to perform additional inputs to update the location indicator based on the updated data), enhancing usability of the electronic device, and streamlining the user-device interface, which further reduces power usage and improves battery life of the electronic device by allowing a user to use the electronic device more quickly and efficiently while reducing errors when using the device.

[0212] In some embodiments, following a determination that the determined orientation of the electronic device is valid, the position indicator includes an orientation indicator, such as orientation indicator 604 of FIG. 6A and orientation indicator 605 of FIG. 6B (e.g., displaying the orientation of the device on the position indicator if the device has orientation information).

[0213] For example, if the device has a sensor for determining the orientation of the device, such as a compass, it displays an orientation indicator. In some embodiments, the orientation indicator points in the direction the device is facing. In some embodiments, the orientation indicator is located on the location indicator at a location that corresponds to the direction the device is facing. For example, if the device is facing north, the orientation indicator is located to the north of the location indicator. In some embodiments, the size and / or shape of the orientation indicator changes based on the precision of the determined orientation. For example, the more precise the determined orientation is, the narrower the orientation indicator (e.g., narrower width, narrower angle) and the less precise the determined orientation is, the wider the orientation indicator (e.g., wider width, wider angle).

[0214] The above-described methods of displaying an orientation indicator (e.g., by displaying an orientation on a position indicator if the orientation information is available) provide orientation information to a user quickly and efficiently, thereby simplifying interaction between a user and the electronic device (e.g., without requiring the user to perform additional input to enable the orientation indicator to be displayed), enhancing usability of the electronic device, and streamlining the user-device interface, which further reduces power usage and improves battery life of the electronic device by allowing a user to use the electronic device more quickly and efficiently while reducing errors when using the device.

[0215] In some embodiments, while displaying a location indicator that includes an orientation indicator, following a determination that the location indicator includes a first location element and does not include a second location element, an orientation indicator such as orientation indicator 604 in FIG. 6A is displayed on a boundary of the first location element (e.g., if the location indicator includes the first location element, the orientation indicator is displayed along the boundary of the first location element).

[0216] In some embodiments, displaying the orientation indicator on the first positional element includes displaying an element (optionally mimicking a highlight or halo effect) along a perimeter of the first positional element (e.g., a boundary of the first positional element). In some embodiments, the shape of the orientation indicator conforms to the shape of the circumference of the first positional element. In some embodiments, the angular size of the orientation indicator is based on the precision of the determined orientation. In some embodiments, the absolute width of the orientation indicator is based on the size (e.g., radius) of the first positional indicator. For example, the angle of the orientation indicator is based on the precision of the determined orientation, and if the precision of the determined orientation remains constant, in response to a change in the size of the first positional element (e.g., in response to a zoom-in or zoom-out input), the width of the orientation indicator increases or decreases while maintaining a constant angle in order to remain displayed on the boundary of the first positional element.

[0217] In some embodiments, during display of a location indicator that includes an orientation indicator, following a determination that the location indicator includes the second location element and does not include the first location element, an orientation indicator such as orientation indicator 605 in FIG. 6B is displayed on a boundary of the second location element (e.g., if the location indicator includes the second location element, the orientation indicator is displayed on the second location element).

[0218] In some embodiments, displaying the orientation indicator on the second positional element includes displaying an element extending outward from a circumference of the second positional element (e.g., extending outward from a boundary of the second positional element). In some embodiments, while the orientation indicator is displayed on the second positional element, the orientation indicator does not change size in response to a zoom-in or zoom-out input (optionally because the second positional element does not change size in response to a zoom-in or zoom-out input). In some embodiments, the orientation indicator changes size in response to a zoom-in or zoom-out input.

[0219] The above-described method of displaying an orientation indicator (e.g., by displaying the orientation indicator on the second location element when the second location element is displayed and on the first location element when the first location element is displayed) quickly and efficiently provides orientation information to a user that is independent of location accuracy, thereby simplifying the interaction between the user and the electronic device, enhancing usability of the electronic device, and streamlining the user-device interface, which further reduces power usage and improves battery life of the electronic device by allowing a user to use the electronic device more quickly and efficiently while reducing errors when using the device.

[0220] In some embodiments, while displaying the orientation indicator on the first positional element, the orientation indicator is a first orientation indicator having a first shape as in FIG. 6A (e.g., the orientation indicator has a first visual characteristic). In some embodiments, the orientation indicator on the first positional element is in the shape of a halo along the boundary of the first positional element. In some embodiments, the height of the orientation indicator (the size of the orientation indicator in the dimension perpendicular to the center of the first positional element) is smaller than the radius of the first positional element.

[0221] In some embodiments, while displaying the orientation indicator on the second position element, the orientation indicator is a second orientation indicator having a second shape different from the first shape, such as in FIG. 6B (e.g., the orientation indicator has a second visual characteristic different from the first visual characteristic).

[0222] In some embodiments, the orientation indicator on the second position element is in the shape of a cone extending outward from the second position element. In some embodiments, the height of the orientation indicator is greater than the radius of the second position element. In some embodiments, the shape of the first orientation indicator is different from the shape of the second orientation indicator for a given zoom level. In some embodiments, the size / display area of ​​the first orientation indicator is different from the size / display area of ​​the second orientation indicator for a given zoom level.

[0223] The above-described methods of displaying an orientation indicator (e.g., by displaying the orientation indicator as a first orientation indicator when over the second location element or as a second orientation indicator when over the first location element) quickly and efficiently provide orientation information to a user that is independent of location accuracy, thereby simplifying interaction between a user and the electronic device (e.g., without requiring the user to perform additional input to switch from the first orientation indicator to the second orientation indicator when the location indicator switches from one type of location indicator to another), enhancing usability of the electronic device, and streamlining the user-device interface, which further reduces power usage and improves battery life of the electronic device by allowing a user to use the electronic device more quickly and efficiently while reducing errors in using the device.

[0224] In some embodiments, while displaying the location indicator including the orientation indicator, the electronic device receives user input via one or more input devices corresponding to a request to change the zoom level of the representation of the map, such as in FIG. 6E, to a first zoom level (e.g., while displaying the first location element, receiving user input to zoom out or in the representation of the map). In some embodiments, the user input is an inward or outward pinch gesture. In some embodiments, the user input is a selection of a zoom out affordance or a zoom in affordance. In some embodiments, the user input is a double tap followed by a downward or upward swipe gesture.

[0225] In some embodiments, in response to receiving the user input, the electronic device changes the zoom level of the representation of the map to a first zoom level (e.g., decreases or increases the zoom level according to the user input), as in Figure 6E. In some embodiments, pursuant to a determination that the location indicator includes the first location element and does not include the second location element (e.g., pursuant to a determination that the orientation indicator is displayed over the first location element), the electronic device changes the size of the orientation indicator based on the change in the zoom level of the representation of the map, as in Figure 6E (e.g., if the first location element is displayed and does not switch to displaying the second location element, the width of the orientation indicator changes when the size of the first location element changes (optionally as a result of a zoom-in or zoom-out input).

[0226] In some embodiments, the angular size of the orientation indicator is based on the precision of the determined orientation and remains constant in response to a zoom-in or zoom-out input. For example, if the angular width of the orientation indicator is 30 degrees (e.g., the device has determined that the device is oriented in a particular orientation with an accuracy of within 30 degrees), then the angular width remains 30 degrees in response to a zoom input (assuming that the accuracy does not change during that time). On the other hand, the absolute width of the orientation indicator is based on the size (e.g., radius) of the first position indicator. For example, the angle of the orientation indicator is based on the precision of the determined orientation and if the precision of the determined orientation remains constant, then in response to a change in the size of the first position element (e.g., in response to a zoom-in or zoom-out input), the width of the orientation indicator increases or decreases while maintaining a constant angle in order to remain displayed on the boundary of the first position element. For example, if the radius of the first position element increases by 25%, the circumference of the first position element increases by 30%, and therefore the width of the orientation indicator increases by 25% (e.g., to track the increase in circumference).

[0227] In some embodiments, pursuant to a determination that the location indicator includes the second location element and does not include the first location element (e.g., pursuant to a determination that the orientation indicator is displayed over the second location element), the electronic device does not perform a resize of the orientation indicator based on a change in the zoom level of the representation of the map as in Figure 6C (e.g., when the second location element is displayed and does not switch to displaying the first location element, the width of the orientation indicator does not change in response to a zoom-in or zoom-out input). In some embodiments, because the size of the second location element does not change in response to a zoom-in or zoom-out input, the size of the orientation indicator does not change.

[0228] The above-described method of displaying an orientation indicator (e.g., by varying the size of the orientation indicator when it is displayed on a first location element but not on a second location element) quickly and efficiently provides the user with appropriate orientation information that is independent of location accuracy, thereby simplifying the interaction between the user and the electronic device, enhancing usability of the electronic device, and streamlining the user-device interface, which further reduces power usage and improves battery life of the electronic device by allowing the user to use the electronic device more quickly and efficiently while reducing errors when using the device.

[0229] In some embodiments, while displaying the first location indicator, the electronic device receives user input via one or more input devices corresponding to a request to change the zoom level of the representation of the map, such as in FIG. 6E, to a first zoom level (e.g., receiving user input to zoom out or zoom in the representation of the map while displaying the first and second location elements).

[0230] In some embodiments, the user input is an inward or outward pinch gesture. In some embodiments, the user input is a selection of a zoom-out affordance or a zoom-in affordance. In some embodiments, the user input is a double-tap followed by a downward or upward swipe gesture.

[0231] In some embodiments, in response to receiving the user input, the electronic device changes the zoom level of the representation of the map to a first zoom level (e.g., decreases or increases the zoom level according to the user input), as in Figure 6E. In some embodiments, in response to determining that the location indicator includes the first location element and does not include the second location element, the electronic device changes the size of the first location element based on the change in the zoom level of the representation of the map, as in Figure 6E (e.g., when the first location element is displayed and does not switch to displaying the second location element, a radius of the first location element changes as the representation of the map zooms in or out).

[0232] In some embodiments, the radius of the orientation indicator is based on the accuracy of the determined location and is kept constant in response to a zoom-in or zoom-out input. For example, if the accuracy of the determined location is such that the geographic radius of the determined location is 300 meters, then the radius of the first location element has a size that represents 300 meters (e.g., based on the scale and / or zoom level of the map representation). Thus, upon zooming in or out, the radius of the first location element changes to always remain within the geographic radius of 300 meters.

[0233] In some embodiments, pursuant to a determination that the location indicator includes the second location element and does not include the first location element, the electronic device does not perform a resize of the second location element based on a change in the zoom level of a representation of a map such as in Figure 6C (e.g., the second location element does not change size in response to a change in the zoom level). In some embodiments, because the first location element is not displayed when the second location element is displayed, the elements of the location indicator do not change size based on a change in the zoom level when the second location element is displayed.

[0234] The above-described method of displaying a location indicator while zooming (e.g., by changing the size of the area indicator but not changing the size of the point indicator) quickly and efficiently provides relevant location information to a user as the user interacts with the map (e.g., by automatically changing the size of the area indicator to encompass a fixed area but not changing the size of the point indicator), thereby simplifying the interaction between the user and the electronic device (e.g., without causing confusion in the accuracy of the determined location when zooming in and out), enhancing the usability of the electronic device, and streamlining the user-device interface, which further reduces power usage and improves battery life of the electronic device by allowing a user to use the electronic device more quickly and efficiently while reducing errors when using the device.

[0235] In some embodiments, while displaying the orientation indicator, in accordance with a determination that the position indicator includes the first position element and does not include the second position element, the orientation indicator is a first portion of a first shape as in FIG. 6R (e.g., while the position indicator includes the first position element (e.g., an area indicator) and while the orientation indicator is displayed in the first position element, the orientation indicator includes an outer portion (e.g., a portion outside the position indicator) and an inner portion (e.g., a portion that is outside the position indicator)).

[0236] For example, the orientation indicator is optionally a cone-shaped element that extends outward from the center of the position indicator (e.g., optionally beyond the boundary of the position indicator). In some embodiments, one or more portions of the orientation indicator are not displayed or are faded out based on whether the position indicator includes a first or a second position element. Thus, the orientation indicator may have a different size and / or shape based on whether the position indicator includes a first or a second position element. For example, while displaying a first position element (e.g., an area indicator), an outer portion of the orientation indicator (e.g., a portion that is outside the first position element) is displayed like a halo around a portion of the boundary of the first position element. In some embodiments, the depth of the outer portion of the orientation indicator (e.g., the size of the orientation indicator in the outward direction) is small (e.g., smaller than the radius of the first position element). In some embodiments, an inner portion of the orientation indicator (e.g., a portion that is inside the first position element) fades out (e.g., becomes more transparent) the closer it is to the center of the first position element. For example, at a particular location within the first position element (e.g., one-third point, half point, two-thirds point), the interior portion of the orientation indicator is fully transparent such that it is no longer displayed. In some embodiments, the interior portion of the orientation indicator fades inward (e.g., becomes gradually transparent) from the boundary of the first position indicator to the particular location of the first position element.

[0237] In some embodiments, following a determination that the position indicator includes the second position element and does not include the first position element, the orientation indicator is a second portion of the first shape that is different from the first portion of the first shape, such as in FIG. 6O (e.g., the position indicator includes the second position element and does not include the first position element, and while the orientation indicator is displayed on the second position element, the orientation indicator includes an outer portion and does not include an inner portion).

[0238] Thus, in some embodiments, the orientation indicator is displayed as a cone-shaped element extending outward from the boundary of the second position element. In some embodiments, the shape of the orientation indicator is the same shape as if the position indicator included the first position element, but different portions are displayed and different portions are not displayed (e.g., compared to when the orientation indicator is displayed in the first position element). For example, an outer portion of the orientation indicator extends outward from the boundary of the second position element in a similar manner as an inner portion of the orientation indicator extends outward from the center of the first position element. In some embodiments, the orientation indicator does not fade (e.g., becomes opaque) the closer it is to the boundary of the second position element. Thus, as described above, while the orientation indicator is displayed on a first positional element, portions of the orientation indicator closer to the center of the position indicator are faded out and portions of the orientation indicator further from the center of the position indicator are displayed (e.g., based on the total radius of the first positional element), but while the orientation indicator is displayed on a second positional element, portions of the orientation indicator closer to the center of the position indicator are displayed and portions of the orientation indicator further from the center of the position indicator are optionally not displayed (e.g., the total displayed "length" of the orientation indicator is predetermined and / or fixed and is not based on the radius of the second positional element). Thus, depending on whether the orientation indicator is displayed on a first or second positional element (and, optionally, the size of the first positional element), various portions of the orientation indicator are displayed while other portions are not displayed (or are, for example, optionally faded out).

[0239] The above-described method of displaying an orientation indicator (e.g., by displaying the orientation indicator with a first portion when displayed on a first location element and with a second portion when displayed on a second location element) quickly and efficiently provides orientation information to a user that is independent of location accuracy (e.g., by automatically adjusting visual characteristics of the orientation indicator to maintain visibility of the orientation indicator as the location indicator changes), thereby simplifying interaction between a user and the electronic device (e.g., without requiring the user to perform additional input to switch from one display style of the orientation indicator to another display style of the orientation indicator each time the location indicator changes), enhancing usability of the electronic device, and streamlining the user-device interface, which further reduces power usage and improves battery life of the electronic device by allowing a user to use the electronic device more quickly and efficiently while reducing errors in using the device.

[0240] In some embodiments, the electronic device displays a representation of a user of the electronic device (e.g., an icon, graphic, or other suitable representation of the user on a representation of a map), such as user icon 614 of FIG. 6P, along with the location indicator.

[0241] In some embodiments, the representation is displayed at or near the location indicator. In some embodiments, the representation of the user is a circular element. In some embodiments, the representation includes an indication that the representation is associated with the location indicator (e.g., an arrow, an element pointing at the location indicator). In some embodiments, the representation of the user is displayed in response to a user input selecting the location indicator. In some embodiments, in response to a user input selecting the location indicator, a user interface associated with the device's current location is displayed simultaneously with the representation of the user. In some embodiments, the user interface associated with the device's current location provides information about the device's determined current location, such as an address, longitude and latitude values, and / or a photo of the location. In some embodiments, the user interface associated with the device's current location includes one or more options associated with the device's current location, such as an option that can be selected to mark the location (e.g., save the location for future access), an option to share the location with another user or device, and / or an option to improve the location of the electronic device (e.g., as described below with respect to method 900). In some embodiments, the user's representation is displayed only if the location indicator meets one or more criteria. For example, if the location indicator includes the second location element and does not include the first location element, selection of the location indicator causes display of a representation of the user (and, optionally, a user interface associated with the device's current location). However, if the location indicator includes the first location element and does not include the second location element, a size and / or transparency value of the first location element optionally determines whether selection of the location indicator causes display of a representation of the user (and, optionally, a user interface associated with the device's current location).For example, if the size of the first location indicator exceeds a threshold size and / or the transparency of the first location indicator exceeds a threshold transparency level (e.g., because the size exceeds the threshold size), selection of the first location indicator does not cause display of a representation of the user (and, optionally, does not cause display of a user interface associated with the device's current location). On the other hand, if the size of the first location indicator is less than the threshold size and / or the transparency of the first location indicator is less than the threshold transparency level, selection of the first location indicator (e.g., any portion of the first location indicator, the center of the first location indicator, etc.) causes display of a representation of the user (and, optionally, a user interface associated with the device's current location).

[0242] In some embodiments, following a determination that the accuracy of the determined location of the electronic device exceeds a respective threshold level for a respective zoom level (e.g., the location indicator includes the second location element but not the first location element), a representation of the user of the electronic device is displayed along with a respective user interface element that links the representation of the user of the electronic device to a respective location on the representation of the map (e.g., the user's representation includes an element that associates the user's representation with the location indicator), such as a triangular element on the user icon 614 pointing toward the location indicator 602 in FIG. 6P.

[0243] For example, the user's representation includes a portion extending outward from the representation that points toward the location indicator (e.g., pointing toward a second location element). In some embodiments, the user's representation is displayed near the location indicator (e.g., above, below, to the left, or to the right of the location indicator).

[0244] In some embodiments, following a determination that the accuracy of the determined location of the electronic device is below a respective threshold level for a respective zoom level (e.g., the location indicator includes a first location element but not a second location element), a representation of the user of the electronic device is displayed without a respective user interface element (e.g., the representation of the user does not include an element extending outwardly pointing toward the location indicator), such as user icon 614 that does not include the triangular element of FIG. 6R.

[0245] In some embodiments, the user's representation is displayed inside the first location element. For example, the user's representation is displayed at the center of the first location element. In some embodiments, in response to the location indicator changing from including the first element to including the second element, the user's representation transitions from not including the individual user interface element (e.g., pointing towards the location indicator) to including the individual user interface element (and, optionally, moving from being displayed inside the location indicator to being displayed outside and / or visually distant from the location indicator). In some embodiments, in response to the location indicator changing from including the second element to including the first element, the user's representation transitions from including the individual user interface element to not including the individual user interface element (and, optionally, moving from being displayed outside and / or visually distant from the location indicator to being displayed inside the location indicator). As described above, the location indicator transitions from including the first location element to including the second location element (or vice versa) in response to the user zooming in or out of the representation of the map. In some embodiments, if the user's representation is displayed when a request to zoom in or out on the map representation is received, the display of the user's representation is maintained. In some embodiments, the display of the user's representation is maintained even if the map representation is zoomed to an extent that the first location indicator exceeds a threshold size (e.g., selection of the first location indicator does not cause the user's representation to be displayed). Thus, if the user's representation is displayed, zooming in or out maintains the display of the user's representation even if selection of a location indicator at a particular zoom level would not otherwise cause the user's representation to be displayed.

[0246] The above-described methods of displaying a representation of a user (e.g., using a location indicator and an element that links the representation to the location indicator based on whether the location indicator includes a first location element or a second location element) quickly and efficiently indicate that the indicator represents the user's current location (e.g., by automatically transitioning to include an element that links the user's representation to the location indicator when the location indicator changes from a state including the first location element or a state including the second location element), thereby simplifying interaction between the user and the electronic device, enhancing usability of the electronic device, and streamlining the user-device interface, which further reduces power usage and improves battery life of the electronic device by allowing a user to use the electronic device more quickly and efficiently while reducing errors when using the device.

[0247] It should be understood that the particular order described for the operations in FIG. 7 is merely exemplary, and the order described is not intended to indicate that the operations are the only order in which they can be performed. Those skilled in the art will recognize various ways to reorder the operations described herein. It should also be noted that other process details described herein with respect to other methods described herein (e.g., method 900) are also applicable in a similar manner to method 700 described above with respect to FIG. 7. For example, the operation of the electronic device to indicate the current location of the electronic device described above with reference to method 700 optionally has one or more of the characteristics that improve the accuracy of the determined location of the electronic device described herein with reference to other methods described herein (e.g., method 900). For the sake of brevity, those details will not be repeated here.

[0248] The operations in the information processing methods described above are optionally performed by executing one or more functional modules in an information processing device, such as a general-purpose processor or an application specific chip (e.g., as described with respect to FIGS. 1A-1B, 3, 5A-5B). Additionally, the operations described above with reference to FIG. 7 are optionally performed by the components shown in FIGS. 1A-1B. For example, display operation 702 is optionally performed by event sorter 170, event recognizer 180, and event handler 190. Event monitor 171 in event sorter 170 detects a contact on touch-sensitive surface 604, and event dispatcher module 174 sends the event information to application 136-1. Each event recognizer 180 of application 136-1 compares the event information to a respective event definition 186 to determine whether a first contact at a first location on the touch-sensitive surface corresponds to a predefined event or sub-event, such as a selection of an object on a user interface. When a corresponding predefined event or sub-event is detected, the event recognizer 180 activates an event handler 190 associated with the detection of that event or sub-event. The event handler 190 optionally utilizes or calls a data updater 176 or an object updater 177 to update the application internal state 192. In some embodiments, the event handler 190 accesses a corresponding GUI updater 178 to update what is displayed by the application. Similarly, it will be clear to one skilled in the art how other processes can be implemented based on the components shown in FIGS. 1A-1B. Improved accuracy of device location determination

[0249] A user interacts with an electronic device in many different ways, including using the electronic device to view and find geographic locations on a map. In some embodiments, a user can view the determined location of the electronic device on a map. The embodiments described below provide ways to improve the accuracy of the determined location of the electronic device, thereby enhancing user interaction with the electronic device. Enhancing interaction with the device reduces the amount of time a user needs to perform an action, thus reducing the power usage of the device and increasing battery life for battery-powered devices.

[0250] 8A-8S illustrate example methods for improving the accuracy of an determined position of an electronic device according to some embodiments of the present disclosure. The embodiments in these figures are used to illustrate the processes described below, including the process described with reference to FIG.

[0251] 8A illustrates electronic device 500 displaying a user interface 800 (e.g., via a display device, via a display generating component, etc.). In some embodiments, user interface 800 is displayed via a display generating component. In some embodiments, the display generating component is a hardware component (e.g., including electrical components) capable of receiving display data and displaying the user interface. In some embodiments, examples of display generating components include a touch screen display, a monitor, a television, a projector, an integrated, separate, or external display device, or any other suitable display device in communication with device 500.

[0252] In some embodiments, user interface 800 is a user interface for a map application (e.g., an application in which a user can view geographic locations, locate locations, and / or request directions from one location to another, similar to the map application described above with respect to FIG. 6A ). In some embodiments, the map application is an application installed on device 500.

[0253] In some embodiments, the user interface 800 includes a representation of a map that provides directions to the determined current location of the electronic device. In FIG. 8A, the accuracy 806 of the determined location of the device exceeds a threshold 808 for the current zoom level, and thus the user interface 800 includes a location indicator 802 (e.g., a point indicator as described above with respect to method 700). As shown in FIG. 8A, because the user interface 800 displays a point indicator (e.g., the location indicator 802), the device 500 does not display an affordance for improving the location accuracy of the device, as described in more detail below. In some embodiments, the user interface 800 does not display an area indicator (e.g., the location indicator 810), but the device 500 does display an affordance. For example, instead of displaying the location indicator 802, the device 500 displays an affordance (e.g., an affordance 812, described below with respect to FIG. 8B, etc.) at a location where the location indicator 802 would otherwise be displayed (e.g., an affordance is displayed as a location indicator and / or at the location of the location indicator 802).

[0254] 8B illustrates an embodiment in which the location accuracy 806 is below a threshold level 808 for the map's current zoom level. In some embodiments, because the location accuracy 806 is below the threshold level 808 for the map's current zoom level, the device 500 displays a location indicator 810 (e.g., similar to location indicator 602 described above with respect to FIG. 6A) that corresponds to a region indicator. Thus, as shown in FIG. 8B, the device 500 cannot determine a precise (e.g., single) location of the device 500, but can only determine that the device is within a particular geographic region based on the current determination accuracy. Aspects of the location indicator 810 and the orientation indicator 804 are, optionally, as described above with reference to FIGS. 6A-6T and method 700.

[0255] In FIG. 8B , affordance 812 is displayed within (e.g., centered on) location indicator 810. In some embodiments, affordance 812 can be selected to initiate a process of improving the device's indexed location, as described in more detail below. As shown in FIG. 8B , affordance 812 is an arrow or arrowhead icon. In some embodiments, affordance 812 is oriented in the device's indexed orientation (e.g., northwest in the embodiment shown in FIG. 8B ). In some embodiments, affordance 812 is a fixed graphic and does not dynamically change orientation.

[0256] In some embodiments, the process of refining the determined position of the device initiated in response to the selection of affordance 812 is a different process than the process used to originally determine the position of the device that resulted in the position with precision 806. Thus, the process of refining the determined position of the device initiated in response to the selection of affordance 812 may increase the precision of the determined position and refine the determined position further than is currently displayed.

[0257] In some embodiments, as described in more detail below, the process of improving the determined location of the device includes analyzing one or more images captured by one or more cameras of device 500, identifying one or more elements (e.g., objects, buildings, signs, businesses, landmarks, features (known in the field of computer vision), and / or any other specific points), and comparing the list of identified elements to a list of identified elements in one or more previously captured images (e.g., the list of identified elements in one or more previously captured images may be pre-generated or analyzed (prior to displaying affordance 812), reviewed by a device other than device 500, and transmitted to device 500 as part of the process of improving the determined location of device 500). In some embodiments, the process of improving the determined location of the device may additionally or alternatively include comparing one or more images captured by one or more cameras of device 500 to one or more previously captured images to determine whether the captured images match the previously captured images. In some embodiments, the process of determining a location with the first accuracy 806 does not include such a comparison of images or elements within images (but rather includes, for example, GPS and / or cellular and / or Wi-Fi based location determination techniques).

[0258] In some embodiments, the affordance 812 is displayed in FIG. 8B only if one or more criteria are met. In some embodiments, the one or more criteria include a requirement that the precision 806 is less than a threshold level 808 for the current zoom level (e.g., as shown in FIG. 8B). In some embodiments, the threshold level 808 is a threshold level that determines whether to display a point indicator or a region indicator, as described above with respect to method 700 (e.g., threshold level 608 described in FIGS. 6A-6N). For example, the requirement that the precision 806 is less than a threshold level 808 for the current zoom level is met when a region indicator is displayed (e.g., when the precision is less than a threshold) and is not met when a point indicator is displayed (e.g., when the precision is greater than a threshold). In some embodiments, the threshold level 808 is a different threshold level than the threshold level that determines whether to display a point indicator or a region indicator. For example, the requirement that the precision 806 is less than a threshold level 808 for the current zoom level may be met even when a point indicator is displayed, and the requirement that the precision 806 is less than a threshold level 808 for the current zoom level may not be met even when a region indicator is displayed.

[0259] In some embodiments, the one or more criteria include geographic criteria that are met when the device is determined to be located at or within a particular predefined geographic location. For example, the predefined geographic locations optionally include locations for which photo information (e.g., a list of identified elements as described above) is available for each location. In some embodiments, the photo information can be utilized if the map application (or map server) has access to one or more images or photos previously captured by the camera. In some embodiments, the previously captured images are captured by a third party and maintained on a server (e.g., external to device 500). The previously captured images are taken from roads and sidewalks and include images of roads, signs, buildings, businesses, stores, and other recognizable landmarks.

[0260] In some embodiments, the one or more criteria include a requirement that camera clarity exceed a predetermined level. For example, if one or more images captured by one or more cameras of device 500 fall within a predetermined clarity level (e.g., the ability to capture sufficient detail or sufficient quality), the camera clarity requirement is met. In some embodiments, the camera clarity criteria include a time of day requirement (e.g., the current date and time is within a predetermined time window). For example, the predetermined time window includes daytime hours and does not include nighttime hours (e.g., from sunrise to sunset). In some embodiments, the predetermined time window begins 30 minutes before sunrise and ends 30 minutes after sunset. In some embodiments, other time windows are possible.

[0261] In some embodiments, the camera clarity criteria includes a requirement that the amount of ambient light be above a threshold level. In some embodiments, requiring a threshold amount of ambient light ensures that images captured by one or more cameras of device 500 contain sufficient detail of objects surrounding device 500. In some embodiments, the amount of ambient light may be determined using an ambient light sensor and / or by analyzing images captured by one or more cameras of device 500 to determine whether there is sufficient brightness, contrast, detail, and / or clarity.

[0262] In some embodiments, the camera clarity requirement includes a requirement that the current weather is conducive to clear camera shots. For example, if the current weather includes heavy fog or overcast skies, images captured by one or more cameras of device 500 may not provide sufficient clarity, and thus the camera clarity requirement is not met. Conversely, if the current weather includes clear skies, the camera clarity requirement is optionally met.

[0263] In some embodiments, the camera clarity criteria include any one of a time of day requirement, an ambient light requirement, and a weather requirement, or any combination of the above (e.g., a time of day requirement, two of the three requirements, or all three requirements).

[0264] In some embodiments, the one or more criteria are met if all three of the above criteria (e.g., the geographic requirement, the camera clarity requirement, and the accuracy requirement) are met. In some embodiments, the one or more criteria are not met if any of the above three criteria are not met. In some embodiments, the one or more criteria may include more or less requirements than those described herein.

[0265] As shown in Figure 8B, the requirement that accuracy 806 be below a threshold level 808 is met, the geographic criterion is met, and the time criterion is met (or, for example, an ambient light criterion or a camera clarity requirement, as described in more detail below). Thus, in response to one or more criteria being met, user interface 800 includes an affordance 812 at the center of location indicator 810. It is understood that the location of affordance 812 shown in Figure 8B is merely exemplary, and that affordance 812 may be located anywhere within user interface 800 (e.g., an affordance displayed simultaneously with the location indicator).

[0266] 8C illustrates an embodiment in which the time criteria is met and the requirement that accuracy 806 is below threshold level 808 is met, but the geographic criteria is not met (e.g., because device 500 is determined to be in a location in which no photographic information is available for use in the process of improving the device's determined location, such as a list of identified elements of the individual location and / or previously taken images). In some embodiments, because the geographic criteria is not met, affordance 812 is not displayed in user interface 800, even though the geographic criteria and the requirement that accuracy 806 is below threshold level 808 are met.

[0267] 8D illustrates an embodiment in which the geographic criteria are met and the requirement that accuracy 806 is below threshold level 808 is met, but the time of day criteria is not met (e.g., because the current time at device 500 is after sunset or before sunrise). In some embodiments, affordance 812 is not displayed in user interface 800 even though the geographic criteria and the requirement that accuracy 806 is below threshold level 808 are met, because the time criterion is not met. Although FIG. 8D illustrates a state in which the time criterion is not met, causing affordance 812 to not be displayed, in some embodiments, a camera clarity criterion (which, in some embodiments, optionally includes a time criterion) can be used instead of the time criterion. For example, if the requirement that accuracy 806 is below threshold level 808 is met but the clarity criterion is not met, affordance 812 is not displayed (and if the camera clarity criterion, geographic criteria, and the requirement that accuracy 806 is below threshold level 808 are all met, affordance 812 is displayed). Thus, in the embodiment shown in FIGS. 8C and 8D, the user interface 800 includes a location indicator 810 that does not include an affordance 812.

[0268] In Figure 8E, while displaying location indicator 810 and affordance 812 (e.g., one or more criteria are met, as in Figure 8B), user input 803 is received that selects affordance 812 (e.g., a tap input on touch screen 504 at the location of affordance 812). In some embodiments, in response to receiving user input 803, device 500 begins a process of improving the determined location of device 500, as shown in Figure 8F.

[0269] In FIG. 8F , device 500 displays user interface 814. In some embodiments, user interface 814 is overlaid on a portion of user interface 800 (e.g., a bottom portion of user interface 800). In some embodiments, user interface 800, still including location indicator 810 and orientation indicator 804, is updated during the process of improving the location accuracy of device 500, described below. In some embodiments, user interface 814 includes instructions to guide the user through the process of improving the location accuracy of the device's map application. In some embodiments, user interface 814 includes an exit affordance 816 that can be selected to dismiss user interface 814 and cancel the process of improving the location accuracy of the device's map application. In some embodiments, user interface 814 includes text instructions 818 and a graphic 820. In some embodiments, graphic 820 is a still image or an animation that represents the instructions described by text instructions 818. In FIG. 8F, text instructions 818 instruct the user to scan for buildings around device 500 (e.g., across the street), and graphic 820 is an animation of a phone moving laterally across a street. In some embodiments, graphic 820 includes a pre-drawn representation of buildings or houses (e.g., a street). In some embodiments, the displayed graphic, e.g., graphic 820, is not a representation of the actual environment captured by one or more cameras of device 500. For example, graph 820 may not include a live camera view. Thus, while performing a process of improving the determined location of the device, in some embodiments, device 500 does not display a representation or view of an image captured by one or more cameras of device 500.

[0270] As described above, the process of improving the determined location of the device includes capturing one or more images with one or more cameras of device 500, analyzing the one or more images to identify one or more elements (e.g., objects, buildings, signs, businesses, landmarks, and / or any other particular points), and comparing the list of identified elements to a list of identified elements in one or more previously captured images. In some embodiments, the list of identified elements in the one or more previously captured images is pre-generated (e.g., by a server external to device 500). In some embodiments, the one or more previously captured images are analyzed by device 500 (or, optionally, a server external to device 500) as part of the process of improving the determined location of the device. In some embodiments, if a threshold number of elements in the list of identified elements match objects in the previously captured image (e.g., a match of 30%, 50%, 75%, 90%, 95%, 99%, etc. of the objects), device 500 can determine that device 500 is currently in the geographic location associated with the previously captured image. Thus, in some embodiments, if the elements in the list of identifying features match a sufficient amount of objects in the list of identified features in the previously captured image, device 500 can determine that device 500 is at or near the coded location in the respective previously captured image(s). In some embodiments, the more elements that match the elements in the previously captured image, device 500 can narrow down the location of device 500. As described below, if device 500 can determine the location of the device in an area less than a threshold (e.g., less than 100 square feet, less than 2500 square feet, less than 10,000 square feet, less than 50,000 square feet, etc.) with a threshold or higher confidence (e.g., 80% certainty, 90% certainty, 95% certainty, 99% certainty, etc.), the process of improving the device's determined location ends and device 500 updates the location indicator (e.g., its type, its location on the map, etc.) to reflect the newly determined location.

[0271] In some embodiments, during the process, device 500 continuously captures images using one or more cameras of device 500. In some embodiments, device 500 captures images at a predetermined periodicity (e.g., every 0.5 seconds, every 1 second, every 3 seconds, every 5 seconds, etc.).

[0272] In some embodiments, the process additionally or alternatively includes taking one or more images and comparing the images against one or more previously captured images of the area around device 500. In some embodiments, device 500 analyzes the image and compares the image against the previously captured images to determine whether the captured image matches all or a portion of the previously captured images. In some embodiments, the comparison is performed on device 500. In some embodiments, device 500 downloads one or more previously captured images when a user initiates a process to improve the determined position of the device. In some embodiments, device 500 downloaded the previously captured images before the user initiated the process. In some embodiments, the comparison is performed on a server or device external to device 500, and device 500 optionally transmits one or more captured images to the server or external device.

[0273] In some embodiments, based on the results of the comparison, device 500 can determine the location of device 500. For example, if the captured image matches a threshold amount (e.g., 2 images, 3 images, 5 images, etc.) of previously captured images taken at a distinct geographic location, device 500 determines that device 500 is currently at that distinct geographic location. In some embodiments, previously captured images are coded with GPS coordinates (or optionally other types of location information). Thus, if an image captured by a camera of device 500 matches a sufficient amount of previously captured images, device 500 can determine that device 500 is at or near a location coded in the distinct previously captured images. In some embodiments, when multiple images match multiple previously captured images, device 500 can narrow down the location of device 500. As described below, if device 500 is able to determine the device's location within an area less than a threshold (e.g., less than 100 square feet, less than 2500 square feet, less than 10,000 square feet, less than 50,000 square feet, etc.) with a confidence level equal to or greater than a threshold (e.g., 80% certainty, 90% certainty, 95% certainty, 99% certainty, etc.), the process of improving the device's determined location ends and device 500 updates its location indicators (e.g., its type, its location on the map, etc.) to reflect the newly determined location.

[0274] As described herein, the process of improving the determined location of the device includes either the photo comparison process described above, the element comparison process described above, or a combination of the two processes. In some embodiments, other methods are possible for determining whether one or more captured images by one or more cameras of device 500 correlate with one or more previously captured images (e.g., in addition to or instead of the processes described above). Similarly, any of the processes described above can be performed by device 500, by a server external to device 500, or by a combination thereof.

[0275] 8G illustrates a graphic 820 animated to show a representation of a mobile device moving across the graphic. In some embodiments, the animation of the graphic 820 provides visual instructions to the user (e.g., in addition to the text description 818). Thus, in some embodiments, the user is instructed to move or rotate the device 500 so that one or more cameras of the device 500 can capture multiple views of the environment around the device 500. In some embodiments, the graphic 820 animates the device in motion, regardless of whether the device 500 is actually moving or rotating.

[0276] FIG. 8H shows device 500 elevated so that one or more cameras (e.g., optionally front-facing cameras) of device 500 face an environment 822 near device 500 (e.g., across a road). In some embodiments, environment 822 includes one or more buildings, as shown in FIG. 8H. In FIG. 8H, user interface 800 includes an orientation indicator 804 (e.g., similar to orientation indicator 604 described above with respect to FIG. 6A) that indicates the orientation of device 500. In FIG. 8H, orientation indicator 804 tracks the orientation of device 500 as the user moves device 500 to scan buildings and / or environments). Thus, in FIG. 8H, orientation indicator 804 faces northwest. As shown in FIG. 8H, an image of environment 822 is not displayed in user interface 800 or user interface 814.

[0277] FIGURE 8I illustrates device 500 rotated to continue photographing buildings or other landmarks in environment 822 (e.g., moved or rotated to the right to photograph a lower building in environment 822). In some embodiments, in response to determining that device 500 has been rotated or in response to determining that the orientation of device 500 has changed, orientation indicator 804 is updated to reflect the change in orientation, as shown in FIGURE 8I. For example, in FIGURE 8I, orientation indicator 804 has been updated to indicate that device 500 is facing northeast. As shown in FIGURE 8I, an image of environment 822 is not displayed in user interface 800 or user interface 814.

[0278] 8J-8N illustrate a user interface 814 that updates a text description 818 and / or a graphic 820 to provide additional instructions to the user (e.g., based on the determined orientation and / or movement of the device 500 during the process of improving the position). In FIG. 8J, the device 500 is facing down. In some embodiments, the device 500 determines that the device 500 is facing down (e.g., the orientation of the device's y-axis or pitch axis is below horizontal by more than a threshold amount, such as 10 degrees, 30 degrees, 45 degrees, etc.) and cannot adequately capture landmarks in the environment 822 with its one or more cameras. In some embodiments, the device 500 includes one or more sensors, such as a gyroscope or compass, to determine that the device 500 is facing down. In some embodiments, the device 500 analyzes images captured by one or more cameras of the device 500 and determines that the device 500 is facing down. In some embodiments, in response to determining that device 500 is facing down, text instructions 818 are updated to instruct the user to lift device 500 to face a building in environment 822, as shown in Figure 8J. In some embodiments, graphic 820 is updated to show an animation of the device being lifted in graphic 820 to face a streetscape (e.g., the device in graphic 820 is facing down and moving upward to face a streetscape). As shown in Figure 8J, an image of environment 822 is not displayed in user interface 800 or user interface 814.

[0279] In FIG. 8K, device 500 is facing up and device 500 determines that the device is facing up (e.g., the orientation of the device's y-axis or pitch axis is above horizontal by more than a threshold amount, such as 10 degrees, 30 degrees, 45 degrees, etc.). In some embodiments, in response to determining that the device is facing up, text instructions 818 are updated to instruct the user to lower device 500 to face a building in environment 822, as shown in FIG. 8K. In some embodiments, graphic 820 is updated to show an animation of the device being lowered in graphic 820 toward a streetscape (e.g., the device in graphic 820 is facing up and moving downward to face the streetscape). As shown in FIG. 8K, an image of environment 822 is not displayed in user interface 800 or user interface 814.

[0280] In FIG. 8L, device 500 determines that device 500 is rotating or moving too quickly to properly capture an image of environment 822 (e.g., the captured image is blurry or a gyroscope in device 500 determines that device 500 is moving too fast). In some embodiments, in response to determining that device 500 is rotating or moving too quickly, text description 818 is updated to instruct the user to move device 500 more slowly, as shown in FIG. 8L. In some embodiments, graphic 820 is updated to display an animation of device 500 moving slowly across the screen, e.g., a displayed cityscape. As shown in FIG. 8L, the image of environment 822 is not displayed in user interface 800 or user interface 814.

[0281] In FIG. 8M, device 500 determines that device 500 is changing position (e.g., x, y position), thus preventing device 500 from identifying a single position. In some embodiments, device 500 can determine which position device 500 is changing based on one or more motion sensors (e.g., accelerometer, gyroscope, compass, etc.) in device 500, location sensors (e.g., GPS, cellular, Wi-Fi) in device 500, and / or results that provide a change in position. In some embodiments, in response to determining that device 500 is changing position, text description 818 is updated to instruct the user to remain still while taking one or more shots, as shown in FIG. 8M. In some embodiments, graphic 820 is updated to animate device 500 remaining in one position and rotating left or right.

[0282] In some embodiments, when device 500 determines (e.g., based on one or more motion sensors) that device 500 is not being held steady enough to clearly capture environment 822, text description 818 is updated to instruct the user to remain still while taking one or more captures, as shown in Figure 8M. Thus, in some embodiments, in response to a determination that the device is changing position, moving erratically, etc., text description 818 and / or graphic 820 instruct the user to remain still while taking captures. As shown in Figure 8M, an image of environment 822 is not displayed in user interface 800 or user interface 814.

[0283] In FIG. 8N, device 500 determines that insufficient environment 822 has been captured to enable device 500 to determine the location of device 500. In some embodiments, in response to determining that insufficient environment 822 has been captured, text description 818 is updated to provide feedback to the user to determine the location of the device, such as, for example, directing the user to scan different buildings in environment 822. In some embodiments, graphic 820 is updated in response to a new view of the camera. For example, the camera may include more buildings in its field of view, so graphic 820 may include more buildings in the streetscape (optionally reducing the size of the streetscape) and show the device moving across the newly added buildings. In some embodiments, graphic 820 displays a streetscape animated to include more buildings, regardless of whether the camera is capturing more or fewer buildings or a new view. As shown in FIG. 8N, an image of environment 822 is not displayed in user interface 800 or user interface 814.

[0284] In some embodiments, in response to a determination that insufficient environment 822 has been captured, instead of displaying the text description 818 set forth in FIG. 8N, the instructions illustrated in 8I are displayed to the user for a threshold time, after which instructions to scan various buildings within environment 822 (e.g., as in FIG. 8N) are displayed, optionally until different instructions are provided to the user (e.g., according to the criteria described above) (e.g., after displaying the instructions shown in FIG. 8I for 2 seconds, 3 seconds, 5 seconds, 8 seconds, 10 seconds, etc., the instructions are replaced with those shown in FIG. 8N, regardless of whether sufficient environment 822 has been captured).

[0285] Thus, as described above, device 500 may update text instructions 818 and / or graphics 820 to provide updated instructions based on adjustments required to successfully complete the process of improving the determined location of device 500. It is understood that text instructions other than those described above are possible based on the status of the image capture and / or comparison process. It is also understood that some or all of the text instructions described above are optional and need not be displayed to the user. For example, the text instruction "Stay Still" need not be shown to the user, and device 500 may optionally successfully perform the process of improving the determined location of device 500 (e.g., without requiring the user to stop moving or change scanning behavior) even if device 500 determines that the user is changing location. In some embodiments, in response to successful completion of the process of improving the determined location of device 500, user interface 814 is released and the location indicator switches from location indicator 810 (e.g., area indicator) to location indicator 804 (e.g., point indicator). In some embodiments, in response to successful completion of the process of improving the determined location of device 500, the location indicator switches to a user interface element different from location indicator 810 or location indicator 804, corresponding to the improved device location (e.g., optionally indicating that the device's location has been determined using the process described above). As shown in FIG. 8O, the location of location indicator 804 (e.g., determined more accurately by the process described with reference to FIGS. 8E-8N) may not be the center of the location where location indicator 810 was previously displayed (e.g., based on the location determined by the process described above). In FIG. 8O, as a result of the process described above, precision 806 increases to a high level (optionally above threshold level 808). This is why device 500 optionally switched from displaying location indicator 810 to displaying location indicator 802 (e.g., as described with reference to method 700).In some embodiments, if the accuracy 806 does not increase beyond the threshold level 808 (e.g., if the map is zoomed in very far), the device 500 optionally maintains the display of the location indicator 810 (e.g., optionally at a smaller size to reflect the increased accuracy).

[0286] It will be appreciated that the above process for improving the determined position of the device may additionally or alternatively improve the determined orientation of the device. For example, device 500 may determine the orientation of the device based on the comparison and calibrate one or more orientation sensors accordingly to improve the accuracy of the device's orientation (and, for example, optionally reduce the angle of the orientation indicator accordingly).

[0287] 8P-8S illustrate an embodiment in which a process of improving the determined location of device 500 is initiated even if the requirement 806 that precision 806 is below threshold level 808 of the current zoom level is not met. In FIG. 8P, precision 806 is below threshold level 808 of the current zoom level. In some embodiments, in response to precision 806 being below threshold level 808 of the current zoom level, the user interface includes indicator 810 (e.g., as in FIG. 6E). Thus, the requirement that precision 806 is below threshold level 808 of the current zoom level is met. In FIG. 8P, the geographic and time criteria are also met. In some embodiments, because the requirement that precision 806 is below threshold level 808 of the current zoom level is met, the geographic criteria are met, and the time is met, affordance 812 is displayed, as shown in FIG. 8P.

[0288] In FIG. 8Q, precision 806 remains constant and user input 803 corresponding to an inward pinch gesture (e.g., a request to zoom out) is received. In some embodiments, in response to the request to zoom out of the map, threshold level 808 is decreased below precision 806 (e.g., compared to FIG. 8P). In some embodiments, in response to precision 806 exceeding threshold level 808, device 500 replaces location indicator 810 with location indicator 802. In some embodiments, due to the map zooming out, the requirement that precision 806 be below threshold level 808 for the current zoom level is no longer met. In response to the requirement that precision 806 be below threshold level 808 for the current zoom level no longer being met, affordance 812 is removed from the display in user interface 800, as shown in FIG. 8Q.

[0289] In FIG. 8R, user input 803 is received that selects location indicator 802 (e.g., a tap on touch screen 504 at the location of location indicator 802). In some embodiments, in response to user input 803, device 500 displays user interface 824, as shown in FIG. 8S. In some embodiments, user interface 824 is overlaid or superimposed on user interface 800. In some embodiments, user interface 824 displays information about the device's current location. In some embodiments, user interface 824 includes an address corresponding to the device's current location. In some embodiments, user interface 824 includes an affordance 826 for marking the device's current location and an affordance 828 for sharing the device's current location with another user or device. In some embodiments, user interface 824 includes an image 832 that corresponds to a previously captured image of the device's current location from ground level or road level. In some embodiments, user interface 824 includes an affordance 830 that can be selected (e.g., via user input 803, etc.) to initiate a process of improving the device's determined location. Thus, although the requirement that accuracy 806 be below the threshold level 808 for the current zoom level is not met, the user may initiate a process of improving the determined position of the device via affordances 830 displayed on the user interface 824 (e.g., as described with reference to Figures 8F-8N).

[0290] In some embodiments, other ways of initiating a process of improving the determined location of the device are possible even if not all criteria are met. In some embodiments, certain criteria must be met before a user can initiate a process of improving the determined location of the device (e.g., affordance 812, affordance 830, or any other). For example, if any of the geographic and time criteria are not met, the process of improving the determined location of the device is optionally not available by any means (affordance 830 is optionally not displayed in user interface 824).

[0291] 9 is a flow diagram illustrating a method 900 for improving accuracy of an determined position of an electronic device according to some embodiments of the present disclosure. The method 900 is optionally performed in an electronic device such as device 100, device 300, device 500, and device 511 as described above with reference to Figures 1A-1B, 2-3, 4A-4B, and 5A-5B. Some operations of the method 900 are optionally combined and / or the order of some operations is optionally changed.

[0292] As described below, method 900 provides a way to improve the accuracy of an determined location of an electronic device. This method reduces the cognitive burden on a user when interacting with a user interface of a device of the present disclosure, thereby creating a more efficient human-machine interface. For battery-operated electronic devices, improving the efficiency of the user's interaction with the user interface conserves power and increases the time between battery charges.

[0293] In some embodiments, the electronic device 500 in communication with the display generating component displays (902) a map user interface, such as the user interface 800 of FIG. 8A , via the display generating component (e.g., a mobile device (e.g., a tablet, smartphone, media player, or wearable device) or a computer in communication with one or more of a mouse (e.g., external), a trackpad (optionally integrated or external), a touchpad (optionally integrated or external), a remote control device (e.g., external), another mobile device (e.g., separate from the electronic device), a handheld device (e.g., external), and / or a controller (e.g., external), etc.).

[0294] In some embodiments, the display generating component is an external display, such as a display integral to the electronic device (optionally a touch screen display), a monitor, projector, television, or a hardware component (optionally integral or external) for projecting the user interface or making the user interface visible to one or more users.

[0295] In some embodiments, the map user interface includes a representation of a map (904) (e.g., a map of individual geographic locations as described above with respect to method 700) and a location indicator (906) that indicates an determined location of the electronic device on the representation of the map, such as location indicator 802 in FIG. 8A (e.g., the representation of the map includes an indicator that indicates the location of the electronic device).

[0296] In some embodiments, the map displays the geographic location of the user. In some embodiments, the representation of the map is interactable by the user to view various geographic locations. In some embodiments, the representation of the map is interactable by the user to change the zoom level. In some embodiments, the representation of the map displays various levels of detail based on the zoom level. For example, at a first zoom level, the representation of the map includes representations of roads and highways, and at a second zoom level that is closer than the first zoom level, the representation of the map includes representations of buildings, businesses, and / or landmarks.

[0297] In some embodiments, the indicator is displayed only if location determination is enabled (e.g., GPS tracking is enabled). In some embodiments, the indicator shows an estimated location of the electronic device based on the accuracy or confidence of the location of the electronic device. In some embodiments, the electronic device includes a GPS component that can determine the location of the electronic device. In some embodiments, the device can determine the location of the electronic device with a particular level of accuracy based on the number of satellites that the GPS component can lock on to (e.g., more satellites means more accuracy, fewer satellites means less accuracy). In some embodiments, the electronic device can communicate with a cellular provider and determine the location of the electronic device using data from the cellular provider (e.g., based on the cell tower(s) with which the electronic device is communicating). In some embodiments, the electronic device can determine its location based on other mechanisms. In some embodiments, if the accuracy of the determined location is below a threshold level for the current zoom level, the location indicator includes an area indicator, and if the accuracy is above the threshold level, the location indicator includes a point indicator as described above with respect to method 700.

[0298] In some embodiments, while displaying the map user interface (908), following a determination that one or more criteria have been met, the electronic device displays (910) a selectable option that can be selected to initiate a process of refining the determined location of the electronic device, such as affordance 812 of FIG. 8B (e.g., a button or icon on or within the location indicator that can be selected to initiate the refinement process).

[0299] In some embodiments, a selectable option is displayed at the center of the location indicator. In some embodiments, the process of improving the determined location includes taking one or more visual captures using one or more visible light sensors (e.g., cameras) of the area and / or landmarks around the electronic device. In some embodiments, the one or more criteria include a requirement that the determined location of the electronic device be a location for which visual data exists for landmarks at that location (e.g., for use in comparing with the one or more visual captures). In some embodiments, the one or more criteria include a requirement that the accuracy of the determined location is below a threshold (e.g., the device is unable to determine a sufficiently accurate location and / or the map user interface includes an area indicator that indicates the general area in which the device is potentially located, as described with reference to method 700). In some embodiments, the one or more criteria include a requirement that the current date and time is within a time window. For example, the time requirement is met if the current time is after sunrise and before sunset. In some embodiments, the time of day requirement is met if the current time is one hour after sunrise and one hour before sunset (optionally 30 minutes after sunrise, 30 minutes before sunset, 2 hours after sunrise, 2 hours before sunset, etc.) In some embodiments, the one or more criteria include a requirement that an ambient light sensor on the device determine that sufficient light is present (e.g., in addition to meeting the time of day requirement, such that the camera shots are more likely to provide accurate and precise shots).

[0300] The above-described methods of improving the accuracy of a device's determined location (e.g., by displaying an option on a map user interface when one or more criteria are met) provide a user with a quick and efficient way to improve the device's determined location, thereby simplifying the interaction between the user and the electronic device (e.g., without requiring the user to perform additional input, navigate to another user interface to begin the process of improving the device's location, or physically travel to another location), enhancing the usability of the electronic device, and streamlining the user-device interface, which further reduces power usage and improves battery life of the electronic device by allowing a user to use the electronic device more quickly and efficiently while reducing errors in using the device.

[0301] In some embodiments, following a determination that one or more criteria have not been met, the electronic device does not provide a display of a selectable option (e.g., does not display a button or icon) that can be selected to initiate a process to improve the accuracy of the determined position of the electronic device, such as, for example, FIGS. 8A and 8C-8D.

[0302] In some embodiments, even if there is no button or icon, the device provides a way for the user to initiate the refinement process. For example, if the map user interface displays a point indicator (e.g., indicating that the device is at a particular location on the map), the user can select the point indicator or another selectable user interface element to cause a user interface to be displayed with information about the device's location that includes a selectable option to initiate a process to refine the accuracy of the device's determined location. In some embodiments, the user can select a selectable option to manually initiate refinement of the device's location, which optionally results in an accuracy below a threshold and a selectable option is displayed (optionally only if other requirements of one or more criteria are met).

[0303] The above-described methods that do not provide an option to improve the accuracy of the device's determined location may cause the device to quickly and efficiently avoid initiating a location improvement process when inappropriate, thereby simplifying the interaction between the user and the electronic device (e.g., by eliminating unnecessary inputs to the device, such as inputs attempting to initiate a location improvement process), enhancing usability of the electronic device, and streamlining the user-device interface, which may further reduce power usage and improve battery life of the electronic device by allowing the user to use the electronic device more quickly and efficiently while reducing errors when using the device.

[0304] In some embodiments, the one or more criteria include one or more of a requirement that the electronic device is in one or more predefined locations such as in FIG. 8C (e.g., the device is located in a geographic location where previously captured images of buildings and landmarks exist), a requirement that the current time is within a predefined time window such as in FIG. 8D (e.g., the current time is after sunrise and before sunset), or a requirement that the accuracy of the determined location of the electronic device is less than a respective threshold level of the current zoom level of the representation of the map such as in FIG. 8A (e.g., the accuracy of the determined location is less than a threshold of the current zoom level such that the location indicator includes an area indicator such as the first location element described above with respect to method 700).

[0305] In some embodiments, the previously captured images are images of buildings, roads, objects, and / or landmarks from a pedestrian or vehicular perspective. In some embodiments, the previously captured images are from the same set of previously captured images that the user can browse and view. For example, if the determined location of the device is in a location where no previously captured images exist (e.g., rural areas, forests, narrow alleys, etc.), the device cannot perform processes to improve the accuracy of the device, and therefore the device location criteria are not met.

[0306] In some embodiments, the time of day requirement is met if the current time is one hour after sunrise and one hour before sunset (optionally 30 minutes after sunrise, 30 minutes before sunset, 2 hours after sunrise, 2 hours before sunset, etc.). In some embodiments, the time of day requirement is not met if the current time is not within a predefined time window. In some embodiments, the time of day requirement ensures that there is sufficient light for proper camera capture. In some embodiments, other requirements are used in addition to or instead of the time of day requirement to ensure that there is sufficient light for proper camera capture (e.g., ambient light sensor), weather data, etc.

[0307] In some embodiments, if the accuracy exceeds the threshold, the location indicator includes a point locator, such as the second location element described above with respect to method 700, and the accuracy requirement is not met.

[0308] The above-described methods of providing an option to improve the accuracy of the determined location of the device (e.g., when location requirements, time requirements, and / or location accuracy requirements are met) provide a user with a way to quickly and efficiently improve the determined location of the device (e.g., only when the requirements are met so that the process can be performed accurately), thereby simplifying the interaction between the user and the electronic device (e.g., without requiring the user to make a separate determination as to whether the process can be performed at the current time and without providing the user with an option when the process cannot be properly performed with sufficient accuracy), enhancing the usability of the electronic device, and streamlining the user-device interface, which further reduces power usage and improves battery life of the electronic device by allowing the user to use the electronic device more quickly and efficiently while reducing errors in using the device.

[0309] In some embodiments, while displaying a map user interface when one or more criteria are not met and not displaying selectable options as in FIG. 8A (e.g., when no selectable options are displayed as a result of the criteria not being met), the electronic device receives user input via one or more input devices corresponding to a request to increase a current zoom level of the representation of the map to a first zoom level (e.g., user input to zoom in on the map). In some embodiments, the user input is an outward pinch gesture. In some embodiments, the user input is a selection of the zoom-in affordance. In some embodiments, the user input is a double tap followed by an upward swipe gesture.

[0310] In some embodiments, in response to receiving the user input, the electronic device increases the current zoom level of the representation of the map to a first zoom level (e.g., increases the zoom level in accordance with the user input). In some embodiments, pursuant to a determination that the accuracy of the determined location of the device is below a respective threshold level for the first zoom level, the electronic device displays selectable options that can be selected to improve the accuracy of the determined location of the electronic device (e.g., displays the selectable options if zooming in results in the accuracy being below the threshold), as in FIG.

[0311] In some embodiments, if zooming in causes the accuracy to fall below a threshold, the location indicator includes an area indicator, such as the first location element described above with respect to method 700. In some embodiments, if the accuracy remains above a respective threshold, the display of the selectable options continues. Thus, in some embodiments, the selectable options are displayed only if the accuracy is below a threshold for the current zoom level (e.g., only when the area indicator is displayed).

[0312] The above-described method of providing an option to improve the accuracy of the device's determined location (e.g., in response to the user zooming out of the map user interface such that the accuracy falls below a threshold) provides the user with a quick and efficient way to improve the device's determined location (e.g., by displaying the option when the user zooms the map user interface to reveal that the device's determined location is within an area rather than a single location), thereby simplifying the interaction between the user and the electronic device (e.g., by not providing the option if increased location accuracy would not provide the user with more useful location information due to the current zoom level), enhancing usability of the electronic device, and streamlining the user-device interface, thereby reducing power usage and improving battery life of the electronic device by allowing the user to use the electronic device more quickly and efficiently while reducing errors when using the device.

[0313] In some embodiments, while displaying the selectable options, the electronic device receives user input via one or more input devices to select a selectable option, such as in Figure 8E. In some embodiments, in response to receiving the user input, the electronic device initiates a process to refine the determined location of the electronic device using one or more images captured by the electronic device (such as in Figure 8F) (e.g., the process of refining the determined location of the electronic device includes performing multiple camera shots of buildings, roads, objects, and landmarks around the electronic device and comparing the multiple camera shots to existing shots of buildings, roads, objects, and landmarks at the determined location of the device).

[0314] In some embodiments, the process of improving the determined location of the electronic device includes performing multiple camera shots of specific points (e.g., signs, roads, buildings, stores, etc.), identifying the specific points in the cameras, and comparing the identified points of interest to the specific points present in the previously captured images. In some embodiments, the electronic device performs the comparison(s) (e.g., in response to detecting a selection of a selectable option and / or in response to one or more criteria being met, the previously captured images are downloaded from a server to the device before detecting a selection of a selectable option). In some embodiments, the electronic device uploads the images to a server (external to the electronic device) and the server performs the comparison(s). In some embodiments, based on whether a match is found during the comparison(s) (e.g., whether one or more objects in the vicinity of the electronic device match objects in the previously captured images), the device can determine a current location of the electronic device. In some embodiments, the device can determine a location based on objects in the vicinity of the device as well as the angles of the shots of the respective objects.

[0315] The above-described methods of improving the accuracy of a device's determined location (e.g., by comparing one or more camera shots to one or more previously captured images) provide a user with a quick and efficient method of improving the device's determined location, thereby simplifying the interaction between the user and the electronic device (e.g., without requiring the user to manually compare previously captured images to the device's environment), enhancing usability of the electronic device, and streamlining the user-device interface, thereby reducing power usage and improving battery life of the electronic device by allowing a user to use the electronic device more quickly and efficiently while reducing errors when using the device.

[0316] In some embodiments, the process of improving accuracy of an indexed position of the electronic device includes displaying, via a display generating component, a user interface with instructions for performing a process of improving positional accuracy of the indexed position of the electronic device, including instructions for orienting the electronic device, such as user interface 814 of FIG. 8F (e.g., while performing one or more photographs, the device displays a user interface providing instructions on how to perform the photographs).

[0317] For example, the user interface may include instructions to point the device's camera at a nearby building, raise the camera, lower the camera, stay still while taking a picture, continue taking pictures, or take pictures of more buildings, move the device more slowly while taking pictures (e.g., any of these may be displayed while the device is taking images of the surroundings to use for comparison, or may be displayed independently in response to detecting, via the electronic device's orientation / motion sensors, that the device's movement / orientation should be changed to properly complete the location improvement process). In some embodiments, the user interface is a pop-up user interface that is displayed at a predetermined location (e.g., below, above, left, or right) within the display area. In some embodiments, the user interface is displayed as an overlay on a representation of a map.

[0318] The above-described method of providing instructions on how to improve the accuracy of the device's determined position (e.g., by displaying instructions on how to point the device) provides a user with a quick and efficient way of instructing the user on how to properly take a photograph, thereby simplifying the interaction between the user and the electronic device (e.g., by providing user feedback on how to capture an image), enhancing the usability of the electronic device, and streamlining the user-device interface, which further reduces power usage and improves battery life of the electronic device by allowing the user to use the electronic device more quickly and efficiently while reducing errors when using the device.

[0319] In some embodiments, the process of improving the determined location of the electronic device does not include displaying a representation of one or more images captured by the electronic device via a display generating component, such as user interface 814, which does not display a representation of environment 822 of FIG. 8H (e.g., the camera capture and comparison to the previously captured image is performed without displaying the capture within the user interface). In some embodiments, the process of improving location accuracy is not associated with a navigation mode or directions from one location to another. Thus, in some embodiments, a user may initiate the process of improving location accuracy while browsing or otherwise interacting with a map user interface. In some embodiments, a user is provided with an option to improve the location accuracy of the device without first requesting directions or a navigation mode.

[0320] The above-described methods of improving the accuracy of the device's determined location (e.g., by performing camera capture without displaying a representation of the capture) provide a user with a quick and efficient way to improve the device's determined location (e.g., without providing directions away from a map user interface which may be distracting or visually obstructive), thereby simplifying the interaction between the user and the electronic device, enhancing usability of the electronic device, and streamlining the user-device interface, which further reduces power usage and improves battery life of the electronic device by allowing the user to use the electronic device more quickly and efficiently while reducing errors in using the device.

[0321] In some embodiments, the process of improving the determined position of the electronic device includes detecting a change in the orientation of the electronic device for capturing one or more images, such as in Figures 8H-8I (e.g., the orientation of the device changes while the capture is in progress (e.g., as a result of a user rotating or otherwise changing the orientation of the device) to capture different angles and different objects in the vicinity of the device).

[0322] In some embodiments, the electronic device displays, via a display generation component, an orientation indicator of the electronic device on the representation of the map. While detecting a change in the orientation of the electronic device, the electronic device changes the orientation of an orientation indicator, such as the orientation indicator 804 of FIGS. 8H-8I, based on the orientation of the electronic device (e.g., a location indicator on the map includes an orientation indicator (optionally similar to that described above with respect to method 700), where the orientation indicator tracks the orientation of the device as it is rotated to photograph different angles and objects).

[0323] The above-described method of updating an orientation indicator while improving the determined position of the device (e.g., by displaying an orientation indicator on a position indicator that rotates as the device is rotated) provides quick and efficient visual feedback to a user that a particular orientation has been properly captured, thereby simplifying the interaction between the user and the electronic device, enhancing usability of the electronic device, and streamlining the user-device interface, thereby reducing power usage and improving battery life of the electronic device by allowing a user to use the electronic device more quickly and efficiently while reducing errors when using the device.

[0324] In some embodiments, while one or more criteria are not met, the location indicator includes a first location element and does not include a second location element, such as location indicator 810 in FIG. 8B (e.g., the location indicator includes an area indicator and does not include a point indicator, as described above with respect to method 700).

[0325] In some embodiments, after performing a process to improve the accuracy of the determined location of the electronic device, the electronic device updates a location indicator, such as location indicator 802 of FIG. 8O , to include the second location element and to not include the first element (e.g., after performing a process to improve the accuracy of the determined location of the device, the accuracy of the determined location exceeds a threshold such that a point indicator, such as the second location indicator described above with respect to method 700, is displayed in the user interface), where the first location element indicates an area on the representation of the map in which the electronic device is determined to be located (e.g., the first location element, such as the first location indicator described above with respect to method 700, is a circular element with a radius that indicates an area within which the electronic device is determined to be located) and the second location element indicates a location on the representation of the map in which the electronic device is determined to be located (e.g., the second location element, such as the second location element described above with respect to method 700, indicates a single location on the map in which the device is determined to be located).

[0326] The above-described method of improving the accuracy of the determined location of the device (e.g., by displaying the location indicator with a dot indicator after successfully executing a process to improve the accuracy of the determined location) provides a user with a quick and efficient method of improving the determined location of the device, thereby simplifying the interaction between the user and the electronic device (e.g., without requiring the user to perform additional input after executing a process to update the location indicator based on updated location data), enhancing usability of the electronic device, and streamlining the user-device interface, which further reduces power usage and improves battery life of the electronic device by allowing a user to use the electronic device more quickly and efficiently while reducing errors when using the device.

[0327] In some embodiments, the selectable options are displayed while one or more directions for traveling from a first location to a second location within a map user interface such as FIG. 8B are not displayed via the display generation component (e.g., the selectable options are displayed and the process is performed without requesting directions from one location to another and without initiating a navigation mode for guidance from a current location to a destination).

[0328] In some embodiments, the selectable options are displayed and the process is performed when the user interface is not displaying any directions. In some embodiments, the selectable options are displayed while directions are displayed or during a navigation mode (optionally, navigation is paused while the refinement process is performed and / or, optionally, navigation is updated if the refinement process caused the device's determined position to differ from the device's previously determined position).

[0329] The above-described methods of improving the accuracy of a device's determined location (e.g., without requiring the user to request directions or initiate navigation) provide a user with a quick and efficient way to improve the device's determined location, thereby simplifying the interaction between the user and the electronic device (e.g., without requiring the user to perform additional inputs to initiate the process of requesting directions and improving location accuracy as a separate process from the process of obtaining directions or navigating to a destination), enhancing the usability of the electronic device, and streamlining the user-device interface, which further reduces power usage and improves battery life of the electronic device by allowing a user to use the electronic device more quickly and efficiently while reducing errors when using the device.

[0330] In some embodiments, when one or more criteria are not met and the selectable options are not displayed (e.g., when the criteria are not met and the selectable options are not displayed), the map user interface is displayed. In some embodiments, when the criteria are not met, the location indicator includes a point indicator, such as the second location indicator described above with respect to method 700, and the electronic device receives a first user input via one or more input devices that selects the location indicator, such as in FIG. 8R (e.g., a user input tapping on the location indicator and / or the point indicator).

[0331] In some embodiments, in response to receiving the user input, the electronic device, via a display generation component, displays a user interface including information about the current location of the electronic device, such as user interface 824 of FIG. 8S (e.g., displaying an address, an image, and / or one or more selectable options associated with the device's current location) and a second selectable option that can be selected to initiate a process to improve the accuracy of the determined location of the electronic device, such as affordance 830 of FIG. 8S (e.g., the user interface element includes a selectable option that can be selected to perform a process to improve the determined location of the electronic device even if one or more of the one or more criteria are not met).

[0332] In some embodiments, the information is displayed on a user interface element overlaid on the map user interface. In some embodiments, even if the map user interface does not include a selectable option because the accuracy of the determined location is above a threshold for the current zoom level, the user can select a second selectable option to initiate a process to improve the accuracy of the determined location. In some embodiments, if the location or time requirement is not met, the user interface element does not include a selectable option (optionally, the selectable option is disabled and / or greyed out). Thus, in some embodiments, the user can initiate a process to improve the determined location even if the accuracy requirement is not met, but cannot initiate the process if the location or time requirement is not met. In some embodiments, the process initiated in response to the selection of the second selectable option is the same as the process initiated in response to the selection of the selectable option described above.

[0333] The above-described methods of providing an option to improve the accuracy of the determined location of the device (e.g., on a user interface displayed in response to user input selecting a location indicator) provide a user with a quick and efficient method of improving the determined location of the device (e.g., even when accuracy requirements are not met and selectable options are not displayed), thereby simplifying the interaction between the user and the electronic device (e.g., without requiring the user to perform additional input to zoom in so that accuracy requirements are met and selectable options are displayed in the location indicator), enhancing usability of the electronic device, and streamlining the user-device interface, which further reduces power usage and improves battery life of the electronic device by allowing a user to use the electronic device more quickly and efficiently while reducing errors in using the device.

[0334] It should be understood that the particular order described for the operations in FIG. 9 is merely exemplary, and the order described is not intended to indicate that the operations are the only order in which they can be performed. Those skilled in the art will recognize various ways to reorder the operations described herein. It should also be noted that other process details described herein with respect to other methods described herein (e.g., method 700) are also applicable in a similar manner to method 900 described above with respect to FIG. 9. For example, the operation of the electronic device to improve the accuracy of the determined position of the electronic device described above with reference to method 900 optionally has one or more of the characteristics indicative of the current position of the electronic device described herein with reference to other methods described herein (e.g., method 700). For the sake of brevity, those details will not be repeated here.

[0335] Operations in the information processing methods described above are optionally performed by executing one or more functional modules in an information processing device, such as a general-purpose processor or an application specific chip (e.g., as described with respect to FIGS. 1A-1B, 3, 5A-5B). Additionally, operations described above with reference to FIG. 9 are optionally performed by the components shown in FIGS. 1A-1B. For example, display operations 902 and 910 are optionally performed by event sorter 170, event recognizer 180, and event handler 190. Event monitor 171 in event sorter 170 detects a contact on touch-sensitive surface 604, and event dispatcher module 174 sends the event information to application 136-1. Each event recognizer 180 of application 136-1 compares the event information to a respective event definition 186 to determine whether a first contact at a first location on the touch-sensitive surface corresponds to a predefined event or sub-event, such as a selection of an object on a user interface. When a corresponding predefined event or sub-event is detected, the event recognizer 180 activates an event handler 190 associated with the detection of that event or sub-event. The event handler 190 optionally utilizes or calls a data updater 176 or an object updater 177 to update the application internal state 192. In some embodiments, the event handler 190 accesses a corresponding GUI updater 178 to update what is displayed by the application. Similarly, it will be clear to one skilled in the art how other processes can be implemented based on the components shown in FIGS. 1A-1B.

[0336] As mentioned above, one aspect of the present technology is to collect and use data available from certain legitimate sources to improve the display of device location information to the user. The present disclosure contemplates that in some cases, this collected data may include personal information data that uniquely identifies or can be used to identify a particular person. Such personal information data may include demographic data, location-based data, online identifiers, phone numbers, email addresses, home addresses, data or records regarding the user's health or fitness level (e.g., vital sign measurements, medication information, exercise information), date of birth, or any other personal information.

[0337] This disclosure recognizes that the use of such personal information data in the present technology may be for the benefit of the user. For example, the personal information data may be used to display the user's current location or to display the location of the user's electronic device. Thus, the use of such personal information data may allow the user to have more information regarding the location of the user or device. Additionally, other uses of personal information data that benefit the user are also contemplated by this disclosure.

[0338] This disclosure contemplates that entities responsible for the collection, analysis, disclosure, transmission, storage, or other use of such personal information data will adhere to well-established privacy policies and / or practices. Specifically, such entities will be expected to implement and consistently apply privacy practices that are generally recognized as meeting or exceeding industry or government requirements for maintaining user privacy. Such information regarding the use of personal data should be prominent and easily accessible by users, and should be updated as data collection and / or use changes. Personal information from users should be collected only for legitimate uses. Furthermore, such collection / sharing should be done after receiving user consent or based on other legitimate grounds specified in applicable law. Moreover, such entities should consider taking all necessary measures to protect and secure access to such personal information data and ensure that others who have access to the personal information data adhere to those privacy policies and procedures. Furthermore, such entities may subject themselves to third-party assessments to attest to their adherence to widely accepted privacy policies and practices. In addition, policies and practices should be tailored to the specific types of personal information data collected and / or accessed, and should conform to applicable laws and standards, including jurisdiction-specific considerations that may serve to impose higher standards. For example, in the United States, the collection of or access to certain health data may be governed by federal and / or state laws, such as the Health Insurance Portability and Accountability Act (HIPAA), while health data in other countries may be subject to other regulations and policies and should be addressed accordingly.

[0339] Notwithstanding the foregoing, the present disclosure also contemplates embodiments in which a user selectively blocks use of or access to personal information data. That is, the present disclosure contemplates that hardware and / or software elements may be provided to prevent or block access to such personal information data. For example, such as in the case of an ad-delivery service, the present technology may be configured to allow a user to select to "opt-in" or "opt-out" of participating in the collection of personal information data during registration for the service or at any time thereafter. In another example, a user may select not to enable determination of device location. In yet another example, a user may select to limit sharing of device location information or to block display and / or sharing of location information entirely. In addition to providing "opt-in" and "opt-out" options, the present disclosure contemplates providing notifications regarding access or use of personal information. For example, a user may be notified that their current location will be determined when viewing a map application, and reconfirmed immediately before location information is generated.

[0340] Moreover, it is the intent of this disclosure that personal information data should be managed and processed in a manner that minimizes the risk of unintentional or unauthorized access or use. Risk can be minimized by limiting the collection of data and deleting it when it is no longer needed. Additionally, and where applicable in certain health-related applications, anonymization of data can be used to protect user privacy. De-identification may be facilitated by removing identifiers where appropriate, controlling the amount or specificity of data stored (e.g., collecting location data at a city level rather than an address level), controlling how data is stored (e.g., aggregating data across users), and / or other methods such as differential privacy.

[0341] Thus, while this disclosure broadly encompasses the use of personal information data to implement one or more of the various disclosed embodiments, this disclosure also contemplates that the various embodiments may be implemented without requiring access to such personal information data. That is, the various embodiments of the technology are not rendered inoperable by the absence of all or a portion of such personal information data. For example, location information may be generated and delivered to a user based on non-identifying information data or minimal identifying information, such as determining the location of a device based on the cellular towers with which the device is communicating, as opposed to using a GPS sensor.

[0342] It is understood that use of personally identifiable information should comply with privacy policies and practices generally recognized as meeting or exceeding industry or governmental requirements for maintaining user privacy. In particular, personally identifiable information data should be managed and handled in a manner that minimizes the risk of unintended or unauthorized access or use, and the nature of permitted uses should be clearly indicated to users.

[0343] The above has been described with reference to specific embodiments for purposes of explanation. However, the above exemplary discussion is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teachings. These embodiments have been chosen and described in order to best explain the principles of the invention and its practical application, and thereby enable others skilled in the art to best utilize the invention and the various described embodiments with various modifications suited to the particular uses contemplated.

Claims

1. 1. A method comprising:

1. An electronic device including one or more processors and in communication with one or more display generation components and one or more input devices, displaying a map user interface via the one or more display generation components, the map user interface comprising: Map representation and a location indicator that indicates the determined location of the electronic device on the representation of the map; and detecting, while displaying the map user interface, that one or more criteria are met, the one or more criteria including a criterion that is met when a camera of the electronic device is raised so that the camera can capture one or more images of a surrounding of the electronic device; In response to detecting that the one or more criteria are met, performing a process to refine the determined position of the electronic device using the one or more images taken by the electronic device; A method comprising:

2. 2. The method of claim 1, wherein the process for improving the accuracy of the determined position of the electronic device comprises: displaying, via the one or more display generation components, a user interface including instructions for performing the process of improving the accuracy of the determined position of the electronic device, the instructions including instructions for pointing the electronic device; A method comprising:

3. 10. The method of claim 1, wherein the process of improving the accuracy of the determined position of the electronic device includes detecting a change in orientation of the electronic device capturing the one or more images, the method further comprising: displaying, via the one or more display generation components, an indication of an orientation of the electronic device, wherein while detecting the change in orientation of the electronic device, updating the display of the indication of the orientation of the electronic device based on the orientation of the electronic device; A method comprising:

4. 2. The method of claim 1, wherein performing the process of improving the accuracy of the determined position of the electronic device comprises: In accordance with a determination that the one or more criteria are met, displaying, via the one or more display generation components, selectable options that are selectable to initiate the process of improving the accuracy of the determined position of the electronic device; in accordance with a determination that the one or more criteria have not been met, refraining from displaying the selectable options that are selectable to initiate the process of improving the accuracy of the determined position of the electronic device; A method comprising:

5. 5. The method of claim 4, further comprising: receiving, via the one or more input devices, input corresponding to a selection of the selectable option while displaying the selectable option via the one or more display generation components; capturing the one or more images of the surroundings of the electronic device in response to receiving the input; A method comprising:

6. 5. The method of claim 4, further comprising: receiving, while displaying the map user interface and while not displaying the selectable options, input via the one or more input devices corresponding to a request to increase a current zoom level of the representation of the map to a first zoom level; In response to receiving the input, increasing the current zoom level of the representation of the map to the first zoom level; displaying the selectable options in accordance with a determination that the accuracy of the determined position of the device is less than a respective threshold level for the first zoom level; and refraining from displaying the selectable options in accordance with a determination that the accuracy of the determined position of the device is equal to or greater than the respective threshold level for the first zoom level; A method comprising:

7. 5. The method of claim 4, wherein the selectable options are displayed while one or more directions for traveling from a first location to a second location are not being displayed in the map user interface via the display generation component. method.

8. 2. The method of claim 1, wherein the one or more criteria are: a requirement that the electronic device be located at one or more predetermined locations; A requirement that the current time be within a given time window, or a requirement that the accuracy of the determined position of the electronic device is less than a respective threshold level for the current zoom level of the representation of the map; The method includes one or more of:

9. 2. The method of claim 1, wherein the process of refining the determined position of the electronic device does not include displaying, via the display generation component, a representation of the one or more images captured by the electronic device. method.

10. 10. The method of claim 1, wherein while the one or more criteria are not met, the location indicator includes a first location element and does not include a second location element, the method further comprising: updating the location indicator to include the second location element and to not include the first location element after performing the process of improving the accuracy of the determined location of the electronic device, the first location element indicating an area on the representation of the map in which the electronic device is determined to be located, and the second location element indicating a location on the representation of the map in which the electronic device is determined to be located; A method comprising:

11. 1. An electronic device in communication with one or more display generating components and one or more input devices, comprising: one or more processors; Memory and and one or more programs stored in the memory and configured to be executed by the one or more processors to perform any of the methods according to claims 1 to 10. Electronic devices.

12. A non-transitory computer-readable recording medium having stored thereon one or more programs, the one or more programs comprising instructions that, when executed by one or more processors of an electronic device in communication with one or more display generating components and one or more input devices, cause the electronic device to perform any of the methods of claims 1 to 10. A non-transitory computer-readable recording medium.