User interface for podcast browsing and playback applications
By integrating touch-sensitive displays and contact intensity sensors on electronic devices, the user interface is optimized, the problem of improper privacy data management in user interaction is solved, and an efficient and secure user interaction experience is achieved.
Patent Information
- Application Number
- CN202510684560.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2019-05-31
- Filing Date
- 2020-05-29
- Publication Date
- 2025-09-05
AI Technical Summary
In the prior art, when users interact with electronic devices, especially when using podcast browsing and playback applications, there is a problem of improper privacy data management, which increases the risk of privacy leakage and low user interaction efficiency.
By designing a user interface that integrates a touch-sensitive display and a touch screen, combined with a contact intensity sensor and a tactile output generator, accurate detection and feedback of user input can be achieved, the user interaction process can be optimized, and the secure management of privacy data can be ensured.
It improves user interaction efficiency, reduces the risk of privacy data leakage, and enhances user experience.
Smart Images

Figure CN120595989A_ABST
Abstract
Description
[0001] This application is a divisional application of the invention patent application with application number 202080040260.5, application date May 29, 2020, and name “User Interface for Podcast Browsing and Playback Application”.
[0002] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims the benefit of U.S. Provisional Application No. 62 / 855,822, filed May 31, 2019, the contents of which are hereby incorporated by reference in their entirety for all purposes. Technical Field
[0003] The present disclosure generally relates to user interfaces that enable users to interact with podcast browsing and playback applications on electronic devices. Background Art
[0004] In recent years, users' interactions with electronic devices have increased significantly. These devices can be devices such as computers, tablets, televisions, multimedia devices, mobile devices, etc.
[0005] In some cases, such devices use podcast browsing and playback applications to present content items. In some cases, content items are provided by a variety of sources. In some cases, electronic devices are capable of searching for content associated with podcasts. Enhancing user interaction with the device improves the user's experience with the device and reduces user interaction time, which is particularly important when the input device is battery-powered.
[0006] It is understood that the use of personally identifiable information should be subject to privacy policies and practices that are generally recognized to meet or exceed industry or government requirements for maintaining user privacy. Specifically, personally identifiable information data should be managed and processed to minimize the risk of unintentional or unauthorized access or use, and the nature of authorized use should be clearly stated to users. Summary of the Invention
[0007] Some embodiments described in this disclosure relate to searching one or more electronic devices for content associated with podcasts. A comprehensive description of the embodiments is provided in the accompanying drawings and detailed description, and it should be understood that the summary provided above does not limit the scope of the present disclosure in any way. BRIEF DESCRIPTION OF THE DRAWINGS
[0008] For a better understanding of the various described embodiments, reference should be made to the following detailed description taken in conjunction with the following drawings, in which like reference numerals designate corresponding parts throughout the several views.
[0009] Figure 1A is a block diagram illustrating a multifunction device with a touch-sensitive display according to some embodiments of the present disclosure.
[0010] Figure 1B is a block diagram illustrating exemplary components for event processing according to some embodiments of the present disclosure.
[0011] Figure 2 A multifunction device with a touch screen according to some embodiments of the present disclosure is shown.
[0012] Figure 3 is a block diagram illustrating an exemplary multifunction device with a display and a touch-sensitive surface according to some embodiments of the present disclosure.
[0013] Figure 4 An exemplary user interface for a multifunction device having a touch-sensitive surface that is separate from the display is shown in accordance with some embodiments of the present disclosure.
[0014] Figures 5A to 5C A block diagram illustrating an exemplary architecture for a device according to some embodiments of the present disclosure is shown.
[0015] Figures 6A to 6WW An exemplary manner in which an electronic device searches for content associated with a podcast according to some embodiments of the present disclosure is shown.
[0016] Figures 7A to 7G is a flow chart illustrating a method of searching for content associated with a podcast according to some embodiments of the present disclosure. DETAILED DESCRIPTION
[0017] In the following description of the embodiments, reference will be made to the accompanying drawings, which form a part of the following description and show, by way of example, specific embodiments that may be implemented. It should be understood that other embodiments may be optionally used and structural changes may be optionally made without departing from the scope of the disclosed embodiments. In addition, although the following description uses the terms "first," "second," etc. to describe various elements, these elements should not be limited by the terms. These terms are merely used to distinguish one element from another. For example, a first touch may be named a second touch and similarly, a second touch may be named a first touch without departing from the scope of the various described embodiments. Both the first touch and the second touch are touches, but they are not the same touch.
[0018] The terms used in the description of the various described embodiments herein are for the purpose of describing specific embodiments only and are not intended to be limiting. As used in the description of the various described embodiments and in the appended claims, the singular forms "a," "an," and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the terms "and / or" used herein refer to and encompass any and all possible combinations of one or more of the items listed in association. It will also be understood that the terms "comprises" and / or "comprising" when used in this specification specify the presence of the stated features, integers, steps, operations, elements, and / or parts, but do not exclude the presence or addition of one or more other features, integers, steps, operations, elements, parts, and / or groupings thereof.
[0019] The term "if" is optionally interpreted to mean "when," "upon," or "in response to determining," or "in response to detecting," depending on the context. Similarly, the phrases "if it is determined that," or "if [stated condition or event] is detected" are optionally interpreted to mean "upon determining," or "in response to determining," or "upon detecting [stated condition or event]," or "in response to detecting [stated condition or event]," depending on the context.
[0020] Exemplary devices Embodiments of electronic devices, user interfaces for such devices, and processes associated with 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. Exemplary embodiments of portable multifunction devices include, but are not limited to, the iPhone from Apple Inc. (Cupertino, California). ® Device, iPod Touch ® devices, and iPad ®Device. Other portable electronic devices, such as laptops or tablets with touch-sensitive surfaces (e.g., touch screen displays and / or touchpads), are optionally used. It should also be understood that in some embodiments, the device is not a portable communication device, but rather a desktop computer or television with a touch-sensitive surface (e.g., 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 for display on an independent display device (such as the user interface of the present disclosure) and is capable of receiving input information from an independent input device having one or more input mechanisms (such as one or more buttons, a touch screen display, and / or a touchpad). In some embodiments, the device has a display, but is capable of receiving input information from an independent input device having one or more input mechanisms (such as one or more buttons, a touch screen display, and / or a touchpad).
[0021] 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 described electronic device, display, and touch-sensitive surface are optionally distributed among 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., touch 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.
[0022] The device typically supports a variety of applications, such as one or more of the following applications: a drawing application, a rendering application, a word processing application, a website creation application, a disk editing application, a spreadsheet application, a gaming application, a telephony application, a video conferencing application, an email application, an instant messaging application, a fitness support application, a photo management application, a digital camera application, a digital video camera application, a web browsing application, a digital music player application, a television channel browsing application, and / or a digital video player application.
[0023] 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.
[0024] Attention is now directed to embodiments of a portable or non-portable device having a touch-sensitive display, although the device need not include a touch-sensitive display or a general display, 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 is sometimes referred to as or referred to as a touch-sensitive display system. The device 100 includes 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, RF circuitry 108, audio circuitry 110, a speaker 111, a microphone 113, an input / output (I / O) subsystem 106, other input or control devices 116, and external ports 124. The device 100 optionally includes one or more optical sensors 164. The device 100 optionally includes one or more contact intensity sensors 165 for detecting the intensity of contacts on the device 100 (e.g., a touch-sensitive surface such as the touch-sensitive display system 112 of the device 100). Device 100 optionally includes one or more tactile output generators 167 for generating tactile output on device 100 (e.g., generating tactile output on a touch-sensitive surface such as touch-sensitive display system 112 of device 100 or touch pad 355 of device 300). These components optionally communicate via one or more communication buses or signal lines 103.
[0025] 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 beneath 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., weighted averaged) to determine an estimated contact force. Similarly, the pressure-sensitive tip of a stylus is optionally used to determine the pressure of the stylus on the touch-sensitive surface. Alternatively, the size of the contact area detected on the touch-sensitive surface and / or its change, the capacitance of the touch-sensitive surface near the contact and / or its change, and / or the resistance of the touch-sensitive surface near the contact and / or its change are optionally used as a surrogate for the force or pressure of the contact on the touch-sensitive surface. In some implementations, the surrogate measurement of 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 contact force or pressure is converted to an estimated force or pressure, and the estimated force or pressure is used to determine whether the intensity threshold has been exceeded (e.g., the intensity threshold is measured in pressure units). Using the intensity of the contact as an attribute of user input allows the user to access additional device functionality that would not otherwise be accessible to the user on a smaller device with limited real estate, such as a smaller device for displaying indications (e.g., on a touch-sensitive display) and / or receiving user input (e.g., via a touch-sensitive display, touch-sensitive surface, or physical / mechanical controls such as knobs or buttons).
[0026] 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 is detected by a user using the user's sense of touch. For example, when a device or a component of the device is in contact with a touch-sensitive surface of a user (e.g., a finger, palm, or other part of the user's hand), the tactile output generated by the physical displacement will be interpreted by the user as a tactile sensation corresponding to a perceived change in a physical characteristic of the device or component of the device. For example, movement of a touch-sensitive surface (e.g., a touch-sensitive display or trackpad) may be 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, which was physically pressed (e.g., displaced) by the user's movement, has not moved. 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 a user's interpretation of touch will be limited by the user's individualized sensory perceptions, many sensory perceptions of touch are common to most users. Thus, when a tactile output is described as corresponding to a particular sensory perception of a user (e.g., "up click," "down click," "roughness"), unless otherwise stated, the generated tactile output corresponds to a physical displacement of the device or a component thereof that would generate the described sensory perception for a typical (or average) user.
[0027] 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 and / or application specific integrated circuits. Figure 1A The various components shown in are, optionally, implemented on 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 embodiments, device 100 optionally communicates with the display device and / or input device to facilitate operation of the system as described in this disclosure, and the various display and / or input-related components described herein remain in device 100 or are optionally included in the display and / or input device as appropriate.
[0028] Memory 102 optionally includes high-speed random access memory and optionally includes non-volatile memory, such as one or more disk storage devices, flash memory devices, or other non-volatile solid-state memory devices. Memory controller 122 optionally controls access to memory 102 by other components of device 100.
[0029] Peripherals interface 118 may be used to couple the device's input and output peripherals to CPU 120 and memory 102. 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.
[0030] 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.
[0031] 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 communication networks 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 networks and other devices via wireless communications, such as the Internet (also known as the World Wide Web (WWW)), intranets, and / or wireless networks (such as cellular telephone networks, wireless local area networks (LANs), and / or metropolitan area networks (MANs)). RF circuitry 108 optionally includes well-known circuitry for detecting near-field communication (NFC) fields, such as via a short-range communication radio. The wireless communication optionally uses any of a variety of communication standards, protocols and technologies, including, but not limited to, Global System for Mobile Communications (GSM), Enhanced Data GSM Environment (EDGE), High Speed Downlink Packet Access (HSDPA), High Speed Uplink Packet Access (HSUPA), Evolution, Data Only (EV-DO), HSPA, HSPA+, Dual Cell HSPA (DC-HSPDA), Long Term Evolution (LTE), Near Field Communication (NFC), Wideband Code Division Multiple Access (W-CDMA), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Bluetooth, Bluetooth Low Energy (BTLE), Wireless Fidelity (Wi-Fi) (e.g., IEEE 802.11a, IEEE 802.11b, IEEE 802.11g, IEEE 802.11d), IEEE 802.11e, IEEE 802.11f, IEEE 802.11g, IEEE 802.11g, IEEE 802.11g). 11n and / or IEEE 802.11ac), Voice over Internet Protocol (VoIP), Wi-MAX, email protocols (e.g., Internet Message Access Protocol (IMAP) and / or Post Office Protocol (POP)), instant messaging (e.g., Extensible Messaging and Presence Protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Utilizing Extensions (SIMPLE), Instant Messaging and Presence Service (IMPS)), and / or Short Message Service (SMS), or any other suitable communication protocol, including communication protocols not yet developed as of the filing date of this document.
[0032] The audio circuit 110, speaker 111, and microphone 113 provide an audio interface between a user and the device 100. The audio circuit 110 receives 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 jack (e.g., Figure 2 The headset jack 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 (eg, a single or dual-ear headset) and input (eg, a microphone).
[0033] 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 the other input or control devices 116. The other input control devices 116 optionally include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slide switches, joysticks, click wheels, etc. 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 ).
[0034] A quick press of the push button optionally unlocks touch screen 112 or optionally initiates the process of unlocking the device using gestures on the touch screen, as described in U.S. patent application Ser. No. 11 / 322,549, filed Dec. 23, 2005, entitled "Unlocking a Device by Performing Gestures on an Unlock Image" (U.S. Patent No. 7,657,849), which is hereby incorporated by reference in its entirety. A long press of a push button (e.g., 206) optionally powers device 100 on or off. The functionality of one or more buttons is optionally user-customizable. Touch screen 112 is configured to implement virtual or soft buttons and one or more soft keyboards.
[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 (whether or not it is a display) is used for input detection purposes, and the components and functions described are modified accordingly. However, for the sake of brevity, 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, video, and any combination thereof (collectively referred to as "graphics"). In some embodiments, some or all of the visual output corresponds to user interface objects.
[0036] The touch screen 112 has a touch-sensitive surface, sensor, or set of sensors that accepts input from the user based on tactile and / or haptic contact. The touch screen 112 and display controller 156 (together with any associated modules and / or instruction sets in memory 102) detect contact 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 that available from the iPhone 110 of Apple Inc. (Cupertino, California). ® iPod Touch ® and iPad ® Discovery technology.
[0038] The touch-sensitive display in some embodiments of the touch screen 112 is optionally similar to the multi-touch-sensitive trackpads described in U.S. Patents 6,323,846 (Westerman et al.), 6,570,557 (Westerman et al.), and / or 6,677,932 (Westerman et al.), and / or U.S. Patent Publication 2002 / 0015024A1, each of which is hereby incorporated by reference in its entirety. However, the touch screen 112 displays visual output from the device 100, whereas a touch-sensitive trackpad does not provide visual output.
[0039] In some embodiments, the touch-sensitive display of the touch screen 112 is as described in the following patent applications: (1) U.S. patent application 11 / 381,313, entitled “Multipoint Touch Surface Controller,” filed on May 2, 2006; (2) U.S. patent application 10 / 840,862, entitled “Multipoint Touchscreen,” filed on May 6, 2004; (3) U.S. patent application 10 / 903,964, entitled “Gestures For Touch Sensitive Input Devices,” filed on July 30, 2004; (4) U.S. patent application 11 / 048,264, entitled “Gestures For Touch Sensitive Input Devices,” filed on January 31, 2005; (5) U.S. patent application 11 / 086,854, entitled “Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices,” filed on January 18, 2005 Devices”; (6) U.S. patent application Ser. No. 11 / 228,758, filed September 16, 2005, entitled “Virtual Input Device Placement On A Touch Screen User Interface”; (7) U.S. patent application Ser. No. 11 / 228,700, filed September 16, 2005, entitled “Operation Of A Computer With A Touch Screen Interface”; (8) U.S. patent application Ser. No. 11 / 228,737, filed September 16, 2005, entitled “Activating Virtual Keys Of A Touch-Screen Virtual Keyboard”; and (9) U.S. patent application Ser. No. 11 / 367,749, filed March 3, 2006, entitled “Multi-Functional Hand-Held Device”. All of these applications are incorporated herein by reference in their entirety.
[0040] 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 through finger-based contacts and gestures, which may not be as precise as stylus-based input due to the larger contact area of a finger on the touch screen. In some embodiments, the device converts rough finger-based input into precise pointer / cursor positions or commands for performing the actions desired by the user.
[0041] In some embodiments, in addition to the touch screen, 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 touch screen 112 or an extension of the touch-sensitive surface formed by the touch screen.
[0042] 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.
[0043] Device 100 optionally also includes one or more optical sensors 164 . Figure 1AAn optical sensor is shown coupled to the optical sensor controller 158 in the I / O subsystem 106. The optical sensor 164 optionally includes a charge-coupled device (CCD) or complementary metal-oxide semiconductor (CMOS) phototransistor. The optical sensor 164 receives light from the environment, projected through one or more lenses, and converts the light into data representing an image. In conjunction with 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 touchscreen display 112 on the front of the device, enabling the touchscreen display to serve as a viewfinder for still and / or video image capture. In some embodiments, the optical sensor is located on the front of the device, enabling the user's image to be captured for video conferencing while viewing other video conference participants on the touchscreen display. In some embodiments, the position of the optical sensor 164 can be changed by the user (e.g., by rotating the lens and sensor in the device housing), allowing a single optical sensor 164 to be used with the touchscreen display for both video conferencing and still and / or video image capture.
[0044] Device 100 optionally also includes one or more contact intensity sensors 165 . Figure 1A A contact force sensor is shown coupled to a force sensor controller 159 in the I / O subsystem 106. Contact force sensor 165 optionally includes one or more piezoresistive strain gauges, capacitive force sensors, electrical force sensors, piezoelectric force sensors, optical force sensors, capacitive touch-sensitive surfaces, or other force sensors (e.g., sensors for measuring the force (or pressure) of 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 rear 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 proximity sensors 166 . Figure 1AA proximity sensor 166 is shown coupled to the peripherals interface 118. Alternatively, the proximity sensor 166 is optionally coupled to the input controller 160 in the I / O subsystem 106. The proximity sensor 166 is optionally implemented as described in the following U.S. patent applications: 11 / 241,839, entitled “Proximity Detector In Handheld Device”; 11 / 240,788, entitled “Proximity Detector In Handheld Device”; 11 / 620,702, entitled “Using Ambient Light Sensor To Augment Proximity Sensor Output”; 11 / 586,862, entitled “Automated Response To And Sensing Of User Activity In Portable Devices”; and 11 / 638,251, entitled “Methods And Systems For Automatic Configuration Of Peripherals,” which are hereby incorporated by reference in their entireties. In some embodiments, when the multifunction device is placed near the user's ear (eg, when the user is on a phone call), the proximity sensor turns off and disables the touch screen 112.
[0046] 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 with 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 of 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.
[0047] Device 100 optionally also includes one or more accelerometers 168 . Figure 1A An accelerometer 168 is shown coupled to the peripherals interface 118. Alternatively, the accelerometer 168 is optionally coupled to the input controller 160 in the I / O subsystem 106. The accelerometer 168 optionally implements as described in the following U.S. Patent Publication 20050190059, entitled "Acceleration-based Theft Detection System for Portable Electronic Devices," and U.S. Patent Publication 20060017692, entitled "Methods And Apparatuses For Operating A Portable Device Based On An Accelerometer," both of which are incorporated herein by reference in their entirety. In some embodiments, information is displayed on the touch screen display in a portrait view or a landscape view based on analysis of data received from 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 accelerometer 168 for obtaining information about the position and orientation (e.g., portrait or landscape) of the device 100.
[0048] In some embodiments, the software components stored in memory 102 include an operating system 126, a communication module (or instruction set) 128, a contact / motion module (or instruction set) 130, a graphics module (or instruction set) 132, a text input module (or instruction set) 134, a global positioning system (GPS) module (or instruction set) 135, and an application (or instruction set) 136. In addition, in some embodiments, memory 102 ( Figure 1A ) or 370 ( Figure 3 ) Storage device / global internal state 157, such as Figure 1A and Figure 3 . The device / global internal state 157 includes one or more of the following: an active application state, which indicates which applications, if any, are currently active; a display state, which indicates what applications, views, or other information occupy various areas of the touch screen display 112; a sensor state, which includes information obtained from the device's various sensors and input control devices 116; and position information regarding the device's position and / or posture.
[0049] The operating system 126 (e.g., Darwin, RTXC, LINUX, UNIX, OS X, iOS, WINDOWS, or an embedded operating system such as VxWorks) includes various software components and / or drivers for controlling and managing general system tasks (e.g., memory management, storage device control, power management, etc.) and facilitating communication between various hardware components and software components.
[0050] 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 directly to other devices 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.
[0051] 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 trackpad 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 across 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, represented by a sequence of contact data, optionally includes determining the rate (magnitude), velocity (magnitude and direction), and / or acceleration (change in magnitude and / or direction) of the contact point. These operations are optionally applied to a single contact (e.g., a single finger contact) or to 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.
[0052] In some embodiments, the contact / motion module 130 uses a set of one or more intensity thresholds to determine whether an action has been performed by a user (e.g., to determine whether a user has "clicked" an icon). In some embodiments, at least a subset of the intensity thresholds is determined based on software parameters (e.g., the intensity thresholds are not determined by the activation threshold of a particular physical actuator and can be adjusted without changing the physical hardware of the device 100). For example, without changing the touchpad or touchscreen display hardware, the mouse "click" threshold of a touchpad or touchscreen display can be set to any one of a large range of predefined thresholds. In addition, in some specific implementations, a software setting is provided to the user of the device for adjusting one or more intensity thresholds in a set of intensity thresholds (e.g., by adjusting individual intensity thresholds and / or by utilizing a system-level click on an "intensity" parameter to adjust multiple intensity thresholds at once).
[0053] Contact / motion module 130 optionally detects gesture input by the user. Different gestures on the touch-sensitive surface have different contact patterns (e.g., different motion, timing, and / or intensity of the detected contact). Thus, gestures are optionally detected by detecting specific contact patterns. For example, detecting a finger tap gesture includes detecting a finger press event and then detecting a finger lift (or lift-off) event at the same location (or substantially the same location) as the finger press event (e.g., at the location of an icon). As another example, detecting a finger swipe gesture on the touch-sensitive surface includes detecting a finger press event, then detecting one or more finger drag events, and then detecting a finger lift (or lift-off) event.
[0054] 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 attributes) 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 buttons), digital images, videos, animations, and the like.
[0055] 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 or the like, along with coordinate data and other graphic attribute data, if necessary, and then generates screen image data for output to the display controller 156.
[0056] Haptic feedback module 133 includes various software components for generating instructions used by tactile output generator 167 to produce tactile output at one or more locations on device 100 in response to user interaction with device 100 .
[0057] Text input module 134, which is optionally a component of graphics module 132, provides a soft keyboard for entering text in various applications (eg, contacts 137, email 140, IM 141, browser 147, and any other application requiring text input).
[0058] The GPS module 135 determines the location of the device and provides this information for use in various applications (e.g., to the phone 138 for location-based dialing; to the camera 143 as picture / video metadata; and to applications that provide location-based services such as the weather widget, the local yellow pages widget, and the map / navigation widget).
[0059] Application 136 optionally includes the following modules (or instruction sets), or a subset or superset thereof: • Contacts module 137 (sometimes called address book or contact list); • Telephone module 138; • Video conferencing module 139; • Email client module 140; • Instant Messaging (IM) module 141; • Fitness support module 142; • a camera module 143 for still and / or video images; • Image management module 144; •Video player module; •Music player module; • Browser module 147; • Calendar module 148; • 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 acquired by the user, and user-created widgets 149-6; • a widget creator module 150 for forming a user-created widget 149-6; • Search module 151; • Video and music player module 152, which merges the video player module and the music player module; • Memo module 153; • Map module 154; and / or • Online video module 155.
[0060] 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.
[0061] In combination with the touch screen 112, display controller 156, touch / motion 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 (e.g., stored in the application internal state 192 of the contacts module 137 in memory 102 or memory 370), including: adding one or more names to the address book; deleting names from the address book; associating phone numbers, email addresses, physical addresses, or other information with names; associating images with names; categorizing and classifying names; providing phone numbers or email addresses to initiate and / or facilitate communications via telephone 138, video conferencing module 139, email 140, or IM 141; and so on.
[0062] In conjunction with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, phone module 138 is optionally used to enter a character sequence corresponding to a phone number, access one or more phone numbers in contacts module 137, modify an entered phone number, dial the corresponding phone number, conduct a conversation, and disconnect or hang up when the conversation is complete. As described above, wireless communication optionally uses any of a variety of communication standards, protocols, and technologies.
[0063] In combination with the RF circuit 108, the audio circuit 110, the speaker 111, the microphone 113, the touch screen 112, the display controller 156, the optical sensor 164, the optical sensor controller 158, the contact / motion module 130, the graphics module 132, the text input module 134, the contact module 137 and the telephone module 138, the 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.
[0064] In conjunction with RF circuitry 108, touch screen 112, display controller 156, contact / motion module 130, graphics module 132, and text input module 134, email client module 140 includes executable instructions for creating, sending, receiving, and managing emails in response to user instructions. In conjunction with image management module 144, email client module 140 makes it very easy to create and send emails with still images or video images captured by camera module 143.
[0065] In conjunction with the RF circuitry 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134, the instant messaging module 141 includes executable instructions for entering a character sequence corresponding to an instant message, modifying previously entered characters, transmitting 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 transmitted and / or received instant messages 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).
[0066] In combination with the RF circuitry 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, the text input module 134, the GPS module 135, the map module 154, and the music player module, 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 (exercise equipment); receiving fitness sensor data; calibrating sensors for monitoring a fitness; selecting and playing music for a fitness; and displaying, storing, and transmitting fitness data.
[0067] In conjunction with touch screen 112, display controller 156, optical sensor 164, optical sensor controller 158, contact / motion 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.
[0068] In conjunction with touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, and camera module 143, image management module 144 includes executable instructions for arranging, modifying (e.g., editing), or otherwise manipulating, labeling, deleting, presenting (e.g., in a digital slideshow or album), and storing still images and / or video images.
[0069] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the touch / motion module 130, the graphics module 132 and the text input module 134, the browser module 147 includes executable instructions for browsing the Internet in accordance with user instructions, including searching for, linking to, receiving and displaying web pages or portions thereof, as well as attachments and other files linked to web pages.
[0070] In combination with the RF circuit 108, the touch screen 112, the display controller 156, the touch / motion module 130, the graphics module 132, the text input module 134, the email client module 140 and the browser module 147, the calendar module 148 includes executable instructions for creating, displaying, modifying and storing calendars and data associated with the calendar (e.g., calendar entries, to-do items, etc.) in accordance with user instructions.
[0071] In conjunction with the RF circuit 108, the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, the text input module 134, and the browser module 147, the widget module 149 is a mini-application that is optionally downloaded and used by the user (e.g., the weather widget 149-1, the stock widget 149-2, the calculator widget 149-3, the alarm clock widget 149-4, and the dictionary widget 149-5) or a mini-application created by the user (e.g., the user-created widget 149-6). In some embodiments, the widget includes an HTML (Hypertext Markup Language) file, a CSS (Cascading Style Sheets) file, and a JavaScript file. In some embodiments, the widget includes an XML (Extensible Markup Language) file and a JavaScript file (e.g., the Yahoo! widget).
[0072] In combination with the RF circuit 108, touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134 and browser module 147, the desktop widget creator module 150 is optionally used by a user to create a desktop widget (e.g., converting a user-specified portion of a web page into a desktop widget).
[0073] In combination with the touch screen 112, the display controller 156, the contact / motion module 130, the graphics module 132, and the text input module 134, the 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.
[0074] In conjunction with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuitry 110, speaker 111, RF circuitry 108, and browser module 147, video and music player module 152 includes executable instructions that allow a user to download and play back recorded music and other sound files stored in one or more file formats, such as MP3 or AAC files, as well as executable instructions for displaying, presenting, or otherwise playing back video (e.g., on touch screen 112 or on an external display connected via external port 124). In some embodiments, device 100 optionally includes the functionality of an MP3 player, such as an iPod (trademark of Apple Inc.).
[0075] In conjunction with the touch screen 112, the display controller 156, the contact / motion module 130, the graphic module 132, and the text input module 134, the memo module 153 includes executable instructions to create and manage memos, to-do lists, etc. according to user instructions.
[0076] In combination with the RF circuitry 108, touch screen 112, display controller 156, touch / motion module 130, graphics module 132, text input module 134, GPS module 135, and browser module 147, 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.
[0077] In conjunction with touch screen 112, display controller 156, contact / motion module 130, graphics module 132, audio circuit 110, speaker 111, RF circuit 108, text input module 134, email client module 140, and browser module 147, online video module 155 includes instructions for allowing 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 instead of email client module 140 to send a link to a particular online video. Additional description of online video applications can be found in U.S. provisional patent application 60 / 936,562, entitled “Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos,” filed on June 20, 2007, and U.S. patent application 11 / 968,067, entitled “Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos,” filed on December 31, 2007, the contents of which are hereby incorporated by reference in their entirety.
[0078] Each of the above modules and applications corresponds to an executable instruction set for performing one or more of the above functions and methods described in this patent application (e.g., the computer-implemented methods and other information processing methods described herein). These modules (e.g., instruction sets) do not have to be implemented as separate software programs, processes, or modules, so various subsets of these modules are optionally combined or otherwise rearranged in various embodiments. For example, a video player module is optionally combined with a music player module into a single module (e.g., Figure 1A In some embodiments, 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.
[0079] In some embodiments, device 100 is a device where operation of a predefined set of functions on the device is performed exclusively through a touch screen and / or a trackpad. By using the touch screen and / or the trackpad as the primary input control device for operating device 100, the number of physical input control devices (e.g., push buttons, dials, etc.) on device 100 is optionally reduced.
[0080] A predefined set of functions that are exclusively performed through the touch screen and / or trackpad optionally includes navigation between user interfaces. In some embodiments, the trackpad, when touched by the user, navigates the device 100 from any user interface displayed on the device 100 to a main menu, home menu, or root menu. In such embodiments, the trackpad 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 trackpad.
[0081] 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 (eg, in the operating system 126) and a corresponding application 136-1 (eg, any one of the aforementioned applications 137-151, 155, 380-390).
[0082] 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 that are 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) are 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.
[0083] 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 that information is being displayed or is ready to be displayed 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.
[0084] 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 (via audio circuitry 110). The information that peripherals interface 118 receives from I / O subsystem 106 includes information from touch-sensitive display 112 or a touch-sensitive surface.
[0085] 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).
[0086] In some embodiments, the event classifier 170 also includes a hit view determination module 172 and / or an active event identifier determination module 173.
[0087] 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.
[0088] 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 recognized as valid input is optionally determined based at least in part on the hit view of the initial touch that initiated the touch-based gesture.
[0089] Hit view determination module 172 receives information related to sub-events of touch-based gestures. When an application has multiple views organized in a hierarchy, hit view determination module 172 identifies the hit view as the lowest view in the hierarchy where the sub-events should be processed. In most cases, the hit view is the lowest-level view in which the initiating sub-event (e.g., the first sub-event in a sequence of sub-events that form an event or potential event) occurs. Once a hit view is identified by hit view determination module 172, the hit view typically receives all sub-events related to the same touch or input source for which it was identified as the hit view.
[0090] 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.
[0091] 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 182.
[0092] In some embodiments, operating system 126 includes event classifier 170. Alternatively, application 136-1 includes event classifier 170. In yet another embodiment, event classifier 170 is a standalone module or part of another module stored in memory 102, such as contact / motion module 130.
[0093] 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's internal state 192. Alternatively, one or more of the application views in application view 191 include one or more corresponding event handlers 190. Additionally, in some embodiments, one or more of data updater 176, object updater 177, and GUI updater 178 are included in the corresponding application view 191.
[0094] A corresponding event identifier 180 receives event information (e.g., event data 179) from event classifier 170 and identifies an event based on 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).
[0095] The event receiver 182 receives event information from the event classifier 170. The event information includes information about a sub-event, such as a touch or a 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 (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).
[0096] The event comparator 184 compares the event information with predefined event or sub-event definitions 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 the event (e.g., a predefined sequence of sub-events), such as event 1 (187-1), event 2 (187-2), and others. 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-off (touch end) of a predetermined duration, a second touch (touch start) of a predetermined duration on the displayed object, and a second lift-off (touch end) of a predetermined duration. In another example, the definition of event 2 (187-2) is a drag on a displayed object. For example, dragging includes a touch (or contact) of a predetermined duration on a displayed object, movement of the touch on the touch-sensitive display 112, and lifting of the touch (touch end). In some embodiments, the event also includes information for one or more associated event handlers 190.
[0097] 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.
[0098] In some embodiments, the definition of the corresponding event 187 also includes a delay action that delays the delivery of the event information until it has been determined that the sub-event sequence does or does not correspond to the event type of the event identifier.
[0099] 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 impossible, event failed, or event ended state, after which subsequent sub-events of the touch-based gesture are ignored. In this case, other event recognizers (if any) that remain active for the hit view continue to track and process sub-events of the ongoing touch-based gesture.
[0100] In some embodiments, corresponding event recognizers 180 include metadata 183 with configurable properties, flags, and / or lists that indicate 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.
[0101] In some embodiments, when one or more specific sub-events of an event are identified, the corresponding event recognizer 180 activates the event handler 190 associated with the event. In some embodiments, the corresponding event recognizer 180 delivers event information associated with the event to the event handler 190. Activating the event handler 190 is different from sending (and deferred sending) the sub-events to the corresponding hit view. In some embodiments, the event recognizer 180 throws a flag associated with the identified event, and the event handler 190 associated with the flag retrieves the flag and performs a predefined process.
[0102] 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.
[0103] In some embodiments, data updater 176 creates and updates data used in application 136-1. For example, data updater 176 updates phone numbers used in contact module 137 or stores video files used in video player module. In some embodiments, object updater 177 creates and updates objects used in application 136-1. For example, object updater 177 creates new user interface objects or updates the location of user interface objects. GUI updater 178 updates the GUI. For example, GUI updater 178 prepares display information and sends the display information to graphics module 132 for display on a touch-sensitive display.
[0104] In some embodiments, event handler 190 includes or has access to data updater 176, object updater 177, and GUI updater 178. In some embodiments, data updater 176, object updater 177, and GUI updater 178 are included in a single module of the corresponding application 136-1 or application view 191. In other embodiments, they are included in two or more software modules.
[0105] It should be understood that the above discussion of event handling for user touches on a touch-sensitive display 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 conjunction with single or multiple keyboard presses or holddowns; contact movement on a trackpad, such as taps, drags, scrolls, etc.; stylus input; movement of the device; spoken commands; detected eye movement; biometric input; and / or any combination thereof, are optionally used as input corresponding to sub-events defining the event to be recognized.
[0106] Figure 2 A portable or non-portable multifunction device 100 is shown with a touch screen 112 according to some embodiments. 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 functionality may optionally reside on a separate display device, input-related structures (e.g., a touch-sensitive surface, a microphone, an accelerometer, etc.) and / or functionality may optionally reside on a separate input device, and the remaining structures and / or functionality may optionally reside on the multifunction device 100.
[0107] The touch screen 112 optionally displays one or more graphics within a user interface (UI) 200. In this embodiment and other embodiments described below, a user can select one or more of the graphics by, for example, making gestures on the graphics using one or more fingers 202 (not drawn to scale in the figure) or one or more styluses 203 (not drawn to scale in the figure). In some embodiments, selection of the one or more graphics occurs when the user breaks contact with the one or more graphics. In some embodiments, the gesture optionally includes one or more taps, one or more swipes (from left to right, from right to left, up and / or down), and / or a scrolling motion 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 implementations or in some cases, inadvertent contact with a graphic does not select the graphic. For example, a swipe gesture that sweeps over an application icon may not select the corresponding application when the gesture corresponding to selection is a tap.
[0108] 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.
[0109] In one embodiment, 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, one or more volume adjustment buttons 208, a subscriber identity module (SIM) card slot 210, a headset jack 212, and an external docking / charging port 124. Push button 206 is optionally used to turn the device on or off by pressing and holding the button for a predefined time interval; to lock the device by pressing and releasing the button before the predefined time interval has elapsed; and / or to unlock the device or initiate an unlocking process. In alternative embodiments, device 100 also accepts voice input for activating or deactivating certain functions via microphone 113. Device 100 also optionally includes one or more contact force sensors 165 for detecting the intensity of contact on touch screen 112, and / or one or more tactile output generators 167 for generating tactile output for a user of device 100.
[0110] Figure 3is a block diagram of an exemplary multifunction device with a display and a touch-sensitive surface, according to some embodiments. As described above, device 300 need not include a display and a touch-sensitive surface; rather, in some embodiments, it optionally communicates with displays and touch-sensitive surfaces on other devices. Furthermore, device 300 need not be portable. In some embodiments, device 300 is a laptop computer, a desktop computer, a tablet computer, a multimedia player device (such as a television or set-top box), a navigation device, an educational device (such as a children's learning toy), a gaming system, or a control device (e.g., a home or industrial controller). Device 300 typically includes one or more processing units (CPUs) 310, one or more network or other communication interfaces 360, memory 370, and one or more communication buses 320 for interconnecting these components. Communication buses 320 optionally include circuitry (sometimes referred to as a chipset) that interconnects and controls communication between system components. Device 300 includes an input / output (I / O) interface 330 with a display 340, which is typically a touchscreen display. I / O interface 330 also optionally includes a keyboard and / or mouse (or other pointing device) 350 and a touchpad 355, a tactile output generator 357 for generating tactile output on device 300 (e.g., similar to the above referenced embodiments). Figure 1A The tactile output generator 167 described above), sensor 359 (eg, optical sensor, acceleration sensor, proximity sensor, touch sensitive sensor and / or similar to the above reference Figure 1A The memory 370 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM, or other random access solid-state memory devices; and optionally includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid-state storage devices. The memory 370 optionally includes one or more storage devices located remotely from the CPU 310. In some embodiments, the memory 370 stores programs, modules, and data structures, or a subset thereof, similar to those of the portable or non-portable multifunction device 100 ( Figure 1A ) stored in the memory 102 of the portable or non-portable multifunction device 100. In addition, the memory 370 optionally stores additional programs, modules, and data structures not present in the memory 102 of the portable or non-portable multifunction device 100. For example, the memory 370 of the 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 the portable or non-portable multifunction device 100 ( Figure 1A )'s memory 102 optionally does not store these modules.
[0111] Figure 3 Each of the above-mentioned identified elements is optionally stored in one or more of the previously mentioned memory devices. Each of the above-mentioned identified modules corresponds to an instruction set for performing the above-mentioned functions. The above-mentioned identified modules or programs (i.e., instruction sets) do not have to be implemented as independent software programs, processes or modules, so various subsets of these modules are optionally combined or otherwise rearranged in various embodiments. In some embodiments, memory 370 optionally stores a subset of the above-mentioned modules and data structures. In addition, memory 370 optionally stores additional modules and data structures not described above.
[0112] 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 trackpad 355) 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.
[0113] Although some of the examples below 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) with a main axis (e.g., Figure 4 452 in ), the main axis corresponds to the main axis (e.g., Figure 4 According to these embodiments, the device detects contact with touch-sensitive surface 451 (e.g., Figure 4 460 and 462 in FIG), the location of the contact corresponds to a corresponding location on the display (e.g., at Figure 4 , 460 corresponds to 468, and 462 corresponds to 470). Thus, when a touch-sensitive surface (e.g., Figure 4 451) and the display of the multi-function device ( Figure 4 When the user input detected by the device on the touch-sensitive surface (e.g., contacts 460 and 462 and their movement) is separated, the device is used to manipulate the user interface on the display. It should be understood that similar methods are optionally used for other user interfaces described herein.
[0114] In addition, although the following examples are primarily given with reference to finger inputs (e.g., finger contacts, single-finger tap gestures, finger swipe gestures), it should be understood that in some embodiments, one or more of these finger inputs are replaced by input from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture is optionally replaced by a mouse click (e.g., instead of contact), followed by movement of the cursor along the path of the swipe (e.g., instead of movement of the contact). 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 detecting the contact, followed by ceasing to detect the contact). Similarly, when multiple user inputs are detected simultaneously, it should be understood that multiple computer mice are optionally used simultaneously, or mice and finger contacts are optionally used simultaneously.
[0115] As used herein, the term "focus selector" refers to an input element used to indicate the current portion of a user interface with which a user is interacting. In some implementations that include a cursor or other position marker, the cursor acts as a "focus selector" such that when the cursor rests over a particular user interface element (e.g., a button, window, slider, or other user interface element), 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 the display, a particular user interface element is adjusted according to the detected input. In the case that the display includes a touch screen display (e.g., a touch-sensitive surface 451 in the display) that enables direct interaction with user interface elements on the touch screen display, a touch screen display (e.g., Figure 1AIn some implementations of a touch-sensitive display system 112 in a touchscreen, a contact detected on the touchscreen acts as a "focus selector," such that when input (e.g., a press input by a contact) is detected on the touchscreen display at the location of a particular user interface element (e.g., a button, window, slider, or other user interface element), the particular user interface element is adjusted 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 touchscreen 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 generally a user interface element (or contact on the touchscreen display) that is controlled by the user to convey the user's intended interaction with the user interface (e.g., by indicating to the device the element of the user interface with which the user desires to interact). For example, when a press input is detected on a touch-sensitive surface (e.g., a trackpad 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).
[0116] As used in the specification and claims, the term "characteristic intensity" of a contact refers to a characteristic of the contact based on one or more intensities of the contact. In some embodiments, the characteristic intensity is based on multiple intensity samples. The characteristic intensity is optionally based on a predefined number of intensity samples or a set of intensity samples collected during a predetermined time period (e.g., 0.05 seconds, 0.1 seconds, 0.2 seconds, 0.5 seconds, 1 second, 2 seconds, 5 seconds, 10 seconds) relative to a predefined event (e.g., after contact is detected, before contact is detected to be lifted off, before or after contact begins to move, before contact ends, before or after contact is detected to increase in intensity, and / or before or after contact is detected to decrease in intensity). The characteristic intensity of a contact is optionally based on one or more of the following: the maximum value of the intensity of the contact, the mean value of the intensity of the contact, the average value of the intensity of the contact, the value at the top 10% of the intensity of the contact, the half-maximum value of the intensity of the contact, the 90% maximum value of the intensity of the contact, etc. In some embodiments, the duration of the contact is used in determining the characteristic intensity (e.g., when the characteristic intensity is the average value of the intensity of the contact over time). In some embodiments, the feature strength is compared to a set of one or more strength thresholds to determine whether the user has performed an operation. For example, the set of one or more strength thresholds optionally includes a first strength threshold and a second strength threshold. In this example, a contact whose feature strength does not exceed the first threshold results in a first operation, a contact whose feature strength exceeds the first strength threshold but does not exceed the second strength threshold results in a second operation, and a contact whose feature strength exceeds the second threshold results in a third operation. In some embodiments, the comparison between the feature strength and one or more thresholds is used to determine whether to perform one or more operations (e.g., whether to perform the corresponding operation or abandon the corresponding operation) rather than to determine whether to perform the first operation or the second operation.
[0117] 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 strength of the contact (or multiple contacts) to above a press input strength threshold. In some embodiments, the corresponding operation is performed in response to detecting an increase in the strength of the corresponding contact to above the press input strength threshold (e.g., a "down stroke" of the corresponding press input). In some embodiments, the press input includes an increase in the strength of the corresponding contact to above the press input strength threshold and a subsequent decrease in the strength of the contact to below the press input strength threshold, and the corresponding operation is performed in response to detecting a subsequent decrease in the strength of the corresponding contact to below the press input strength threshold (e.g., an "up stroke" of the corresponding press input).
[0118] In some embodiments, the device employs intensity hysteresis to avoid accidental 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 contact intensity increases from an intensity equal to or below the hysteresis intensity threshold to an intensity equal to or above the press input intensity threshold and, optionally, that the contact intensity subsequently decreases to an intensity equal to or below the hysteresis intensity, and a corresponding operation is performed in response to detecting the press input (e.g., an increase in contact intensity or a decrease in contact intensity, depending on the circumstances).
[0119] 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 examples where an operation is described as being performed in response to detecting that the intensity of the contact decreases below the press input intensity threshold, the operation is optionally performed in response to detecting that the intensity of the contact decreases below a hysteresis intensity threshold that corresponds to and is less than the press input intensity threshold.
[0120] Figure 5A A block diagram illustrating an exemplary architecture for device 500 according to some embodiments of the present disclosure is shown. Figure 5A In an embodiment, media content or other content is optionally received by device 500 via network interface 502, which is optionally a wireless connection or a wired connection. One or more processors 504 optionally execute any number of programs stored in memory 506 or storage devices, the programs optionally including instructions for performing one or more of the methods and / or processes described herein (e.g., method 700).
[0121] In some embodiments, the display controller 508 causes the various user interfaces of the present disclosure to be displayed on the display 514. In addition, input to the device 500 is optionally provided by a remote control 510 via a remote control interface 512, which is optionally a wireless or wired connection. In some embodiments, input to the device 500 is provided by a multifunction device 511 (e.g., a smartphone) on which a remote application is running that configures the multifunction device to simulate remote control functionality, as described in more detail below. In some embodiments, the multifunction device 511 corresponds to Figure 1A and Figure 2 Device 100 and Figure 3 One or more of the devices 300 in . It should be understood that Figure 5A The embodiments are not meant to limit the features of the device of the present disclosure, and other components that facilitate other features described in the present disclosure are optionally included. Figure 5A In some embodiments, the device 500 optionally corresponds to Figure 1A and Figure 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 Figure 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 one or more of the following: Figure 1A One or more processors 120 and Figure 3 The one or more CPUs 310 in the display controller 508 optionally correspond to one or more of the following: Figure 1A The display controller 156 and Figure 3 The I / O interface 330 in the embodiment; the memory 506 optionally corresponds to one or more of the following: Figure 1A The memory 102 and Figure 3 The memory 370 in the remote control interface 512 optionally corresponds to Figure 1A The peripheral device interface 118 and the I / O subsystem 106 (and / or its components) and Figure 3 One or more of the I / O interfaces 330 in the remote control 512; the remote control 512 optionally corresponds to and / or includes one or more of the following: Figure 1Aspeaker 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 keyboard / mouse 350, touchpad 355, one or more tactile output generators 357, and one or more contact intensity sensors 359, and Figure 4 and display 514 optionally corresponds to one or more of: Figure 1A and Figure 2 a touch-sensitive display system 112 in FIG. 1 , and Figure 3 Display 340 in.
[0122] Figure 5B 1 shows an exemplary structure of a remote control 510 according to some embodiments of the present disclosure. In some embodiments, the remote control 510 optionally corresponds to Figure 1A and Figure 2 The multifunction device 100 and Figure 3 One or more devices in the device 300. The remote control 510 optionally includes a touch-sensitive surface 451. In some embodiments, the touch-sensitive surface 451 is edge-to-edge (e.g., it extends to the edge of the remote control 510 so that there is little or no surface of the remote control 510 between the touch-sensitive surface 451 and one or more edges of the remote control 510, such as Figure 5BAs previously described in this disclosure, touch-sensitive surface 451 is optionally capable of sensing contact and contact intensity (e.g., clicking on touch-sensitive surface 451). In addition, touch-sensitive surface 451 optionally includes a mechanical actuator for providing physical button click functionality (e.g., touch-sensitive surface 451 is "clickable" to provide corresponding input to device 500). Remote control 510 also optionally includes buttons 516, 518, 520, 522, 524, and 526. Buttons 516, 518, 520, 522, 524, and 526 are optionally mechanical buttons or mechanical button alternatives that are capable of sensing contact or pressing with such buttons to initiate one or more corresponding actions, for example, on device 500. In some embodiments, user selection of "Menu" button 516 navigates device 500 backward in a currently executed application or currently displayed user interface (e.g., backward to a user interface displayed before the currently displayed user interface), or navigates device 500 to a user interface that is one level higher than the currently displayed user interface. In some embodiments, user selection of the “home” button 518 navigates the device 500 from any user interface displayed on the device 500 to a main menu, home menu, or root menu user interface (e.g., to the home screen of the device 500, which optionally includes one or more applications accessible on the device 500). In some embodiments, selection of the “home” button 518 causes the electronic device to navigate to a unified media browsing application. In some embodiments, user selection of the “play / pause” button 520 switches back and forth between playing and pausing a currently playing content item on the device 500 (e.g., if a content item is playing on the device 500 when the “play / pause” button 520 is selected, the content item is optionally paused, and if a content item is paused on the device 500 when the “play / pause” button 520 is selected, the content item is optionally played). In some embodiments, user selection of the “+” 522 or “-” 524 button increases or decreases the volume of audio reproduced by the device 500 (e.g., the volume of the content item currently playing on the device 500). In some embodiments, user selection of the "audio input" button 526 allows the user to provide audio input (e.g., voice input) to the device 500, optionally to a voice assistant on the device. In some embodiments, the remote control 510 includes a microphone via which the user provides audio input to the device 500 upon selection of the "audio input" button 526. In some embodiments, the remote control 510 includes one or more accelerometers for detecting information about the motion of the remote control.
[0123] Figure 5C An exemplary personal electronic device 500 is depicted. In some embodiments, the device 500 may include a reference Figure 1A 、 Figure 1B and Figure 3 Some or all of the components described above. Device 500 has a bus 512 that operatively couples an I / O portion 514 to one or more computer processors 516 and a memory 518. The I / O portion 514 can be connected to a display 504, which can have a touch-sensitive component 522 and optionally an intensity sensor 524 (e.g., a contact intensity sensor). In addition, the I / O portion 514 can be connected to a communication unit 530 for receiving application and operating system data using Wi-Fi, Bluetooth, near-field communication (NFC), cellular, and / or other wireless communication technologies. Device 500 may include input mechanisms 506 and / or 508. For example, input mechanism 506 is optionally a rotatable input device or a depressible input device and a rotatable input device. In some examples, input mechanism 508 is optionally a button.
[0124] In some examples, input mechanism 508 is optionally a microphone. Personal electronic device 500 optionally includes various sensors, such as a GPS sensor 532, an accelerometer 534, an orientation sensor 540 (e.g., a compass), a gyroscope 536, a motion sensor 538, and / or combinations thereof, all of which are operatively connected to I / O portion 514.
[0125] The memory 518 of the personal electronic device 500 may include one or more non-transitory computer-readable storage media for storing computer-executable instructions that, when executed by one or more computer processors 516, may, for example, cause the computer processor to perform the techniques described below, including the processes described with reference to Figures 6-7. A computer-readable storage medium may be any medium that can tangibly contain or store computer-executable instructions for use by or in conjunction with an instruction execution system, apparatus, and device. In some examples, the storage medium is a transient computer-readable storage medium. In some examples, the storage medium is a non-transitory computer-readable storage medium. Non-transitory computer-readable storage media may include, but are not limited to, magnetic storage devices, optical storage devices, and / or semiconductor storage devices. Examples of such storage devices include magnetic disks, optical disks based on CD, DVD, or Blu-ray technology, and persistent solid-state memory such as flash memory, solid-state drives, and the like. The personal electronic device 500 is not limited to Figure 5C Rather, the components and configurations may include other components or additional components in various configurations.
[0126] As used herein, the term "affordance" refers to an indication that is optionally displayed on device 100, 300, 500, and / or 511 ( Figure 1A 、 Figure 3 and Figures 5A to 5C) on a display screen of a computer. For example, an image (e.g., an icon), a button, and text (e.g., a hyperlink) optionally each constitute an affordance.
[0127] As used herein, an "installed application" refers to a software application that has been downloaded to an electronic device (e.g., device 100, 300, 500, and / or 511) and is ready to be launched (e.g., become open) on the device. In some embodiments, a downloaded application becomes an installed application using an installer that extracts program portions from the downloaded software package and integrates the extracted portions with the computer system's operating system.
[0128] As used herein, the term "open application" or "executing application" refers to a software application that has persisted state information (e.g., as part of device / global internal state 157 and / or application internal state 192). An open or executing application is optionally any of the following types of applications: •The active app currently displayed on the display of the device on which the app is being used; • Background apps (or background processes), which are not currently displayed but for which one or more processes are being processed by one or more processors; and • A suspended or dormant application that is not running but has state information stored in memory (volatile and non-volatile, respectively) and can be used to resume execution of the application.
[0129] As used herein, the term "closed application" refers to a software application that does not retain state information (e.g., the state information of a closed application is not stored in the device's memory). Therefore, closing an application includes stopping and / or removing the application's application process and removing the application's state information from the device's memory. Generally speaking, while in a first application, opening a second application does not close the first application. When the second application is displayed and the first application ceases to be displayed, the first application becomes a background application.
[0130] Attention now turns to embodiments of a user interface (“UI”) and associated processes implemented on an electronic device, such as portable multifunction device 100 , device 300 , device 500 , or device 511 .
[0131] User interface and associated processes Search for content associated with podcasts Users interact with electronic devices in many different ways, including using them to browse and access podcasts in a podcast browsing and playback application. The embodiments described below provide ways for electronic devices to search for content associated with podcasts, thereby enhancing user interaction with electronic devices. Enhanced interaction with devices reduces the amount of time required for users to perform actions, thereby reducing the power consumption of the device and extending the battery life of battery-powered devices. It should be understood that people use devices. When someone uses a device, that person is optionally referred to as a user of the device.
[0132] Figures 6A to 6WW The embodiments in these figures are used to illustrate the process described below, including reference to Figures 7A to 7G Describe the process.
[0133] Figures 6A to 6WW The electronic device 500 is shown searching for content associated with a podcast in a podcast browsing and playback application. Figure 6A An electronic device (such as electronic device 500, not shown) is shown in communication with a display 514 (e.g., such as a monitor or integrated display) and an input device (e.g., such as touch-sensitive surface 451). It should be understood that this disclosure illustrates the use of touch-sensitive surface 451, but the input device can be any suitable pointer device, such as a mouse, trackpad, etc. In some embodiments, device 500 displays a podcast browsing and playback application 600. In some embodiments, podcast browsing and playback application 600 is an application installed on device 500.
[0134] In some embodiments, the podcast browsing and playback application 600 includes three display areas. In some embodiments, the podcast browsing and playback application includes a podcast playback area 602, a navigation panel 604, and a content browsing area.
[0135] In some embodiments, the podcast playback area 602 is displayed at or near the top of the podcast browsing and playback application 600. In some embodiments, the podcast playback area 602 displays information about the currently playing podcast (e.g., or previously playing, if paused) and playback controls. In some embodiments, the podcast playback area 602 is always displayed, even if the podcast is not or has not been playing. In some embodiments, the podcast playback area 602 includes information about the currently playing podcast, including a representation of the podcast (e.g., an image), a text label for the title of the corresponding episode of the podcast, and the title and release date of the podcast show. In some embodiments, the podcast playback area 602 includes playback controls, including a rewind control, a play / pause control, a fast-forward control, and / or a slider (e.g., or any combination thereof). In some embodiments, the rewind control can be selected to rewind the podcast by a predetermined amount (e.g., 15 seconds, 30 seconds). In some embodiments, the play / pause control can be selected to play or pause playback of the podcast, respectively. In some embodiments, a fast forward control is selectable to fast forward the playback of the podcast by a predetermined amount (e.g., 15 seconds, 30 seconds). In some embodiments, a slider bar displays the current playback position of the podcast and is interactive to move the playback to a specific position (e.g., by selecting the corresponding portion of the slider bar). In some embodiments, the podcast playback area 602 includes audio controls 614. In some embodiments, a volume bar is interactive to change the playback volume (e.g., the system volume or the volume of the podcast browsing and playback application 600 only). In some embodiments, the audio controls 614 include an audio output device enable indication that is selectable to set the audio output device (e.g., a device that will receive and play the audio signal provided by the device 500). In some embodiments, the podcast playback area 602 includes selectable options 616 and 618, which will be discussed below with respect to Figures 6P to 6R Describe in more detail.
[0136] In some embodiments, the navigation panel 604 includes a search field 609 that can be selected to search for podcasts in the podcast browsing and playback application 600 (as will be described below with respect to Figures 6KK to 6WW). In some embodiments, the navigation panel 604 includes one or more selectable options that can be selected to cause the content browsing area to display one or more content items associated with the selected option. For example, in some embodiments, the navigation panel 604 includes a selectable option 606-1 corresponding to user recommendations, a selectable option 606-2 for browsing podcasts, a selectable option 606-3 corresponding to popular podcasts, a selectable option 608-1 for viewing recently updated podcasts to which the user has subscribed, a selectable option 608-2 for viewing podcasts to which the user has subscribed, a selectable option 608-3 for viewing episodes of podcasts to which the user has subscribed, and a selectable option 608-4 for viewing podcasts that the user has downloaded to the device 500.
[0137] exist Figure 6A , selectable option 606-1 is currently selected (e.g., as shown in a solid-line box). In some embodiments, because selectable option 606-1 is currently selected, the content browsing area displays user interface 620-1. In some embodiments, user interface 620-1 includes a row of representations of podcasts recommended to the user (e.g., a "To Play" row) (e.g., representations 622-1 through 622-3). In some embodiments, the "To Play" row of podcasts includes podcasts recommended to the user based on the user's consumption activity. For example, representation 622-1 corresponds to a podcast (e.g., a podcast episode) recommended for the user to listen to that day. In some embodiments, representation 622-2 corresponds to the next episode of a podcast to which the user has subscribed but has not yet listened (e.g., episode 1 of season 1 of a podcast). In some embodiments, representation 622-3 corresponds to an episode of a podcast that the user has partially listened to. In some embodiments, the representation of a partially listened podcast includes a playback progress bar to indicate the furthest playback progress of the corresponding podcast. In some embodiments, each podcast in the "Up Next" row of podcasts includes the title of the episode, the title of the show, a brief description of the podcast and / or episode, and / or an indicator of why the corresponding item is recommended to the user (e.g., it is new, it is the next episode, the user has partially played it, etc.).
[0138] In some embodiments, user interface 620-1 includes more content item rows corresponding to other content categories (e.g., such as row 624 for "Shows You Might Like"). In some embodiments, each content item row includes a selectable option for displaying all podcasts in the corresponding category (e.g., selectable option 626-1 and selectable option 626-2). In some embodiments, the above representations can be selected to cause playback of the corresponding podcast (e.g., an episode of a podcast). In some embodiments, the above representations can be selected to cause a user interface specific to the corresponding podcast (e.g., a user interface for a podcast series) to be displayed.
[0139] exist Figure 6B , receiving user input 603, which moves the pointer 601 to hover over representation 622-1. In some embodiments, in response to the user input, representation 622-1 displays a play icon 628 and a menu icon 630. In some embodiments, the play icon 628 can be selected to playback the corresponding podcast. In some embodiments, the menu icon 630 can be selected to display a context menu for interacting with the corresponding podcast. In some embodiments, when the pointer 601 hovers over an item in the "To Play List" content item row (for example, or optionally, anywhere in the row, such as between representations or on the left or right side of the representation), navigation indicators 632-1 and 632-2 are displayed on the left and right sides of the content item row, respectively. In some embodiments, the navigation indicators 632-1 and 632-2 can be selected to navigate the corresponding row to the left or right, respectively, thereby displaying further representations of the podcast.
[0140] exist Figure 6C , receiving user input 603, which selects the play icon 628 representing 622-1. In some embodiments, in response to the user input, the podcast browsing and playback application 600 begins playing item A, such as Figure 6D shown.
[0141] Figures 6E to 6F The user is shown navigating to and selecting the play icon 628 of representation 622-3. In some embodiments, because item C has been partially played by the user, selecting the play icon 628 for item C causes playback to resume from the furthest playback position. For example, in response to the user input selecting the play icon 628, the podcast browsing and playback application 600 begins playback of item C from the previous playback position, as shown in FIG. Figure 6G In some embodiments, even though item C has been partially played, playback of item C begins from the beginning of the podcast rather than the previously played position because the user requested playback from a user interface associated with the "Podcasts" section (e.g., Listen Now, Browse, Top Charts).
[0142] exist Figure 6H, receives user input 603 corresponding to an upward navigation input (e.g., an upward or downward swipe on a trackpad, an upward or downward scroll on a scroll wheel, or a downward selection on a scroll bar). In some embodiments, in response to the navigation input, the user interface 620-1 scrolls up to display more content rows corresponding to other content categories in the "Listen Now" page. For example, the user interface 620-1 includes representations 624-1 to 624-3 corresponding to "Shows You Might Like" content rows (e.g., shows or podcast series recommended to the user based on the user's interest in other content items). In some embodiments, the user interface 620-1 includes a "Recently Played" row (e.g., representations 634-1 and 634-2) corresponding to podcasts that the user recently listened to.
[0143] It should be understood that the order of the above rows is merely exemplary and that the above rows may be in any row. Additionally, fewer or more rows corresponding to other podcast categories may be included in user interface 620-1.
[0144] exist Figure 6I , user input 603 is received, selecting selectable option 606-2 corresponding to the "Browse" page. In some embodiments, in response to the user input, the podcast browsing and playback application 600 displays a user interface 620-2 in the content browsing area. In some embodiments, user interface 620-2 includes a row of featured content items, including a featured collection (e.g., a podcast series or group of podcast series) "Project I" and a featured episode "Project J." In some embodiments, each item in the row of featured content items includes a representation (e.g., representations 636-1 and 636-2) and a show title. In some embodiments, the row of featured content items may include other types of featured content, such as featured shows, featured hosts, featured guests, etc. In some embodiments, user interface 620-2 includes a row of "New Releases" items (e.g., corresponding to representations 638-1, 638-2, and 638-3). In some embodiments, the items in the "New Releases" item row are recently published items and / or items editorially selected for inclusion in the "New Releases" item row. In some embodiments, representations 636 and 63i are selectable to cause playback of the corresponding content items (eg, or optionally, they are selectable to cause display of a user interface for the corresponding content items).
[0145] Figure 6K The user interface 620-2 is shown scrolled up to display a category selection area 640. In some embodiments, the category selection area 640 includes a plurality of podcast categories. In some embodiments, each category in the plurality of podcast categories can be selected to display a list of podcasts that fall into the corresponding category.
[0146] exist Figure 6L, user input 603 is received that selects the play icon 628 on the representation 638-1 of item K. In some embodiments, in response to the user input, the podcast browsing and playback application 600 begins playback of item K from the beginning of Season 1, Episode 1. Thus, in some embodiments, causing playback of the corresponding content item from the "browse" user interface causes the podcast to begin playback from the beginning of the first episode (e.g., as opposed to a position based on the user's browsing history, if any).
[0147] exist Figure 6N , receiving user input 603 that selects selectable option 606-3 corresponding to a "Rankings" page. In some embodiments, in response to the user input, the podcast browsing and playback application 600 displays a user interface 620-3 in the content browsing area. In some embodiments, the user interface 620-3 includes a row of representations of popular shows (e.g., popular podcasts rather than popular podcast episodes) (e.g., representations 642-1 to 642-3). In some embodiments, representation 642-1 is an image or logo of the corresponding podcast and is displayed with an indicator of the podcast's rating and the title of the podcast. In some embodiments, the row of popular shows can be scrolled horizontally to display more popular podcasts. In some embodiments, the above representation can be selected to cause playback of the corresponding podcast or to display a user interface specific to the corresponding podcast.
[0148] In some embodiments, user interface 620-3 includes a row of popular episodes (e.g., the popular episodes of a podcast rather than the podcast as a whole). In some embodiments, each item in the row of popular episodes includes a representation of the episode (e.g., representation 644-1), the title of the episode, and a "Details" link that can be selected to display more information about the corresponding episode. In some embodiments, the representation includes a selectable option ("+") icon that can be selected to add the corresponding episode to the user's playback queue. In some embodiments, the representation can be selected to play back the corresponding episode.
[0149] exist Figure 6P, receiving user input 603 that selects a selectable option 616. In some embodiments, in response to the user input, the podcast browsing and playback application 600 displays an information panel 646. In some embodiments, the information panel 646 includes more information and bonus materials related to the currently playing podcast (e.g., item K). In some embodiments, the information panel 646 includes an "episode notes" area that provides an explanation of the current episode. In some embodiments, the information panel 646 includes an "about current episode" area that describes the content about the current episode. In some embodiments, the information panel 646 includes a "background reading" area that displays background information about the podcast or content discussed in the current episode. In some embodiments, less or more information about the currently playing podcast may be displayed in the information panel 646. In some embodiments, the information displayed in the information panel 646 is provided by the podcast producer.
[0150] exist Figure 6Q In the example embodiment, user input 603 is received, which selects a selectable option 618. In some embodiments, in response to the user input, the podcast browsing and playback application 600 displays a content browsing panel 648, such as Figure 6R In some embodiments, the content browsing panel 648 includes representations of one or more chapters in the currently playing podcast (if any) (e.g., representations 650-1 and 650-2). In some embodiments, the representations of the chapters include an image; the title of the chapter, podcast, and / or episode; and a brief description or synopsis of the corresponding chapter. In some embodiments, representations 650-1 and 650-2 can be selected to jump playback to the corresponding chapter in the podcast.
[0151] In some embodiments, the content browsing panel 648 includes representations (e.g., representations 652-1 and 652-2) of one or more podcasts in the user's playback queue (e.g., podcasts that will be played after the currently playing podcast completes). In some embodiments, the representations of the podcasts include an image; the title of the episode, podcast; and / or a brief description or synopsis of the corresponding podcast. In some embodiments, representations 652-1 and 652-2 can be selected to playback the corresponding content item (e.g., and optionally skip forward in the queue). In some embodiments, the podcast episodes in the queue are subsequent podcast episodes in the podcast series that includes podcast item K.
[0152] exist Figure 6S, user input 603 is received that selects representation 608-2 corresponding to a "show" page in a "library" portion of a navigation panel 604. In some embodiments, the "library" portion of the navigation panel 604 includes items that the user has subscribed to or downloaded to the device 500 or another device (e.g., in contrast to the items in the "podcasts" section (e.g., Listen Now, Browse, Top Charts) described above, which include all podcasts, including those that the user has not subscribed to or downloaded). In some embodiments, any user request to play a content item (e.g., a podcast, a podcast episode, etc.) received from the user interface in the "library" section (e.g., Recent Updates, Shows, Episodes, Downloaded) causes playback of the corresponding content item from the furthest playback position (e.g., and optionally, from the beginning of the content item if the user has not yet partially listened to the corresponding content item) if the user has previously partially listened to the corresponding content item.
[0153] In some embodiments, in response to the user input, the podcast browsing and playback application 600 displays a user interface 620-4 in the content browsing area, such as Figure 6T In some embodiments, the user interface 620-4 includes all programs (e.g., podcasts) to which the user has subscribed. Figure 6T , user interface 620-4 includes representation 654-1 corresponding to item T, representation 654-2 corresponding to item U, and representation 654-3 corresponding to item V. In some embodiments, each representation is accompanied by a description of the number of episodes of the corresponding program available for listening (e.g., optionally, not yet listened to by the user).
[0154] exist Figure 6U , the user moves the pointer 656 to hover over the representation 656-1. In some embodiments, a large play icon 656 is displayed above the representation 656-1 (e.g., as opposed to the play icon 628 described above, which is optionally smaller and displayed in a corner above the corresponding representation). In some embodiments, the large play icon 656 can be selected to start playback of the corresponding podcast (e.g., to resume playback of the podcast episode in the show that the user last listened to, to start playing the next episode in the show if the user has already listened to the previous episode, or to start from the beginning of the first episode if the user has not listened to the podcast).
[0155] exist Figure 6V In some embodiments, in response to the user input, the content display area displays a user interface 620-5, such as Figure 6WAs shown. In some embodiments, user interface 620-5 is a user interface specific to a podcast (e.g., a podcast series "Project T" that includes multiple podcast episodes). In some embodiments, user interface 620-5 includes a banner image 656 (e.g., an image) representing the podcast. In some embodiments, user interface 620-5 includes a representation 660 (e.g., an image) of the podcast, the title of the podcast 662, and selectable options 664 and 666. In some embodiments, selectable option 664 can be selected to subscribe to the podcast. In some embodiments, if the user has already subscribed to the corresponding podcast, selectable option 664 is "Subscribed" (e.g., as opposed to "Subscribe") and is not selectable to subscribe to the podcast. In some embodiments, selecting selectable option 664 when already subscribed results in unsubscribing from the podcast. In some embodiments, selecting selectable option 666 causes a context menu for interacting with the podcast to be displayed. In some embodiments, the user interface 620-5 includes a description 668 that includes a description or synopsis of the podcast, a rating (e.g., 4.1 out of 5, 314 ratings), the category of the podcast (e.g., comedy), and the year of release (e.g., 2019).
[0156] exist Figure 6X , scrolling up user interface 620-5 to display the "Latest Episodes" area of user interface 620-5. In some embodiments, user interface 620-5 includes a predetermined number of recently released episodes (e.g., 3 episodes, 4 episodes, 5 episodes). In some embodiments, the episodes are sorted in reverse chronological order (e.g., newest first). In some embodiments, the episodes are sorted in chronological order (e.g., oldest first). In some embodiments, each episode entry includes a representation or image of the episode (e.g., representation 670-1), the release date of the episode, the title of the episode, and / or a description of the episode (e.g., or any combination of the foregoing). Input directed to representation 670 optionally initiates playback of the selected episode, as will be described later.
[0157] exist Figure 6Y , scrolling the user interface 620-5 further upwards to display the "Hosts & Guests" and "Ratings & Comments" areas of the user interface 620-5. In some embodiments, the "Hosts & Guests" area of the user interface 620-5 includes entries for one or more hosts of the podcast and entries for one or more guests who have participated in the podcast. In some embodiments, each person includes a representation of the person (e.g., a photo) and the person's name. In some embodiments, if the corresponding person is a host (e.g., representation 672-1), their entry includes a label indicating that the person is a host. In some embodiments, if the corresponding person is a guest (e.g., representations 672-2 to 672-4), their entry includes a label of the episode in which the corresponding guest appeared.
[0158] In some embodiments, a representation of a host or guest may be selected to cause the podcast browsing and playback application 600 to perform a search using the corresponding person as a search string / query. Figure 6Z In the example, user input 603 is received, which selects the representation 672-3 of person 3. In some embodiments, in response to the user input, the podcast browsing and playback application 600 performs a search for the corresponding person (e.g., person 3) and displays a user interface 620-6 in the content browsing area corresponding to the search results user interface. In some embodiments, the user interface 620-6 displays the search results for person 3. More details about the search process will be described below with respect to Figures 6LL to 6WW Provide a description.
[0159] Return to Figure 6BB In the user interface 620-5 in FIG, user input 603 is received, which selects the episode tag of person 3 (e.g., episode 5 - an episode in which person 3 appears as a guest). In some embodiments, in response to the user input selecting the episode tag of person 3, the user interface 620-5 is scrolled to the episode area, and the corresponding episode (e.g., episode 5) is highlighted (or otherwise visually distinguished from other episodes in the episode area), as shown in FIG. Figure 6CC shown.
[0160] exist Figure 6DD , the user moves pointer 601 to hover over an episode entry (e.g., over representation 670-4 or over the episode title and / or description). In some embodiments, in response to pointer 601 hovering over an entry, a large play icon 656 is displayed above representation 670-4. In some embodiments, large play icon 656 can be selected to cause playback of the corresponding episode (e.g., to resume playback of the podcast episode from the furthest playback position if the user previously partially listened to the podcast, or optionally to start playback from the beginning of the episode if the user previously did not partially listen to the podcast).
[0161] exist Figure 6EE, receives user input 603 that selects a description for episode 5. In some embodiments, in response to the user input, the podcast browsing and playback application 600 displays an episode card 676 overlaid on top of the user interface 620-5. In some embodiments, the episode card 676 includes a title area 678 that includes the title of the episode and podcast and an episode tag for the corresponding episode; a description area 680 that includes a description or synopsis of the corresponding episode; and a "Hosts & Guests" area 682 that displays different people associated with the corresponding episode (e.g., such as Person 1 as the host and Person 3 as the guest). In some embodiments, the episode cards 676 can be scrolled vertically to display more episode cards 676, such as Figure 6GG In some embodiments, when the episode card 676 is scrolled down, the title area 678 is fixed (e.g., maintained) so that it is always displayed (e.g., and the rest of the card scrolls up and is displayed behind the title area 678). Figure 6GG As shown, episode card 676 includes an information area 684 that provides detailed information about the episode, such as the release time and date (e.g., May 31, 2019, 10:00 AM), duration (e.g., 28 minutes), and file format (e.g., file size and file type: 5.9 MB, audio file). In some embodiments, episode card 676 includes a link that can be selected to display a web page for the corresponding episode (if available).
[0162] exist Figure 6HH , receiving user input 603 that selects selectable option 608-3 corresponding to the "Episodes" page in the "Library" section of the navigation panel 604. In some embodiments, in response to the user input, the podcast browsing and playback application 600 displays a user interface 620-7 in the content browsing area, such as Figure 6II In some embodiments, user interface 620-7 displays entries for multiple episodes associated with podcasts to which the user has subscribed.
[0163] In some embodiments, each entry on the user interface 620-7 includes a representation of the corresponding episode (e.g., an image), information about the corresponding episode (e.g., release date, episode title, podcast title, and description), a selectable option (e.g., a "+" option) for adding the corresponding episode (and / or the podcast series that includes the episode) to the user's playback queue, and the duration of the episode (e.g., 0:22, 0:25, etc.). Figure 6II , user interface 620 - 7 includes representations 685 - 1 through 685 - 4 corresponding to items W, X, Y, and Z, respectively.
[0164] exist Figure 6JJ, the user navigates pointer 601 to hover over the entry for item Y. In some embodiments, in response to pointer 601 hovering over the entry, a play icon 686 is displayed on the side of representation 685-3. In some embodiments, the play icon 686 can be selected to start playback of the corresponding episode. In some embodiments, each of the representations and / or entries can also be selected to cause playback of the corresponding episode (e.g., if the user previously partially listened to the podcast, playback of the podcast episode can be resumed from the farthest playback position, or if the user previously did not partially listen to / play the podcast, playback can optionally be started from the beginning of the episode). In some embodiments, the play icon 686 is displayed as an overlay above the representation (e.g., representation 685-3).
[0165] exist Figure 6KK , receiving user input 603 that selects a search field 609. In some embodiments, in response to the user input, the podcast browsing and playback application 600 displays a user interface 620-6 corresponding to the search results user interface, such as Figure 6LL In some embodiments, the user interface 620-6 is initially empty. Figure 6MM In some embodiments, the user enters "com" into search field 609. In some embodiments, in response to the user entering characters into search field 609, user interface 620-6 updates to suggest one or more search terms. For example, user interface 620-6 suggests the search terms "com," "comics," "Comedians in Trucks Getting Water," "Cometgeddon," "The Secret Life of Computers," and "The Composer." In some embodiments, the suggested search terms may be titles of content items (e.g., episodes or podcasts), dictionary terms, and / or people (e.g., hosts and / or guests). In some embodiments, one or more of the suggested search terms may indicate that the search will be filtered for a particular category or genre (e.g., "comics within episodes" or "comics within action"). In some embodiments, selecting a corresponding suggested search term causes a search to be performed for the selected search term. In some embodiments, pressing the "Enter" key or clicking the search icon on search field 609 causes a search to be performed for the search term entered into search field 609.
[0166] exist Figure 6MM , user input is received 603, which selects the suggested search term "comics". In some embodiments, in response to the user input, the podcast browsing and playback application 600 performs a search for "comics" and updates the user interface 620-6 to display the search results, such as Figure 6NNAs shown. Figure 6NN As shown, user interface 620-6 includes a filter option 687. In some embodiments, filter option 687 can be selected to filter search results based on a selected option (e.g., search across all podcasts or only podcasts from the user's profile). In some embodiments, user interface 620-6 displays a top results row (e.g., representations 688-1 and 688-2). In some embodiments, this top results row includes a predetermined number of items that best match the search terms. In some embodiments, this top results row may include different types of items, such as representation 688-1 corresponding to a specific podcast and representation 688-2 corresponding to a specific episode of the podcast (in some embodiments, people are additionally or alternatively included in the top search results). In some embodiments, each item in the top results row displays the date of the podcast and / or episode, the title of the podcast and / or episode, and a description of the podcast and / or episode. In some embodiments, representations 688-1 and 688-2 can be selected to playback the corresponding item and / or display the user interface for the corresponding item.
[0167] In some embodiments, the user interface 620-6 displays more search result rows arranged by content type. For example, the user interface 620-6 includes representations 690-1 and 690-2 corresponding to the episode search result rows (e.g., for displaying episodes that match the search term), and the show search result row 692 (e.g., for displaying podcasts that match the search term). Figure 6NN As shown, the podcast browsing and playback application 600 is able to search for matches in the podcast episode transcript (e.g., if the transcript is available). In some embodiments, episode entries whose transcripts match some or all of the search terms (e.g., if the search terms include multiple words) are displayed with excerpts of the podcast transcript. In some embodiments, the transcript excerpts displayed are those portions that contain words that match the search terms (e.g., "comics"). In some embodiments, the matching words are displayed with different visual characteristics than the remaining words in the transcript (e.g., displayed in a different color, bolded, underlined, in a larger font, italicized, highlighted, etc.). In some embodiments, a predetermined number of words (e.g., 3 words, 4 words, 5 words) are displayed before and after the matching words. In some embodiments, if multiple matches are found in the transcript, multiple excerpts are displayed. In some embodiments, the above representations can be selected to cause the corresponding episode to be played back. In some embodiments, the transcript can be selected to cause the corresponding portion of the episode to be played back, as will be described below with respect to Figures 6UU to 6WW Described in more detail.
[0168] exist Figure 6OO, scroll up the user interface 620-6 to display more result rows. In some embodiments, the user interface 620-6 displays a "Hosts & Guests" item row. Thus, in some embodiments, the podcast browsing and playback application 600 is able to perform a search between hosts and guests. For example, a user can search for a specific person (e.g., optionally with other search terms), and matching persons will be displayed in the "Hosts & Guests" row. In some embodiments, the user interface 620-6 includes representations 694-1 to 694-4 corresponding to Person 1 to Person 4 that match the search terms. In some embodiments, representations 694-1 to 696-4 can be selected to search for content associated with the corresponding person.
[0169] Figure 6PP to Figure 6RR An alternative embodiment for performing searches in the podcast browsing and playback application 600 is shown. Figure 6PP In response to user input selecting search field 609 (such as in Figure 6KK ), the user interface 620-6 displays a row containing one or more recent searches, a row of recently played items (e.g., podcast series or podcast episodes), and one or more other rows of suggestions or recommendations (e.g., Figure 6LL In some embodiments, the recent searches row includes options 696-1 through 696-4 corresponding to a predetermined number (e.g., 4, 5, 6) of recent searches performed by the user. In some embodiments, options 696-1 through 696-4 can be selected to cause the podcast browsing and playback application 600 to perform a search for the corresponding search terms. In some embodiments, the recently browsed items row corresponds to podcasts and / or episodes that the user recently accessed, and the row can be selected to cause the corresponding items to be played back. In some embodiments, the popular items row corresponds to podcasts and / or episodes that are currently popular (e.g., liked by other users and unrelated to the current user's playback activity), and these items can be selected to cause the corresponding items to be played back or to display a user interface associated with the corresponding items.
[0170] exist Figure 6QQ In the example, the user has entered "com" into the search field 609. In some embodiments, in response to the user input, a drop-down list of suggested search terms is displayed below the search field 609. In some embodiments, the drop-down list includes one or more suggested search terms, similar to the above description with respect to Figure 6MM In some embodiments, when the user enters characters into the search field 609 and / or when the drop-down list is displayed, the user interface 620-6 does not change. In some embodiments, a suggested search term in the drop-down list can be selected to perform a search for the corresponding search term.
[0171] exist Figure 6QQ In the example, user input 603 is received, which selects the suggested search term "comics". In some embodiments, in response to the user input, a search for "comics" is performed, and the user interface 620-6 is updated to display the search results, such as Figure 6RR As shown (e.g., similar to the above with respect to Figure 6NN described). Figure 6RR , the top result row includes representation 697-2 corresponding to a person that matches the search term. Thus, the top result row of results can include all different types of items, such as podcast episodes, podcasts, people, etc.
[0172] exist Figure 6SS , pointer 601 has moved to hover over representation 697-1. In some embodiments, because representation 697-1 corresponds to a content item (e.g., a podcast episode or podcast), a play icon and a menu icon are displayed in response to pointer 601 hovering over representation 697-1. In some embodiments, as described above, the play icon can be selected to cause playback of the corresponding content item, and the menu icon can be selected to display a context menu for interacting with the corresponding content item.
[0173] exist Figure 6TT , pointer 601 has moved to hover over representation 697-2. In some embodiments, because representation 697-2 corresponds to a person (e.g., rather than a content item), the play icon and menu icon are not displayed in response to pointer 601 hovering over representation 697-2 (e.g., because its items are not content items). In some embodiments, representation 697-2 can be selected to perform a search for the corresponding person, as described above with respect to Figure 6AA As stated.
[0174] In some embodiments, the transcripts for Project AA and Project BB have at least two matches to the search term "comics". In some embodiments, because the transcript for Project AA has multiple matches, the excerpts of the transcripts show multiple matches to the search term. For example, for Project AA, the transcript is "... my favorite comics arefrom the Miracle Universe… better than the comics from the Superhuman Universe…”, thereby indicating that the transcript has at least two matches to the search term “comics”. In some embodiments, a matching term in the transcript can be selected to cause playback of the corresponding portion of the corresponding episode.
[0175] For example, in Figure 6UU, receiving user input 603 that selects the first matching item "comics" (e.g., corresponding to the excerpt "My favorite comics are from the Miracle Universe"). In some embodiments, in response to the user input, the podcast browsing and playback application 600 begins playback of the corresponding content item (e.g., item AA) and navigates the playback position of the content item to a position associated with the first matching search term (e.g., at the time the search term was spoken, 3 seconds before the time the search term was spoken, 5 seconds before the time the search term was spoken, etc.), as shown in FIG. Figure 6VV shown.
[0176] exist Figure 6VV , receives user input 603 that selects the second matching term "comics" (e.g., corresponding to the excerpt "better than the comics from the Superhuman Universe"). In some embodiments, in response to the user input, the podcast browsing and playback application 600 begins playback of the corresponding content item (e.g., item AA) and navigates the playback position of the content item to a position associated with the second matching search term (e.g., which is optionally a different position from the playback position associated with the first matching search term)—e.g., at the time the search term was spoken, 3 seconds before the time the search term was spoken, 5 seconds before the time the search term was spoken, etc. Figure 6WW Thus, in some embodiments, the podcast browsing and playback application 600 can navigate to the corresponding portion of the podcast corresponding to the matching item selected by the user.
[0177] Figures 7A to 7G is a flow chart illustrating a method 700 for searching for content associated with a podcast according to some embodiments of the present disclosure. Method 700 is optionally performed on an electronic device such as device 100, device 300, device 500, and device 511, as described above with reference to Figure 1A to Figure 1B 、 Figures 2 to 3 、 Figure 4 and Figures 5A to 5C Some operations in method 700 are optionally combined, and / or the order of some operations is optionally changed.
[0178] As described below, method 700 provides a way to search for content associated with podcasts. This method reduces the cognitive burden on users when interacting with the device user interface of the present disclosure, thereby creating a more efficient human-computer interface. For battery-powered electronic devices, improving 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 in communication with a display device and one or more input devices (e.g., a mobile device (e.g., a tablet, smartphone, media player, or wearable device) including a touch screen, a computer including one or more of a keyboard, a mouse, a trackpad, and a touch screen and in communication with a display, or a set-top box in communication with a display and a remote control device) receives (702) via the one or more input devices an input corresponding to a request to search for content available for listening on the electronic device, wherein the input includes one or more search terms, such as in Figures 6LL to 6NN In some embodiments, the content is a podcast, music, movie, television show, etc. In some embodiments, the request to search for content is made in a content application user interface, such as by entering a search term into a search text field (e.g., content stored on the electronic device or otherwise accessible on the electronic device, such as via streaming). In some embodiments, the content searched is only content in the library of the user account of the electronic device. In some embodiments, the content searched includes library content as well as any content available for listening in a content repository or storage library.
[0180] In some embodiments, in response to receiving the input corresponding to the request to search for content available for listening on the electronic device, the electronic device displays (704) one or more representations of one or more search results via the display device (e.g., in a user interface of a content application), the one or more representations of the one or more search results including a first representation of a first search result, wherein the first search result is a first content item (e.g., a first episode of a podcast (series) including one or more episodes), the first content item is associated with a first transcript of a conversation included in the first content item (e.g., the transcript is a transcript of part or all of the discussion that occurred in the first episode), and due to the relationship between the one or more search terms and the first transcript of the first content item, the first search result is included in the one or more search results, such as in Figure 6NN As shown in . For example, the search results not only search for titles, people (e.g., hosts, guests), dates, descriptions of podcast series, podcast episodes, etc., but also search for the transcripts of those podcast series, podcast episodes, etc. Therefore, the search results optionally include podcast series, podcast episodes, etc. whose transcripts include one or more search terms (or whose transcripts include portions that are otherwise related to the one or more search terms). It should be understood that although podcast series and podcast episodes are mentioned, the same search behavior optionally also applies to other types of content, such as songs, movies, TV shows, etc.
[0181] The above-mentioned manner of searching for content items such as transcribed text of podcasts allows the electronic device to provide the user with search results that are particularly relevant to the search query, which simplifies the interaction between the user and the electronic device, enhances the operability of the electronic device, and makes the user-device interface more efficient (for example, by not requiring the user to listen to podcasts separately to find podcasts whose discussions are relevant to the search query but whose descriptions / titles may not reflect such), which in turn reduces power usage and extends the battery life of the electronic device by enabling the user to use the electronic device more quickly and efficiently.
[0182] In some embodiments, the first representation of the first search result includes a first portion of the first transcript that is relevant to the one or more search terms (706), such as in Figure 6NN ) (and excluding a second portion of the first transcript that is not related to the one or more search terms). For example, the first search result displays a snippet of the full transcript of the first podcast episode that includes, or is otherwise related to, one of the search terms used to search for the podcast (e.g., if the search term is "food," a snippet of transcript related to food, but not necessarily including the word "food").
[0183] The above-mentioned approach of including relevant portions of the transcribed text in the search results allows the electronic device to provide information to the user about portions of the transcribed text that are of interest, which simplifies the interaction between the user and the electronic device, enhances the operability of the electronic device, and makes the user-device interface more efficient (for example, by not requiring the user to listen to a podcast or manually search the transcribed text to understand which portion of the transcribed text is relevant to the search query), which in turn reduces power usage and extends the battery life of the electronic device by enabling the user to use the electronic device more quickly and efficiently.
[0184] In some embodiments, the first portion of the first transcript includes at least one of the one or more search terms, and the at least one of the one or more search terms is displayed with a first visual feature value that is different from a second visual feature value (708) displayed for the remainder of the first portion of the first transcript, such as in Figure 6NN For example, the segment of the transcribed text includes at least one of the search terms, and the search terms included in the segment are shown in bold and / or have a different color than the rest of the segment displayed in the search results.
[0185] The above-mentioned manner of highlighting search terms in relevant parts of the transcribed text allows the electronic device to provide the user with information about where the search terms appear in the transcribed text, which simplifies the interaction between the user and the electronic device, enhances the operability of the electronic device, and makes the user-device interface more efficient (for example, by not requiring the user to manually search the transcribed text to understand which part of the transcribed text is relevant to the search query), which in turn reduces power usage and extends the battery life of the electronic device by enabling the user to use the electronic device more quickly and efficiently.
[0186] In some embodiments, the at least one search term of the one or more search terms includes a first search term (710), and while displaying the first representation of the first search result, the electronic device receives (712) input via the one or more input devices corresponding to selecting the first search term in the first portion of the first transcript, such as in Figure 6UU In some embodiments, in response to receiving the input corresponding to selecting the first search term, the electronic device plays (714) the first content item from a playback position corresponding to the first search term, such as in Figure 6VV For example, playback of the first content item begins at the portion of the first content item that begins with the selected search term (or a predetermined time before the playback position of the search term in the podcast episode, such as 3, 5, or 10 seconds before the playback position).
[0187] The above-mentioned method of initiating playback of a podcast allows the electronic device to automatically play back the relevant part of the podcast, which simplifies the interaction between the user and the electronic device, enhances the operability of the electronic device, and makes the user-device interface more efficient (for example, by not requiring the user to listen to the entire podcast or manually search the podcast to locate the relevant part of the podcast), which in turn reduces power usage and extends the battery life of the electronic device by enabling the user to use the electronic device more quickly and efficiently.
[0188] In some embodiments, the first portion of the first transcript includes a predetermined number (e.g., 2, 3, 5) of words before and after the at least one of the one or more search terms (716), such as Figure 6NN Thus, the search results optionally include sufficient context in which the search terms appear in the transcribed text so that their meaning is understandable to the user.
[0189] The above-mentioned approach of including transcribed text words before and after the search terms allows the electronic device to provide the user with information about a more complete context of the search terms in the transcribed text, which simplifies the interaction between the user and the electronic device, enhances the operability of the electronic device, and makes the user-device interface more efficient (for example, by not requiring the user to listen to a podcast or manually search the transcribed text to understand the more complete context of the search terms), which in turn reduces power usage and extends the battery life of the electronic device by enabling the user to use the electronic device more quickly and efficiently.
[0190] In some embodiments, the electronic device displays (718) a user interface including a content player user interface, such as on Figure 6A As shown (e.g., the content player user interface is optionally an area of the content application user interface (the user interface that receives the search request) that displays information about the currently playing content item (if any), and controls for controlling the playback of the currently playing content item). Regardless of whether the content item is currently playing in the content application user interface, the content player user interface is optionally always displayed in the same portion of the content application user interface. In some embodiments, the content player user interface includes one or more controls for controlling the playback of the content item (e.g., a skip back button for skipping 15 seconds back in the playing content item, a skip forward button for skipping 20 seconds forward in the content item, a play / pause button for playing or pausing the content item), and a selectable option that can be selected to cause a sidebar user interface to be displayed that includes information about the currently playing content item while the content player user interface remains displayed, such as in Figure 6Q . For example, selecting the sidebar selectable option causes a sidebar to be displayed in the content application user interface (e.g., on the right side). The sidebar user interface optionally includes information about the currently playing podcast episode (e.g., host, guests, discussion topic, podcast date, podcast duration, links to related content, publisher, etc.), and optionally includes a full or partial transcript of the episode (if available for the podcast episode).
[0191] The above-mentioned approach of displaying the sidebar user interface only when the user inputs to do so and keeping the content player displayed allows the electronic device to save display space and keep the content player always accessible, which simplifies the interaction between the user and the electronic device, enhances the operability of the electronic device, and makes the user-device interface more efficient (for example, by allowing screen space to be used for other functions of the electronic device when information about the currently playing podcast does not need to be displayed, and by not requiring the user to navigate to other user interfaces to continue providing playback control input), which in turn reduces power usage and extends the battery life of the electronic device by enabling the user to use the electronic device more quickly and efficiently.
[0192] In some embodiments, the electronic device displays (720) a user interface including a content player user interface, such as on Figure 6A As shown (e.g., the content player user interface is optionally an area of the content application user interface (the user interface that receives the search request) that displays information about the currently playing content item (if any), and controls for controlling the playback of the currently playing content item). Regardless of whether the content item is currently playing in the content application user interface, the content player user interface is optionally always displayed in the same portion of the content application user interface. In some embodiments, the content player user interface includes one or more controls for controlling the playback of the content item (e.g., a skip back button for skipping 15 seconds back in the playing content item, a skip forward button for skipping 20 seconds forward in the content item, a play / pause button for playing or pausing the content item), and a selectable option that can be selected to cause a sidebar user interface to be displayed that includes information about content items that are about to be played in the content item playback queue while the content player user interface remains displayed, such as in Figure 6R . For example, selecting the sidebar selectable option causes a sidebar to be displayed in the content application user interface (e.g., on the right side). The sidebar user interface optionally includes information / representation of the next episode in the podcast series corresponding to the currently playing podcast episode. In some embodiments, the representation can be selected to initiate playback of the selected episode.
[0193] The above-described manner of including information about subsequently played episodes allows the electronic device to provide this information while conserving display space and keeping the content player always accessible, which simplifies the interaction between the user and the electronic device, enhances the operability of the electronic device, and makes the user-device interface more efficient (for example, by allowing screen space to be used for other functions of the electronic device when information about the currently playing podcast does not need to be displayed, and by not requiring the user to navigate to other user interfaces to continue providing playback control input), which in turn reduces power usage and extends the battery life of the electronic device by enabling the user to use the electronic device more quickly and efficiently.
[0194] In some embodiments, the sidebar user interface also includes information about chapters in the currently playing content item (722), such as in Figure 6R In some embodiments, if the currently playing podcast episode is divided into chapters, the sidebar user interface also includes relevant information / representations of the chapters of the podcast episode. In some embodiments, the representation can be selected to initiate playback of the selected chapter.
[0195] The above-mentioned manner of including information about the chapters of the current podcast allows the electronic device to provide this information while saving display space and keeping the content player always accessible, which simplifies the interaction between the user and the electronic device, enhances the operability of the electronic device, and makes the user-device interface more efficient (for example, by allowing screen space to be used for other functions of the electronic device when information about the currently playing podcast does not need to be displayed, and by not requiring the user to navigate to other user interfaces to continue providing playback control input), which in turn reduces power usage and extends the battery life of the electronic device by enabling the user to use the electronic device more quickly and efficiently.
[0196] In some embodiments, the electronic device receives (724) input via the one or more input devices corresponding to a request to play a corresponding content item (e.g., selecting a representation of a podcast series or a podcast episode of a podcast series), wherein a user of the electronic device has partially played the corresponding content item, such as in Figure 6L In some embodiments, in response to receiving the input (726) corresponding to the request to play the corresponding content item, the electronic device plays (728) the corresponding content item from the beginning of the corresponding content item based on determining that the input was received in a content item browsing user interface that includes content items in a library of a user account associated with the electronic device and content items that are not in the library of the user account (e.g., a user is browsing a podcast repository / repository in a podcast application that displays information about all podcasts available for listening on the electronic device, regardless of whether the user account associated with the electronic device has added the podcasts to the library), such as in Figure 6M (e.g., selecting a representation of a podcast or podcast episode from a podcast repository user interface optionally starts playback of the podcast / episode from the beginning, even if the user has previously listened to a portion of the podcast / episode. Thus, playback from the podcast repository optionally occurs independently of the playback history for the podcast / episode). In some embodiments, based on determining that the input was received in a library user interface that includes content items in the library of the user account associated with the electronic device but does not include content items that are not in the library of the user account, such as in Figure 6GFor example, selecting a representation of a podcast or podcast episode from a library user interface in a podcast application is optionally performed based on the user's playback history for that podcast / episode. Thus, if the podcast / episode has been previously played, playback from the library user interface will optionally resume playback of that podcast / episode (if the podcast / episode has not been previously played, playback from the library user interface will optionally begin playback from the beginning of that podcast / episode). In some embodiments, playback requests from both the podcast repository user interface and the library user interface (even if they are separate user interfaces in the podcast application) will cause playback to proceed based on the user's play history for the podcast / episode.
[0197] The above-mentioned differential playback behavior allows the electronic device to reduce the resources required to track playback history in all contexts, which simplifies the interaction between the user and the electronic device, enhances the operability of the electronic device, and makes the user-device interface more efficient, which in turn reduces power usage and extends the battery life of the electronic device by enabling the user to use the electronic device more quickly and efficiently.
[0198] In some embodiments, the electronic device displays (732) via the display device a corresponding representation of the corresponding content, such as on Figure 6A In some embodiments, the electronic device detects (734) a hover event over the corresponding representation of the corresponding content, such as in a podcast application. Figure 6B In some embodiments, in response to detecting the hover event (736) over the corresponding representation, the corresponding representation is determined to be a representation of a program, such as in Figure 6B , (e.g., a representation of a podcast series rather than a specific episode of the podcast series. Or, in the context of a television program, a representation of a television series as a whole rather than a specific episode of the television series), the electronic device displays (738) a first selectable option and a second selectable option overlaid on the corresponding representation, the first selectable option being selectable to initiate playback of the corresponding episode of the program, and the second selectable option being selectable to display a context menu associated with the program via the display device, wherein the remainder of the corresponding representation is selectable to display a user interface for the program via the display device, such as in Figure 6B, as shown in (e.g., upon hovering, a play button is displayed above the representation of the show, and a context menu button is displayed above the representation of the show). Selection of the play button will optionally cause playback of the show (e.g., the first or next episode of the podcast series), selection of the menu button will optionally cause display of a menu from which various actions related to the podcast show can be taken, and selection of the remainder of the representation (e.g., the area other than the play button and the menu button) optionally causes display of a user interface within the podcast application that is specific to the podcast series—such as a user interface that includes information about the podcast series and episodes in the podcast series and from which podcasts can be subscribed to, downloaded, etc.
[0199] In some embodiments, based on determining that the corresponding representation is a representation of an episode of a program (e.g., a representation of a specific episode of a podcast series rather than a representation of the podcast series as a whole. Or in the context of a television program, a representation of a specific episode of a television series rather than a representation of the television series as a whole), the electronic device displays (740) a third selectable option and a fourth selectable option overlaid on the corresponding representation, the third selectable option being selectable to initiate playback of the episode of the program, and the fourth selectable option being selectable to display a context menu associated with the episode of the program via the display device, wherein the remainder of the corresponding representation is also selectable to initiate playback of the episode of the program, such as in Figure 6E . For example, upon hovering, a play button is displayed above the representation of the podcast episode, and a contextual menu button is displayed above the representation of the podcast episode. Selecting the play button will optionally cause playback of the podcast episode (e.g., from the beginning of the podcast episode if not previously played, or from the last played position of the podcast episode if previously played), selecting the menu button will optionally cause display of a menu from which various actions related to the podcast episode can be taken, and selecting the remainder of the representation (e.g., areas other than the play button and the menu button) optionally also causes playback of the podcast episode.
[0200] The manner in which the differential overlay behaves as described above allows the electronic device to display only overlay buttons that can be used for a given representation, which simplifies the interaction between the user and the electronic device, enhances the operability of the electronic device, and makes the user-device interface more efficient (for example, avoiding the display of irrelevant functions associated with a given representation and input directed thereto), which in turn reduces power usage and extends the battery life of the electronic device by enabling the user to use the electronic device more quickly and efficiently.
[0201] In some embodiments, the electronic device displays (742) a user interface including a search text field and a main display area, such as in Figure 6A(e.g., a user interface of a podcast application including a search text field in the upper left corner and a large content display area in the lower right corner. The large content display area is optionally where various content is displayed as the user navigates through the podcast application). In some embodiments, while displaying the user interface, the electronic device detects (744) that the search text field has received current focus, such as in Figure 6LL In some embodiments, in response to detecting that the search text field has received the current focus, the electronic device displays (746) multiple representations of suggested search terms in the main display area, such as in Figure 6MM (e.g., when the search text field receives the current focus, suggested search queries, search terms, topics, etc. are optionally displayed in the large content display area. In some embodiments, the suggested search query, search term, topic, etc. can be selected to initiate a search based on the selection). In some embodiments, when the multiple representations of suggested search terms are displayed in the main display area, the electronic device receives (748) a request to search for content using a particular search query, such as in Figure 6MM In some embodiments, in response to receiving the request (750) to search for content using the particular search query, the electronic device stops (752) displaying the plurality of representations of suggested search terms and displays (754) a plurality of representations of search results based on the particular search query in the main display area, such as in Figure 6NN . For example, after a user initiates a search, the suggested search query is replaced with the actual search results. The search results are optionally representations of people (e.g., hosts / guests on a podcast), podcast episodes, podcast series, etc. These representations are optionally selectable to play a podcast / episode (e.g., if the representation is a representation of a podcast series / episode), or to initiate a search for podcasts / episodes related to a person (e.g., if the representation is a representation of a guest or host). In some embodiments, search suggestions are not displayed in the large content display area, but are displayed in a small overlay next to the search text field. Once the user selects one of the suggestions in the small overlay, the large content display area is optionally populated with search results related to the selected search suggestion.
[0202] The above-mentioned method of presenting suggested search queries in the same area where search results will be displayed allows the electronic device to provide search shortcuts to the user, requiring less user input and not utilizing more necessary display space, which simplifies the interaction between the user and the electronic device, enhances the operability of the electronic device, and makes the user-device interface more efficient, which in turn reduces power usage and extends the battery life of the electronic device by enabling the user to use the electronic device more quickly and efficiently.
[0203] In some embodiments, the one or more representations of the one or more search results are displayed in a user interface that includes (756) a first area that includes one or more representations of the one or more best search results (758), such as in Figure 6RR . For example, as a first row of results that are the most relevant search results for the search query. This first row of results is optionally a mixed type (e.g., people, podcast shows, podcast episodes). A representation in this first row is optionally selectable to play the selected podcast show / episode, or to initiate a search for the selected person, as described above. In some embodiments, the user interface includes a second area that includes one or more representations of episodes of a show (760), such as in Figure 6NN . For example, as a second row of results for all representations of podcast episodes relevant to the search query. Optionally, a representation of a podcast episode can be selected to play the podcast episode. In some embodiments, the user interface includes a third area that includes one or more representations of programs (762), such as in Figure 6NN For example, as a third row of results for all representations of podcast shows that are relevant to the search query. Optionally, a representation of a podcast series can be selected to play back the podcast series (e.g., to begin playback of episodes of the podcast series). In some embodiments, the user interface includes a fourth area that includes one or more representations of hosts and / or guests of one or more shows (764), such as in Figure 6OO For example, the fourth row of results shows all representations of people (e.g., podcast hosts, podcast guests) that are relevant to the search query. Optionally, a representation of a person can be selected to initiate a search for the selected person.
[0204] The above-mentioned manner of displaying different types of search results in different areas of the user interface allows the electronic device to provide an orderly display of search results, which simplifies the interaction between the user and the electronic device, enhances the operability of the electronic device, and makes the user-device interface more efficient (for example, by reducing the need for the user to provide input to search through the search results to find the type of search results of interest), which in turn reduces power usage and extends the battery life of the electronic device by enabling the user to use the electronic device more quickly and efficiently.
[0205] In some embodiments, the first area includes a first representation of the first best search result. In some embodiments, the electronic device detects (768) a hover event over the first representation of the first best search result, such as Figure 6SS In some embodiments, in response to detecting the hover event (770) over the first representation: based on determining that the first representation is a representation of a program (e.g., a podcast series), the electronic device displays (772) a first selectable option overlaid on the first representation, the first selectable option being selectable to initiate playback of the program, such as in Figure 6SS For example, a play button is displayed above the podcast series representation that causes playback of episodes of the podcast series. In some embodiments, if the user has already played the previous episode, the episode played is the next episode of the podcast series. In some embodiments, if the user has not yet played any episodes of the podcast series, the episode played is the first episode of the podcast series. In some embodiments, the episode played is the episode of the podcast series that is most relevant to the search query.
[0206] In some embodiments, based on determining that the first representation is a representation of an episode of a program, the electronic device displays (774) a second selectable option overlaid on the first representation, the second selectable option being selectable to initiate playback of the episode of the program, such as in Figure 6SS For example, a play button is displayed above a podcast episode representation that causes playback of the episode of the podcast series. If the user has partially played the podcast episode, playback optionally resumes playback of the podcast episode, and if the user has not partially played the podcast episode, playback optionally plays back from the beginning of the podcast episode.
[0207] In some embodiments, based on determining that the first representation is a representation of a person, the electronic device forgoes (776) displaying selectable options overlaid on the first representation, such as in Figure 6TT. For example, if the representation is of a person, no play button is displayed above the representation upon hover (e.g., because there is optionally no functionality in the podcast application to start playback of a person). Selecting a representation of a person optionally initiates a search for podcast series / episodes related to the person (e.g., series / episodes in which the person hosts, series / episodes in which the person appears as a guest, series / episodes in which the person is the subject of discussion, etc.).
[0208] The manner in which the differential overlay behaves as described above allows the electronic device to display only overlay buttons that can be used for a given representation, which simplifies the interaction between the user and the electronic device, enhances the operability of the electronic device, and makes the user-device interface more efficient (for example, avoiding the display of irrelevant functions associated with a given representation and input directed thereto), which in turn reduces power usage and extends the battery life of the electronic device by enabling the user to use the electronic device more quickly and efficiently.
[0209] In some embodiments, the electronic device displays (778) via the display device a user interface for content (e.g., a product page for a podcast series, or a product page for an episode of a podcast series), wherein the user interface for the content includes one or more representations of one or more people associated with the content, including corresponding representations of corresponding people associated with the content, such as in Figure 6Y (e.g., the product page includes relevant information / representation about the host of the podcast series / episode, the guests of the podcast series / episode, etc. The representation of the person optionally includes an image and name of the person). In some embodiments, based on determining that the corresponding person associated with the content is the host of the content (e.g., the host of the podcast episode or the host of the podcast series), the corresponding representation includes a visual indication indicating that the corresponding person is the host (780), such as in Figure 6Y In some embodiments, the image / name of the person as the host is shown with an image or text indicating that the person is the host, such as the text "host". In some embodiments, the image / name of the person does not include any indication of a particular episode, as hosts are typically hosts of the podcast as a whole rather than a particular episode. In some embodiments, based on determining that the corresponding person associated with the content is a guest in the content, the corresponding representation includes a visual indication (782) indicating the episodes in which the corresponding person is the guest in the content, such as in Figure 6Y For example, the image / name of the person who is a guest is displayed with an image or text indicating the episode of the podcast series in which the person was a guest, such as the text "Episode 1".
[0210] The above-mentioned method of providing host / episode information along with the representation of the person allows the electronic device to provide such information without requiring user input to provide such information, which simplifies the interaction between the user and the electronic device, enhances the operability of the electronic device, and makes the user-device interface more efficient (for example, by reducing the need for the user to provide input to display such information or manually search for podcasts to identify such information), which in turn reduces power usage and extends the battery life of the electronic device by enabling the user to use the electronic device more quickly and efficiently.
[0211] In some embodiments, the one or more representations of one or more persons associated with the content include one or more images associated with the one or more persons, and the one or more images can be selected to initiate a search for the content to find content related to the one or more persons (790), such as in Figures 6Z to 6AA For example, selecting an image of a person (e.g., a host or a guest) optionally initiates a search for podcast episodes / series related to the selected person (e.g., series / episodes in which the person hosts, series / episodes in which the person appears as a guest, series / episodes in which the person is the topic of discussion, etc.).
[0212] The above-described manner of initiating a search related to a selected person allows the electronic device to perform the search with minimal user input, which simplifies the interaction between the user and the electronic device, enhances the operability of the electronic device, and makes the user-device interface more efficient (for example, by not requiring the user to manually enter the person's name in a search text field, for example, or manually search a podcast to first identify the person), which in turn reduces power usage and extends the battery life of the electronic device by enabling the user to use the electronic device more quickly and efficiently.
[0213] In some embodiments, while displaying the corresponding representation with the visual indication indicating the episode in which the corresponding person served as the guest in the content, the electronic device receives (794) input via the one or more input devices selecting the visual indication, such as in Figure 6BB In some embodiments, in response to receiving the input selecting the visual indication, the electronic device scrolls (796) to a corresponding portion of the user interface for the content, the corresponding portion including information about the episode in which the corresponding person was the guest, such as in Figure 6CC. For example, if the currently displayed user interface is for a podcast series as a whole, selecting the text "Episode 3" (or equivalent text) displayed with a guest on that user interface optionally causes the user interface to scroll to a portion of the user interface that includes information about that episode in the podcast series as a whole. In some embodiments, the user interface scrolls to a position that displays information about the selected episode (e.g., Episode 3), with the information for the selected episode highlighted / displayed differently from the remaining episodes. In some embodiments, the episode information includes selectable options that can be selected to initiate playback of the episode, allowing the user to quickly initiate playback of the selected episode from the scrolled-to portion of the podcast series user interface. In some embodiments, the portion of the podcast series user interface that includes information about the episodes includes a representation of each episode in the podcast series. In response to a hover event over a given representation of a given episode, a play button is optionally displayed near (or within) the given representation of the given episode, and selecting the play button causes playback of the given episode. In some embodiments, the given representation of the given episode includes the title / description of the given episode. In some embodiments, selecting the title / description of the given episode causes an overlay user interface to be displayed that includes more information about the given episode, including representations of the hosts / guests of the given episode, which representations are optionally selectable to initiate a search for the selected hosts / guests, as previously described.
[0214] The above-described manner of scrolling to the correct portion of the podcast series user interface allows the electronic device to provide quick access to episodes of interest, which simplifies the interaction between the user and the electronic device, enhances the operability of the electronic device, and makes the user-device interface more efficient (for example, by not requiring the user to provide input to manually search through the podcast series user interface, which also avoids errors associated with manual user searching), which in turn reduces power usage and extends the battery life of the electronic device by enabling the user to use the electronic device more quickly and efficiently.
[0215] It should be understood that Figures 7A to 7G The specific order in which the operations are described is merely exemplary and is not intended to indicate that the order is the only order in which the operations can be performed. A person of ordinary skill in the art will recognize many ways to reorder the operations described herein.
[0216] 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 (e.g., Figure 1A to Figure 1B 、 Figure 3 、 Figures 5A to 5C In addition, the above reference Figures 7A to 7GThe operation is optionally performed by Figure 1A to Figure 1B 6. For example, detection operations 734, 744, and 768, display operations 704, 718, 720, 732, 738, 740, 742, 746, 754, 772, 774, and 778, receiving operations 702, 712, 724, 748, and 794, and initiation operations are optionally implemented by event classifier 170, event recognizer 180, and event handler 190. Event monitor 171 in event classifier 170 detects contact on touch-sensitive surface 604, and event dispatcher module 174 delivers event information to application 136-1. A corresponding event recognizer 180 of application 136-1 compares the event information with a corresponding event definition 186 and determines whether a first contact at a first location on the touch-sensitive surface corresponds to a predefined event or sub-event, such as a selection of an object on a user interface. When a corresponding predefined event or sub-event is detected, event recognizer 180 activates an event handler 190 associated with the detection of the event or sub-event. Event handler 190 optionally utilizes or calls data updater 176 or object updater 177 to update the application internal state 192. In some embodiments, event handler 190 accesses a corresponding GUI updater 178 to update the content displayed by the application. Similarly, those skilled in the art will clearly understand how to update the application internal state 192 based on the event or sub-event. Figure 1A to Figure 1B The components depicted in the figure implement other processes.
[0217] As described above, one aspect of the present technology is the collection and use of data obtained from specific and legitimate sources to improve the delivery of content that may be of interest to users. This disclosure contemplates that, in some instances, the collected data may include personal information data that uniquely identifies or can be used to identify a specific person. Such personal information data may include demographic data, location-based data, online identifiers, phone numbers, email addresses, home addresses, data or records related to a user's health or fitness level (e.g., vital signs measurements, medication information, exercise information), date of birth, or any other personal information.
[0218] This disclosure recognizes that the use of such personal information data within the present technology can be used to benefit users. For example, personal information data can be used to deliver targeted podcasts that users may be interested in based on their preferences. Thus, the use of such personal information data allows users to have greater control over the content delivered. Furthermore, this disclosure also contemplates other uses of personal information data that benefit users. For example, health and fitness data can be used to provide insights into a user's overall health based on their preferences, or can be used as positive feedback to individuals who are using technology to pursue health goals.
[0219] This disclosure anticipates that entities responsible for collecting, analyzing, disclosing, transmitting, storing, or otherwise using such personal information will adhere to established privacy policies and / or practices. Specifically, such entities are expected to implement and consistently apply privacy practices generally recognized as meeting or exceeding industry or government requirements for safeguarding user privacy. Such information regarding the use of personal data should be prominently displayed and easily accessible to users and updated as the collection and / or use of data changes. Users' personal information should be collected only for lawful uses. Furthermore, such collection / sharing should occur only after receiving user consent or other lawful basis as provided in applicable law. Furthermore, such entities should consider taking any necessary steps to safeguard and secure access to such personal information and ensure that others with access to such personal information adhere to their privacy policies and procedures. Furthermore, such entities may subject themselves to third-party assessments to demonstrate compliance with widely accepted privacy policies and practices. Furthermore, policies and practices should be tailored to the specific types of personal information being collected and / or accessed and adapted to applicable laws and standards, including jurisdiction-specific considerations that may impose higher standards. For example, in the United States, the collection or access of certain health data may be governed by federal and / or state laws, such as the Health Insurance Portability and Accountability Act (HIPAA); while health data in other countries may be subject to other regulations and policies and should be handled accordingly.
[0220] Regardless of the foregoing, the present disclosure also contemplates implementation schemes in which users selectively block the use or access of personal information data. That is, the present disclosure contemplates providing hardware elements and / or software elements to prevent or block access to such personal information data. For example, such as with respect to an advertising delivery service, the technology of the present invention may be configured to allow a user to choose to "opt in" or "opt out" to participate in the collection of personal information data at any time during or after registration for the service. In another example, a user may choose not to provide emotion-related data to a targeted content delivery service. As another example, a user may choose to limit the length of time that emotion-related data is retained, or to completely block the development of underlying emotional conditions. In addition to providing "opt-in" and "opt-out" options, the present disclosure contemplates providing notifications related to access or use of personal information. For example, a user may be notified when downloading an application that their personal information data will be accessed, and then reminded again before the personal information data is accessed by the application.
[0221] Furthermore, it is an objective of the present disclosure that personal information data should be managed and processed to minimize the risk of unintended or unauthorized access or use. Risk can be minimized by limiting data collection and deleting data once it is no longer needed. In addition, and where applicable, including in certain health-related applications, data de-identification can be used to protect user privacy. De-identification can be facilitated, where appropriate, by removing identifiers, controlling the amount or specificity of stored data (e.g., collecting location data at the city level rather than the address level), controlling how data is stored (e.g., aggregating data across users), and / or other methods such as differential privacy.
[0222] Thus, while this disclosure broadly covers the use of personal information data to implement one or more of the various disclosed embodiments, this disclosure also contemplates that various embodiments may be implemented without access to such personal information data. That is, various embodiments of the present technology will not fail to function due to the absence of all or a portion of such personal information data. For example, podcasts may be selected and delivered to users based on aggregated non-personal information data or an absolute minimum amount of personal information, such as podcasts processed only on the user's device or other non-personal information that may be used for content delivery services.
[0223] It is understood that the use of personally identifiable information should be subject to privacy policies and practices that are generally recognized to meet or exceed industry or government requirements for maintaining user privacy. Specifically, personally identifiable information data should be managed and processed to minimize the risk of unintentional or unauthorized access or use, and the nature of authorized use should be clearly stated to users.
[0224] For purposes of explanation, the foregoing description has been described with reference to specific embodiments. However, the above illustrative discussion 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: receiving, via the one or more input devices, an input corresponding to a request to play a corresponding content item, wherein a user of the electronic device has partially played the corresponding content item; as well as In response to receiving the input corresponding to the request to play the corresponding content item: playing the corresponding content item from the beginning of the corresponding content item based on determining that the input is received in a content item browsing user interface, the content item browsing user interface including content items that are not in a library of a user account associated with the electronic device; and resuming playback of the corresponding content item from a last playback position in the corresponding content item based on determining that the input was received in a library user interface, the library user interface including content items in the library of the user account associated with the electronic device but excluding content items not in the library of the user account; The database user interface is different from the content item browsing user interface.
2. The method of claim 1 , further comprising displaying a user interface comprising a content player user interface, wherein the content player user interface comprises one or more controls and selectable options, the one or more controls being used to control the playback of a content item, the selectable options being selectable to display a sidebar user interface while maintaining the display of the content player user interface, the sidebar user interface comprising information about the content item currently being played.
3. The method according to claim 1 also includes displaying a user interface including a content player user interface, wherein the content player user interface includes one or more controls and selectable options, the one or more controls are used to control the playback of content items, and the selectable options can be selected to display a sidebar user interface while maintaining the display of the content player user interface, the sidebar user interface including information about content items to be played in the content item playback queue. The method of claim 3 , wherein the sidebar user interface further includes information about a chapter in the content item currently being played.
5. The method according to claim 1, further comprising: displaying, via the display device, a corresponding representation of the corresponding content; detecting a hover event over the corresponding representation of the corresponding content; as well as In response to detecting the hover event over the corresponding representation: based on determining that the corresponding representation is a representation of a program, displaying a first selectable option and a second selectable option overlaid on the corresponding representation, the first selectable option being selectable to initiate playback of a corresponding episode of the program and the second selectable option being selectable to display a context menu associated with the program via the display device, wherein a remainder of the corresponding representation is selectable to display a user interface for the program via the display device; and Based on determining that the corresponding representation is a representation of an episode of a program, a third selectable option and a fourth selectable option are displayed overlaid on the corresponding representation, the third selectable option being selectable to initiate playback of the episode of the program, and the fourth selectable option being selectable to display a context menu associated with the episode of the program via the display device, wherein the remainder of the corresponding representation is also selectable to initiate playback of the episode of the program.
6. The method according to claim 1, further comprising: displaying a user interface including a search text field and a main display area; While displaying the user interface, detecting that the search text field has received current focus; in response to detecting that the search text field has received the current focus, displaying a plurality of representations of suggested search terms in the primary display area; receiving a request to search for content using a particular search query while displaying the plurality of representations of suggested search terms in the primary display area; as well as In response to receiving the request to search for content using the particular search query: ceasing to display the plurality of representations of suggested search terms; and Based on the particular search query, a plurality of representations of search results are displayed in the primary display area.
7. The method of claim 6, wherein the plurality of representations of the search results are displayed in a user interface comprising: a first area including one or more representations of one or more top search results; a second area comprising one or more representations of episodes of the program; a third area comprising one or more representations of a program; as well as A fourth area includes one or more representations of hosts and / or guests of one or more programs.
8. The method of claim 7, wherein the first region includes a first representation of a first best search result, the method further comprising: detecting a hover event over the first representation of the first best search result; as well as In response to detecting the hover event over the first representation: based on determining that the first representation is a representation of a program, displaying a first selectable option overlaid on the first representation, the first selectable option being selectable to initiate playback of the program; based on determining that the first representation is a representation of an episode of a program, displaying a second selectable option overlaid on the first representation, the second selectable option being selectable to initiate playback of the episode of the program; and Based on determining that the first representation is a representation of a person, displaying selectable options overlaid on the first representation is foregone.
9. The method according to claim 1, further comprising: displaying, via the display device, a user interface for content, wherein the user interface for the content includes one or more representations of one or more persons associated with the content, including respective representations of respective persons associated with the content, wherein: Based on determining that the corresponding person associated with the content is a host of the content, the corresponding representation includes a visual indication that the corresponding person is a host; and Based on determining that the corresponding person associated with the content is a guest in the content, the corresponding representation includes a visual indication of an episode in which the corresponding person serves as the guest in the content.
10. A method according to claim 9, wherein the one or more representations of the one or more persons associated with the content include one or more images associated with the one or more persons, and the one or more images are capable of being selected to initiate a search for content to find content related to the one or more persons.
11. The method according to claim 9, further comprising: receiving, via the one or more input devices, an input selecting the visual indication while displaying the respective representation having the visual indication indicating the episode in which the respective person served as the guest in the content; as well as In response to receiving the input selecting the visual indication, scrolling to a corresponding portion of the user interface for the content, the corresponding portion including information about the episode in which the corresponding person served as the guest.
12. An electronic device, comprising: one or more processors; Memory; and One or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs comprising instructions for performing the method according to any one of claims 1 to 11.
13. A non-transitory computer-readable storage medium storing one or more programs, the one or more programs comprising instructions, which, when executed by one or more processors of an electronic device, cause the electronic device to perform the method according to any one of claims 1 to 11.
14. An electronic device, comprising: A button is provided for powering on and off the electronic device, wherein the button is operated by physically depressing the button and holding the button in a depressed state for a predefined time interval.
Citation Information
Patent Citations
Method and apparatus for integrating manual input
US20020015024A1
Acceleration-based theft detection system for portable electronic devices
US20050190059A1
Methods and apparatuses for operating a portable device based on an accelerometer
US20060017692A1
Gestures for touch sensitive input devices
US20060026521A1
Gestures for touch sensitive input devices
US20060026536A1