Music playing user interface
By employing input devices such as touch-sensitive displays and touchpads on electronic devices, combined with intensity sensors and haptic output generators, the problem of unintuitive user interfaces on electronic devices has been solved, enabling fast, efficient, and convenient navigation and selection of content items, thus improving the intuitiveness of the user interface.
Patent Information
- Application Number
- CN202111089922.0
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2014-06-24
- Filing Date
- 2015-06-23
- Publication Date
- 2025-10-17
- Estimated Expiration
- 2035-06-23
AI Technical Summary
Many electronic devices offer cluttered and unintuitive user interfaces, making it difficult to clearly and simply display and navigate content items in the upcoming item queue and the recently played item history.
By employing input devices such as touch-sensitive displays and touchpads, combined with intensity sensors and haptic output generators, an intuitive user interface navigation method is provided. By detecting contact intensity and generating haptic feedback, the intuitiveness and convenience of the user interface are improved.
It enables fast, efficient, and convenient navigation and selection of content items, enhancing the intuitiveness of the user interface and the user experience.
Smart Images

Figure CN113821143B_ABST
Abstract
Description
[0001] This application is a divisional application of Chinese patent application No. 201580028396.3, whose application date is June 23, 2015 and whose invention name is “Music Playing User Interface”; the divisional application to which this divisional application is directed is Chinese patent application No. 201911270084.X.
[0002] CROSS-REFERENCE TO RELATED APPLICATIONS
[0003] This patent application claims the benefit of U.S. Provisional Patent Application No. 62 / 016,600, filed June 24, 2014, the entire disclosure of which is incorporated herein by reference for all purposes. Technical Field
[0004] The present disclosure generally relates to user interfaces for music applications. Background Art
[0005] Many electronic devices provide cluttered and unintuitive user interfaces for viewing and selecting. It would be desirable to provide an intuitive way to clearly and simply display and navigate content items in an upcoming queue of items and a history of recently played items (e.g., songs in an album, a playlist, or an internet radio station). Summary of the Invention
[0006] Many electronic devices provide confusing and unintuitive user interfaces for viewing and selecting content. It would be desirable to provide an intuitive way to clearly and simply display and navigate content items in a queue of upcoming items and a history of recently played items (e.g., songs in an album, a playlist, or an internet radio station). The embodiments described below provide a fast, efficient, and convenient way for users to navigate and select various content items for use. BRIEF DESCRIPTION OF THE DRAWINGS
[0007] For a better understanding of the various described embodiments of the present invention, reference should be made to the following detailed description taken in conjunction with the following drawings, in which like reference numerals designate corresponding parts throughout the several views.
[0008] Figure 1A is a block diagram illustrating a multifunction device with a touch-sensitive display according to some embodiments.
[0009] Figure 1B is a block diagram illustrating example components for event processing according to some embodiments.
[0010] Figure 2 A multifunction device with a touch screen according to some embodiments is shown.
[0011] Figure 3is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface according to some embodiments.
[0012] Figure 4 An exemplary user interface for a multifunction device having a touch-sensitive surface separate from the display is shown according to some embodiments.
[0013] Figure 5 A block diagram illustrating an exemplary architecture of a device according to some embodiments of the present disclosure is shown.
[0014] Figures 6A-6Y An exemplary content user interface according to some embodiments of the present disclosure is shown.
[0015] Figures 7A-7E is a flowchart illustrating a method of a content user interface according to some embodiments.
[0016] Figures 8A-8L An exemplary simplified content user interface according to some embodiments of the present disclosure is shown.
[0017] Figures 9A-9E is a flowchart illustrating a method of simplifying a content user interface according to some embodiments.
[0018] Figure 10-11 Shown is a functional block diagram of an electronic device configured according to the principles of the various described embodiments, in accordance with some embodiments of the present disclosure. DETAILED DESCRIPTION
[0019] In the following description of the examples, reference is made to the accompanying drawings which form a part hereof and in which are shown by way of illustration specific examples that may be implemented. It should be understood that other examples may be used and structural changes may be made without departing from the scope of the disclosed examples.
[0020] Exemplary devices
[0021] Embodiments of electronic devices, user interfaces for such devices, and associated processes for using such devices are described herein. In some embodiments, the device is a portable communication device, such as a mobile phone, that also includes other functions, such as a PDA and / or music player functions. Exemplary embodiments of portable multifunction devices include, but are not limited to, the Apple Watch from Apple Inc (Cupertino, California). iPod and Device. Other portable electronic devices are optionally used, such as laptops or tablet computers with touch-sensitive surfaces (e.g., touch screen displays and / or touchpads). It should also be understood that in some embodiments, the device is not a portable communication device, but a desktop computer or television with a touch-sensitive surface (e.g., touch screen displays and / or touchpads). In some embodiments, the device does not have a touch screen display and / or touchpad, but is capable of outputting display information (such as the user interface of the present disclosure) for display on an independent display device, and is capable of receiving input information from an independent input device having one or more input mechanisms (such as one or more buttons, touch screen displays and / or touchpads). In some embodiments, the device has a display and is capable of receiving input information from an independent input device having one or more input mechanisms (such as one or more buttons, touch screen displays and / or touchpads).
[0022] In the following discussion, an electronic device is described that includes a display and a touch-sensitive surface. However, it should be understood that the electronic device optionally includes one or more other physical user interface devices, such as a physical keyboard, mouse, and / or joystick. In addition, as described above, it should be understood that the electronic device, display, and touch-sensitive surface are optionally distributed between two or more devices. Therefore, as used in this disclosure, information displayed on or by an electronic device is optionally used to describe information output by the electronic device for display on an independent display device (touch-sensitive or non-touch-sensitive). Similarly, as used in this disclosure, input received on an electronic device (e.g., input received on a touch-sensitive surface of an electronic device) is optionally used to describe input received on an independent input device from which the electronic device receives input information.
[0023] The device typically supports a variety of applications, such as one or more of the following: a drawing application, a presentation application, a word processing application, a website creation application, a disk editing application, a spreadsheet application, a gaming application, a telephony application, a video conferencing application, an email application, an instant messaging application, an exercise support application, a photo management application, a digital camera application, a digital video camera application, a web browsing application, a digital music player application, a television channel browsing application, and / or a digital video player application.
[0024] Various applications executing on the device optionally use at least one common physical user interface device, such as a touch-sensitive surface. One or more functions of the touch-sensitive surface and corresponding information displayed on the device are optionally adjusted and / or varied for different applications, and / or adjusted and / or varied within the respective applications. In this way, the common physical architecture of the device (such as the touch-sensitive surface) optionally supports the various applications with a user interface that is intuitive and clear to the user.
[0025] Attention is now directed to embodiments of portable or non-portable devices having touch-sensitive displays, although the devices need not include a touch-sensitive display or a display generally as described above. Figure 1A 1 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 is sometimes referred to as a "touch screen" for convenience, and may sometimes be referred to as or referred to as a touch-sensitive display system. The device 100 includes a memory 102 (which optionally includes one or more computer-readable storage media), a memory controller 122, one or more processing units (CPUs) 120, a peripheral device interface 118, radio frequency circuitry 108, audio circuitry 110, a speaker 111, a microphone 113, an input / output (I / O) subsystem 106, other input or control devices 116, and an external port 124. The device 100 optionally includes one or more optical sensors 164. The device 100 optionally includes one or more intensity sensors 165 for detecting intensity of contact on the device 100 (e.g., a touch-sensitive surface, such as the touch-sensitive display system 112 of the device 100). Device 100 optionally includes one or more tactile output generators 167 for generating tactile output on device 100 (e.g., generating tactile output on a touch-sensitive surface, such as touch-sensitive display system 112 of device 100 or touchpad 355 of device 300). These components optionally communicate via one or more communication buses or signal lines 103.
[0026] As used in this specification and claims, the term "intensity" of a contact on a touch-sensitive surface refers to the force or pressure (force per unit area) of a contact (e.g., a finger contact) on the touch-sensitive surface, or to a surrogate (surrogate) for the force or pressure of a contact on the touch-sensitive surface. The intensity of a contact has a range of values that includes at least four different values and more typically includes hundreds of different values (e.g., at least 256). The intensity of a contact is optionally determined (or measured) using various methods and various sensors or combinations of sensors. For example, one or more force sensors below or adjacent to the touch-sensitive surface are optionally used to measure the force at different points on the touch-sensitive surface. In some implementations, the force measurements from multiple force sensors are combined (e.g., a weighted average) to determine an estimated contact force. Similarly, the pressure-sensitive tip of a stylus is optionally used to determine the pressure of the stylus on the touch-sensitive surface. Alternatively, the size of the contact area detected on the touch-sensitive surface and / or its change, the capacitance of the touch-sensitive surface near the contact and / or its change, and / or the resistance of the touch-sensitive surface near the contact and / or its change are optionally used as a surrogate for the force or pressure of the contact on the touch-sensitive surface. In some implementations, the surrogate measurement of the contact force or pressure is used directly to determine whether an intensity threshold has been exceeded (e.g., the intensity threshold is described in units corresponding to the surrogate measurement). In some implementations, the surrogate measurement of the contact force or pressure is converted to an estimated force or pressure, and the estimated force or pressure is used to determine whether an intensity threshold has been exceeded (e.g., the intensity threshold is a pressure threshold measured in units of pressure).
[0027] As used in this specification and claims, the term "tactile output" refers to a physical displacement of a device relative to a previous position of the device, a physical displacement of a component of a device (e.g., a touch-sensitive surface) relative to another component of the device (e.g., a housing), or a displacement of a component relative to the center of mass of the device that will be detected by a user through the user's sense of touch. For example, where a device or a component of the device is in contact with a surface that is touch-sensitive to a user (e.g., a finger, palm, or other part of the user's hand), the tactile output generated by the physical displacement will be interpreted by the user as a tactile sensation that corresponds to a perceived change in a physical property of the device or component of the device. For example, movement of a touch-sensitive surface (e.g., a touch-sensitive display or trackpad) is optionally interpreted by the user as a "press click" or "release click" on a physical actuation button. In some cases, the user will feel a tactile sensation, such as a "press click" or "release click," even when the physical actuation button associated with the touch-sensitive surface that was physically pressed (e.g., displaced) by the user's movement does not move. As another example, even when the smoothness of the touch-sensitive surface does not change, movement of the touch-sensitive surface may optionally be interpreted or sensed by the user as "roughness" of the touch-sensitive surface. While such interpretation of touch by the user will be limited by the user's individualized sensory perceptions, there are many sensory perceptions of touch that are common to most users. Thus, when a tactile output is described as corresponding to a particular sensory perception of a user (e.g., "press click," "release click," "roughness"), unless otherwise stated, the generated tactile output corresponds to a physical displacement of the device or a component thereof that would generate a sensory perception for a typical (or average) user.
[0028] It should be understood that device 100 is only one example of a portable or non-portable multifunction device, and that device 100 optionally has more or fewer components than shown, optionally combines two or more components, or optionally has a different configuration or arrangement of the components. Figure 1A The various components shown in the figure are implemented in hardware, software, or a combination of hardware and software, including one or more signal processing circuits and / or application specific integrated circuits. Figure 1A The various components shown in are, optionally, implemented across two or more devices; for example, a display and audio circuitry on a display device, a touch-sensitive surface on an input device, and the remaining components on device 100. In such an embodiment, device 100 optionally communicates with the display device and / or input device to facilitate operation of the system as described in the present disclosure, and the various components described herein associated with the display and / or input remain in device 100 or are optionally included in the display and / or input device, as appropriate.
[0029] Memory 102 optionally includes high-speed random access memory and optionally includes non-volatile memory, such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Access to memory 102 by other components of device 100 (such as CPU 120 and peripheral device interface 118) is optionally controlled by memory controller 122.
[0030] Peripherals interface 118 may be used to couple the device's input and output peripherals to CPU 120 and memory 102. The one or more processors 120 run or execute various software programs and / or instruction sets stored in memory 102 to perform various functions of device 100 and process data.
[0031] 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.
[0032] RF (radio frequency) circuitry 108 receives and transmits RF signals, also known as electromagnetic signals. RF circuitry 108 converts electrical signals into / from electromagnetic signals and communicates with a communication network and other communication devices via the electromagnetic signals. RF circuitry 108 optionally includes well-known circuitry for performing these functions, including but not limited to an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a codec chipset, a subscriber identity module (SIM) card, memory, and the like. RF circuitry 108 optionally communicates with a network and other devices via wireless communications, such as the Internet (also known as the World Wide Web (WWW)), an intranet, and / or a wireless network (such as a cellular telephone network, a wireless local area network (LAN), and / or a metropolitan area network (MAN)). Wireless communication optionally uses any of a variety of communication standards, protocols, and technologies, including, but not limited to, Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), Evolution, Data Only (EV-DO), HSPA, HSPA+, Dual Cell HSPA (DC-HSPDA), Long Term Evolution (LTE), Near Field Communication (NFC), Wideband Code Division Multiple Access (W-CDMA), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Bluetooth, Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, and / or IEEE 802.11d), 802.11n), Voice over Internet Protocol (VoiP), Wi-MAX, protocols for email (e.g., Internet Message Access Protocol (IMAP) and / or Post Office Protocol (POP)), instant messaging (e.g., Extensible Messaging and Presence Protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Utilization Extensions (SIMPLE), Instant Messaging and Presence Services (IMPS)) and / or Short Message Service (SMS), or any other suitable communication protocol, including communication protocols that have not yet been developed on the date of filing this document.
[0033] The audio circuit 110, the speaker 111, and the microphone 113 provide an audio interface between the user and the device 100. The audio circuit 110 receives audio data from the peripheral device interface 118, converts the audio data into electrical signals, and transmits the electrical signals to the speaker 111. The speaker 111 converts the electrical signals into sound waves audible to humans. The audio circuit 110 also receives electrical signals converted from sound waves by the microphone 113. The audio circuit 110 converts the electrical signals into audio data and transmits the audio data to the peripheral device interface 118 for processing. The audio data is optionally retrieved from and / or transmitted to the memory 102 and / or the RF circuit 108 by the peripheral device interface 118. In some embodiments, the audio circuit 110 also includes a headset interface (e.g., Figure 2 The headset interface provides an interface between the audio circuitry 110 and a removable audio input / output peripheral device, such as an output-only headset or a headset with both output (e.g., a single-ear headset or a dual-ear headset) and input (e.g., a microphone).
[0034] The I / O subsystem 106 couples input / output peripherals on the device 100, such as the touch screen 112 and other input control devices 116, to a peripherals interface 118. The I / O subsystem 106 optionally includes a display controller 156, an optical sensor controller 158, an intensity sensor controller 159, a tactile feedback controller 161, and one or more input controllers 160 for other input or control devices. The one or more input controllers 160 receive / send electrical signals from / to other input or control devices 116. The other input control devices 116 optionally include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slide switches, joysticks, click wheels, and the like. In some alternative embodiments, the one or more input controllers 160 are optionally coupled to any (or none) of the following: a keyboard, an infrared port, a USB port, and a pointer device such as a mouse. The one or more buttons (e.g., Figure 2 208) optionally includes an up / down button for volume control of the speaker 111 and / or microphone 113. The one or more buttons optionally include a push button (e.g., Figure 2 206 in the ).
[0035] The touch-sensitive display 112 provides an input interface and an output interface between the device and the user. As described above, the touch-sensitive operation and display operation of the touch-sensitive display 112 are optionally separated from each other, so that the display device is used for display purposes and the touch-sensitive surface (for display or non-display) is used for input detection purposes, and the components and functions are modified accordingly. However, for simplicity, the following description is provided with reference to the touch-sensitive display. The display controller 156 receives electrical signals from the touch screen 112 and / or sends electrical signals to the touch screen 112. The touch screen 112 displays visual output to the user. The visual output optionally includes graphics, text, icons, videos and any combination thereof (collectively referred to as "graphics"). In some embodiments, some visual outputs or all of the visual outputs correspond to user interface objects.
[0036] The touch screen 112 has a touch-sensitive surface, sensor, or sensor group that accepts input from the user based on tactile and / or tactile contact. The touch screen 112 and display controller 156 (together with any associated modules and / or instruction sets in memory 102) detect contact on the touch screen 112 (and any movement or interruption of that contact) and convert the detected contact into interaction with a user interface object (e.g., one or more soft keys, icons, web pages, or images) displayed on the touch screen 112. In an exemplary embodiment, the point of contact between the touch screen 112 and the user corresponds to the user's finger.
[0037] The touch screen 112 optionally uses LCD (liquid crystal display) technology, LPD (light emitting polymer display) technology, or LED (light emitting diode) technology, although other display technologies are used in other embodiments. The touch screen 112 and display controller 156 optionally use any of a variety of touch sensing technologies now known or later developed, including but not limited to capacitive, resistive, infrared, and surface acoustic wave technologies, as well as other proximity sensor arrays or other elements for determining one or more points of contact with the touch screen 112 to detect contact and any movement or interruption thereof. In one exemplary embodiment, projected mutual capacitance sensing technology is used, such as the ATmega 200 from Apple Inc. (Cupertino, California). iPod and Technology found in.
[0038] The touch screen 112 optionally has a video resolution exceeding 100 dpi. In some embodiments, the touch screen has a video resolution of about 160 dpi. The user optionally uses any suitable object or appendage, such as a stylus, a finger, or the like, to contact the touch screen 112. In some embodiments, the user interface is designed to work primarily with finger-based contacts and gestures, which may be less precise than stylus-based input due to the larger contact area of a finger on the touch screen. In some embodiments, the device converts rough finger-based input into precise pointer / cursor positions or commands to perform the user's desired action.
[0039] In some embodiments, in addition to the touch screen, the device 100 optionally includes a touchpad (not shown) for activating or deactivating specific functions. In some embodiments, the touchpad is a touch-sensitive area of the device that, unlike the touch screen, does not display visual output. The touchpad is optionally a touch-sensitive surface that is separate from the touch screen 112 or an extension of the touch-sensitive surface formed by the touch screen.
[0040] Device 100 also includes a power system 162 for powering the various components. Power system 162 optionally includes a power management system, one or more power sources (e.g., batteries, alternating current (AC)), a recharging system, power fault detection circuitry, a power converter or inverter, a power status indicator (e.g., a light emitting diode (LED)), and any other components associated with the generation, management, and distribution of power in a portable or non-portable device.
[0041] Device 100 optionally also includes one or more optical sensors 164 . Figure 1A An optical sensor coupled to the optical sensor controller 158 in the I / O subsystem 106 is shown. The optical sensor 164 optionally includes a charge coupled device (CCD) or a complementary metal oxide semiconductor (CMOS) phototransistor. The optical sensor 164 receives light projected from the environment through one or more lenses and converts the light into data representing an image. In conjunction with the imaging module 143 (also called a camera module), the optical sensor 164 optionally captures still images or video. In some embodiments, the optical sensor is located on the rear of the device 100, facing away from the touch screen display 112 on the front of the device, so that the touch screen display can be used as a viewfinder for still images and / or video image acquisition. In some embodiments, another optical sensor is located on the front of the device so that the user can optionally obtain an image of the user for video conferencing while viewing other video conference participants on the touch screen display.
[0042] Device 100 optionally also includes one or more contact intensity sensors 165 . Figure 1AA contact force sensor is shown coupled to force sensor controller 159 in I / O subsystem 106. Contact force sensor 165 optionally includes one or more piezoresistive strain gauges, capacitive force sensors, electrical force sensors, piezoelectric force sensors, optical force sensors, capacitive touch-sensitive surfaces, or other force sensors (e.g., sensors for measuring the force (or pressure) of a contact on a touch-sensitive surface). Contact force sensor 165 receives contact force information (e.g., pressure information or a surrogate for pressure information) from the environment. In some embodiments, at least one contact force sensor is juxtaposed with or adjacent to a touch-sensitive surface (e.g., touch-sensitive display system 112). In some embodiments, at least one contact force sensor is located on the back of device 100 opposite touch screen display 112 located on the front of device 100.
[0043] Device 100 optionally also includes one or more proximity sensors 166 . Figure 1A A proximity sensor 166 is shown 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 a user's ear (e.g., when the user is making a phone call), the proximity sensor turns off and disables touch screen 112.
[0044] Device 100 optionally also includes one or more tactile output generators 167 . Figure 1A A tactile output generator is shown coupled to a tactile feedback controller 161 in the I / O subsystem 106. The tactile output generator 167 optionally includes one or more electroacoustic devices such as speakers or other audio components; and / or electromechanical devices for converting energy into linear motion such as motors, solenoids, electroactive polymers, piezoelectric actuators, electrostatic actuators, or other tactile output generating components (e.g., components for converting electrical signals into tactile outputs on the device). The contact force sensor 165 receives tactile feedback generation instructions from the tactile feedback module 133 and generates tactile outputs on the device 100 that can be felt by the user of the device 100. In some embodiments, at least one tactile output generator is juxtaposed or adjacent to a touch-sensitive surface (e.g., touch-sensitive display system 112) and optionally generates tactile outputs by moving the touch-sensitive surface vertically (e.g., inward / outward toward the surface of the device 100) or laterally (e.g., back and forth in the same plane as the surface of the device 100). In some embodiments, at least one tactile output generator sensor is located on the back of the device 100 opposite the touch screen display 112 located on the front of the device 100.
[0045] Device 100 optionally also includes one or more accelerometers 168 . Figure 1AAn accelerometer 168 is shown coupled to the peripherals interface 118. Alternatively, the accelerometer 168 is optionally coupled to the input controller 160 in the I / O subsystem 106. In some embodiments, information is displayed on the touch screen display in a portrait view or a landscape view based on an analysis of data received from the one or more accelerometers. The device 100 optionally includes a magnetometer (not shown) and a GPS (or GLONASS or other global navigation system) receiver (not shown) in addition to the one or more accelerometers 168 for obtaining information about the position and orientation (e.g., portrait or landscape) of the device 100.
[0046] In some embodiments, the software components stored in memory 102 include an operating system 126, a communication module (or instruction set) 128, a contact / motion module (or instruction set) 130, a graphics module (or instruction set) 132, a text input module (or instruction set) 134, a global positioning system (GPS) module (or instruction set) 135, and an application (or instruction set) 136. In addition, in some embodiments, memory 102 stores device / global internal state 157, such as Figure 1A and 3 . The device / global internal state 157 includes one or more of the following: an active application state indicating which application, if any, is currently active; a display state indicating what applications, views, or other information occupy various areas of the touch screen display 112; a sensor state including information obtained from the device's various sensors and input control devices 116; and position information regarding the device's position and / or posture.
[0047] The operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or an embedded operating system such as VxWorks) includes various software components and / or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitates communication between various hardware and software components.
[0048] The communication module 128 facilitates communication with other devices via one or more external ports 124 and also includes various software components for processing data received by the RF circuitry 108 and / or the external ports 124. The external port 124 (e.g., a universal serial bus (USB), FireWire, etc.) is suitable for coupling to other devices directly or indirectly via a network (e.g., the Internet, a wireless LAN, etc.). In some embodiments, the external port is a multi-pin (e.g., 30-pin) connector that is the same as, similar to, and / or compatible with the 30-pin connector used on iPod (trademark of Apple Inc.) devices.
[0049] The contact / motion module 130 optionally detects contact with the touch screen 112 (in conjunction with the display controller 156) and other touch-sensitive devices (e.g., a touchpad or physical click wheel). The contact / motion module 130 includes various software components for performing various operations related to contact detection, such as determining whether contact has occurred (e.g., detecting a finger 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 has been movement of the contact and tracking the movement on the touch-sensitive surface (e.g., detecting one or more finger drag events), and determining whether the contact has ceased (e.g., detecting a finger up event or a break in contact). The contact / motion module 130 receives contact data from the touch-sensitive surface. Determining the movement of a contact point optionally includes determining the rate (magnitude), velocity (magnitude and direction), and / or acceleration (change in magnitude and / or direction) of the contact point, the movement of which is represented by a series of contact data. These operations are optionally applied to a single contact (e.g., a single finger contact) or multiple simultaneous contacts (e.g., "multi-touch" / multiple finger contacts). In some embodiments, the contact / motion module 130 and display controller 156 detect contact on the touchpad.
[0050] In some embodiments, the contact / motion module 130 uses a set of one or more intensity thresholds to determine whether an action has been performed by a user (e.g., to determine whether a user has "clicked" an icon). In some embodiments, at least a subset of the intensity thresholds are determined based on software parameters (e.g., the intensity thresholds are not determined by the activation threshold of a particular physical actuator and can be adjusted without changing the physical hardware of the device 100). For example, a mouse "click" threshold for a touchpad or touchscreen can be set to any one of a large range of predefined thresholds without changing the touchpad or touchscreen display hardware. In addition, in some embodiments, a software setting is provided to the user of the device for adjusting one or more intensity thresholds in a set of intensity thresholds (e.g., by adjusting individual intensity thresholds and / or by utilizing a system-level click on an "intensity" parameter to adjust multiple intensity thresholds at once).
[0051] The contact / motion module 130 optionally detects gesture input from the user. Different gestures on the touch-sensitive surface have different contact patterns and intensities. Therefore, gestures are optionally detected by detecting specific contact patterns. For example, detecting a single-finger tap gesture includes detecting a finger press event and then detecting a finger lift (lift-off) event at the same location (or substantially the same location) as the finger press event (e.g., at an icon location). For another example, detecting a finger swipe gesture on the touch-sensitive surface includes detecting a finger press event, then detecting one or more finger drag events, and then detecting a finger lift (lift-off) event.
[0052] The graphics module 132 includes various known software components for rendering and displaying graphics on the touch screen 112 or other display, including components for changing the visual impact (e.g., brightness, transparency, saturation, contrast, or other visual 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.
[0053] In some embodiments, the graphics module 132 stores data representing graphics to be used. Each graphic is optionally assigned a corresponding code. The graphics module 132 receives one or more codes specifying the graphics to be displayed from an application program, etc., along with coordinate data and other graphic attribute data, if necessary, and then generates screen image data for output to the display controller 156.
[0054] Haptic feedback module 133 includes various software components for generating instructions used by one or more tactile output generators 167 to generate tactile output at one or more locations on device 100 in response to user interaction with device 100 .
[0055] Text input module 134, which is optionally a component of graphics module 132, provides a soft keyboard for entering text in various applications (e.g., contacts 137, email 140, IM 141, browser 147, and any other application requiring text input).
[0056] The GPS module 135 determines the location of the device and provides this information for use in various applications (e.g., to the phone 138 for location-based dialing, to the camera 143 as photo / video metadata, and to applications that provide location-based services, such as the weather widget, the local yellow pages widget, and the map / navigation widget).
[0057] Application 136 optionally includes the following modules (or instruction sets), or a subset or superset thereof:
[0058] Contacts module 137 (sometimes called address book or contact list);
[0059] Telephone module 138;
[0060] Video conferencing module 139;
[0061] Email client module 140;
[0062] Instant messaging (IM) module 141;
[0063] Fitness support module 142;
[0064] A camera module 143 for still and / or video images;
[0065] Image management module 144;
[0066] Browser module 147;
[0067] Calendar module 148;
[0068] Widget module 149, which optionally includes one or more of the following: weather widget 149-1, stock widget 149-2, calculator widget 149-3, alarm clock widget 149-4, dictionary widget 149-5, and other widgets obtained by the user, and user-created widgets 149-6;
[0069] A widget creator module 150 for forming user-created widgets 149-6;
[0070] Search module 151;
[0071] Video and music player module 152, optionally consisting of a video player module and a music player module;
[0072] Notes module 153;
[0073] Map module 154;
[0074] Online video module 155.
[0075] Examples of other applications 136 optionally stored in memory 102 include other word processing applications, other image editing applications, drawing applications, rendering applications, JAVA-enabled applications, encryption, digital rights management, voice recognition, and voice replication.
[0076] In combination with the touch screen 112, display controller 156, contact module 130, graphics module 132, and text input module 134, the contacts module 137 is optionally used to manage an address book or contact list (for example, stored in the application internal state 192 of the contacts module 137 in memory 102 or memory 370), including: adding names to the address book; deleting names from the address book; associating phone numbers, email addresses, physical addresses, or other information with names; associating images with names; categorizing and sorting names; providing phone numbers or email addresses to initiate and / or facilitate communications via telephone 138, video conferencing 139, email 140, or IM 141, and so on.
[0077] 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, phone module 138 is optionally used to enter a character sequence corresponding to a telephone number, access one or more telephone numbers in address book 137, modify an already entered telephone number, dial the corresponding telephone number, conduct a conversation, and disconnect or hang up when the conversation is complete. As described above, wireless communication optionally uses any of a variety of communication standards, protocols, and technologies.
[0078] In combination with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch screen 112, display controller 156, optical sensor 164, optical sensor controller 158, contact module 130, graphics module 132, text input module 134, contact list 137, and phone module 138, video conferencing module 139 includes executable instructions for initiating, conducting, and terminating a video conference between a user and one or more other participants in accordance with user instructions.
[0079] 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 includes executable instructions for creating, sending, receiving, and managing emails in response to user instructions. In conjunction with image management module 144, email client module 140 makes it very easy to create and send emails with still images or video images captured by camera module 143.
[0080] In conjunction with the RF circuitry 108, the touch screen 112, the display controller 156, the contact module 130, the graphics module 132, and the text input module 134, the instant messaging module 141 includes executable instructions for entering a character sequence corresponding to an instant message, modifying previously entered characters, sending the corresponding instant message (e.g., using the Short Message Service (SMS) or Multimedia Message Service (MMS) protocol for phone-based instant messaging or using XMPP, SIMPLE, or IMPS for Internet-based instant messaging), receiving instant messages, and viewing received instant messages. In some embodiments, the instant messages transmitted and / or received optionally include graphics, photos, audio files, video files, and / or other attachments supported in MMS and / or Enhanced Messaging Service (EMS). As used herein, "instant messaging" refers to both phone-based messages (e.g., messages sent using SMS or MMS) and Internet-based messages (e.g., messages sent using XMPP, SIMPLE, or IMPS).
[0081] In combination with the RF circuitry 108, the touch screen 112, the display controller 156, the contact module 130, the graphics module 132, the text input module 134, the GPS module 135, the map module 154, and the music player module 146, the fitness support module 142 includes executable instructions for: creating a fitness (e.g., with time, distance, and / or calorie burn goals); communicating with fitness sensors (mobile devices); receiving fitness sensor data; calibrating sensors for monitoring fitness; selecting fitness music and playing it; and displaying, storing, and transmitting fitness data.
[0082] In conjunction with touch screen 112, display controller 156, one or more optical sensors 164, optical sensor controller 158, contact module 130, graphics module 132, and image management module 144, camera module 143 includes executable instructions for capturing still images or videos (including video streams) and storing them in memory 102, modifying characteristics of still images or videos, or deleting still images or videos from memory 102.
[0083] In conjunction with touch screen 112, display controller 156, contact module 130, graphics module 132, text input module 134, and camera module 143, image management module 144 includes executable instructions for arranging, modifying (e.g., editing), or otherwise manipulating, labeling, deleting, presenting (e.g., in a digital slideshow or album), and storing still images and / or video images.
[0084] In combination with the RF circuit 108, the touch screen 112, the display system controller 156, the contact module 130, the graphics module 132 and the text input module 134, the browser module 147 includes executable instructions for browsing the Internet (including searching for, linking to, receiving, and displaying web pages or portions thereof, as well as attachments and other files linked to web pages) in accordance with user instructions.
[0085] In combination with the RF circuit system 108, the touch screen 112, the display system controller 156, the contact module 130, the graphics module 132, the text input module 134, the email client module 140 and the browser module 147, the calendar module 148 includes executable instructions to create, display, modify and store a calendar and data associated with the calendar (e.g., calendar entries, to-do items, etc.) in accordance with user instructions.
[0086] In conjunction with the RF circuit 108, the touch screen 112, the display system controller 156, the contact module 130, the graphics module 132, the text input module 134, and the browser module 147, the desktop widget module 149 is a mini-application that is optionally downloaded and used by the user (e.g., the weather desktop widget 149-1, the stock desktop widget 149-2, the calculator desktop widget 149-3, the alarm desktop widget 149-4, and the dictionary desktop widget 149-5) or a mini-application created by the user (e.g., the user-created desktop widget 149-6). In some embodiments, the desktop widget includes an HTML (Hypertext Markup Language) file, a CSS (Cascading Style Sheets) file, and a JavaScript file. In some embodiments, the desktop widget includes an XML (Extensible Markup Language) file and a JavaScript file (e.g., the Yahoo! desktop widget).
[0087] In combination with the RF circuit 108, the touch screen 112, the display system controller 156, the contact module 130, the graphics module 132, the text input module 134 and the browser module 147, the desktop widget creator module 150 is optionally used by a user to create a desktop widget (for example, to transfer a user-specified portion of a web page to a desktop widget).
[0088] In combination with the touch screen 112, the display system controller 156, the contact module 130, the graphics module 132 and the text input module 134, the search module 151 includes executable instructions for searching the memory 102 for text, music, sound, images, videos and / or other files that match one or more search criteria (e.g., one or more user-specified search terms) in accordance with user instructions.
[0089] In conjunction with touch screen 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 player module 152 includes executable instructions that allow a user to download and play back recorded music and other sound files stored in one or more file formats (such as MP3 or AAC files), as well as to display, present, or otherwise play back video (e.g., on touch screen 112 or on an external display connected via external port 124). In some embodiments, device 100 optionally includes the functionality of an MP3 player, such as an iPod (trademark of Apple Inc.).
[0090] In conjunction with the touch screen 112, the display controller 156, the contact module 130, the graphics module 132, and the text input module 134, the notepad module 153 includes executable instructions for creating and managing notes, to-do lists, etc. according to user instructions.
[0091] In combination with the RF circuitry 108, the touch screen 112, the display system controller 156, the contact module 130, the graphics module 132, the text input module 134, the GPS module 135, and the browser module 147, the map module 154 is optionally used to receive, display, modify, and store maps and data associated with the maps (e.g., driving directions; data relating to stores and other points of interest at or near a particular location; and other location-based data) in accordance with user instructions.
[0092] In conjunction with touch screen 112, display system controller 156, contact module 130, graphics module 132, audio circuit 110, speaker 111, RF circuit 108, text input module 134, email client module 140, and browser module 147, online video module 155 includes instructions that allow a user to access, browse, receive (e.g., by streaming and / or downloading), play back (e.g., on the touch screen or on an external display connected via external port 124), send an email with a link to a particular online video, and otherwise manage online videos in one or more file formats such as H.264. In some embodiments, instant messaging module 141 is used to send a link to a particular online video instead of email client module 140.
[0093] Each of the above modules and application programs corresponds to a group of executable instructions for performing one or more of the above functions and methods described in the present application (e.g., computer-implemented methods and other information processing methods described herein). These modules (i.e., instruction sets) need not be implemented as independent software programs, processes, or modules, so the various subsets of these modules are optionally combined or otherwise rearranged in various embodiments. In some embodiments, memory 102 optionally stores a subset of the above modules and data structures. In addition, memory 102 optionally stores additional modules and data structures not described above.
[0094] In some embodiments, device 100 is a device that performs operation of a predefined set of functions on the device solely through a touch screen and / or touchpad (whether included in device 100 or included on a separate device such as an input device). By using the touch screen and / or touchpad as the primary input control device for operation of device 100, the number of physical input control devices (such as push buttons, dials, etc.) on device 100 is optionally reduced.
[0095] The predefined set of functions that are performed exclusively through the touch screen and / or touchpad optionally includes navigation between user interfaces. In some embodiments, the touchpad, when touched by the user, navigates the device 100 from any user interface displayed on the device 100 to a primary menu, a main menu, or a root menu. In such embodiments, the touchpad is used to implement a "menu button." In some other embodiments, the menu button is a physical push button or other physical input control device, rather than a touchpad.
[0096] Figure 1B is a block diagram illustrating exemplary components for event processing according to some embodiments. In some embodiments, memory 102 ( Figure 1A ) or memory 370 ( Figure 3 ) includes an event classifier 170 (e.g., in the operating system 126) and a corresponding application 136-1 (e.g., any one of the aforementioned applications 137-151, 155, 380-390).
[0097] Event classifier 170 receives event information and determines the application 136-1 and the application view 191 of application 136-1 to which the event information is to be delivered. Event classifier 170 includes an event monitor 171 and an event dispatcher module 174. In some embodiments, application 136-1 includes an application internal state 192 that indicates one or more current application views displayed on touch-sensitive display 112 when the application is active or executing. In some embodiments, device / global internal state 157 is used by event classifier 170 to determine which application(s) is currently active, and application internal state 192 is used by event classifier 170 to determine the application view 191 to which the event information is to be delivered.
[0098] In some embodiments, the application internal state 192 includes additional information, such as one or more of the following: resumption information to be used when the application 136-1 resumes execution, user interface state information indicating information being displayed by the application 136-1 or information ready for display by the application 136-1, a state queue for enabling the user to return to a previous state or view of the application 136-1, and a redo / undo queue of previous actions taken by the user.
[0099] Event monitor 171 receives event information from peripherals interface 118. The event information includes information about sub-events (e.g., a user touch on touch-sensitive display 112 as part of a multi-touch gesture). Peripherals interface 118 transmits information it receives from I / O subsystem 106 or sensors such as proximity sensor 166, one or more accelerometers 168, and / or microphone 113 (through audio circuit 110). The information that peripherals interface 118 receives from I / O subsystem 106 includes information from touch-sensitive display 112 or a touch-sensitive surface.
[0100] In some embodiments, event monitor 171 sends requests to peripheral device interface 118 at predetermined intervals. In response, peripheral device interface 118 transmits event information. In other embodiments, peripheral device interface 118 transmits event information only when there is a significant event (e.g., receiving an input above a predetermined noise threshold and / or receiving an input for more than a predetermined duration).
[0101] In some embodiments, the event classifier 170 also includes a hit view determination module 172 and / or an active event identifier determination module 173.
[0102] When the touch-sensitive display 112 displays more than one view, the hit view determination module 172 provides software procedures for determining where within one or more views a sub-event has occurred. A view consists of controls and other elements that a user can see on the display.
[0103] Another aspect of the user interface associated with an application is a set of views, sometimes also referred to herein as application views or user interface windows, in which information is displayed and touch-based gestures occur. The application views (of the respective application) in which a touch is detected optionally correspond to programmatic levels within the application's programmatic or view hierarchy. 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 considered to be correct input is optionally determined based at least in part on the hit view of the initial touch that started the touch-based gesture.
[0104] Hit view determination module 172 receives information related to sub-events of a contact-based gesture. When an application has multiple views organized in a hierarchy, hit view determination module 172 identifies a hit view as the lowest view in the hierarchy where sub-events should be processed. In most cases, the hit view is the lowest-level view in which the initiating sub-event (i.e., the first sub-event in a sequence of sub-events that form an event or potential event) occurs. Once a hit view is identified by the hit view determination module, the hit view typically receives all sub-events related to the same touch or input source for which it was identified as the hit view.
[0105] Active event recognizer determination module 173 determines which view or views within the view hierarchy should receive a particular sequence of sub-events. In some embodiments, active event recognizer determination module 173 determines that only the hit view should receive a particular sequence of sub-events. In other embodiments, active event recognizer determination module 173 determines that all views that include the physical location of the sub-event are actively participating views, and therefore determines that all actively participating views should receive a particular sequence of sub-events. In other embodiments, even if a touch sub-event is completely confined to an area associated with one particular view, views higher in the hierarchy will still remain actively participating views.
[0106] Event dispatcher module 174 dispatches event information to event recognizers (e.g., event recognizer 180). In embodiments that include active event recognizer determination module 173, event dispatcher module 174 delivers the event information to the event recognizer determined by active event recognizer determination module 173. In some embodiments, event dispatcher module 174 stores the event information in an event queue, which is retrieved by corresponding event receiver module 182.
[0107] In some embodiments, operating system 126 includes event classifier 170. Alternatively, application 136-1 includes event classifier 170. In another embodiment, event classifier 170 is a standalone module or part of another module stored in memory 102, such as contact / motion module 130.
[0108] In some embodiments, application 136-1 includes multiple event handlers 190 and one or more application views 191, each of which includes instructions for handling touch events that occur within a corresponding view of the application's user interface. Each application view 191 of application 136-1 includes one or more event recognizers 180. Typically, a corresponding application view 191 includes multiple event recognizers 180. In other embodiments, one or more of event recognizers 180 is part of a separate module, such as a user interface toolkit (not shown) or a higher-level object from which application 136-1 inherits methods and other properties. In some embodiments, a corresponding event handler 190 includes one or more of the following: a data updater 176, an object updater 177, a GUI updater 178, and / or event data 179 received from an event classifier 170. Event handler 190 optionally utilizes or calls data updater 176, object updater 177, or GUI updater 178 to update the application internal state 192. Alternatively, one or more of the application views 191 include one or more corresponding event handlers 190. Additionally, in some embodiments, one or more of the data updater 176, object updater 177, and GUI updater 178 are included in the corresponding application view 191.
[0109] A corresponding event identifier 180 receives event information (e.g., event data 179) from event classifier 170 and identifies an event from the event information. Event identifier 180 includes an event receiver 182 and an event comparator 184. In some embodiments, event identifier 180 also includes metadata 183 and at least a subset of event delivery instructions 188 (which optionally include sub-event delivery instructions).
[0110] Event receiver 182 receives event information from event classifier 170. Event information includes information about sub-events such as touch or touch movement. Depending on the sub-event, the event information also includes additional information, such as the location of the sub-event. When the sub-event involves the movement of a touch, the event information optionally also includes the rate and direction of the sub-event. In some embodiments, the event includes the device rotating from one orientation to another orientation (e.g., from a portrait orientation to a landscape orientation, or vice versa), and the event information includes corresponding information about the current orientation of the device (also referred to as the device posture).
[0111] The event comparator 184 compares the event information with a predefined event or sub-event definition and determines the event or sub-event based on the comparison, or determines or updates the state of the event or sub-event. In some embodiments, the event comparator 184 includes an event definition 186. The event definition 186 includes the definition of an event (e.g., a predefined sequence of sub-events), such as event 1 (187-1), event 2 (187-2), and other events. In some embodiments, the sub-events in event 187 include, for example, touch start, touch end, touch move, touch cancel, and multi-touch. In one example, the definition of event 1 (187-1) is a double-click on a displayed object. For example, a double-click includes a first touch (touch start) of a predetermined duration on the displayed object, a first lift (touch end) of a predetermined duration, a second touch (touch start) of a predetermined duration on the displayed object, and a second lift (touch end) of a predetermined duration. In another example, the definition of event 2 (187-2) is a drag on a displayed object. For example, a drag includes a touch (or contact) of a predetermined duration on a displayed object, movement of the touch on the touch-sensitive display 112, and lifting of the touch (end of touch). In some embodiments, the event also includes information for one or more associated event handlers 190.
[0112] In some embodiments, event definition 187 includes definitions of events for corresponding user interface objects. In some embodiments, event comparator 184 performs a hit test to determine which user interface object is associated with a sub-event. For example, in an application view displaying three user interface objects on touch-sensitive display 112, when a touch is detected on touch-sensitive display 112, event comparator 184 performs a hit test to determine which of the three user interface objects is associated with the touch (sub-event). If each displayed object is associated with a corresponding event handler 190, the event comparator uses the result of the hit test to determine which event handler 190 should be activated. For example, event comparator 184 selects an event handler that is associated with the sub-event and the object that triggered the hit test.
[0113] In some embodiments, the definition of the corresponding event 187 also includes a delay action that delays the delivery of the event information until it has been determined whether the sub-event sequence does or does not correspond to the event type of the event identifier.
[0114] When a corresponding event recognizer 180 determines that a sequence of sub-events does not match any event in event definitions 186, the corresponding event recognizer 180 enters the event not possible, event failed, or event ended state, after which subsequent sub-events of the touch-based gesture are ignored. In this case, other event recognizers (if any) that remain active for the hit view continue to track and process sub-events of the ongoing touch-based gesture.
[0115] In some embodiments, corresponding event recognizers 180 include metadata 183 having configurable properties, flags, and / or lists for indicating how the event delivery system should perform sub-event delivery for actively participating event recognizers. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate how event recognizers interact or can interact with each other. In some embodiments, metadata 183 includes configurable properties, flags, and / or lists that indicate whether sub-events are delivered to different levels in a view or programmatic hierarchy.
[0116] In some embodiments, when one or more specific sub-events of an event are identified, the corresponding event recognizer 180 activates an event handler 190 associated with the event. In some embodiments, the corresponding event recognizer 180 delivers event information associated with the event to the event handler 190. Activating an event handler 190 is different from sending (and deferred sending) sub-events to the corresponding hit view. In some embodiments, the event recognizer 180 throws a flag associated with the identified event, and the event handler 190 associated with the flag obtains the flag and performs a predefined process.
[0117] In some embodiments, event delivery instructions 188 include sub-event delivery instructions that deliver event information about a sub-event without activating an event handler. Instead, the sub-event delivery instructions deliver the event information to an event handler associated with the sub-event sequence or to an actively participating view. The event handler associated with the sub-event sequence or with the actively participating view receives the event information and performs a predetermined process.
[0118] In some embodiments, data updater 176 creates and updates data used in application 136-1. For example, data updater 176 updates phone numbers used in contact module 137 or stores video files used in video player module 145. In some embodiments, object updater 177 creates and updates objects used in application 136-1. For example, object updater 176 creates new user interface objects or updates the location of user interface objects. GUI updater 178 updates the GUI. For example, GUI updater 178 prepares display information and sends it to graphics module 132 for display on a touch-sensitive display.
[0119] In some embodiments, one or more event handlers 190 include or have access to data updater 176, object updater 177, and GUI updater 178. In some embodiments, data updater 176, object updater 177, and GUI updater 178 are included in a single module of the corresponding application 136-1 or application view 191. In other embodiments, they are included in two or more software modules.
[0120] It should be understood that the above discussion of event handling for user touches on a touch-sensitive display and / or touchpad also applies to other forms of user input utilizing input devices to operate the multifunction device 100, and not all user input is initiated on a touch screen. For example, mouse movement and mouse button presses, optionally in combination with single or multiple keyboard presses or holds; contact movement on a touchpad, such as taps, drags, scrolls, etc.; stylus input; movement of the device; spoken commands; detected eye movements; biometric input; and / or any combination thereof, may be utilized as input corresponding to a sub-event defining an event to be recognized.
[0121] Figure 2 A portable or non-portable multifunction device 100 with a touch screen 112 according to some embodiments is shown. As described above, the multifunction device 100 is described as having various illustrated structures (such as the touch screen 112, the speaker 111, the accelerometer 168, the microphone 113, etc.); however, it should be understood that these structures may optionally reside on separate devices. For example, display-related structures (e.g., a display, a speaker, etc.) and / or functions may optionally reside on a separate display device, input-related structures (e.g., a touch-sensitive surface, a microphone, an accelerometer, etc.) and / or functions may optionally reside on a separate input device, and the remaining structures and / or functions may optionally reside on the multifunction device 100.
[0122] The touch screen 112 optionally displays one or more graphics within the user interface (UI) 200. In this embodiment and in other embodiments described below, a user can select one or more of the graphics by, for example, making a gesture on the graphics using one or more fingers 202 (not drawn to scale in the accompanying drawings) or using one or more styluses 203 (not drawn to scale in the accompanying drawings). In some embodiments, selection of one or more graphics occurs when the user interrupts contact with the one or more graphics. In some embodiments, the gesture optionally includes one or more taps, one or more swipes (from left to right, from right to left, up and / or down), and / or rolling of a finger that has made contact with the device 100 (from right to left, from left to right, up and / or down). In some embodiments or in some cases, accidentally making contact with a graphic does not select the graphic. For example, when the gesture corresponding to selection is a tap, a swipe gesture that sweeps over an application icon optionally does not select the corresponding application.
[0123] The device 100 optionally also includes one or more physical buttons, such as a “home” or menu button 204. As previously described, the menu button 204 is optionally used to navigate to any application 136 in a set of applications that are optionally executed on the device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key in a GUI displayed on the touch screen 112.
[0124] In one embodiment, the device 100 includes a touch screen 112, a menu button 204, a push button 206 for turning the device on and off and locking the device, volume adjustment buttons 208, a subscriber identity module (SIM) card slot 210, a headset jack 212, and an external docking / charging port 124. The push button 206 is optionally used to: power the device on / off by pressing the button and holding it in the depressed state for a predetermined time interval; lock the device by pressing the button and releasing it before the predetermined time interval has passed; and / or unlock the device or initiate an unlocking process. In an alternative embodiment, the device 100 also accepts voice input for activating or deactivating certain functions via the microphone 113. The device 100 also optionally includes one or more contact force sensors 165 for detecting the intensity of contact on the touch screen 112, and / or one or more tactile output generators 167 for generating tactile output for the user of the device 100.
[0125] Figure 33 is a block diagram of an exemplary multi-function device with a display and a touch-sensitive surface according to some embodiments. The device 300 does not necessarily include a display and a touch-sensitive surface as described above, but in some embodiments, optionally communicates with displays and touch-sensitive surfaces on other devices. In addition, the device 300 does not have to be portable. In some embodiments, the device 300 is a laptop computer, a desktop computer, a tablet computer, a multimedia player device (such as a TV or a set-top box), a navigation device, an educational device (such as a children's learning toy), a game system, or a control device (for example, a home controller or an industrial controller). The device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, a memory 370, and one or more communication buses 320 for interconnecting these components. The communication bus 320 optionally includes a circuit system (sometimes called a chipset) that interconnects system components and controls communication between system components. The device 300 includes an input / output (I / O) interface 330 with a display 340, which is typically a touch screen display. I / O interface 330 also optionally includes a keyboard and / or mouse (or other pointing device) 350 and touchpad 355, a tactile output generator 357 for generating tactile output on device 300 (e.g., similar to the above referenced embodiments). Figure 1A The one or more tactile output generators 167 described above), sensors 359 (e.g., optical sensors, acceleration sensors, proximity sensors, touch sensors, and / or sensors similar to those described above) Figure 1A Memory 370 includes high-speed random access memory such as DRAM, SRAM, DDRpRAM, or other random access solid-state memory devices, and optionally includes non-volatile memory such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. Memory 370 optionally includes one or more storage devices located remotely from CPU 310. In some embodiments, memory 370 stores information related to portable or non-portable multifunction device 100 ( Figure 1A ) or a subset thereof. In addition, memory 370 optionally stores additional programs, modules, and data structures not present in memory 102 of portable or non-portable multifunction device 100. For example, memory 370 of device 300 optionally stores a drawing module 380, a presentation module 382, a word processing module 384, a website creation module 386, a disk editing module 388, and / or a spreadsheet module 390, while portable or non-portable multifunction device 100 ( Figure 1A )'s memory 102 optionally does not store these modules.
[0126] Figure 3 Each element in the above-mentioned identified element is optionally stored in one or more previously mentioned memory devices.Each module in the above-mentioned module corresponds to the instruction set for performing the above-mentioned functions.The above-mentioned identified module or program (that is, instruction set) need not be implemented as independent software program, process or module, and therefore the various subsets of these modules are optionally combined or otherwise rearranged in various embodiments.In some embodiments, memory 370 optionally stores the subset of above-mentioned modules and data structure.In addition, memory 370 optionally stores additional modules and data structure not described above.
[0127] Figure 4 A touch-sensitive surface 451 (eg, touch screen display 112) is shown having a touch-sensitive surface 451 (eg, touch screen display 112) that is separate from a display 450 (eg, touch screen display 112). Figure 3 tablet or touchpad 355) of the device (e.g., Figure 3 Device 300 also optionally includes one or more contact intensity sensors (e.g., one or more of sensors 357) for detecting intensity of contacts on touch-sensitive surface 451, and / or one or more tactile output generators 359 for generating tactile output for a user of device 300.
[0128] Although some of the examples that follow will be given with reference to input on a 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, such as Figure 4 In some embodiments, the touch-sensitive surface (e.g., Figure 4 451) has a main axis (e.g., Figure 4 453) corresponding to the main axis (for example, Figure 4 According to these embodiments, the device detects a position corresponding to a corresponding position on the display (e.g., Figure 4 , 460 corresponds to 468 and 462 corresponds to 470 ) at contact with touch-sensitive surface 451 (e.g., Figure 4 460 and 462 in FIG. 4 ). Thus, on a touch-sensitive surface (e.g., Figure 4 451) and the display of the multi-function device ( Figure 4 When the user interface 450 in FIG. 1 is separated, the user input detected by the device on the touch-sensitive surface (e.g., contacts 460 and 462 and their movement) is used by the device to manipulate the user interface on the display. It should be understood that similar methods are optionally used for other user interfaces described herein.
[0129] Additionally, while the examples below are primarily given with reference to finger inputs (e.g., finger contacts, single-finger tap gestures, finger swipe gestures), it should be understood that in some embodiments, one or more of these finger inputs are replaced by input from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture is optionally replaced by a mouse click (e.g., instead of contact) followed by movement of a cursor along the path of the swipe (e.g., instead of movement of the contact). For another example, a tap gesture is optionally replaced by a mouse click when the cursor is over the location of the tap gesture (e.g., instead of detection of contact followed by cessation of detecting contact). Similarly, when multiple user inputs are detected simultaneously, it should be understood that multiple computer mice are optionally used simultaneously, or one mouse and multiple finger contacts are optionally used simultaneously.
[0130] 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 that include a cursor or other position marker, the cursor acts as a "focus selector" such that when the cursor is over a particular user interface element (e.g., a button, window, slider, or other user interface element), the focus selector is displayed on a touch-sensitive surface (e.g., Figure 3 Touchpad 355 or Figure 4 In the event that an input (e.g., a press input) is detected on the touch-sensitive surface 451 in FIG, the particular user interface element is adjusted according to the detected input. In the case of a touch screen display (e.g., a touch screen display) that enables direct interaction with user interface elements on the touch screen display Figure 1A touch-sensitive display system 112 or Figure 2In some implementations of the touch screen 112 in FIG. 1 , a detected contact on the touch screen acts as a “focus selector” such that when input (e.g., a press input by the contact) is detected at the location of a particular user interface element (e.g., a button, window, slider, or other user interface element) on the touch screen display, the particular user interface element is adjusted according to the detected input. In some implementations, focus moves from one area of the user interface to another area of the user interface without corresponding movement of a cursor or movement of a contact on the touch screen display (e.g., by using a tab key or arrow keys to move focus from one button to another); in these implementations, the focus selector moves according to the movement of focus between different areas of the user interface. Regardless of the specific form the focus selector takes, the focus selector is typically a user interface element (or contact on the touch screen display) that is controlled by the user to convey the user's intended interaction with the user interface (e.g., by indicating to the device the element of the user interface with which the user intends to interact). For example, when a press input is detected on a touch-sensitive surface (e.g., a touchpad or touch screen), the position of a focus selector (e.g., a cursor, contact, or selection box) over a corresponding button will indicate that the user intends to activate the corresponding button (rather than other user interface elements shown on the device display).
[0131] In some embodiments described herein, one or more operations are performed in response to detecting a gesture that includes a corresponding press input or in response to detecting a corresponding press input performed using a corresponding contact (or multiple contacts), wherein the corresponding press input is detected at least in part based on detecting an increase in the intensity of the contact (or multiple contacts) to above a press input intensity threshold. In some embodiments, the corresponding operation is performed in response to detecting an increase in the intensity of the corresponding contact to above the press input intensity threshold (e.g., a "down stroke" of the corresponding press input). In some embodiments, the press input includes an increase in the intensity of the corresponding contact to above the press input intensity threshold and a subsequent decrease in the intensity of the contact to below the press input intensity threshold, and the corresponding operation is performed in response to detecting a subsequent decrease in the intensity of the corresponding contact to below the press input threshold (e.g., an "up stroke" of the corresponding press input).
[0132] In some embodiments, the device employs intensity hysteresis to avoid unintended input, sometimes referred to as "jitter," where the device defines or selects a hysteresis intensity threshold that has a predefined relationship to a press input intensity threshold (e.g., the hysteresis intensity threshold is X intensity units lower than the press input intensity threshold, or the hysteresis intensity threshold is 75%, 90%, or some reasonable proportion of the press input intensity threshold). Thus, in some embodiments, a press input includes an increase in the intensity of the corresponding contact to above the press input intensity threshold and a subsequent decrease in the intensity of the contact to below a hysteresis intensity threshold corresponding to the press input intensity threshold, and a corresponding operation is performed in response to detecting that the intensity of the corresponding contact subsequently decreases to below the hysteresis intensity threshold (e.g., an "up stroke" of the corresponding press input). Similarly, in some embodiments, a press input is detected only when the device detects that the intensity of the contact increases from an intensity equal to or less than a hysteresis intensity threshold to an intensity equal to or greater than a press input intensity threshold and, optionally, the intensity of the contact subsequently decreases to an intensity equal to or less than the hysteresis intensity, and a corresponding operation is performed in response to detecting the press input (e.g., an increase in the intensity of the contact or a decrease in the intensity of the contact, depending on the circumstances).
[0133] For ease of explanation, a description of an operation performed in response to a press input associated with a press input intensity threshold or in response to a gesture including a press input is optionally triggered in response to detecting any of the following: contact intensity increasing above the press input intensity threshold, contact intensity increasing from an intensity below a hysteresis intensity threshold to an intensity above the press input intensity threshold, contact intensity decreasing below the press input intensity threshold, and / or contact intensity decreasing below a hysteresis intensity threshold corresponding to the press input intensity threshold. Additionally, in instances where an operation is described as being performed in response to detecting a decrease in contact intensity below the press input intensity threshold, the operation is optionally performed in response to detecting a decrease in contact intensity below a hysteresis intensity threshold that corresponds to and is less than the press input intensity threshold.
[0134] Figure 5 A block diagram illustrating an exemplary architecture of a device 500 according to some embodiments of the present disclosure is shown. Figure 5 In the embodiment of the present invention, media content is optionally received by device 500 via network interface 502, which is optionally a wireless or wired connection. One or more processors 504 optionally execute any number of programs stored in memory 506 or a storage device, which optionally include instructions for performing one or more of the methods and / or processes described herein (e.g., methods 700, 900, 1100, 1300, and / or 1500).
[0135] In some embodiments, the display controller 508 causes the various user interfaces of the present disclosure to be displayed on the display 500. In addition, input to the device 500 is optionally provided by a remote control 510 through a remote interface 512, which is optionally a wireless or wired connection. Figure 5 The embodiments are not intended to limit the features of the apparatus of the present disclosure, and other components for facilitating other features described in the present disclosure are optionally also included. Figure 5 In some embodiments, the device 500 optionally corresponds to Figure 1A and 2 The multifunction device 100 and Figure 3 One or more of the devices 300 in; the network interface 502 optionally corresponds to Figure 1A and 2 RF circuit 108, external port 124 and peripheral device interface 118 in the Figure 3 One or more of the network communication interfaces 360 in; the processor 504 optionally corresponds to Figure 1A One or more processors 120 and Figure 3 One or more of the one or more CPUs 310 in; the display controller 508 optionally corresponds to Figure 1A The display controller 156 and Figure 3 One or more of the I / O interfaces 330 in; the memory 506 optionally corresponds to Figure 1A The memory 102 and Figure 3 One or more of the memories 370 in; the remote interface 512 optionally corresponds to Figure 1A The peripheral device interface 118 and the I / O subsystem 106 (and / or its components) in Figure 3 One or more of the I / O interfaces 330 in; the remote control 512 optionally corresponds to and / or includes Figure 1A The speaker 111, touch-sensitive display system 112, microphone 113, one or more optical sensors 164, one or more contact intensity sensors 165, one or more tactile output generators 167, other input control devices 116, one or more accelerometers 168, proximity sensor 166 and I / O subsystem 106 and Figure 3 The keyboard / mouse 350, touchpad 355, one or more tactile output generators 357 and one or more contact intensity sensors 359 in Figure 4 One or more of the touch-sensitive surfaces 451 in; and the display 514 optionally corresponds to Figure 1A and 2 The touch-sensitive display system 112 and Figure 3 One or more of the displays 340 in .
[0136] User interface and associated processes
[0137] Content UI
[0138] Many electronic devices provide user interfaces for viewing and selecting content. It would be desirable to provide an intuitive way to display and navigate content items in a queue of upcoming items and a history of recently played items (e.g., songs from an album, a playlist, or an internet radio station). The embodiments described below provide a fast, efficient, and convenient way for users to navigate and select various content items for use.
[0139] Figures 6A-6Y The user interfaces in these figures are used to illustrate the processes described below, including the following references to Figures 7A-7E Describe the process.
[0140] Figure 6A An exemplary content user interface of electronic device 500 is shown, presented on a display (e.g., display 514 of device 500). The content user interface includes a plurality of content items 602-1, 602-2, 602-3, 602-4, and 602-5, each corresponding to a song. The content items shown in the figure may each include an image associated with the content item (e.g., Figure 6N ). The content user interface also includes a "History" title 604-1, a "Now Playing" title 604-2, and a "Next" title 604-3. The "History" title 604-1 is associated with multiple content items in the history of a content item (e.g., content items 602-1 and 602-2), and the "History" title is displayed adjacent to the most recently played content item in the history (content item 602-2). The "Now Playing" title 604-2 is displayed adjacent to the currently playing content item 602-3. The "Next" title 604-3 is associated with a queue of content items (e.g., content items 602-4 and 602-5), and the "Next" title is displayed adjacent to content item 602-4 (the next content item in the content item queue). Content item 602-3 is highlighted, as indicated by a selection indicator 606. Information 608 and options 610 related to content item 602-3 are displayed in an area adjacent to content item 602-3. In some embodiments, some or all of the information and / or options are displayed only adjacent to a selected content item, and in some embodiments, limited information (e.g., artist and song title) is displayed for unselected content items, such as Figure 6A As shown in .
[0141] Figures 6A-6DAn example is shown where, upon scrolling through a plurality of content items, each of the titles 604-1, 604-2, and 604-3 scrolls along with its associated content items 602-2, 602-3, and 602-4, respectively. Figures 6C-6E 5. As the user interface scrolls through the history of recently played content items, a "History" title 604-1 remains fixed on the right edge of the display 514 once the currently playing content item 602-3 and content items 602-4 and 602-5 in the content item queue scroll off the screen. Figures 6F-6I An example is shown in which, as the user interface scrolls through a queue of upcoming content items, once the currently playing content item 602-3 and content items 602-1 and 602-2 in the content item history scroll off the screen, an "Up Next" title 604-3 remains fixed on the left edge of the display 514. After scrolling away from the currently playing content item, the user interface may jump back to the currently playing content item 602-3 (e.g., corresponding to a swipe gesture or a period of inactivity), as shown in FIG. Figure 6J As shown in .
[0142] In some embodiments, the "Now Playing" title 604-2 and the currently playing content item 602-3 remain on the screen during scrolling. For example, when scrolling through a queue of upcoming content items, the title 604-2 and content item 602-3 optionally remain fixed on the left edge of the display 514 while the content items in the queue of upcoming content items scroll behind the content item 602-3. Similarly, when scrolling through a history of content items, the title 604-2 and content item 602-3 optionally remain fixed on the right edge of the display 514 while the content items in the history scroll behind the content item 602-3.
[0143] Figures 6K-6M 4. Playback is shown advancing from content item 602-3 to content item 602-4 (e.g., in response to content item 602-3 reaching the end of its playback or user input skipping content item 602-3). As the plurality of content items 602-1, 602-2, 602-3, 602-4, and 602-5 scroll, the titles 604-1, 604-2, and 604-3 remain fixed such that content item 602-3, which is no longer playing, is positioned below the "History" title 604-1, and newly played content item 602-4 is positioned below the "Now Playing" title 604-2, as shown in FIG. Figure 6M As shown in . Figure 6N A background image 622 based on the album art 620 associated with the currently playing content item 602 - 4 is shown.
[0144] Figures 6O-6S A user interface for moving content items in a queue of content items is shown. Figure 6OIn FIG. 6 , an input is received by selecting menu item 624 for moving content item 602-4 in the queue. In response to the input, a plurality of content items 602-5, 602-6, 602-7, 602-8, and 602-9 are moved to the queue. Figure 6P-6R When the updated user interface is presented, the content items 602-5 and 602-6 ( Figure 6Q ), then between content items 602-6 and 602-7 (in Figure 6R Move content item 602-4 between (in) to receive input. Return Figure 6S The main user interface in , shows the new order of the content item queue, with content item 602 - 4 displayed between content items 602 - 6 and 602 - 7 .
[0145] Figure 6T 1 and 2, and includes multiple content items 602-1 and 602-2 in the history, and only one content item 602-4 in the queue. Figure 6U An on-demand user interface is shown, including a single content item 602-2 in the history and multiple content items 602-4 and 602-5 in the queue. Authorization restrictions of the Internet radio service, for example, may optionally prohibit the display of more than one or two items in the "next" queue, and the user interface may optionally vary accordingly, such as Figure 6T and 6U As shown in .
[0146] Figure 6V 6. Selection of menu item 626 for playing associated content item 602-3 is shown. In response to the selection, playback of content item 602-3 begins, and an additional user interface presents an enlarged view of content item 602-3, as shown in FIG. Figure 6W As shown in . Figure 6W The additional user interface includes the currently playing content item 602-3, which is displayed larger than the other content items 602-2, 602-4 and 602-5. The user interface also includes additional information 628, including artist, song title, album title and play time information.
[0147] Figure 6X An additional user interface of content items from the internet radio station is shown, including the currently playing content item 602-3 and content items in history 602-1 and 602-2, with no content items in the upcoming queue. Figure 6Y An additional user interface is shown for content items from a playlist including only items from a single album, and therefore only one image associated with content item 602 - 3 is displayed to reduce redundancy and clutter in the user interface.
[0148] Figures 7A-7Eis a flowchart illustrating a method for a content user interface according to some embodiments of the present disclosure. The method is optionally described in the above reference Figure 1A -B and 2-5 are executed at the electronic device (for example, the electronic device 100, 300 or 500, etc.) Some operations in the method 700 are optionally combined, and / or the order of some operations is optionally changed.
[0149] As described below, method 700 provides a method by which a device can display a content user interface. This method reduces the cognitive burden on a user when interacting with the user interface on a device by providing an intuitive user interface for selecting content items, thereby creating a more efficient human-computer interface. For battery-powered electronic devices, increasing the efficiency of user interaction with the user interface saves power and increases the time between battery charges.
[0150] In some embodiments, an electronic device 500 having memory and one or more processors generates (702) a user interface for presentation on a display (e.g., a remote display device or a display integrated into the electronic device), the user interface including a plurality of content items (e.g., album art associated with individual songs and / or albums or playlists, such as Figure 6A Content items 602-1, 602-2, 602-3, 602-4, and 602-5 in the first title (e.g. Figure 6A ), and a second title (e.g. Figure 6A The "next song" title 604-3).
[0151] When the user interface is presented on the display, the electronic device receives (720) an input to scroll the plurality of content items (e.g., a swipe, a tap, a button press, etc.). In response to the input, the electronic device scrolls (722) the plurality of content items including: scrolling (724) a first title and a first content item currently playing in the plurality of content items; and scrolling (726) a second title and a second content item in the plurality of content items, the second content item being the next item in the queue of content items (e.g., the second content item will be played immediately after the first content item currently playing). For example, the first content item optionally remains below the first title during scrolling, and the second content item optionally remains below the second title during scrolling, as shown in FIG. Figures 6A-6D 6F and titles 604-1, 604-2, and 604-3 and corresponding content items 602-2, 602-3, and 602-4.
[0152] In some embodiments, scrolling the plurality of content items further includes scrolling (728) the first title and the first content item off-screen (e.g., Figures 6F-6G2 and content item 602-3 in FIG). When the second title is fixedly presented (730) on the display, the electronic device optionally scrolls (732) the second content item off the screen and optionally scrolls (734) a plurality of additional content items onto the screen, the additional content items being forthcoming in the content item queue (e.g., the additional content items will be played immediately after the second content item). For example, Figures 6F-6I , content item 602 - 4 has scrolled off the screen, while title 604 - 3 remains fixedly presented on the left edge of display 514 .
[0153] In some embodiments, when the user interface is presented on the display and the first content item is off-screen, the electronic device optionally receives (746) a swipe gesture having a first characteristic (e.g., finger speed, duration, etc.). Based on determining that the first characteristic of the swipe gesture exceeds a predetermined threshold, the electronic device optionally scrolls (748) the plurality of content items so that the first content item is presented on the display (e.g., the content item quickly returns to the currently playing content item). For example, the user interface optionally quickly returns to the currently playing content item 602-3, as shown in FIG. Figure 6J Based on determining that the first characteristic of the swipe gesture does not exceed a predetermined threshold, the electronic device optionally scrolls (750) through the plurality of content items by an amount (e.g., a plurality of content items or a distance on the display) based on the first characteristic.
[0154] In some embodiments, when the user interface is presented on the display and the first content item is off-screen, the electronic device optionally determines (752) a time period during which no input is received. Based on determining that the time period exceeds a predetermined threshold, the electronic device optionally scrolls (754) the plurality of content items so that the first content item is presented on the display (e.g., the content items quickly return to the currently playing content item so that if the user explores the next piece of content and then leaves the display, the currently playing content will be displayed when the user returns to the display). For example, the user interface optionally quickly returns to the currently playing content item 602-3, as shown in FIG. Figure 6J As shown in .
[0155] In some embodiments, the user interface further includes (704) a third title (e.g., a "History" title 604-1), which is displayed simultaneously with the first title (e.g., a "Now Playing" title 604-2) and the second title (e.g., "Next" 604-3) before receiving the input. Scrolling the plurality of content items optionally further includes scrolling (736) the third title with a third content item from the plurality of content items (e.g., the second content item is played before the first content item is played), the third content item being the most recently played item in the content item history, and scrolling (738) the first title and the first content item off the screen. When the third title is fixedly presented (740) on the display, the electronic device optionally scrolls (742) the third content item off the screen and optionally scrolls (744) a plurality of additional content items from the content item history onto the screen (e.g., the additional content items will be played before the third content item). For example, in Figures 6A-6E , content item 602 - 2 has scrolled off the screen, while title 604 - 1 remains fixedly presented on the right edge of display 514 .
[0156] In some embodiments, when the user interface is presented on the display, the electronic device optionally receives (756) an input selecting a corresponding content item from the plurality of content items. In response to the input selecting the corresponding content item, the electronic device optionally plays (758) the corresponding content item and optionally magnifies an image associated with the corresponding content item. For example, Figure 6V Selection of menu item 626 for playing associated content item 602-3 is shown. Figure 6W An additional user interface is shown in , including an enlarged view of content item 602 - 3 .
[0157] In some embodiments, while the user interface is presented on the display, the electronic device optionally receives (760) an input requesting to move a corresponding content item of a queue of content items (e.g., to move an item in a "next" queue). In response to the input requesting to move the corresponding content item, the electronic device optionally updates (762) the user interface by presenting the plurality of content items smaller in the updated user interface (e.g., in the Figures 6O-6P , zooming out on content items 602-4, 602-5, 602-6, 602-7, 602-8, and 602-9; hiding the "now playing" content item 602-3; presenting only a "next" queue of content items, etc.). When the updated user interface is presented on the display, the electronic device optionally moves (764) the corresponding content item in the queue of content items in response to the input (e.g., Figure 6P-6R In response to a left or right swipe or button press, the corresponding content item is moved left or right in the queue 602-4).
[0158] In some embodiments, when the user interface is presented on the display, the electronic device optionally receives (766) a request to present an additional user interface, the additional user interface being associated with the first content item currently being played. In response to the request, the electronic device optionally generates (768) an additional user interface for presentation on the display, the additional user interface including a first image associated with the first content item (e.g., Figure 6W -6 (e.g., the album art for the first content item is displayed larger in the now playing interface than in the queue interface). In some embodiments, the now playing interface includes information about the currently playing content item that is not included in the queue interface (e.g., the now playing interface optionally includes the current play time and the total duration of the currently playing content item, such as Figure 6W-6Y ).
[0159] In some embodiments, the first content item and the second content item are both associated with the same album (770), and the first image is associated with the same album (e.g., when all songs in the queue are from the same album, that album cover is displayed and no other album covers are displayed, such as Figure 6Y In some embodiments, the first content item is optionally associated with a first album (772), the second content item is optionally associated with a second album (different from the first album), and the additional user interface optionally further includes a second image associated with the second content item (e.g., when the playlist includes content items from multiple albums, the now playing interface optionally includes one or more images showing album art for upcoming songs and / or historical songs, such as Figure 6W ).
[0160] In some embodiments, the plurality of content items further includes (774) a third content item that was most recently played in a history of content items played by the internet radio station (e.g., the songs in a playlist are streamed over the internet or other network, where the precise order and content of the playlist are not selected by the user of the electronic device, but rather by an intelligent algorithm or a remote user such as a disc jockey (DJ)), and the additional user interface optionally also includes a third image associated with the third content item (e.g., when the content item comes from the internet radio station / playlist, the now playing interface optionally includes one or more images showing album art for the songs in the history). In some embodiments, the now playing interface of the internet radio station optionally does not include upcoming songs due to contractual obligations (e.g., Figure 6X ), although some embodiments include upcoming songs on the internet radio station. In some embodiments, the now playing interface of the internet radio station optionally includes a purchase price for the currently playing content item.
[0161] In some embodiments, the user interface further includes (706) a background image based on the album cover associated with the currently playing first content item (e.g., the album cover is optionally enlarged so that part of the album cover is not visible on the screen, as in Figure 6N 622 in the background image, and / or some or all of the album art is optionally blurred or otherwise visually distorted, etc.). This provides a subtle clue to the current audio being played and optionally changes when the playing audio changes. In some embodiments, when playback advances to a second content item, the album art in the background image is optionally changed to the album art associated with the second content item. In some embodiments, the album art is used as the background even when the content item is scrolled, so that the first content item is no longer displayed in the user interface.
[0162] In some embodiments, the electronic device advances (776) playback so that the second content item is currently playing and the first content item is no longer currently playing, and while the first title and the second title are fixedly presented on the display, the electronic device optionally scrolls (778) the first content item and the second content item so that the currently playing second content item is located below the first title (and optionally changes the background image that includes album art associated with the first content item to album art associated with the second content item). Thus, in some embodiments, when the currently playing first song ends and the second song (after the first song) begins playing, the content items switch with the titles remaining in place (e.g., because the first song is no longer the currently playing song, it is moved to the history section, and the next song is now the currently playing song and is deleted from the next section). For example, Figures 6K-6M Playback is shown advancing from content item 602-3 to content item 602-4, with the two content items scrolling while titles 604-1, 604-2, and 604-3 remain fixed.
[0163] In some embodiments, upon determining that the plurality of content items are on-demand content items, the user interface is optionally (708) an on-demand user interface (e.g., the user of the device has requested to play content from the user's media library, such as a media database including locally stored content). Upon determining that the plurality of content items are streaming content items, the user interface is optionally (710) a streaming user interface that is different from the on-demand user interface (e.g., the user of the device has requested to play streaming audio, such as from a subscription music service such as internet radio or on-demand streaming audio).
[0164] In some embodiments, presenting the on-demand user interface on the display includes presenting (712) a first number of content items in the content item queue, and presenting the streaming user interface on the display optionally includes (714) presenting a second number of content items in the content item queue, the second number being less than the first number. For example, licensing restrictions of an internet radio service optionally prohibit displaying more than one or two items in the "next" queue, and the user interface optionally differs accordingly. Figure 6T A streaming user interface is shown, including a single content item 602-4 in a "next" queue, and Figure 6U An on-demand user interface is shown with a plurality of content items 602 - 4 and 602 - 5 in a queue.
[0165] In some embodiments, presenting the on-demand user interface on the display includes presenting (716) only a single content item in the content item history (optionally presenting more content items in the history in response to scrolling), and presenting the streaming user interface on the display optionally includes presenting (718) multiple content items in the content item history. For example, licensing restrictions of an internet radio service optionally prohibit displaying more than one or two items in an "up next" queue, so the internet radio user interface can display more content in the history. Figure 6T A streaming user interface including a plurality of content items 602-1 and 602-2 in history is shown, and Figure 6U An on-demand user interface is shown with only a single content item 602-2 in history (eg, for on-demand audio streaming, the upcoming tracks are all known, whereas for an internet radio user interface, typically only one or two upcoming tracks are known).
[0166] The operations in the above information processing method are optionally implemented by running one or more functional modules in an information processing device, such as a general-purpose processor (for example, as described above with respect to Figure 1A and Figure 3 described) or application-specific chips.
[0167] References Figures 7A-7E The operation is optionally performed by Figures 1A-1B, and the like. For example, the generating operation 702, receiving operation 720, scrolling operation 722, scrolling operation 724, and scrolling operation 726 are optionally implemented by the event classifier 170, the event recognizer 180, and the event handler 190. The event monitor 171 in the event classifier 170 detects contact on the touch-sensitive display 112, and the event distributor module 174 delivers the event information to the application 136-1. The corresponding event recognizer 180 of the application 136-1 compares the event information with the corresponding event definition 186 and determines whether the first contact at the first position on the touch-sensitive surface corresponds to a predefined event or sub-event, such as selecting an object on the user interface. When the corresponding predefined event or sub-event is detected, the event recognizer 180 activates the event handler 190 associated with the detection of the event or sub-event. The event handler 190 optionally utilizes or calls the data updater 176 or the object updater 177 to update the application internal state 192. In some embodiments, the event handler 190 accesses the corresponding GUI updater 178 to update the content displayed by the application. Similarly, those skilled in the art will clearly understand that based on the Figures 1A-1B How the components shown in FIG can implement other processes.
[0168] It should be understood that Figures 7A-7E The specific order in which the operations are described in the description is merely exemplary and is not intended to represent that the order is the only order in which the operations may be performed. A person of ordinary skill in the art will recognize many ways to reorder the operations described herein. In addition, it should be noted that the details of other processes described herein with reference to other methods described herein (e.g., method 900) also apply in a similar manner to the above referenced methods. Figures 7A-7E Method 700 is described. For example, the user interfaces, user interface objects, queues, histories, titles, regions, album covers, content items, information, menu items, and electronic devices described above with reference to method 700 may optionally have one or more of the features of the user interfaces, user interface objects, queues, histories, titles, regions, album covers, content items, information, menu items, and electronic devices described herein with reference to other methods described herein (e.g., method 900). For the sake of brevity, these details are not repeated here.
[0169] Simplified content UI
[0170] Many electronic devices provide confusing and unintuitive user interfaces for viewing and selecting content. It is desirable to provide an intuitive way to clearly and simply display and navigate content items in a queue of upcoming items and a history of recently played items (e.g., songs in an album, a playlist, or an internet radio station). The embodiments described below provide a fast, efficient, and convenient way for users to navigate and select various content items for use by hiding information and menu items for unselected content items.
[0171] Figures 8A-8L The user interfaces in these figures are used to illustrate the processes described below, including the following references to Figures 9A-9E Describe the process.
[0172] Figure 8A An exemplary simplified content user interface of electronic device 500 is shown presented on a display (e.g., display 514 of device 500). The simplified content user interface includes user interface objects 802-1, 802-2, 802-3, 802-4, and 802-5, each corresponding to a content item (e.g., a song, a movie, etc.). User interface object 802-2 is displayed adjacent to associated area 806-1, user interface object 802-3 is displayed adjacent to associated area 806-2, and user interface object 802-5 is displayed adjacent to associated area 806-3. When a user interface object is selected, information associated with the user interface object is displayed in the associated area.
[0173] For example, in Figure 8A The user interface object 802-3 is selected in the , and information 808 associated with the user interface object 802-3 is displayed in the associated area 806-2. Figure 8B , user interface object 802-2 is selected, information 810 associated with the selected user interface object 802-2 is displayed in the associated area 806-1, and information 808 is no longer displayed in area 806-2. Figure 8C , the user interface object 802-5 is selected, information 812 associated with the selected user interface object 802-5 is displayed in the associated area 806-3, and the information 810 is no longer displayed in the area 806-1. Figure 8D , user interface object 802-7 is selected, information 814 associated with the selected user interface object 802-7 is displayed in the associated region 806-4, and information 812 is no longer displayed in region 806-3.
[0174] exist Figures 8A-8C, the information displayed when selecting a user interface object includes selectable menu items and non-selectable information associated with the user interface object. For example, non-selectable release dates 816, 820, and 824 are displayed for associated user interface objects 802-3, 802-2, and 802-5, respectively. In addition, selectable menu items "Pause" 818, "Add to Next" 822, and "Move" 826 are displayed for associated user interface objects 802-3, 802-2, and 802-5, respectively. In some embodiments, the selectable items are different based on specific user interface objects. For example, user interface object 802-3 is currently playing a content item, so when selecting menu item "Pause" 818, this menu item will be displayed. User interface object 802-2 is in the history of the most recently played content item, so when selecting menu item "Add to Next" 822, this menu item will be displayed, thereby allowing the user to play the song again. User interface object 802-5 is in a queue of upcoming content items, so when menu item "Move" 826 is selected, the menu item is displayed, allowing the user to move the song's position in the queue.
[0175] like Figures 8E-8H As shown in , selectable menu items include text that describes the action to be performed with respect to the selected content item. For example, in Figure 8E , the menu item "Play Now" 828 may be selected to play the content item associated with the selected user interface object 802-2 (e.g., Figure 8F ). Figure 8G , the menu item "Move" 830 may be selected to move the content item associated with the selected user interface object 802-5 in the content item queue (eg, Figure 8H ).
[0176] Figures 8I-8L Shows scrolling information associated with a user interface object. For example, Figure 8I and 8J The information 812 associated with the selected user interface object 802-5 is shown scrolling while the user interface object 802-7 remains fixed. Figure 8K and 8L Information 814 associated with selected user interface object 802-7 is shown scrolling while user interface object 802-5 remains stationary.
[0177] Figures 9A-9E 900 is a flowchart illustrating a method for simplifying a content user interface according to some embodiments. The method is optionally performed at an electronic device (e.g., electronic device 100, 300, or 500, etc.) as described above with reference to Figures 1-5. Some operations in method 900 are optionally combined, and / or the order of some operations is optionally changed.
[0178] As described below, method 900 provides a simplified content user interface. By providing an intuitive user interface for selecting content items, the method reduces the cognitive burden placed on the user when interacting with the user interface on the device, thereby creating a more efficient human-computer interface. For battery-powered electronic devices, increasing the efficiency of user interaction with the user interface saves power and increases the time between battery charges.
[0179] In some embodiments, an electronic device 500 having memory and one or more processors generates (902) a user interface for presentation on a display (e.g., a remote display device or a display integrated into the electronic device), the user interface comprising: a first user interface object (904) (e.g., cover art for an album, a poster for a movie, etc.) associated with a first area of the user interface adjacent to the first user interface object (e.g., below the first UI object in a first column); and a second user interface object (908) (e.g., cover art for an album, a poster for a movie, etc.) associated with a second area of the user interface adjacent to the second user interface object and different from the first area (e.g., below the second UI object in a second column different from the first column). For example, Figure 8A and 8B User interface object 802-3 is shown associated with adjacent region 806-2, and user interface object 802-2 is shown associated with adjacent region 806-1.
[0180] Upon selecting (920) the first user interface object, the electronic device causes (922) first information associated with the first user interface object (e.g., information describing content associated with the first UI object and menu items for performing operations with respect to the content) to be displayed in the first area, and detects (936) selection of a second user interface object. For example, Figure 8A Display information 808 in region 806 - 2 is shown when user interface object 802 - 3 is selected.
[0181] When the first information is displayed in the first area (938), in response to detecting selection of the second user interface object, the electronic device causes (940) display of the first information in the first area to end while maintaining display of the first user interface object, and causes (942) display of second information in the second area, the second information being associated with the second user interface object (e.g., information describing content associated with the second UI object and a menu item for performing an operation with reference to the content). For example, in Figure 8B , user interface object 802 - 2 is selected, information 810 associated with the selected user interface object 802 - 2 is displayed in the associated area 806 - 1 , and information 808 is no longer displayed in area 806 - 2 .
[0182] In some embodiments, the electronic device receives (952) input (e.g., a swipe, a tap, a button press, etc.) to scroll the first user interface object and the second user interface object, and in response to the input to scroll the first user interface object and the second user interface object, optionally scrolls (954) the first area along with the first user interface object and optionally scrolls the second area along with the second user interface object. For example, Figures 8A-8D Scrolling regions 806-1, 806-2, and 806-3 are shown along with user interface objects 802-2, 802-3, and 802-5, respectively.
[0183] In some embodiments, the first information includes (924) one or more selectable items, including a first menu item. Upon selecting the first user interface object, the electronic device optionally receives (930) a selection of the first selectable item (e.g., user input selecting the first menu item when the first menu item is highlighted). In response to the selection of the first menu item, the electronic device optionally presents (932) a first user interface response corresponding to the first selectable item (e.g., playing a content item associated with the first user interface object, displaying a user interface associated with the first menu item, etc.). For example, in Figure 8E , the menu item "Play Now" 828 may be selected to play the content item associated with the selected user interface object 802-2 (e.g., Figure 8F ).
[0184] In some embodiments, the second information includes (944) one or more menu items that include a second selectable item. Upon selecting the second user interface object, the electronic device optionally receives (956) a selection of the second selectable item (e.g., user input selecting the second selectable item when the second selectable item is highlighted). In response to the selection of the second selectable item, the electronic device optionally presents (958) a second user interface response corresponding to the second selectable item (e.g., playing a content item associated with the second user interface object, displaying a user interface associated with the second selectable item, etc.). For example, in Figure 8G , the menu item "Move" 830 may be selected to move the content item associated with the selected user interface object 802-5 in the content item queue (eg, Figure 8H ).
[0185] In some embodiments, one or more selectable items of the first information are different (946) from one or more selectable items of the second information (based on determining that the first user interface object belongs to a different group (e.g., "history") than the second user interface object (e.g., "now playing" or "next"). For example, Figure 8A In , the user interface object 802-3 is currently playing a content item, so when the menu item "Pause" 818 is selected, the menu item will be displayed. Figure 8BIn , the user interface object 802-2 is in the history of the most recently played content items, so when the menu item "Add to Next" 822 is selected, the menu item is displayed, allowing the user to play the song again. Figure 8C , user interface object 802-5 is in a queue of upcoming content items, so when menu item "Move" 826 is selected, the menu item is displayed, allowing the user to move the song's position in the queue. Simplifying the user interface by removing user interface elements that the user does not directly interact with can make it easier for the user to focus on those user interface elements and use the device more quickly and efficiently, thereby improving the user experience and reducing the amount of time spent using the device (and therefore reducing energy consumption), which is particularly useful for battery-powered devices.
[0186] In some embodiments, the first user interface object corresponds (906) to the first content item, the second user interface object optionally corresponds (910) to the second content item, the first user interface response is optionally associated (934) with the first content item, and the second user interface response is optionally associated (960) with the second content item. Figure 8E , the menu item "Play Now" 828 may be selected to play the content item associated with the selected user interface object 802-2 (e.g., Figure 8F ), and in Figure 8G , the menu item "Move" 830 may be selected to move the content item associated with the selected user interface object 802-5 in the content item queue (eg, Figure 8H ).
[0187] In some embodiments, the one or more optional items of the first information include (926) text describing an action to be performed with respect to the first content item (e.g., playing the content item, moving the content item in a queue, purchasing the content item, etc., such as Figure 8E 828 in the second content item), and the one or more optional items of the second information optionally include (948) text describing an operation to be performed with respect to the second content item (e.g., playing the content item, moving the content item in the queue, purchasing the content item, etc., such as Figure 8G 830 in the text).
[0188] In some embodiments, the first information also includes (928) text describing the first content item (e.g., song title, release date, purchase price, etc., such as Figure 8A 816 in the text), and the second information optionally also includes (950) text describing the second content item (e.g., song title, release date, purchase price, etc., such as Figure 8B Text 820 in).
[0189] In some embodiments, the electronic device receives (962) a scroll input (e.g., a swipe, a tap, a button press, etc.). In response to (964) receiving the scroll input: based on determining that the first user interface object has been selected, the electronic device optionally scrolls (966) the first information while the second user interface object remains fixed; and based on determining that the second user interface object has been selected, the electronic device optionally scrolls (968) the second information while the first user interface object remains fixed. For example, Figure 8I and 8J The information 812 associated with the selected user interface object 802-5 is shown scrolling while the user interface object 802-7 remains fixed. Figure 8K and 8L Information 814 associated with selected user interface object 802-7 is shown scrolling while user interface object 802-5 remains stationary.
[0190] In some embodiments, generating a user interface includes aligning (914) a first user interface object and a second user interface object along a first axis, positioning (916) a first region adjacent to the first user interface object along a second axis that is substantially perpendicular to (e.g., the first and second axes are within ten degrees of perpendicular) the first axis, and positioning a second region adjacent to a second associated user interface object along the second axis. Figure 8A , user interface objects 802-2 and 802-3 are aligned along a horizontal axis, region 806-1 is positioned adjacent to user interface object 802-2 along a vertical axis that is substantially perpendicular to the horizontal axis, and region 806-2 is positioned adjacent to user interface object 802-3 along the vertical axis.
[0191] In some embodiments, the first user interface object and the second user interface object are both (918) images having the same spatial dimensions (e.g., the first user interface object and the second user interface object have the same height and width, but are different images, such as different album covers). Figure 8A In FIG, user interface objects 802 - 2 and 802 - 3 are both album covers with the same height and width.
[0192] In some embodiments, the user interface includes (912) a third user interface object (e.g., cover art for an album, a poster for a movie, etc.) associated with a third area of the user interface, the third area being adjacent to the third user interface object and distinct from the first and second areas (e.g., below the third UI object in a third column distinct from the first and second columns). For example, user interface object 802-5 is associated with adjacent area 806-3, which is distinct from areas 806-1 and 806-2. When the second user interface object has been selected and second information associated with the second user interface object is displayed in the second area, the electronic device optionally detects (970) selection of the third user interface object. When the second information is displayed in the second area (972), in response to detecting selection of the third user interface object, the electronic device optionally causes (974) display of the second information in the second area to end while maintaining display of the second user interface object, and optionally causes (976) display of third information in the third area, the third information being associated with the third user interface object (e.g., information describing content associated with the third UI object and a menu item for performing operations with reference to the content). For example, in Figure 8C , user interface object 802-5 is selected, information 812 associated with the selected user interface object 802-5 is displayed in associated area 806-3, information 810 is no longer displayed in area 806-1, and information 808 is no longer displayed in area 806-2. In some embodiments, multiple additional user interface objects having corresponding areas are displayed in the user interface and share some characteristics of the first, second, and third user interface objects described above. In some embodiments, information corresponding to one of the selected user interface objects is displayed in the area corresponding to the selected user interface object, and information corresponding to unselected user interface objects is not displayed, thereby enabling the user to focus on the currently selected user interface object and options available for interacting with the currently selected user interface object.
[0193] The operations in the above information processing method are optionally implemented by running one or more functional modules in an information processing device, such as a general-purpose processor (for example, as described above with respect to Figure 1A and Figure 3 described) or application-specific chips.
[0194] References Figures 9A-9E The operation is optionally performed by Figures 1A-1B, which are implemented by the components shown in . For example, generating operation 902, causing operation 922, detecting operation 936, causing operation 940, and causing operation 942 are optionally implemented by event classifier 170, event identifier 180, and event handler 190. Event monitor 171 in event classifier 170 detects contact on touch-sensitive display 112, and event distributor module 174 delivers event information to application 136-1. The corresponding event identifier 180 of application 136-1 compares the event information with the corresponding event definition 186 and determines whether the first contact at the first position on the touch-sensitive surface corresponds to a predefined event or sub-event, such as selecting an object on the user interface. When the corresponding predefined event or sub-event is detected, event identifier 180 activates 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, the event handler 190 accesses the corresponding GUI updater 178 to update the content displayed by the application. Similarly, those skilled in the art will clearly understand that based on the Figures 1A-1B How the components shown in FIG can implement other processes.
[0195] It should be understood that Figures 9A-9E The specific order in which the operations are described in the description is merely exemplary and is not intended to represent that the order is the only order in which the operations may be performed. A person of ordinary skill in the art will recognize many ways to reorder the operations described herein. In addition, it should be noted that the details of other processes described herein with reference to other methods described herein (e.g., method 700) also apply in a similar manner to the above referenced methods. Figures 9A-9E Method 900 is described. For example, the user interfaces, user interface objects, queues, histories, titles, regions, album covers, content items, information, menu items, and electronic devices described above with reference to method 900 may optionally have one or more of the features of the user interfaces, user interface objects, queues, histories, titles, regions, album covers, content items, information, menu items, and electronic devices described herein with reference to other methods described herein (e.g., method 700). For the sake of brevity, these details are not repeated here.
[0196] According to some embodiments, Figure 10 1 shows a functional block diagram of an electronic device 1000 configured according to the principles of the various described embodiments. The functional blocks of the device are optionally implemented by hardware, software, or a combination of hardware and software that implements the principles of the various described embodiments. It should be understood by those skilled in the art that Figure 10The functional blocks described in the present invention are optionally combined or separated into sub-blocks to implement the principles of the various described embodiments. Therefore, the description herein optionally supports any possible combination or separation or further limitation of the functional blocks described herein.
[0197] like Figure 10 As shown in , the electronic device 1000 optionally includes a display unit 1002 configured to display a user interface including one or more user interface objects (e.g., content items, titles, etc.); an input unit 1004 (e.g., a touch-sensitive surface, keyboard, mouse, or other input unit) for receiving user input, selection, etc.; an audio unit 1008 for playing audio and / or sending audio to another device for audio playback; and a processing unit 1010 coupled to the display unit 1002 and the input unit 1004. In some embodiments, the processing unit 1010 optionally includes a display enabling unit 1012, a receiving unit 1014, a determining unit 1016, and an audio enabling unit 1018.
[0198] In some embodiments, processing unit 1010 is configured to generate (e.g., via display enabling unit 1012) a user interface for presentation on a display comprising a first title, a second title, and a plurality of content items. When the user interface is presented on the display, processing unit 1010 is configured to receive (e.g., via receiving unit 1014) input for scrolling the plurality of content items. In response to the input, processing unit 1010 is configured to scroll (e.g., via display enabling unit 1012) the plurality of content items including: scrolling (e.g., via display enabling unit 1012) the first title and a first content item currently being played among the plurality of content items; and scrolling (e.g., via display enabling unit 1012) the second title and a second content item among the plurality of content items, the second content item being the next item in the content item queue.
[0199] In some embodiments, scrolling multiple content items also includes: scrolling (e.g., via display enabling unit 1012) the first title and the first content item off the screen; and when the second title is fixedly presented on the display: scrolling (e.g., via display enabling unit 1012) the second content item off the screen; and scrolling (e.g., via display enabling unit 1012) multiple additional content items onto the screen, these additional content items being upcoming in the content item queue.
[0200] In some embodiments, processing unit 1010 is further configured to, when the user interface is presented on the display and the first content item is off-screen, receive (e.g., via receiving unit 1014) a swipe gesture having a first characteristic. Based on determining that the first characteristic of the swipe gesture exceeds a predetermined threshold, processing unit 1010 is further configured to scroll (e.g., via display enabling unit 1012) through the plurality of content items so that the first content item is presented on the display, and based on determining that the first characteristic of the swipe gesture does not exceed the predetermined threshold, processing unit 1010 is further configured to scroll (e.g., via display enabling unit 1012) through the plurality of content items based on an amount of the first characteristic.
[0201] In some embodiments, processing unit 1010 is further configured to, when the user interface is presented on the display and the first content item is off-screen, determine (e.g., via determining unit 1016) a time period during which no input was received. Based on determining that the time period exceeds a predetermined threshold, processing unit 1010 is further configured to scroll (e.g., via display enabling unit 1012) the plurality of content items so that the first content item is presented on the display.
[0202] In some embodiments, the user interface further includes a third title that is displayed concurrently with the first title and the second title before receiving the input (e.g., by display enabling unit 1012), and scrolling the multiple content items further includes: scrolling (e.g., by display enabling unit 1012) the third title and a third content item of the multiple content items, the third content item being the most recently played item in the content item history; scrolling (e.g., by display enabling unit 1012) the first title and the first content item off the screen; and when the third title is fixedly presented on the display: scrolling (e.g., by display enabling unit 1012) the third content item off the screen; and scrolling (e.g., by display enabling unit 1012) multiple additional content items in the content item history onto the screen.
[0203] In some embodiments, the processing unit 1010 is further configured to, when the user interface is presented on the display, receive (e.g., via the receiving unit 1014) an input selecting a corresponding content item from the plurality of content items. In response to the input selecting the corresponding content item, the processing unit 1010 is further configured to play (e.g., via the audio enabling unit 1018) the corresponding content item and amplify (e.g., via the display enabling unit 1012) an image associated with the corresponding content item.
[0204] In some embodiments, processing unit 1010 is further configured to, when the user interface is presented on the display, receive (e.g., via receiving unit 1014) an input requesting the movement of a corresponding content item in the content item queue. In response to the input requesting the movement of the corresponding content item, processing unit 1010 is further configured to update (e.g., via display enabling unit 1012) the user interface by presenting the plurality of content items in a smaller size in the updated user interface. When the updated user interface is presented on the display, processing unit 1010 is further configured to move (e.g., via display enabling unit 1012) the corresponding content item in the content item queue in response to the input.
[0205] In some embodiments, processing unit 1010 is further configured to receive (e.g., via receiving unit 1014) a request to present an additional user interface associated with the currently playing first content item when the user interface is presented on the display. In response to the request, processing unit 1010 is further configured to generate (e.g., via display enabling unit 1012) an additional user interface for presentation on the display that includes a first image associated with the first content item. In some embodiments, the first content item and the second content item are both associated with the same album, and the first image is associated with the same album. In some embodiments, the first content item is associated with the first album, the second content item is associated with the second album, and the additional user interface also includes a second image associated with the second content item. In some embodiments, the plurality of content items also includes a third content item that was most recently played in the history of content items played by the internet radio station, and the additional user interface also includes a third image associated with the third content item. In some embodiments, the user interface also includes a background image based on the album cover associated with the currently playing first content item.
[0206] In some embodiments, the processing unit 1010 is further configured to advance (e.g., via the audio enabling unit 1018) playback so that the second content item is currently playing and the first content item is no longer currently playing. When the first title and the second title are fixedly presented on the display, the processing unit 1010 is further configured to scroll (e.g., via the display enabling unit 1012) the first content item and the second content item so that the currently playing second content item is located below the first title.
[0207] In some embodiments, based on determining that the plurality of content items are on-demand content items, the user interface is an on-demand user interface; and based on determining that the plurality of content items are streaming content items, the user interface is a streaming user interface that is different from the on-demand user interface. In some embodiments, presenting the on-demand user interface on the display includes presenting (e.g., via display enabling unit 1012) a first number of content items in a content item queue, and presenting the streaming user interface on the display includes presenting (e.g., via display enabling unit 1012) a second number of content items in the content item queue, the second number being less than the first number. In some embodiments, presenting the on-demand user interface on the display includes presenting (e.g., via display enabling unit 1012) only a single content item in a content item history, and presenting the streaming user interface on the display includes presenting (e.g., via display enabling unit 1012) multiple content items in the content item history.
[0208] According to some embodiments, Figure 11 1 shows a functional block diagram of an electronic device 1100 configured according to the principles of the various described embodiments. The functional blocks of the device are optionally implemented by hardware, software, or a combination of hardware and software that implements the principles of the various described embodiments. It should be understood by those skilled in the art that Figure 11 The functional blocks described in the present invention are optionally combined or separated into sub-blocks to implement the principles of the various described embodiments. Therefore, the description herein optionally supports any possible combination or separation or further limitation of the functional blocks described herein.
[0209] like Figure 11 As shown in , the electronic device 1100 optionally includes a display unit 1102 configured to display a user interface including one or more user interface objects (e.g., content items, titles, etc.); an input unit 1104 (e.g., a touch-sensitive surface, keyboard, mouse, or other input unit) for receiving user input, selection, etc.; an audio unit 1108 for playing audio and / or sending audio to another device for audio playback; and a processing unit 1110 coupled to the display unit 1102 and the input unit 1104. In some embodiments, the processing unit 1110 optionally includes a display enabling unit 1112, a receiving unit 1114, a detecting unit 1116, and an audio enabling unit 1118.
[0210] In some embodiments, the processing unit 1110 is configured to generate (e.g., via the display enabling unit 1112) a user interface for presentation on a display, the user interface comprising: a first user interface object associated with a first area of the user interface adjacent to the first user interface object; and a second user interface object associated with a second area of the user interface adjacent to the second user interface object and different from the first area. Upon selecting the first user interface object, the processing unit 1110 is configured to cause first information associated with the first user interface object to be displayed in the first area (e.g., via the display enabling unit 1112) and to detect selection of the second user interface object (e.g., via the detection unit 1116). When the first information is displayed in the first area, in response to detecting selection of the second user interface object, the processing unit 1110 is configured to cause display of the first information in the first area (e.g., via the display enabling unit 1112) to end, while maintaining display of the first user interface object, and cause display of the second information associated with the second user interface object in the second area (e.g., via the display enabling unit 1112).
[0211] In some embodiments, processing unit 1110 is further configured to receive input to scroll the first user interface object and the second user interface object (e.g., via receiving unit 1114), and in response to the input to scroll the first user interface object and the second user interface object, scroll the first area together with the first user interface object (e.g., via display enabling unit 1112), and scroll the second area together with the second user interface object (e.g., via display enabling unit 1112).
[0212] In some embodiments, the first information includes one or more selectable items, including a first menu item. Processing unit 1110 is further configured to, upon selecting the first user interface object, receive a selection of the first selectable item (e.g., via receiving unit 1114), and in response to the selection of the first menu item, present (e.g., via display enabling unit 1112) a first user interface response corresponding to the first selectable item.
[0213] In some embodiments, the second information includes one or more menu items including a second selectable item. Processing unit 1110 is further configured to, upon selecting the second user interface object, receive a selection of the second selectable item (e.g., via receiving unit 1114), and in response to the selection of the second selectable item, present (e.g., via display enabling unit 1112) a second user interface response corresponding to the second selectable item.
[0214] In some embodiments, one or more optional items of the first information are different from one or more optional items of the second information. In some embodiments, the first user interface object corresponds to the first content item, the second user interface object corresponds to the second content item, the first user interface response is associated with the first content item, and the second user interface response is associated with the second content item. In some embodiments, one or more optional items of the first information include text describing an operation to be performed with respect to the first content item, and one or more optional items of the second information include text describing an operation to be performed with respect to the second content item. In some embodiments, the first information also includes text describing the first content item, and the second information also includes text describing the second content item.
[0215] In some embodiments, processing unit 1110 is further configured to receive scroll input (e.g., via receiving unit 1114). In response to receiving the scroll input, processing unit 1110 is further configured to, based on determining that the first user interface has been selected, scroll (e.g., via display enabling unit 1112) the first information while the second user interface object remains stationary, and based on determining that the second user interface has been selected, scroll (e.g., via display enabling unit 1112) the second information while the first user interface object remains stationary.
[0216] In some embodiments, processing unit 1110 is further configured to align (e.g., via display enabling unit 1112) the first user interface object and the second user interface object along a first axis, and to position (e.g., via display enabling unit 1112) a first region adjacent to the first user interface object along a second axis that is substantially perpendicular to the first axis, and to position (e.g., via display enabling unit 1112) a second region adjacent to a second associated user interface object along the second axis. In some embodiments, the first user interface object and the second user interface object are both images having the same spatial dimensions.
[0217] In some embodiments, the user interface includes a third user interface object associated with a third area of the user interface, the third area being adjacent to the third user interface object and distinct from the first area and the second area. When the second user interface object is selected and second information associated with the second user interface object is displayed in the second area, the processing unit 1110 is further configured to detect selection of the third user interface object (e.g., via the detection unit 1116). When the second information is displayed in the second area, in response to detecting selection of the third user interface object, the processing unit 1110 is further configured to cause display of the second information in the second area to end (e.g., via the display enabling unit 1112), while maintaining display of the second user interface object, and cause display of the third information associated with the third user interface object in the third area (e.g., via the display enabling unit 1112).
[0218] For purposes of explanation, the foregoing description has been described with reference to specific embodiments. However, the exemplary discussion above is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Many modifications and variations are possible in light of the above teachings. The embodiments have been chosen and described in order to best illustrate the principles of the invention and its practical application so as to enable others skilled in the art to best utilize the invention and the various described embodiments with various modifications suitable for the specific purposes contemplated.
Claims
1. A method comprising: At an electronic device in communication with a display device and one or more input devices: while a first content item is played on the electronic device, displaying, via the display device, a first portion of a plurality of representations of content items available for playback on the electronic device, wherein the first portion does not include a representation of the first content item, a second portion of the plurality of representations of the content items includes a representation of the first content item, the second portion is not currently being displayed by the display device, and a first corresponding representation of the first portion of the plurality of representations is currently selected; while displaying a first portion of a representation of a plurality of content items available for playback on the electronic device, determining that a time period during which no input was received exceeds a time threshold; and In response to determining that the time period of no input received exceeds a time threshold, scrolling the plurality of representations of content items to expose a second portion of the plurality of representations of content items via the display device, the second portion including the representation of the first content item.
2. The method of claim 1, further comprising: Prior to determining that the time period during which no input was received exceeds the time threshold: receiving an input via the one or more input devices while the first content item is played on the electronic device and while a second portion of the plurality of representations of the content item is displayed via the display device, wherein a second respective representation of the second portion of the plurality of representations is currently selected; and In response to receiving the input: Based on determining that the input corresponds to a request to move a current selection from the second corresponding representation to a first corresponding representation of a content item available for playback on the electronic device, wherein the first corresponding representation is included in a first portion of the plurality of representations, moving the current selection from the second corresponding representation to the first corresponding representation comprises: ceasing to display at least a portion of a second portion of the plurality of representations; and At least a portion of the plurality of representations including a first portion of the first respective representation is exposed via the display device. 3 . The method of claim 2 , wherein the at least a portion of the second portion of the plurality of representations comprises a representation of the first content item. The method of claim 2 , wherein the second corresponding representation is a representation of the first content item. 5 . The method of claim 1 , wherein scrolling the plurality of representations of the content item to expose a second portion of the representations of the content item via the display device comprises ceasing to display a first portion of the plurality of representations of the content item. The method of claim 1 , wherein the plurality of representations of the content item are selectable to initiate playback of the corresponding content item.
7. A non-transitory computer-readable storage medium comprising instructions that, when executed by one or more processors of an electronic device in communication with a display device and one or more input devices, cause the electronic device to perform the method of any one of claims 1-6.
8. An electronic device comprising: one or more processors; and A memory storing instructions, which, when executed by the one or more processors, cause the electronic device to perform the method according to any one of claims 1-6.
Citation Information
Patent Citations
Music now playing user interface
CN110931052A
Navigating in graphical user interface on handheld devices
CN102150160A
Method and apparatus for navigating a hierarchical menu based user interface
CN102707866A