Input Devices and User Interface Interactions

Devices with touch-sensitive surfaces and intuitive user interfaces, including feature information and tactile feedback, address inefficiencies in existing interaction methods, enhancing user experience and reducing interaction time.

JP7750896B2Active Publication Date: 2025-10-07APPLE INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2023080552
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2014-06-24
Filing Date
2023-05-16
Publication Date
2025-10-07
Estimated Expiration
2035-06-24

Smart Images

  • Figure 0007750896000002
    Figure 0007750896000002
  • Figure 0007750896000003
    Figure 0007750896000003
  • Figure 0007750896000004
    Figure 0007750896000004
Patent Text Reader

Abstract

To provide an electronic device for performing interaction using a touch sensitive surface.SOLUTION: In some embodiments, a device displays functionality information in response to receiving an indication of a first input for which a contact meets functionality display criteria. In some embodiments, a device generates a user interface that includes a navigation bar including images from different positions in a respective content item, and a representation of an adjacent content item. In some embodiments, a device moves a selection-indicator in a user interface by a predefined amount in response to receiving an indication of a first input that meets unitary movement criteria. In some embodiments, a device interprets movement of a contact of an input based at least in part on a grip of a user. In some embodiments, a device displays a plurality of character selection options when a text entry field is not tolerant of character ambiguity and a first input corresponds to a plurality of candidate characters.SELECTED DRAWING: Figure 6E
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. 62 / 016,593, filed June 24, 2014, the entire contents of which are incorporated herein by reference for all purposes.

[0002] This application relates generally to electronic devices that use touch-sensitive surfaces for interaction. [Background technology]

[0003] User interaction with devices such as computers and other electronic computing devices has increased significantly in recent years. These devices may be devices such as computers, tablet computers, televisions, multimedia devices, etc., which may provide users with user interfaces that facilitate such interaction.

[0004] A variety of input devices can be used to interact with the devices, such as touchscreen displays, touch-sensitive surfaces, remote controls, mice, and other input devices. Touch-sensitive surfaces and touchscreen displays, in particular, have become increasingly popular input devices. Providing device interaction for powerful user interface input enhances the user experience with the device and reduces user interaction time, which is particularly important when the input device is battery-powered. Summary of the Invention

[0005] The embodiments described in this disclosure relate to one or more devices that optionally display feature information, display a content navigation bar, provide predefined movement within a user interface in response to a particular input, determine a user's grip on the device, and display a character recognition user interface and one or more actions the device optionally takes in connection therewith. A complete description of the embodiments is provided in the Brief Description of the Drawings and Detailed Description, with the understanding that the summary above is not intended to limit the scope of the present disclosure in any way.

[0006] For a better understanding of the various embodiments described, please refer to the following detailed description in conjunction with the following drawings, in which like reference numerals refer to corresponding parts throughout the drawings, in which: [Brief explanation of the drawings]

[0007] [Figure 1A] 1 is a block diagram illustrating a multifunction device with a touch-sensitive display in accordance with some embodiments. [Figure 1B] FIG. 1 is a block diagram illustrating exemplary components for event processing according to some embodiments. [Figure 2] 1 illustrates a multifunction device having a touch screen in accordance with some embodiments. [Figure 3] FIG. 1 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface in accordance with some embodiments. [Figure 4] 1 illustrates an exemplary user interface for a multifunction device with a touch-sensitive surface separate from the display in accordance with some embodiments. [Figure 5] FIG. 1 is a block diagram of an exemplary structure of a device, according to some embodiments of the present disclosure. [Figure 6A] 1 illustrates an exemplary method for presenting feature information in a user interface according to some embodiments of the present disclosure. [Figure 6B]1 illustrates an exemplary method for presenting feature information in a user interface according to some embodiments of the present disclosure. [Figure 6C] 1 illustrates an exemplary method for presenting feature information in a user interface according to some embodiments of the present disclosure. [Figure 6D] 1 illustrates an exemplary method for presenting feature information in a user interface according to some embodiments of the present disclosure. [Figure 6E] 1 illustrates an exemplary method for presenting feature information in a user interface according to some embodiments of the present disclosure. [Figure 6F] 1 illustrates an exemplary method for presenting feature information in a user interface according to some embodiments of the present disclosure. [Figure 6G] 1 illustrates an exemplary method for presenting feature information in a user interface according to some embodiments of the present disclosure. [Figure 7A] FIG. 1 is a flow diagram illustrating a method for displaying feature information according to some embodiments. [Figure 7B] FIG. 1 is a flow diagram illustrating a method for displaying feature information according to some embodiments. [Figure 7C] FIG. 1 is a flow diagram illustrating a method for displaying feature information according to some embodiments. [Figure 7D] FIG. 1 is a flow diagram illustrating a method for displaying feature information according to some embodiments. [Figure 7E] FIG. 1 is a flow diagram illustrating a method for displaying feature information according to some embodiments. [Figure 7F] FIG. 1 is a flow diagram illustrating a method for displaying feature information according to some embodiments. [Figure 7G] FIG. 1 is a flow diagram illustrating a method for displaying feature information according to some embodiments. [Figure 8A] FIG. 1 illustrates an exemplary method for presenting a content navigation bar in a user interface according to some embodiments of the present disclosure. [Figure 8B]FIG. 1 illustrates an exemplary method for presenting a content navigation bar in a user interface according to some embodiments of the present disclosure. [Figure 8C] FIG. 1 illustrates an exemplary method for presenting a content navigation bar in a user interface according to some embodiments of the present disclosure. [Figure 8D] FIG. 1 illustrates an exemplary method for presenting a content navigation bar in a user interface according to some embodiments of the present disclosure. [Figure 8E] FIG. 1 illustrates an exemplary method for presenting a content navigation bar in a user interface according to some embodiments of the present disclosure. [Figure 8F] FIG. 1 illustrates an exemplary method for presenting a content navigation bar in a user interface according to some embodiments of the present disclosure. [Figure 8G] FIG. 1 illustrates an exemplary method for presenting a content navigation bar in a user interface according to some embodiments of the present disclosure. [Figure 9A] FIG. 10 is a flow diagram illustrating a method for presenting a content navigation bar according to some embodiments. [Figure 9B] FIG. 10 is a flow diagram illustrating a method for presenting a content navigation bar according to some embodiments. [Figure 9C] FIG. 10 is a flow diagram illustrating a method for presenting a content navigation bar according to some embodiments. [Figure 9D] FIG. 10 is a flow diagram illustrating a method for presenting a content navigation bar according to some embodiments. [Figure 9E] FIG. 10 is a flow diagram illustrating a method for presenting a content navigation bar according to some embodiments. [Figure 9F] FIG. 10 is a flow diagram illustrating a method for presenting a content navigation bar according to some embodiments. [Figure 9G] FIG. 10 is a flow diagram illustrating a method for presenting a content navigation bar according to some embodiments. [Figure 10A] 1 illustrates an exemplary method in which an electronic device moves a cursor by a predetermined amount in a user interface according to some embodiments of the present disclosure. [Figure 10B] 1 illustrates an exemplary method in which an electronic device moves a cursor by a predetermined amount in a user interface according to some embodiments of the present disclosure. [Figure 10C] 1 illustrates an exemplary method in which an electronic device moves a cursor by a predetermined amount in a user interface according to some embodiments of the present disclosure. [Figure 10D] 1 illustrates an exemplary method in which an electronic device moves a cursor by a predetermined amount in a user interface according to some embodiments of the present disclosure. [Figure 11A] 1 is a flow diagram illustrating a method for moving a cursor by a predetermined amount in a user interface according to some embodiments; [Figure 11B] 1 is a flow diagram illustrating a method for moving a cursor by a predetermined amount in a user interface according to some embodiments; [Figure 11C] 1 is a flow diagram illustrating a method for moving a cursor by a predetermined amount in a user interface according to some embodiments; [Figure 11D] 1 is a flow diagram illustrating a method for moving a cursor by a predetermined amount in a user interface according to some embodiments; [Figure 12A] 1A-1C illustrate an exemplary method for interpreting input on a touch-sensitive surface based on a user's grip, according to some embodiments of the present disclosure. [Figure 12B] 1A-1C illustrate an exemplary method for interpreting input on a touch-sensitive surface based on a user's grip, according to some embodiments of the present disclosure. [Figure 12C] 1A-1C illustrate an exemplary method for interpreting input on a touch-sensitive surface based on a user's grip, according to some embodiments of the present disclosure. [Figure 12D]1A-1C illustrate an exemplary method for interpreting input on a touch-sensitive surface based on a user's grip, according to some embodiments of the present disclosure. [Figure 12E] 1A-1C illustrate an exemplary method for interpreting input on a touch-sensitive surface based on a user's grip, according to some embodiments of the present disclosure. [Figure 13A] FIG. 10 is a flow diagram illustrating a method for interpreting input detected on a touch-sensitive surface based on a user's grip, according to some embodiments. [Figure 13B] FIG. 10 is a flow diagram illustrating a method for interpreting input detected on a touch-sensitive surface based on a user's grip, according to some embodiments. [Figure 13C] FIG. 10 is a flow diagram illustrating a method for interpreting input detected on a touch-sensitive surface based on a user's grip, according to some embodiments. [Figure 14A] FIG. 1 illustrates an exemplary method for an electronic device to present a user interface for handwriting input, according to some embodiments of the present disclosure. [Figure 14B] FIG. 1 illustrates an exemplary method for an electronic device to present a user interface for handwriting input, according to some embodiments of the present disclosure. [Figure 14C] FIG. 1 illustrates an exemplary method for an electronic device to present a user interface for handwriting input, according to some embodiments of the present disclosure. [Figure 15A] 1 is a flow diagram illustrating a method for detecting handwritten input according to some embodiments. [Figure 15B] 1 is a flow diagram illustrating a method for detecting handwritten input according to some embodiments. [Figure 15C] 1 is a flow diagram illustrating a method for detecting handwritten input according to some embodiments. [Figure 15D] 1 is a flow diagram illustrating a method for detecting handwritten input according to some embodiments. [Figure 16] FIG. 1 is a functional block diagram of an electronic device according to some embodiments. [Figure 17]FIG. 1 is a functional block diagram of an electronic device according to some embodiments. [Figure 18] FIG. 1 is a functional block diagram of an electronic device according to some embodiments. [Figure 19] FIG. 1 is a functional block diagram of an electronic device according to some embodiments. [Figure 20] FIG. 1 is a functional block diagram of an electronic device according to some embodiments. DETAILED DESCRIPTION OF THE INVENTION

[0008] In the following description of the embodiments, reference is made to the accompanying drawings which form a part hereof, and which show by way of illustration specific embodiments which may optionally be implemented. It is to be understood that other embodiments may optionally be utilized and structural changes may optionally be made without departing from the scope of the embodiments of the present disclosure. Exemplary Devices

[0009] Embodiments are described that relate to electronic devices, user interfaces for such devices, and associated processes for using such devices. In some embodiments, the device is a portable communication device, such as a mobile telephone, that also includes other functions, such as PDA functionality and / or music playback functionality. Exemplary embodiments of portable multifunction devices include, but are not limited to, the iPhone®, iPod Touch®, and iPad® devices from Apple Inc. (Cupertino, California). Other portable electronic devices, such as laptop computers or tablet computers with touch-sensitive surfaces (e.g., touchscreen displays and / or touchpads), 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., touchscreen displays and / or touchpads). In some embodiments, the device does not include 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 a separate display device and receiving input information from a separate 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 a separate input device having one or more input mechanisms (such as one or more buttons, a touchscreen display, and / or a touchpad).

[0010] 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. Furthermore, as described above, it should be understood that 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 is optionally used to describe information output by the electronic device to a display on a separate display device (touch-sensitive or otherwise). Similarly, as used in this disclosure, input received on an electronic device (e.g., touch input received on a touch-sensitive surface of an electronic device) is optionally used to describe input received on a separate input device from which the electronic device receives input information.

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

[0012] 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 from one application to the next and / or within each application. In this way, the common physical structure of the device (such as the touch-sensitive surface) optionally supports various applications with user interfaces that are intuitive and transparent to the user.

[0013] As noted above, a device need not include a touch-sensitive display or a conventional display, but attention is now directed to embodiments of portable or non-portable devices with touch-sensitive displays. 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. Touch-sensitive display 112 may conveniently be referred to as a "touch screen" and may also be known or referred to as a touch-sensitive display system. 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. Device 100 optionally includes one or more light sensors 164. Device 100 optionally comprises one or more intensity sensors 165 for detecting 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 comprises one or more tactile output generators 167 for generating a tactile output on device 100 (e.g., generating 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 via one or more communication buses or signal lines 103.

[0014] 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 is a range of values ​​including at least four different values, and more typically including hundreds of different values ​​(e.g., at least 256). Contact intensity is optionally determined (or measured) using various techniques and various sensors or combinations of sensors. For example, one or more force sensors positioned under or near the touch-sensitive surface are optionally used to measure force at various locations on the touch-sensitive surface. In some implementations, force measurements from multiple force sensors are combined (e.g., weighted average) to determine an estimated contact force. Similarly, 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 proxies for the force or pressure of the contact on the touch-sensitive surface. In some implementations, the surrogate measurement for the force or pressure of the contact is used directly to determine whether the intensity threshold has been exceeded (e.g., the intensity threshold is expressed in units corresponding to the surrogate measurement). In some implementations, the surrogate measurement 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 has been exceeded (e.g., the intensity threshold is a pressure threshold measured using units of pressure).

[0015] As used herein and in the claims, the term “tactile output” refers to the physical displacement of a device relative to its original position, the physical displacement of a component of a device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., a housing), or the displacement of a component relative to the center of mass of the device that a user will detect by the user's sense of touch. For example, in a situation where a touch-sensitive device or component of a device is in contact with a user's surface (e.g., the user's fingers, palm, or other part of the hand), the user will interpret the tactile output generated by the physical displacement as a tactile sensation corresponding to the perception of a change in a physical property of the device or component of the device. For example, a user optionally interprets movement on a touch-sensitive surface (e.g., a touch-sensitive display or trackpad) as a “downclick” or “upclick” of a physical actuation button. In some cases, a user will perceive a tactile sensation such as a “downclick” or “upclick” even when there is no action by a physical actuation button associated with the touch-sensitive surface that is physically pressed (e.g., displaced) by the user's action. As another example, a user may optionally interpret or sense movement on the touch-sensitive surface as "roughness" on the touch-sensitive surface, even when there is no change in smoothness on the touch-sensitive surface. A user's interpretation of touch will depend on the user's individual sensory perception, but there are many sensory perceptions of touch that are common to most users. Thus, when a tactile output is described as corresponding to a particular sensory perception of a user (e.g., "upclick," "downclick," and "roughness"), unless otherwise indicated, the generated tactile output corresponds to a physical displacement of a device or device component that will produce the sensory perception in a typical (or average) user as described above.

[0016] It should be understood that device 100 is merely one example of a portable or non-portable multifunction device, and that device 100 optionally has more or fewer components than those shown, optionally combines two or more parts, or optionally has a different configuration or arrangement of components. The various components shown in FIG. 1A are implemented in 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, including, for example, 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 a display device and / or an input device to facilitate system operation, as described in this disclosure, and various components related to the display and / or input described herein remain internal to device 100 or are optionally contained within the display and / or input device, as appropriate.

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

[0018] A peripheral interface 118 can be used to connect input and output peripherals of the device to the CPU 120 and memory 102. The one or more processors 120 run or execute various software programs and / or instruction sets stored in the memory 102 to perform various functions of the device 100 and process data.

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

[0020] The RF (radio frequency) circuitry 108 transmits and receives RF signals, also called electromagnetic signals. The RF circuitry 108 converts electrical signals to or from electromagnetic signals and communicates with communication networks and other communication devices via electromagnetic signals. The RF circuitry 108 optionally includes well-known circuitry for performing the above 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 wirelessly with networks, such as the Internet, also called the World Wide Web (WWW), intranets and / or wireless networks, such as cellular networks, wireless local area networks (LANs) and / or metropolitan area networks (MANs), and other devices.The wireless communication optionally uses any of a plurality of communication standards, protocols, and technologies, including 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 (LTE), Near Field Communication (NFC), Wideband Code Division Multiple Access (W-CDMA), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Bluetooth, Wireless Examples of suitable communication protocols include, but are not limited to, Wi-Fi Fidelity (registered trademark) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, and / or IEEE 802.11n), Voice over Internet Protocol (VoIP), Wi-MAX, protocols for email (e.g., Internet Message Access Protocol (IMAP) and / or Post Office Protocol (POP)), instant messaging (e.g., Extensible Messaging and Presence Protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Extensions (SIMPLE), Instant Messaging and Presence Service (IMPS)), and / or Short Message Service (SMS), or any other suitable communication protocol, including communication protocols not yet developed as of the filing date of this application.

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

[0022] I / O subsystem 106 connects input / output peripherals on device 100, such as touchscreen 112 and other input control devices 116, to peripheral interface 118. I / O subsystem 106 optionally includes 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 send and receive 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(s) 160 are optionally connected to any (or none) of a keyboard, infrared port, USB port, and pointer device such as a mouse. The one or more buttons (e.g., 208 in FIG. 2) optionally comprise up / down buttons for adjusting the volume of the speaker 111 and / or microphone 113. The one or more buttons optionally comprise push buttons (e.g., 206 in FIG. 2).

[0023] Touch-sensitive display 112 provides an input and output interface between the device and a user. As noted above, the touch-sensitive and display operations of touch-sensitive display 112 are optionally separated from one another, using a display device for display purposes and a touch-sensitive surface (display or not) for input detection purposes, and the components and functionality described above are modified accordingly. However, for simplicity, the following description will be in the context of a touch-sensitive display. Display controller 156 sends and receives electrical signals to touchscreen 112. Touchscreen 112 displays visual output to the user. The visual output optionally includes graphics, text, icons, video, and any combination thereof (collectively referred to as "graphics"). In some embodiments, some or all of the visual output corresponds to user interface objects.

[0024] Touchscreen 112 comprises a touch-sensitive surface, sensor, or set of sensors that accepts input from a user based on tactile and / or haptic contact. Touchscreen 112 and display controller 156 (along with any associated modules and / or instruction sets in memory 102) detects contacts (and any movement or cessation of contact) on touchscreen 112 and translates the detected contacts into interactions with user interface objects (e.g., one or more softkeys, 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.

[0025] 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 cessation thereof using any of a number of now-known or later-developed touch detection technologies, including, but not limited to, capacitive, resistive, infrared, and surface ultrasonic technologies, as well as other proximity sensor arrays or other components for determining one or more points of contact with touchscreen 112. An exemplary embodiment uses projected mutual capacitance sensing technology, such as found in the iPhone®, iPod Touch, and iPad® from Apple Inc. (Cupertino, California).

[0026] Touchscreen 112 optionally has a video resolution 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 accessory, such as a stylus, a finger, or the like. In some embodiments, the user interface is designed to function primarily with finger-based contact and gestures, which may be less precise than stylus-based input due to the larger contact area of ​​a finger on the touchscreen. In some embodiments, the device translates coarse finger-based input into precise pointer / cursor position or commands to perform the user's desired action.

[0027] In some embodiments, in addition to the 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.

[0028] Device 100 also includes a power system 162 for providing power to the various components. Power system 162 optionally includes a power management system, one or more power sources (e.g., battery, 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.

[0029] Device 100 also optionally includes one or more light sensors 164. FIG. 1A shows a light sensor connected 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 ambient light projected through one or more lenses and converts the light into data representing an image. In conjunction with imaging module 143 (also referred to as a camera module), light sensor 164 optionally captures still images or video. In some embodiments, a light sensor is located on the back of device 100, opposite touchscreen display 112 on the front of the device, to enable the touchscreen display as a viewfinder for still image and / or video capture. In some embodiments, another light sensor is located on the front of the device to optionally capture an image of the user for video conferencing while the user views other video conference participants on the touchscreen display.

[0030] Device 100 also optionally includes one or more contact intensity sensors 165. FIG. 1A shows a contact intensity sensor connected 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, electric 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 collocated 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.

[0031] Device 100 also optionally includes one or more proximity sensors 166. Figure 1A shows proximity sensor 166 connected to peripherals interface 118. Alternatively, proximity sensor 166 is connected to input controller 160 in I / O subsystem 106. In some embodiments, the proximity sensor turns off and disables touchscreen 112 when the multifunction device is placed near the user's ear (e.g., when the user is making a phone call).

[0032] Device 100 also optionally includes one or more tactile output generators 167. FIG. 1A shows tactile output generator 167 connected 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 to tactile output on the device). Contact intensity sensor 165 receives tactile feedback generation instructions 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 collocated with or adjacent 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 laterally (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.

[0033] Device 100 also optionally includes one or more accelerometers 168. FIG. 1A shows accelerometer 168 connected to peripherals interface 118. Alternatively, accelerometer 168 is optionally connected to input controller 160 in I / O subsystem 106. In some embodiments, information is displayed on the touchscreen display in portrait or landscape view based on analysis of data received from the one or more accelerometers. In addition to accelerometer(s) 168, device 100 optionally includes a magnetometer (not shown) 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.

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

[0035] Operating system 126 (e.g., an embedded operating system such as Darwin, RTXC, LINUX®, UNIX®, OS X®, WINDOWS®, or VxWorks®) includes various software components and / or drivers for controlling and managing general system tasks (e.g., memory management, storage control, power management, etc.) and facilitating communication between various hardware and software components.

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

[0037] Contact / motion module 130, optionally in conjunction with display controller 156, detects contact with touchscreen 112 and other touch-sensitive devices (e.g., a touchpad or physical click wheel). Contact / motion module 130 comprises various software components for performing various operations related to contact detection, such as determining whether contact has occurred (e.g., detecting a finger-down event), determining the intensity 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 contact movement 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 point represented by the series of contact data optionally includes determining the speed (absolute), velocity (absolute and direction), and / or acceleration (change in absolute value and / or direction) of the contact point. These operations optionally apply to a single contact (e.g., a single 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.

[0038] In some embodiments, contact / motion module 130 uses a set of one or more intensity thresholds to determine whether a user has performed an action (e.g., whether a user has “clicked” on an icon). In some embodiments, at least a subset of the intensity thresholds is determined according to software parameters (e.g., the intensity thresholds are not determined by the activation threshold of a particular physical actuator and may be adjusted without modifying the physical hardware of device 100). For example, the mouse “click” threshold of a trackpad or touchscreen display may be set to any wide range of default 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 set of intensity thresholds (e.g., by adjusting individual intensity thresholds and / or by adjusting multiple intensity thresholds at once using a system-level click “intensity” parameter).

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

[0040] Graphics module 132 comprises 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 that can be displayed to a user, including, but not limited to, text, web pages, icons (such as user interface objects including soft keys), digital images, video, animation, etc.

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

[0042] The tactile feedback module 133 comprises various software components for generating instructions used by the tactile output generator(s) 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.

[0043] Text input module 134 is optionally part 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).

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

[0045] The application 136 optionally includes the following modules (or sets of instructions), or a subset or superset thereof: Contacts module 137 (also called an address book or contact list) Telephone module 138 Videoconferencing module 139 Email client module 140 Instant Messaging (IM) Module 141 Training Support Module 142 Camera module 143 for still images and / or video Image Management Module 144 Browser module 147 Calendar module 148 A widget module 149, optionally including one or more of a weather widget 149-1, a stock price widget 149-2, a calculator widget 149-3, an alarm clock widget 149-4, a dictionary widget 149-5, and other widgets acquired 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 playback module 152, optionally comprising a video playback module and a music playback module; Memo module 153 Map module 154 ·155 Online Video Modules

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

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

[0048] Telephone module 138, in conjunction with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch screen 112, display controller 156, contact module 130, graphics module 132, and text input module 134, is optionally used to enter a series of characters corresponding to a telephone number, access one or more telephone numbers in address book 137, modify an entered telephone number, dial each telephone number, conduct a conversation, and disconnect or hang up when the conversation is completed. As noted above, wireless communication optionally uses any of a number of communication standards, protocols, and technologies.

[0049] In conjunction 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 module 130, graphics module 132, text input module 134, contact list 137, and telephone module 138, videoconferencing module 139 includes executable instructions for initiating, conducting, and terminating a videoconference between a user and one or more other participants in accordance with the user's instructions.

[0050] In conjunction with RF circuitry 108, touch screen 112, display controller 156, contact module 130, graphics module 132, and text input module 134, email client module 140 contains executable instructions for composing, sending, receiving, and managing emails in response to user instructions. In conjunction with image management module 144, email client module 140 makes it very easy to compose and send emails with still images or videos captured by camera module 143.

[0051] In conjunction with RF circuitry 108, touchscreen 112, display controller 156, contact module 130, graphics module 132, and text input module 134, instant messaging module 141 includes executable instructions for entering a series of characters corresponding to an instant message, modifying entered characters, sending each instant message (e.g., using Short Message Service (SMS) or Multimedia Message Service (MMS) protocols for telephone-based instant messaging, or using XMPP, SIMPLE, or IMPS for Internet-based instant messaging), receiving instant messages, and displaying the received instant messages. In some embodiments, sent and / or received instant messages optionally include graphics, photos, audio files, video files, and / or other attached information supported by MMS and / or Extended Messaging Service (EMS). As used herein, "instant messaging" refers to both telephone-based messages (e.g., messages sent using SMS or MMS) and Internet-based messages (e.g., messages sent using XMPP, SIMPLE, or IMPS).

[0052] In conjunction with the RF circuitry 108, touchscreen 112, display controller 156, contact module 130, graphics module 132, text input module 134, GPS module 135, map module 154, and music playback module 146, the training support module 142 includes executable instructions for creating workouts (e.g., with time, distance, and / or calorie burn goals), communicating with training sensors (sports devices), receiving training sensor data, calibrating sensors used to monitor workouts, selecting and playing music for workouts, and displaying, storing, and transmitting workout data.

[0053] In conjunction with touch screen 112, display controller 156, light sensor(s) 164, light sensor controller 158, contact module 130, graphics module 132, and image management module 144, camera module 143 contains executable instructions to capture still images or video (including video streams) and store them in memory 102, adjust characteristics of the still images or video, or delete the still images or video from memory 102.

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

[0055] In conjunction with RF circuitry 108, touch screen 112, display system controller 156, contact module 130, graphics module 132, and text input module 134, browser module 147 contains executable instructions for browsing the Internet, including retrieving, linking to, receiving, and displaying web pages or portions thereof, as well as attached information and other files linked to web pages, in accordance with user instructions.

[0056] In conjunction with RF circuitry 108, touch screen 112, display system controller 156, contact module 130, graphics module 132, text input module 134, email client module 140, and browser module 147, calendar module 148 contains executable instructions for creating, displaying, modifying, and storing calendars and calendar-related data (e.g., calendar entries, to-do lists, etc.) in accordance with user instructions.

[0057] In conjunction with RF circuitry 108, touchscreen 112, display system controller 156, contact module 130, graphics module 132, text input module 134, and browser module 147, widget module 149 is optionally a mini-application that a user downloads and uses (e.g., weather widget 149-1, stocks widget 149-2, calculator widget 149-3, alarm clock widget 149-4, and dictionary widget 149-5), or a mini-application that a user creates (e.g., user-created widget 149-6). In some embodiments, a widget includes an HTML (HyperText Markup Language) file, a CSS (Cascading Style Sheets) file, and a JavaScript file. In some embodiments, a widget includes an XML (Extensible Markup Language) file and a JavaScript file (e.g., Yahoo! Widget).

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

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

[0060] In conjunction with touchscreen 112, display system controller 156, contact module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, and browser module 147, video and music playback module 152 contains executable instructions for enabling a user to download and play pre-recorded music or 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 registered trademark of Apple Inc.).

[0061] In conjunction with touch screen 112, display controller 156, contact module 130, graphics module 132, and text input module 134, notes module 153 contains executable instructions for creating and managing notes, to-do lists, and the like, in accordance with user instructions.

[0062] In conjunction with RF circuitry 108, touch screen 112, display system controller 156, contact module 130, graphics module 132, text input module 134, GPS module 135, and browser module 147, map module 154 is optionally used to receive, display, adjust, and store maps and map-related data (e.g., driving directions, data regarding businesses and other points of interest at or near a particular location, and other location-based data) in accordance with user instructions.

[0063] In conjunction with touchscreen 112, display system controller 156, contact 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, online video module 155 contains instructions to enable a user to access, browse, 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) online videos in one or more file formats, such as H.264, and send or manage emails with links to particular online videos. In some embodiments, instant messaging module 141 is used to send links to particular online videos, rather than email client module 140.

[0064] Each of the above-identified modules and applications corresponds to an executable set of instructions that performs one or more of the functions described above and methods described herein (e.g., 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; thus, various subsets of these modules are optionally combined or otherwise rearranged in various embodiments. 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.

[0065] In some embodiments, device 100 is a device that performs operation of a predetermined set of functions on the device only via a touchscreen and / or touchpad (integrated within device 100 or on a separate device, such as an input device). 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.

[0066] The set of predefined functions performed solely via 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, home menu, or root menu from any user interface displayed on device 100. In some 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 instead of a touchpad.

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

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

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

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

[0071] 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., receiving an input that exceeds a predetermined noise threshold and / or that is longer than a predetermined duration).

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

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

[0074] Another aspect of a user interface associated with an application is a set of views, also referred to herein as application views or user interface windows, in which information is displayed and touch-based gestures are performed. The application view (of each application) that detects touches optionally corresponds to a programmatic level within the application's programmatic or view hierarchy. For example, the lowest-level view that detects touches is optionally called the hit view, and the set of events that are recognized as proper inputs is optionally determined based, at least in part, on the hit view of the initial touch that initiates the touch-based gesture.

[0075] Hit view determination module 172 receives information associated with sub-events of a touch-based gesture. If an application has multiple views organized hierarchically, hit view determination module 172 identifies the hit view as the lowest view in the hierarchy that should process the sub-events. In most cases, the hit view is the lowest-level view in which the first sub-event occurs (e.g., the first sub-event in a sequence of sub-events that form an event or potential event). Once a hit view is identified by the hit view determination module, the hit view typically receives all sub-events associated with the same touch or input source for which it was identified as the hit view.

[0076] 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-events are actively involved views, and therefore, all actively involved views should receive the particular sequence of sub-events. In other embodiments, even if the touch sub-events are completely confined to the area associated with a particular view, views higher in the hierarchy will remain actively involved views.

[0077] Event dispatcher module 174 sends the event information to an event recognizer (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 recognizer determined by active event recognizer determination module 173. In some embodiments, event dispatcher module 174 stores the event information obtained by each event receiver module 182 in an event queue.

[0078] 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 part of another module stored in memory 102, such as contact / motion module 130.

[0079] In some embodiments, application 136-1 includes multiple event handlers 190 and one or more application views 191, each containing instructions for handling touch events that occur 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, each application view 191 includes multiple event recognizers 180. In other embodiments, one or more of 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, each event handler 190 includes one or more of data updater 176, object updater 177, GUI updater 178, and / or event data 179 received from event sorter 170. Event handler 190 optionally utilizes or invokes data updater 176, object updater 177, or GUI updater 178 to update application internal state 192. Alternatively, one or more of the application views 191 include one or more respective event handlers 190. Also, in some embodiments, one or more of a data updater 176, an object updater 177, and a GUI updater 178 are included within each application view 191.

[0080] Each 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).

[0081] Event receiver 182 receives event information from event sorter 170. The event information includes information about a sub-event, such as a touch or touch movement. Depending on the sub-event, the event information also includes additional information, such as the location of the sub-event. If the sub-event relates to touch movement, the event information also optionally includes the speed and 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 orientation, or vice versa), and the event information includes corresponding information about the device's current orientation (also called the device's attitude).

[0082] The event comparator 184 compares the event information with 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 predefined sequence of sub-events), such as Event 1 (187-1), Event 2 (187-2), etc. In some embodiments, sub-events within an event 187 include, for example, touch start, touch end, touch movement, touch cancellation, and multi-touch. In one example, the definition of Event 1 (187-1) is a double tap on a displayed object. The double tap includes, for example, a first touch (touch start) on a displayed object in a predefined phase, a first lift-off (touch end) in the predefined phase, a second touch (touch start) on a displayed object in the predefined phase, and a second lift-off (touch end) in the predefined phase. In another example, a definition of event 2 (187-2) is a drag on a displayed object. Drag includes, for example, a touch (or contact) on a displayed object in a predetermined phase, 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 about one or more associated event handlers 190.

[0083] In some embodiments, event definitions 187 include a definition of the event for each user interface object. In some embodiments, event comparator 184 performs a hit test to determine which user interface object is associated with the sub-event. For example, in an application view in which three user interface objects are displayed on touch-sensitive display 112, when a touch is detected on touch-sensitive display 112, event comparator 184 performs a hit test to determine which of the three user interface objects is associated with the touch (sub-event). If each displayed object is associated with a respective event handler 190, event comparator 184 uses the results of the hit test to determine which event handler 190 needs to be activated. For example, event comparator 184 selects the event handler associated with the sub-event and object that triggers the hit test.

[0084] In some embodiments, the definition for each event 187 also includes a delay action that delays delivery of the event information until it is determined whether the sequence of sub-events corresponds to the event type of the event recognizer.

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

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

[0087] In some embodiments, each event recognizer 180 activates an event handler 190 associated with an event when one or more specific sub-events of the event are recognized. In some embodiments, each event recognizer 180 delivers event information associated with the event to the event handler 190. Activating an event handler 190 is distinct from sending (and deferring sending) sub-events to each hit view. In some embodiments, the event recognizer 180 throws a flag associated with the recognized event, and the event handler 190 associated with the flag catches the flag and performs predefined processing.

[0088] In some embodiments, event delivery instructions 188 include sub-event delivery instructions that deliver event information about a sub-event without activating an event handler. Instead, the sub-event delivery instructions deliver the event information to event handlers associated with a set of sub-events or actively interested views. The event handlers associated with the set of sub-events or actively interested views receive the event information and perform predefined processing.

[0089] In some embodiments, data updater 176 creates and updates data used in application 136-1. For example, data updater 176 updates phone numbers used in contacts module 137 or stores video files used in video playback module 145. In some embodiments, object updater 177 creates and updates objects used in application 136-1. For example, object updater 176 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 it to graphics module 132 for display on the touch-sensitive display.

[0090] In some embodiments, event handler(s) 190 include or have access to data updater 176, object updater 177, and GUI updater 178. In some embodiments, data updater 176, object updater 177, and GUI updater 178 are contained within a single module of each application 136-1 or application view 191. In other embodiments, they are contained in two or more software modules.

[0091] It will be understood that the above discussion regarding event processing of user touches on a touch-sensitive display and / or touchpad also applies to other forms of user input for operating multifunction device 100 using input devices, although not all of them are initiated on a touchscreen. For example, mouse movements and mouse button presses, optionally corresponding to single or multiple keyboard presses or holds, touch movements such as tapping, dragging, scrolling, etc. on a touchpad, pen stylus input, device movement, verbal commands, detected eye movement, biometric input, and / or any combination thereof, are optionally utilized as inputs corresponding to sub-events that define the event to be recognized.

[0092] 2 is a diagram illustrating portable or non-portable multifunction device 100 having touchscreen 112, according to some embodiments. While multifunction device 100 has been described above as having various illustrated structures (touchscreen 112, speaker 111, accelerometer 168, microphone 113, etc.), it will be understood that these structures optionally reside on separate devices. For example, display-related structures (e.g., display, speaker, etc.) and / or functionality optionally reside on a separate display device, input-related structures (e.g., touch-sensitive surface, microphone, accelerometer, etc.) and / or functionality optionally reside on a separate input device, and the remaining structures and / or functionality optionally reside on multifunction device 100.

[0093] Touchscreen 112 optionally displays one or more graphics within user interface (UI) 200. In this embodiment, as well as other embodiments described below, a user can select one or more of the graphics by making a gesture on the graphics, for example, with one or more fingers 202 (not drawn to scale) or one or more styluses 203 (not drawn to scale). In some embodiments, selection of one or more graphics occurs when the user breaks contact with 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, upward and / or downward), and / or finger rolling (right to left, left to right, upward and / or downward) contact with device 100. In some implementations or situations, inadvertent contact with a graphic does not result in selection of the graphic. For example, if the gesture corresponding to selection is a tap, a swipe gesture that swipes over an application icon does not optionally select the corresponding application.

[0094] 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 optionally running on device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key in a GUI displayed on touchscreen 112.

[0095] In one embodiment, device 100 includes touchscreen 112, menu button 204, pushbutton 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 docking / charging port 124. Pushbutton 206 is optionally used to power the device on / off by pressing and holding the button down for a predetermined time interval, to lock the device by pressing and releasing the button before the predetermined time interval has elapsed, and / or to unlock the device or initiate an unlocking process. In an alternative embodiment, device 100 also accepts verbal input for activating or deactivating some features via microphone 113. Device 100 also optionally includes one or more contact intensity sensors 165 for detecting the intensity of a contact on touchscreen 112 and / or one or more tactile output generators 167 for generating a tactile output for a user of device 100.

[0096] FIG. 3 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface, according to some embodiments. As noted above, device 300 need not include a display and a touch-sensitive surface; rather, in some embodiments, device 300 optionally communicates with displays and touch-sensitive surfaces on other devices. Additionally, device 300 need not be portable. In some embodiments, device 300 is a laptop computer, desktop computer, tablet computer, multimedia playback device (such as a television or set-top box), navigation device, educational device (such as a children's educational toy), gaming system, or controller 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, memory 370, and one or more communication buses 320 for interconnecting these components. Communication bus 320 optionally includes circuitry (also referred to as a chipset) that interconnects and controls communication between system components. Device 300 includes an input / output (I / O) interface 330 with a display 340, which is typically a touchscreen display. 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(s) 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(s) 165 described above with reference to FIG. 1A ). Memory 370 comprises high-speed random-access memory, such as DRAM, SRAM, DDR RAM, or other random-access solid-state memory devices, and optionally 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 the programs, modules, and data structures stored in memory 102 of portable or non-portable multifunction device 100 (FIG. 1A), or a subset thereof. In addition, memory 370 optionally stores 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, ​​word processing module 384, website creation module 386, disk authoring module 388, and / or spreadsheet module 390, while memory 102 of portable or non-portable multifunction device 100 (FIG. 1A) optionally does not store these modules.

[0097] 3 are optionally stored within one or more of the memory devices described above. Each of the identified modules corresponds to an instruction set for performing a function described above. The identified modules or programs (e.g., instruction sets) need not be implemented as separate software programs, procedures, or modules; thus, various subsets of these modules are optionally combined or otherwise rearranged in various embodiments. In some embodiments, memory 370 optionally stores a subset of the identified modules and data structures. Additionally, memory 370 optionally stores additional modules and data structures not described above.

[0098] 4 is a diagram illustrating an exemplary user interface on a device (e.g., device 300 of FIG. 3) with a touch-sensitive surface 451 (e.g., tablet or touchpad 355 of FIG. 3) that is separate from a 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 contact intensity on touch-sensitive surface 451, and / or one or more tactile output generators 359 for generating tactile outputs for a user of device 300.

[0099] Although some of the embodiments described below are described with reference to input on touchscreen display 112 (when 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 Figure 4. In some embodiments, this touch-sensitive surface (e.g., 451 in Figure 4) has a major axis (e.g., 452 in Figure 4) that corresponds to a major axis (e.g., 453 in Figure 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 Figure 4) at locations that correspond to respective locations on the display (e.g., in Figure 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) that the device detects on the touch-sensitive surface (e.g., 451 in FIG. 4) is used by the device to operate a user interface on the multifunction device's display (e.g., 450 in FIG. 4). It should be understood that similar methods are optionally used in other user interfaces described herein.

[0100] Additionally, while the following examples are primarily described with reference to finger input (e.g., finger touches, finger tap gestures, finger swipe gestures), it should be understood that in some embodiments, one or more of the 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 with a mouse click (e.g., instead of a touch), followed by cursor movement along the path of the swipe (e.g., instead of moving the contact). In another example, a tap gesture is optionally replaced with a mouse click while the cursor is positioned over the tap gesture location (e.g., instead of detecting a contact followed by ceasing contact detection). Similarly, it should be understood that when multiple user inputs are detected simultaneously, multiple computer mice are optionally used simultaneously, or mouse contacts and finger contacts are optionally used simultaneously.

[0101] 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 including a cursor or other position marker, the cursor functions as the “focus selector” such that when input (e.g., a touch-sensitive 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), the particular user interface element is adjusted in response to the detected input. In some implementations including 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, a contact detected on the touchscreen functions as the “focus selector” such that when input (e.g., a touch-sensitive input) is detected on the touchscreen display at the location of a particular user interface element (e.g., a button, window, slider, or other user interface element), the particular user interface element is adjusted in response to the detected input. In some implementations, focus moves from one area of ​​the user interface to another area 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-sensitive display; in these implementations, the focus selector moves in response to movement of focus between different areas of the user interface. Regardless of the particular form the focus selector takes, the focus selector is typically a user interface element (or contact on a touchscreen 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 the user interface element with which the user intends to interact).For example, while a press input on a touch-sensitive surface (e.g., a touchpad or touchscreen) is detected, the position of a focus selector (e.g., a cursor, touch, or selection box) on each button will indicate that the user intends to activate each button (as opposed to other user interface elements shown on the device's display).

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

[0103] In some embodiments, the device employs intensity hysteresis to prevent inadvertent input, also referred to as “jitter,” and the device defines or selects a hysteresis intensity threshold that has a predetermined relationship to the press input intensity threshold (e.g., the hysteresis intensity threshold is X intensity units below the press input intensity threshold, or the hysteresis intensity threshold is 75%, 90%, or some other moderate ratio of the press input intensity threshold). Thus, in some embodiments, the press input includes an increase in intensity for each contact that exceeds the press input intensity threshold and a decrease in intensity for each subsequent contact that falls below the hysteresis intensity threshold corresponding to the press intensity threshold, and respective actions are performed in response to detecting a decrease in intensity for each subsequent contact that falls below the hysteresis intensity threshold (e.g., the “upstroke” of each press input). Similarly, in some embodiments, a press input is detected, and a respective action is performed, in response to detecting the press 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), 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 press input intensity threshold, and optionally a subsequent decrease in the intensity of the contact to an intensity below the hysteresis intensity.

[0104] For ease of explanation, descriptions of actions performed in response to a press input associated with a press input intensity threshold or in response to a gesture including a 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. Additionally, in examples where an action is described as being performed in response to detecting a decrease in the intensity of the contact below a press input intensity threshold, the action 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.

[0105] 5 is a block diagram of an example structure of device 500, according to some embodiments of the present disclosure. In the embodiment of FIG. 5, media content is optionally received by device 500 via 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 devices, which optionally include instructions for performing one or more of the methods and / or processes described in this disclosure.

[0106] In some embodiments, display controller 508 causes various user interfaces of the present disclosure to be displayed on display 500. Additionally, input to device 500 is optionally provided by remote control 510 via remote control interface 512, which is optionally wireless or wired. It will be understood that the embodiment of FIG. 5 is not intended to limit the features of the devices of the present disclosure, and that other components to facilitate implementation of other features described in this disclosure are also optionally included in the structure of FIG. 5.1A and 2 and device 300 of FIG. 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(s) 120 of FIG. 1A and CPU(s) 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 control interface 512 optionally corresponds to peripherals interface 118 and I / O subsystem 106 (and / or 1A , the remote control 510 may optionally correspond to one or more of the speaker 111, touch-sensitive display system 112, microphone 113, light sensor(s) 164, contact intensity sensor(s) 165, tactile output generator(s) 167, other input control devices 116, accelerometer(s) 168, proximity sensor 166, and I / O sub-devices 118 of FIG. 1A , or components thereof, and I / O interface 330 of FIG. 3 . 1A and 2, display 340 of FIG. 3, and display 450 of FIG. 4. Display 514 optionally corresponds to and / or includes system 106, and one or more of keyboard / mouse 350, touchpad 355, tactile output generator(s) 357, and contact intensity sensor(s) 359 of FIG. 3, and touch-sensitive surface 451 of FIG. 4. Display 514 optionally corresponds to one or more of touch-sensitive display system 112 of FIGS. 1A and 2, display 340 of FIG. 3, and display 450 of FIG. 4. User Interface and Related Processes Feature Information Display

[0107] In situations where a user interacts with an electronic device using an input device such as a touch-sensitive surface, providing the user with information about features that may be accessible from the input device (“feature information”) can be beneficial to the user's experience with the electronic device. This can be particularly true in situations where the input device itself does not contain visual information about such features, such as a touch-sensitive surface with a blank, uniform surface. The embodiments described below demonstrate how such feature information can be presented. Improving interaction with the device reduces the amount of time required by the user to perform an action, thereby reducing the device's power usage and extending the battery life of battery-powered devices.

[0108] It is understood that people use devices. When an individual uses a device, that individual is optionally referred to as the user of the device. Thus, in this disclosure, references to "individuals" or "people" can optionally be replaced with "user(s)," and references to "user(s)" can optionally be replaced with "individuals" or "people."

[0109] 6A-6G illustrate exemplary methods for presenting feature information in a user interface according to some embodiments of the present disclosure. The embodiments in these figures are used to explain the processes described below, including the processes described with reference to FIGS. 7A-7G.

[0110] 6A is a diagram illustrating an exemplary display 450 and touch-sensitive surface 451. Display 450 (e.g., a television or other display device) and touch-sensitive surface 451 are optionally integrated with and / or otherwise in communication with a device such as device 500 described above with reference to FIG. 5, e.g., a set-top box or other user interface generating device that communicates with a remote control and display device. Display 450 optionally displays one or more user interfaces including various content. Touch-sensitive surface 451 optionally includes a plurality of predefined regions 602, 604, 606, 608, 610, 612, 614, 616, and 618. In some embodiments, one or more of the predefined regions 602, 604, 606, 608, 610, 612, 614, 616, and 618 are selectable to perform a function associated with each predefined region (e.g., one or more of the regions are selectable to perform functions including skipping backward, skipping forward, rewinding, fast-forwarding, scrubbing, and displaying information associated with a content item in a user interface displayed on the display 450). Further exemplary functions are described below. In particular, in some embodiments, tapping one of the predefined regions performs the function associated with the predefined region, in some embodiments, clicking the predefined region performs the function associated with the predefined region, and in some embodiments, one or more other inputs detected in the predefined region indicate performing the function associated with the predefined region. For example, in some embodiments, clicking on region 612 (e.g., detecting a button click while detecting a contact, such as contact 601 or a different contact, on region 612, or detecting an increase in contact intensity, such as contact 601 or a different contact, detected within region 612 above a predefined intensity threshold) performs a fast-forward operation on content displayed on display 450 while detecting a contact on region 612.The surface of touch-sensitive surface 451 is optionally visually uniform and optionally does not provide visual notification of the presence of predefined regions 602, 604, 606, 608, 610, 612, 614, 616, and 618 and / or their associated functions. It may therefore be beneficial to display such information on display 450.

[0111] In some embodiments, receiving an indication of contact 601 detected on touch-sensitive surface 451 and determining whether the contact has been detected for longer than a first period of time (e.g., determining whether finger rest is detected on the touch-sensitive surface of the remote control for a period of at least a threshold, such as 0.1, 0.2, 0.5, or 1 second) initiates a process of optionally determining and / or displaying functional information on display 450. In some embodiments, contact 601 need not be detected for longer than the first period of time; rather, a tap on the touch-sensitive surface initiates a process of optionally determining and / or displaying functional information on display 450. As shown in FIG. 6A , in some embodiments, contact 601 is detected in predefined area 610, although it is understood that a contact detected anywhere on touch-sensitive surface 451 optionally initiates the determination and / or display of functional information. In some embodiments, the functionality information is determined and / or displayed not in response to detecting an input to display the functionality information, but rather in response to determining that one or more functions are accessible from the touch-sensitive surface based on the state of the user interface on display 450; for example, selecting a user interface element (e.g., an application or channel) within the user interface will optionally display functionality information associated with the selected user interface element (e.g., functionality information for removing an application or channel from the applications or channel bar). The following discussion focuses on embodiments that display functionality information in response to detecting an input to display the functionality information, although it will be understood that the scope of the present disclosure, as discussed above, is not so limited.

[0112] Following a determination that contact 601 meets function display criteria (e.g., one or more criteria), including criteria that are met if the contact is detected for longer than a first period of time, in some embodiments, function information is determined for display in a user interface displayed on display 450, the function information including information about a first function of a plurality of functions associated with predefined regions 602, 604, 606, 608, 610, 612, 614, 616, and 618. This determination may include, for example, determining each function for which function information is to be displayed and then selecting pre-generated function information corresponding to each function or generating function information to be displayed on display 450 (e.g., optionally invoking information about one or more functions accessible from the touch-sensitive surface by pausing a finger anywhere on touch-sensitive surface 451). In some embodiments, the function information includes one or more icons displayed in a user interface on display 450 that indicate the function of the corresponding region of the touch-sensitive surface. In some embodiments, the information about the first function includes a visual cue for performing the first function (e.g., a visual indication of the function to be performed and how to perform the function from a remote control, etc.).

[0113] Following a determination that the contact 601 does not meet the function display criteria (e.g., because the contact has not been detected for longer than a first period of time or because the contact has not been substantially stationary for longer than a first period of time), the electronic device optionally refrains from determining function information including information regarding a first function of the plurality of associated functions (e.g., not displaying icons or information indicating functions of different areas on the touch-sensitive surface 451 if the contact ends before the first period of time is reached).

[0114] In some embodiments, the functional display criteria include a criterion that is met if the contact moves less than a first movement threshold for a first period of time (e.g., in some embodiments, the contact must be a substantially stationary contact to display the functional information).

[0115] 6B illustrates exemplary function information 620 displayed within a user interface on display 450 pursuant to a determination that contact 601 meets function display criteria. Function information 620 optionally includes information about functions accessible from touch-sensitive surface 451 (e.g., fast forward) and / or information about how to access the functions (e.g., by clicking on predefined area 612). In some embodiments, the function information includes an overlay displayed over a moving or still image within the user interface displayed by display 450.

[0116] 6C illustrates an exemplary selection of functions accessible from touch-sensitive surface 451. As described above, selection of a function is optionally achieved upon receiving notification of input detected on a predefined area associated with the function ("second input"). As shown in FIG. 6C, in some embodiments, selection of the fast-forward function is achieved by detecting a click within predefined area 612 shown in the figure. In response to receiving notification of the second input, the electronic device optionally executes the function associated with the predefined area in which the second input was detected.

[0117] In some embodiments, detecting the second input (e.g., a click) includes detecting the second input simultaneously with a contact (e.g., contact 601) on touch-sensitive surface 451 (e.g., a click within predefined area 612 is optionally detected in response to contact 601 moving into predefined area 612 and providing a click input without lifting the contact off the touch-sensitive surface). In some embodiments, detecting the second input includes detecting a second contact (e.g., one or more of a tap, a click, and a cessation of touch) on predefined area 612 of touch-sensitive surface 451. In some embodiments, detecting the second input includes detecting an increase in the intensity of the contact above a first predefined intensity threshold (e.g., detecting a mechanical click or force).

[0118] In some embodiments, detecting multiple contacts having different intensities causes the device to perform different functions. In some embodiments, the electronic device optionally receives a notification regarding a third input detected on a first predetermined area (e.g., predetermined area 612) of touch-sensitive surface 451 associated with a first function (e.g., fast-forward), where detecting the third input includes detecting a second increase in intensity of the contact (e.g., contact 601) that exceeds a second predetermined intensity threshold (multi-step click), where the second predetermined intensity threshold is higher than the first predetermined intensity threshold. In response to receiving the notification regarding the third input, the electronic device optionally refrains from performing the first function (e.g., fast-forward) associated with the first predetermined area (e.g., predetermined area 612) on the touch-sensitive surface and performs a second function associated with the first predetermined area (e.g., predetermined area 612) on the touch-sensitive surface, where the second function is different from the first function (e.g., a two-step click optionally performs a different function than a one-step click).

[0119] In some embodiments, before executing the second function, the electronic device replaces the function information in the user interface (e.g., function information 620) with second function information (e.g., updated function information for the second function), where the second function information includes second information for the second function associated with the first predetermined region of the touch-sensitive surface.

[0120] In some embodiments, detecting a click-and-hold type input performs a function different from the click-type input. In some embodiments, detecting the second input further includes detecting a contact (e.g., contact 601) on the touch-sensitive surface of the device for greater than a second duration after detecting an increase in intensity of the contact above a first predetermined intensity threshold (e.g., clicking and holding for a duration threshold such as at least 0.1, 0.2, 0.5, or 1 second). In response to receiving notification of the second input, the electronic device optionally refrains from performing a first function associated with the first predetermined area on the touch-sensitive surface and performs a second function associated with the first predetermined area on the touch-sensitive surface, the second function being different from the first function (e.g., the click-and-hold initiates a function different from just clicking). Similarly, in some embodiments, before performing the second function, the electronic device replaces function information in the user interface with second function information, the second function information including second information regarding a second function associated with the first predetermined area of ​​the touch-sensitive surface.

[0121] In some embodiments, the functionality accessible from predefined areas 602, 604, 606, 608, 610, 612, 614, 616, and 618 of touch-sensitive surface 451 is based on the current context of the user interface displayed on display 450 (e.g., what type of content is being displayed in the user interface). In some embodiments, a first predefined area (e.g., predefined area 612) of multiple predefined areas on the device's touch-sensitive surface is associated with a first set of functions, the first set of functions including a first function (e.g., the middle-right area of ​​the touch-sensitive surface is optionally associated with fast-forwarding and skipping advertisements). Determining functionality information to display in response to receiving notification of the first input optionally includes determining the current context of the user interface (e.g., what type of content is being displayed in the user interface) and selecting a first function from the first set of functions based on the current context of the user interface.

[0122] In some embodiments, selecting a first function from a first set of functions based on a current context of the user interface includes: pursuant to a determination that the current context is a first context (e.g., an advertisement displayed in the user interface, a music collection displayed in the user interface, an application displayed in the user interface, and a photo collection displayed in the user interface), the first function corresponds to a first action (e.g., skipping the advertisement, navigating to a page of the music collection, switching to another application, and navigating to a page of the photo collection); and pursuant to a determination that the current context is a second context different from the first context (e.g., a movie displayed in the user interface, a television channel displayed in the user interface, and a page of content information displayed in the user interface), the first function corresponds to a second action different from the first action (e.g., fast-forwarding a video, changing the channel, and viewing more content information).

[0123] It should be noted that in some embodiments, the functionality described herein is optionally accessed without first displaying the described functionality information, and in some embodiments, the display of functionality information only provides information about which functionality is optionally accessible from touch-sensitive surface 451.

[0124] FIG. 6D illustrates exemplary function information displayed within a user interface on display 450. In some embodiments, function information 622 includes an icon or other graphic that provides information about the associated function; as shown in FIG. 6D , in some embodiments, the icon indicates that the function is a fast-forward function. In some embodiments, the icon (e.g., function information 622) is displayed in a first location within the user interface (e.g., the middle-right side of the user interface), where the first location corresponds to a first predefined area (e.g., predefined area 612) on the touch-sensitive surface associated with the first function (e.g., the first area on the touch-sensitive surface, when selected, performs the first function), for example, the middle-right area of ​​the touch-sensitive surface, e.g., predefined area 612. Thus, in some embodiments, the location of the function icon within the user interface corresponds to the location of the function access on touch-sensitive surface 451 of the remote control. Selection of the function is optionally achieved as described above. In some embodiments, function information 622 optionally provides some visual indication (e.g., glowing, blinking, etc.) that contact 603 has been detected within an area of ​​touch-sensitive surface 451 that corresponds to function information (e.g., predefined area 612). This visual indication optionally provides feedback to the user that further selection of predefined area 612 (e.g., by clicking within predefined area 612) will perform the function associated with predefined area 612 and function information 622.

[0125] 6E is a diagram illustrating exemplary function information for two functions displayed within a user interface on display 450. In some embodiments, the function information displayed on display 450 includes information about two or more functions accessible from touch-sensitive surface 451 (e.g., function information 626, 624, and 628, respectively, indicating accessibility to a rewind function from default area 608, accessibility to a fast-forward function from default area 612, and accessibility to an information function from default area 604). Further, as mentioned above, each piece of function information is optionally displayed in a position within the user interface that corresponds to an associated default area on touch-sensitive surface 451. The relative position of function information 626 with respect to function information 624 within the user interface optionally corresponds to the relative position of default area 608 with respect to default area 612. Selection of each function is optionally achieved as described above and as shown in FIG. 6E.

[0126] As described above, in some embodiments, the functionality accessible from a predefined region is based on context, as shown in Figures 6F and 6G. In some embodiments, a second predefined region (e.g., region 608) of the plurality of predefined regions on the touch-sensitive surface of the device is associated with a second set of functions, the second set of functions including a second function (e.g., the middle-left region of the touch-sensitive surface is associated with a first function and the middle-right region of the touch-sensitive surface is associated with a second function). Determining functionality information to display in response to receiving notification of a first input (e.g., finger lift) further includes selecting a second function from the second set of functions based on a current context of the user interface (e.g., what type of content is being displayed in the user interface). Upon determining that the current context is a first context (e.g., an advertisement displayed within a user interface as shown in FIG. 6F), a first function (e.g., function 630 of FIG. 6F) corresponds to a first action (e.g., skipping the advertisement), and a second function (e.g., function 632 of FIG. 6F) corresponds to a third action (e.g., restarting the advertisement) that is different from the first and second actions (e.g., the middle-left area of ​​the touch-sensitive surface restarts the advertisement, and the middle-right area of ​​the touch-sensitive surface skips the advertisement). Upon determining that the current context is a second context (e.g., a movie displayed within a user interface as shown in FIG. 6G), a first function (e.g., function 624 of FIG. 6G) corresponds to a second action (e.g., fast-forwarding the movie), and a second function (e.g., function 626 of FIG. 6G) corresponds to a fourth action (e.g., rewinding the movie) that is different from the first action, the second action, and the third action (e.g., the middle-left area of ​​the touch-sensitive surface rewinds the movie, and the middle-right area of ​​the touch-sensitive surface fast-forwards the movie).

[0127] As noted above, any number of functions are optionally accessible from the touch-sensitive surface of the present disclosure. In some embodiments, the plurality of associated functions accessible from the touch-sensitive surface include navigation functions for navigating within a user interface (e.g., moving a selection indicator up, down, left, and right by tapping the top, bottom, left, and right sides, respectively, of the device's touch-sensitive surface; selecting an object within the user interface by clicking on the device's touch-sensitive surface; and displaying a context-sensitive navigation menu by clicking and holding on the device's touch-sensitive surface).

[0128] In some embodiments, the associated functions accessible from the touch-sensitive surface include navigation functions for navigating content within a user interface (e.g., moving images left / right or previous / next by tapping and / or clicking on the left and right sides of the device's touch-sensitive surface, respectively; moving to the previous image / next image by swiping right and left on the device's touch-sensitive surface, respectively; skipping content (e.g., video) backward / forward by clicking on the top left and top right areas of the device's touch-sensitive surface, respectively; jumping content (e.g., video) backward / forward by clicking and holding on the top left and top right areas of the device's touch-sensitive surface, respectively; rewinding / fast-forwarding content (e.g., video) by clicking on the left and right sides of the device's touch-sensitive surface, respectively; clicking and holding on the left and right sides of the device's touch-sensitive surface, respectively). rewind / fast forward content (e.g., music) by clicking the left and right sides of the device's touch-sensitive surface, respectively; change to the previous / next track in content (e.g., music) by swiping in from the left and right edges of the device's touch-sensitive surface, respectively; change to the previous / next channel by swiping in from the left edge and right edge of the device's touch-sensitive surface towards the center; skip to the last channel by swiping in from the left edge of the device's touch-sensitive surface towards the center; display one or more overlay applications by swiping in from the right edge or top edge of the device's touch-sensitive surface towards the center; display a content guide (e.g., electronic program guide) by clicking the top left area of ​​the device's touch-sensitive surface; view content in full screen mode by clicking the top right area of ​​the device's touch-sensitive surface;displaying a filmstrip (e.g., scrub bar) of images corresponding to chapters / keyframes of content (e.g., video) by swiping up and down, respectively, on the touch-sensitive surface of the device; playing content from the current position in the filmstrip (e.g., scrub bar) by clicking on the touch-sensitive surface of the device; displaying a photostrip of images from a collection of images by clicking on the touch-sensitive surface of the device; displaying a history of played content (e.g., music) and / or upcoming content (e.g., music) by clicking on the touch-sensitive surface of the device.

[0129] In some embodiments, the associated functions accessible from the touch-sensitive surface include navigation functions for navigating one or more content bars (e.g., application bars or channel bars) within the user interface (e.g., moving to the next / previous content bar by tapping the top and bottom sides, respectively, of the device's touch-sensitive surface; moving left / right within the current content bar by tapping the left and right sides, respectively, of the device's touch-sensitive surface; moving to the next / previous content bar by swiping up and down, respectively, on the device's touch-sensitive surface; selecting an object (e.g., an application or channel) within the current content bar by clicking on the device's touch-sensitive surface).

[0130] In some embodiments, the plurality of associated functions accessible from the touch-sensitive surface includes an information function for displaying information about content within the user interface (e.g., displaying information about content by clicking on the top side of the device's touch-sensitive surface, displaying information about content by swiping in from the left edge of the device's touch-sensitive surface toward the center).

[0131] The table below lists some of the functions, one or more of which in various combinations may optionally be accessible from the touch sensitive surface (TSS) of the present disclosure. [Table 1]

[0132] 7A-7G are flow diagrams illustrating a method 700 for displaying feature information, according to some embodiments. Method 700 is optionally performed on an electronic device, such as device 500 described above with reference to FIG. 5, including a set-top box or other user interface generating device in communication with a remote control and a display device. Some operations of method 700 are optionally combined and / or the order of some operations is optionally changed.

[0133] As described below, method 700 provides a way for a device to optionally provide functional information to a user. This reduces the cognitive burden on a user when interacting with the user interface of a device of the present disclosure, thereby creating a more efficient human-machine interface. More efficient user interaction with the user interface allows battery-powered electronic devices to conserve power and extend the time between battery charges.

[0134] In some embodiments, an electronic device with one or more processors and memory (e.g., a set-top box or other user interface generating device in communication with a remote control and a display device, such as device 500 of FIG. 5) generates (702) a user interface for display on a display device (e.g., a television or other display device, such as display 450 of FIG. 6A).

[0135] In some embodiments, while the user interface is displayed on the display device, the device receives (703) a notification regarding a first input comprising a contact (e.g., a finger contact or a stylus contact) detected on a touch-sensitive surface of the device (e.g., a touch-sensitive surface of a remote control or portable multifunction device with a touchscreen display, such as touch-sensitive surface 451 of FIG. 6A where contact 601 is detected). In some embodiments, the touch-sensitive surface comprises a plurality of predefined regions (e.g., regions 602, 604, 606, 608, 610, 612, 614, 616, and 618 on touch-sensitive surface 451 of FIG. 6A), each of the plurality of predefined regions being selectable to perform an associated function (704) (e.g., each region being selectable to perform functions including skip backward, skip forward, rewind, fast-forward, scrubbing, and viewing information associated with the content item). In some embodiments, the touch-sensitive surface includes fewer than nine predefined regions; for example, in some embodiments, the touch-sensitive surface includes four predefined regions (top right, bottom right, bottom left, and top left), which are optionally more than nine predefined regions; in some embodiments, the touch-sensitive surface includes five predefined regions (top right, bottom right, bottom left, top left, and center), which are optionally more than nine predefined regions but optionally less than four predefined regions. In some embodiments, the number of predefined regions on the touch-sensitive surface is based on the number of functions that need to be accessible from the touch-sensitive surface (e.g., the more functions that need to be accessible from the touch-sensitive surface, the more predefined regions the touch-sensitive surface optionally includes). In some embodiments, the device includes an input device, and the input device and the display device are separate devices (705) (e.g., display 450 and touch-sensitive surface 451 of FIG. 6A are configured as separate devices).

[0136] In some embodiments, the plurality of associated functions includes a navigation function for navigating within the user interface (706). In some embodiments, the plurality of associated functions includes a navigation function for navigating content within the user interface (707). In some embodiments, the plurality of associated functions includes a navigation function for navigating one or more content bars within the user interface (708). In some embodiments, the plurality of associated functions includes an information function for displaying information about content within the user interface (709).

[0137] In some embodiments, in response to receiving notification of a first input (e.g., contact 601 of FIG. 6A ) (710), the device determines whether the contact is detected for longer than a first time period (e.g., whether finger rest is detected on the touch-sensitive surface of the remote control for a time period threshold, such as at least 0.1, 0.2, 0.5, or 1 second; e.g., whether contact 601 of FIG. 6A is detected for longer than the time period threshold) (712). In some embodiments, following a determination that the contact meets function display criteria (e.g., one or more criteria), including criteria that are met if the contact is detected for longer than the first time period, the device determines function information to display within the user interface (e.g., function information 620 of FIG. 6A , function information 622 of FIG. 6D , and function information 624 and 626 of FIG. 6E ) (e.g., determining each function for which function information is to be displayed and then selecting pre-generated function information corresponding to each function or generating function information to be displayed on the display) (714). In some embodiments, the function information includes information about a first function of a plurality of associated functions (716) (e.g., finger resting anywhere on the touch-sensitive surface invokes information about one or more functions accessible from the touch-sensitive surface). For example, the function information optionally includes one or more icons displayed in the user interface (e.g., icons 624 and 626 in FIG. 6E ) that indicate functions accessible from corresponding regions of the touch-sensitive surface. In some embodiments, the function information includes an overlay displayed over an animated or still image in the user interface (718) (e.g., function information 622 in FIG. 6D is optionally superimposed over an animated or still image displayed on display 450). In some embodiments, the function display criteria include a criterion that is met if the contact has moved less than a first movement threshold for a first period of time (720) (e.g., in order to display the function information, the contact (e.g., contact 601 in FIG. 6A ) optionally must be a substantially stationary contact).In some embodiments, the information about the first function includes a visual cue for performing the first function (e.g., a visual indication of the function to be performed and how to perform the function from a remote control, such as function information 620 in FIG. 6C and function information 624 and 626 in FIG. 6E) (722).

[0138] In some embodiments, information about the first function is displayed at a first location within the user interface, the first location corresponding to a first predefined area on the touch-sensitive surface associated with the first function (e.g., a first predefined area on the touch-sensitive surface that, when activated, performs the first function) (724). Thus, in some embodiments, the location of the function icon on the user interface is mapped to a location of the function access on the touch-sensitive surface of the remote control. For example, the location of function information 622 on display 450 optionally corresponds to the location of area 612 on touch-sensitive surface 451 of FIG. 6D . In some embodiments, the function information further includes second information about a second function of the plurality of associated functions (726). In some embodiments, the second information is displayed at a second location within the user interface, the second location corresponding to a second predefined area on the touch-sensitive surface associated with the second function (e.g., a second area on the touch-sensitive surface that, when activated, performs the second function) (728). In some embodiments, the relative position of a first location in the user interface to a second location in the user interface corresponds to the relative position of a first predetermined area on the touch-sensitive surface to a second predetermined area on the touch-sensitive surface (730), as shown in FIG. 6E where functional areas 624 and 626 correspond to areas 612 and 608, respectively.

[0139] In some embodiments, a first predetermined area of ​​a plurality of predetermined areas on the touch-sensitive surface of the device is associated with a first set of functions, the first set of functions including a first function (732) (e.g., an area on the right side of the touch-sensitive surface (e.g., area 612 in FIG. 6A ) is optionally associated with fast-forwarding and skipping advertisements). In some embodiments, a second predetermined area of ​​the plurality of predetermined areas on the touch-sensitive surface of the device is associated with a second set of functions, the second set of functions including a second function (734) (e.g., an area on the left side of the touch-sensitive surface (e.g., area 608 in FIG. 6A ) is associated with the first set of functions and an area on the right side of the touch-sensitive surface is associated with the second set of functions). In some embodiments, determining (736) the function information to display in response to receiving notification of the first input includes determining (738) a current context of the user interface (e.g., determining what type of content is being displayed in the user interface). In some embodiments, determining feature information to display in response to receiving notification of the first input (736) includes selecting a first feature from a first feature set based on a current context of the user interface (740). In some embodiments, pursuant to determining that the current context is a first context (e.g., an advertisement displayed in the user interface, a music collection displayed in the user interface, an application displayed in the user interface, a photo collection displayed in the user interface, etc.), the first feature corresponds to a first action (742) (e.g., skipping the advertisement, navigating to a page in the music collection, switching to another application, navigating to a page in the photo collection, etc.).In some embodiments, pursuant to determining that the current context is a second context different from the first context (e.g., a movie displayed in the user interface, a television channel displayed in the user interface, a page of content information displayed in the user interface, etc.), the first function corresponds to a second action different from the first action (e.g., fast-forwarding the movie, changing the channel, viewing more content information, etc.) (744). For example, selecting region 612 in FIG. 6A optionally performs the first action if the current context is the first context, and the second action if the current context is the second context.

[0140] In some embodiments, determining function information to display in response to receiving notification of the first input (736) includes selecting a second function from a second set of functions based on a current context of the user interface (746). In some embodiments, pursuant to determining that the current context is a first context (e.g., an advertisement displayed within the user interface), the first function corresponds to a first action (e.g., skipping the advertisement) and the second function corresponds to a third action (e.g., restarting the advertisement) that is different from the first and second actions (e.g., a region on the left of the touch-sensitive surface restarts the advertisement and a region on the right of the touch-sensitive surface skips the advertisement) (748). In some embodiments, pursuant to a determination that the current context is a second context (e.g., a movie displayed in a user interface), the first function corresponds to a second action (e.g., fast-forwarding the movie), and the second function corresponds to a fourth action (e.g., rewinding the movie) that is different from the first, second, and third actions (e.g., an area on the left side of the touch-sensitive surface rewinds the movie, and an area on the right side of the touch-sensitive surface fast-forwards the movie) (750). Thus, the actions performed by the areas on the touch-sensitive surface are, optionally, based on the current context of the user interface.

[0141] In some embodiments, following a determination that the contact does not meet the function display criteria (e.g., because the contact has not been detected for longer than a first period of time), the device refrains from determining (752) function information, including information regarding a first function of the plurality of associated functions (e.g., not displaying icons such as icons 624 and 626 in FIG. 6E that indicate functions of different regions of the touch-sensitive surface, if the contact ends before the first period of time is reached).

[0142] In some embodiments, following a determination that the contact did not meet the function indication criteria because it moved beyond a first movement threshold for a first period of time, the device refrains from determining function information (754), including information regarding a first function of the plurality of associated functions.

[0143] In some embodiments, the device receives notification of a second input detected on a first predetermined area of ​​the touch-sensitive surface associated with the first function (756), as shown by contacts 601 and 603 in Figures 6C and 6D. In some embodiments, detecting the second input includes detecting the second input simultaneously with the contact on the touch-sensitive surface of the device (758) (e.g., contact lift-off need not be detected before detecting a click in each predetermined area of ​​the touch-sensitive surface). In some embodiments, detecting the second input includes detecting a second contact (e.g., one or more of a tap, a click, and a cessation of touch) on the first predetermined area of ​​the touch-sensitive surface of the device (760). In some embodiments, detecting the second input includes detecting an increase in the intensity of the contact above a first predetermined intensity threshold (e.g., detecting a mechanical click or force).

[0144] In some embodiments, in response to receiving notification of the second input, the device performs a first function associated with the first default region (764). For example, in response to receiving notification of contact 601 in region 612 of FIG. 6C, the device optionally fast-forwards content in the user interface.

[0145] In some embodiments, the device receives notification of a third input detected on a first predefined region of the touch-sensitive surface associated with the first function (766). In some embodiments, detecting the third input includes detecting a second increase in intensity of the contact above a second predefined intensity threshold (e.g., a multi-step click), the second predefined intensity threshold being higher than the first predefined intensity threshold (768). In some embodiments, in response to receiving the notification of the third input, the device refrains from performing the first function associated with the first predefined region on the touch-sensitive surface and performs a second function associated with the first predefined region on the touch-sensitive surface, the second function being different from the first function (770) (e.g., a two-step click performs a different function than a one-step click). For example, a one-step click in region 612 of FIG. 6C optionally performs a fast-forward action, while a two-step click in region 612 optionally performs a different action (e.g., skip forward 30 seconds).

[0146] In some embodiments, before executing the second function, the device replaces the function information in the user interface with second function information, the second function information including second information regarding a second function associated with the first predetermined region of the touch-sensitive surface (772). For example, the device optionally replaces function information 620 of FIG. 6C with function information regarding a different function to be executed in response to the two-step click.

[0147] In some embodiments, detecting the second input further includes detecting a contact on the touch-sensitive surface of the device for more than a second duration (e.g., detecting a click and hold for a duration threshold, such as at least 0.1, 0.2, 0.5, or 1 second) after detecting an increase in intensity of the contact above a first predetermined intensity threshold (774). In some embodiments, in response to receiving notification of the second input, the device refrains from performing a first function associated with a first predetermined area on the touch-sensitive surface and performs a second function associated with the first predetermined area on the touch-sensitive surface, the second function being different from the first function (776) (e.g., the click and hold initiates a different function than a click alone). For example, a single click in region 612 of FIG. 6C optionally performs a fast-forward action, while a click and hold in region 612 optionally performs a different action (e.g., skip to the next chapter in the content).

[0148] In some embodiments, before executing the second function, the device replaces the function information in the user interface with second function information, the second function information including second information about a second function associated with the first predetermined region of the touch-sensitive surface (778). For example, the device optionally replaces function information 620 of FIG. 6C with function information about a different function to be executed in response to the click and hold.

[0149] It should be understood that the particular order of operations described in Figures 7A-7G is merely illustrative and is not intended to indicate that the described order is the only order in which the operations can be performed. Those skilled in the art will recognize various ways to rearrange the order of operations described herein. Additionally, it should be noted that other process details described herein with respect to other methods described herein (e.g., methods 900, 1100, 1300, and 1500) may also be applied in a manner similar to method 700 described above with respect to Figures 7A-7G. For example, the user interface, display device, touch-sensitive surface, and contacts described above with respect to method 700 optionally have one or more of the features of the user interface, display device, touch-sensitive surface, and contacts described herein with respect to other methods described herein (e.g., methods 900, 1100, 1300, and 1500). For the sake of brevity, these details will not be repeated here.

[0150] The operations of the information processing methods described above are optionally performed by running one or more functional modules in an information processing device, such as a general-purpose processor (e.g., as described above with respect to Figures 1A, 3 and 5) or an application-specific chip.

[0151] 7A-7G are optionally performed by the components shown in FIGS. 1A and 1B. For example, generating operation 702, receiving operation 703, and determining operations 712 and 714 are optionally performed by event sorter 170, event recognizer 180, and event handler 190. Event monitor 171 in event sorter 170 detects contacts on touch-sensitive display 112, and event dispatcher module 174 delivers the event information to application 136-1. Each event recognizer 180 of application 136-1 compares the event information to each 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 selecting an object on a user interface. Upon detection of each predefined event or sub-event, event recognizer 180 activates event handler 190 associated with the detection of the event or sub-event. Event handler 190 optionally utilizes or invokes data updater 176 or object updater 177 to update application internal state 192. In some embodiments, event handler 190 accesses a respective GUI updater 178 to update what the application displays. Similarly, it will be apparent to those skilled in the art how other processes can be implemented based on the components shown in Figures 1A and 1B. Content Navigation Bar

[0152] Providing a content navigation bar that allows a user to easily and efficiently navigate content displayed within a user interface provided by a device can improve user interaction with the content and the device. The embodiments described below describe how a device can optionally present such a content navigation bar within its user interface. Improving interaction with a device reduces the amount of time required by a user to perform an action, thereby reducing device power usage and extending battery life for battery-powered devices.

[0153] 8A-8G illustrate exemplary methods for presenting a content navigation bar in a user interface according to some embodiments of the present disclosure. The embodiments in these figures are used to explain the processes described below, including the processes described with reference to FIGS. 9A-9G.

[0154] 8A shows an exemplary sequence of content items. The content items in sequence 802 are, optionally, any content items, such as movies, television programs, and / or applications. In some embodiments, sequence 802 includes entries representing content item 1 through content item N (e.g., entries 804, 806, 808, and 810). Sequence 802 optionally provides information regarding the ordering of the content items represented in the sequence. For example, the fact that entry 806, which is content item 2, comes before entry 808, which is content item 3, indicates that content item 2 comes before content item 3 in the proper sequence or order. In addition to or as an alternative to the actual ordering of entries 804, 806, 808, and 810 in sequence 802, the entries themselves optionally include information regarding the proper ordering of their corresponding content items in the proper sequence or order.

[0155] The sequence or order of content items represented by sequence 802 optionally represents the order of content items in many contexts. For example, if the desired content items are episodes of a television series, sequence 802 optionally provides the correct order of episodes (e.g., first episode, second episode, etc.) based on the content of the episodes. If the desired content items are television broadcasts on a particular channel, for example, sequence 802 optionally provides the correct order of television broadcasts based on the times the broadcasts air (e.g., the 7 PM broadcast, followed by the 7:30 PM broadcast, followed by the 8 PM broadcast, etc.). Sequence 802 optionally provides the order of content items in any context in which the order of content items is optionally desired.

[0156] To facilitate content type-based sequence determination, an electronic device (e.g., device 500 of FIG. 5) optionally determines a content type (e.g., movie, television show, etc.) for a content item of interest (“each content item”). In some embodiments, following a determination that the content type of each content item is a first content type, the electronic device identifies a first sequence of content items that includes each content item, where the first content item immediately precedes each content item in the sequence of content items and the second content item immediately follows each content item in the sequence of content items (e.g., if the content type of each content item is a television series, then each content item is optionally an episode of the television series, the first content item is optionally a previous episode in the television series, and the second content item is optionally a subsequent episode in the television series). Following determination that the content type of each content item is a second content type, the electronic device optionally identifies a second sequence of content items including each content item, wherein the second sequence of content items is different from the first sequence of content items, and wherein a third content item is adjacent to each content item in the second sequence of content items, and wherein the third content item is different from the first content item and the second content item (for example, if the content type of each content item is television broadcast, each content item is optionally a television program broadcast in a certain time slot, the first content item is optionally a television program broadcast in an immediately preceding time slot, and the second content item is optionally a television program broadcast in an immediately following time slot).

[0157] 8B shows an exemplary user interface comprising a navigation bar. Display 450 optionally displays a user interface comprising region 828 and navigation bar 830. Region 828 optionally displays an indication of the current location within each content item (e.g., a larger version of the content being played within the user interface). Each content item is optionally a currently selected content item (e.g., a content item selected for display to the user on display 450) from a sequence of content items, such as sequence 802, that includes multiple content items (e.g., a movie, a television show, and an application).

[0158] In some embodiments, navigation bar 830 includes multiple images 814, 816, 818, 820, and 822 corresponding to different locations in each content item, with an indication of that current location displayed in area 828. For example, navigation bar 830 optionally includes images of different points in time (e.g., every 5 seconds or every 5 minutes) within the first episode (each content item) of a television series.

[0159] In some embodiments, the representation of each content item in region 828 of the user interface is larger than the representation of navigation bar 830 in the user interface (e.g., the video of each content item is larger than the image in the navigation bar). In some embodiments, the representation of each content item in region 828 consists of video from each content item, which includes multiple images 814, 816, 818, 820, and 822 in navigation bar 830. In some embodiments, the multiple images 814, 816, 818, 820, and 822 in navigation bar 830 consist of multiple still images from each content item.

[0160] In some embodiments, the navigation bar 830 also includes a representation of a first adjacent content item 824 within the plurality of content items that is adjacent to each content item within the sequence of content items (e.g., sequence 802). For example, the navigation bar 830 optionally includes a representation of a second episode (e.g., the next episode) within the television series (first adjacent content item 824) if each content item is an episode of a television series. It is understood that the navigation bar 830 may additionally or alternatively include a representation of, for example, a previous episode within the television series.

[0161] 8B , in some embodiments, the navigation bar 830 includes a display of two adjacent content items 812 and 824 (e.g., previous and next content items). In some embodiments, the navigation bar 830 optionally includes a display of a second adjacent content item 812 (e.g., previous content item) within the plurality of content items that is adjacent to each content item within the sequence of content items. As described above, the first adjacent content item optionally appears before each content item within the sequence of content items (e.g., the first adjacent content item is an episode prior to the current episode of a television series or a television program that airs in a time slot prior to the current television program), and the second adjacent content item optionally appears after each content item within the sequence of content items (e.g., the second adjacent content item is an episode subsequent to the current episode of a television series or a television program that airs in a time slot after the current television program).

[0162] 8A , in some embodiments, the first and second adjacent content items are based on a content type determined from within each content item. For example, as shown in FIGS. 8B and 8C , in some embodiments, if the content type of each content item is a television broadcast (e.g., the 8:00 PM television broadcast in FIG. 8B ), the previous adjacent content item is optionally a television broadcast from a previous time slot (e.g., the 7:30 PM television broadcast in FIG. 8B ), and the next adjacent content item is optionally a television broadcast from a next time slot (e.g., the 8:30 PM television broadcast in FIG. 8B ). In some embodiments, if the content type of each content item is an episode of a television series (e.g., episode 2 of the television series in FIG. 8C ), the previous adjacent content item is optionally a previous episode of the television series (e.g., episode 1 of the television series in FIG. 8C ), and the next adjacent content item is optionally a next episode of the television series (e.g., episode 3 of the television series in FIG. 8C ).

[0163] In some embodiments, the display of the first adjacent content item 824 and / or the second adjacent content item 812 in the navigation bar 830 includes an image related to a location in the first and / or second adjacent content item (e.g., one or more screenshots of a point in time within the next and / or previous episode of a television series).

[0164] In some embodiments, the user optionally provides input to change the time intervals between the locations in each content item corresponding to images 814, 816, 818, 820, and 822. In other words, the user optionally provides input to change the time intervals between images 814, 816, 818, 820, and 822 displayed in navigation bar 830, thereby displaying images that optionally correspond to, for example, ten-minute divisions of time points in each content item instead of images that correspond to, for example, five-minute divisions of time points in each content item.

[0165] Thus, in some embodiments, a first image (e.g., image 814) of the plurality of images in navigation bar 830 corresponds to a first position within each content item, a second image (e.g., image 816) of the plurality of images in navigation bar 830 corresponds to a second position within each content item, and the first position within each content item and the second position within each content item are separated by a first interval (e.g., a period of 5 minutes or 10 minutes, etc.). In some embodiments, while the user interface is displayed on display 450, the electronic device receives a notification regarding a first input including a contact (e.g., a finger contact or a stylus contact) detected on a touch-sensitive surface of the device (e.g., a touch-sensitive surface of a remote control or portable multifunction device with a touchscreen display), where detecting the contact includes detecting movement of the contact (e.g., a vertical swipe on the touch-sensitive surface). According to the movement of the contact, the electronic device optionally selects a third position and a fourth position in each content item (separated by a second interval different from the first interval (e.g., an interval larger or smaller than the first interval)) and their corresponding third and fourth images, respectively, and replaces a first image (e.g., image 814) in the navigation bar 830 with the third image corresponding to the third position in each content item, and replaces a second image (e.g., image 816) in the navigation bar with the fourth image corresponding to the fourth position in each content item. In this way, the electronic device optionally changes the time intervals between images in the navigation bar 830.

[0166] In some embodiments, varying the time interval between locations within each content item corresponding to images 814, 816, 818, 820, and 822 is based on the content type of each content item (e.g., the content type displayed in area 828 of the user interface), similar to what is described below with reference to Figures 8D and 8E. In some embodiments, the electronic device optionally determines the content type of each content item (e.g., movie, television show, etc.). Following a determination that the content type of each content item is a first content type (e.g., sporting event), the electronic device optionally selects the second interval separating the third and fourth locations within each content item to be a time-based interval (e.g., separated by a 5-minute, 10-minute, or 20-minute interval). Following determination that the content type of each content item is a second content type (e.g., a movie), the electronic device optionally selects a second interval separating the third and fourth positions in each content item to be a content-based interval (e.g., separated by a period based on the content of each content item, such as the start / end of a scene, chapter, and / or commercial).

[0167] In some embodiments, navigation bar 830 further includes a current location indicator 826 (e.g., an indicator such as a line that moves over or between images in the navigation bar) superimposed on the plurality of images 814, 816, 818, 820, and 822 in the navigation bar. The relative position of current location indicator 826 with respect to each of the plurality of images in navigation bar 830 optionally corresponds to the current position within each content item (e.g., if the current location indicator is in front of an image in the navigation bar, the current position within each content item is in front of the position corresponding to the image). In some embodiments, the relative position of current location indicator 826 with respect to each of the plurality of images in navigation bar 830 additionally or alternatively corresponds to an indication of the current position within each content item displayed within region 828 of the user interface (e.g., an indication of the current position within each content item displayed within region 828 of the user interface indicates content from the current position within each content item).

[0168] In some embodiments, the electronic device optionally scrolls (or scrubs) each content item in response to input detected on a touch-sensitive surface of the device (e.g., a touch-sensitive surface of a remote control or portable multifunction device with a touchscreen display). In some embodiments, while a user interface is displayed on display 450, the electronic device receives a notification regarding a first input comprising contact (e.g., a finger contact or a stylus contact) detected on the touch-sensitive surface of the device (e.g., a remote control or a touch-sensitive surface of a portable multifunction device with a touchscreen display). Detecting the contact optionally comprises detecting movement of the contact (e.g., the first input is optionally a gesture input such as a horizontal swipe on the touch-sensitive surface). The electronic device optionally moves a current location indicator 826 within a navigation bar 830 in accordance with the movement of the contact (e.g., if the first input is a swipe to the right, the current location indicator moves to the right within the navigation bar). Moving the current location indicator 826 optionally includes changing the relative position of the current location indicator with respect to each of the plurality of images 814, 816, 818, 820, and 822 in the navigation bar 830 in accordance with the movement of the contact (e.g., moving the current location indicator over and across the plurality of images in the navigation bar while the plurality of images remain stationary), and updating the current location within each content item and a display of the current location within each content item (e.g., a display displayed in the user interface area 828) in accordance with the relative position of the current location indicator with respect to each of the plurality of images (e.g., scrubbing each content item based on the position of the current location indicator, including updating the video and / or image(s) of each content item displayed in the user interface area 828).

[0169] 8D and 8E , in some embodiments, the time intervals between locations within each content item corresponding to the plurality of images 814, 816, 818, 820, and 822 in the navigation bar 830 are based on the content type of each content item (e.g., a movie, a television show, a sporting event, etc.). In some embodiments, the electronic device determines the content type of each content item (e.g., a movie, a television show, etc.). Following a determination that the content type of each content item is a first content type (e.g., a broadcast program of a sporting event, such as the television broadcast of FIG. 8D ), the electronic device optionally selects a first location and a second location within each content item, the first location and the second location being separated by a first interval (e.g., a time period). In some embodiments, the first interval is a time-based interval (e.g., images 814, 816, 818, 820, and 822 in navigation bar 830 are images from each content item, and the positions of the images within each content item are divided into 5-minute, 10-minute, or 20-minute intervals, as shown in FIG. 8D , for example), and a first image of the multiple images in the navigation bar (e.g., image 814) corresponds to a first position within each content item, and a second image of the multiple images in the navigation bar (e.g., image 816) corresponds to a second position within each content item.

[0170] In accordance with determining that the content type of each content item is a second content type (e.g., a movie, such as the movie in FIG. 8E ), the electronic device optionally selects a third position and a fourth position within each content item, the third position and the fourth position being separated by a second interval (e.g., a time period) different from the first interval described above. In some embodiments, the second interval is a content-based interval (e.g., images 814, 816, 818, 820, and 822 within navigation bar 830 are images from each content item, and the positions of the images within each content item are separated by content-based intervals, such as movie scenes, movie chapters, and / or the beginning / end of commercials, as shown in FIG. 8E ), and a first image of the plurality of images within the navigation bar (e.g., image 814) corresponds to the third position within each content item, and a second image of the plurality of images within the navigation bar (e.g., image 816) corresponds to the fourth position within each content item.

[0171] 8F illustrates an exemplary operation of scrolling to adjacent content items within a navigation bar. As described above, the electronic device optionally scrolls navigation bar 830, and each corresponding content item, in response to input detected on touch-sensitive surface 451. For example, the input optionally includes contact 801 and movement of the contact, as shown. In the illustrated example, the input is a horizontal swipe input, although the scope of the present disclosure is not so limited.

[0172] As a result, scrolling the navigation bar 830 optionally reaches the end of each content item, and thus the current location indicator 826 optionally reaches the end of the portion of the navigation bar that includes images 814, 816, 818, 820, and 822 from each content item. If further scrolling input on the touch-sensitive surface 451 is detected, the current location indicator 826 optionally traverses to a portion of the navigation bar 830 that includes a display of an adjacent content item 824. In response, scrolling optionally continues to the content item that corresponds to the display of the adjacent content item 824, as described below. Thus, the navigation bar of the present disclosure allows a user to scroll through the current content item and also to scroll to one or more content items adjacent to the current content item (e.g., previous / next television episodes).

[0173] To facilitate such scrolling, in some embodiments, a threshold (e.g., a line or other visual indication indicating the division between the images and the display of the first adjacent content item) is used to separate the plurality of images 814, 816, 818, 820, and 822 in the navigation bar 830 from the display of the first adjacent content item 824 in the navigation bar. The electronic device optionally determines when the current location indicator 826 crosses a threshold (e.g., the current location indicator moves to the end of the images and into the portion of the navigation bar that includes the display of the first adjacent content item) from the plurality of images 814, 816, 818, 820, and 822 in the navigation bar 830 to the display of the first adjacent content item 824 in the navigation bar.

[0174] 8G illustrates an example action that occurs by scrolling to an adjacent content item in the navigation bar. When the current location indicator 826 moves over to display the adjacent content item 824, as described above, the navigation bar 830 is optionally reconfigured to reflect that the adjacent content item is now the current content item.

[0175] To achieve this reconfiguration, in some embodiments, following a determination that the current location indicator 826 has crossed a threshold from a plurality of images 814, 816, 818, 820, and 822 in the navigation bar 830 to a display of the first adjacent content item 824 in the navigation bar, the electronic device replaces in the navigation bar the plurality of images corresponding to different positions within each content item (images 814, 816, 818, 820, and 822 in FIG. 8F) with a second plurality of images corresponding to different positions within the first adjacent content item (images 834, 836, 838, 840, and 842 in FIG. 8G) (e.g., the first adjacent content item now becomes the “currently selected” content item and its image is inserted into the navigation bar). The electronic device optionally sets the relative position of the current location indicator 826 with respect to each of the second plurality of images 834, 836, 838, 840, and 842 in the navigation bar 830 to correspond to the current position within the first adjacent content item (e.g., the electronic device repositions the current location indicator to the beginning position as shown in FIG. 8G or to the end position of the first adjacent content item depending on whether the current location indicator has been scrolled to the previous content item or the next content item).

[0176] In some embodiments, the electronic device replaces the display of the first adjacent content item 824 (FIG. 8F) with a display of the second adjacent content item 844 (FIG. 8G) among the plurality of content items in the navigation bar 830. Because what was once the first adjacent content item is now the current content item, the electronic device must optionally determine a content item adjacent to the first adjacent content item that is different from each content item. In other words, the electronic device optionally determines a next content item (e.g., a second adjacent content item) for the first adjacent content item 824 in FIG. 8F.

[0177] In some embodiments, the second adjacent content item (e.g., a content item adjacent to the first adjacent content item) is different from each content item, and the second adjacent content item is adjacent to the first adjacent content item in the sequence of content items.

[0178] The electronic device optionally replaces within the user interface a display of the current location of each content item that was displayed within region 828 of the user interface with a display of the current location for the first adjacent content item within region 828 of the user interface (e.g., the electronic device optionally updates the user interface to display images / videos from the current location within the first adjacent content item instead of images / videos from each content item that were originally present). In this manner, the electronic device facilitates scrolling from one content item to an adjacent content item. While the above discussion has focused on scrolling to a next content item, the operations disclosed above apply equally to scrolling to a previous content item, and therefore details thereof will be omitted here for brevity.

[0179] 9A-9G are flow diagrams illustrating a method 900 for presenting a content navigation bar, according to some embodiments. Method 900 is optionally performed on an electronic device, such as device 500 described above with reference to FIG. 5, that includes a set-top box or other user interface generating device in communication with a remote control and a display device. Some operations of method 900 are optionally combined and / or the order of some operations is optionally changed.

[0180] As described below, method 900 provides a way for a device to optionally display a content navigation bar to a user within a user interface. This method reduces the cognitive burden on the user when interacting with the device's user interface, thereby creating a more efficient human-machine interface. More efficient user interaction with the user interface allows battery-powered electronic devices to conserve power and extend the time between battery charges.

[0181] In some embodiments, an electronic device (e.g., a set-top box or other user interface generating device in communication with a remote control and display device, such as device 500 of FIG. 5 ) comprising one or more processors and memory obtains information for identifying a sequence of content items (902) that includes multiple content items (e.g., movies, television shows, applications, etc.). For example, the electronic device optionally obtains information for identifying a sequence of N content items 802 of FIG. 8A . In some embodiments, obtaining information for identifying a sequence of content items that includes each content item (904) includes determining a content type (e.g., movie, television show, etc.) of each content item (906). In some embodiments, obtaining information for identifying a sequence of content items that includes each content item (904) includes identifying a first sequence of content items that includes each content item (908) in accordance with a determination that the content type of each content item is a first content type (e.g., each content item is optionally content item 2 806 of FIG. 8A ). In some embodiments, a first content item appears immediately before each content item in the sequence of content items (910) (e.g., the first content item is optionally content item 1 804 in FIG. 8A). In some embodiments, a second content item appears immediately after each content item in the sequence of content items (912) (e.g., the second content item is optionally content item 3 808 in FIG. 8A). For example, if the content type of each content item is a television series, each content item is optionally an episode of the television series, and the first content item is optionally the immediately preceding episode in the television series and the second content item is optionally the immediately following episode in the television series.

[0182] In some embodiments, obtaining information identifying a sequence of content items including each content item (904) includes identifying a second sequence of content items including each content item in accordance with determining that the content type of each content item is a second content type, where the second sequence of content items is different from the first sequence of content items (914). In some embodiments, a third content item is adjacent to each content item in the second sequence of content items, where the third content item is different from the first content item and the second content item (916). For example, if the content type of each content item is broadcast television, each content item is optionally a television program broadcast in a certain time slot, the first content item is optionally a television program broadcast in an immediately preceding time slot, and the second content item is optionally a television program broadcast in an immediately following time slot.

[0183] In some embodiments, the device generates (918) a user interface for display on the display device while each content item from the plurality of content items is the currently selected content item (e.g., the content item selected for display to the user on the display device). In some embodiments, the user interface includes (920) an indication of the current position within each content item (922) (e.g., a larger version of the content being played). The indication of the current position within each content item is optionally provided, for example, in region 828 of the user interface in FIG. 8B.

[0184] In some embodiments, the user interface includes a navigation bar (e.g., navigation bar 830 of FIG. 8B) (924) that includes multiple images corresponding to different locations within each content item (e.g., images 814, 816, 818, 812, and 822 of FIG. 8B ) and a representation of a first neighboring content item (e.g., representation 812 or 824 of FIG. 8B ) within the multiple content items that is adjacent to each content item in the sequence of content items (920) (e.g., the navigation bar includes an image (each content item) from a second episode in a television series and a representation for the first episode in the television series (first neighboring content item)). In some embodiments, the representation of the first neighboring content item in the navigation bar includes an image from a location within the first neighboring content item (926) (e.g., representation 824 of FIG. 8B includes a screenshot from a previous episode in the television series). In some embodiments, the navigation bar further includes a display of a second adjacent content item (e.g., the next content item) within the plurality of content items adjacent to each content item within the sequence of content items (e.g., the navigation bar includes a display of the previous and next content items, such as displays 812 and 824 in FIG. 8B ), where the first adjacent content item appears before each content item within the sequence of content items (e.g., the first adjacent content item is an episode before the current episode of a television series or a television program that airs in a time slot before the current television program), and the second adjacent content item appears after each content item within the sequence of content items (e.g., the second adjacent content item is an episode after the current episode of a television series or a television program that airs in a time slot after the current television program) (928).

[0185] In some embodiments, the navigation bar further includes a current location indicator (e.g., current location indicator 826) superimposed on the images within the navigation bar (e.g., a line moving over or between the images), and the relative position of the current location indicator with respect to each of the images within the navigation bar corresponds (930) to a current location within each content item (932) (e.g., if the current location indicator is in front of an image in the navigation bar, then the current location within each content item is in front of the location corresponding to that image) and a representation of the current location within each content item (934) (e.g., the representation of the current location within each content item shows content from the current location).

[0186] In some embodiments, the representation of each content item is larger than the navigation bar in the user interface (936) (e.g., the video of each content item is relatively large (shown in area 828 in FIG. 8B ), while the images in the navigation bar (images 814, 816, 818, 820, and 822 in FIG. 8B ) are relatively small). In some embodiments, the representation of each content item includes a video from each content item, which includes multiple images in the navigation bar (938). In some embodiments, the multiple images in the navigation bar include multiple still images from each content item (940).

[0187] In some embodiments, generating 942 a user interface for display on a display device includes determining 944 a content type (eg, movie, television show, etc.) for each content item.

[0188] In some embodiments, generating 942 a user interface for display on a display device includes selecting a first location and a second location within each content item in accordance with determining that the content type of each content item is a first content type, the first location and the second location being separated by a first interval (e.g., a time period) (946). In some embodiments, the first interval is a time-based interval (948) (e.g., images 814, 816, 818, 820, and 822 in FIG. 8B are images from each content item, and the locations of the images within each content item are separated by, e.g., 5-minute, 10-minute, or 20-minute intervals). In some embodiments, a first image of the plurality of images in the navigation bar corresponds to a first location within each content item (950) (e.g., image 814 in FIG. 8B optionally corresponds to a first location within each content item). In some embodiments, a second image of the plurality of images in the navigation bar corresponds to a second position within each content item (952) (e.g., image 816 in FIG. 8B optionally corresponds to a first position within each content item).

[0189] In some embodiments, generating (942) a user interface for display on the display device includes selecting a third position and a fourth position within each content item in accordance with determining that the content type of each content item is a second content type, the third position and the fourth position being separated by a second interval that is different from the first interval (954). In some embodiments, the second interval is a content-based interval (956) (e.g., the images in the navigation bar (e.g., images 814, 816, 818, 820, and 822 in FIG. 8B ) are images from each content item, and the positions of the images within each content item are separated by a content-based interval, such as the beginning / end of a scene, chapter, and / or commercial). In some embodiments, a first image of the plurality of images in the navigation bar corresponds to a third position within each content item (958). In some embodiments, a second image of the plurality of images in the navigation bar corresponds to a fourth position within each content item (960). In some embodiments, after generating the user interface for display on the display device, the device provides the user interface to the display device (962).

[0190] In some embodiments, while the user interface is displayed on the display device, the device receives (964) a notification regarding a first input comprising contact (e.g., a finger contact or a stylus contact) detected on a touch-sensitive surface of the device (e.g., a touch-sensitive surface of a remote control or portable multifunction device with a touchscreen display). In some embodiments, the device comprises an input device, and the input device and the display device are separate devices (966). In some embodiments, detecting the contact comprises detecting movement of the contact (968) (e.g., the first input is a gesture input, such as a horizontal swipe on the touch-sensitive surface, or movement of contact 801 shown in FIG. 8F). In some embodiments, the device moves (970) a current location indicator within a navigation bar according to the movement of the contact (e.g., if the first input is a swipe to the right, the current location indicator moves to the right within the navigation bar, as shown in FIG. 8F).

[0191] In some embodiments, moving the current location indicator (972) includes changing (974) the relative position of the current location indicator with respect to each of the plurality of images in the navigation bar according to the movement of the contact (e.g., moving the current location indicator over and through the plurality of images in the navigation bar while the plurality of images remains stationary). In some embodiments, moving the current location indicator (972) includes updating (976) the current location within each content item and a display of the current location within each content item according to the relative position of the current location indicator with respect to each of the plurality of images (e.g., scrubbing each content item based on the position of the current location indicator, which may include, for example, updating the video and / or image of each content item displayed in the user interface in area 828 of FIG. 8F).

[0192] In some embodiments, a threshold (e.g., a line or other visual indication indicating a division between the plurality of images and the display of the first adjacent content item, as shown in FIG. 8F) is used to separate the plurality of images in the navigation bar from the display of the first adjacent content item in the navigation bar (978). In some embodiments, the device determines (980) that the current location indicator has crossed a threshold from the plurality of images in the navigation bar to the display of the first adjacent content item in the navigation bar (e.g., the current location indicator has moved to the end of the plurality of images and onto the display of the first adjacent content item, as shown in FIG. 8F).

[0193] In some embodiments, following a determination that the current location indicator has crossed a threshold (982), the device replaces in the navigation bar a plurality of images corresponding to different positions within each content item with a second plurality of images corresponding to different positions within a first adjacent content item (984) (e.g., the first adjacent content item now becomes the "currently selected" content item, and its image is inserted into the navigation bar). For example, when current location indicator 826 in FIG. 8F crosses the threshold of display 824, images 814, 816, 818, 820, and 822 are optionally replaced with images from different positions within the content item associated with display 824, as shown in FIG. 8G, where display 832 is optionally associated with each content item, and images 834, 836, 838, 840, and 842 are optionally associated with the first adjacent content item. In some embodiments, the device sets (986) the relative position of the current location indicator with respect to each image of the second plurality of images in the navigation bar to correspond to the current position within the first adjacent content item (e.g., the device appropriately repositions the current location indicator to the beginning or end of the first adjacent content item, as shown in FIG. 8G).

[0194] In some embodiments, the device replaces in the navigation bar a display of the first adjacent content item with a display of a second adjacent content item within the plurality of content items (988) (e.g., where the device determines a content item adjacent to the first adjacent content item that is different from each content item and replaces the display of the second adjacent content item in the navigation bar, e.g., as in display 844 of FIG. 8G). In some embodiments, the second adjacent content item is different from each content item (990). In some embodiments, the second adjacent content item is adjacent to the first adjacent content item within the sequence of content items (992).

[0195] In some embodiments, the device replaces in the user interface the display of the current location of each content item with a display of the current location within the first adjacent content item (994) (e.g., the device updates the user interface to, for example, display an image from the current location within the first adjacent content item in area 828 of FIG. 8G instead of an image from each content item).

[0196] In some embodiments, a first image of the plurality of images in the navigation bar corresponds to a first position within each content item (996). In some embodiments, a second image of the plurality of images in the navigation bar corresponds to a second position within each content item (998), and the first position within each content item and the second position within each content item are separated by a first interval (e.g., a period of 5 minutes or 10 minutes, etc.).

[0197] In some embodiments, while a user interface is displayed on a display device, the device receives a notification regarding a first input including a contact detected on a touch-sensitive surface of the device, where detecting the contact includes detecting movement of the contact (e.g., a vertical swipe on the touch-sensitive surface) (998-1).

[0198] In some embodiments, in accordance with the movement of the contact, the device selects (998-2) a third location and a fourth location within each content item, the third location and the fourth location being separated by a second interval that is different from the first interval (e.g., a larger or smaller interval than the first interval). In some embodiments, selecting (998-3) the third location and the fourth location within each content item includes determining (998-4) a content type (e.g., movie, television show, etc.) of each content item. In some embodiments, selecting (998-3) the third location and the fourth location within each content item includes selecting (998-5) the second interval separating the third location and the fourth location within each content item to be a time-based interval (e.g., separated by a 5-minute, 10-minute, or 20-minute interval) in accordance with determining that the content type of each content item is the first content type. In some embodiments, selecting (998-3) the third and fourth positions within each content item includes, in accordance with determining that the content type of each content item is the second content type, selecting (998-6) the second interval separating the third and fourth positions within each content item to be a content-based interval (e.g., separated by a period based on the content of each content item, such as the start / end of a scene, chapter, and / or commercial).

[0199] In some embodiments, the device replaces the first image in the navigation bar with a third image and replaces the second image in the navigation bar with a fourth image (998-8).

[0200] It should be understood that the particular order of operations described in Figures 9A-9G is merely illustrative and is not intended to indicate that the described order is the only order in which the operations can be performed. Those skilled in the art will recognize various ways to rearrange the order of operations described herein. Additionally, it should be noted that other process details described herein with respect to other methods described herein (e.g., methods 700, 1100, 1300, and 1500) are also applicable to methods similar to method 900 described above with respect to Figures 9A-9G. For example, the user interfaces, display devices, and content items described above with respect to method 900 optionally have one or more of the features of the user interfaces, display devices, and content items described herein with respect to other methods described herein (e.g., methods 700, 1100, 1300, and 1500). For the sake of brevity, these details will not be repeated here.

[0201] The operations of the information processing methods described above are optionally performed by running one or more functional modules in an information processing device, such as a general-purpose processor (e.g., as described above with respect to Figures 1A, 3 and 5) or an application-specific chip.

[0202] 9A-9G are optionally performed by the components shown in FIGS. 1A and 1B. For example, obtaining operation 902, generating operation 918, and providing operation 962 are optionally performed by event sorter 170, event recognizer 180, and event handler 190. Event monitor 171 in event sorter 170 detects contacts on touch-sensitive display 112, and event dispatcher module 174 delivers the event information to application 136-1. Each event recognizer 180 of application 136-1 compares the event information to each 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 selecting an object on a user interface. Upon detection of each predefined event or sub-event, event recognizer 180 activates event handler 190 associated with the detection of the event or sub-event. Event handler 190 optionally utilizes or invokes data updater 176 or object updater 177 to update application internal state 192. In some embodiments, event handler 190 accesses a respective GUI updater 178 to update what the application displays. Similarly, it will be apparent to those skilled in the art how other processes can be implemented based on the components shown in Figures 1A and 1B. Default navigation within the user interface

[0203] When interacting with a user interface provided by an electronic device, a user may, for example, intend to move a cursor a certain amount within the user interface, but may inadvertently move the cursor less or more due to, for example, an inaccurate input by the user on a touch-sensitive surface. Therefore, to improve the user experience with the device, it may be beneficial to provide an electronic device with a mechanism for moving the cursor a predetermined amount within the user interface (e.g., by a single element within the user interface) in response to a particular input detected on an input device (e.g., a touch-sensitive surface). The embodiments described below provide methods for enabling such cursor movement. Improving interaction with the device reduces the amount of time required by the user to perform an action, thereby reducing the device's power usage and extending the battery life of battery-powered devices.

[0204] 10A-10D illustrate exemplary methods for an electronic device to move a cursor by a predetermined amount in a user interface according to some embodiments of the present disclosure. The embodiments in these figures are used to explain the processes described below, including the processes described with reference to FIGS. 11A-11D.

[0205] 10A shows an exemplary user interface. Display 450 optionally displays a user interface comprising various user interface elements 1002, 1004, and 1006. The user interface also optionally comprises a selection indicator 1008, which provides an indication as to which user interface element (e.g., element 1002) is currently selected among the plurality of user interface elements (e.g., elements 1002, 1004, and 1006). Selection indicator 1008 is shown as a visually separate object within the user interface, but may optionally be any that provides an indication of the currently selected user interface element, such as a glow around the currently selected user interface element, a highlight around the currently selected user interface element, or an outline around the currently selected user interface element.

[0206] As mentioned above, in some situations, the user may wish to move the selection indicator 1008 from element 1002 to another element (e.g., element 1004). To do so, the user optionally provides input on the touch-sensitive surface 451, as described below.

[0207] 10B illustrates an exemplary movement of selection indicator 1008 in response to input detected on touch-sensitive surface 451. The movement of selection indicator 1008 is optionally performed in response to input including contact 1001 detected on touch-sensitive surface 451. As shown in FIG. 10B , in some embodiments, the input detected on touch-sensitive surface 451 is a horizontal swipe. The input optionally corresponds to values ​​of a movement metric, the metric representing how much selection indicator 1008 should move in the user interface based on how much contact 1001 detected on touch-sensitive surface 451 has moved. In some embodiments, the movement metric is optionally a metric based on the relationship between the movement of contact 1001 and the movement of selection indicator 1008. As shown in FIG. 10B, in some embodiments, movement of contact 1001 detected on touch-sensitive surface 451 corresponds to a movement metric for moving selection indicator 1008 (e.g., to a position between elements 1004 and 1006 in the user interface) by the amount shown.

[0208] However, in some cases, an input detected on touch-sensitive surface 451 could optionally mean moving selection indicator 1008 by an amount other than that specified by the movement metric (e.g., by a single user interface element, from element 1002 to element 1004). To address such cases, the electronic device optionally provides functionality for moving selection indicator 1008 by a predetermined amount (e.g., by a single user interface element) in response to detection of a particular input and / or gesture.

[0209] 10C shows an exemplary scheme for moving selection indicator 1008 a predetermined amount in response to detecting an input on touch-sensitive surface 451. The input detected on touch-sensitive surface 451 is optionally the same input as described in FIG. 10B , but in this case selection indicator 1008 optionally moves a predetermined amount (e.g., from element 1002 to element 1004) in response to detecting the input. In some embodiments, moving selection indicator 1008 a predetermined amount within a user interface as described includes moving the selection indicator to indicate selection of an adjacent user interface element (e.g., element 1004) of multiple user interface elements (e.g., elements 1002, 1004, and 1006).

[0210] To facilitate such predefined movement of the selection indicator 1008, in response to receiving notification of a first input (e.g., an input detected on the touch-sensitive surface 451), the electronic device optionally determines whether the first input meets unitary-movement criteria (e.g., criteria that, if met, move the selection indicator within the user interface a predefined amount, such as a single user interface element). Following a determination that the first input meets the unitary-movement criteria, the electronic device optionally moves the selection indicator 1008 within the user interface a predefined amount (e.g., a predefined amount that is not based on values ​​of the selection indicator's movement metrics, which in some embodiments are optionally less than or greater than a value that moves the selection indicator within the user interface a predefined amount). Following a determination that the first input does not meet the unitary movement criteria, the electronic device optionally moves the selection indicator 1008 according to the respective values ​​of the movement metrics associated with the first input (e.g., as described with reference to FIG. 10B , the electronic device moves the selection indicator within the user interface by an amount predetermined by the magnitude of movement of the contact on the touch-sensitive surface; in some embodiments, this amount is optionally greater than the predetermined amount that the selection indicator would move if the first input met the unitary movement criteria, or less than the predetermined amount that the selection indicator would move if the first input met the unitary movement criteria).

[0211] In some embodiments, if the input detected on touch-sensitive surface 451 is a "quick swipe" type input, movement of selection indicator 1008 occurs by a predetermined amount. In other words, in some embodiments, the unitary movement criteria include criteria that are met when, within a first period of time that the contact is touching down (e.g., .2 seconds, .4 seconds, or 1 second), lift-off of contact 1001 is detected and the movement of the contact exceeds a first movement threshold (e.g., .1 cm, .2 cm, or .5 cm) but is less than a second movement threshold (e.g., 1 cm or 2 cm). In some embodiments, the first movement threshold and the second movement threshold are defined relative to the contact movement required on the touch-sensitive surface 451 to move the selection indicator 1008 by a single UI element within the user interface (e.g., if 1 cm of contact movement on the touch-sensitive surface is required to move the selection indicator from a first UI element to a second UI element adjacent to the first UI element, the first movement threshold is optionally a first fraction of 1 cm (e.g., 10% of 1 cm), and the second movement threshold is optionally a second fraction of 1 cm (e.g., 100% of 1 cm).

[0212] In some embodiments, moving the selection indicator 1008 by a predetermined amount and moving the selection indicator according to each value of the movement metric both include moving the selection indicator according to the direction of movement of the contact 1001 on the touch-sensitive surface 451 (e.g., contact movement to the right on the touch-sensitive surface optionally moves the selection indicator to the right, whether by a predetermined amount or by each value of the movement metric; the same optionally applies to contact movement in any direction on the touch-sensitive surface).

[0213] In some embodiments, the user interface elements 1002, 1004, and 1006 include multiple navigation columns (e.g., multiple navigation columns adjacent to one another, each column including multiple vertically arranged selectable items, such as content items for viewing, applications for launching, etc.), and moving the selection indicator 1008 by a predetermined amount includes moving the selection indicator from a first navigation column to a second navigation column adjacent to the first navigation column.

[0214] In some embodiments, the plurality of user interface elements 1002, 1004, and 1006 include a plurality of images, and moving the selection indicator 1008 by a predetermined amount includes moving the selection indicator from a first image to a second image adjacent to the first image.

[0215] In some embodiments, the plurality of user interface elements 1002, 1004, and 1006 comprise a plurality of content items arranged in a grid (e.g., movies, television shows, applications, games, etc. arranged in a grid and with selectable access to each content item), and moving the selection indicator 1008 by a predetermined amount comprises moving the selection indicator from a first content item to a second content item adjacent to the first content item.

[0216] 10D shows another exemplary scheme for moving selection indicator 1008 a predetermined amount in response to detecting an input on touch-sensitive surface 451. As shown in FIG. 10D , in some embodiments, selection indicator 1008 moves a predetermined amount (e.g., a single user interface element) in response to detecting a tap input 1003 on one of edge regions 1010, 1012, 1014, 1016 on touch-sensitive surface 451. For example, a tap detected in edge region 1012 optionally moves selection indicator 1008 one user interface element to the right. Taps detected in edge regions 1010, 1014, and 1016 will optionally move selection indicator 1008 one user interface element up, down, and left, respectively.

[0217] In some embodiments, the unitary movement criteria optionally include criteria that are met when a contact 1003 is detected within a first edge region (e.g., region 1012) of a plurality of edge regions (e.g., regions 1010, 1012, 1014, and 1016) of the touch-sensitive surface 451 (e.g., the outer 5%, 10%, or 20% of the top, bottom, right, and / or left of the touch-sensitive surface), contact liftoff is detected within a first period (e.g., 0.1 second, 0.3 seconds, or 0.5 seconds) during which the contact is touching down (e.g., tapping), and contact movement is less than a movement threshold (e.g., less than 0.1 cm, 0.3 cm, or 0.5 cm). In some embodiments, moving the selection indicator 1008 by a predetermined amount includes moving the selection indicator in a direction corresponding to a first edge region (e.g., region 1012) of the touch-sensitive surface 451 where the contact 1003 was detected (e.g., tapping on the right edge region of the touch-sensitive surface optionally moves the selection indicator in the UI to the right by a predetermined amount).

[0218] 11A-11D are flow diagrams illustrating a method 1100 for moving a cursor by a predetermined amount in a user interface according to some embodiments. Method 1100 is optionally performed on an electronic device, such as device 500 described above with reference to FIG. 5, including a set-top box or other user interface generating device in communication with a remote control and a display device. Some operations of method 1100 are optionally combined and / or the order of some operations is optionally changed.

[0219] As described below, method 1100 provides a way for a device to optionally move a cursor within a user interface by a predetermined amount in response to a particular input. This method reduces the cognitive burden on a user when interacting with the device's user interface, thereby creating a more efficient human-machine interface. More efficient user interaction with the user interface allows battery-powered electronic devices to conserve power and extend the time between battery charges.

[0220] In some embodiments, an electronic device with one or more processors (e.g., a set-top box or other user interface generating device in communication with a remote control and a display device, such as device 500 of FIG. 5) generates 1102 a user interface for display on a display device (e.g., a television or other display device). In some embodiments, the user interface includes 1104 a selection indicator (e.g., illumination, highlighting, or an outline around a currently selected user interface element, such as indicator 1008 of FIG. 10A ) that indicates a currently selected user interface element among a plurality of user interface elements (e.g., user interface elements 1002, 1004, and 1006 of FIG. 10A ). In some embodiments, the plurality of user interface elements includes 1106 a plurality of navigation columns (e.g., multiple navigation columns adjacent to one another, each column including a plurality of vertically arranged selectable items, such as content items for viewing, applications for launching, etc.). In some embodiments, the plurality of user interface elements includes 1108 a plurality of images. In some embodiments, the plurality of user interface elements includes a plurality of content items arranged in a grid (e.g., movies, television shows, games, etc. arranged in a grid and with selectable access to each content item) (1110).

[0221] In some embodiments, while the user interface is displayed on the display device, the device receives (1112) a notification regarding a first input that includes a contact (e.g., contact 1001 in FIG. 10B ) detected on a touch-sensitive surface of the device (e.g., the touch-sensitive surface of a remote control or portable multifunction device with a touchscreen display, such as touch-sensitive surface 451). In some embodiments, the first input corresponds (1114) to values ​​of a movement metric (e.g., a metric that represents how much a selection indicator in the user interface should move based on how much the contact on the touch-sensitive surface has moved, i.e., a metric that is based on the relationship between contact movement and movement of the selection indicator). For example, movement of contact 1001 on touch-sensitive surface 451 in FIG. 10B optionally corresponds to values ​​of a movement metric for moving selection indicator 1008 in the user interface.

[0222] In some embodiments, in response to receiving 1116 a notification regarding a first input (e.g., an input defined by movement of contact 1001 in FIG. 10B ), the device determines 1118 whether the first input meets unitary movement criteria (e.g., criteria that, if met, move a selection indicator in the user interface (e.g., indicator 1008 in FIG. 10B ) a predetermined amount, such as a single user interface element). In some embodiments, the unitary movement criteria include criteria that are met 1120 when a liftoff of the contact (e.g., contact 1001 in FIG. 10B ) is detected within a first period of time (e.g., .2 seconds, .4 seconds, or 1 second) that the contact is touching down, and the movement of the contact exceeds a first movement threshold (e.g., .1 cm, .2 cm, or .5 cm) but is less than a second movement threshold (e.g., 1 cm or 2 cm). In some embodiments, the first movement threshold and the second movement threshold are defined 1122 relative to the contact movement required on the touch-sensitive surface to move the selection indicator by a single UI element within the user interface (e.g., if 1 cm of contact movement on the touch-sensitive surface is required to move the selection indicator from a first UI object (e.g., user interface element 1002) to a second UI object (e.g., user interface element 1004) adjacent to the first UI object, the first movement threshold is optionally a first fraction of 1 cm (e.g., 10% of 1 cm), and the second movement threshold is optionally a second fraction of 1 cm (e.g., 100% of 1 cm).

[0223] In some embodiments, the unitary movement criteria include criteria that are met when a contact (e.g., contact 1003 in FIG. 10D ) is detected within a first edge region (e.g., region 1012 in FIG. 10D ) of a plurality of edge regions of the touch-sensitive surface (e.g., the outer 5%, 10%, or 20% of the top, bottom, right, and / or left of the touch-sensitive surface, as shown in FIG. 10D ), contact liftoff is detected within a first period of time (e.g., 0.1 second, 0.3 seconds, or 0.5 seconds) during which the contact is touching down (e.g., tapping), and contact movement is less than a movement threshold (e.g., less than 0.1 cm, 0.3 cm, or 0.5 cm) (1124).

[0224] In some embodiments, following a determination that the first input meets the unitary movement criterion, the device moves (1126) the selection indicator within the user interface by a predetermined amount (e.g., a predetermined amount that is not based on the respective values ​​of the movement metric of the selection indicator. In some embodiments, each value of the movement metric may be a value less than or greater than a value that moves the selection indicator one unit within the user interface. In some embodiments (e.g., as shown in FIGS. 10C and 10D ), moving the selection indicator a predetermined amount within the user interface includes moving the selection indicator to indicate selection of an adjacent one of the plurality of user interface elements (1128). In some embodiments, moving the selection indicator a predetermined amount includes moving the selection indicator according to a direction of movement of contact on the touch-sensitive surface (1130) (e.g., as shown in FIG. 10C , contact movement to the right on the touch-sensitive surface moves the selection indicator rightward). In some embodiments, moving the selection indicator by a predetermined amount includes moving the selection indicator in a direction corresponding to a first edge region of the touch-sensitive surface where contact was detected (1132) (e.g., tapping on a right edge region of the touch-sensitive surface moves the selection indicator in the UI to the right by a predetermined amount, as shown in FIG. 10D ). In some embodiments, moving the selection indicator by a predetermined amount includes moving the selection indicator from a first navigation column to a second navigation column adjacent to the first navigation column (1134). In some embodiments, moving the selection indicator by a predetermined amount includes moving the selection indicator from a first image to a second image adjacent to the first image (1136). In some embodiments, moving the selection indicator by a predetermined amount includes moving the selection indicator from a first content item to a second content item adjacent to the first content item (1138).

[0225] In some embodiments, following a determination that the first input does not meet the unitary movement criteria, the device moves (1140) the selection indicator in response to values ​​of a movement metric associated with the first input (e.g., moves the selection indicator in the user interface an amount predetermined by the magnitude of contact movement on the touch-sensitive surface, which in some embodiments optionally exceeds a predetermined amount that the selection indicator would move if the first input met the unitary movement criterion). Such movement of the selection indicator in response to values ​​of a movement metric associated with the first input is illustrated in FIG. 10B. In some embodiments, moving the selection indicator in response to values ​​of the movement metric includes moving (1142) the selection indicator according to a direction of contact movement on the touch-sensitive surface (e.g., contact movement to the right on the touch-sensitive surface moves the selection indicator to the right, as shown in FIG. 10B).

[0226] It should be understood that the particular order of operations described in Figures 11A-11D is merely illustrative and is not intended to indicate that the described order is the only order in which the operations can be performed. Those skilled in the art will recognize various ways to rearrange the order of operations described herein. Additionally, it should be noted that other process details described herein with respect to other methods described herein (e.g., methods 700, 900, 1300, and 1500) are also applicable to methods similar to method 1100 described above with respect to Figures 11A-11D. For example, the user interface, display device, and touch-sensitive surface described above with respect to method 1100 optionally have one or more of the features of the user interface, display device, and touch-sensitive surface described herein with respect to other methods described herein (e.g., methods 700, 900, 1300, and 1500). For the sake of brevity, these details will not be repeated here.

[0227] The operations of the information processing methods described above are optionally performed by running one or more functional modules in an information processing device, such as a general-purpose processor (e.g., as described above with respect to Figures 1A, 3 and 5) or an application-specific chip.

[0228] 1A-11D are optionally performed by the components shown in FIGS. 1A and 1B. For example, generate operation 1102, receive operation 1112, determine operation 1118, and move operations 1126 and 1140 are optionally performed by event sorter 170, event recognizer 180, and event handler 190. Event monitor 171 in event sorter 170 detects contacts on touch-sensitive display 112, and event dispatcher module 174 delivers the event information to application 136-1. Each event recognizer 180 of application 136-1 compares the event information to each 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 selecting an object on a user interface. Upon detection of each predefined event or sub-event, event recognizer 180 activates event handler 190 associated with the detection of the event or sub-event. Event handler 190 optionally utilizes or invokes data updater 176 or object updater 177 to update application internal state 192. In some embodiments, event handler 190 accesses a respective GUI updater 178 to update what the application displays. Similarly, it will be apparent to those skilled in the art how other processes can be implemented based on the components shown in Figures 1A and 1B. Grip Recognition

[0229] A device with a touch-sensitive surface (e.g., a remote control with a touch-sensitive surface) may be used to interact with an electronic device. Some people who use the device (e.g., a remote control) to interact with the electronic device may hold the device differently from other people who use the device. This difference in grip may cause a user to provide input to the touch-sensitive surface slightly differently based on their grip on the device (e.g., whether the user holds the device in their right hand or their left hand, and whether the user provides input to the touch-sensitive surface using their right hand or their left hand), even if the same input is intended. Therefore, it may be beneficial to interpret input to the touch-sensitive surface based on the user's grip to improve the accuracy of gesture detection (e.g., by more accurately determining the user's intention with a gesture based on the user's grip during gesture detection). The embodiments described below provide methods that enable such input interpretation by an electronic device. This improved interaction with the device reduces the amount of time required by the user to perform an action, thereby reducing the device's power usage and extending the battery life of battery-powered devices.

[0230] 12A-12E illustrate exemplary methods for interpreting input on a touch-sensitive surface based on a user's grip, according to some embodiments of the present disclosure. The embodiments in these figures are used to explain the processes described below, including the processes described with reference to FIGS. 13A-13C.

[0231] 12A is a diagram illustrating an exemplary input detected on touch-sensitive surface 451 of a device. Touch-sensitive surface 451 is optionally included in the device (e.g., a remote control or the touch-sensitive surface of a portable multifunction device with a touchscreen display, such as remote control 510 of FIG. 5). The device is optionally used to interact with an electronic device, such as device 500 of FIG. 5. In addition, the device is optionally a device held in one hand, and a user can optionally provide input to touch-sensitive surface 451 using the fingers of the same hand with which the user holds the device. For example, the device is optionally a remote control having touch-sensitive surface 451. The remote control is optionally held in either the user's right or left hand, and input to touch-sensitive surface 451 on the remote control is optionally provided by, for example, the thumb of the hand with which the user is holding the remote control.

[0232] As shown, input detected on touch-sensitive surface 451 optionally includes movement of contact 1201 (e.g., finger contact or stylus contact). In some embodiments, contact 1201 optionally corresponds to a thumb contact, as described above.

[0233] As described above, because a user's grip optionally affects the shape of contact movement, it may be beneficial to interpret the movement of contact 1201 based on the determined grip of a user holding a device with touch-sensitive surface 451. For example, if a user holds a device with touch-sensitive surface 451 in the user's right hand and performs input with the user's right thumb, a horizontal swipe from left to right, as shown in Figure 12A, may appear to be the movement of contact 1201. In such a situation, an electronic device (e.g., device 500 of Figure 5) with which a device with touch-sensitive surface 451 (e.g., remote control 510 of Figure 5) interacts may optionally use information about the user's grip to interpret the movement of contact 1201 as a horizontal swipe from left to right, despite the fact that the contact movement began with an upward trajectory. In contrast, if the electronic device has information that a user is holding a device with touch-sensitive surface 451 in the user's left hand, the electronic device optionally interprets the movement of contact 1201 as something other than a left-to-right horizontal swipe, because a left-to-right horizontal swipe input, for example, with the thumb of the user's left hand while the user is holding the device in their left hand, optionally does not appear to be the movement of contact 1201 as shown in FIG.

[0234] To facilitate interpretation of such grip-specific input, in some embodiments, the electronic device determines the grip of a user using the device (e.g., determines whether a device with touch-sensitive surface 451 is held in the user's right hand or the user's left hand). The electronic device optionally interprets movement of a contact on the touch-sensitive surface (e.g., contact 1201 on touch-sensitive surface 451) based at least in part on the user's grip. For example, the electronic device optionally interprets the movement of the contact as a first gesture (e.g., a horizontal swipe) if the grip is determined to be right-handed, and as a second gesture (e.g., a horizontal swipe in addition to a vertical swipe) if the grip is determined to be left-handed.

[0235] In some embodiments, determining the grip of a user using the device comprises determining the grip of a user using the device based at least in part on an orientation of the device. In some embodiments, determining the grip of a user using the device comprises determining the grip of a user using the device based on an average orientation of the device over a recent predetermined period of time (e.g., 30 seconds, 90 seconds, or 180 seconds). In some embodiments, the orientation of the device is determined based on an accelerometer or other orientation sensor within the device.

[0236] Because the electronic device optionally interprets the movement of the contact differently based on the determined user's grip, the action caused by the movement of the contact also optionally differs based on the user's grip, as shown in Figures 12B and 12C. Thus, in some embodiments, interpreting the movement of the contact on the touch-sensitive surface (e.g., movement of contact 1201 on touch-sensitive surface 451) based at least in part on the user's grip includes performing a first action in response to a first input in accordance with a determination that the grip is a first grip (e.g., a right-handed grip, as shown in Figure 12B), and performing a second action in response to the first input, different from the first action, in accordance with a determination that the grip is a second grip (e.g., a left-handed grip, as shown in Figure 12C). 12A , in some embodiments, the first action is, optionally, a simple horizontal movement of the cursor within the user interface (e.g., a simple horizontal movement of cursor 1210 in FIG. 12B corresponding to upward and rightward movement of contact 1201), and the second action is, optionally, a vertical movement of the cursor within the user interface and a subsequent horizontal movement of the cursor within the user interface (which reflects the movement of contact 1201 on touch-sensitive surface 451, such as upward and rightward movement of cursor 1210 in FIG. 12C corresponding to upward and rightward movement of contact 1201). Thus, as shown in FIGS. 12B and 12C , identical movement of contact 1201 on touch-sensitive surface 451 optionally generates different actions depending on the determined user's grip.

[0237] In some embodiments, the electronic device provides feedback information for display on a display device (e.g., a television or other display device), including information regarding the determined grip of a user using the device and the interpretation of the movement of the contact 1201 on the touch-sensitive surface 451 (e.g., the electronic device interprets the contact movement and then displays feedback to inform the user of the detected grip / gesture, which may allow the user to modify the grip determination or interpretation of the contact movement).

[0238] In some embodiments, the electronic device optionally ignores different portions of the movement of contact 1201 depending on the determined user's grip, as described in more detail below.

[0239] 12D illustrates an example scenario in which the electronic device ignores a first portion of the movement of contact 1201. In some embodiments, interpreting the movement of contact 1201 on touch-sensitive surface 451 based at least in part on the user's grip includes ignoring first portion 1202 of the contact's movement in accordance with determining that the grip is a first grip (e.g., a right-handed grip). In some embodiments, the electronic device optionally ignores portion 1202 of the contact's movement and relies only on portion 1204 of the contact's movement in interpreting the contact's movement.

[0240] In some embodiments, the first grip comprises a right-handed grip, and ignoring the first portion of the movement of contact 1201 comprises ignoring an end of the movement of contact pursuant to a determination that the movement of contact is from right to left on the touch-sensitive surface. In some embodiments, ignoring the first portion of the movement of contact comprises ignoring a beginning of the movement of contact (e.g., portion 1202) pursuant to a determination that the movement of contact is from left to right on the touch-sensitive surface (as shown in FIG. 12D ). For example, if the grip is right-handed, a knuckle of the finger (e.g., thumb) providing the contact is optionally located on the right side of the touch-sensitive surface on the device. One or more portions of the first input detected at a position on the touch-sensitive surface away from the knuckle (e.g., portion 1202 in FIG. 12D ) are optionally ignored because these portions are optionally distorted due to the finger reaching its extension limit.

[0241] 12E illustrates an example scenario in which the electronic device ignores a second portion of the movement of contact 1201. In some embodiments, interpreting the movement of contact 1201 on touch-sensitive surface 451 based at least in part on the user's grip includes ignoring second portion 1208 of the movement of contact 1201, which differs from first portion 1202 of the movement of contact, pursuant to determining that the grip is a second grip that differs from the first grip (e.g., a left-handed grip). In some embodiments, the electronic device optionally ignores portion 1208 of the movement of contact 1201 and relies only on portion 1206 of the movement of contact in interpreting the movement of the contact.

[0242] In some embodiments, the second grip comprises a left-handed grip, and ignoring the second portion of the movement of contact 1201 comprises ignoring a beginning of the movement of contact pursuant to a determination that the movement of contact is from right to left on the touch-sensitive surface. In some embodiments, ignoring the second portion of the movement of contact comprises ignoring an end of the movement of contact (e.g., portion 1208) pursuant to a determination that the movement of contact is from left to right on the touch-sensitive surface (as shown in FIG. 12E ). For example, if the grip is left-handed, a knuckle of the finger (e.g., the thumb) providing the contact is optionally located on the left side of the touch-sensitive surface on the device. One or more portions of the first input detected at a position on the touch-sensitive surface away from the knuckle (e.g., portion 1208 in FIG. 12E ) are optionally ignored because these portions are optionally distorted due to the finger reaching its extension limit.

[0243] 13A-13C are flow diagrams illustrating a method 1300 of interpreting input detected on a touch-sensitive surface based on a user's grip, according to some embodiments. Method 1300 is optionally performed on an electronic device, such as device 500 described above with reference to FIG. 5, including a set-top box or other user interface generating device in communication with a remote control and a display device. Some operations of method 1300 are optionally combined and / or the order of some operations is optionally changed.

[0244] As described below, method 1300 provides a way to optionally interpret input on a touch-sensitive surface based on a user's grip. This reduces the cognitive burden on a user when interacting with a device's user interface, thereby creating a more efficient human-machine interface. More efficient user interaction with the user interface allows battery-powered electronic devices to conserve power and extend the time between battery charges.

[0245] In some embodiments, an electronic device with one or more processors (e.g., a set-top box or other user interface generating device in communication with a remote control and display device, such as device 500 of FIG. 5) receives 1302 a notification about a first input including movement of a contact (e.g., a finger contact or a stylus contact, such as contact 1201 of FIG. 12A). In some embodiments, the contact optionally corresponds to a thumb contact detected on a touch-sensitive surface of the device (e.g., a touch-sensitive surface of a remote control or portable multifunction device with a touchscreen display, such as touch-sensitive surface 451 of FIG. 12A).

[0246] In some embodiments, the device determines 1304 the grip of a user using the device (e.g., the device determines whether the device is being held in the user's right hand or left hand). In some embodiments, determining 1306 the grip of a user using the device based at least in part on an orientation of the device. In some embodiments, determining 1308 the grip of a user using the device based on an average orientation of the device over a recent predetermined period of time (e.g., 30 seconds, 90 seconds, or 180 seconds). In some embodiments, 1310 the orientation of the device is determined based on an accelerometer or other orientation sensor within the device.

[0247] In some embodiments, the device interprets (1312) movement of the contact (e.g., contact 1201 in FIG. 12A ) on the touch-sensitive surface based at least in part on the user's grip (e.g., the device interprets the movement of the contact as a first gesture (e.g., a horizontal swipe) if the device determines the grip is right-handed, and interprets the movement of the contact as a second gesture (e.g., a horizontal swipe in addition to a vertical swipe) if the device determines the grip is left-handed). In some embodiments, interpreting (1314) movement of the contact on the touch-sensitive surface based at least in part on the user's grip includes performing (1316) a first action in response to the first input in accordance with determining that the grip is a first grip (e.g., a right-handed grip). In some embodiments, interpreting 1314 movement of the contact on the touch-sensitive surface based at least in part on the user's grip includes performing 1318 a second action, different from the first action, in response to the first input pursuant to a determination that the grip is a second grip (e.g., a left-handed grip) that is different from the first grip. For example, movement of contact 1201 shown in FIG. 12A optionally results in performing a first action if the user's grip is determined to be right-handed, and optionally results in performing a second action if the user's grip is determined to be left-handed.

[0248] In some embodiments, interpreting (1320) the movement of the contact on the touch-sensitive surface based at least in part on the user's grip includes ignoring (1322) a first portion of the movement of the contact (e.g., portion 1202 of FIG. 12D ) in accordance with a determination that the grip is a first grip (e.g., a right-handed grip). In some embodiments, the first grip comprises (1324) a right-handed grip. In some embodiments, ignoring (1326) the first portion of the movement of the contact includes ignoring (1328) an end of the movement of the contact in accordance with a determination that the movement of the contact is from right to left on the touch-sensitive surface. In some embodiments, ignoring (1326) the first portion of the contact movement includes ignoring (1330) the beginning of the contact movement (e.g., portion 1202 in FIG. 12D ) in accordance with a determination that the contact movement is from left to right on the touch-sensitive surface (e.g., if the grip is right-handed, the knuckle of the finger (e.g., thumb) providing the contact is optionally located on the right side of the touch-sensitive surface on the device). Portions of the first input detected at positions on the touch-sensitive surface away from the knuckle (e.g., portion 1202 in FIG. 12D ) are optionally distorted due to the finger reaching its extension limit. These portions are optionally ignored. The remaining portions of the first input (e.g., portion 1204 in FIG. 12D ) are optionally not ignored.

[0249] In some embodiments, interpreting (1320) the movement of the contact on the touch-sensitive surface based at least in part on the user's grip includes ignoring (1332) a second portion of the contact's movement that is different from the first portion of the contact's movement (e.g., portion 1208 of FIG. 12E ) in accordance with a determination that the grip is a second grip that is different from the first grip (e.g., a left-handed grip). In some embodiments, the second grip includes (1334) a left-handed grip. In some embodiments, ignoring (1336) the second portion of the contact's movement includes ignoring (1338) a beginning of the contact's movement in accordance with a determination that the contact's movement is from right to left on the touch-sensitive surface. In some embodiments, ignoring (1336) the second portion of the contact's movement includes ignoring (1340) an end of the contact's movement (e.g., portion 1208 of FIG. 12E ) in accordance with a determination that the contact's movement is from left to right on the touch-sensitive surface. For example, if the grip is left-handed, the knuckle of the finger (e.g., thumb) providing the contact is optionally located on the left side of the touch-sensitive surface on the device. Portions of the first input detected at positions on the touch-sensitive surface away from the knuckle are optionally distorted due to the finger reaching its extension limit. These portions are optionally ignored. The remaining portions of the first input (e.g., portion 1206 in FIG. 12E) are optionally not ignored.

[0250] In some embodiments, the device provides feedback information for display on a display device (e.g., a television or other display device) that includes information regarding the determined grip of a user using the device and their interpretation of contact movement on the touch-sensitive surface (1342). (E.g., after interpreting the contact movement, the electronic device displays feedback to inform the user of the detected grip / gesture, which may allow the user to modify their grip determination or interpretation of the contact movement, as the case may be.)

[0251] It should be understood that the particular order of operations described in Figures 13A-13C is merely illustrative and is not intended to indicate that the described order is the only order in which the operations can be performed. Those skilled in the art will recognize various ways to rearrange the order of operations described herein. Additionally, it should be noted that other process details described herein with respect to other methods described herein (e.g., methods 700, 900, 1100, and 1500) are also applicable to methods similar to method 1300 described above with respect to Figures 13A-13C. For example, the touch-sensitive surface described above with respect to method 1300 optionally has one or more of the touch-sensitive surface features described herein with respect to other methods described herein (e.g., methods 700, 900, 1100, and 1500). For the sake of brevity, these details will not be repeated here.

[0252] The operations of the information processing methods described above are optionally performed by running one or more functional modules in an information processing device, such as a general-purpose processor (e.g., as described above with respect to Figures 1A, 3 and 5) or an application-specific chip.

[0253] 1A and 1B. For example, receiving operation 1302, determining operation 1304, and interpreting operation 1312 are optionally performed by event sorter 170, event recognizer 180, and event handler 190. Event monitor 171 in event sorter 170 detects contacts on touch-sensitive display 112, and event dispatcher module 174 delivers the event information to application 136-1. Each event recognizer 180 of application 136-1 compares the event information to each 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 selecting an object on a user interface. Upon detection of each predefined event or sub-event, event recognizer 180 activates event handler 190 associated with the detection of the event or sub-event. Event handler 190 optionally utilizes or invokes data updater 176 or object updater 177 to update application internal state 192. In some embodiments, event handler 190 accesses a respective GUI updater 178 to update what the application displays. Similarly, it will be apparent to those skilled in the art how other processes can be implemented based on the components shown in Figures 1A and 1B. character recognition

[0254] There are many instances in which a user desires to provide text input to an electronic device (e.g., to provide a username or password). Providing such text input using handwriting input is often easier for a user than having to use an on-screen keyboard. Therefore, it may be beneficial to provide an electronic device with a powerful handwriting input user interface to improve a user's interaction with the electronic device. In the embodiments described below, methods for providing such a handwriting input user interface are described. This improved interaction with the device reduces the amount of time required by the user to perform an action, thereby reducing the device's power usage and extending the battery life of battery-powered devices.

[0255] 14A-14C illustrate exemplary ways in which an electronic device may present a user interface for handwriting input, according to some embodiments of the present disclosure. The embodiments in these figures are used to explain the processes described below, including the processes described with reference to FIGS. 15A-15D.

[0256] 14A is a diagram of an exemplary user interface for handwriting input, displayed on display 450. The user interface optionally includes a text entry field 1402. Text entry field 1402 is optionally any area in the user interface where text is entered, such as a search field, a web address field, and / or a username / password field. Text (e.g., letters, numbers, words, symbols, etc.) is optionally entered into text entry field 1402 by providing handwriting input on touch-sensitive surface 451.

[0257] In some embodiments, handwriting input provided on touch-sensitive surface 451 optionally corresponds to one or more characters (e.g., letters, numbers, symbols, etc.). For example, movement of contact 1401 on touch-sensitive surface 451 optionally corresponds to a lowercase "c" and an uppercase "C" because both lowercase "c" and uppercase "C" are optionally associated with the same or similar contact movement on the touch-sensitive surface. Movement of contact 1401 also optionally corresponds to an "O" and a "0" because the movement optionally corresponds to portions of the characters "O" and "0." In such a situation, the electronic device optionally needs to determine which of multiple characters the movement of contact 1401 corresponds to in order to provide input to text entry field 1402. In some embodiments, this determination optionally depends on whether text entry field 1402 is tolerant of ambiguity in characters.

[0258] In some embodiments, text entry field 1402 is optionally tolerant of character ambiguity. In other words, text entry field 1402 is a text entry field that can optionally tolerate some ambiguity in the characters entered into the text entry field. For example, if text entry field 1402 is a web address field (e.g., a uniform resource locator (URL) field), for example, the case of characters entered into the text entry field is optionally not important. In such a situation, entering "www.xyz.com" into text entry field 1402 is optionally as acceptable as entering "www.xYz.com" into the text entry field, because the case of characters in a URL address is optionally ignored when analyzing the URL address. The above discussion optionally applies to other kinds of character ambiguities as well, such as ambiguity about whether a character is alphabetic or numeric (e.g., O vs. 0), in addition to ambiguity about character case.

[0259] In situations where text entry field 1402 is tolerant of ambiguous characters, in response to receiving input that optionally corresponds to multiple candidate characters (e.g., movement of contact 1401 that optionally corresponds to a lowercase "c" and an uppercase "C"), the electronic device optionally displays the top candidate character in the text entry field (e.g., the candidate character that the electronic device determines to be the best match for the handwritten input). As shown in FIG. 14A , in some embodiments, the electronic device causes uppercase "C" 1404 to be displayed in text entry field 1402 in response to input received on touch-sensitive surface 451. In some embodiments, the determination of whether text entry field 1402 is tolerant of ambiguous characters is made after receiving notification of the last of the inputs received on touch-sensitive surface 451.

[0260] However, in some embodiments, text entry fields within a user interface are optionally intolerant of ambiguous characters.

[0261] 14B is a diagram of an exemplary user interface for handwriting input that is displayed on display 450 when a text entry field within the user interface is intolerant of unclear characters. The user interface optionally comprises a text entry field 1410. As described above, text entry field 1410 is optionally any area in the user interface where text is entered, such as a search field, a web address field, and / or a username / password field. As described above, text (e.g., letters, numbers, words, symbols, etc.) is optionally entered into text entry field 1410 by providing handwriting input using touch-sensitive surface 451.

[0262] In some embodiments, text entry field 1410 is optionally intolerant of character ambiguity. In other words, text entry field 1410 is a text entry field in which ambiguity in characters entered into the text entry field is optionally not tolerated. For example, if text entry field 1410 is a password entry field, for example, it is optionally important whether characters entered into the text entry field are uppercase or lowercase. In such a situation, entering "xyz" into text entry field 1410 is optionally not as acceptable as entering "xYz" into the text entry field, because character case in a password is optionally not ignored when determining whether the password is the correct password. The above discussion optionally applies to other types of character ambiguity as well, such as ambiguity as to whether a character is a letter or a number (e.g., O vs. 0), in addition to character case ambiguity.

[0263] In situations where text entry field 1410 is intolerant of character ambiguity, in response to receiving input optionally corresponding to a plurality of candidate characters (e.g., movement of contact 1401 optionally corresponding to a lowercase "c" and an uppercase "C"), the electronic device optionally displays at least two character selection options 1406 corresponding to at least two of the plurality of candidate characters. These character selection options 1406 optionally allow the user to indicate which of the character selection options should be entered into text entry field 1410. As shown in FIG. 14B , in some embodiments, the electronic device displays character selection options 1406 including an uppercase "C," a lowercase "c," an "O," and a "0" in response to input received on touch-sensitive surface 451. In some embodiments, the determination of whether text entry field 1410 is tolerant of character ambiguity is made after receiving notification of the last of the inputs received on touch-sensitive surface 451. In some embodiments, one of the character selection options 1406 is optionally selected and the selected character option is entered into the text entry field 1410 .

[0264] 14C is a diagram of an exemplary handwriting input user interface displayed on display 450 when a character selection option is selected in response to a selection input. As described above, one of character selection options 1406 is optionally selected and the selected character option is entered into text entry field 1410. Selecting one of character selection options 1406 is optionally accomplished in any suitable manner. As shown in FIG. 14C , in some embodiments, selection from one of the character selection options is responsive to detecting input within an area of ​​touch-sensitive surface 451 corresponding to the character selection option.

[0265] Specifically, character selection options 1406 are optionally displayed in a layout similar to the layout of touch-sensitive surface 451. As shown in Figure 14C, in some embodiments, character selection options 1406 are displayed in a 2x2 grid, and touch-sensitive surface 451 has 2x2 grid regions. Detection of an input (e.g., a tap or click) in one of the regions of touch-sensitive surface 451 optionally causes selection of a character selection option in the grid region that corresponds to the region on the touch-sensitive surface where the input was detected. For example, detecting input in the top left region on touch-sensitive surface 451 optionally selects character selection option "C," detecting input in the bottom left region on touch-sensitive surface 451 optionally selects character selection option "O," detecting input in the bottom right region on touch-sensitive surface 451 optionally selects character selection option "0," and detecting input in the top right region on touch-sensitive surface 451 optionally selects character selection option "c." As shown in FIG. 14C , in some embodiments, contact 1403 is detected in the top right region of touch-sensitive surface 451, resulting in the selection of lowercase "c" 1408 and its entry into text entry field 1410. In this manner, the electronic device allows the user to specify which character they wish to input into the device when obscured by handwriting.

[0266] In some embodiments, ambiguity regarding a character entered on touch-sensitive surface 451 is optionally resolved by the device in response to the detected further handwriting input by using the further handwriting input to narrow down the possible characters to a single most likely character. For example, a first portion of the handwriting input (e.g., the downward stroke of a lowercase "l" and an uppercase "L") optionally corresponds to uppercase and lowercase versions of the character. However, when a second portion of the handwriting input (e.g., the horizontal stroke of an uppercase "L") is detected, the first and second portions of the handwriting input together optionally define the case of the character. In such a situation, a character selection option (e.g., character selection option 1406) is optionally displayed in response to the detection of the first portion of the handwriting input, and is optionally no longer displayed in response to the detection of the second portion of the handwriting input, thereby optionally resolving the ambiguity of the entered character, as described above. In some embodiments, character ambiguity is resolved because the first and second portions of the handwritten input together define different characters without ambiguous case (e.g., the first portion of the handwritten input optionally corresponds to a lowercase "l" and an uppercase "L," as described above, and the second portion of the handwritten input optionally defines the character as "D" instead of "l" or "L"). In some embodiments, character ambiguity is resolved because the first and second portions of the handwritten input together define a number rather than a letter (e.g., the first portion of the handwritten input optionally corresponds to a lowercase "l" and an uppercase "L," as described above, and the second portion of the handwritten input optionally defines the character as "4").

[0267] 15A-15D are flow diagrams illustrating a method 1500 for detecting handwriting input, according to some embodiments. Method 1500 is optionally performed on an electronic device, such as device 500 described above with reference to FIG. 5, including a set-top box or other user interface generating device in communication with a remote control and a display device. Some operations of method 1500 are optionally combined and / or the order of some operations is optionally changed.

[0268] As described below, method 1500 provides a way for a device to optionally respond to receiving notifications regarding inputs corresponding to multiple candidate characters. This method reduces the cognitive burden on a user when interacting with the device's user interface and reduces the need for the user to physically interact with the device, thereby creating a more efficient human-machine interface. More efficient user interaction with the user interface allows battery-powered electronic devices to conserve power and extend the time between battery charges.

[0269] In some embodiments, an electronic device with one or more processors (e.g., a set-top box or other user interface generating device in communication with a remote control and a display device, such as device 500 of FIG. 5) generates 1502 a user interface for display on a display device (e.g., a television or other display device, such as display 450 of FIG. 14A). In some embodiments, the user interface includes 1504 a text entry field (e.g., a search field, a web address field, a username / password field, etc., such as text entry fields 1402 and 1410 of FIGS. 14A-14C).

[0270] In some embodiments, while the user interface is displayed on the display device, the device receives (1506) a notification regarding a first input including movement of a contact (e.g., a finger contact or a stylus contact, such as contact 1401 in FIGS. 14A and 14B ) detected on a touch-sensitive surface of the device (e.g., a touch-sensitive surface of a remote control or portable multifunction device with a touchscreen display, such as touch-sensitive surface 451 in FIGS. 14A and 14B ). In some embodiments, the movement of the contact corresponds (1508) to a plurality of candidate characters (e.g., letters, numbers, words, symbols, etc., such as those described with reference to FIGS. 14A and 14B ).

[0271] In some embodiments, in response to receiving notification regarding the first input (1510), following a determination that the text entry field is tolerant of character ambiguity (e.g., a search field, which is a text entry field where uppercase vs. lowercase character entry is not important, e.g., text entry field 1402 of FIG. 14A ), the device displays (1512) a top candidate character from among multiple candidate characters in the text entry field (e.g., the device optionally automatically selects the top candidate when case is not important, such as character 1404 of FIG. 14A ). In some embodiments, the character ambiguity includes (1514) ambiguity regarding the case of the character entered into the text entry field (e.g., s vs. S). In some embodiments, the character ambiguity includes (1516) ambiguity regarding whether the character entered into the text entry field is a letter or a number (e.g., O vs. 0). In some embodiments, a determination regarding tolerance for character ambiguity in the text entry field is made 1518 after receiving notification of the end of the first input.

[0272] In some embodiments, in response to receiving notification of the first input (1510), following a determination that the text entry field (e.g., a username or password field, such as text entry field 1410 in FIG. 14B ) is intolerant of character ambiguity, the device displays (1520) a plurality of character selection options (e.g., character selection options 1406 in FIG. 14B ) corresponding to at least two of the plurality of candidate characters (e.g., the device displays lowercase and uppercase versions of the character). In some embodiments, the desired character is optionally selected and the selected character is entered into the text entry field. In some embodiments, the character ambiguity includes ambiguity regarding the case of the character entered into the text entry field (1522). In some embodiments, the character ambiguity includes ambiguity regarding whether the character entered into the text entry field is a letter or a number (1524). In some embodiments, if the text entry field is a password entry field, the text entry field is determined to be a text entry field that is intolerant of character ambiguity (1526). In some embodiments, a determination regarding tolerance for character ambiguity in the text entry field is made after receiving notification of the end of the first input 1528. In some embodiments, the multiple character selection options include uppercase and lowercase versions of the character 1530 (as shown in FIG. 14B).

[0273] In some embodiments, the device receives (1532) a notification about a second input (contact 1403 in FIG. 14C ) detected on a touch-sensitive surface of the device (e.g., the touch-sensitive surface of a remote control or portable multifunction device with a touchscreen display). In some embodiments, in response to receiving (1534) the notification about the second input, and following a determination that the second input corresponds to a lowercase version of a character (e.g., a tap in a particular area of ​​the device's touch-sensitive surface associated with the lowercase version of the character, or a particular gesture associated with the lowercase version of the character; e.g., contact 1403 detected in the top-right area of ​​touch-sensitive surface 451 in FIG. 14C ), the device enters (1536) the lowercase version of the character into a text entry field (e.g., entering lowercase “c” 1408 into text entry field 1410 in FIG. 14C ). In some embodiments, in response to receiving notification of the second input (1534), and following a determination that the second input corresponds to an uppercase version of the character (e.g., a tap in a particular area of ​​the device's touch-sensitive surface associated with the uppercase version of the character, or a particular gesture associated with the uppercase version of the character; e.g., contact detected in the top-left area of ​​touch-sensitive surface 451 in FIG. 14C), the device enters (1538) the uppercase version of the character into the text entry field.

[0274] In some embodiments, a first region on a touch-sensitive surface of a device (e.g., a remote control or a touch-sensitive surface of a portable multifunction device with a touchscreen display) is associated with a first candidate character of a plurality of candidate characters (e.g., the top right region of touch-sensitive surface 451 is associated with the lowercase letter "c" in character selection options 1406 of FIG. 14C ), and a second region of the touch-sensitive surface of the device, different from the first region, is associated with a second candidate character of the plurality of candidate characters (e.g., the top left region of touch-sensitive surface 451 is associated with the uppercase letter "C" in character selection options 1406 of FIG. 14C ) (1540). In some embodiments, the relative position of the first region on the touch-sensitive surface with respect to the second region on the touch-sensitive surface is the same as the relative position of the first candidate character with respect to the second candidate character in the user interface. That is, the plurality of character selection options are displayed in a layout similar to their layout on the touch-sensitive surface of the device. In some embodiments, the device receives (1542) a notification of a second input (e.g., a tap or a tap-and-click) detected on the touch-sensitive surface of the device. In some embodiments, in response to receiving (1544) the notification of the second input, in accordance with a determination that the second input was detected on a first region of the touch-sensitive surface of the device, the device enters (1546) a first candidate character into the text entry field. In some embodiments, in response to receiving (1544) the notification of the second input, in accordance with a determination that the second input was detected in a second region of the touch-sensitive surface of the device, the device enters (1548) a second candidate character into the text entry field. For example, the multiple character selection options are optionally displayed in a 2x2 grid (as shown in FIG. 14C ) within the user interface, with a first character on the top left, a second character on the top right, a third character on the bottom right, and a fourth character on the bottom left.Selection of each one of the letters is optionally achieved by tapping the areas on the touch-sensitive surface that correspond to the grid in which each letter is displayed (top left, top right, bottom right, and bottom left), as shown in FIG. 14C.

[0275] It should be understood that the particular order of operations described in Figures 15A-15D is merely illustrative and is not intended to indicate that the described order is the only order in which the operations can be performed. Those skilled in the art will recognize various ways to rearrange the order of operations described herein. Additionally, it should be noted that other process details described herein with respect to other methods described herein (e.g., methods 700, 900, 1100, and 1300) are also applicable to methods similar to method 1500 described above with respect to Figures 15A-15D. For example, the user interface, display device, and touch-sensitive surface described above with respect to method 1500 optionally have one or more of the features of the user interface, display device, and touch-sensitive surface described herein with respect to other methods described herein (e.g., methods 700, 900, 1100, and 1300). For the sake of brevity, these details will not be repeated here.

[0276] The operations of the information processing methods described above are optionally performed by running one or more functional modules in an information processing device, such as a general-purpose processor (e.g., as described above with respect to Figures 1A, 3 and 5) or an application-specific chip.

[0277] 1A and 1B. For example, generate operation 1502, receive operation 1506, and display operations 1512 and 1520 are optionally performed by event sorter 170, event recognizer 180, and event handler 190. Event monitor 171 in event sorter 170 detects contacts on touch-sensitive display 112, and event dispatcher module 174 delivers the event information to application 136-1. Each event recognizer 180 of application 136-1 compares the event information to each 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 selecting an object on a user interface. Upon detection of each predefined event or sub-event, event recognizer 180 activates event handler 190 associated with the detection of the event or sub-event. Event handler 190 optionally utilizes or invokes data updater 176 or object updater 177 to update application internal state 192. In some embodiments, event handler 190 accesses a respective GUI updater 178 to update what the application displays. Similarly, it will be apparent to those skilled in the art how other processes can be implemented based on the components shown in Figures 1A and 1B.

[0278] According to some embodiments, Figure 16 is a functional block diagram of an electronic device 1600 configured in accordance with the principles of the various described embodiments. The functional blocks of the device are optionally implemented in hardware, software, or a combination of hardware and software to carry out the principles of the various described embodiments. Those skilled in the art will understand that the functional blocks described in Figure 16 may be optionally combined or divided into sub-blocks to carry out the principles of the various described embodiments. Thus, the description herein optionally supports any possible combination or division or further definition of the functional blocks described herein.

[0279] 16 , the electronic device 1600 optionally includes a receiving unit 1602 configured to receive input, and a processing unit 1604 coupled to the receiving unit 1602. In some embodiments, the processing unit 1604 includes a display enabling unit 1606, a determining unit 1608, an executing unit 1610, and a detecting unit 1612.

[0280] In some embodiments, the receiving unit 1602 is configured to receive a notification regarding a first input comprising a contact detected on a touch-sensitive surface of the device, the touch-sensitive surface comprising a plurality of predefined regions, each predefined region of the plurality of predefined regions being selectable for performing an associated function. In some embodiments, the processing unit 1604 is configured to generate a user interface for display on the display device (e.g., with the display enabling unit 1606), and in response to receiving the notification regarding the first input, determine (e.g., with the determining unit 1608) whether the contact has been detected for longer than a first period of time, and in response to a determination that the contact meets function display criteria comprising criteria that are met when the contact has been detected for longer than the first period of time, determine (e.g., with the determining unit 1608) function information for a display in the user interface, the function information including information regarding a first function of the plurality of associated functions.

[0281] In some embodiments, the processing unit 1604 is further configured to, following a determination that the contact does not meet the function display criteria, refrain from determining (e.g., using the determining unit 1608) function information including information regarding a first function of the plurality of associated functions.

[0282] In some embodiments, the feature information comprises an overlay displayed on a moving or still image in the user interface, hi some embodiments, the feature display criteria comprises a criterion that is met if the contact moves less than a first movement threshold for a first period of time.

[0283] In some embodiments, the processing unit is further configured to refrain from determining (e.g., using the determining unit 1608) function information including information regarding a first function of the plurality of associated functions following a determination that the contact did not meet the function display criteria because it moved beyond a first movement threshold for a first period of time.

[0284] In some embodiments, the information about the first function includes a visual cue for performing the first function. In some embodiments, the information about the first function is displayed at a first location within the user interface, the first location corresponding to a first predetermined area on the touch-sensitive surface associated with the first function. In some embodiments, the function information further includes second information about a second function of the plurality of associated functions, the second information being displayed at a second location within the user interface, the second location corresponding to a second predetermined area on the touch-sensitive surface associated with the second function, and a relative position of the first location within the user interface to the second location within the user interface corresponding to a relative position of the first predetermined area on the touch-sensitive surface to the second predetermined area on the touch-sensitive surface.

[0285] In some embodiments, the receiving unit 1602 is further configured to receive a notification regarding a second input detected on a first predefined area of ​​the touch-sensitive surface associated with the first function, and the processing unit 1604 is further configured to execute (e.g., using the execution unit 1610) the first function associated with the first predefined area in response to receiving the notification regarding the second input.

[0286] In some embodiments, detecting the second input includes detecting the second input simultaneously with the contact on the touch-sensitive surface of the device. In some embodiments, detecting the second input includes detecting the second contact on a first predetermined area of ​​the touch-sensitive surface of the device. In some embodiments, detecting the second input includes detecting an increase in intensity of the contact above a first predetermined intensity threshold.

[0287] In some embodiments, the receiving unit 1602 is further configured to receive a notification regarding a third input detected on a first predetermined area of ​​the touch-sensitive surface associated with the first function, wherein detecting the third input includes detecting a second increase in intensity of the contact that exceeds a second predetermined intensity threshold, the second predetermined intensity threshold being higher than the first predetermined intensity threshold, and the processing unit 1604 is further configured, in response to receiving the notification regarding the third input, to refrain from executing (e.g., with the executing unit 1610) the first function associated with the first predetermined area on the touch-sensitive surface and to execute (e.g., with the executing unit 1610) a second function associated with the first predetermined area of ​​the touch-sensitive surface, wherein the second function is different from the first function.

[0288] In some embodiments, the processing unit 1604 is further configured to replace the function information in the user interface with second function information (e.g., using the display enablement unit 1606) before executing the second function, the second function information including second information regarding a second function associated with the first predetermined region of the touch-sensitive surface.

[0289] In some embodiments, detecting the second input further includes detecting a contact on the touch-sensitive surface of the device for longer than a second duration after detecting an increase in intensity of the contact above a first predetermined intensity threshold, and the processing unit 1604 is further configured, in response to receiving the notification regarding the second input, to refrain from executing (e.g., with the execution unit 1610) a first function associated with the first predetermined area on the touch-sensitive surface and to execute (e.g., with the execution unit 1610) a second function associated with the first predetermined area of ​​the touch-sensitive surface, the second function being different from the first function.

[0290] In some embodiments, the processing unit is further configured to replace the function information in the user interface with second function information (e.g., using the display enabling unit 1606) before executing the second function, the second function information including second information regarding a second function associated with the first predetermined region of the touch-sensitive surface. In some embodiments, the device comprises an input device, and the input device and the display device are separate devices.

[0291] In some embodiments, a first predefined area of ​​a plurality of predefined areas on the touch-sensitive surface of the device is associated with a first function set, the first function set including a first function, and determining function information to display in response to receiving a notification about the first input includes determining a current context of the user interface and selecting a first function from the first function set based on the current context of the user interface. In some embodiments, selecting a first function from the first function set based on the current context of the user interface includes: in accordance with a determination that the current context is a first context, the first function corresponds to a first action; and in accordance with a determination that the current context is a second context different from the first context, the first function corresponds to a second action different from the first action.

[0292] In some embodiments, a second predetermined area of ​​the plurality of predetermined areas on the touch-sensitive surface of the device is associated with a second function set, the second function set including a second function, and determining function information to display in response to receiving a notification regarding the first input further includes selecting a second function from the second function set based on a current context of the user interface, wherein in accordance with a determination that the current context is a first context, the first function corresponds to a first action and the second function corresponds to a third action that is different from the first action and the second action, and in accordance with a determination that the current context is a second context, the first function corresponds to a second action and the second function corresponds to a fourth action that is different from the first action, the second action, and the third action.

[0293] In some embodiments, the plurality of associated functions includes a navigation function for navigating within the user interface. In some embodiments, the plurality of associated functions includes a navigation function for navigating content within the user interface. In some embodiments, the plurality of associated functions includes a navigation function for navigating one or more content bars within the user interface. In some embodiments, the plurality of associated functions includes an information function for displaying information about content within the user interface.

[0294] According to some embodiments, Figure 17 is a functional block diagram of an electronic device 1700 configured in accordance with the principles of the various described embodiments. The functional blocks of the device are optionally implemented in hardware, software, or a combination of hardware and software to carry out the principles of the various described embodiments. Those skilled in the art will understand that the functional blocks described in Figure 17 may be optionally combined or divided into sub-blocks to carry out the principles of the various described embodiments. Thus, the description herein optionally supports any possible combination or division or further definition of the functional blocks described herein.

[0295] 17, the electronic device 1700 optionally includes a receiving unit 1702 configured to receive input, and a processing unit 1704 coupled to the receiving unit 1702. In some embodiments, the processing unit 1704 includes an obtaining unit 1706, a display enabling unit 1708, a moving unit 1710, and a determining unit 1712.

[0296] In some embodiments, the processing unit 1704 is configured to obtain (e.g., using the obtaining unit 1706) information identifying a sequence of content items including a plurality of content items, and to generate (e.g., using the display enabling unit 1708) a user interface to be displayed on a display device when each content item of the plurality of content items is the currently selected content item (wherein the user interface includes a navigation bar including an indication of a current position within each content item, a plurality of images corresponding to different positions within each content item, and an indication of a first adjacent content item within the plurality of content items adjacent to each content item in the sequence of content items), and to provide (e.g., using the display enabling unit 1708) the user interface to the display device.

[0297] In some embodiments, the representation of the first adjacent content item in the navigation bar includes an image from a position within the first adjacent content item, and in some embodiments, the navigation bar further includes a representation of a second adjacent content item within the plurality of content items adjacent to each content item in the sequence of content items, the first adjacent content item appearing before each content item in the sequence of content items and the second adjacent content item appearing after each content item in the sequence of content items.

[0298] In some embodiments, the navigation bar further includes a current location indicator superimposed on the plurality of images in the navigation bar, wherein a relative position of the current location indicator with respect to each of the plurality of images in the navigation bar corresponds to a current location within each content item and an indication of the current location within each content item. In some embodiments, the receiving unit 1702 is configured to receive a notification regarding a first input including a contact detected on a touch-sensitive surface of the device while the user interface is displayed on the display device, wherein detecting the contact includes detecting movement of the contact, and the processing unit 1704 is configured to move the current location indicator within the navigation bar (e.g., with the movement unit 1710) in response to the movement of the contact, wherein moving the current location indicator further includes changing a relative position of the current location indicator with respect to each of the plurality of images in the navigation bar in response to the movement of the contact, and updating the current location within each content item and an indication of the current location within each content item according to the relative position of the current location indicator with respect to each of the plurality of images.

[0299] In some embodiments, a threshold is used to separate the plurality of images in the navigation bar from the display of the first adjacent content item in the navigation bar, and the processing unit 1704 is configured to determine (e.g., using the determining unit 1712) that a current location indicator has crossed the threshold from the plurality of images in the navigation bar to the display of the first adjacent content item in the navigation bar, and, in accordance with the determination, to replace (e.g., using the display enabling unit 1708) in the navigation bar the plurality of images corresponding to different positions in each content item with a second plurality of images corresponding to different positions in the first adjacent content item, and to enable a current location indicator for each of the second plurality of images in the navigation bar. the display enabling unit 1708) to set (e.g., using the display enabling unit 1708) a relative position of each content item to correspond to a current position within the first adjacent content item; replace (e.g., using the display enabling unit 1708) in the navigation bar the display of the first adjacent content item with a display of a second content item within the plurality of content items (wherein the second adjacent content item is different from each content item and the second adjacent content item is adjacent to the first adjacent content item in the sequence of content items); and replace (e.g., using the display enabling unit 1708) in the user interface the display of the current position of each content item with a display of the current position within the first adjacent content item.

[0300] In some embodiments, the device includes an input device, and the input device and the display device are separate devices. In some embodiments, the display of each content item is larger than a navigation bar in the user interface, and the display of each content item includes a video from each content item, the video includes a plurality of images in the navigation bar, and the plurality of images in the navigation bar include a plurality of still images from each content item.

[0301] In some embodiments, generating a user interface for display on the display device includes determining a content type of each content item; and, in accordance with a determination that the content type of each content item is a first content type, selecting a first position and a second position within each content item (the first position and the second position are separated by a first interval, the first interval being a time-based interval, a first image of the plurality of images in the navigation bar corresponds to the first position within each content item, and a second image of the plurality of images in the navigation bar corresponds to the second position within each content item); and, in accordance with a determination that the content type of each content item is a second content item, selecting a third position and a fourth position within each content item (the third position and the fourth position are separated by a second interval different from the first interval, the second interval being a content-based interval, a first image of the plurality of images in the navigation bar corresponds to the third position within each content item, and a second image of the plurality of images in the navigation bar corresponds to the fourth position within each content item).

[0302] In some embodiments, obtaining information identifying the sequence of content items that includes each content item includes determining a content type of each content item, and, in accordance with a determination that the content type of each content item is a first content type, identifying a first sequence of content items that includes each content item (wherein the first content item appears immediately before each content item in the sequence of content items and the second content item appears immediately after each content item in the sequence of content items), and, in accordance with a determination that the content type of each content item is a second content type, identifying a second sequence of content items that includes each content item (wherein the second sequence of content items is different from the first sequence of content items and a third content item is adjacent to each content item in the second sequence of content items and the third content item is different from the first content item and the second content item).

[0303] In some embodiments, a first image of the plurality of images in the navigation bar corresponds to a first position within each content item, and a second image of the plurality of images in the navigation bar corresponds to a second position within each content item, the first position within each content item and the second position within each content item being separated by a first interval, and the receiving unit 1702 is further configured to receive a notification regarding a first input comprising a contact detected on a touch-sensitive surface of the device while the user interface is displayed on the display device, and detecting the contact comprises: the processing unit 1704 is further configured to select (e.g., using the determining unit 1712) a third position and a fourth position within each content item in response to the movement of the contact (where the third position and the fourth position are separated by a second interval different from the first interval), and to replace (e.g., using the display enabling unit 1706) the first image in the navigation bar with a third image corresponding to the third position within each content item and the second image in the navigation bar with a fourth image corresponding to the fourth position within each content item.

[0304] In some embodiments, selecting the third and fourth positions within each content item includes determining a content type of each content item; and, in accordance with a determination that the content type of each content item is a first content type, selecting a second interval separating the third and fourth positions within each content item to be a time-based interval; and, in accordance with a determination that the content type of each content item is a second content type, selecting a second interval separating the third and fourth positions within each content item to be a content-based interval.

[0305] According to some embodiments, Figure 18 is a functional block diagram of an electronic device 1800 configured in accordance with the principles of the various described embodiments. The functional blocks of the device are optionally implemented in hardware, software, or a combination of hardware and software to carry out the principles of the various described embodiments. Those skilled in the art will understand that the functional blocks described in Figure 18 may be optionally combined or divided into sub-blocks to carry out the principles of the various described embodiments. Thus, the description herein optionally supports any possible combination or division or further definition of the functional blocks described herein.

[0306] 18 , the electronic device 1800 optionally includes a receiving unit 1802 configured to receive input, and a processing unit 1804 coupled to the receiving unit 1802. In some embodiments, the processing unit 1804 includes a display enabling unit 1806, a determining unit 1808, and a moving unit 1810.

[0307] In some embodiments, the receiving unit 1802 is configured to receive a notification regarding a first input comprising a contact detected on a touch-sensitive surface of the device, the first input corresponding to each value of a movement metric; and the processing unit 1804 is configured to generate (e.g., using the display enabling unit 1806) a user interface for display on the display device (wherein the user interface includes a selection indicator indicating a currently selected user interface element among the plurality of user interface elements); and, in response to receiving the notification regarding the first input, determine (e.g., using the determining unit 1808) whether the first input complies with a unitary movement criterion; and, in accordance with a determination that the first input complies with the unitary movement criterion, move the selection indicator (e.g., using the movement unit 1810) within the user interface by a predetermined amount; and, in accordance with a determination that the first input does not comply with the unitary movement criterion, move the selection indicator (e.g., using the movement unit 1810) in accordance with each value of the movement metric associated with the first input.

[0308] In some embodiments, moving the selection indicator a predetermined amount within the user interface includes moving the selection indicator to indicate selection of an adjacent user interface element of the plurality of user interface elements. In some embodiments, the unitary movement criterion includes a criterion that is met when contact lift-off is detected within a first period of time during which the contact is touching down and contact movement exceeds a first movement threshold but is less than a second movement threshold. In some embodiments, the first movement threshold and the second movement threshold are defined relative to contact movement required on the touch-sensitive surface to move the selection indicator a single UI element within the user interface.

[0309] In some embodiments, moving the selection indicator by a predetermined amount and moving the selection indicator in response to each value of the movement metric both include moving the selection indicator according to a direction of movement of a contact on the touch-sensitive surface. In some embodiments, the unitary movement criterion includes a criterion that is met when a contact is detected within a first edge region of a plurality of edge regions of the touch-sensitive surface, contact lift-off is detected within a first time period during which the contact is touch-down, and movement of the contact is less than a movement threshold, and moving the selection indicator by a predetermined amount includes moving the selection indicator in a direction corresponding to the first edge region of the touch-sensitive surface where the contact was detected.

[0310] In some embodiments, the plurality of user interface elements include a plurality of navigation columns, and moving the selection indicator by the predetermined amount includes moving the selection indicator from a first navigation column to a second navigation column adjacent to the first navigation column. In some embodiments, the plurality of user interface elements include a plurality of images, and moving the selection indicator by the predetermined amount includes moving the selection indicator from a first image to a second image adjacent to the first image. In some embodiments, the plurality of user interface elements include a plurality of content items arranged in a grid, and moving the selection indicator by the predetermined amount includes moving the selection indicator from a first content item to a second content item adjacent to the first content item.

[0311] According to some embodiments, Figure 19 is a functional block diagram of an electronic device 1900 configured in accordance with the principles of the various described embodiments. The functional blocks of the device are optionally implemented in hardware, software, or a combination of hardware and software to carry out the principles of the various described embodiments. Those skilled in the art will understand that the functional blocks described in Figure 19 may be optionally combined or divided into sub-blocks to carry out the principles of the various described embodiments. Thus, the description herein optionally supports any possible combination or division or further definition of the functional blocks described herein.

[0312] 19 , electronic device 1900 optionally comprises a receiving unit 1902 configured to receive input, a direction unit 1904 connected to the receiving unit and configured to detect an orientation of the device, and a processing unit 1906 connected to the receiving unit 1902 and the direction unit 1904. In some embodiments, processing unit 1906 comprises a determining unit 1908, an interpreting unit 1910, an executing unit 1912, and a display enabling unit 1914.

[0313] In some embodiments, the receiving unit 1902 is configured to receive a notification regarding a first input comprising a movement of a contact detected on a touch-sensitive surface of the device, and the processing unit 1906 is configured to determine (e.g., with the determining unit 1908) a grip of a user using the device and interpret (e.g., with the interpreting unit 1910) the movement of the contact on the touch-sensitive surface based at least in part on the user's grip. In some embodiments, determining the grip of the user using the device comprises determining the grip of the user using the device based at least in part on an orientation of the device. In some embodiments, determining the grip of the user using the device comprises determining the grip of the user using the device based on an average orientation of the device over a recent predetermined period of time. In some embodiments, the orientation of the device is determined based on an accelerometer or other orientation unit 1904 within the device.

[0314] In some embodiments, interpreting the movement of the contact on the touch-sensitive surface based at least in part on the user's grip includes: performing a first action (e.g., with the execution unit 1912) in response to the first input in accordance with a determination that the grip is a first grip; and performing a second action (e.g., with the execution unit 1912) in response to the first input in accordance with a determination that the grip is a second grip different from the first grip, the second action being different from the first action. In some embodiments, interpreting the movement of the contact on the touch-sensitive surface based at least in part on the user's grip includes: ignoring a first portion of the movement of the contact in accordance with a determination that the grip is a first grip; and ignoring a second portion of the movement of the contact that is different from the first portion of the movement of the contact in accordance with a determination that the grip is a second grip different from the first grip.

[0315] In some embodiments, the first grip comprises a right-handed grip, and ignoring the first portion of the contact movement comprises ignoring an end of the contact movement in accordance with a determination that the contact movement is right-to-left on the touch-sensitive surface and ignoring a beginning of the contact movement in accordance with a determination that the contact movement is left-to-right on the touch-sensitive surface. In some embodiments, the second grip comprises a left-handed grip, and ignoring the second portion of the contact movement comprises ignoring a beginning of the contact movement in accordance with a determination that the contact movement is right-to-left on the touch-sensitive surface and ignoring an end of the contact movement in accordance with a determination that the contact movement is left-to-right on the touch-sensitive surface.

[0316] In some embodiments, the processing unit 1906 is further configured to provide feedback information for display on a display device (e.g., using the display enablement unit 1914), the feedback information including information regarding the determined grip of a user using the device and an interpretation of the movement of the contact on the touch-sensitive surface.

[0317] According to some embodiments, Figure 20 is a functional block diagram of a first device 2000 configured in accordance with the principles of the various described embodiments. The functional blocks of the device are optionally implemented in hardware, software, or a combination of hardware and software to carry out the principles of the various described embodiments. Those skilled in the art will understand that the functional blocks described in Figure 20 may be optionally combined or divided into sub-blocks to carry out the principles of the various described embodiments. Thus, the description herein optionally supports any possible combination or division or further definition of the functional blocks described herein.

[0318] 20 , the electronic device 2000 optionally comprises a receiving unit 2002 configured to receive input, and a processing unit 2004 connected to the receiving unit 2002. In some embodiments, the processing unit 2004 comprises a display enabling unit 2006, a determining unit 2008, and an input unit 2010.

[0319] In some embodiments, the receiving unit 2002 is configured to receive a notification regarding a first input comprising a movement of a contact detected on a touch-sensitive surface of the device, the movement of the contact corresponding to a plurality of candidate characters, and the processing unit 2004 is configured to generate (e.g., with the display enablement unit 2006) a user interface for display on the display device, wherein the user interface includes a text entry field and is configured, in response to receiving the notification regarding the first input, to: display (e.g., with the display enablement unit 2006) a top candidate character of the plurality of candidate characters in the text entry field in accordance with a determination (e.g., with the determining unit 2008) that the text entry field is tolerant of character ambiguity; and to display (e.g., with the display enablement unit 2006) a plurality of character selection options corresponding to at least two of the plurality of candidate characters in accordance with a determination (e.g., with the determining unit 2008) that the text entry field is intolerant of character ambiguity. In some embodiments, the character ambiguity includes ambiguity regarding the case of the character entered into the text entry field. In some embodiments, character ambiguity includes ambiguity regarding whether a character entered into the text field is a letter or a number. In some embodiments, if the text field is a password field, the text field is determined to be a text field that does not tolerate character ambiguity. In some embodiments, the determination regarding tolerance of character ambiguity in the text field is made after receiving notification of the end of the first input.

[0320] In some embodiments, the plurality of character selection options include an uppercase version and a lowercase version of the character, and the receiving unit is further configured to receive a notification regarding a second input detected on the touch-sensitive surface of the device, and the processing unit 2004 is further configured, in response to receiving the notification regarding the second input, to enter the lowercase version of the character (e.g., using the input unit 2010) into the text entry field in accordance with a determination (e.g., using the determination unit 2008) that the second input corresponds to the lowercase version of the character, and to enter the uppercase version of the character (e.g., using the input unit 2010) into the text entry field in accordance with a determination (e.g., using the determination unit 2008) that the second input corresponds to the uppercase version of the character. In some embodiments, a first region of the touch-sensitive surface of the device is associated with a first candidate character of the plurality of candidate characters, and a second region of the touch-sensitive surface of the device different from the first region is associated with a second candidate character of the plurality of candidate characters; the receiving unit 2002 is further configured to receive a notification regarding a second input detected on the touch-sensitive surface of the device; and the processing unit 2004 is further configured, in response to receiving the notification regarding the second input, to enter the first candidate character (e.g., using the input unit 2010) into the text entry field in accordance with a determination (e.g., using the determination unit 2008) that the second input has been detected on the first region of the touch-sensitive surface of the device, and to enter the second candidate character (e.g., using the input unit 2010) into the text entry field in accordance with a determination (e.g., using the determination unit 2008) that the second input has been detected on the second region of the touch-sensitive surface of the device.

[0321] The operations described above with reference to Figures 7A-7G, 9A-9G, 11A-11D, 13A-13C, and 15A-15D are optionally performed by components shown in Figures 1A and 1B, 16, 17, 18, 19, or 20. For example, determining operations 712, 906, 1118, and 1304 are optionally performed by event sorter 170, event recognizer 180, and event handler 190. Event monitor 171 in event sorter 170 detects contacts on touch-sensitive display 112, and event dispatcher module 174 delivers the event information to application 136-1. Each event recognizer 180 of application 136-1 compares the event information to each 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 selecting an object on a user interface. As each predefined event or sub-event is detected, event recognizer 180 activates an event handler 190 associated with the detection of the event or sub-event. Event handler 190 optionally utilizes or invokes data updater 176 or object updater 177 to update application internal state 192. In some embodiments, event handler 190 accesses a respective GUI updater 178 to update what the application displays. Similarly, it will be apparent to those skilled in the art how other processes can be implemented based on the components shown in Figures 1A-1B, 16, 17, 18, 19, or 20.

[0322] The foregoing description has been set forth with reference to specific embodiments for purposes of explanation. However, the exemplary discussion above 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 were 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 embodiments described, with various modifications suitable for the particular uses contemplated.

Claims

1. An electronic device comprising one or more processors and a memory, receiving a notification regarding a first input comprising movement of a contact detected on a touch-sensitive surface of the device; determining a grip with which a user is holding the device; interpreting movement of the contact on the touch-sensitive surface based at least in part on the grip of the user; performing a first action in response to the first input in accordance with a determination that the grip is a first grip; performing a second action different from the first action in response to the first input in accordance with a determination that the grip is a second grip different from the first grip; Including, Interpreting the movement of the contact on the touch-sensitive surface based at least in part on the grip of the user includes: ignoring a first portion of the movement of the contact in accordance with the determination that the grip is a first grip; ignoring a second portion of the contact movement that is different from the first portion of the contact movement in accordance with the determination that the grip is a second grip; A method comprising:

2. The method of claim 1 , wherein determining the grip with which the user is holding the device comprises determining the grip with which the user is holding the device based at least in part on an orientation of the device.

3. 2. The method of claim 1, wherein determining the grip with which the user is holding the device comprises determining the grip with which the user is holding the device based on an average orientation of the device over a recent predetermined period of time.

4. The method of claim 2 , wherein the orientation of the device is determined based on an accelerometer or other orientation sensor within the device.

5. the first grip comprises a right-hand grip; Ignoring the first portion of the movement of the contact comprises: ignoring an end of the contact movement in accordance with a determination that the contact movement is from right to left on the touch-sensitive surface; and ignoring a beginning of the contact movement in accordance with a determination that the contact movement is from left to right on the touch-sensitive surface; and The method of claim 1 , comprising:

6. the second grip comprises a left-handed grip; Ignoring the second portion of the movement of the contact comprises: ignoring a beginning of the contact movement in accordance with a determination that the contact movement is from right to left on the touch-sensitive surface; and ignoring an end of the contact movement in accordance with a determination that the contact movement is from left to right on the touch-sensitive surface; and The method of claim 1 , comprising:

7. 10. The method of claim 1, further comprising providing feedback information for display on a display device, the feedback information including information regarding the determined grip with which the user is holding the device and an interpretation of movement of the contact on the touch-sensitive surface.

8. one or more processors; Memory and one or more programs stored in the memory and configured to be executed by the one or more processors, wherein the one or more programs include: instructions for receiving a notification regarding a first input comprising movement of a contact detected on a touch-sensitive surface of the device; instructions for determining a grip with which a user is holding the device; instructions for interpreting movement of the contact on the touch-sensitive surface based at least in part on the grip of the user, performing a first action in response to the first input in accordance with a determination that the grip is a first grip; performing a second action different from the first action in response to the first input in accordance with a determination that the grip is a second grip different from the first grip; and an instruction including: Interpreting the movement of the contact on the touch-sensitive surface based at least in part on the grip of the user includes: ignoring a first portion of the movement of the contact in accordance with the determination that the grip is a first grip; ignoring a second portion of the contact movement that is different from the first portion of the contact movement in accordance with the determination that the grip is a second grip; , an electronic device.

9. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs, when executed by an electronic device having one or more processors and a memory, causing the device to: instructions to receive a notification regarding a first input comprising movement of a contact detected on a touch-sensitive surface of the device; instructions for determining the grip with which a user is holding the device; instructions for interpreting movement of the contact on the touch-sensitive surface based at least in part on the grip of the user, performing a first action in response to the first input in accordance with a determination that the grip is a first grip; performing a second action different from the first action in response to the first input in accordance with a determination that the grip is a second grip different from the first grip; and an instruction including: Interpreting the movement of the contact on the touch-sensitive surface based at least in part on the grip of the user includes: ignoring a first portion of the movement of the contact in accordance with the determination that the grip is a first grip; ignoring a second portion of the contact movement that is different from the first portion of the contact movement in accordance with the determination that the grip is a second grip; 1. A non-transitory computer-readable storage medium comprising:

10. 10. The electronic device of claim 8, wherein determining the grip with which the user is holding the device comprises determining the grip with which the user is holding the device based at least in part on an orientation of the device.

11. 9. The electronic device of claim 8, wherein determining the grip with which the user is holding the device comprises determining the grip with which the user is holding the device based on an average orientation of the device over a recent predetermined period of time.

12. The electronic device of claim 11 , wherein the orientation of the device is determined based on an accelerometer or other orientation sensor within the device.

13. the first grip comprises a right-hand grip; Ignoring the first portion of the movement of the contact comprises: ignoring an end of the contact movement in accordance with a determination that the contact movement is from right to left on the touch-sensitive surface; and ignoring a beginning of the contact movement in accordance with a determination that the contact movement is from left to right on the touch-sensitive surface; and The electronic device of claim 8 , comprising:

14. the second grip comprises a left-handed grip; Ignoring the second portion of the movement of the contact comprises: ignoring a beginning of the contact movement in accordance with a determination that the contact movement is from right to left on the touch-sensitive surface; and ignoring an end of the contact movement in accordance with a determination that the contact movement is from left to right on the touch-sensitive surface; and The electronic device of claim 8 , comprising:

15. 10. The electronic device of claim 8, wherein the instructions are further for providing feedback information for display on a display device, the feedback information including information regarding the determined grip with which the user is holding the device and an interpretation of movement of the contact on the touch-sensitive surface.

16. 10. The non-transitory computer-readable storage medium of claim 9, wherein determining the grip with which the user is holding the device comprises determining the grip with which the user is holding the device based at least in part on an orientation of the device.

17. 10. The non-transitory computer-readable storage medium of claim 9, wherein determining the grip with which the user is holding the device comprises determining the grip with which the user is holding the device based on an average orientation of the device over a recent predetermined period of time.

18. 20. The non-transitory computer-readable storage medium of claim 17, wherein the orientation of the device is determined based on an accelerometer or other orientation sensor within the device.

19. the first grip comprises a right-hand grip; Ignoring the first portion of the movement of the contact comprises: ignoring an end of the contact movement in accordance with a determination that the contact movement is from right to left on the touch-sensitive surface; and ignoring a beginning of the contact movement in accordance with a determination that the contact movement is from left to right on the touch-sensitive surface; and 10. The non-transitory computer-readable storage medium of claim 9, comprising:

20. the second grip comprises a left-handed grip; Ignoring the second portion of the movement of the contact comprises: ignoring a beginning of the contact movement in accordance with a determination that the contact movement is from right to left on the touch-sensitive surface; and ignoring an end of the contact movement in accordance with a determination that the contact movement is from left to right on the touch-sensitive surface; and 10. The non-transitory computer-readable storage medium of claim 9, comprising:

21. 10. The non-transitory computer-readable storage medium of claim 9, wherein the instructions further cause the device to provide feedback information for display on a display device, the feedback information including information regarding the grip with which the user is holding the device, the determined grip, and an interpretation of movement of the contact on the touch-sensitive surface.

Citation Information

Patent Citations

  • Coordinate input device, portable terminal device and coordinate input method

    JP2011123750A

  • Information processing apparatus, information processing method, program and remote operation system

    JP2013012021A

  • Information processing terminal, and method and program of controlling the same

    JP2013235523A

  • Information input device, information input method and programme

    WO2011158475A1

  • Terminal device

    WO2013187370A1