Column interface for navigating in a user interface
The columnar user interface in electronic devices addresses the issue of cluttered navigation by offering a streamlined method for selecting content items, improving user interaction efficiency and experience.
Patent Information
- Application Number
- JP2023177407
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2014-06-24
- Filing Date
- 2023-10-13
- Publication Date
- 2024-12-19
- Estimated Expiration
- 2035-06-22
AI Technical Summary
Electronic devices often have cluttered and confusing user interfaces, particularly after watching videos, leading to an unintuitive experience for users navigating and selecting content items.
A columnar user interface is introduced that allows for efficient navigation and selection of content items through columns, which can move together or independently, and includes features like column focus indicators and item focus indicators to simplify user interaction.
The columnar interface provides a fast, efficient, and convenient method for users to navigate and select content, reducing cognitive burden and enhancing user experience.
Smart Images

Figure 0007603125000001 
Figure 0007603125000002 
Figure 0007603125000003
Abstract
Description
[Technical field]
[0001] This application relates generally to user interfaces for navigating and displaying content items. [Background technology]
[0002] Electronic devices that provide user interfaces for navigating and viewing content items are often cluttered and confusing to users. Furthermore, presenting the user interface after, for example, watching a video can be an unpleasant and unintuitive experience.
[0003] (CROSS REFERENCE TO RELATED APPLICATIONS) This application claims the benefit of U.S. Provisional Application No. 62 / 016,599, filed Jun. 24, 2014, the disclosure of which is incorporated herein by reference in its entirety for all purposes. Summary of the Invention
[0004] Many electronic devices have graphical user interfaces that allow a user to navigate through many content items. There is a need to provide a fast, efficient, and convenient way for a user to navigate through and select content items for consumption (e.g., viewing, listening, etc.). The embodiments described below use a column user interface to provide a fast, efficient, and convenient way for a user to navigate through and select content items for consumption.
[0005] For a better understanding of the various described embodiments, please refer to the following Detailed Description of the Invention in conjunction with the following drawings, in which like reference numerals refer to corresponding parts throughout: [Brief description of the drawings]
[0006] [Figure 1A] FIG. 1 is a block diagram illustrating a multifunction device with a touch-sensitive display in accordance with some embodiments. [Figure 1B] FIG. 2 is a block diagram illustrating example components for event processing according to some embodiments. [Diagram 2] FIG. 1 illustrates a multifunction device having a touch screen in accordance with some embodiments. [Diagram 3] 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 that is separate from a display in accordance with some embodiments. [Diagram 5] FIG. 2 is a block diagram of an example architecture for a device according to some embodiments of the present disclosure. [Figure 6A] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6B] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6C] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6D] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6E] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6F]1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6G] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6H] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6I] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6J] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6K] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6L] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6M] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6N] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6O] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6P] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6Q] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6R] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6S] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6T] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6U] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6V] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6W] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6X] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6Y]1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6Z] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6AA] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6BB] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6CC] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6DD] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6EE] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6FF] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6GG] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6HH] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6II] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6JJ] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6KK] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6LL] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6MM] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 6NN] 1A-1C illustrate exemplary user interfaces for navigating through and selecting content items according to some embodiments of the present disclosure. [Figure 7A] FIG. 1 is a flow diagram illustrating a method for providing a column user interface according to some embodiments. [Figure 7B] FIG. 1 is a flow diagram illustrating a method for providing a column user interface according to some embodiments. [Figure 7C] FIG. 1 is a flow diagram illustrating a method for providing a column user interface according to some embodiments. [Figure 7D] FIG. 1 is a flow diagram illustrating a method for providing a column user interface according to some embodiments. [Figure 7E] FIG. 1 is a flow diagram illustrating a method for providing a column user interface according to some embodiments. [Figure 8A]1A-1C illustrate exemplary semi-transparent user interfaces according to some embodiments of the present disclosure. [Figure 8B] 1A-1C illustrate exemplary semi-transparent user interfaces according to some embodiments of the present disclosure. [Figure 8C] 1A-1C illustrate exemplary semi-transparent user interfaces according to some embodiments of the present disclosure. [Figure 8D] 1A-1C illustrate exemplary semi-transparent user interfaces according to some embodiments of the present disclosure. [Figure 9A] 1 is a flow diagram illustrating a method for providing a user interface having semi-transparent portions in accordance with some embodiments. [Figure 9B] 1 is a flow diagram illustrating a method for providing a user interface having semi-transparent portions in accordance with some embodiments. [Figure 9C] 1 is a flow diagram illustrating a method for providing a user interface having semi-transparent portions in accordance with some embodiments. [Figure 10A] 1A-1C illustrate a step-by-step display of a column user interface over passive content according to some embodiments of the present disclosure. [Figure 10B] 1A-1C illustrate a step-by-step display of a column user interface over passive content according to some embodiments of the present disclosure. [Figure 10C] 1A-1C illustrate a step-by-step display of a column user interface over passive content according to some embodiments of the present disclosure. [Figure 10D] 1A-1C illustrate a step-by-step display of a column user interface over passive content according to some embodiments of the present disclosure. [Figure 10E] 1A-1C illustrate a step-by-step display of a column user interface over passive content according to some embodiments of the present disclosure. [Figure 10F] 1A-1C illustrate a step-by-step display of a column user interface over passive content according to some embodiments of the present disclosure. [Figure 11A]FIG. 1 is a flow diagram illustrating a method for providing a user interface that progressively appears over visual content according to some embodiments. [Figure 11B] FIG. 1 is a flow diagram illustrating a method for providing a user interface that progressively appears over visual content according to some embodiments. [Figure 12A] 1 illustrates an exemplary user interface including an intelligent display of contextual information related to a content series in accordance with some embodiments of the present disclosure. [Figure 12B] 1 illustrates an exemplary user interface including an intelligent display of contextual information related to a content series in accordance with some embodiments of the present disclosure. [Figure 12C] 1 illustrates an exemplary user interface including an intelligent display of contextual information related to a content series in accordance with some embodiments of the present disclosure. [Figure 12D] 1 illustrates an exemplary user interface including an intelligent display of contextual information related to a content series in accordance with some embodiments of the present disclosure. [Figure 12E] 1 illustrates an exemplary user interface including an intelligent display of contextual information related to a content series in accordance with some embodiments of the present disclosure. [Figure 13A] 1 is a flow diagram illustrating a method for intelligent display of contextual information for a content series according to some embodiments. [Figure 13B] 1 is a flow diagram illustrating a method for intelligent display of contextual information for a content series according to some embodiments. [Figure 13C] 1 is a flow diagram illustrating a method for intelligent display of contextual information for a content series according to some embodiments. [Figure 14A]1A-1C illustrate example user interfaces for adding both content and non-content items to a watch list according to some embodiments of the present disclosure. [Figure 14B] 1A-1C illustrate example user interfaces for adding both content and non-content items to a watch list according to some embodiments of the present disclosure. [Figure 14C] 1A-1C illustrate example user interfaces for adding both content and non-content items to a watch list according to some embodiments of the present disclosure. [Figure 14D] 1A-1C illustrate example user interfaces for adding both content and non-content items to a watch list according to some embodiments of the present disclosure. [Figure 14E] 1A-1C illustrate example user interfaces for adding both content and non-content items to a watch list according to some embodiments of the present disclosure. [Figure 14F] 1A-1C illustrate example user interfaces for adding both content and non-content items to a watch list according to some embodiments of the present disclosure. [Figure 14G] 1A-1C illustrate example user interfaces for adding both content and non-content items to a watch list according to some embodiments of the present disclosure. [Figure 14H] 1A-1C illustrate example user interfaces for adding both content and non-content items to a watch list according to some embodiments of the present disclosure. [Figure 15A] FIG. 2 is a flow diagram illustrating a user interface method for adding both content and non-content items to a watch list according to some embodiments. [Figure 15B] FIG. 2 is a flow diagram illustrating a user interface method for adding both content and non-content items to a watch list according to some embodiments. [Figure 16]FIG. 1 is a functional block diagram of an electronic device configured according to the principles of various described embodiments, in accordance with some embodiments of the present disclosure. [Figure 17] FIG. 1 is a functional block diagram of an electronic device configured according to the principles of various described embodiments, in accordance with some embodiments of the present disclosure. [Figure 18] FIG. 1 is a functional block diagram of an electronic device configured according to the principles of various described embodiments, in accordance with some embodiments of the present disclosure. [Figure 19] FIG. 1 is a functional block diagram of an electronic device configured according to the principles of various described embodiments, in accordance with some embodiments of the present disclosure. [Figure 20] FIG. 1 is a functional block diagram of an electronic device configured according to the principles of various described embodiments, in accordance with some embodiments of the present disclosure. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0007] In the following description of the embodiments, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration specific embodiments which may be practiced. It is to be understood that other embodiments may be utilized and structural changes may be made without departing from the scope of the disclosed embodiments.
[0008] Exemplary Devices Embodiments of electronic devices, user interfaces for such devices, and associated processes for using such devices are described. In some embodiments, the device is a portable communication device, such as a mobile telephone, that also includes other functions, such as PDA functionality and / or music playback functionality. Exemplary embodiments of portable multifunction devices include, without limitation, iPhone®, iPod Touch®, and iPad® devices from Apple Inc. of Cupertino, California. Other portable electronic devices, such as laptop or tablet computers with a touch-sensitive surface (e.g., a touchscreen display and / or touchpad), may also optionally be used. It should also be understood that in some embodiments, the device is not a portable communication device, but rather a desktop computer or television with a touch-sensitive surface (e.g., a touchscreen display and / or touchpad). In some embodiments, the device does not have a touchscreen display and / or touchpad, but rather is capable of outputting display information (e.g., a user interface of the present disclosure) for display on another display device and receiving input information from another input device having one or more input mechanisms (e.g., one or more buttons, a touchscreen display, and / or a touchpad). In some embodiments, the device has a display but can receive input information from another input device having one or more input mechanisms (e.g., one or more buttons, a touchscreen display, and / or a touchpad).
[0009] In the following discussion, an electronic device with a display and a touch-sensitive surface is described. However, it should be understood that the electronic device optionally includes one or more other physical user interface devices, such as a physical keyboard, a mouse, and / or a joystick. Furthermore, it should be understood that, as described above, the described electronic device, display, and touch-sensitive surface are optionally distributed among two or more devices. Thus, as used in this disclosure, information displayed on or by an electronic device may optionally be used to describe information output by the electronic device for display on another display device (touch-sensitive or non-touch-sensitive). Similarly, as used in this disclosure, input received on the electronic device (e.g., touch input received on a touch-sensitive surface of the electronic device) may optionally be used to describe input received on another input device from which the electronic device receives input information.
[0010] The device typically supports a variety of applications, such as one or more of drawing applications, presentation applications, word processing applications, website creation applications, disc authoring applications, spreadsheet applications, gaming applications, telephony applications, video conferencing applications, email applications, instant messaging applications, training support applications, photo management applications, digital camera applications, digital video camera applications, web browsing applications, digital music playback applications, television browsing applications, and / or digital video playback applications.
[0011] The various applications executed on the device optionally use at least one common physical user-interface device, such as a touch-sensitive surface. One or more 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 corresponding applications. In this manner, the common physical architecture (such as the touch-sensitive surface) of the device optionally supports a variety of applications with user interfaces that are intuitive and transparent to the user.
[0012] Attention is now directed to embodiments of portable or non-portable devices with touch-sensitive displays, although the devices need not generally include a touch-sensitive display or displays, as discussed above. FIG. 1A is a block diagram illustrating a portable or non-portable multifunction device 100 with a touch-sensitive display 112, according to some embodiments. The touch-sensitive display 112 may be conveniently referred to as a "touch screen" and may 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), memory controller 122, one or more processing units (CPUs) 120, peripherals interface 118, RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, input / output (I / O) subsystem 106, other input or control devices 116, and external port 124. Device 100 optionally includes one or more light sensors 164. Device 100 optionally includes 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 includes 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.
[0013] As used herein and in the claims, the term “intensity” of a contact on a touch-sensitive surface refers to the force or pressure (force per unit area) of a contact (e.g., a finger contact) on the touch-sensitive surface, or a surrogate (proxy) for the force or pressure of a contact on the touch-sensitive surface. The intensity of a contact has a range of values including at least four different values, and more typically including hundreds or more different values (e.g., at least 256). The intensity of a contact is optionally determined (or measured) using various methods and various sensors, or combinations of sensors. For example, one or more sensors disposed under or adjacent to the touch-sensitive surface are optionally used to measure the force at various points on the touch-sensitive surface. In some implementations, the force measurements of multiple force sensors are combined (e.g., a weighted average) to determine an estimated force of the contact. Similarly, a pressure-sensitive tip of a stylus is optionally used to determine the pressure of the stylus on the touch-sensitive surface. Alternatively, the size and / or change in the contact area detected on the touch-sensitive surface, the capacitance and / or change in the capacitance of the touch-sensitive surface proximate the contact, and / or the resistance and / or change in the capacitance of the touch-sensitive surface proximate the contact are optionally used as a proxy for the force or pressure of the contact on the touch-sensitive surface. In some embodiments, the proxy measure of 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 described in units corresponding to the proxy measure). In some embodiments, the proxy measure of 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 in units of pressure).
[0014] As used herein and in the claims, the term "tactile output" refers to a physical displacement of a device relative to a previous position of the device, a physical displacement of a component of the device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., a housing), or a displacement of a component relative to the center of mass of the device, that is to be detected by a user with the user's sense of touch. For example, in a situation where a device or a component of the device is in contact with a touch-sensitive surface of a user (e.g., a finger, palm, or other part of a user's hand), the tactile output generated by the physical displacement is interpreted by the user as a tactile sensation that corresponds to a perceived change in a physical property of the device or a component of the device. For example, movement of a touch-sensitive surface (e.g., a touch-sensitive display or trackpad) is optionally interpreted by the user as a "down-click" or "up-click" of a physical actuator button. In some cases, a user feels a tactile sensation such as a "down-click" or "up-click" even when no movement of a physical actuator button associated with the touch-sensitive surface is physically pressed (e.g., displaced) by the user's movement. As another example, movement of the touch-sensitive surface is optionally interpreted or felt by a user as "roughness" of the touch-sensitive surface, even when there is no change in the smoothness of the touch-sensitive surface. Such user interpretation of touch depends on the user's individual sensory perception, but there are many sensory perceptions of touch that are common to a majority of users. Thus, when a tactile output is described as corresponding to a particular sensory perception of a user (e.g., an "up click," a "down click," "roughness"), unless otherwise stated, the generated tactile output corresponds to a physical displacement of the device, or a component of a device, that produces the described sensory perception for a typical (or average) user.
[0015] It should be understood that device 100 is only one example of a portable or non-portal multifunction device, and that device 100 optionally has more or fewer components than those shown, optionally combines two or more components, or optionally has a different configuration or arrangement of components. The various components shown in FIG. 1A are implemented in the form of hardware, software, or a combination of both hardware and software, including one or more signal processing circuits and / or application specific integrated circuits. Furthermore, the various components shown in FIG. 1A are optionally implemented across two or more devices, such as, for example, display and audio circuitry on a display device, a touch-sensitive surface on an input device, and the remaining components on device 100. In such an embodiment, device 100 optionally communicates with, or is optionally included within, the various components described herein associated with the display device and / or input device, and the display and / or input remainder within device 100, to facilitate operation of the systems described in this disclosure.
[0016] 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 semiconductor memory devices. Access to memory 102 by other components of device 100, such as CPU 120 and peripherals interface 118, is optionally controlled by memory controller 122.
[0017] A peripherals interface 118 can be used to couple 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 for the device 100 as well as to process data.
[0018] 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.
[0019] The RF (Radio Frequency) circuitry 108 transmits and receives RF signals, also referred to as electromagnetic signals. The RF circuitry 108 converts electrical signals to electromagnetic signals or electromagnetic signals to electrical signals and communicates with communication networks and other communication devices via electromagnetic signals. The RF circuitry 108 optionally includes well-known circuits for performing 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, and the like. The RF circuitry 108 optionally communicates with networks such as the Internet, also referred to as the Internet Information Retrieval System (WWW), intranets and / or wireless networks such as cellular telephone networks, wireless local area networks (LANs) and / or metropolitan area networks (MANs), and other devices via wireless communication.The wireless communication optionally uses any of a number 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-HSPADA), 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 Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, and / or IEEE 802.11g). 802.11n), Voice over Internet Protocol (VoIP), Wi-MAX, protocols for e-mail (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 communications protocol, including communications protocols not yet developed as of the filing date of this document.
[0020] The audio circuit 110, speaker 111, and microphone 113 provide an audio interface between a user and the device 100. The audio circuit 110 receives voice data from the peripherals interface 118, converts the voice data into an electrical signal, and transmits the electrical signal to the speaker 111. The speaker 111 converts the electrical signal into sound waves audible to humans. The audio circuit 110 also receives electrical signals converted from sound waves by the microphone 113. The audio circuit 110 converts the electrical signal into voice data and sends the voice data to the peripherals interface 118 for processing. The voice data is optionally retrieved from the memory 102 and / or the RF circuit 108 and / or sent to the memory 702 and / or the RF circuit 708 by the peripherals interface 118. In some embodiments, the audio circuit 110 further comprises a headset jack (e.g., 212 in FIG. 2). The headset jack provides an interface between audio circuitry 110 and a removable audio input / output peripheral device, such as an output-only headphone or a headset with both an output (e.g., one- or binaural headphones) and an input (e.g., a microphone).
[0021] The I / O subsystem 106 couples input / output peripherals of the device 100, such as the touch screen 112 and other input control devices 116, to a peripheral interface 118. The I / O subsystem 106 optionally includes one or more input controllers 160 for a display controller 156, a light sensor controller 158, an intensity sensor controller 159, a haptic feedback controller 161, and other input or control devices. The one or more input controllers 160 receive / send electrical signals from / to the other input or control devices 116. The 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, the input controller(s) 160 are optionally coupled to any (or none) of a keyboard, an infrared port, a USB port, and a pointer device such as a mouse. The one or more buttons (e.g., 208 in FIG. 2) optionally include up / down buttons for adjusting the volume of the speaker 111 and / or microphone 113. The one or more buttons optionally include a push button (e.g., 206 in FIG. 2).
[0022] Touch-sensitive display 112 provides an input and output interface between the device and a user. As mentioned above, the touch-sensing and display operations of touch-sensitive display 112 are optionally separated from one another, so that the display device is used for display purposes and the touch-sensitive surface (whether or not it is a display) is used for input detection purposes. Accordingly, the components and functions described have been modified. However, for simplicity, the following description is provided with reference to a touch-sensitive display. Display controller 156 receives and / or transmits electrical signals from / to touchscreen 112. Touchscreen 112 displays visual output to the user. The visual output optionally includes graphics, text, icons, videos, and any combination thereof (collectively referred to as "graphics"). In some embodiments, some or all of the visual output corresponds to user interface objects.
[0023] Touchscreen 112 has a touch-sensitive surface, sensor, or set of sensors that accepts input from a user based on haptic and / or tactile contact. Touchscreen 112 and display controller 156 (along with any associated modules and / or instruction sets in memory 102) detects contacts (and any movement or interruption of contact) on touchscreen 112 and translates the detected contacts into interactions with user interface objects (e.g., one or more soft keys, icons, web pages, or images) displayed on touchscreen 112. In an exemplary embodiment, the contact between touchscreen 112 and the user corresponds to the user's finger.
[0024] Touch screen 112 optionally uses LCD (Liquid Crystal Display), LPD (Light Emitting Polymer Display), or LED (Light Emitting Diode) technology, although in other embodiments other display technologies are used. Touch screen 112 and display controller 156 optionally detect contact and any movement or interruption thereof using any of a number of now known or later developed touch sensing technologies, including, but not limited to, capacitive, resistive, infrared, and surface ultrasonic technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with touch screen 112. In one exemplary embodiment, projected mutual capacitance sensing technology is used, such as that found in the iPhone®, iPod Touch®, and iPad® from Apple Inc. of Cupertino, California.
[0025] Touchscreen 112 optionally has a video resolution of greater than 100 dpi. In some embodiments, the touchscreen has a video resolution of approximately 160 dpi. A user optionally contacts touchscreen 112 using any suitable object or appendage, such as a stylus, finger, etc. In some embodiments, the user interface is designed to function primarily with finger-based contacts and gestures, which may be less precise than stylus-based input due to the large contact area of a finger on the touchscreen. In some embodiments, the device translates the coarse finger-based input into precise pointer / cursor position or commands to perform the user's desired action.
[0026] In some embodiments, in addition to a touchscreen, device 100 optionally includes a touchpad (not shown) for activating or deactivating certain functions. In some embodiments, a touchpad is a touch-sensitive area of a device that, unlike a touchscreen, does not display visual output. A touchpad is optionally a touch-sensitive surface separate from touchscreen 112 or an extension of the touch-sensitive surface formed by the touchscreen.
[0027] 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., batteries, alternating current (AC)), a recharging system, power failure detection circuitry, power converters or inverters, power status indicators (e.g., light emitting diodes (LEDs)), and any other components associated with the generation, management, and distribution of electrical power within a portable or non-portable device.
[0028] Device 100 also optionally includes one or more light sensors 164. FIG. 1A shows a light sensor coupled to light sensor controller 158 in I / O subsystem 106. Light sensor 164 optionally includes a charge-coupled device (CCD) or a complementary metal-oxide semiconductor (CMOS) phototransistor. Light sensor 164 receives light from the environment, projected through one or more lenses, and converts the light into data representing an image. 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, so that the touchscreen display is enabled 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 obtain an image of the user for video conferencing while the user views other video conferencing participants on the touchscreen display.
[0029] Device 100 also optionally includes one or more contact intensity sensors 165. FIG. 1A shows a contact intensity sensor coupled to intensity sensor controller 159 in I / O subsystem 106. Contact intensity sensor 165 optionally includes one or more piezoresistive strain gauges, capacitive force sensors, electrical force sensors, piezoelectric force sensors, optical force sensors, capacitive touch-sensitive surfaces, or other intensity sensors (e.g., sensors used to measure the force (or pressure) of a contact on a touch-sensitive surface). Contact intensity sensor 165 receives contact intensity information (e.g., pressure information or a proxy for pressure information) from the environment. In some embodiments, at least one contact intensity sensor is 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.
[0030] Device 100 also optionally includes one or more proximity sensors 166. Figure 1A shows proximity sensor 166 coupled to peripherals interface 118. Alternatively, proximity sensor 166 is coupled to input controller 160 in I / O subsystem 106. In some embodiments, when the multifunction device is placed near the user's ear (e.g., when the user is making a phone call), the proximity sensor is turned off and touch screen 112 is disabled.
[0031] Device 100 also optionally includes one or more tactile output generators 167. FIG. 1A shows a tactile output generator coupled to haptic feedback controller 161 in I / O subsystem 106. Tactile output generator 167 optionally includes one or more electroacoustic devices, such as speakers or other audio components, and / or electromechanical devices that convert energy into linear motion, such as motors, solenoids, electroactive polymers, piezoelectric actuators, electrostatic actuators, or other tactile output components (e.g., components that convert electrical signals into 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 proximate to a touch-sensitive surface (e.g., touch-sensitive display system 112) and optionally generates a tactile output 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, the 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.
[0032] Device 100 also optionally includes one or more accelerometers 168. FIG. 1A shows accelerometer 168 coupled to peripherals interface 118. Alternatively, accelerometer 168 is optionally coupled to input controller 160 in I / O subsystem 106. 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. Device 100 optionally includes, in addition to accelerometer(s) 168, 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, as needed.
[0033] 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 (instruction sets) 136. Additionally, in some embodiments, as shown in Figures 1A and 3, memory 102 stores device / global internal state 157. Device / global internal state 157 includes one or more of the following: active application state, indicating which applications, if any, are currently active; display state, indicating which applications, views, or other information are occupying various regions of touchscreen display 112; sensor state, including information obtained from the device's various sensors and input control devices 116; and location information regarding the device's position and / or orientation.
[0034] 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 common system tasks (e.g., memory management, storage device control, power management, etc.) and facilitating communication between various hardware and software components.
[0035] 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 couple to other devices directly or indirectly via a network (e.g., Internet, wireless LAN, etc.). In some embodiments, the external port is a multi-pin (e.g., 30-pin) connector identical to or similar and / or compatible with the 30-pin connector used on iPod (registered trademark of Apple Inc.) devices.
[0036] Contact / motion module 130 optionally detects contact with touch screen 112 (in conjunction with display controller 156) and with other touch-sensing devices (e.g., a touchpad or physical click wheel). Contact / motion module 130 includes various software components for performing various operations related to detecting contact, such as determining whether contact occurs (e.g., detecting a finger down event), determining the strength of the contact (e.g., the force or pressure of the contact, or a surrogate for the force or pressure of the contact), determining whether there is movement of the contact and tracking the movement across the touch-sensitive surface (e.g., detecting one or more finger drag events), and determining whether the contact has stopped (e.g., detecting a finger up event or an interruption of the contact). Contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of the contact point represented by the set of contact data optionally includes determining the speed (magnitude), velocity (magnitude and direction), and / or acceleration (change in magnitude and / or direction) of the contact point. These actions are optionally applied to a single contact (e.g., one finger contact) or multiple simultaneous contacts (e.g., "multi-touch" / multiple finger contacts). In some embodiments, contact / motion module 130 and display controller 156 detect contacts on a touchpad.
[0037] In some embodiments, the contact / movement module 130 uses a set of one or more intensity thresholds for determining whether an action has been performed by a user (e.g., for determining whether a user has “clicked” on an icon). In some embodiments, at least a subset of the intensity thresholds are determined according to software parameters (e.g., the intensity thresholds are not determined by the activation thresholds of a particular physical actuator and may be adjusted without modifying the physical hardware of the device 100). For example, the mouse “click” threshold of a trackpad or touchscreen display may be set to any of a wide range of predefined thresholds without modifying the trackpad or touchscreen display hardware. Additionally, in some implementations, a user of the device is provided with a software setting to adjust one or more of the set of intensity thresholds (e.g., by adjusting individual intensity thresholds and / or by adjusting multiple intensity thresholds upon a system-level click of an “intensity” parameter).
[0038] 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, followed by detecting a finger up (lift off) event at the same location (or substantially the same location) as the finger down event (e.g., at the location of an icon). As another example, detecting a finger swipe gesture on a touch-sensitive surface includes detecting a finger down event, followed by detecting one or more finger drag events, followed by detecting a finger up (lift off) event.
[0039] Graphics module 132 includes various known software components for rendering and displaying graphics on touchscreen 112 or other display, including components for modifying the visual effects (e.g., brightness, transparency, saturation, contrast, or other visual characteristics) of the displayed graphics. As used herein, the term "graphics" includes any object that can be displayed to a user, including, but not limited to, text, web pages, icons (such as user interface objects including soft keys), digital images, videos, animations, and the like.
[0040] 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, including coordinate data and other graphic property data, as appropriate, from an application or the like, and generates screen image data for output to display controller 156.
[0041] The tactile feedback module 133 includes 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 user interaction with the device 100.
[0042] Text input module 134 is optionally a component of graphics module 132 and provides a soft keyboard for entering text in various applications (e.g., contacts 137, email 140, IM 141, browser 147, and any other application requiring text input).
[0043] 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 calls, to the camera 143 as picture / video metadata, and to applications that provide location-based services such as a weather widget, a local yellow pages widget, and a map / navigation widget).
[0044] Application 136 optionally includes the following modules (or sets of instructions), or a subset or superset thereof: A contacts module 137 (sometimes called an address book or contact list); Telephone module 138, · Videoconferencing module 139, · an email client module 140; · Instant Messaging (IM) module 141, Training Support Module 142, a camera module 143 for still and / or video images, Image management module 144, 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 obtained by the user, as well as user-created widgets 149-6; a widget creation module 150 for creating user-created widgets 149-6; · Search module 151, a video and music playback module 152, optionally comprising a video playback module and a music playback module; · Memo module 153, Map module 154, ·Online video module 155.
[0045] 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.
[0046] In conjunction with the touch screen 112, the display controller 156, the touch module 130, the graphics module 132, and the text input module 134, the contacts module 137 is optionally used to manage an address book or contact list (e.g., stored in the memory 102 or in the application internal state 192 of the contacts module 137 in the memory 370), including adding a name(s) to the address book, deleting a name(s) from the address book, associating a phone number(s), email address(es), address(es), or other information with a name, associating an image with a name, categorizing and sorting names, providing phone numbers or email addresses to initiate and / or facilitate communication by phone 138, video conference 139, mail 140, or IM 141, and the like.
[0047] 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 a corresponding telephone number, conduct a conversation, and disconnect or hang up when the conversation is completed. As mentioned above, wireless communication optionally uses any of a number of communication standards, protocols, and technologies.
[0048] 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 contains 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.
[0049] 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 or video images captured by camera module 143.
[0050] In conjunction with RF circuitry 108, touch screen 112, display controller 156, contact module 130, graphics module 132, and text input module 134, instant message module 141 includes executable instructions for entering characters corresponding to an instant message, modifying characters already entered, sending the corresponding 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), and receiving and displaying the received instant message. In some embodiments, the sent and / or received instant messages optionally include graphics, pictures, audio files, video files, and / or other attachments, as supported by MMS and / or Enhanced Messaging Service (EMS). As used herein, "instant messaging" refers to both telephone-based messages (e.g., messages sent using SMS or MMS) and Internet-based messages (e.g., messages sent using XMPP, SIMPLE, or IMPS).
[0051] In conjunction with the RF circuitry 108, touch screen 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 generating workouts (e.g., having time, distance, and / or calorie burn goals), communicating with training sensors (sports devices), receiving training sensor data, calibrating sensors used to monitor the workouts, selecting and playing music for the workouts, and displaying, storing, and transmitting the workout data.
[0052] Camera module 143, 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, contains executable instructions for capturing still images or videos (including video streams) and storing them in memory 102, changing characteristics of the still images or videos, or deleting still images or videos from memory 102.
[0053] 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 contains executable instructions for arranging, modifying (e.g., editing) and otherwise manipulating, labeling, deleting, presenting (e.g., in a digital slide show or album), and storing still images and / or videos.
[0054] 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 in accordance with a user's instructions, including navigating through, linking to, receiving, and displaying web pages or portions thereof, as well as attachments and other files linked to web pages.
[0055] 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 data associated with calendars (e.g., calendar items, to-do lists, etc.) in accordance with user instructions.
[0056] Together 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 module 149 is a mini-application that is optionally downloaded and used by a user (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 created by a user (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).
[0057] Widget creation module 150, along 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, is optionally used by a user to create a widget (e.g., turn a user-specified portion of a web page into a widget).
[0058] In association 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 navigating text, music, sound, image, video, and / or other files in memory 102 that match one or more search criteria (e.g., one or more user-specified search terms) in accordance with a user's instructions.
[0059] 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 includes executable instructions that enable 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 (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.).
[0060] The notes module 153, along with the touch screen 112, display controller 156, contact module 130, graphics module 132, and text input module 134, contain executable instructions for creating and managing notes, to-do lists, and the like, in accordance with a user's instructions.
[0061] 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 optionally includes executable instructions to receive, display, modify, and store maps and data associated with the maps (e.g., driving directions, data about businesses and other points of interest at or near a particular location, and other location-based data) in accordance with a user's instructions.
[0062] 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 that 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 and otherwise manage emails containing links to particular online videos. In some embodiments, instant messaging module 141, rather than email client module 140, is used to send links to particular online videos.
[0063] 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 in the present application (e.g., computer-implemented methods and other information processing methods described herein). These modules (i.e., sets of instructions) need not be implemented as separate software programs, procedures, or modules, and thus various subsets of these modules are optionally combined or 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.
[0064] In some embodiments, device 100 is a device in which operation of a predefined set of functions on the device is performed exclusively via a touchscreen and / or touchpad (whether included on device 100 or on another device, such as an input device). Using the touchscreen and / or touchpad as the primary input control for operation of device 100, optionally reduces the number of physical input controls (such as push buttons, dials, and the like) on device 100.
[0065] The set of predefined functions, performed exclusively 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, a home menu, or a root menu from any user interface displayed on device 100. In such embodiments, a "menu button" is implemented using the touchpad. In some other embodiments, the menu button is a physical push button or other physical input control device instead of a touchpad.
[0066] 1B is a block diagram illustrating example components for event processing, according to some embodiments. In some embodiments, memory 102 (in FIG. 1A) or 370 (in FIG. 3) includes event sorter 170 (e.g., in operating system 126) and corresponding application 136-1 (e.g., any of applications 137-151, 155, and 380-390 described above).
[0067] Event sorter 170 accepts the event information and determines application 136-1 and application view 191 of application 136-1 to which to deliver the event information. Event sorter 170 includes an event monitor 171 and an event dispatcher module 174. In some embodiments, application 136-1 includes application internal state 192 that indicates the current application view(s) that are displayed on touch-sensitive display 112 when the application is active or running. In some embodiments, device / global internal state 157 is used by event sorter 170 to determine which application is currently active, and application internal state 192 is used by event sorter 170 to determine which application is currently active, and application internal state 192 is used by event sorter 170 to determine which application view 191 to deliver the event information to.
[0068] In some embodiments, application internal state 192 includes additional information, such as one or more of resume information used when application 136-1 resumes execution, user interface state information indicating information is being displayed or ready to be displayed by application 136-1, a state queue to allow the user to return to a previous state or view of application 136-1, and a redo / undo queue of actions previously performed by the user.
[0069] Event monitor 171 receives event information from peripherals interface 118. The event information includes information about sub-events (e.g., a user's touch on touch-sensitive display 112 as part of a multi-touch gesture). Peripheral interface 118 transmits information it receives from I / O subsystem 106 or sensors such as proximity sensor 166, 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.
[0070] In some embodiments, event monitor 171 sends a request to peripherals interface 118 at predetermined intervals. In response, peripherals interface 118 sends event information. In other embodiments, peripherals interface 118 sends event information only if there is a significant event (e.g., exceeding a predetermined noise threshold and / or receiving an input for longer than a predetermined time).
[0071] In some embodiments, event sorter 170 also includes a hit view determination module 172 and / or an active event recognizer determination module 173.
[0072] Hit view determination module 172 provides software procedures for determining where in one or more views a sub-event occurred when touch-sensitive display 112 displays more than one view. A view consists of controls and other elements that a user can see on the display.
[0073] Another aspect of a user interface associated with an application is the set of views, sometimes referred to herein as application views or user interface windows, in which information is displayed and touch-based gestures are performed. The application view (of the respective application) in which a touch is detected optionally corresponds to a programmatic level within the programmatic or view hierarchy of the application. For example, the lowest-level view in which a touch is detected is optionally referred to as a hit view, and the set of events that are recognized as suitable inputs is optionally determined based, at least in part, on the hit view of the initial touch that initiates a touch-based gesture.
[0074] Hit view determination module 172 receives information associated with sub-events of a touch-based gesture. If an application has multiple views organized as a hierarchy, hit view determination module 172 identifies the hit view as the lowest view in the hierarchy that should process the sub-events. In most situations, the hit view is the lowest level view in which the first sub-event occurs (i.e., the first sub-event in the 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 accepts all sub-events associated with the same touch or input source for which it was identified as the hit view.
[0075] Active event recognizer determination module 173 determines which view(s) in the view hierarchy should receive a particular sequence of sub-events. In some embodiments, active event recognizer determination module 173 determines that only the hit view should receive a particular sequence of sub-events. In other embodiments, active event recognizer determination module 173 determines that all views that contain the physical location of the sub-events are actively participating views, and therefore all actively participating views should receive a particular sequence of sub-events. In other embodiments, views higher in the hierarchy will remain actively participating views even if the touch sub-events are completely confined to the area associated with a particular view.
[0076] 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 distributes the event information to the event recognizers determined by active event recognizer determination module 173. In some embodiments, event dispatcher module 174 stores event information obtained by each event receiver module 182 in an event queue.
[0077] In some embodiments, operating system 126 includes event sorter 170. Alternatively, application 136-1 includes event sorter 170. In yet other embodiments, event sorter 170 is a stand-alone module or is part of another module stored in memory 102, such as contact / motion module 130.
[0078] In some embodiments, application 136-1 includes multiple event handlers 190 and one or more application views 191, each including instructions for handling touch events 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.
[0079] 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 further includes at least a subset of metadata 183 and event distribution instructions 188 (optionally including sub-event distribution instructions).
[0080] Event receiver 182 receives event information from event sorter 170. The event information includes information of a sub-event, such as, for example, a touch or a movement of a touch. Depending on the sub-event, the event information also includes additional information, such as a position of the sub-event. When the sub-event involves a movement of a touch, the event information optionally further includes a 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 orientation to landscape orientation or vice versa), and the event information includes corresponding information about the current orientation of the device (also called the device's attitude).
[0081] The event comparator 184 compares the event information to predefined event or sub-event definitions and determines the event or sub-event or determines or updates the state of the event or sub-event based on the comparison. In some embodiments, the event comparator 184 includes an event definition 186. The event definition 186 includes a definition of an event (e.g., a predefined sequence of sub-events), such as, for example, event 1 (187-1), event 2 (187-2), etc. In some embodiments, the sub-events in the event 187 include, for example, touch start, touch end, touch movement, touch stop, and multiple touches. 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) for a given stage on the displayed object, a first lift off (touch end) for a given stage on the displayed object, a second touch (touch start) for a given stage on the displayed object, and a second lift off (touch end) for a given stage. In another embodiment, the definition of event 2 (187-2) is a drag on a displayed object. Dragging includes, for example, a touch (or contact) to a predetermined stage on a displayed object, a movement of the touch across the touch-sensitive display 112, and a lift-off of the touch (touch end). In some embodiments, the event also includes information for one or more associated event handlers 190.
[0082] In some embodiments, event definition 187 includes 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 (the 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 the object that triggers the hit test.
[0083] 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.
[0084] If the respective event recognizer 180 determines that the sequence of sub-events does not match any of the events in the event definition 186, the respective event recognizer 180 enters an event disabled, event failed, or event finished state and thereafter ignores the next sub-event of the touch-based gesture. In this situation, other event recognizers, if any, that remain active for the hit view continue to track and process sub-events of the ongoing touch-based gesture.
[0085] In some embodiments, each event recognizer 180 includes metadata 183 with configurable properties, flags, and / or lists that indicate how the event delivery system performs 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 enabled to interact, with each other. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate whether sub-events are distributed to various levels in a view or programmatic hierarchy.
[0086] In some embodiments, each event recognizer 180 activates an event handler 190 associated with an event when one or more particular sub-events of the event are recognized. In some embodiments, each event recognizer 180 distributes event information associated with the event to the event handler 190. A distinction is made between activating an event handler 190 and sending (and deferring sending) sub-events to the respective 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.
[0087] 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 distribute the event information to event handlers associated with a set of sub-events or actively participating views. The event handlers associated with the set of sub-events or actively participating views accept the event information and perform the specified processing.
[0088] In some embodiments, data updater 176 creates and updates data used by application 136-1. For example, data updater 176 updates phone numbers used by contacts module 137 or stores video files used by video playback module 145. In some embodiments, object updater 177 creates and updates objects used by 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 display information to graphics module 132 for display on the touch-sensitive display.
[0089] In some embodiments, event handler(s) 190 includes or has access to data updater 176, object updater 177, and GUI updater 178. In some embodiments, data updater 176, object updater 177, and GUI updater 178 are included in one module of the respective application 136-1 or application view 191. In other embodiments, they are included in two or more software modules.
[0090] It will be understood that the foregoing 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, not all of which are initiated on a touch screen. For example, mouse movements and mouse button presses, optionally in conjunction with single or multiple keyboard presses or holds, touch movements such as tapping, dragging, scrolling, etc. on a touchpad, pen stylus input, device movements, verbal cues, detected eye movements, biometric input, and / or any combination thereof, are optionally utilized as inputs corresponding to sub-events that define the event to be recognized.
[0091] 2 illustrates portable or non-portable multifunction device 100 having touchscreen 112, according to some embodiments. As discussed above, multifunction device 100 is described as having various structures described (e.g., touchscreen 112, speaker 111, accelerometer 168, microphone 113, etc.), although it is understood that these structures optionally reside in separate devices. For example, display-related structures (e.g., display, speaker, etc.) and / or functionality optionally reside in a separate display device, input-related structures (e.g., touch-sensitive surface, microphone, accelerometer, etc.) and / or functionality optionally reside in a separate input device, and the remaining structures and / or functionality optionally reside in multifunction device 100.
[0092] Touch screen 112 optionally displays one or more graphics in user interface (UI) 200. In the present embodiment as well as in 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 loses 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, upwards, and / or downwards), and / or rolling of a finger in contact with device 100 (right to left, left to right, upwards, and / or downwards). In some implementations or circumstances, accidental contact with a graphic does not select the graphic. For example, if the gesture corresponding to selection is a tap, a swipe gesture that swipes over an application icon optionally does not select the corresponding application.
[0093] 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 for navigation to any application 136 in a set of applications optionally executing on device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key in a GUI displayed on touch screen 112.
[0094] In one embodiment, device 100 includes a touch screen 112, a menu button 204, a push button 206 for turning power to the device on / off and locking the device, volume control button(s) 208, a recipient identification module (SIM) card slot 210, a headset jack 212, and an external port 124 for docking / charging. Push button 206 is optionally used to turn power on / off on the device by pressing the button and holding it down for a predefined time interval, and to lock the device and / or unlock the device or initiate an unlocking process by pressing the button and releasing it before the predefined time interval has elapsed. In an alternative embodiment, device 100 also accepts verbal input through microphone 113 to activate or deactivate some functions. Device 100 also optionally includes one or more contact intensity sensors 165 for detecting the intensity of a contact on touch screen 112 and / or one or more haptic output generators 167 for generating a haptic output for a user of device 100.
[0095] FIG. 3 is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface, according to some embodiments. Device 300 need not include a display and a touch-sensitive surface, as described above, but rather, in some embodiments, optionally communicates with displays and touch-sensitive surfaces on other devices. In addition, device 300 need not be portable. In some embodiments, device 300 is a laptop computer, a desktop computer, a tablet computer, a multimedia playback device (e.g., a television or a set-top box), a navigation device, an educational device (such as a child's learning toy), a gaming system, or a control device (e.g., a home or commercial controller). Device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, a memory 370, and one or more communication buses 320 for interconnecting these components. Communication bus 320 optionally includes circuitry (sometimes referred to as a chipset) that interconnects and controls communication between system components. Device 300 includes an input / output (I / O) interface 330 with a display 340, typically a touchscreen display. I / O interface 330 also optionally includes a keyboard and / or mouse (or other pointing device) 350 and a touchpad 355, a tactile output generator 357 (e.g., similar to tactile output generator 167 described above with reference to FIG. 1A) for generating tactile output on device 300, sensors 359 (e.g., optical sensors, acceleration sensors, proximity sensors, touch-sensitive sensors, and / or contact intensity sensors similar to contact intensity sensor 165 described above with reference to FIG. 1A). Memory 370 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access semiconductor memory devices, and optionally includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile semiconductor storage devices. Memory 370 optionally includes one or more storage devices located remotely from CPU(s) 310.In some embodiments, memory 370 stores programs, modules, and data structures similar to, or a subset of, the programs, modules, and data structures stored in memory 102 of portable or non-portable multifunction device 100 (FIG. 1A). Additionally, memory 370 may store additional programs, modules, and data structures not present in memory 102 of portable or non-portable multifunction device 100. For example, memory 370 of device 300 optionally stores drawing module 380, presentation module 382, document creation module 384, website creation module 386, disk authoring module 388, and / or spreadsheet module 390, whereas memory 102 of portable or non-portable multifunction device 100 (FIG. 1A) optionally does not store these modules.
[0096] Each of the above-identified elements of FIG. 3 is optionally stored in one or more of the memory devices mentioned above. Each of the above-identified modules corresponds to an instruction set for performing a function described above. The above-identified modules or programs (i.e., instruction sets) need not be implemented as separate software programs, procedures, or modules, and thus, in various embodiments, various subsets of these modules are optionally combined or otherwise rearranged. In some embodiments, memory 370 optionally stores a subset of the above-identified modules and data structures. Additionally, memory 370 optionally stores additional modules and data structures not described above.
[0097] 4 shows an exemplary user interface on a device (e.g., device 300 of FIG. 3) that includes a touch-sensitive surface 451 (e.g., tablet or touchpad 355 of FIG. 3) that is separate from display 450 (e.g., touchscreen display 112). Device 300 also includes one or more contact intensity sensors (e.g., one or more of sensors 357) for detecting the intensity of a contact on touch-sensitive surface 451 and / or one or more tactile output generators 359 for generating a tactile output for a user of device 300.
[0098] Although some of the examples below are described with reference to input on touch screen display 112 (where the touch-sensitive surface and display are combined), in some embodiments the device detects input on a touch-sensitive surface that is separate from the display, as shown in FIG. 4. In some embodiments, this touch-sensitive surface (e.g., 451 in FIG. 4) has a major axis (e.g., 452 in FIG. 4) that corresponds to a major axis (e.g., 453 in FIG. 4) on the display (e.g., 450). According to these embodiments, the device detects contact with touch-sensitive surface 451 (e.g., 460 and 462 in FIG. 4) at locations that correspond to respective locations on the display (e.g., in FIG. 4, 460 corresponds to 468 and 462 corresponds to 470). In this manner, when the touch-sensitive surface is separate from the display, user input (e.g., contacts 460 and 462 and their movement) detected by the device on the touch-sensitive surface (e.g., 451 in FIG. 4) is used by the device to operate a user interface on the display (e.g., 450 in FIG. 4) of the multifunction device. It is to be understood that similar methods are optionally used for the other user interfaces described herein.
[0099] Additionally, while the following description is primarily described with reference to finger inputs (e.g., finger contacts, finger tap gestures, finger swipe gestures), it should be understood that in some embodiments, one or more of the finger inputs are replaced with inputs 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 contact) followed by cursor movement along the path of the swipe (e.g., instead of a contact movement). As another example, a tap gesture is optionally replaced with a mouse click while the cursor is positioned over the location of the tap gesture (e.g., instead of stopping contact detection following contact detection). Similarly, it will be understood that when multiple user inputs are detected simultaneously, multiple computer mice are optionally used simultaneously, or a mouse and finger contacts are used simultaneously.
[0100] As used herein, the term "focus selector" refers to an input element that indicates the current portion of a user interface with which a user is interacting. In some implementations involving a cursor or other location marker, the cursor acts as a "focus selector" when an input (e.g., a press input) is detected on a touch-sensitive surface (e.g., touchpad 355 of FIG. 3 or touch-sensitive surface 451 of FIG. 4) while the cursor is over a particular user interface element (e.g., a button, window, slider, or other user interface element), and the particular user interface element is adjusted according to the detected input. In some implementations involving a touchscreen display (e.g., touch-sensitive display system 112 of FIG. 1A or touchscreen 112 of FIG. 4A) that allows direct interaction with user interface elements on the touchscreen display, contact detected on the touchscreen acts as a "focus selector" such that when an input (e.g., a press input by contact) is detected at the location of a particular user interface element (e.g., a button, window, slider, or other user interface element) on the touchscreen display, the particular user interface element is adjusted according to the detected input. In some implementations, focus is moved from one region of the user interface to another region of the user interface without a corresponding cursor movement or movement of contacts on the touchscreen (e.g., by moving focus from one button to another using the tab or arrow keys). In these implementations, the focus selector moves to follow the movement of focus between different regions of the user interface. Regardless of the particular form that the focus selector takes, the focus selector is generally a user interface element (or a contact on a touchscreen display) that is controlled by the user to convey the user's intended interaction with the user interface (e.g., by indicating to the device which element of the user interface the user wants to interact with).For example, the position of a focus selector (e.g., a cursor, contact, or selection box) over the respective button when a press input is detected on a touch-sensitive surface (e.g., a touchpad or touchscreen) indicates that the user is attempting to activate the respective button (as opposed to other user interface elements shown on the device's display).
[0101] In some embodiments described herein, one or more actions are performed in response to detecting a gesture including a respective pressure input or in response to detecting a respective pressure input performed on a respective contact (or multiple contacts), which are detected at least in part based on detecting an increase in intensity of the contact (or multiple contacts) above a pressure input intensity threshold. In some embodiments, the respective actions are performed in response to detecting an increase in intensity of the respective contact (e.g., a "downstroke" of the respective pressure input) above a pressure input intensity threshold. In some embodiments, the pressure input includes an increase in intensity of the respective contact above a pressure input intensity threshold and a subsequent decrease in intensity of the contact below the pressure input intensity threshold, and the respective actions are performed in response to detecting a subsequent decrease in intensity of the respective contact below the pressure input intensity threshold (e.g., an "upstroke" of the respective pressure input).
[0102] In some embodiments, the device employs intensity hysteresis to avoid accidental inputs, sometimes referred to as "jitter," and the device defines or selects a hysteresis intensity threshold that has a predefined relationship to the pressure input intensity threshold (e.g., the hysteresis intensity threshold is X intensity units below the pressure input intensity threshold, or the hysteresis intensity threshold is 75%, 90%, or some reasonable percentage of the pressure input intensity threshold). Thus, in some embodiments, the pressure input includes an increase in the intensity of each contact above the pressure input intensity threshold and a subsequent decrease in the intensity of the contact below a hysteresis intensity threshold corresponding to the pressure input intensity threshold, and a respective action is performed in response to detecting a subsequent decrease in the intensity of each contact below that hysteresis intensity threshold (e.g., an "upstroke" of a respective pressure input). Similarly, in some embodiments, a pressure input is detected only if the device detects an increase in the intensity of the contact from an intensity below the hysteresis intensity threshold to an intensity above the pressure input intensity threshold, and optionally a subsequent decrease in the intensity of the contact to an intensity below the hysteresis intensity, and a respective action is performed in response to detecting that pressure input (e.g., an increase in the intensity of the contact or a decrease in the intensity of the contact, as the case may be).
[0103] For ease of explanation, descriptions of actions performed in response to a pressure input associated with a pressure input intensity threshold or in response to a gesture including that pressure input are optionally triggered in response to detecting either an increase in the intensity of the contact above the pressure input intensity threshold, an increase in the intensity of the contact from an intensity below a hysteresis intensity threshold to an intensity above the pressure input intensity threshold, a decrease in the intensity of the contact below the pressure input intensity threshold, and / or a decrease in the intensity of the contact below a hysteresis intensity threshold corresponding to the pressure input intensity threshold. Additionally, in embodiments where an action is described as being performed in response to detecting a decrease in the intensity of the contact below a pressure 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 the pressure input intensity threshold and below the pressure input intensity threshold.
[0104] 5 illustrates a block diagram of an example structure for a device 500 according to some embodiments of the disclosure. In the embodiment of FIG. 5, media content is optionally received by the device 500 via a network interface 502. The network interface 502 is optionally a wireless or wired connection. The one or more processors 504 optionally execute any number of programs stored in the memory 506 or storage. The memory 506 or storage optionally includes instructions to execute one or more of the methods and / or processes described herein (e.g., methods 700, 900, 1100, 1300, and / or 1500).
[0105] In some embodiments, the display controller 508 causes various user interfaces of the present disclosure to be displayed on the display 500. Additionally, input to the device 500 is optionally provided by a remote control 510 via a remote interface 512. The remote interface 512 is optionally a wireless or wired connection. It is understood that the embodiment of FIG. 5 is not meant to limit the features of the device of the present disclosure, and it is also understood that other components facilitating other features described in the present disclosure are optionally included in the structure of FIG. 5. In some embodiments, the device 500 optionally corresponds to one or more of the multifunction device 100 of FIGS. 1A and 2 and the device 300 of FIG. 3. The network interface 502 optionally corresponds to one or more of the RF circuitry 108, the external port 124, and the peripherals interface 118 of FIGS. 1A and 2, and the network communication interface 360 of FIG. 3. The processor 504 optionally corresponds to one or more of the processor(s) 120 of FIG. 1A and the CPU(s) 310 of FIG. 3. Display controller 508 optionally corresponds to one or more of display controller 156 of Figure 1A and I / O interface 330 of Figure 3. Memory 506 optionally corresponds to one or more of memory 102 of Figure 1A and memory 307 of Figure 3. Remote interface 512 optionally corresponds to peripherals interface 118 and I / O subsystem 106 (and / or components thereof) of Figure 1A and one or more of I / O interface 330 of Figure 3. Remote control 512 optionally corresponds to and / or includes one or more of speaker 111, touch-sensitive display system 112, microphone 113, optical sensor(s) 164, contact intensity sensor(s) 165, haptic output generator(s) 167, other input control devices 116, accelerometer(s) 168, proximity sensor 166, and I / O subsystem 106 of FIG. 1A, as well as keyboard / mouse 350, touchpad 355, haptic output generator(s) 357, and contact intensity sensor(s) 359 of FIG. 3, and touch-sensitive surface 451 of FIG. 4.1A and 2, and display 514 optionally corresponds to one or more of touch-sensitive display system 112 of FIG. 1A and FIG. 2, and display 340 of FIG. User Interface and Related Processes Column User Interface
[0106] Many electronic devices have graphical user interfaces that allow navigation through many content items. A need exists to provide a fast, efficient, and convenient way for a user to navigate through and select content items for consumption (e.g., viewing, listening, etc.). The embodiments described below use a column user interface to provide a fast, efficient, and convenient way for a user to navigate through and select content items for consumption.
[0107] Figures 6A-6NN show exemplary user interfaces for navigating through and selecting content items according to some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including the processes described below with reference to Figures 7A-7E.
[0108] 6A-6U show examples of column user interfaces. The column user interface is displayed on display 514 of a device (e.g., device 500) and is responsive to user input, e.g., on touch-sensitive surface 451 and / or remote control 510. The column user interface of FIGS. 6A-6U includes columns 6002-1, 6002-2, 6002-3, 6002-4, 6002-5, and 6002-6. These columns include headings "On Now," "Watch List," "TV Shows," "Movies," "Sports," and "Just Kids," respectively. The columns include one or more menu items, optionally selected by a user from among other possibilities, for accessing content and / or navigating throughout further user interfaces.
[0109] For example, each menu item in the "On Now" column 6002-1 corresponds to video content currently being broadcast, and a user can view the corresponding video content by selecting one of the menu items. Menu items corresponding to live video content, such as menu items 6004-1, 6004-2, 6004-3, and 6004-4, are optionally displayed in the user interface with the live video. Menu items in the "Watch List" column 6002-2 correspond to video content available on demand, and a user can view the corresponding on-demand video content by selecting one of the menu items in the "Watch List" column. Menu items corresponding to live video content, such as menu items 6006-1, 6006-2, 6006-3, 6006-4, and 6006-5, are optionally displayed in the user interface with one or more of a still image and / or text. Additionally, the text optionally indicates the number of unwatched episodes of the content series corresponding to the menu item. For example, menu item 6006-1 indicates that the user has three unwatched episodes of Game of Thrones in their watch list.
[0110] In Figure 6B, column 6002-2 is currently highlighted, as indicated by column focus indicators 6010-1 and 6010-2. Additionally, heading "Watch List" 6014 is currently highlighted, as indicated by item focus indicator 6008. Upon receiving user input selecting heading "Watch List" 6014, a "Watch List" column interface (shown in Figures 6V-6BB) is optionally presented on display 514. In Figure 6C, column 6002-2 remains highlighted, and menu item "Game of Thrones" 6006-1 is now highlighted by item focus indicator 6008. The focus is optionally changed in response to detection of input by a user using an input device, such as remote control 510. For example, when a down button is optionally pressed on the remote control, or a swipe down gesture is optionally received on the remote control, in response a down navigation action is optionally received and the item focus indicator 6008 optionally moves down from the "Watch List" heading 6014 to the menu item "Game of Thrones" 6006-1, as shown in Figures 6B and 6C. In Figure 6D, the item focus indicator 6008 has moved down to the next menu item "Mad Men" 6006-2.
[0111] In some embodiments, the background color of the user interface optionally changes based on the currently highlighted menu item. For example, if the "Game of Thrones" logo includes the color brown such that "Game of Thrones" menu item 6006-1 is highlighted by item focus indicator 6008, the background of the user interface may be brown. If the "Mad Men" logo includes the color red such that "Mad Men" menu item 6006-2 is highlighted by item focus indicator 6008, the background of the user interface may be red.
[0112] In Figure 6E, column 6002-3 is currently highlighted, as indicated by column focus indicators 6010-1 and 6010-2. Additionally, menu item "Mad Men" 6012 is currently highlighted, as indicated by item focus indicator 6008. Upon receiving a right navigation action, item focus indicator 6008 optionally moves from one column (e.g., column 6002-2) to the adjacent column to the right (e.g., column 6002-3), as shown in Figures 6D-6E.
[0113] In some embodiments, one or more columns optionally have multiple menu items in a row, as shown in Figures 6F-6I. In Figures 6F-6I, each row of column 6002-3 has multiple menu items. For example, menu items 6016-1 and 6016-2 are in the same row in column 6002-3. In such a case, a right navigation action typically does not navigate to the next column. In Figures 6F-6I, a series of three right navigation actions optionally navigate from menu item 6006-2 (Figure 6F) to menu item 6016-1 (Figure 6G), to menu item 6016-2 (Figure 6H), and to menu item 6018 (Figure 6I). However, in this example, only the first and third right navigation actions navigate to the next column. Only the second right navigation action moves from 6016-1 to 6016-2 within column 6002-3.
[0114] 6J-6M show horizontal scrolling of columns in a column interface. In some embodiments, one or more columns are optionally off-screen. A user can scroll the columns to navigate to additional columns. For example, FIGS. 6K, 6L, and 6M show an additional column 6002-6 labeled "For Kids," which is off-screen in FIG. 6J and has moved on the display 514.
[0115] In Figures 6J-6M, the position of the highlighted column relative to display 514 is optionally proportional to the position of the highlighted column relative to the other columns. In Figure 6J, column 6002-2 is highlighted and its position is approximately 1 / 3 of the length of display 514 from the left edge of the display because column 6002-2 is the second of six columns. In Figure 6K, column 6002-3 is highlighted and its position is approximately 1 / 2 of the length of display 514 from the left edge of the display because column 6002-3 is the third of six columns. In Figure 6L, column 6002-4 is highlighted and its position is approximately 2 / 3 of the length of display 514 from the left edge of the display because column 6002-4 is the fourth of six columns. In FIG. 6M, column 6002-6 is highlighted, and since column 6002-6 is the sixth of six columns, its location is approximately the full length of display 514 from the left edge of the display.
[0116] Figures 6N-6P show vertical scrolling of columns in a column interface. Although the columns optionally scroll together horizontally (as shown in Figures 6J-6M), Figures 6N-6P show column 6002-2 scrolling vertically independent of the other columns. In some embodiments, one or more menu items of the column are optionally off-screen, and the user can scroll the column to navigate to further menu items. For example, Figure 6P shows a further menu item 6006-6 labeled "Road House." Menu item 6006-6 is off-screen in Figures 6N and 6O and is moving on display 514.
[0117] 6Q-6U show vertical scrolling of a column including fixed headings 6020-1, 6020-2, 6020-3, and 6020-4 in a column interface. As column 6002-3 is scrolled vertically, each of headings 6020-1, 6020-2, 6020-3, and 6020-4 stops scrolling at the top of the column as a menu item and continues scrolling below it. For example, the menu items below heading 6020-1 scroll up into the heading and disappear in FIGS. 6Q, 6R, and 6S. As heading 6020-2 approaches heading 6020-1 in FIGS. 6S and 6T, heading 6020-2 replaces heading 6020-1 and stops scrolling at the top of the column as a menu item and heading 6020-2 below it continues scrolling. The menu items under heading 6020-2 scroll up into the heading and disappear in Figures 6S, 6T, and 6U.
[0118] 6V-6BB illustrate a watch list column interface, according to some embodiments. The column interfaces described herein allow a user to optionally navigate a hierarchy of columns. For example, a user optionally selects "Watch List" heading 6014 in column 6002-2 in the first set of columns in FIG. 6A to navigate to a second set of columns in the watch list column interface in FIG. 6V-6BB. Several menu items in column 6002-2 correspond to columns in the watch list column interface in FIG. 6V-6BB.
[0119] In some embodiments, multiple menu items in a column in the first set of columns are optionally grouped together in a column in the second set of columns. For example, Figure 6V shows multiple episodes of "Game of Thrones" as menu items 6026-1, 6026-2, and 6026-3 in column 6022-1. When a user selects column heading 6024, a second set of columns may be displayed on display 514, with the first episode 6026-1 displayed in its own column and the remaining episodes 6026-2 and 6026-3 grouped as menu items in further columns.
[0120] Figures 6W-6BB show various embodiments showing highlighted columns. In Figures 6W and 6X, the highlighted columns are indicated by column focus indicators 6010-1 and 6010-2. In Figures 6Y and 6Z, the highlighted columns are indicated by increasing the width of the highlighted columns relative to the other columns. In Figures 6AA and 6BB, the highlighted columns are indicated by displaying more information in the highlighted columns relative to the other columns.
[0121] 6CC-6DD illustrate a content series page column interface, according to some embodiments. For example, the content series page illustrated in FIGS. 6CC and 6DD is optionally displayed on display 514 in response to selection of menu item 6006-2 in FIG. 6A or heading 6032 in FIG. 6V. Splash area 6028 optionally includes a still image corresponding to the content series, the title of the content series, and other information corresponding to the content series. Multiple columns 6030-1, 6030-2, 6030-3, 6030-4, and 6030-5 are optionally displayed within the content series page column interface. In FIG. 6DD, "Extras" column 6030-5 includes menu items corresponding to content intelligently selected based on its relevance to the content series. For example, column 6030-5 includes menu items corresponding to clips of talk shows featuring performers in the content series and clips of parodies of the content series.
[0122] 6EE illustrates a recent content column interface according to some embodiments. Columns 6034-1, 6034-2, 6034-3, 6034-4, and 6034-5 each correspond to recently viewed content in a particular category.
[0123] 6FF-6MM show a search column interface, according to some embodiments. The columns optionally include a search input column 6036-1, a search suggestion column 6036-2, and a search result column 6036-3. A user optionally enters characters into a partial search term 6038 using an on-screen keyboard 6040. As characters are entered, both the search suggestion column 6036-2 and the search result column 6036-3 are automatically updated. While characters are being entered, the search results optionally reflect an incremental search that includes results that sequentially begin with the partial search term 6038. For example, in FIG. 6FF, the partial search term 6038 is "s" and all results in column 6036-3 begin with "s". Similarly, in FIG. 6GG, the partial search term 6038 is "su" and all results in column 6036-3 begin with "su". And in FIG. 6HH, partial search term 6038 is "super" and all results in column 6036-3 begin with "super." However, when a search suggestion is highlighted in search suggestion column 6036-2, search results column 6036-3 optionally reflects the search of the search suggestion. Thus, in FIG. 6JJ, when suggestion "superheroes" is selected, the results in column 6036-3 are content items about superheroes (e.g., superhero movies). In FIGS. 6KK and 6LL, the menu items in search results column 6036-3 are navigated to optionally select one of the results (as in FIG. 6KK) or to optionally add the search to a watchlist (as in FIG. 6LL). Adding a search to a watchlist optionally populates a watchlist containing the search results. FIG. 6MM shows a search results column interface, optionally displayed in response to selection of search result heading 6042. In FIG. 6MM, each column corresponds to a menu item in search results column 6036-3 in FIGS. 6FF-6LL.
[0124] FIG. 6NN illustrates a sports column interface, according to some embodiments. The sports column interface is optionally displayed on display 514 in response to selection of sports heading 6044 in FIGS. 6A-6U. The sports column interface optionally includes columns 6046-1, 6046-2, and 6046-3, which correspond to yesterday, today, and tomorrow, respectively. However, in some embodiments, additional columns may correspond to additional days. Menu items in column 6046-1 correspond to games that have already played and can be viewed on demand. Selection of any of the menu items in column 6046-1 causes, among other possibilities, a playback of the corresponding game or optionally playback of highlights of the corresponding game. Menu item 6048-1 in today's column 6046-2 corresponds to games currently being broadcast live, with menu item 6048-1 optionally displayed with live video of the live game. Selection of menu item 6048-1 optionally changes to a channel on which a live game is currently being broadcast. Selection of Upcoming Games 6048-2, 6048-3, or any menu item in column 6046-3 optionally prompts the user to add the corresponding game to a watch list or to display more information about the corresponding game, among other possibilities.
[0125] 7A-7E are flow diagrams illustrating a method for providing a column user interface, according to some embodiments, optionally performed in an electronic device (such as electronic device 100, 300, or 500) described above with reference to Figures 1A-1B and 2-5. Some operations of method 700 are optionally combined and / or the order of some operations is optionally changed.
[0126] As described below, method 700 provides a way by which a device can display a column user interface. The method reduces the cognitive burden on a user when interacting with a user interface on a device by providing an intuitive user interface for selecting content items, thereby creating a more efficient human-machine interface. For battery-operated electronic devices, improving the efficiency of a user's interaction with the user interface conserves power and increases the time between battery charges.
[0127] In some embodiments, an electronic device (e.g., a set-top box or other user interface generating device in communication with a display device) comprising one or more processors and memory provides (702) a user interface including a first set of columns for display on a display device (e.g., another display such as a television or computer monitor or an integrated display that is part of the electronic device). Two or more columns in the first set of columns each include two or more menu items (e.g., text, image, and / or video content (some or all of which may optionally include links to content), applications, and / or other user interfaces). For example, FIGS. 6A-6NN show a user interface including a set of columns (e.g., columns 6002-1, 6002-2, 6002-3, 6002-4, 6002-5, and 6002-6). Each of the example columns has two or more menu items (e.g., menu items 6004-1, 6004-2, 6004-3, and 6004-4 in column 6002-1, and menu items 6006-1, 6006-2, 6006-3, 6006-4, and 6006-5 in column 6002-2). In some embodiments, the user interface optionally has at least one background color (706).
[0128] In some embodiments, the first set of columns are optionally configured (704) to move together when scrolled in a first direction (e.g., horizontally) and to move separately when scrolled in a second direction (e.g., vertically) different from the first direction (e.g., when scrolling horizontally, all columns are scrolled, and when scrolling vertically, only the selected column is scrolled, and when scrolling horizontally, the on-screen horizontal position of the selected column may also be proportional to the relative position of the selected column among all columns, including those off-screen). For example, Figures 6J-6M show columns 6002-1, 6002-2, 6002-3, 6002-4, 6002-5, and 6002-6 moving together when scrolled horizontally from right to left. Additionally, Figures 6N-6P show column 6002-2 moving separately from the other columns when scrolled horizontally.
[0129] In some embodiments, the electronic device receives (718) a selection input. In response to receiving (720) the selection input, in response to determining that the selection input corresponds to a selection of a first column (e.g., an input selecting a heading for the first column, e.g., a "Watch List" heading for the watch list column), the electronic device provides (722) a second set of columns (distinct from the first set of columns) for display on a display device, where two or more of the columns in the second set of columns correspond to a different subset of the menu items displayed in the first column selected in response to the selection input (e.g., each column in the second set of columns corresponds to an item in the user's watch list) (and one or more additional columns, e.g., each subset is an episode of a television series and one or more additional columns includes extra content related to the television series). In some embodiments, a first column in the second set of columns optionally corresponds (724) to a first menu item (and only the first menu item) from the first column, and a second column in the second set of columns optionally corresponds to a second menu item (and only the second menu item) from the first column that is different (e.g., distinct) from the first menu item from the first column. For example, FIG. 6B illustrates selection of the "Watch List" heading in watch list column 6002-2, which selection results in the set of watch list columns shown in FIG. 6V. The multiple watch list columns in FIG. 6V correspond to different subsets of the menu items in watch list column 6002-2 in FIG. 6B (e.g., "Chronicle" menu item 6006-3 corresponds to "Chronicle" column 6022-3, "WALL-E" menu item 6006-4 corresponds to "WALL-E" column 6022-4, etc.).
[0130] In some embodiments, a first column in the second set of columns optionally corresponds to a first plurality of menu items from the first column (726), and a second column in the second set of columns optionally corresponds to a second plurality of menu items from the first column that is different (e.g., distinct) from the first plurality of menu items from the first column (e.g., a subset for each letter in the alphabet, a subset for each artist in a music collection, a subset for each television in a “watch list,” etc.). For example, FIG. 6V shows multiple episodes of “Veep” grouped in column 6022-5.
[0131] In some embodiments, in response to a selection input (720), following a determination that the selection input corresponds to a selection of a menu item from a first column (e.g., an input selecting a display of an episode of a television program from a watch list column), the electronic device optionally provides (730) a user interface associated with the selected menu item for display on a display device (e.g., content associated with the menu item, a set of columns associated with the menu item, a grid associated with the menu item, a set of rows associated with the menu item, etc.). In some embodiments, the menu item optionally corresponds (732) to a content series (e.g., a set of television series, miniseries, webisodes, among other possibilities) that includes a plurality of episodes. Each episode of the plurality of episodes is in a watch list (e.g., a list of movies, content series, episodes, music, actors, genres, searches, etc.). For example, FIG. 6D illustrates a selection of the “Mad Men” menu item 6006-2, which results in a user interface associated with the content series “Mad Men” illustrated in FIG. 6CC.
[0132] In some embodiments, the electronic device optionally generates (734) one or more links to ancillary content related to each episode (e.g., a talk show clip highlighting an actor appearing in the episode, a parody clip of the episode, a song featured in the episode, among other possibilities). A second set of columns optionally includes one or more links to ancillary content related to each episode. For example, FIG. 6DD shows a column 6030-5 that includes multiple links to ancillary content related to episodes of the content series "Mad Men."
[0133] In some embodiments, the first set of columns are optionally scrolled in a first direction (736). A selected column display position (e.g., a horizontal position on a display given to the user interface) is optionally determined based on a position of the currently selected column relative to the total number of columns (738) (e.g., the position may be the first column of 12 total columns or the sixth column of six total columns). The columns are optionally scrolled (740) such that the currently selected column moves to the selected column display position on the display device (e.g., if there are 100 total columns, including columns currently off screen, and the selected column is the twentieth column, the selected column may have a horizontal position of 20% of the total horizontal length of the display. Similarly, if there are 100 total columns and the selected column is the 90th column, the selected column may have a horizontal position of 90% of the total horizontal length of the display, etc.). For example, Figures 6J-6M show columns 6002-1, 6002-2, 6002-3, 6002-4, 6002-5, and 6002-6 having proportional scrolling, as described above with reference to Figures 6J-6M.
[0134] In some embodiments, a second input to advance from the first column to the second column is optionally received (742). In response to the second input, visual characteristics of one or both of the first and second columns are optionally changed (744). In some embodiments, changing the visual characteristics optionally includes increasing visual emphasis of the second column (746) relative to the visual emphasis of the first column (e.g., by increasing the brightness, contrast, opacity, saturation, or other visual characteristic of the second column). For example, Figures 6W and 6X show increasing visual emphasis of column 6022-3 as navigation advances from column 6022-2 to column 6022-3. In some embodiments, changing the visual characteristics optionally includes displaying additional information (748) above the second column (and / or removing information from the first column). For example, Figures 6AA and 6BB show displaying additional information in column 6022-3 as navigation proceeds from column 6022-2 to column 6022-3. In some embodiments, changing the visual characteristic optionally includes increasing (750) a spatial characteristic of the second column relative to a spatial characteristic of the first column (e.g., by increasing the width, height, z-position, or other spatial characteristic of the second column). For example, Figures 6Y and 6Z show increasing the width of column 6022-3 as navigation proceeds from column 6022-2 to column 6022-3.
[0135] In some embodiments, a second input for navigating from a first menu item in the first column to a second menu item in the first column is optionally received (752). In response, a color associated with a logo of the second menu item is optionally obtained (754), and a background color of the user interface is optionally changed according to the color associated with the logo of the second menu item (756). For example, Figures 6C and 6D show navigation from menu item 6006-1 to menu item 6006-2, with the background color of the user interface optionally changing as described above with reference to Figures 6C and 6D.
[0136] In some embodiments, the first column optionally includes (728) a first and a second heading (e.g., a sub-heading of the first column). A scroll input corresponding to the first column is optionally received (758). In response to the scroll input (760), the menu items of the first column are optionally scrolled (762), while the first heading remains stationary during the scrolling of the menu items of the first column. The first heading is optionally scrolled (764) out of an edge of the user interface, such that the first heading is no longer visible in the user interface after scrolling the first heading out of an edge of the user interface. The first heading is optionally replaced (766) with a second heading, such that the second heading remains stationary during the scrolling after replacing the first heading. For example, Figures 6Q-6U show vertical scrolling of column 6002-3, which includes fixed headings 6020-1, 6020-2, 6020-3, and 6020-4.
[0137] In some embodiments, a first set of columns is optionally generated (708) based on the partial search terms. A search suggestion column in the first set of columns is optionally generated (770) for display. The search suggestion column optionally includes a plurality of search suggestions, each of the plurality of search suggestions being optionally highlighted. A search result column in the first set of columns is optionally generated (772) for display. The search suggestion column optionally includes a plurality of search results corresponding to the respective search suggestions. A selection of each search suggestion is optionally received (774), and a plurality of search result columns is optionally generated (776) for display in response to the selection of each search suggestion. The plurality of search result columns includes two or more search result columns, each corresponding to one of the plurality of search results. For example, Figures 6FF-6LL show a search user interface including a search result column 6036-6. Figure 6MM shows a corresponding search result column interface including a column corresponding to a search that resulted in the search result column 6036-6.
[0138] In some embodiments, providing a user interface including a first set of columns includes generating (710) a display of a plurality of content items including a plurality of on-demand content items (e.g., content items stored locally on the electronic device or other local storage, or content items stored remotely on a server) and a plurality of live content items (e.g., content items streaming live over the Internet, live broadcast content items, or other live content items). Two or more of the displays of the on-demand content items optionally include still images (e.g., movie posters, production art, screenshots, or other placeholder images) corresponding to the on-demand content. Two or more of the displays of the live content items optionally include live video corresponding to the live content. In some embodiments, the live video optionally includes (712) live video of a live sporting event, and the still images optionally represent one or more of a completed sporting event, an upcoming sporting event, and a highlight video. For example, FIG. 6NN shows a sports user interface that includes live video 6048-1 of a live sporting event and still images (eg, menu items 6048-2 and 6048-3) representing upcoming sporting events.
[0139] In some embodiments, a first content item of the plurality of content items is optionally determined to be an on-demand content item or a live content item (778). In accordance with a determination that the first content item is an on-demand content item, a still image corresponding to the on-demand content item is optionally obtained (780). In accordance with a determination that the first content item is a live content item, live video corresponding to the live content item is optionally obtained (784). In some embodiments, obtaining a still image optionally includes capturing a still image from video corresponding to the on-demand content item. For example, FIG. 6A shows live content items 6004-1, 6004-2, 6004-3, and 6004-4, and on-demand content items 6006-1, 6006-2, 6006-3, 6006-4, and 6006-5. A still image for 6006-4 is optionally obtained by capturing its image from the corresponding "WALL-E" video content.
[0140] In some embodiments, the first set of columns optionally includes a first recent content column and a second recent content column (714). Each of the first and second recent content columns optionally includes content corresponding to a different category of recent content (a recent TV column, a recent movies column, a recent songs column, etc.). In some embodiments, the first recent content column includes only content that has been viewed for more than a predefined threshold (e.g., only content that has been viewed for at least 8 minutes, only content that has been viewed for at least 10% of its runtime, etc., where the threshold may be different for different content categories, e.g., television may have a 2 minute threshold, movies may have a 10 minute threshold, songs may have a 30 second threshold, etc.). For example, FIG. 6EE illustrates a recent content column user interface including recent content columns 6034-2, 6034-3, 6034-4, and 6034-5, which correspond to recent music, recent TV, recent movies, and recent sports, respectively.
[0141] In some embodiments, a first column of the first set of columns is optionally a first type of column (e.g., a column that includes only one menu item in each row of the column) (786), and a second column of the first set of columns is optionally a second type of column (e.g., a column that includes multiple menu items in one or more rows of the column). While the first column is selected, a first navigation input (e.g., a swipe left or a swipe right) is optionally received (788). In response to receiving the first navigation input, a different column of the first set of columns (e.g., a column immediately to the left or to the right of the first column) is optionally selected (790). While the second column is selected, a second navigation input (e.g., a swipe left or a swipe right) is optionally received (792). In response to receiving a second navigation input, the selection of the second column is optionally maintained (794) and the menu items in the row of the second column are optionally navigated among. For example, Figures 6F-6I show that column 6002-2 is a column containing only one item (e.g., menu item 6006-2) in each row, and column 6002-3 is a column containing two items (e.g., menu items 6016-1 and 6016-2) in each row. A first navigation input moves the selection from column 6002-2 in Figure 6F to column 6002-3 in Figure 6G. Meanwhile, a second navigation input moves the selection in column 6002-3 from menu item 6016-1 in Figure 6G to menu item 6016-2 in Figure 6H, while the selection of column 6002-3 is maintained.
[0142] The operations in the above-described information processing methods are optionally performed by operating one or more functional modules within an information processing device, such as a general-purpose processor (e.g., as described above in connection with Figures 1A and 3) or an application-specific chip.
[0143] 7A-7E are optionally performed by the components illustrated in FIG. 1A-1B. For example, providing operation 702, receiving operation 718, and providing operation 722 are optionally performed by event sorter 170, event recognizer 180, and event handler 190. Event monitor 171 of event sorter 170 detects a contact on touch-sensitive display 112, and event dispatcher module 174 distributes the event information to application 136-1. Each event recognizer 180 of application 136-1 compares the event information to a respective event definition 186 to determine whether a first contact at a first location on the touch-sensitive surface corresponds to a predefined event or sub-event, such as a selection of an object on a user interface. When a respective 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 calls 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 is displayed by the application. Similarly, it will be apparent to one skilled in the art how other processes can be performed based on the components shown in Figures 1A-1B.
[0144] It should be understood that the particular order described for the operations in Figures 7A-7E is merely exemplary, and the order described is not intended to indicate that the operations are the only order in which they may be performed. Those skilled in the art will recognize various ways of reordering the operations described herein. In addition, 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 similar manner to method 700 described above in connection with Figures 7A-7E. For example, the user interfaces, columns, menu items, content items, and display devices described above with reference to method 700 optionally have one or more of the features of the user interfaces, columns, menu items, content items, and display devices described herein with reference 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. Translucent Menu
[0145] Many electronic devices have a graphical user interface that overlays some other visual content. The sudden display of a new graphical user interface can be jarring for a smooth user experience. The embodiments described below provide a smooth transition to the graphical user interface by first displaying a semi-transparent graphical user interface over the visual content and then decreasing the semi-transparency as the user continues to interact with the interface.
[0146] Figures 8A-8D show exemplary semi-transparent user interfaces according to some embodiments, which are used to illustrate the processes described below, including the processes described below with reference to Figures 9A-9C.
[0147] 8A-8B show examples of semi-transparent user interfaces. The user interfaces are displayed on display 514 of a device (e.g., device 500) and are responsive to user input, e.g., on touch-sensitive surface 451 and / or remote control 510. The user interfaces of FIGS. 8A-8B include columns 8002-1 and 8002-2 overlaying the user interface on visual content 8006 (playing video content, stopped video content, still images, etc.) in the background. At least a portion of the user interface is semi-transparent with a first translucency such that a display of the background visual content 8006 is visible through the translucent portions. For example, non-text and non-image portions of column 8002-2 are optionally semi-transparent with a first translucency. FIGS. 8A and 8B show navigation from column 8002-1 to column 8002-2. Upon navigation to the right, the first translucency may decrease from the first translucency to a second translucency, such that the display of background visual content 8006 is largely obscured through the translucent portion. In some embodiments, upon navigation in the opposite direction (e.g., from column 8002-2 back to column 8002-1), the translucency of the translucent portion optionally increases from the second translucency to the first translucency. In some embodiments, any further interaction in any direction optionally causes the user interface to continue to decrease in translucency until it is opaque relative to background visual content 8006.
[0148] 8C-8D show another example of a translucent user interface. The user interface is overlaid on top of visual content 8006 in a background of the user interface. At least a portion of the user interface is translucent with a first translucency such that a view of the background visual content 8006 is visible through the translucent portion. The user interface includes a checkbox 8004, and FIGS. 8C-8D optionally show that, in response to selection of the checkbox, the checkbox changes from an unchecked state to a checked state. Checking the checkbox optionally causes the translucent portion of the user interface to decrease its translucency from the first translucency to a second translucency.
[0149] 9A-9C are flow diagrams illustrating a method for providing a user interface having a translucent portion, according to some embodiments, optionally performed in an electronic device (such as electronic device 100, 300, or 500) described above with reference to Figures 1A-1B and 2-5. Some operations in method 900 are optionally combined and / or the order of some operations is optionally changed.
[0150] As described below, method 900 provides a way for a device to display a user interface having semi-transparent portions. The method reduces the cognitive burden on a user when interacting with a user interface on a device by providing a smooth, intuitive user interface for selecting content items, thereby creating a more efficient human-machine interface. For battery-operated electronic devices, improving the efficiency of a user's interaction with the user interface conserves power and increases the time between battery charges.
[0151] In some embodiments, an electronic device having one or more processors and memory (e.g., a set-top box or other user interface generating device in communication with a display device) receives (902) a request to display a menu for controlling visual content displayed within a user interface while a user interface including visual content (e.g., video, still images, animation, etc.) is being displayed on a display.
[0152] In some embodiments, in response to receiving a request to display the menu, the electronic device provides (904) an updated user interface including the menu for display on the display device. In this case, the menu includes at least one translucent portion having a first translucency (or amount of translucency) (in some examples, the entire menu is translucent), such that a display of visual content in the user interface can be seen through the translucent portion of the menu with the first translucency. In some embodiments, the menu optionally includes (906) a first set of columns, two or more columns in the first set of columns each including two or more menu items (e.g., text, image, and / or video content (some or all of which may optionally include links to the content), applications, and / or other user interfaces). For example, FIG. 8A shows a user interface including columns 8002-1 and 8002-2, at least a portion of which are optionally translucent, such that visual content 8006 can be seen through the translucent portion.
[0153] In some embodiments, while the menu having semi-transparent portions is displayed on the display device, the electronic device receives (908) a request to perform an action in the menu (e.g., a menu navigation action such as switching from one displayed column to another displayed column, or advancing from a first menu item to a second menu item). In some embodiments, the menu action is optionally a navigation action corresponding to a request to move through the menu in a respective direction (910).
[0154] In some embodiments, in response to receiving 912 a request to perform an action in the menu, the electronic device performs 914 the action in the menu. For example, Figures 8A and 8B show a navigation action from column 8002-1 to column 8002-2.
[0155] In some embodiments, performing an action in the menu optionally includes changing the state of an item in the menu (e.g., selecting a menu item, activating a checkbox, or manipulating a slider, among other possibilities) (916). Thus, in some embodiments, performing an action in the menu includes performing an action other than navigating through the menu (e.g., by scrolling through items in the menu). For example, Figures 8C and 8D show checking checkbox 8004 in column 8002-1.
[0156] Further, in response to receiving a request to perform an action in the menu (912), the electronic device changes (918) the translucency of a translucent portion of the menu from a first translucency to a second translucency different from the first translucency (e.g., when a user indicates an intent to interact with the menu, the visual characteristics of the menu change to make the menu more readable). For example, in Figures 8B and 8D, the translucency of a portion of the interface may be different than the translucency in Figures 8A and 8C, respectively, such that background visual content 8006 is less visible in Figures 8B and 8D than in Figures 8A and 8C.
[0157] In some embodiments, the translucency of the translucent portions of the menu is optionally increased (920) pursuant to a determination that the respective direction is a first direction. For example, FIGS. 8A-8B show navigation to the right and a decrease in the translucency of the translucent portions, which causes the background visual content 8006 to be less visible in FIG. 8B than in FIG. 8A. The translucency of the translucent portions of the menu is optionally decreased (922) pursuant to a determination that the respective direction is a second direction different (e.g., opposite) from the first direction. For example, FIGS. 8B-8A show navigation to the left and an increase in the translucency of the translucent portions, which causes the background visual content 8006 to be more visible in FIG. 8A than in FIG. 8B.
[0158] In some embodiments, while the menu having a translucent portion is displayed on the display device, a request to perform a navigation operation in a second direction (e.g., opposite the first direction) is optionally received (924). In response to receiving the request to perform the navigation operation in the second direction, a navigation operation is optionally performed (926) in the second direction, and the translucency of the translucent portion of the menu is optionally reduced (928).
[0159] In some embodiments, a request to close the menu is optionally received (930) while the menu having semi-transparent portions is displayed on the display device. In response to receiving the request to close the menu, a user interface including visual content and not including a menu is optionally provided (932) for display on the display device. In some embodiments, the visual content optionally includes video content (934). In response to receiving the request to display the menu, the video content is optionally stopped (936), and in response to receiving the request to close the menu, the video content is optionally resumed (938).
[0160] The operations in the above-described information processing methods are optionally performed by operating one or more functional modules within an information processing device, such as a general-purpose processor (e.g., as described above in connection with Figures 1A and 3) or an application-specific chip.
[0161] 9A-9C are optionally performed by the components illustrated in FIGS. 1A-1B. For example, receive operation 902, provide operation 904, receive operation 908, execute operation 914, and modify operation 918 are optionally performed by event sorter 170, event recognizer 180, and event handler 190. Event monitor 171 of event sorter 170 detects a contact on touch-sensitive display 112, and event dispatcher module 174 distributes the event information to application 136-1. Each event recognizer 180 of application 136-1 compares the event information to a respective event definition 186 to determine whether a first contact at a first location on the touch-sensitive surface corresponds to a predefined event or sub-event, such as a selection of an object on a user interface. When a respective 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 calls 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 is displayed by the application. Similarly, it will be apparent to one skilled in the art how other processes can be performed based on the components shown in Figures 1A-1B.
[0162] It should be understood that the particular order described for the operations in Figures 9A-9C is merely exemplary, and the order described is not intended to indicate that the operations are the only order in which they may be performed. Those skilled in the art will recognize various ways of reordering the operations described herein. In addition, 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) may also be applied in a similar manner to method 900 described above in connection with Figures 9A-9C. For example, the user interfaces, columns, menu items, content items, and display devices described above with reference to method 900 optionally have one or more features of the user interfaces, columns, menu items, content items, and display devices described herein with reference 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. Step-by-step user interface
[0163] Many electronic devices have a graphical user interface that overlays some other visual content. The sudden display of a new graphical user interface may be jarring for a smooth user experience. The embodiments described below provide a smooth transition to a graphical user interface by presenting a first column after a column display condition is met (e.g., detecting a user's presence, detecting motion near the electronic device, or detecting a user's face using a light sensor, among other possibilities), and then incrementally presenting additional columns of the column user interface after receiving an input (e.g., a swipe, tap, or other input to expose one or more additional columns, among other possibilities).
[0164] 10A-10F show step-by-step displays of a column user interface over content (e.g., passive content) according to some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including the processes described below with reference to FIGS. 11A-11B.
[0165] 10A shows a display of passive content, including time, date, and weather information 10002. Other passive content optionally includes splash images, screensavers, background images, etc. In some embodiments, a column user interface is optionally displayed incrementally over active content, such as video content.
[0166] 10B-10D show an animation of the first column 10004-1 emerging from the right edge of the display 514. In some embodiments, the first column 10004-1 optionally appears in response to a column display condition (e.g., detecting the presence of a user, detecting motion near the electronic device, or detecting the user's face using a light sensor, among other possibilities). The first column 10004-1 optionally appears in stages with animation until it is completely in-screen, as shown in FIG. 10C. In some embodiments, the first column 10004-1 optionally appears in stages with animation until it is completely in-screen, and a portion of the second column 10004-2 is also optionally visible, as shown in FIG. 10D.
[0167] 10D-10F show an animation of multiple columns gradually appearing until multiple columns 10004-1, 10004-2, 10004-3, 10004-4, and 10004-5 are all visible on display 514. In this example, the multiple columns occupy a portion of the display from the left edge of the display to the right edge of the display. The animation is optionally displayed in response to receiving an input (e.g., a swipe, tap, or other input to reveal one or more additional columns, among other possibilities).
[0168] 11A-11B are flow diagrams illustrating a method for providing a user interface that is progressively revealed over visual content, according to some embodiments, optionally performed in an electronic device (such as electronic device 100, 300, or 500) described above with reference to FIGS. 1A-1B and 2-5. Some operations of method 1100 are optionally combined and / or the order of some operations is optionally changed.
[0169] As described below, method 1100 provides a way in which a device can display a user interface incrementally over visual content. The method reduces the cognitive burden on a user when interacting with a user interface on a device by providing a smooth, intuitive user interface for selecting content items, thereby creating a more efficient human-machine interface. For battery-operated electronic devices, improving the efficiency of a user's interaction with the user interface conserves power and increases the time between battery charges.
[0170] In some embodiments, an electronic device (e.g., a set-top box or other user interface generating device in communication with the display device) having one or more processors and memory detects (1102) that a column display condition is met (e.g., by detecting the presence of a user, detecting motion near the electronic device, or detecting the user's face using a light sensor, among other possibilities).
[0171] In some implementations, in response to detecting that a column display condition is met, the electronic device provides (1114) a user interface for presentation on a display (e.g., another display device or an integrated display that is part of the electronic device). The user interface optionally includes at least a portion of the first column near (e.g., at or near) a first edge (e.g., a right-most edge) of the display. For example, FIG. 10B shows a portion of column 10004-1 overlaying visual content 10002.
[0172] In some embodiments, an input (e.g., a swipe, tap, or other input to expose one or more additional columns, among other possibilities) is optionally received (1122). In some embodiments, in response to the input, the electronic device provides (1128) an animation for display. The animation includes a first column moving from a first edge of the display toward a position on the display that is proximate (e.g., at or near) a second edge (e.g., a left-most edge) of the display. The second edge is opposite the first edge. The animation further includes a second column that steps in from the first edge of the display. Thus, the multiple columns, including the first and second columns, fill the display from the first edge toward the second edge (e.g., the multiple columns fill the user interface from the right-most edge of the display to the left-most edge of the display, although portions of the user interface above and / or below the multiple columns may not be filled by the columns, and in some circumstances there may be a margin between one or more of the columns and the edges of the display). In some embodiments, the multiple columns are optionally included (1132) in a first set of columns, with two or more columns in the first set of columns each including two or more menu items (e.g., text, image, and / or video content (some or all of which may optionally include links to the content), applications, and / or other user interface).
[0173] For example, Figures 10C-10F show an animation that includes a first column 10004-1 moving from the right edge of the display 514 to a position near the left edge of the display, and a second column 10004-2 phasing in from the right edge of the display, such that the columns fill the display from the right edge to the left edge.
[0174] In some embodiments, detecting that the column display condition is satisfied optionally does not include receiving a directional input (1104), and receiving the input optionally includes receiving a directional input in a first direction (e.g., a swipe, tap, or other input in a direction such as left, right, up, or down) (1124). In some embodiments, the directional input optionally includes a magnitude (e.g., an amount of movement of the contact or a velocity of movement of the contact) (1126). The animation optionally further includes moving the second column according to the magnitude of the directional input (1130) (e.g., direct manipulation of the second column, such as a swipe to the left corresponding to movement of the contact, causes the second column to move left an amount corresponding to a distance moved by the contact during a swipe to the left gesture, or a velocity of the contact during a swipe to the left gesture).
[0175] In some embodiments, if the column display condition is met, the video content is optionally displayed on the display (1112), the user interface optionally includes an overlay over the video content (1116), and the first column optionally includes selected content (e.g., menu items for the first column) based on the displayed video content (1120) (e.g., if the video content is a particular movie, the selected content included in the first column may be information related to the particular movie, if the video content is a particular television show, the selected content included in the first column may be further episodes of the particular television show, etc.).
[0176] In some embodiments, if the column display condition is met, the video content is optionally displayed on the display (1112), the user interface optionally includes an overlay over the video content (1116), and detecting the column display condition optionally includes detecting selection of a menu button (e.g., on a touch-sensing device, on a remote control, and / or on the mobile device) (1108).
[0177] In some embodiments, if the column display condition is met, passive content (e.g., a splash image, a screen saver, a background image, etc.) is optionally displayed on the display (1110), the user interface optionally includes an overlay over the passive content (1118), and detecting the column display condition optionally includes detecting a user's presence near the display (e.g., detecting motion near the electronic device, detecting the user's face using a light sensor, or detecting the presence of a mobile device) (1106). For example, Figures 10A-10F show displaying passive content 10002 if the column display condition is met, and a first column 10004-1 is subsequently displayed.
[0178] The operations in the above-described information processing methods are optionally performed by operating one or more functional modules within an information processing device, such as a general-purpose processor (e.g., as described above in connection with Figures 1A and 3) or an application-specific chip.
[0179] 1A-11B are optionally performed by the components illustrated in FIG. 1A-1B. For example, detect operation 1102, provide operation 1114, accept operation 1122, and provide operation 1128 are optionally performed by event sorter 170, event recognizer 180, and event handler 190. Event monitor 171 of event sorter 170 detects a contact on touch-sensitive display 112, and event dispatcher module 174 distributes the event information to application 136-1. Each event recognizer 180 of application 136-1 compares the event information to a respective event definition 186 to determine whether a first contact at a first location on the touch-sensitive surface corresponds to a predefined event or sub-event, such as a selection of an object on a user interface. When a respective 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 calls 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 is displayed by the application. Similarly, it will be apparent to one skilled in the art how other processes can be performed based on the components shown in Figures 1A-1B.
[0180] It should be understood that the particular order described for the operations in Figures 11A-11B is merely exemplary, and the order described is not intended to indicate that the operations are the only order in which they may be performed. Those skilled in the art will recognize various ways of reordering the operations described herein. In addition, 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) may also be applied in a similar manner to method 1100 described above in connection with Figures 11A-11B. For example, the user interfaces, columns, menu items, content items, and display devices described above with reference to method 1100 optionally have one or more features of the user interfaces, columns, menu items, content items, and display devices described herein with reference 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. Smart Episode User Interface
[0181] Many electronic devices have graphical user interfaces for accessing episodes of various content item series. It may be difficult for a user to record that an episode has already been viewed. Furthermore, for an unviewed content series, it may be more intuitive to present either the first episode of the series or the most recent episode in the series, depending on the release status of the content series. The embodiments described below provide a more intuitive user interface by intelligently presenting contextual information about a content series based on the release status of the content series.
[0182] 12A-12E show example user interfaces including intelligent presentation of contextual information about a content series, according to some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including the processes described below with reference to FIGs. 13A-13C.
[0183] 12A shows an example content series user interface. The content series user interface is displayed on display 514 of a device (e.g., device 500) and is responsive to user input, for example, on touch-sensitive surface 451 and / or remote control 510. The content series user interface includes information related to the last released episode of the content series and includes selectable affordance 12002 to view the last released episode of the content series. In some embodiments, the information related to the last released episode of the content series is optionally displayed based on a determination that the content series is currently being released and that the last released episode has not been marked as viewed.
[0184] 12B illustrates an example content series user interface that displays information 12004 regarding the upcoming release date and / or time of the next released episode. In some embodiments, the information 12004 is optionally selectable to add the next released episode to a watch list. In some embodiments, the information 12004 regarding the upcoming release date and time of the next released episode is optionally displayed based on a determination that the content series is currently being released and the last released episode has been marked as viewed.
[0185] 12C illustrates an example content series user interface that includes information related to a first episode of a content series and includes an affordance 12006 that is selectable to view the first episode of the content series. In some embodiments, the information related to the first episode of the content series is optionally displayed based on a determination that the content series has been discontinued.
[0186] 12D illustrates an example content series user interface including a selectable affordance 12008 for viewing the first unviewed episode of the content series, including information related to the first unviewed episode. In some embodiments, the information related to the first unviewed episode is optionally displayed based on a determination that one or more other episodes of the content series have been marked as viewed.
[0187] 12E illustrates an example content series user interface that includes information related to an episode currently airing live on a channel and includes a selectable affordance 12010 to change to the channel on which the episode is currently airing live. In some embodiments, the information related to the episode currently airing live on a channel is optionally displayed based on a determination that the content series is currently being released and that an episode of the content series is currently airing live on a channel.
[0188] 13A-13C are flow diagrams illustrating a method for intelligent presentation of contextual information for a content series, according to some embodiments, optionally performed in an electronic device (such as electronic device 100, 300, or 500) described above with reference to Figures 1A-1B and 2-5. Some operations of method 1300 are optionally combined and / or the order of some operations is optionally changed.
[0189] As described below, method 1300 provides a way in which a device can display a user interface that includes an intelligent display of contextual information about a content series. The method reduces the cognitive burden on a user when interacting with a user interface on a device by providing an intuitive user interface for selecting content items, thereby creating a more efficient human-machine interface. For battery-operated electronic devices, improving the efficiency of a user's interaction with the user interface conserves power and increases the time between battery charges.
[0190] In some embodiments, an electronic device having one or more processors and memory (e.g., a set-top box or other user interface generating device in communication with a display device) receives (1302) a request for information about a content series (e.g., a television series, a mini-series, a set of webisodes, among other possibilities) having a release status (e.g., whether the series is still in production, whether the series has been canceled, whether there are remaining episodes that have not yet been released, among other possibilities).
[0191] In some embodiments, in response to receiving the request, the electronic device provides (1304) a user interface including information about the content series for display on a display (e.g., a television or other display device). The information includes respective contextual information based on a release state of the content series. In some embodiments, the user interface optionally includes (1312) a plurality of columns, two or more of which include two or more menu items (e.g., text, image, and / or video content (some or all of which may optionally include links to content), applications, and / or other user interfaces). A first column of the plurality of columns optionally includes respective contextual information based on a release state of the content series (e.g., a column is dedicated to the content series, such as a "Game of Thrones" column, and / or a column is dedicated to a content provider of the content series, such as an HBO column that includes menu items for "Game of Thrones"). For example, Figures 12A-12E show multiple columns related to the content series "Mad Men," with each showing different possible context information 12002-12010.
[0192] In some embodiments, pursuant to determining 1306 that the release state is a first release state, the respective contextual information is first contextual information provided based on recent release state activity (current or upcoming episodes) of the content series.
[0193] In some embodiments, pursuant to determining 1308 that the release state is a second release state different from the first release state, the respective contextual information is second contextual information (different from the first contextual information) provided without reference to recent release state activity (current or upcoming episodes) of the content series.
[0194] In some embodiments, the first contextual information optionally includes an affordance that, when selected, provides for an episode of the content series to be displayed on the display (1314) (in some embodiments, the device receives a selection of the affordance and, in response to receiving the selection of the affordance, presents for display the episode of the content series). In some embodiments, the second contextual information optionally includes information indicating when the next episode of the content series will be available, which does not include an affordance that, when selected, presents for displaying the episode of the content series (1322). For example, FIG. 12B shows information 12004 indicating when the next episode of "Mad Men" will be available, which does not include an affordance that, when selected, presents for displaying the episode of "Mad Men".
[0195] In some embodiments, the release state is optionally discontinued (1310) and the respective contextual information optionally includes the first episode of the content series (or the last unwatched episode of the content series). For example, Figure 12C shows information 12006 including the first episode of "Mad Men."
[0196] In some embodiments, the first release state is optionally currently released (1316) (e.g., the content series is currently airing and / or new episodes are being released) and the last released episode is marked as viewed. Providing the first contextual information based on the recent release state activity optionally includes providing a date of a next released episode for display (e.g., an air date of an upcoming episode in the content series). For example, FIG. 12B shows information 12004 including a date of a next released episode of "Mad Men."
[0197] In some embodiments, the first release state is optionally currently released (1318) (e.g., the content series is currently airing and / or new episodes are being released) and the last released episode is not marked as viewed. Providing the first contextual information based on the recent release state activity optionally includes providing an affordance for displaying the last released episode of the content series. In some embodiments, a selection of an affordance is optionally received (1324) and, in response to receiving the selection of the affordance (1326), the last released episode of the content series is optionally provided (1328) for display. For example, FIG. 12A shows an affordance 12002 for displaying the last released episode of “Mad Men.”
[0198] In some embodiments, the first release state is optionally currently released (1320) (e.g., the content series is currently airing and new episodes are being released) and episodes of the content series are currently airing live on respective channels. Providing the first contextual information based on the recent release state activity optionally includes providing an affordance for offering, for display, respective channels currently airing the episodes live. In some embodiments, a selection of an affordance is optionally received (1324) and, in response to receiving the selection of the affordance (1326), the respective channels currently airing the episodes live are optionally offered for display (1330). For example, FIG. 12E shows an affordance 12010 for offering, for display, respective channels currently airing episodes live of “Mad Men.”
[0199] The operations in the above-described information processing methods are optionally performed by operating one or more functional modules within an information processing device, such as a general-purpose processor (e.g., as described above in connection with Figures 1A and 3) or an application-specific chip.
[0200] 1A-1B. For example, receive operation 1302, provide operation 1304, and receive operation 1324 are optionally performed by event sorter 170, event recognizer 180, and event handler 190. Event monitor 171 of event sorter 170 detects a contact on touch-sensitive display 112, and event dispatcher module 174 distributes the event information to application 136-1. Each event recognizer 180 of application 136-1 compares the event information to a respective event definition 186 to determine whether a first contact at a first location on the touch-sensitive surface corresponds to a predefined event or sub-event, such as a selection of an object on a user interface. When a respective 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 calls 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 is displayed by the application. Similarly, it will be apparent to one skilled in the art how other processes can be performed based on the components shown in Figures 1A-1B.
[0201] It should be understood that the particular order described for the operations in Figures 13A-13B is merely exemplary, and the order described is not intended to indicate that the operations are the only order in which they may be performed. Those skilled in the art will recognize various ways of reordering the operations described herein. In addition, 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 in a similar manner to method 1300 described above in connection with Figures 13A-13C. For example, the user interfaces, columns, menu items, content items, and display devices described above with reference to method 1300 optionally have one or more of the features of the user interfaces, columns, menu items, content items, and display devices described herein with reference 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. Watchlists containing content items and non-content items
[0202] Many electronic devices have a graphical user interface that allows a user to directly add content items to a watch list for later viewing. It may be difficult for a user to keep track of content items that may be of interest when they are released. The embodiments described below provide a user interface for quickly adding both content items and non-content items (e.g., actors, search terms, genres, sports leagues / players, etc.) to a watch list. This allows content items related to the non-content items to be automatically placed in the watch list.
[0203] Figures 14A-14H show exemplary user interfaces for adding both content and non-content items to a watchlist, according to some embodiments. The user interfaces in these figures are used to illustrate the processes described below, including the processes described below with reference to Figures 15A-15B.
[0204] FIG. 14A illustrates an exemplary content series user interface. The content series user interface is displayed on display 514 of a device (e.g., device 500) and is responsive to user input, e.g., on touch-sensitive surface 451 and / or remote control 510. The content series user interface includes affordances 14002 and 14004, which are selectable to add the content series to a watch list and to add individual episodes of the content series to a watch list, respectively. Additionally, in FIG. 14A, each affordance is displayed near information related to the item being added to the watch list. Affordance 14002 is near general information about the content series, and affordance 14004 is in a column related to individual episodes of the content series. Adding an individual episode to a watch list causes menu items and columns corresponding to the individual episode (e.g., as shown in FIG. 14H) to be displayed in the watch list user interface. Adding a content series to a watch list causes menu items and / or columns corresponding to the content series and / or some / all of the individual episodes of the content series to be displayed in the watch list user interface. In some embodiments, episodes of a content series that are released after the content series is added to the watch list will optionally be automatically added to the watch list as they are released.
[0205] 14B-14C illustrate an exemplary movie user interface and an exemplary actor user interface. The movie user interface includes a selectable affordance 14006 to add the movie to a watchlist. The affordance 14006 is displayed near information about the movie to be added to the watchlist. Adding the movie to the watchlist causes menu items and / or columns corresponding to the movie to be displayed in the watchlist user interface. The movie user interface further includes menu items 14008 corresponding to actors in the movie's cast and selectable to display an actor user interface, as shown in FIG. 14C. The actor user interface includes a selectable affordance 14010 to add the actor to the watchlist. In some embodiments, affordances 14006 and 14010 are substantially identical, optionally with some variation in font size, spacing, alignment, etc., each including the words "Add to watchlist." Affordance 14010 is displayed near information related to the actor to be added to the watchlist. Adding an actor to the Watch List causes menu items and / or columns to be displayed in the Watch List user interface that correspond to one or more content items in which the actor appears, respectively. In some embodiments, content items including an actor that are released after the actor is added to the Watch List will optionally be automatically added to the Watch List when they are released.
[0206] 14D illustrates an exemplary search user interface. A search user includes an affordance 14012 selectable by the search term to add the search term to the interface watchlist. Affordance 14012 is displayed near the search results for the search term "superheroes" that are added to the watchlist. Adding the search term to the watchlist causes menu items and / or columns corresponding to one or more search results for the search term to be displayed in the watchlist user interface, respectively. In some embodiments, search results released after the search term is added to the watchlist will optionally be automatically added to the watchlist as they are released.
[0207] 14E illustrates an exemplary genre user interface. The genre user interface includes a selectable affordance 14014 to add a genre to a watch list. The affordance 14014 is displayed near the name of the genre "Romantic Comedy" to be added to the watch list. Adding a genre to the watch list causes menu items and / or columns corresponding to one or more content items in the genre to be displayed in the watch list user interface, respectively. In some embodiments, content items in the genre that are released after the genre is added to the watch list will optionally be automatically added to the watch list as they are released.
[0208] 14F illustrates an exemplary athlete user interface. The athlete user interface includes a selectable affordance 14016 to add the athlete to a watch list. The affordance 14016 is displayed near information related to the athlete being added to the watch list. Adding the athlete to the watch list causes menu items and / or columns, as well as other content items, corresponding respectively to one or more games related to the athlete to be displayed in the watch list user interface. In some embodiments, content items related to the athlete that are released after the athlete is added to the watch list will optionally be automatically added to the watch list as they are released.
[0209] 14G illustrates an exemplary sports league user interface. The sports league user interface includes a selectable affordance 14018 to add a sports league to a watch list. The affordance 14018 is displayed near information related to the sports league being added to the watch list. Adding a sports league to the watch list causes menu items and / or columns, as well as other content items, corresponding respectively to one or more games related to the sports league to be displayed in the watch list user interface. In some embodiments, content items related to the sports league that are released after the sports league is added to the watch list will optionally be automatically added to the watch list as they are released.
[0210] 14H illustrates an exemplary watchlist user interface. The watchlist user interface includes columns 14020-1, 14020-2, 14020-3, 14020-4, and 14020-5, each of which corresponds to a content item or content series added based on the content item or non-content item being added to the watchlist. In some embodiments, information related to why a content item is on the watchlist is optionally displayed adjacent to the information related to the content item. For example, in column 14020-1, "The Dark Knight" is on the watchlist because actor Christian Bale, who stars in "The Dark Knight," was added to the watchlist. In column 14020-2, the series "Mad Men" is on the watchlist because it was added to the watchlist. In column 14020-3, "27 Dresses" is on the watchlist because the genre "romantic comedies" was added to the watchlist. In column 14020-4, the basketball game "Clippers vs. Magic" is on the watch list because player Blake Griffin (who plays for the Clippers) was added to the watch list. In column 14020-5, "The Amazing Spider-Man" is on the watch list because the search term "superheroes" was added to the watch list.
[0211] 15A-15B are flow diagrams illustrating a user interface method for adding both content and non-content items to a watch list, according to some embodiments. The method is optionally performed on an electronic device as described above with reference to FIGS. 1-5. The electronic device 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 1500 are optionally combined and / or the order of some operations is optionally changed.
[0212] As described below, method 1500 provides a way in which a device can display a user interface for adding both content and non-content items to a watchlist. By providing an intuitive user interface for selecting content items, the method reduces the cognitive burden on a user when interacting with a user interface on a device, thereby creating a more efficient human-machine interface. For battery-operated electronic devices, improving the efficiency of a user's interaction with the user interface conserves power and increases the time between battery charges.
[0213] In some embodiments, an electronic device (e.g., a set-top box or other user interface generating device in communication with a display device) comprising one or more processors and memory provides (1504) a first affordance (e.g., a button, checkbox, or other selectable user interface object) associated with a first content item (e.g., a movie, an episode, a song, a video clip, etc.) and a second affordance associated with a non-content item (e.g., an actor, a genre, a search term, etc.). For example, Figures 14A-14F show affordances 14002, 14004, and 14006 associated with content items (a content series, an episode, and a movie, respectively) and affordances 14010, 14012, 14014, 14016, and 14018 (for actors, search terms, genres, athletes, and sports leagues, respectively).
[0214] In some embodiments, the electronic device receives (1522) an input that selects a first affordance (e.g., a tap gesture on the touch-sensitive surface) and an input that selects a second affordance (e.g., an input that adds the first content item and a non-content item to a watch list). For example, an input may be received that selects any of affordances 14002, 14004, 14006, 14010, 14012, 14014, 14016, and 14018 in Figures 14A-14F.
[0215] In some embodiments, the electronic device provides (1528) a list of content items for display (e.g., a watch list displayed as multiple columns or as multiple menu items in a menu). The list includes the first content item and one or more additional content items associated with the non-content items (e.g., if the non-content item is an actor, movies starring the actor, if the non-content item is a genre, movies from that genre, if the non-content item is a search, results of that search, etc.). For example, FIG. 14G shows a watch list of content items that includes items associated with various non-content items (e.g., "The Dark Knight" is associated with actor Christian Bale, "27 Dresses" is associated with the genre "romantic comedies," etc.).
[0216] In some embodiments, the first and second affordances are optionally identical (1506) (e.g., the first and second affordances are buttons containing the text "Add to Watch List"). In some embodiments, the first and second affordances are substantially identical (e.g., both affordances are buttons containing the text "Add to Watch List"), making it clear to the user that both buttons add content associated with the currently displayed content or non-content item to the user's watch list, even if the shapes, colors, or fonts used in the buttons are different. For example, FIGS. 14A-14F show affordances 14006, 14010, 14016, and 14018 as being substantially identical. Including substantially identical affordances in different portions of the user interface provides feedback to the user that selecting the affordance will add the content associated with the affordance to the user's watch list, even if the affordances are displayed near different types of content (e.g., actors, players, movies, genres, etc.).
[0217] In some embodiments, a list of search results based on the search terms is optionally provided (1502) for display. A second affordance is optionally provided (1508) near (e.g., in association with) the list of search results (and a second affordance is generated near the list of search results for display, e.g., the affordance includes the text "Add search to watchlist"). In some embodiments, providing the list of content items optionally includes searching based on the search terms to obtain a further list of search results (1530) (and at least one of the further search results is included in the list of content items). For example, FIG. 14D shows an affordance 14012 near the list of search results.
[0218] In some embodiments, providing for display a first affordance associated with the first content includes receiving a request to display information about the first content item on the display (1510). In response to receiving the request to display information about the first content item on the display, the information about the first content item is optionally displayed (1512), and the first affordance is optionally displayed adjacent to the information about the first content item. For example, in FIG. 14B, affordance 14006 is displayed adjacent to information related to "The Dark Knight."
[0219] While displaying the first affordance adjacent to the information about the first content item, an input corresponding to activation of the first affordance is optionally received (1524) (e.g., receiving a select command while the "add to watchlist" affordance is highlighted). Providing a second affordance for display in association with the non-content item optionally includes receiving a request to display information about the non-content item on the display while displaying the information about the first content item (1514). In response to receiving the request to display information about the non-content item on the display, the display of the information about the first content item is optionally replaced with a display of information about the non-content item (1516). The second affordance is optionally displayed adjacent to the information about the non-content item. For example, in FIG. 14B, a request to display information about Christian Bale may be received when the user selects affordance 14008. Then, in FIG. 14C, affordance 14010 is displayed adjacent to the information about Christian Bale.
[0220] Receiving input selecting the second affordance optionally includes receiving input corresponding to activating the second affordance while displaying the second affordance adjacent information about the non-content item (1526) (e.g., receiving a select command while the "add to watchlist" affordance is highlighted). In some embodiments, one or more additional affordances are selected while navigating through a user interface that includes content corresponding to multiple types of content items and non-content items (e.g., while navigating through a series of menus or user interfaces corresponding to different content items and non-content items, a user has the option to select from multiple types of affordances corresponding to non-content items and multiple affordances corresponding to content items). For example, multiple affordances 14002, 14004, 14006, 14010, 14012, 14014, 14016, and 14018 in Figures 14A-14F are optionally selected while navigating through various column user interfaces.
[0221] In some embodiments, a plurality of affordances corresponding to the non-content items are optionally provided (1518). The plurality of affordances optionally includes an affordance corresponding to each non-content item (e.g., a sports player) and an affordance corresponding to a grouping of non-content items that includes each non-content item and one or more other non-content items (e.g., a team that includes the sports player or a league that includes the team). For example, FIG. 14G shows an affordance 14018 corresponding to a sports league.
[0222] In some embodiments, a plurality of affordances corresponding to the content items are optionally provided (1520). The plurality of affordances optionally includes affordances corresponding to each content item (e.g., an episode of a TV show) and affordances corresponding to groupings of content items (e.g., a TV show that includes episodes) that include each content item and one or more other content items. For example, Figure 14A includes affordance 14004 that corresponds to an episode of "Mad Men" and affordance 14002 that corresponds to the content series "Mad Men" itself.
[0223] The operations in the above-described information processing methods are optionally performed by operating one or more functional modules within an information processing device, such as a general-purpose processor (e.g., as described above in connection with Figures 1A and 3) or an application-specific chip.
[0224] 15A-15B are optionally performed by the components illustrated in FIG. 1A-1B. For example, providing operation 1502, providing operation 1504, providing operation 1518, providing operation 1520, receiving operation 1522, and providing operation 1528 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 distributes the event information to application 136-1. Each event recognizer 180 of application 136-1 compares the event information to a respective event definition 186 to determine whether a first contact at a first location on the touch-sensitive surface corresponds to a predefined event or sub-event, such as a selection of an object on a user interface. When a respective 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 calls 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 is displayed by the application. Similarly, it will be apparent to one skilled in the art how other processes can be performed based on the components shown in Figures 1A-1B.
[0225] It should be understood that the particular order described for the operations in Figures 15A-15B is merely exemplary, and the order described is not intended to indicate that the operations are the only order in which they may be performed. Those skilled in the art will recognize various ways to reorder the operations described herein. In addition, 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 in a similar manner to method 1500 described above in connection with Figures 15A-15B. For example, the user interfaces, columns, menu items, content items, and display devices described above with reference to method 1500 optionally have one or more features of the user interfaces, columns, menu items, content items, and display devices described herein with reference 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.
[0226] According to some embodiments, FIG. 16 shows a functional block diagram of an electronic device 1600 configured according to the principles of the various embodiments described. The functional blocks of this device are optionally implemented by hardware, software, or a combination of hardware and software to carry out the principles of the various embodiments described. Those skilled in the art will understand that the functional blocks described in FIG. 16 are optionally combined or separated into sub-blocks to implement the principles of the various embodiments described. Thus, the description herein optionally supports any possible combination or division or further definition of the functional blocks described herein.
[0227] 16, electronic device 1600 optionally includes a display unit 1602 configured to display a user interface including one or more user interface objects (e.g., content items, headings, etc.), an input unit 1604 (e.g., a touch-sensitive surface, keyboard, mouse, or other input unit) to receive user inputs, selections, etc., and a processing unit 1610 coupled to the display unit 1602 and the input unit 1604. In some embodiments, processing unit 1610 optionally includes a display enabling unit 1612, a receiving unit 1614, a determining unit 1616, and an obtaining unit 1618.
[0228] In some embodiments, the processing unit 1610 is configured to provide (e.g., via the display enabling unit 1612) a user interface including a first set of columns for display on a display device, where two or more columns in the first set of columns each include two or more menu items. The processing unit 1610 is configured to receive (e.g., via the receiving unit 1614) a selection input. In response to receiving the selection input, in accordance with a determination that the selection input corresponds to a selection of the first column, the processing unit 1610 is further configured to provide (e.g., via the display enabling unit 1612) a second set of columns for display on the display device, where the two or more columns in the second set of columns correspond to a different subset of the menu items displayed in the first column selected in response to the selection input.
[0229] In some embodiments, the processing unit 1610 is further configured to, in response to the selection input, provide (e.g., by the display enablement unit 1612) a user interface associated with the selected menu item for display on the display device in accordance with a determination that the selection input corresponds to a selection of a menu item from the first column.
[0230] In some embodiments, the menu items correspond to a content series that includes multiple episodes, each of which is in the watchlist, and the processing unit 1610 is further configured to generate (e.g., via the display enablement unit 1612) one or more links to ancillary content associated with each episode, and the second set of columns includes one or more links to ancillary content associated with each episode.
[0231] In some embodiments, a first column in the second set of columns corresponds to a first menu item from the first column and a second column in the second set of columns corresponds to a second menu item from the first column that is different from the first menu item from the first column. In some embodiments, a first column in the second set of columns corresponds to a first plurality of menu items from the first column and a second column in the second set of columns corresponds to a second plurality of menu items from the first column that are different from the first plurality of menu items from the first column.
[0232] In some embodiments, the first set of columns are configured to move together when scrolled in a first direction and to move separately when scrolled in a second direction different from the first direction. In some embodiments, scrolling the first set of columns in the first direction includes determining (e.g., by determining unit 1616) a selected column display position based on a position of the currently selected column relative to a total number of the multiple columns, and scrolling (e.g., by display enabling unit 1612) the multiple columns such that the currently selected column moves to the selected column display position on the display device.
[0233] In some embodiments, the processing unit 1610 is further configured to receive (e.g., by the receiving unit 1614) a second input to proceed from the first column to the second column, and to change (e.g., by the display enablement unit 1612) visual characteristics of one or both of the first column and the second column in response to the second input. In some embodiments, changing the visual characteristics includes enhancing (e.g., by the display enablement unit 1612) a visual emphasis of the second column relative to a visual emphasis of the first column. In some embodiments, changing the visual characteristics includes displaying (e.g., by the display enablement unit 1612) additional information in the second column. In some embodiments, changing the visual characteristics includes enhancing (e.g., by the display enablement unit 1612) a spatial characteristic of the second column relative to a spatial characteristic of the first column.
[0234] In some embodiments, the user interface has at least one background color, and the processing unit 1610 is further configured to receive (e.g., by the receiving unit 1614) a second input to proceed from a first menu item in the first column to a second menu item in the first column, obtain (e.g., by the obtaining unit 1618) a color associated with a logo of the second menu item, and change (e.g., by the display enabling unit 1612) the background color of the user interface in accordance with the color associated with the logo of the second menu item.
[0235] In some embodiments, the first column includes first and second headings, and the processing unit 1610 is further configured to receive (e.g., via the receiving unit 1614) a scroll input corresponding to the first column. In response to the scroll input, the processing unit 1610 is further configured to cause (e.g., via the display enabling unit 1612) to scroll the menu items of the first column (wherein the first heading remains stationary during scrolling of the menu items of the first column), cause (e.g., via the display enabling unit 1612) the first heading to scroll out of an edge of the user interface (whereby the first heading is no longer visible in the user interface after scrolling the first heading out of the edge of the user interface), and replace (e.g., via the display enabling unit 1612) the first heading with the second heading (whereby the second heading remains stationary during scrolling after replacing the first heading).
[0236] In some embodiments, the first set of columns is generated based on the partial search terms, and the processing unit 1610 is further configured to generate (e.g., by the display enabling unit 1612) a search suggestion column in the first set of columns for display (the search suggestion column includes a plurality of search suggestions, where each search suggestion of the plurality of search suggestions is highlighted), generate (e.g., by the display enabling unit 1612) a search result column in the first set of columns for display (the search suggestion column includes a plurality of search results corresponding to the respective search suggestions), and receive (e.g., by the receiving unit 1614) a selection of the respective search suggestion. In response to the selection of the respective search suggestion, the processing unit 1610 is further configured to generate (e.g., by the display enabling unit 1612) a plurality of search result columns for display, the plurality of search result columns including two or more search result columns each corresponding to a search result of the plurality of search results.
[0237] In some embodiments, providing a user interface including the first set of columns includes generating (e.g., by display enablement unit 1612) a display of a plurality of content items including a plurality of on-demand content items and a plurality of live content items, where two or more of the displays of the on-demand content items include still images corresponding to the on-demand content and where two or more of the displays of the live content items include live video corresponding to the live content.
[0238] In some embodiments, the processing unit 1610 is further configured to determine (e.g., by the determining unit 1616) whether a first content item of the plurality of content items is an on-demand content item or a live content item, and, in accordance with a determination that the first content item is an on-demand content item, to acquire (e.g., by the acquiring unit 1618) a still image corresponding to the on-demand content item, and in accordance with a determination that the first content item is a live content item, to acquire (e.g., by the acquiring unit 1618) a live video corresponding to the live content item. In some embodiments, acquiring the still image includes capturing (e.g., by the acquiring unit 1618) a still image from the video corresponding to the on-demand content item. In some embodiments, the live video includes live video of a live sporting event, and the still image represents one or more of a completed sporting event, an upcoming sporting event, and a highlight reel.
[0239] In some embodiments, the first set of columns includes a first recent content column and a second recent content column, the first and second recent content columns each including content corresponding to a different category of recent content, In some embodiments, the first recent content column includes only content that has been viewed past a predetermined threshold.
[0240] In some embodiments, a first column of the first set of columns is a first type of column and a second column of the first set of columns is a second type of column, and the processing unit 1610 is further configured to receive (e.g., via the receiving unit 1614) a first navigation input while the first column is selected. In response to receiving the first navigation input, the processing unit 1610 is further configured to select (e.g., via the display enabling unit 1612) a different column of the first set of columns and receive (e.g., via the receiving unit 1614) a second navigation input while the second column is selected. In response to receiving the second navigation input, the processing unit 1610 is further configured to maintain the selection of the second column (e.g., via the display enabling unit 1612) and navigate among a plurality of menu items in the second column sequence (e.g., via the display enabling unit 1612).
[0241] According to some embodiments, FIG. 17 shows a functional block diagram of an electronic device 1700 configured according to the principles of the various embodiments described. The functional blocks of this device are optionally implemented by hardware, software, or a combination of hardware and software to carry out the principles of the various embodiments described. Those skilled in the art will understand that the functional blocks described in FIG. 17 are optionally combined or separated into sub-blocks to implement the principles of the various embodiments described. Thus, the description herein optionally supports any possible combination or division or further definition of the functional blocks described herein.
[0242] 17, electronic device 1700 optionally includes a display unit 1702 configured to display a user interface including one or more user interface objects (e.g., content items, headings, etc.), an input unit 1704 (e.g., a touch-sensitive surface, keyboard, mouse, or other input unit) to receive user input, selections, etc., and a processing unit 1710 coupled to the display unit 1702 and the input unit 1704. In some embodiments, the processing unit 1710 optionally includes a display enabling unit 1712 and a receiving unit 1714.
[0243] In some embodiments, the processing unit 1710 is configured to receive (e.g., by the receiving unit 1714) a request to display a menu for controlling visual content displayed in the user interface while the user interface including the visual content is displayed on the display. In response to receiving the request to display the menu, the processing unit 1710 is further configured to provide (e.g., by the display enabling unit 1712) an updated user interface including the menu for display on the display device, the menu including at least one translucent portion having a first translucency, such that a display of the visual content in the user interface is viewable through the translucent portion of the menu according to the first translucency. While the menu having the translucent portion is displayed on the display device, the processing unit 1710 is further configured to receive (e.g., by the receiving unit 1714) a request to perform an operation in the menu. In response to receiving a request to perform an action in the menu, the processing unit 1710 is further configured to perform the action in the menu (e.g., via the display enable unit 1712) and change the translucency of a translucent portion of the menu from a first translucency to a second translucency different from the first translucency (e.g., via the display enable unit 1712).
[0244] In some embodiments, the operation is a first navigation operation in a first direction, and changing the translucency of the translucent portion of the menu includes increasing the translucency (e.g., by display enabling unit 1712). While the menu having the translucent portion is displayed on the display device, processing unit 1710 is further configured to receive (e.g., by receiving unit 1714) a request to perform a navigation operation in a second direction. In response to receiving the request to perform a navigation operation in the second direction, processing unit 1710 is further configured to perform a navigation operation in the second direction (e.g., by display enabling unit 1712) and decrease the translucency of the translucent portion of the menu (e.g., by display enabling unit 1712).
[0245] In some embodiments, the operations are navigation operations corresponding to requests to move the menu in the respective directions, and changing the translucency of the translucent portions of the menu includes increasing (e.g., by display enable unit 1712) the translucency of the translucent portions of the menu in accordance with a determination that the respective direction is a first direction, and decreasing (e.g., by display enable unit 1712) the translucency of the translucent portions of the menu in accordance with a determination that the respective direction is a second direction different from the first direction.
[0246] In some embodiments, performing an action on a menu includes changing the state of an item in the menu (eg, via the display enable unit 1712).
[0247] In some embodiments, the processing unit 1710 is further configured to receive (e.g., via the receiving unit 1714) a request to close the menu while the menu including the translucent portion is displayed on the display device, and, in response to receiving the request to close the menu, to provide (e.g., via the display enabling unit 1712) a user interface including the visual content but not the menu, for display on the display device.
[0248] In some embodiments, the visual content includes video content, and the processing unit 1710 is further configured to stop the video content (e.g., via the display enable unit 1712) in response to receiving a request to display the menu, and to resume the video content (e.g., via the display enable unit 1712) in response to receiving a request to close the menu. In some embodiments, the menu includes a first set of columns, and two or more columns in the first set of columns each include two or more menu items.
[0249] According to some embodiments, FIG. 18 illustrates a functional block diagram of an electronic device 1800 configured according to the principles of the various embodiments described. The functional blocks of this device are optionally implemented by hardware, software, or a combination of hardware and software to carry out the principles of the various embodiments described. Those skilled in the art will understand that the functional blocks described in FIG. 18 are optionally combined or separated into sub-blocks to implement the principles of the various embodiments described. Thus, the description herein optionally supports any possible combination or division or further definition of the functional blocks described herein.
[0250] 18 , electronic device 1800 optionally includes a display unit 1802 configured to display a user interface including one or more user interface objects (e.g., content items, headings, etc.), an input unit 1804 (e.g., a touch-sensitive surface, keyboard, mouse, or other input unit) to receive user inputs, selections, etc., and a processing unit 1810 coupled to the display unit 1802 and the input unit 1804. In some embodiments, processing unit 1810 optionally includes a display enabling unit 1812, a receiving unit 1814, and a detecting unit 1816.
[0251] In some embodiments, the processing unit 1810 is configured to detect (e.g., via the detection unit 1816) that a column display condition is met. In response to detecting that the column display condition is met, the processing unit 1810 is further configured to provide (e.g., via the display enablement unit 1812) a user interface for presentation on the display, the user interface including at least a portion of the first column near a first edge of the display. The processing unit 1810 is further configured to receive (e.g., via the receiving unit 1814) an input. In response to the input, the processing unit 1810 is further configured to provide (e.g., via the display enablement unit 1812) an animation for display. The animation includes the first column moving from a first edge of the display toward a position on the display near a second edge of the display. The second edge is opposite the first edge, and the second column appears in a gradual manner from the first edge of the display. This causes a plurality of columns, including the first and second columns, to fill the display from the first edge toward the second edge.
[0252] In some embodiments, detecting that the column display condition is met does not include receiving a directional input, and receiving the input includes receiving (e.g., by the receiving unit 1814) a directional input in the first direction. In some embodiments, the directional input includes a magnitude, and the animation further includes moving (e.g., by the display enabling unit 1812) the second column according to the magnitude of the directional input. In some embodiments, if the column display condition is met, video content is displayed on the display (e.g., by the display enabling unit 1812), and the user interface includes an overlay on the video content, and the first column includes content selected based on the displayed video content.
[0253] In some embodiments, if the column display condition is met, video content is displayed on the display (e.g., by the display enablement unit 1812), the user interface includes an overlay over the video content, and detecting the column display condition includes detecting a selection of a menu button (e.g., by the detection unit 1816). In some embodiments, if the column display condition is met, passive content is displayed on the display (e.g., by the display enablement unit 1812), the user interface includes an overlay over the passive content, and detecting the column display condition includes detecting a presence of a user near the display (e.g., by the detection unit 1816). In some embodiments, the plurality of columns includes a first set of columns, and two or more columns in the first set of columns each include two or more menu items.
[0254] According to some embodiments, FIG. 19 illustrates a functional block diagram of an electronic device 1900 configured according to the principles of the various embodiments described. The functional blocks of this device are optionally implemented by hardware, software, or a combination of hardware and software to carry out the principles of the various embodiments described. Those skilled in the art will understand that the functional blocks described in FIG. 19 are optionally combined or separated into sub-blocks to implement the principles of the various embodiments described. Thus, the description herein optionally supports any possible combination or division or further definition of the functional blocks described herein.
[0255] 19, electronic device 1900 optionally includes a display unit 1902 configured to display a user interface including one or more user interface objects (e.g., content items, headings, etc.), an input unit 1904 (e.g., a touch-sensitive surface, keyboard, mouse, or other input unit) to receive user input, selections, etc., and a processing unit 1910 coupled to the display unit 1902 and the input unit 1904. In some embodiments, the processing unit 1910 optionally includes a display enabling unit 1912 and a receiving unit 1914.
[0256] In some embodiments, the processing unit 1910 is configured to receive (e.g., via the receiving unit 1914) a request for information about a content series having a release state. In response to receiving the request, the processing unit 1910 is further configured to provide (e.g., via the display enabling unit 1912) a user interface including information about the content series for display on a display, the information including respective contextual information based on the release state of the content series. In accordance with a determination that the release state is a first release state, the respective contextual information is first contextual information provided based on recent release state activity of the content series. In accordance with a determination that the release state is a second release state different from the first release state, the respective contextual information is second contextual information provided without reference to recent release state activity of the content series.
[0257] In some embodiments, the first context information includes an affordance that, when selected, provides for an episode of the content series to be displayed on the display (e.g., by the display enablement unit 1912). The second context information includes information indicating when a next episode of the content series is available for presentation without including an affordance that, when selected, provides for an episode of the content series to be displayed (e.g., by the display enablement unit 1912).
[0258] In some embodiments, the release state is discontinued and the respective context information includes a first episode of the content series. In some embodiments, the first release state is currently releasing and the last released episode is marked as viewed. Providing the first context information based on the recent release state activity includes providing (e.g., by the display enablement unit 1912) a date of the next released episode for display.
[0259] In some embodiments, the first release state is currently releasing, and the last released episode is not marked as viewed. Providing the first contextual information based on the recent release state activity includes providing an affordance (e.g., by the display enabling unit 1912) for presenting the last released episode of the content series, and the processing unit 1910 is further configured to receive (e.g., by the receiving unit 1914) a selection of the affordance. In response to receiving the selection of the affordance, the processing unit 1910 is further configured to provide (e.g., by the display enabling unit 1912) the last released episode of the content series for display.
[0260] In some embodiments, the first release state is currently being released, and episodes of the content series are currently being broadcast live on the respective channels. Providing the first contextual information based on the recent release state activity includes providing (e.g., by display enabling unit 1912) an affordance for providing the respective channel currently broadcasting the episode live for display, and processing unit 1910 is further configured to receive (e.g., by receiving unit 1914) a selection of the affordance. In response to receiving the selection of the affordance, processing unit 1910 is further configured to provide (e.g., by display enabling unit 1912) the respective channel currently broadcasting the episode live for display.
[0261] In some embodiments, the user interface includes a plurality of columns, two or more of the plurality of columns including two or more menu items, and a first column of the plurality of columns including respective contextual information based on a release status of the content series.
[0262] According to some embodiments, FIG. 20 shows a functional block diagram of an electronic device 2000 configured according to the principles of the various embodiments described. The functional blocks of this device are optionally implemented by hardware, software, or a combination of hardware and software to carry out the principles of the various embodiments described. Those skilled in the art will understand that the functional blocks described in FIG. 20 are optionally combined or separated into sub-blocks to implement the principles of the various embodiments described. Thus, the description herein optionally supports any possible combination or division or further definition of the functional blocks described herein.
[0263] 20 , electronic device 2000 optionally includes a display unit 2002 configured to display a user interface including one or more user interface objects (e.g., content items, headings, etc.), an input unit 2004 (e.g., a touch-sensitive surface, keyboard, mouse, or other input unit) to receive user input, selections, etc., and a processing unit 2010 coupled to the display unit 2002 and the input unit 2004. In some embodiments, the processing unit 2010 optionally includes a display enabling unit 2012, a receiving unit 2014, and a searching unit 2016.
[0264] In some embodiments, the processing unit 2010 is configured to provide (e.g., via the display enabling unit 2012) a first affordance associated with a first content item and a second affordance associated with a non-content item for display. The processing unit 2010 is further configured to receive (e.g., via the receiving unit 2014) an input selecting the first affordance and an input selecting the second affordance, and to provide (e.g., via the display enabling unit 2012) a list of content items for display, the list including the first content item and one or more further content items associated with the non-content item. In some embodiments, the first affordance and the second affordance are identical.
[0265] In some embodiments, the processing unit 2010 is further configured to provide (e.g., via the display enablement unit 2012) a list of search results based on the search term for display, and provide a second affordance near the list of search results. In some embodiments, providing the list of content items includes searching (e.g., via the search unit 2016) based on the search term to obtain a further list of search results.
[0266] In some embodiments, providing a first affordance associated with the first content for display includes receiving (e.g., by the receiving unit 2014) a request to display information about the first content item on the display, and in response to receiving the request to display the information about the first content item on the display, displaying (e.g., by the display enabling unit 2012) the information about the first content item and displaying the first affordance adjacent the information about the first content item. Receiving an input selecting the first affordance includes receiving (e.g., by the receiving unit 2014) an input corresponding to activation of the first affordance while displaying the first affordance adjacent the information about the first content item. Providing a second affordance associated with the non-content item for display includes receiving (e.g., by the receiving unit 2014) a request to display information about the non-content item on the display while displaying information about the first content item, and in response to receiving the request to display information about the non-content item on the display, replacing (e.g., by the display enabling unit 2012) the display of the information about the first content item with the display of the information about the non-content item, and displaying (e.g., by the display enabling unit 2012) the second affordance adjacent the information about the non-content item. Receiving an input selecting the second affordance includes receiving (e.g., by the receiving unit 2014) an input corresponding to activating the second affordance while displaying the second affordance adjacent the information about the non-content item.
[0267] In some embodiments, the processing unit 2010 is further configured to provide (e.g., via the display enablement unit 2012) a plurality of affordances corresponding to the non-content items. The plurality of affordances includes an affordance corresponding to each non-content item and an affordance corresponding to a grouping of non-content items that includes each non-content item and one or more other non-content items.
[0268] In some embodiments, the processing unit 2010 is further configured to provide (e.g., via the display enablement unit 2012) a plurality of affordances corresponding to the content items, including affordances corresponding to each content item and affordances corresponding to groupings of content items that include the respective content item and one or more other content items.
[0269] The above description has been set forth with reference to specific embodiments for purposes of explanation. However, the above illustrative description is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teachings. These embodiments have been chosen and described in order to best explain the principles of the invention and its practical application, and thereby enable others skilled in the art to best utilize the invention and its various embodiments with various modifications suitable for the particular uses contemplated.
Claims
1. 1. A method implemented in an electronic device in communication with a display device and one or more input devices, comprising: receiving, while a user interface including visual content is being displayed via the display device, a request via the one or more input devices to display a menu for controlling the visual content displayed within the user interface; providing an updated user interface including the menu, in response to receiving the request to display the menu, for display via the display device, the updated user interface including the menu, the display including displaying at least one translucent portion of the menu having a first translucency, such that display of the visual content in the user interface is viewable through the at least one translucent portion of the menu in accordance with the first translucency; receiving, while the menu having the at least one translucent portion is displayed via the display device, a request via the one or more input devices to perform an action in the menu other than a selection of at least one translucent portion of the menu; in response to receiving the request to perform the operation in the menu, performing the operation in the menu and changing the translucency of the displayed at least one translucent portion of the menu from the first translucency to display the at least one translucent portion of the menu having a second translucency different from the first translucency; A method comprising:
2. The action is a first navigation action in a first direction, and varying the translucency of the at least one translucent portion of the menu includes increasing the translucency, and the method further comprises: receiving a request via the one or more input devices to perform a navigation operation in a second direction while the menu having the at least one translucent portion is displayed via the display device; in response to receiving the request to perform the navigation operation in the second direction, performing the navigation operation in the second direction and decreasing the translucency of the at least one translucent portion of the menu; The method of claim 1 , comprising:
3. the actions are navigation actions corresponding to requests to move the menu in a respective direction; Varying the translucency of the at least one translucent portion of the menu includes: increasing the translucency of the at least one translucent portion of the menu in accordance with determining that the respective direction is a first direction; decreasing the translucency of the at least one translucent portion of the menu in accordance with a determination that the respective orientation is a second orientation different from the first orientation; The method of claim 1 , comprising:
4. The method of claim 1 , wherein performing the action in the menu includes changing a state of an item in the menu.
5. The method comprises: receiving a request via the one or more input devices to close the menu while the menu having the at least one translucent portion is displayed via the display device; in response to receiving the request to close the menu, providing the user interface, including the visual content and excluding the menu, for display via the display device; The method of claim 1 further comprising:
6. The visual content comprises video content, and the method further comprises: pausing the video content in response to receiving the request to display the menu; resuming the video content in response to receiving the request to close the menu; The method of claim 1 further comprising:
7. The method of claim 1 , wherein the menu comprises a first set of columns, and two or more columns in the first set of columns each include two or more menu items.
8. one or more processors; Memory, One or more programs; 8. An electronic device having one or more programs stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for performing any of the methods according to claims 1 to 7.
9. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs including instructions that, when executed by an electronic device having the one or more processors and memory, cause the device to perform any of the methods of claims 1 to 7.
Citation Information
Patent Citations
Video processing device, video processing lsi, display, car navigation system, mixing ratio information generating method, program, and recording medium
JP2009276557A
Method of providing user interface for controlling game operation
JP2011076588A
Method and system for presenting video
US20080111822A1
Method to provide menu, using menu set and multimedia device using the same
US20080163053A1
On-screen display system and method
US20100275143A1
