A device, method, and graphical user interface for wirelessly pairing with a peripheral device and displaying status information regarding the peripheral device
The electronic device addresses the inefficiencies of conventional pairing methods by implementing a faster and more efficient pairing interface that allows simultaneous pairing of multiple devices and displays status information, improving user experience and device efficiency.
Patent Information
- Application Number
- JP2023172092
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Priority Date
- 2016-09-20
- Filing Date
- 2023-10-03
- Publication Date
- 2025-06-26
- Estimated Expiration
- 2037-07-20
AI Technical Summary
Conventional methods for wireless pairing of electronic devices with peripheral devices are cumbersome and inefficient, especially when multiple peripheral devices are involved, requiring individual pairing for each device and lacking efficient status information display.
An electronic device with a faster and more efficient method and interface for pairing with peripheral devices, including simultaneous pairing of related devices and displaying status information, reduces user inputs and conserves power.
The solution improves the operability and efficiency of electronic devices by simplifying the pairing process, reducing user errors, and providing quick access to peripheral device status information, thereby enhancing user satisfaction and extending battery life.
Smart Images

Figure 0007699179000001 
Figure 0007699179000002 
Figure 0007699179000003
Abstract
Description
Technical Field
[0001] The present invention generally relates to wireless pairing of an electronic device, including but not limited to pairing the electronic device with a peripheral device and displaying status information regarding the peripheral device.
Background Art
[0002] The use of wireless peripheral devices that communicate with a user's electronic device (e.g., a smartphone, tablet, or other computing device) has increased significantly in recent years. Wireless pairing technologies such as Bluetooth® are often used to connect (``pair'') peripheral devices to such devices.
[0003] However, conventional methods for performing pairing are cumbersome and inefficient, especially when multiple peripheral devices are involved. For example, a user may need to individually pair each peripheral device with a given electronic device before using the peripheral device with the device.
Summary of the Invention
[0004] Accordingly, there is a need for an electronic device with a faster and more efficient method and interface for pairing with a peripheral device and displaying status information regarding the peripheral device. Such a method and interface optionally complements or replaces conventional methods for pairing peripheral devices. Such a method and interface reduces the number, scope, and / or type of user inputs and creates a more efficient human-machine interface. In battery-operated devices, such a method and interface conserves power and extends the time between battery charges.
[0005] The foregoing drawbacks and other problems associated with the user interface of an electronic device are reduced or eliminated by the disclosed device. In some embodiments, the device is a desktop computer. In some embodiments, the device is portable (e.g., a notebook computer, a tablet computer, or a handheld device). In some embodiments, the device is a personal electronic device (e.g., a wearable electronic device such as a watch). In some embodiments, the device has a touchpad. In some embodiments, the device has a touch-sensitive display (also known as a “touch screen” or “touch screen display”). In some embodiments, the device has a graphical user interface (GUI), one or more processors, memory, and one or more modules, programs, or sets of instructions stored in the memory for performing a plurality of functions. In some embodiments, the user interacts with the GUI primarily through a stylus and / or finger contacts and gestures on the touch-sensitive surface. In some embodiments, the functions optionally include image editing, drawing, presenting, word processing, spreadsheet creation, game play, making a phone call, video conferencing, sending an email, instant messaging, training support, digital photography, digital video recording, web browsing, digital music playback, note taking, and / or digital video playback. The executable instructions for performing those functions are optionally included in a non-transitory computer-readable storage medium or other computer program product configured to be executed by one or more processors.
[0006] According to some embodiments, the method is performed in an electronic device comprising a display, a radio frequency (RF) circuit for wirelessly communicating with one or more peripheral devices, and one or more input devices for receiving input from a user. The device displays a first user interface on the display. While the first user interface is being displayed, the device detects a pairing request to pair a first peripheral device with the electronic device. In response to detecting the pairing request, the device determines whether the first peripheral device meets a coupling criterion that requires the first peripheral device to be coupled to a second peripheral device. In accordance with the determination that the first peripheral device meets the coupling criterion, the device displays a pairing affordance that initiates pairing between the electronic device and the first peripheral device when activated by user input. In accordance with the determination that the first peripheral device does not meet the coupling criterion, the device displays information regarding the coupling between the first peripheral device and the second peripheral device.
[0007] According to some embodiments, an electronic device includes a display, a radio frequency (RF) circuit for wirelessly communicating with one or more peripheral devices, one or more input devices for receiving input from a user, and a processing unit coupled to the display unit, the radio frequency (RF) circuit, and the one or more input devices. The processing unit enables the display of a first user interface on the display unit. While the first user interface is being displayed, the processing unit detects a pairing request to pair a first peripheral device with the electronic device. In response to detecting the pairing request, the processing unit determines whether the first peripheral device meets a coupling criterion that requires the first peripheral device to be coupled to a second peripheral device. In accordance with the determination that the first peripheral device meets the coupling criterion, the processing unit enables the display of a pairing affordance that initiates pairing between the electronic device and the first peripheral device when activated by a user input. In accordance with the determination that the first peripheral device does not meet the coupling criterion, the processing unit enables the display of information regarding the coupling between the first peripheral device and the second peripheral device.
[0008] Thereby, an electronic device including a display, a radio frequency (RF) circuit, and one or more input devices is provided with a faster and more efficient method and interface for pairing with peripheral devices and displaying status information regarding the peripheral devices, thereby increasing the effectiveness, efficiency, and user satisfaction with such devices. Such methods and interfaces can complement or replace conventional methods for pairing peripheral devices.
Brief Description of the Drawings
[0009] To better understand the various embodiments described, the following "Modes for Carrying Out the Invention" should be referred to in conjunction with the following drawings. Here, like reference numerals refer to corresponding parts throughout all of those figures.
[0010]
Figure 1A
[0011]
Figure 1B
[0012]
Figure 2
[0013]
Figure 3
[0014]
Figure 4A
[0015]
Figure 4B
[0016]
Figure 5A
Figure 5B
Figure 5C
Figure 5D
Figure 5E
Figure 5F
Figure 5G
Figure 5H
Figure 5I
Figure 5J
Figure 5K
Figure 5L
Figure 5M
Figure 5N
Figure 5O
Figure 5P
Figure 5Q
Figure 5R
Figure 5S
Figure 5T
Figure 5U
Figure 5V
Figure 5W
Figure 5X
Figure 5Y
Figure 5Z
[0017]
Figure 6A
Figure 6B
Figure 6C
[0018]
Figure 7
DETAILED DESCRIPTION OF THE INVENTION
[0019] Many conventional electronic devices have the ability to pair with peripheral devices. However, when two or more peripheral devices are involved (e.g., two earbuds, or two earbuds and an earbud case), conventional electronic devices typically need to be paired individually with each peripheral device before use. In contrast, as described herein, related peripheral devices can be paired simultaneously with a given device, thereby providing the ability to synchronize pairings between multiple peripheral devices in response to a single pairing action. By providing an improved pairing function to the user, the operability of the device is improved, (e.g., by helping the user to efficiently pair multiple related peripheral devices with a single action, thereby reducing user errors when attempting to pair a given device with multiple related peripheral devices) making the user device interface more efficient. Without using this improved pairing process, the user would have to take additional steps to individually pair the device with different peripheral devices to achieve the same functionality as described herein. Pairing a device with multiple peripheral devices individually can be a time-consuming process, and due to the increased number of user inputs required to complete the pairing process, the user is more likely to make mistakes.
[0020] Furthermore, conventional electronic devices display little or no status information regarding paired peripheral devices. However, as described herein, when a peripheral device is in proximity to the device, status information regarding the peripheral device (e.g., one or more battery levels) is displayed. Providing status information of the peripheral device improves the operability of the device, (e.g., by providing access to information about the peripheral device without the user having to physically inspect each peripheral device) making the user device interface more efficient, thereby enabling the user to use the device and peripheral devices more quickly and efficiently.
[0021] The following, FIGS. 1A - 1B, 2, 3, and 7 provide an illustration of an exemplary device. FIGS. 4A - 4B and 5A - 5Z illustrate an exemplary user interface for selectively pairing a peripheral device with the exemplary device and selectively displaying status information regarding the peripheral device on the exemplary device. FIGS. 6A - 6C are flow diagrams showing a method of pairing an electronic device with a peripheral device and displaying status information regarding the peripheral device. The user interfaces of FIGS. 5A - 5Z are used to explain the process of FIGS. 6A - 6C. Exemplary device
[0022] Reference will now be made in detail to embodiments, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the various embodiments described. However, it will be apparent to those skilled in the art that the various embodiments described may be practiced without these specific details. In other instances, well - known methods, procedures, components, circuits, and networks have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.
[0023] It will be understood that terms such as first, second, etc. are used herein in some examples to describe various elements, but these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, without departing from the scope of the various embodiments described, a first contact may be referred to as a second contact, and similarly, a second contact may be referred to as a first contact. Both the first contact and the second contact are contacts, but they are not the same contact unless the context clearly indicates otherwise.
[0024] The terms used in the description of the various embodiments described herein are for the purpose of describing particular embodiments only and are not intended to be limiting. In the description of the various embodiments described and in the appended claims, the singular forms "a", "an", and "the" are intended to include the plural as well, unless the context clearly dictates otherwise. Also, as used herein, the term "and / or" refers to and includes any and all possible combinations of one or more of the associated listed items. It is to be understood that the terms "includes", "including", "comprises", and / or "comprising", when used herein, specify the presence of the stated features, integers, steps, operations, elements, and / or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and / or groups thereof.
[0025] As used herein, the term "if" optionally and contextually is interpreted to mean "when," "upon," "in response to determining," or "in response to detecting." Similarly, the phrases "if it is determined" or "if [a stated condition or event] is detected" optionally and contextually are interpreted to mean "upon determining" or "in response to determining," or "upon detecting [the stated condition or event]" or "in response to detecting [the stated condition or event]."
[0026] Embodiments of an electronic device, a user interface for such a device, and related processes for using such a device are described. In some embodiments, the device is a portable communication device such as a cellular phone that also includes other functions such as PDA functionality and / or music player functionality. Exemplary embodiments of portable multifunctional devices include, but are not limited to, the iPhone®, iPod Touch®, and iPad® devices from Apple Inc. of Cupertino, California. Other portable electronic devices such as laptop or tablet computers having a touch-sensitive surface (e.g., a touch screen display and / or a touch pad) may optionally be used. It is understood that in some embodiments, the device is not a portable communication device but a desktop computer having a touch-sensitive surface (e.g., a touch screen display and / or a touch pad).
[0027] In the following discussion, an electronic device including a display and a touch-sensitive surface is described. However, it is understood that the electronic device optionally includes one or more other physical user interface devices such as a physical keyboard, a mouse, and / or a joystick.
[0028] The device generally supports various applications such as one or more of a note-taking application, a drawing application, a presentation application, a word processing application, a website creation application, a disk authoring application, a spreadsheet application, a game application, a telephone application, a video conferencing application, an email application, an instant messaging application, a training support application, a photo management application, a digital camera application, a digital video camera application, a web browsing application, a digital music player application, and / or a digital video player application.
[0029] Various applications executed on the device optionally use at least one common physical user interface device, such as a touch sensing surface. One or more functions of the touch sensing surface, as well as the corresponding information displayed on the device, are optionally adjusted and / or changed for each application and / or within each respective application. In this way, the common physical architecture of the device (such as a touch sensing surface) optionally supports various applications with a user interface that is intuitive and transparent to the user.
[0030] Attention is now directed to an embodiment of a portable device having a touch sensing display. FIG. 1A is a block diagram showing a portable multifunctional device 100 having a touch sensing display system 112 according to some embodiments. The touch sensing display system 112 may be referred to as a "touch screen" for convenience, or simply as a touch sensing display. The device 100 includes a memory 102 (optionally including one or more computer-readable storage media), a memory controller 122, one or more processing units (CPUs) 120, a peripheral device interface 118, an RF circuit 108, an audio circuit 110, a speaker 111, a microphone 113, an input / output (I / O) subsystem 106, other input or control devices 116, and an external port 124. The device 100 optionally includes one or more light sensors 164. The device 100 optionally includes one or more intensity sensors 165 for detecting the intensity of contact on the device 100 (such as a touch sensing surface such as the touch sensing display system 112 of the device 100). The device 100 optionally includes one or more haptic output generators 167 for generating haptic output on the device 100 (such as generating haptic output on a touch sensing surface such as the touch sensing display system 112 of the device 100 or the touch pad 355 of the device 300). These components optionally communicate via one or more communication buses or signal lines 103.
[0031] As used in this specification and the claims, the term "haptic output" refers to the physical displacement of the device relative to its previous position, the physical displacement of a component of the device (e.g., a touch-sensing surface) relative to another component of the device (e.g., the housing), or the displacement of a component relative to the center of mass of the device, which will be detected by the user's sense of touch. For example, in a situation where the device or a component of the device is in contact with a surface of the user that is sensitive to touch (e.g., a finger, palm, or other part of the user's hand), the haptic output generated by the physical displacement will be interpreted by the user as a tactile sensation corresponding to a perceived change in the physical characteristics of the device or the component of the device. For example, the movement of a touch-sensing surface (e.g., a touch-sensing display or a trackpad) may optionally be interpreted by the user as a "down click" or "up click" of a physical actuator button. In some cases, even when there is no movement of the physical actuator button associated with the touch-sensing surface that has been physically pushed (e.g., displaced) by the user's action, the user may feel a tactile sensation such as a "down click" or "up click". As another example, the movement of a touch-sensing surface may optionally be interpreted or perceived by the user as the "roughness" of the touch-sensing surface, even if there is no change in the smoothness of the touch-sensing surface. Such interpretation of touch by the user depends on the user's individual sensory perception, but there are many sensory perceptions of touch that are common to the majority of users. Therefore, when a haptic output is described as corresponding to a particular sensory perception of the user (e.g., "up click", "down click", "roughness"), unless otherwise stated, the generated haptic output corresponds to the physical displacement of the device or a component of the device that generates the described sensory perception of a typical (or average) user.
[0032] Device 100 is merely an example of a portable multifunctional device, and it should be understood that device 100 may optionally have more or fewer components than those shown, may optionally combine two or more components, or may optionally have different configurations or arrangements of those components. The various components shown in FIG. 1A are implemented in hardware, software, firmware, or a combination thereof, including one or more signal processing circuits and / or application specific integrated circuits.
[0033] Memory 102 optionally includes high-speed random access memory and also optionally includes non-volatile memory such as one or more magnetic disk storage devices, flash memory devices, or other non-volatile solid state memory devices. Access to memory 102 by other components of device 100, such as CPU(s) 120 and peripheral interface 118, is optional and is controlled by memory controller 122.
[0034] Peripheral interface 118 is used to couple the input and output peripheral devices of the device to CPU(s) 120 and memory 102. One or more processors 120 operate or execute various software programs and / or instruction sets stored in memory 102 to perform various functions for device 100 and process data.
[0035] In some embodiments, peripheral interface 118, CPU(s) 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.
[0036] The RF (radio frequency) circuit 108 transmits and receives RF signals, also called electromagnetic signals. The RF circuit 108 converts electrical signals into electromagnetic signals or vice versa and communicates with communication networks and other communication devices via electromagnetic signals. The RF circuit 108 optionally includes well-known circuits for performing these functions, including, but not limited to, an antenna system, an RF transceiver, one or more amplifiers, a tuner, one or more oscillators, a digital signal processor, a CODEC chipset, a subscriber identity module (SIM) card, memory, and the like. The RF circuit 108 optionally communicates wirelessly with networks such as the Internet, also called the World Wide Web, an intranet, and / or a wireless network such as a cellular telephone network, a wireless local area network (LAN), and / or a metropolitan area network (MAN), as well as with other devices. Wireless communication optionally uses any of a plurality of communication standards, communication protocols, and communication technologies, including, but not limited to, the Global System for Mobile Communications (GSM) for mobile communication, the 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 (WCDMA), etc.Wideband Code Division Multiple Access (W-CDMA), Code Division Multiple Access (CDMA), Time Division Multiple Access (TDMA), Bluetooth, Wireless Fidelity (Wi-Fi) (registered trademark) (e.g., IEEE 802.11a, IEEE 802.11ac, IEEE 802.11ax, IEEE 802.11b, IEEE 802.11g, and / or IEEE 802.11n), Voice over Internet Protocol (VoIP), WiMAX, protocols for e-mail (e.g., Internet Message Access Protocol (IMAP) and / or Post Office Protocol (POP)), instant messaging (e.g., Extensible Messaging and Presence Protocol (XMPP), Session Initiation Protocol for Instant Messaging and Presence Leveraging 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, but not limited thereto.
[0037] The audio circuit 110, the speaker 111, and the microphone 113 provide an audio interface between the user and the device 100. The audio circuit 110 receives audio data from the peripheral device interface 118, converts this audio data into an electrical signal, and transmits this electrical signal to the speaker 111. The speaker 111 converts the electrical signal into human audible sound waves. Also, the audio circuit 110 receives the electrical signal converted from sound waves by the microphone 113. The audio circuit 110 converts the electrical signal into audio data and transmits this audio data to the peripheral device interface 118 for processing. The audio data is optionally obtained 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 further includes a headset jack (e.g., 212, FIG. 2). The headset jack provides an interface between the audio circuit 110 and a detachable audio input / output peripheral device such as an output-only headset or a headset having both an output (e.g., mono or stereo headphones) and an input (e.g., a microphone).
[0038] The I / O subsystem 106 couples input / output peripheral devices on the device 100, such as the touch sensing display system 112 and other input or control devices 116, to the peripheral device interface 118. The I / O subsystem 106 optionally includes a display controller 156, a light 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 electrical signals from, and transmit electrical signals to, the other input or control devices 116. The other input or control devices 116 optionally include physical buttons (e.g., push buttons, rocker buttons, etc.), dials, slider switches, joysticks, click wheels, and the like. In some alternative embodiments, the input controller(s) 160 are optionally coupled to (or not coupled to any of) a pointer device such as a keyboard, an infrared port, a USB port, a stylus, and / or a mouse. One or more buttons (e.g., 208, FIG. 2) optionally include up / down buttons for volume control of the speaker 111 and / or the microphone 113. One or more buttons optionally include push buttons (e.g., 206, FIG. 2).
[0039] The touch-sensing display system 112 provides an input interface and an output interface between the device and the user. The display controller 156 receives electrical signals from, and / or transmits electrical signals to, the touch-sensing display system 112. The touch-sensing display system 112 displays visual output to the user. This visual output optionally includes graphics, text, icons, video, and any combination thereof (collectively "graphics"). In some embodiments, some or all of the visual output corresponds to user interface objects. As used herein, the term "affordance" refers to a user-interactive graphical user interface object (e.g., a graphical user interface object configured to respond to input directed towards the graphical user interface object). Examples of user-interactive graphical user interface objects include, but are not limited to, buttons, sliders, icons, selectable menu items, switches, hyperlinks, or other user interface controls.
[0040] The touch-sensing display system 112 has a touch-sensing surface, sensor, or set of sensors that receives input from the user based on tactile and / or haptic contact. (Together with any associated modules and / or instruction sets within the memory 102) The touch-sensing display system 112 and the display controller 156 detect contact (and any movement or interruption of the contact) on the touch-sensing display system 112 and convert the detected contact into an interaction with a user interface object (e.g., one or more soft keys, icons, web pages, or images) displayed on the touch-sensing display system 112. In one exemplary embodiment, the point of contact between the touch-sensing display system 112 and the user corresponds to the user's finger or stylus.
[0041] The touch-sensing display system 112 optionally uses LCD (liquid crystal display) technology, LPD (light emitting polymer display) technology, or LED (light emitting diode) technology, although in other embodiments, other display technologies are used. The touch-sensing display system 112 and the display controller 156 optionally include capacitive technology, resistive technology, infrared technology, and surface acoustic wave technology, as well as other proximity sensor arrays or other elements for determining one or more contact points with the touch-sensing display system 112, including, but not limited to, any of a plurality of touch-sensing technologies now known or later developed, to detect contact and any movement or interruption thereof. In an exemplary embodiment, projective mutual capacitance sensing technology, such as that found in the iPhone®, iPod Touch®, and iPad® from Apple Inc. (Cupertino, California), is used.
[0042] The touch-sensing display system 112 optionally has a video resolution greater than 100 dpi. In some embodiments, the video resolution of the touch screen is greater than 400 dpi (e.g., 500 dpi, 800 dpi, or higher). The user optionally uses any suitable object or appendage, such as a stylus, finger, etc., to contact the touch-sensing display system 112. In some embodiments, the user interface is designed to function with finger-based contact and gestures, which may be less accurate than stylus-based input due to the larger area of finger contact on the touch screen. In some embodiments, the device converts rough finger-based input into an accurate pointer / cursor position or command for performing the action desired by the user.
[0043] In some embodiments, in addition to the touch screen, device 100 optionally includes a touch pad (not shown) for activating or deactivating certain functions. In some embodiments, the touch pad, unlike the touch screen, is a touch-sensitive area of the device that does not display visual output. The touch pad is optionally a touch-sensitive surface separate from the touch-sensitive display system 112, or an extension of the touch-sensitive surface formed by the touch screen.
[0044] Device 100 also includes a power system 162 that supplies power to various components. The power system 162 optionally includes a power management system, one or more power sources (e.g., battery, alternating current (AC)), a recharge system, a power outage detection circuit, a power converter or inverter, a power status indicator (e.g., light-emitting diode (LED)), and any other components associated with the generation, management, and distribution of power within a portable device.
[0045] In addition, device 100 optionally includes one or more optical sensors 164. FIG. 1A shows an optical sensor coupled to an optical sensor controller 158 within I / O subsystem 106. The optical sensor(s) 164 optionally include a charge-coupled device (CCD) or a complementary metal oxide semiconductor (CMOS) phototransistor. The optical sensor(s) 164 receive light from the environment projected through one or more lenses and convert the light into data representing an image. In cooperation with imaging module 143 (also referred to as a camera module), the optical sensor(s) 164 optionally capture still images and / or video. In some embodiments, the optical sensor is disposed on the back surface of device 100, opposite touch sensing display system 112 on the front surface of the device, so that the touch screen can be used as a viewfinder for acquiring still and / or video images. In some embodiments, another optical sensor is disposed on the front surface of the device so that an image of the user is acquired (e.g., for a self-portrait, for a video conference while the user is looking at other video conference participants on the touch screen, etc.).
[0046] In addition, device 100 optionally includes one or more contact intensity sensors 165. FIG. 1A shows a contact intensity sensor coupled to intensity sensor controller 159 within I / O subsystem 106. The contact intensity sensor(s) 165 optionally includes one or more piezoresistive strain gauges, capacitive force sensors, electro-force sensors, piezoelectric force sensors, optical force sensors, capacitive touch sensing surfaces, or other intensity sensors (e.g., sensors used to measure the force (or pressure) of contact on a touch sensing surface). The contact intensity sensor(s) 165 receives contact intensity information (e.g., pressure information or a proxy for pressure information) from the environment. In some embodiments, at least one contact intensity sensor is juxtaposed with, or in proximity to, a touch sensing surface (e.g., touch sensing display system 112). In some embodiments, at least one contact intensity sensor is disposed on the back surface of device 100, opposite a touch screen display system 112 located on the front surface of device 100.
[0047] In addition, device 100 optionally includes one or more proximity sensors 166. FIG. 1A shows a proximity sensor 166 coupled to peripheral device interface 118. Alternatively, proximity sensor 166 is coupled to input controller 160 within I / O subsystem 106. In some embodiments, when a multifunctional device is placed near a user's ear (e.g., when the user is on a phone call), the proximity sensor turns off and disables touch sensing display system 112.
[0048] Device 100 also optionally includes one or more haptic output generators 167. FIG. 1A shows a haptic output generator coupled to haptic feedback controller 161 within I / O subsystem 106. The haptic output generator(s) 167 optionally includes one or more electroacoustic devices, such as a speaker or other audio components, and / or an electromechanical device that converts energy into linear motion, such as a motor, solenoid, electroactive polymer, piezoelectric actuator, electrostatic actuator, or other haptic output generating component (e.g., a component that converts an electrical signal on the device into a haptic output). The haptic output generator(s) 167 receives haptic feedback generation instructions from haptic feedback module 133 and generates a haptic output on device 100 that can be sensed by a user of device 100. In some embodiments, at least one haptic output generator is disposed on or proximate to a touch sensing surface (e.g., touch sensing display system 112) and optionally generates a haptic output by moving the touch sensing surface in a vertical direction (e.g., in / out of the surface of device 100) or a horizontal direction (e.g., back and forth within the same plane as the surface of device 100). In some embodiments, at least one haptic output generator sensor is disposed on the back surface of device 100, opposite the touch sensing display system 112 located on the front surface of device 100.
[0049] Device 100 also optionally includes one or more accelerometers 168. FIG. 1A shows an accelerometer 168 coupled to the peripheral device interface 118. Alternatively, the accelerometer 168 is optionally coupled to the input controller 160 within the I / O subsystem 106. In some embodiments, information is displayed on the touch screen display in a portrait or landscape view based on an analysis of data received from one or more accelerometers. Device 100 optionally includes, in addition to the accelerometer(s) 168, a magnetometer (not shown) and a GPS (or GLONASS or other global navigation system) receiver (not shown) for obtaining information regarding the position and orientation of device 100 (e.g., portrait or landscape).
[0050] In some embodiments, the software components stored in the 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 haptic feedback module (or instruction set) 133, 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. Further, in some embodiments, as shown in FIGS. 1A and 3, the memory 102 stores a device / global internal state 157. The device / global internal state 157 includes one or more of an active application state indicating which application is active if there is a currently active application, a display state indicating which application, view, or other information occupies various regions of the touch-sensitive display system 112, a sensor state including information obtained from various sensors of the device and other input or control devices 116, and position and / or orientation information regarding the position and / or orientation of the device.
[0051] The operating system 126 (e.g., an embedded operating system such as iOS, Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, or VxWorks) includes various software components and / or drivers for controlling and managing overall system tasks (e.g., memory management, storage device control, power management, etc.), and facilitates communication between various hardware components and software components.
[0052] 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 circuit 108 and / or the external port 124. The external port 124 (e.g., Universal Serial Bus (USB), FIREWIRE (registered trademark), etc.) is adapted to connect directly or indirectly via a network (e.g., the Internet, a wireless LAN, etc.) to other devices. In some embodiments, the external port is the same as or similar to, and / or a compatible multi-pin (e.g., 30-pin) connector used in some iPhone (registered trademark), iPod Touch (registered trademark), and iPad (registered trademark) devices from Apple Inc. of Cupertino, California. In some embodiments, the external port is the same as or similar to, and / or a compatible Lightning connector used in some iPhone (registered trademark), iPod Touch (registered trademark), and iPad (registered trademark) devices from Apple Inc. of Cupertino, California.
[0053] The contact / motion module 130 optionally detects contact with the touch sensing display system 112 (in cooperation with the display controller 156) and contact with other touch sensing devices (e.g., a touch pad or a physical click wheel). The contact / motion module 130 includes software components for performing various operations related to the detection of contact (e.g., by a finger or a stylus), such as determining whether contact has occurred (e.g., detecting a finger down event), determining the intensity of the contact (e.g., the force or pressure of the contact, or something in place of the force or pressure of the contact), determining whether there is movement of the contact, and tracking movement across the touch sensing surface (e.g., detecting a drag event of one or more fingers), and determining whether the contact has stopped (e.g., detecting a finger up event or an interruption of the contact). The contact / motion module 130 receives contact data from the touch sensing surface. Determining the movement of the contact point, represented by a series of contact data, optionally includes determining the speed (magnitude), velocity (magnitude and direction), and / or acceleration (change in magnitude and / or direction) of the contact point. These operations are optionally applicable to a single contact (e.g., contact by one finger or a stylus) or multiple simultaneous contacts (e.g., "multi-touch" / contact by multiple fingers). In some embodiments, the contact / motion module 130 and the display controller 156 detect contact on the touch pad.
[0054] The contact / motion module 130 optionally detects gesture inputs by a user. Different gestures on the touch sensing surface have different contact patterns (e.g., the detected contact movement, timing, and / or intensity are different). Thus, gestures are optionally detected by detecting a specific contact pattern. For example, detecting a finger tap gesture includes detecting a finger down event and subsequently detecting a finger up (lift off) event at the same position (or substantially the same position) as the finger down event (e.g., at the position of an icon). As another example, detecting a finger swipe gesture on the touch sensing surface includes detecting a finger down event, subsequently detecting one or more finger drag events, and then detecting a finger up (lift off) event. Similarly, taps, swipes, drags, and other gestures are optionally detected for a stylus by detecting a specific contact pattern for the stylus.
[0055] In some embodiments, detecting a finger tap gesture depends on the length of time between detecting a finger down event and detecting a finger up event, and is not related to the intensity of finger contact between detecting the finger down event and detecting the finger up event. In some embodiments, a tap gesture is detected according to a determination that the length of time between the finger down event and the finger up event is shorter than a predetermined value (e.g., shorter than 0.1, 0.2, 0.3, 0.4, or 0.5 seconds), regardless of whether the intensity of finger contact during the tap meets a given intensity threshold such as a light press or deep press intensity threshold (greater than a nominal contact detection intensity threshold). Thus, a finger tap gesture can meet certain input criteria that do not require the characteristic intensity of contact to meet a given intensity threshold for the particular input criteria to be met. For clarity, finger contact in a tap gesture generally needs to meet a nominal contact detection intensity threshold below which contact is not detected in order to detect a finger down event. A similar analysis applies to detecting a tap gesture or other contact by a stylus. In cases where the device can detect contact of a finger or stylus hovering over the touch sensing surface, the nominal contact detection intensity threshold is optional and does not correspond to physical contact between the finger or stylus and the touch sensing surface.
[0056] In a similar manner, the same concept is applied to other types of gestures. For example, a swipe gesture, a pinch gesture, a spread gesture, and / or a long-press gesture are optionally detected based on meeting criteria that are either not related to the intensity of the contact included in the gesture or do not require the contact executing the gesture to reach an intensity threshold for recognition. For example, a swipe gesture is detected based on the amount of movement of one or more contacts, a pinch gesture is detected based on the movement of two or more contacts moving towards each other, a spread gesture is detected based on the movement of two or more contacts moving away from each other, and a long-press gesture is detected based on the duration of the contact on the touch-sensitive surface that is less than a threshold amount of movement. Thus, the statement that a particular gesture recognition criterion does not require the intensity of the contact(s) to meet respective intensity thresholds for the particular gesture recognition criterion to be met means that it is possible for the particular gesture recognition criterion to be met when the contact(s) in the gesture do not reach their respective intensity thresholds, and it is also possible for it to be met in situations where one or more of the contacts in the gesture do not reach their respective intensity thresholds or do not exceed the intensity thresholds. In some embodiments, a tap gesture is detected based on a determination that a finger-down event and a finger-up event are detected within a predetermined time period regardless of whether the contact exceeds or falls below its respective intensity threshold during the predetermined time period, and a swipe gesture is detected based on a determination that the movement of the contact is greater than a predetermined magnitude even if the contact exceeds its respective intensity threshold at the end of the movement of the contact. Even in embodiments where the detection of the gesture is affected by the intensity of the contact executing the gesture (e.g., the device detects a long press more quickly when the intensity of the contact exceeds the intensity threshold, or the device is slower to detect a tap input when the intensity of the contact is higher), as long as the criteria for recognizing the gesture can be met in situations where the contact does not reach a particular intensity threshold (e.g., even if the amount of time required to recognize the gesture changes), the detection of those gestures does not require the contact to reach a particular intensity threshold.
[0057] The contact intensity threshold, the duration threshold, and the movement threshold are combined in various different combinations in order to create heuristics for distinguishing between two or more different gestures that are directed at the same input element or region in some situations, thereby enabling a richer set of user interactions and responses with the same input element. The description that a particular set of gesture recognition criteria does not require the intensity of the contact(s) to meet their respective intensity thresholds in order for a particular gesture recognition criterion to be satisfied does not preclude the simultaneous evaluation of other intensity-dependent gesture recognition criteria that have criteria that are satisfied when the gesture includes contacts having an intensity that exceeds their respective intensity thresholds. For example, in some situations, a first gesture recognition criterion for a first gesture that does not require the intensity of the contact(s) to meet their respective intensity thresholds in order for the first gesture recognition criterion to be satisfied is in a competitive relationship with a second gesture recognition criterion for a second gesture that depends on the contact(s) reaching their respective intensity thresholds. In such a competition, the gesture is optionally not recognized as satisfying the first gesture recognition criterion for the first gesture if the second gesture recognition criterion for the second gesture is satisfied first. For example, if the contact reaches its respective intensity threshold before the contact moves a predetermined amount of movement, a deep press gesture rather than a swipe gesture is detected. Conversely, if the contact moves a predetermined amount of movement before the contact reaches its respective intensity threshold, a swipe gesture rather than a deep press gesture is detected. Even in such situations, the first gesture recognition criterion for the first gesture still does not require the intensity of the contact(s) to meet their respective intensity thresholds in order for the first gesture recognition criterion to be satisfied, because if the contact remains below its respective intensity threshold until the end of the gesture (e.g., a swipe gesture having a contact that does not increase to an intensity exceeding its respective intensity threshold), the gesture is recognized by the first gesture recognition criterion as a swipe gesture.In this way, certain gesture recognition criteria that do not require the intensity of the contact(s) to meet respective intensity thresholds for a particular gesture recognition to be satisfied are such that (A) in some situations, they ignore the intensity of the contact with respect to an intensity threshold (e.g., for a tap gesture), and / or (B) in some situations, they still depend on the intensity of the contact with respect to an intensity threshold in the sense that if a competing set of intensity-dependent gesture recognition criteria (e.g., for a deep press gesture) recognizes the input as corresponding to an intensity-dependent gesture before a particular gesture recognition criteria (e.g., for a long press gesture) that recognizes a gesture corresponding to the input (e.g., a long press gesture competing with the deep press gesture for recognition) functions, the particular gesture recognition criteria (e.g., for the long press gesture) does not function.
[0058] The graphic module 132 includes various known software components for rendering and displaying graphics on a touch-sensitive display system 112 or other display, including components for changing visual effects of the displayed graphics (e.g., brightness, transparency, saturation, contrast, or other visual characteristics). As used herein, the term "graphic" includes any object that can be displayed to a user, including but not limited to text, web pages, icons (such as user interface objects including soft keys), digital images, videos, and animations.
[0059] In some embodiments, the graphic module 132 stores data representing the graphics used. Each graphic is optionally assigned a corresponding code. The graphic module 132 receives one or more codes specifying the graphic to be displayed, along with coordinate data and other graphic characteristic data as needed, from an application or the like, and then generates screen image data to output to the display controller 156.
[0060] The tactile feedback module 133 includes various software components for generating instructions to be used by the tactile output generator(s) 167 to generate tactile output at one or more locations on the device 100 in response to user interaction with the device 100.
[0061] The text input module 134 is optionally a component of the graphic module 132 and provides a soft keyboard for entering text in various applications (e.g., contacts 137, email 140, IM 141, browser 147, and any other application that requires text input).
[0062] The GPS module 135 determines the location of the device and provides this information for use in various applications (e.g., to the phone 138 for location-based calling, to the camera 143 as metadata for photos / videos, and to applications that provide location-based services such as weather widgets, local yellow page widgets, and map / navigation widgets).
[0063] The application 136 optionally includes the following modules (or sets of instructions) or subsets or supersets thereof. ● Contacts module 137 (sometimes also referred to as an address book or contacts list), ● Phone module 138, ● Video conferencing module 139, ● Email client module 140, ● Instant message (IM) module 141, ● Training support module 142, ● Camera module 143 for still and / or video images, ● Image management module 144, ● Browser module 147, ● Calendar module 148, ● The widget module 149 optionally includes one or more of the weather widget 149-1, the stock price widget 149-2, the calculator widget 149-3, the alarm clock widget 149-4, the dictionary widget 149-5, and other widgets acquired by the user, as well as the user-created widget 149-6. ● The widget creation module 150 for creating the user-created widget 149-6. ● The search module 151. ● The video and music player module 152 optionally composed of a video player module and a music player module. ● The memo module 153. ● The map module 154, and / or ● The online video module 155.
[0064] Examples of other applications 136 optionally stored in the memory 102 include other word processing applications, other image editing applications, drawing applications, presentation applications, JAVA (registered trademark)-compatible applications, encryption, digital rights management, speech recognition, and speech replication.
[0065] Together with touch sensing display system 112, display controller 156, contact module 130, graphic module 132, and text input module 134, contact module 137 includes executable instructions for managing an address book or contact list (e.g., stored in the application internal state 192 of contact module 137 in memory 102 or memory 370), including adding a name(s) to the address book, deleting a name(s) from the address book, associating a phone number(s), email address(es), address(es), or other information with a name, associating an image with a name, sorting and categorizing names, providing a phone number and / or email address to initiate and / or facilitate communication by phone 138, video conference 139, email 140, or IM 141, and the like.
[0066] In conjunction with RF circuitry 108, audio circuitry 110, speaker 111, microphone 113, touch sensing display system 112, display controller 156, contact module 130, graphic module 132, and text input module 134, phone module 138 includes executable instructions for entering a sequence of characters corresponding to a phone number, accessing one or more phone numbers in address book 137, changing an entered phone number, dialing each phone number, conducting a conversation, disconnecting or hanging up the phone when the conversation is complete. As described above, wireless communication optionally uses any of a plurality of communication standards, protocols, and technologies.
[0067] In cooperation with the RF circuit 108, the audio circuit 110, the speaker 111, the microphone 113, the touch sensing display system 112, the display controller 156, the optical sensor(s) 164, the optical sensor controller 158, the contact module 130, the graphic module 132, the text input module 134, the contact list 137, and the phone module 138, the video conferencing module 139 includes executable instructions to initiate, conduct, and end a video conference between the user and one or more other participants according to the user's command.
[0068] In cooperation with the RF circuit 108, the touch sensing display system 112, the display controller 156, the contact module 130, the graphic module 132, and the text input module 134, the email client module 140 includes executable instructions to create, send, receive, and manage emails in response to the user's instructions. In relation to the image management module 144, the email client module 140 makes it very easy to create and send emails with still or video images captured by the camera module 143.
[0069] Together with RF circuit 108, touch sensing display system 112, display controller 156, contact module 130, graphic module 132, and text input module 134, instant message module 141 includes executable instructions for entering an instant message and a corresponding string, modifying the entered characters, sending each instant message (e.g., using the Short Message Service (SMS) or Multimedia Message Service (MMS) protocol for phone - based instant messages, or using XMPP, SIMPLE, Apple Push Notification Service (APNs), or IMPS for Internet - based instant messages), receiving instant messages, and viewing the received instant messages. In some embodiments, the instant messages sent and / or received optionally include graphics, photos, audio files, video files, and / or other attached files, such as those supported by MMS and / or Enhanced Messaging Service (EMS). As used herein, "instant message" 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, APNs, or IMPS).
[0070] Together with the RF circuit 108, touch sensing display system 112, display controller 156, contact module 130, graphics module 132, text input module 134, GPS module 135, map module 154, and music player module 146, the training support module 142 creates training (e.g., having time, distance, and / or calorie burn goals), communicates with training sensors (within the sports device and smartwatch), receives training sensor data, calibrates sensors used to monitor training, selects and plays music for training, and includes executable instructions to display, store, and transmit training data.
[0071] Together with the touch sensing display system 112, display controller 156, light sensor(s) 164, light sensor controller 158, contact module 130, graphics module 132, and image management module 144, the camera module 143 includes executable instructions to capture still images or videos (including video streams) and store them in the memory 102, modify the characteristics of the still images or videos, and / or delete still images or videos from the memory 102.
[0072] Together with the touch sensing display system 112, display controller 156, contact module 130, graphics module 132, text input module 134, and camera module 143, the image management module 144 includes executable instructions to arrange, modify (e.g., edit), or otherwise manipulate still images and / or video images, label, delete, present (e.g., within a digital slide show or album), and store them.
[0073] Together with the RF circuit 108, the touch sensing display system 112, the display system controller 156, the contact module 130, the graphic module 132, and the text input module 134, the browser module 147 includes executable instructions that browse the Internet according to user instructions, including searching for, linking to, receiving, and displaying web pages or portions thereof, as well as attached files and other files linked to the web pages.
[0074] Together with the RF circuit 108, the touch sensing display system 112, the display system controller 156, the contact module 130, the graphic module 132, the text input module 134, the email client module 140, and the browser module 147, the calendar module 148 includes executable instructions that create, display, modify, and store a calendar and data associated with the calendar (e.g., calendar items, to-do lists, etc.) according to user instructions.
[0075] Together with RF circuit 108, touch sensing display system 112, display system controller 156, contact module 130, graphic module 132, text input module 134, and browser module 147, widget module 149 is optionally a mini-application (e.g., weather widget 149-1, stock price widget 149-2, calculator widget 149-3, alarm clock widget 149-4, and dictionary widget 149-5) downloaded and used by the user, or a mini-application created by the user (e.g., 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 (registered trademark) file. In some embodiments, the widget includes an XML (Extensible Markup Language) file and a JavaScript file (e.g., Yahoo! widget).
[0076] In cooperation with RF circuit 108, touch sensing display system 112, display system controller 156, contact module 130, graphic module 132, text input module 134, and browser module 147, widget creation module 150 includes executable instructions for creating a widget (e.g., changing a user-specified portion of a web page into a widget).
[0077] In cooperation with touch sensing display system 112, display system controller 156, contact module 130, graphic module 132, and text input module 134, search module 151 includes executable instructions for searching for text, music, sound, images, video, and / or other files in memory 102 that match one or more search criteria (e.g., one or more user-specified search phrases) according to a user's command.
[0078] In cooperation with the touch sensing display system 112, the display system controller 156, the contact module 130, the graphic module 132, the audio circuit 110, the speaker 111, the RF circuit 108, and the browser module 147, the video and music player module 152 includes executable instructions that enable a user to download and play recorded music or other sound files stored in one or more file formats such as MP3 or AAC files, and executable instructions to display, present, or otherwise play video (e.g., on the touch sensing display system 112 or on an external display connected wirelessly or via the external port 124). In some embodiments, the device 100 optionally includes the functionality of an MP3 player such as an iPod (trademark of Apple).
[0079] In cooperation with the touch sensing display system 112, the display controller 156, the contact module 130, the graphic module 132, and the text input module 134, the memo module 153 includes executable instructions to create and manage memos, lists of things to do, etc. according to the user's instructions.
[0080] In cooperation with the RF circuit 108, the touch sensing display system 112, the display system controller 156, the contact module 130, the graphic module 132, the text input module 134, the GPS module 135, and the browser module 147, the map module 154 includes executable instructions to receive, display, modify, and store maps and data associated with the maps (e.g., driving directions, data about stores and other points of interest at or near a particular location, and other location-based data) according to the user's instructions.
[0081] In cooperation with the touch sensing display system 112, the display system controller 156, the touch module 130, the graphic module 132, the audio circuit 110, the speaker 111, the RF circuit 108, the text input module 134, the email client module 140, and the browser module 147, the online video module 155 includes executable instructions that enable a user to access, view, receive (e.g., by streaming and / or downloading), play (e.g., on the touch screen 112 or on an external display connected wirelessly or via the external port 124), send an email having a link to a particular online video, and manage in other ways one or more file format online videos such as H.264. In some embodiments, instead of the email client module 140, the instant messaging module 141 is used to send a link to a particular online video.
[0082] Each of the above identified modules and applications corresponds to a set of executable instructions that perform one or more of the functions described above, as well as the methods described in this application (e.g., methods performed by a computer and other information processing methods described herein). Those modules (i.e., sets of instructions) need not be implemented as separate software programs, procedures, or modules, and thus, various subsets of those modules may optionally be combined or otherwise rearranged in various embodiments. In some embodiments, the memory 102 optionally stores a subset of the modules and data structures identified above. Further, the memory 102 optionally stores additional modules and data structures not described above.
[0083] In some embodiments, device 100 is a device in which the operation of a set of predetermined functions in the device is performed only through the touch screen and / or touch pad. By using the touch screen and / or touch pad as the main input control device for the operation of device 100, optionally, the number of physical input control devices (push buttons, dials, etc.) on device 100 is reduced.
[0084] The set of predetermined functions that are executed only through the touch screen and / or touch pad optionally includes navigation between user interfaces. In some embodiments, the touch pad navigates device 100 from any user interface displayed on device 100 to the main menu, home menu, or root menu when touched by the user. In such embodiments, the "menu button" is implemented using the touch pad. In some other embodiments, the menu button is a physical push button or other physical input control device rather than the touch pad.
[0085] FIG. 1B is a block diagram showing exemplary components for event processing according to some embodiments. In some embodiments, memory 102 (in FIG. 1A) or 370 (in FIG. 3) includes an event sorting unit 170 (e.g., within operating system 126) and respective applications 136-1 (e.g., any one of the applications 136, 137 to 155, 380 to 390 described above).
[0086] The event sorting unit 170 receives event information and determines the application 136-1 to which the event information is to be distributed and the application view 191 of the application 136-1. The event sorting unit 170 includes an event monitor 171 and an event dispatcher module 174. In some embodiments, the application 136-1 includes an application internal state 192 that indicates the current application view(s) displayed on the touch-sensitive display system 112 when the application is active or running. In some embodiments, the device / global internal state 157 is used by the event sorting unit 170 to determine which application(s) is / are currently active, and the application internal state 192 is used by the event sorting unit 170 to determine the application view 191 to which the event information is to be distributed.
[0087] In some embodiments, the application internal state 192 includes additional information such as resume information used when the application 136-1 resumes execution, user interface state information indicating information that is being displayed or is ready to be displayed by the application 136-1, a state waiting queue that enables the user to return to a previous state or view of the application 136-1, and a redo / undo waiting queue for previous actions performed by the user.
[0088] The event monitor 171 receives event information from the peripheral device interface 118. The event information includes information about sub-events (e.g., a user's touch on the touch-sensitive display system 112 as part of a multi-touch gesture). The peripheral device interface 118 transmits information received from sensors such as the I / O subsystem 106, or the proximity sensor 166, the accelerometer(s) 168, and / or the microphone 113 (via the audio circuit 110). The information that the peripheral device interface 118 receives from the I / O subsystem 106 includes information from the touch-sensitive display system 112 or the touch-sensitive surface.
[0089] In some embodiments, the event monitor 171 transmits requests to the peripheral device interface 118 at predetermined intervals. In response, the peripheral device interface 118 transmits event information. In other embodiments, the peripheral device interface 118 transmits event information only when a significant event (e.g., receiving an input that exceeds a predetermined noise threshold and / or is longer than a predetermined period) exists.
[0090] In some embodiments, the event sorter 170 also includes a hit view determination module 172 and / or an active event recognition unit determination module 173.
[0091] The hit view determination module 172 provides software procedures for determining where within one or more views a sub-event has occurred when the touch-sensitive display system 112 displays two or more views. A view is composed of controls and other elements that a user can view on the display.
[0092] Another aspect of the user interface associated with an application is a set of views, sometimes referred to herein as application views or user interface windows, within which information is displayed and touch-based gestures occur. The application views (for each respective application) in which touches are detected optionally correspond to a program level within the program hierarchy or view hierarchy of the application. For example, the lowest-level view in which a touch is detected is optionally referred to as the hit view, and the set of events recognized as appropriate input is optionally determined at least in part based on the hit view of the initial touch that initiates a touch-based gesture.
[0093] The hit view determination module 172 receives information related to sub-events of touch-based gestures. When the application has a plurality of hierarchically structured views, the hit view determination module 172 identifies the hit view as the lowest-level view within the hierarchy in which the sub-event is to be processed. In most situations, the hit view is the lowest-level view in which the starting sub-event (i.e., the first sub-event in a series of sub-events that form an event or potential event) occurs. Once the hit view is identified by the hit view determination module, the hit view typically receives all sub-events related to the same touch or input source for which it was identified as the hit view.
[0094] The active event recognition unit determination module 173 determines which view(s) within the view hierarchy should receive a particular sequence of sub-events. In some embodiments, the active event recognition unit determination module 173 determines that only the hit view should receive a particular sequence of sub-events. In other embodiments, the active event recognition unit determination module 173 determines that all views including the physical location of the sub-event are views that are actively involved, and thus determines that all views that are actively involved should receive a particular sequence of sub-events. In other embodiments, even if a touch sub-event is completely limited to an area related to one particular view, the upper-level views within the hierarchy still remain views that are actively involved.
[0095] The event dispatcher module 174 dispatches event information to the event recognition unit (e.g., event recognition unit 180). In embodiments including the active event recognition unit determination module 173, the event dispatcher module 174 dispatches event information to the event recognition unit determined by the active event recognition unit determination module 173. In some embodiments, the event dispatcher module 174 stores the event information obtained by each event receiving unit module 182 in the event waiting queue.
[0096] In some embodiments, the operating system 126 includes an event sorting unit 170. Alternatively, the application 136-1 includes the event sorting unit 170. In still other embodiments, the event sorting unit 170 is an independent module or part of another module stored in the memory 102, such as the contact / motion module 130.
[0097] In some embodiments, application 136-1 includes a plurality of event processing units 190 and one or more application views 191, each including instructions to process touch events occurring within respective views of the user interface of the application. Each application view 191 of application 136-1 includes one or more event recognition units 180. Typically, each application view 191 includes a plurality of event recognition units 180. In other embodiments, one or more of the event recognition units 180 are part of a separate module, such as a user interface kit (not shown) or a higher-level object from which application 136-1 inherits methods and other characteristics. In some embodiments, a corresponding event processing unit 190 includes one or more of event data 179 received from data update unit 176, object update unit 177, GUI update unit 178, and / or event sorting unit 170. Optionally, event processing unit 190 utilizes, or calls, data update unit 176, object update unit 177, or GUI update unit 178 to update the application internal state 192. Alternatively, one or more of the application views 191 include one or more respective event processing units 190. Also, in some embodiments, one or more of data update unit 176, object update unit 177, and GUI update unit 178 are included in the corresponding application view 191.
[0098] Each event recognition unit 180 receives event information (e.g., event data 179) from event sorting unit 170 and identifies an event from the event information. Event recognition unit 180 includes an event receiving unit 182 and an event comparing unit 184. In some embodiments, event recognition unit 180 also includes at least a subset of metadata 183 and event distribution instructions 188 (optionally including sub-event distribution instructions).
[0099] The event receiving unit 182 receives event information from the event sorting unit 170. The event information includes information about sub-events, for example, information about a touch or a movement of a touch. Depending on the sub-event, the event information also includes additional information such as the position of the sub-event. When the sub-event is related to the movement of a touch, the event information also optionally includes the speed and direction of the sub-event. In some embodiments, the event includes a rotation of the device from one orientation to another (e.g., from portrait to landscape or vice versa), and the event information includes corresponding information about the current orientation of the device (also referred to as the posture of the device).
[0100] The event comparison unit 184 compares the event information with the definitions of predetermined events or sub-events, and based on the comparison, determines an event or sub-event, or determines or updates the state of an event or sub-event. In some embodiments, the event comparison unit 184 includes an event definition 186. The event definition 186 includes definitions of events (such as a sequence of predetermined sub-events), for example, event 1 (187-1) and event 2 (187-2). In some embodiments, the sub-events in event 187 include, for example, the start of a touch, the end of a touch, the movement of a touch, the cancellation of a touch, and multiple touches. In one example, the definition of event 1 (187-1) is a double-tap on a displayed object. The double-tap includes, for example, a first touch (start of touch) at a predetermined stage on the displayed object, a first lift-off (end of touch) at a predetermined stage, a second touch (start of touch) at a predetermined stage on the displayed object, and a second lift-off (end of touch) at a predetermined stage. In another example, the definition of event 2 (187-2) is a drag on a displayed object. The drag includes, for example, a touch (or contact) at a predetermined stage on the displayed object, movement of the touch across the touch-sensing display system 112, and lift-off of the touch (end of touch). In some embodiments, an event also includes information regarding one or more associated event processing units 190.
[0101] In some embodiments, the event definition 187 includes the definition of events for each user interface object. In some embodiments, the event comparison unit 184 performs a hit test to determine which user interface object is associated with the sub - event. For example, in an application view where three user interface objects are displayed on the touch - sensitive display system 112, when a touch is detected on the touch - sensitive display system 112, the event comparison unit 184 performs a hit test to determine which of the three user interface objects is associated with the touch (sub - event). If each of the displayed objects is associated with a corresponding event processing unit 190, the event comparison unit uses the result of the hit test to determine which event processing unit 190 should be activated. For example, the event comparison unit 184 selects the event processing unit associated with the sub - event and object that triggered the hit test.
[0102] In some embodiments, the definition of each event 187 also includes a delay action that delays the delivery of event information until it is determined whether a series of sub - events corresponds to the event type of the event recognition unit.
[0103] If each event recognition unit 180 determines that a series of sub - events does not match any of the events in the event definition 186, each event recognition unit 180 enters a state of event - impossible, event - failed, or event - ended, and then ignores subsequent sub - events of the touch gesture. In this situation, if there are other event recognition units that remain active for the hit view, those event recognition units continue to track and process the sub - events of the ongoing touch gesture.
[0104] In some embodiments, the corresponding event recognition unit 180 includes metadata 183 having configurable properties, flags, and / or lists indicating how the event distribution system should actively participate in the event recognition unit that executes sub - event distribution. In some embodiments, the metadata 183 includes configurable properties, flags, and / or lists indicating how event recognition units interact with each other or how they can interact with each other. In some embodiments, the metadata 183 includes configurable properties, flags, and / or lists indicating whether sub - events are distributed at various levels in the view hierarchy or program hierarchy.
[0105] In some embodiments, each event recognition unit 180 activates an event processing unit 190 associated with the event when one or more specific sub - events of the event are recognized. In some embodiments, each event recognition unit 180 distributes event information associated with the event to the event processing unit 190. Activating the event processing unit 190 is separate from sending (and deferring sending) sub - events to each hit view. In some embodiments, the event recognition unit 180 sets a flag associated with the recognized event, and the event processing unit 190 associated with that flag catches the flag and executes a predefined process.
[0106] In some embodiments, the event distribution command 188 includes a sub - event distribution command that distributes event information about sub - events without activating the event processing unit. Instead, the sub - event distribution command distributes event information to an event processing unit associated with a series of sub - events or to a view actively involved. The event processing unit associated with a series of sub - events or an actively involved view receives the event information and executes a predetermined process.
[0107] In some embodiments, the data update unit 176 creates and updates data used in the application 136-1. For example, the data update unit 176 updates the phone numbers used in the contact module 137 or stores the video files used in the video player module 145. In some embodiments, the object update unit 177 creates and updates objects used in the application 136-1. For example, the object update unit 177 creates a new user interface object or updates the position of the user interface object. The GUI update unit 178 updates the GUI. For example, the GUI update unit 178 prepares display information and sends the display information to the graphic module 132 for display on the touch-sensitive display.
[0108] In some embodiments, the event processing unit(s) 190 includes or has access to the data update unit 176, the object update unit 177, and the GUI update unit 178. In some embodiments, the data update unit 176, the object update unit 177, and the GUI update unit 178 are included in a single module of their respective application 136-1 or application view 191. In other embodiments, they are included in two or more software modules.
[0109] The foregoing description regarding event processing of a user's touch on the touch-sensitive display also applies to other forms of user input for operating the multifunctional device 100 using an input device, but it should be understood that not all of them are initiated on the touch screen. For example, the movement of a mouse and the pressing of a mouse button, the movement of a contact such as a tap, drag, scroll on a touch pad, a pen stylus input, the movement of a device, a spoken command, a detected eye movement, a biometric input, and / or any combination thereof, optionally in association with a single or multiple presses or holds of a keyboard, are used as inputs corresponding to sub-events that define events to be optionally recognized.
[0110] FIG. 2 shows a portable multifunctional device 100 having a touch screen (e.g., touch sensing display system 112, FIG. 1A) in accordance with some embodiments. The touch screen optionally displays one or more graphics within a user interface (UI) 200. In this embodiment, as well as other embodiments described below, the user can select one or more of those graphics by performing gestures on the graphics using, for example, one or more fingers 202 (not drawn to scale in the figure) or one or more styli 203 (not drawn to scale in the figure). In some embodiments, the selection of one or more graphics is performed when the user interrupts contact with the one or more graphics. In some embodiments, the gestures optionally include one or more taps, one or more swipes (from left to right, from right to left, upward and / or downward), and / or rolling of a finger in contact with the device 100 (from right to left, from left to right, upward and / or downward). In some implementations or situations, an accidental contact with a graphic does not select that graphic. For example, if the gesture corresponding to the selection is a tap, a swipe gesture that sweeps over an application icon does not optionally select the corresponding application.
[0111] Device 100 optionally also includes one or more physical buttons, such as a "home" or menu button 204. As described above, the menu button 204 is optionally used to navigate to any application 136 in a set of applications that are optionally executed on device 100. Alternatively, in some embodiments, the menu button is implemented as a soft key within a GUI displayed on the touch screen display.
[0112] In some embodiments, device 100 includes a touch screen display, a menu button 204, a push button 206 for turning the device on / off and locking the device, volume control button(s) 208, a subscriber identity module (SIM) card slot 210, a headset jack 212, and a docking / charging external port 124. The push button 206 is optionally used to turn the device on / off by pressing the button and holding it in the pressed state for a predetermined period, to lock the device by pressing the button and releasing it before a predetermined period has elapsed, and / or to unlock the device or initiate an unlock process. In some embodiments, device 100 also accepts verbal input through microphone 113 to activate or deactivate some functions. Device 100 optionally also includes one or more contact intensity sensors 165 for detecting contact intensity on touch sensing display system 112 and / or one or more haptic output generators 167 for generating haptic output to the user of device 100.
[0113] FIG. 3 is a block diagram of an exemplary multi-functional device having a display and a touch sensing surface, according to some embodiments. Device 300 need not be portable. In some embodiments, device 300 is a laptop computer, a desktop computer, a tablet computer, a multimedia playback device, 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 business controller). Device 300 typically includes one or more processing units (CPUs) 310, one or more networks or other communication interfaces 360, memory 370, and one or more communication buses 320 for interconnecting these components. Communication bus 320 optionally includes circuitry (sometimes called a chipset) for interconnecting and controlling communications between system components. Device 300 includes an input / output (I / O) interface 330 that typically includes a display 340 that is a touch screen display. I / O interface 330 optionally also includes a keyboard and / or a mouse (or other pointing device) 350, a touch pad 355, a touch output generator 357 for generating touch output on device 300 (similar to the touch output generator(s) 167 described above with reference to FIG. 1A), and sensors 359 (e.g., optical sensors, acceleration sensors, proximity sensors, touch sensing sensors, and / or contact intensity sensors similar to the contact intensity sensor(s) 165 described above with reference to FIG. 1A). Memory 370 includes high-speed random access memory such as DRAM, SRAM, DDR RAM, or other random access solid state memory devices, and optionally includes non-volatile memory such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices. Memory 370 optionally includes one or more storage devices located remotely from CPU 310.In some embodiments, memory 370 stores programs, modules, and data structures similar to, or subsets of, the programs, modules, and data structures stored in memory 102 of the portable multifunctional device 100 (FIG. 1A). Additionally, memory 370 optionally stores additional programs, modules, and data structures not present in memory 102 of the portable multifunctional device 100. For example, memory 370 of device 300 optionally stores a drawing module 380, a presentation module 382, a word processing module 384, a website creation module 386, a disk authoring module 388, and / or a spreadsheet module 390, while memory 102 of the portable multifunctional device 100 (FIG. 1A) optionally does not store those modules.
[0114] Each of the elements in the above-specified FIG. 3 is optionally stored in one or more of the previously mentioned memory devices. Each of the above-specified modules corresponds to a set of instructions that perform the functions described above. The above-specified modules or programs (i.e., sets of instructions) need not be implemented as separate software programs, procedures, or modules, and thus, various subsets of those modules are optionally combined or otherwise rearranged in various embodiments. In some embodiments, memory 370 optionally stores a subset of the modules and data structures specified above. Additionally, memory 370 optionally stores additional modules and data structures not described above.
[0115] Now, attention is directed to embodiments of a user interface (the "UI") optionally implemented on the portable multifunctional device 100.
[0116] Figure 4A shows an exemplary user interface for a menu of applications on the portable multifunctional device 100, according to some embodiments. A similar user interface is optionally implemented on the device 300. In some embodiments, the user interface 400 includes the following elements, or a subset or superset thereof. ● Signal strength indicator(s) 402 for wireless communication(s) such as cellular signal and Wi-Fi signal, ● Time 404, ● Bluetooth indicator 405, ● Battery status indicator 406, ● Tray 408 having icons for frequently used applications, such as ○ Icon 416 for the phone module 138, labeled "Phone", optionally including an indicator 414 of the number of missed calls or voicemail messages, ○ Icon 418 for the email client module 140, labeled "Mail", optionally including an indicator 410 of the number of unread emails, ○ Icon 420 for the browser module 147, labeled "Browser", and ○ Icon 422 for the video and music player module 152, also referred to as the iPod (trademark of Apple Inc.) module 152, labeled "iPod", and ● Icons for other applications, such as ○ Icon 424 for the IM module 141, labeled "Message", ○ Icon 426 for the calendar module 148, labeled "Calendar", ○ Icon 428 for the image management module 144, labeled "Photos", ○ Icon 430 for the camera module 143, labeled "Camera", ○ Icon 432 for the online video module 155, labeled "Online Video", ○ An icon 434 for the stock widget 149-2 labeled as "Stock Price". ○ An icon 436 for the map module 154 labeled as "Map". ○ An icon 438 for the weather widget 149-1 labeled as "Weather". ○ An icon 440 for the alarm clock widget 149-4 labeled as "Clock". ○ An icon 442 for the training support module 142 labeled as "Training Support". ○ An icon 444 for the memo module 153 labeled as "Memo", and ○ An icon 446 for a settings application or module that provides access to settings related to the device 100 and its various applications 136.
[0117] Note that the labels of the icons shown in FIG. 4A are merely examples. For example, in some embodiments, the icon 422 for the video and music player module 152 is labeled as "Music" or "Music Player". Other labels may optionally be used for the various application icons. In some embodiments, the label for each application icon includes the name of the application corresponding to that application icon. In some embodiments, the label of a particular application icon is different from the name of the application corresponding to that particular application icon.
[0118] Figure 4B shows an exemplary user interface on a device (e.g., device 300, FIG. 3) having a touch sensing surface 451 (e.g., a tablet or touch pad 355, FIG. 3) separated from a display 450. The device 300 may also optionally include one or more contact intensity sensors (e.g., one or more of sensors 357) for detecting the intensity of contact on the touch sensing surface 451, and / or one or more haptic output generators 359 for generating haptic output to the user of the device 300.
[0119] Figure 4B shows an exemplary user interface on a device (e.g., device 300, FIG. 3) having a touch sensing surface 451 (e.g., a tablet or touch pad 355, FIG. 3) separated from a display 450. Many of the following examples are given with reference to inputs on a touch screen display 112 (when the touch sensing surface and the display are combined), but in some embodiments, the device detects inputs on a touch sensing surface separated from the display, as shown in FIG. 4B. In some embodiments, the touch sensing surface (e.g., 451 in FIG. 4B) has a major axis (e.g., 452 in FIG. 4B) corresponding to the major axis (e.g., 453 in FIG. 4B) on the display (e.g., 450). According to those embodiments, the device detects contacts (e.g., 460 and 462 in FIG. 4B) with the touch sensing surface 451 at positions (e.g., in FIG. 4B, 460 corresponds to 468 and 462 corresponds to 470) corresponding to each position on the display. Thus, when the touch sensing surface is separated from the display, user inputs (e.g., contacts 460 and 462 and their movement) detected by the device on the touch sensing surface (e.g., 451 in FIG. 4B) are used by the device to operate the user interface on the display (e.g., 450 in FIG. 4B) of the multifunctional device. It should be understood that a similar method is optionally used for other user interfaces described herein.
[0120] In addition, while the following examples are mainly given with reference to finger inputs (e.g., finger contact, finger tap gesture, finger swipe gesture, etc.), it should be understood that in some embodiments, one or more of those finger inputs are replaced with inputs from another input device (e.g., mouse-based input or stylus input). For example, a swipe gesture is optionally replaced by the movement of a cursor along a swipe path (e.g., instead of movement of contact) following a mouse click (e.g., instead of contact). As another example, a tap gesture is optionally replaced by a mouse click while the cursor is positioned over the location of the tap gesture (e.g., instead of detecting contact and subsequently stopping detection of the contact). Similarly, it should be understood that when multiple user inputs are detected simultaneously, multiple computer mice are optionally used simultaneously, or a mouse and finger contact are optionally used simultaneously.
[0121] As used herein, the term "focus selector" refers to an input element that indicates the current part of the user interface with which the user is interacting. In some implementations that include a cursor or other location marker, the cursor functions as a "focus selector" such that when an input (e.g., a press input) is detected on a touch-sensitive surface (e.g., touchpad 355 in FIG. 3 or touch-sensitive surface 451 in FIG. 4B) while the cursor is over a particular user interface element (e.g., a button, window, slider, or other user interface element), the particular user interface element is adjusted according to the detected input. In some implementations that include a touch screen display (e.g., touch-sensitive display system 112 in FIG. 1A or touch screen in FIG. 4A) that enables direct interaction with user interface elements on the touch screen display, a contact detected on the touch screen functions as a "focus selector" such that when an input (e.g., a press input by the contact) is detected at the location of a particular user interface element (e.g., a button, window, slider, or other user interface element) on the touch screen display, the particular user interface element is adjusted according to the detected input. In some implementations, the focus is moved from one area of the user interface to another area of the user interface (e.g., by moving the focus from one button to another button using the tab key or arrow keys) without movement of the corresponding cursor or movement of the contact on the touch screen display. In these implementations, the focus selector moves in accordance with the movement of the focus between various areas of the user interface. Regardless of the specific form taken by the focus selector, the focus selector is generally a user interface element (or a contact on the touch screen display) that is controlled by the user to communicate the user's intended interaction with the user interface (e.g., by indicating to the device the element of the user interface with which the user intends to interact).For example, while a press input is detected on a touch sensing surface (e.g., a touch pad or a touch screen), the position of a focus selector (e.g., a cursor, a contact, or a selection box) over the corresponding button indicates that the user intends to activate that corresponding button (as opposed to other user interface elements shown on the device's display). User Interface and Associated Processing
[0122] Attention is now paid to embodiments of a user interface ("UI") and associated processing that can be implemented on an electronic device such as a portable multifunctional device 100 or a device 300, which includes a display, a radio frequency (RF) circuit for wireless communication with one or more peripheral devices, one or more input devices (e.g., a touch sensing surface) for receiving input from a user, and optionally one or more sensors for detecting the intensity of contact with the touch sensing surface.
[0123] Figures 5A - 5Z show exemplary user interfaces for pairing an electronic device with a peripheral device and displaying status information regarding the peripheral device, according to some embodiments. The user interfaces in these figures are used to illustrate the processing described below, including the processing in Figures 6A - 6C. For convenience of explanation, some embodiments are discussed with reference to operations executed on a device having a touch sensing display system 112. In such embodiments, the focus selector is optionally a contact of each finger or stylus, a representative point corresponding to the contact of each finger or stylus (e.g., the centroid of each contact or a point associated with each contact), or the centroid of two or more contacts detected on the touch sensing display system 112. However, similar operations are optionally executed on a device having a display 450 and a separate touch sensing surface 451, in response to detecting a contact on the touch sensing surface 451 while displaying the user interface shown in the figure on the display 450, together with the focus selector.
[0124] Figure 5A shows an exemplary user interface on display 100 of device 112. While displaying the user interface, device 100 periodically repeats listening for wireless broadcast signals (e.g., pairing requests) from one or more peripheral devices (e.g., earbuds 502-1 and 502-2 and earbud case 502-3) to pair the peripheral devices with device 100. In some embodiments, as shown throughout Figures 5A - 5Z, device 100 can detect pairing requests from peripheral devices when the peripheral devices are within a threshold distance 508 of device 100, and cannot detect pairing requests from peripheral devices when the peripheral devices are outside the threshold distance 508. For example, the lower part of Figure 5A shows an exemplary spatial relationship (e.g., physical distance) between device 100 and earbuds 502-1 and 502-2 and earbud case 502-3, and earbuds 502-1 and 502-2 and earbud case 502-3 are outside the threshold distance 508 of device 100. In contrast, Figure 5B shows a case where earbuds 502-1, earbuds 502-2 and earbud case 502-3 (collectively referred to as earbud set 503) are within the threshold distance 508 of device 100 and the device can detect pairing requests from the peripheral devices. (Note that earbuds are also referred to as ear pods, earphones, and in-ear headphones.)
[0125] Figure 5B shows an exemplary user interface for starting the pairing of device 100 with a peripheral device (e.g., earbud 502-1) that is displayed following the user interface of Figure 5A. In Figure 5B, device 100 detects a pairing request from a peripheral device (e.g., earbud 502-1 and a part of earbud set 503 shown in Figure 5A) within threshold distance 508. In response to detecting the pairing request from earbud 502-1, device 100 determines whether earbud 502-1 meets the coupling criteria. In the example shown in Figure 5B, the coupling criteria are met when earbud 502-1 is placed within earbud case 502-3 and / or electrically coupled to earbud case 502-3 to form earbud set 503. After device 100 determines that earbud 502-1 meets the coupling criteria, device 100 displays window 520-1 showing earbud set 503 overlaid on the first user interface. Window 520-1 includes a "Connect" button 522-1 that, when activated by a user input (e.g., a tap gesture), starts the pairing of device 100 with the peripheral devices of earbud set 503 (e.g., earbuds 502-1 and 502-2 and earbud case 502-3 shown in Figure 5A).
[0126] Figures 5C - 5E show exemplary user interfaces for starting the pairing of device 100 with a peripheral device (e.g., earbud 502 - 1 of earbud set 503) following the user interface of Figure 5B. In Figure 5C, device 100 detects a tap gesture 530 - 1 on button 522 - 1. In response to detecting tap gesture 530 - 1, device 100 starts the pairing of device 100 with the peripheral device of earbud set 503. In Figure 5D, while device 100 is pairing with the peripheral device of earbud set 503, device 100 displays a "Connecting..." notification graphic 523 - 1 in window 520 - 1. In Figure 5E, after device 100 has paired with the peripheral device of earbud set 503, device 100 displays status information in window 520 - 1 that includes battery level graphics 526 - 1 indicating the battery levels of earbuds 502 - 1 and 502 - 2 and battery level graphic 526 - 2 indicating the battery level of earbud case 502 - 3. Device 100 also, when activated by a user input such as a tap gesture, stops the display of window 520 - 1 and displays a "Done" button 524 - 1 that enables the user to perform other conventional operations on device 100. In some embodiments, window 520 - 1 stops displaying after a predetermined time period even if the "Done" button is not activated.
[0127] FIG. 5F shows an exemplary user interface for displaying information regarding the pairing of device 100 and a peripheral device (e.g., earbud 502-1) when the coupling criteria are not met, following the user interface of FIG. 5A. In FIG. 5F, device 100 detects a pairing request from earbud 502-1 within threshold distance 508. In response to detecting the pairing request from earbud 502-1, device 100 determines whether earbud 502-1 meets the coupling criteria. In the example shown in FIG. 5F, the coupling criteria are not met when earbud 502-1 is not placed within earbud case 502-3 and / or not electrically coupled to earbud case 502-3. Two different examples where earbud 502-1 does not meet the coupling criteria are shown at the bottom of FIG. 5F. In the lower left of FIG. 5F, earbud 502-1 and earbud case 502-3 are within threshold distance 508, but earbud 502-2 is not within threshold distance 508. In the lower right of FIG. 5F, earbud 502-1, earbud 502-2, and earbud case 502-3 are all within threshold distance 508. However, in both exemplary embodiments, earbud 502-1 is not placed within earbud case 502-3 nor electrically coupled to earbud case 502-3, and thus does not meet the coupling criteria. After device 100 determines that earbud 502-1 does not meet the coupling criteria, device 100 overlays the first user interface and displays window 520-2 (graphic that instructs the user, such as "Place Earpods in Case" and "Make sure both earpods are in the case!") regarding the coupling of earbud 502-1 (optionally earbud 502-2) to case 502-3.After the earbud 502-1 meets the coupling criteria (e.g., after the earbud 502-1 is placed in the earbud case 502-3 as shown in FIG. 5B), the device 100 displays a user interface as shown in FIG. 5B to pair the device 100 with the earbud set 503.
[0128] FIG. 5G shows an exemplary user interface for displaying specific status information regarding a peripheral device after the peripheral device has been previously paired with the device 100, following the user interface of FIG. 5E. In FIG. 5G, the device 100 detects a pairing request from the earbud 502-1. After detecting the pairing request, the device 100 displays a window 520-3 over the user interface. The window 520-3 includes a battery level graphic 526-3 of the earbud 502-1. In this example, the earbud 502-1 is identified as the left earbud of user Emily (Emily's left earbud) by the graphic (e.g., "L") displayed in the window 520-3. In other examples, the earbud may be identified as the right earbud by displaying a different graphic (e.g., the "R" graphic shown for the earbud 502-2 in FIG. 5H). Also, as shown, the battery level graphic 526-3 of the earbud 502-1 indicates a battery level of "50%".
[0129] FIGS. 5H - 5P show exemplary user interfaces for displaying specific information regarding two or more peripheral devices after at least one peripheral device has been paired with the device 100, following the user interface of FIG. 5E.
[0130] In FIG. 5H, device 100 detects pairing requests from each of earbuds 502-1 and 502-2. After detecting the pairing requests, device 100 determines that earbuds 502-1 and 502-2 are part of a defined set because, for example, earbuds 502-1 and 502-2 have both been previously paired with device 100 in a single pairing process. In response to determining that earbuds 502-1 and 502-2 are part of a defined set, device 100 displays window 520-4 over the user interface. Window 520-4 displays battery level graphic 526-4 indicating a battery level of "50%" for earbud 502-1, and battery level graphic 526-5 indicating a battery level of "100%" for earbud 502-2.
[0131] In FIG. 5I, device 100 detects pairing requests from earbuds 502-4 and 502-5 and earbud case 502-3. To indicate that earbuds 502-4 and 502-5 have not previously paired with device 100 and formed part of a defined set, these earbuds are shown by thick black lines at the bottom of FIG. 5I. After detecting the pairing requests, device 100 determines that earbuds 502-4 and 502-5 are not part of the defined set, for example, because neither of earbuds 502-4 and 502-5 has previously paired with device 100. In response to determining that earbuds 502-4 and 502-5 are not part of the defined set, device 100 displays window 520-5 over the user interface. Window 520-5 includes information regarding a mismatch between earbuds 502-4 and 502-5 and earbud case 502-3, as indicated by graphics such as (!) displayed adjacent to each of earbuds 502-4 and 502-5) indicating that they have not previously paired with device 100, whereas earbud case 502-3 has previously paired with device 100. Window 520-5 also includes a "Connect" button 522-2 that, when activated by a user input (e.g., a tap gesture), initiates pairing of earbuds 502-4 and 502-5 with device 100 according to a determination that earbuds 502-4 and 502-5 meet the pairing criteria.
[0132] Figures 5J through 5K illustrate exemplary user interfaces for selectively displaying separate status information or composite status information for two or more peripheral devices, following the user interface of Figure 5E, based on the status characteristics of the peripheral devices. In these examples, device 100 detects pairing requests from each of earbuds 502-1 and 502-2. After detecting the pairing requests, device 100 determines that earbuds 502-1 and 502-2 are part of a defined set, for example, because earbuds 502-1 and 502-2 have both been previously paired with device 100 in a single pairing process. In response to determining that earbuds 502-1 and 502-2 are part of a defined set, device 100 determines whether the difference in battery level (an example of a status characteristic) between earbud 502-1 and earbud 502-2 exceeds a predetermined threshold (e.g., 10%). As shown in Figure 5J, if device 100 determines that the difference does not exceed the predetermined threshold, device 100 overlays the user interface with window 520-6, which includes composite status information for both earbuds 502-1 and 502-2 (e.g., displays a single battery level graphic 526-6 of 50% for earbuds 502-1 and 502-2) in window 520-4. Conversely, as shown in Figure 5K, if device 100 determines that the difference exceeds the predetermined threshold, device 100 overlays the user interface with window 520-7, which includes separate status information for each of earbuds 502-1 and 502-2 (e.g., displays a battery level graphic 526-7 indicating 50% battery level for earbud 502-1 and a battery level graphic 526-8 indicating 100% battery level for earbud 502-2) in window 520-5.
[0133] Figures 5L through 5P illustrate alternative exemplary user interfaces for the user interfaces shown in Figures 5H through 5K.
[0134] In FIG. 5L, after the device 100 detects a pairing request from at least one of the earbuds 502-1 and 502-2 and the earbud case 502-3 and determines that the earbuds 502-1 and 502-2 and the earbud case 502-3 are part of a defined set, the device 100 displays, overlaid on the user interface, a window 520-8 that includes status information for each of the earbuds 502-1 and 502-2 and the earbud case 502-3 (e.g., a battery level graphic 526-9 indicating a 50% battery level for the earbud 502-1, a battery level graphic 526-10 indicating a 100% battery level for the earbud 502-2, and a battery level graphic 526-11 indicating a 100% battery level for the earbud case 502-3).
[0135] FIG. 5M is similar to FIG. 5L, except that the device 100 determines that the battery level of the earbud 502-1 is below a minimum charge threshold. In response to determining that the battery level of the earbud 502-1 is below the minimum charge threshold, the device 100 displays, overlaid on the user interface, a window 520-9 that includes a low battery graphic 527 as the status information for the earbud 502-1.
[0136] Figure 5N is the same as Figure 5M, except that the device 100 determines that the earbuds 502-1 and 502-2 of Figure 5M are coupled to the earbud case 502-3 (including the power source for the earbuds) of Figure 5M to form the earbud set 503. In response to determining that the earbuds 502-1 and 502-2 are coupled to a power source, the device 100 overlays the user interface with a window 520-10 that includes status information indicating that the earbuds 502-1 and 502-2 are charging (e.g., a battery charging graphic 528-1 indicating that the earbuds 502-1 and 502-2 are charging, and a battery level graphic 526-11 indicating a 100% battery level of the earbud case 502-3).
[0137] Figure 5O is the same as Figure 5N, except that the device 100 determines that the earbud set 503 is coupled to an external power source 535 (e.g., a wall outlet). In response to determining that the earbud set 503 is coupled to the external power source 535, the device 100 overlays the user interface with a window 520-11 that includes status information indicating that the earbuds 502-1 and 502-2 and the earbud case 502-3 are charging (e.g., a battery charging graphic 528-2 indicating that the earbud 502-1 is charging and has a 30% battery level, a battery charging graphic 528-3 indicating that the earbud 502-2 is charging and has a 70% battery level, and a battery charging graphic 528-4 indicating that the earbud case 502-3 is charging and has a 70% battery level).
[0138] Figure 5P is the same as Figure 5I, except that earbud 502-1 has been paired with device 100 before, while earbud 502-5 has not been paired with device 100 before. After device 100 detects pairing requests from earbuds 502-1 and 502-5 and determines that earbuds 502-1 and 502-5 are not part of the defined set, device 100 displays window 520-12 over the user interface. Window 520-12 contains information regarding the mismatch between earbuds 502-1 and 502-5, indicating to the user that earbuds 502-1 and 502-5 are not part of the defined set and need to be paired before use. Window 520-12 also includes a "Connect" button 522-3 that, when activated by a user input (e.g., a tap gesture), initiates the pairing of earbuds 502-1 and 502-5 with device 100 to form the defined set.
[0139] Figures 5Q - 5Z illustrate exemplary user interfaces for pairing an electronic device with one or more peripheral devices and displaying status information regarding the peripheral device(s) while the electronic device is in a locked state, according to some embodiments.
[0140] FIG. 5Q shows an exemplary user interface on display 112 of device 100 while device 100 is in a locked state. In this example, while device 100 is in a locked state, the exemplary user interface is a lock screen. While displaying the lock screen, device 100 repeatedly listens for pairing requests from peripheral devices, such as earbuds 502-1, earbuds 502-2, and earbud case 502-3, to pair the peripheral devices with device 100. In this example, earbuds 502-1, earbuds 502-2, and earbud case 502-3 are outside the threshold distance 508 of device 100. Therefore, device 100 cannot detect a pairing request from earbuds 502-1, earbuds 502-2, or earbud case 502-3.
[0141] Figure 5R shows an exemplary user interface for starting the pairing of device 100 with a peripheral device (e.g., the earbuds of earbud set 503) that is displayed following the user interface of Figure 5Q. In Figure 5R, device 100 detects a pairing request from earbud 503 when the earbud set 503 is within threshold distance 508. In response to detecting the pairing request from the earbud, device 100 determines whether the earbud meets the coupling criteria. In this example, the coupling criteria are met when the earbud is placed within the earbud case and / or electrically coupled to the earbud case to form earbud set 503. After device 100 determines that the earbud meets the coupling criteria, device 100 displays window 520-13 indicating earbud set 503 within the threshold distance 508 of device 100 overlaid on the first user interface. Window 520 also includes an "Unlock to Connect" button 522-4 that initiates the pairing of device 100 with the peripheral devices of earbud set 503 (e.g., earbuds 502-1 and 502-2 and earbud case 502-3 shown in Figure 5Q) when activated by a user input (e.g., a tap gesture).
[0142] Figures 5S through 5U illustrate exemplary user interfaces for initiating pairing between device 100 and a peripheral device based on a first authentication input (e.g., a finger input on fingerprint sensor 204) that is displayed subsequent to the user interface of Figure 5R. In Figure 5S, after device 100 determines that earbud 502-1 meets the coupling criteria, device 100 detects a touch input 530-2 (e.g., a stationary press or tap) on fingerprint sensor 204. In response to detecting a valid user authentication input by touch input 530-2, device 100 initiates pairing between device 100 and the peripheral devices of earbud set 503. In Figure 5T, while device 100 is pairing the peripheral devices of earbud set 503, device 100 displays a "Connecting..." notification graphic 523-2 in window 520-13. In Figure 5U, after device 100 has paired with earbud 502-1, earbud 502-2, and earbud case 502-3, device 100 displays status information (e.g., a battery charging graphic 528-5 indicating that earbuds 502-1 and 502-2 are charging, and a battery level graphic 526-12 indicating a 100% battery level for earbud case 502-3) in window 520-13. Device 100 also displays a "Done" button 524-2 that deactivates the display in window 520-13 and enables the user to perform other operations on device 100 when activated by a user input such as a tap gesture.
[0143] Figures 5V - 5Y show exemplary user interfaces for starting the pairing of device 100 with a peripheral device (e.g., the earbuds of the earbud set 503) based on a second authentication input (e.g., a passcode typed in on a keypad) that is displayed following the user interface of Figure 5R. In Figure 5V, after device 100 determines that the earbuds of the earbud set 503 meet the coupling criteria, device 100 detects a tap gesture 530 - 3 on the "Unlock to Connect" button 522 - 4. In Figure 5W, in response to detecting the tap gesture 530 - 3, device 100 displays a user interface that includes a keypad 536 to authenticate the user. In this example, the keypad 536 is a numeric keypad having unique number inputs 537 - 1 to 537 - 9 corresponding to the numbers 1 to 9 respectively. Next, device 100 detects a user authentication input by a tap gesture 530 - 4 (e.g., a tap gesture) on one or more of the number inputs 537 - 1 to 537 - 9. In response to device 100 detecting a valid authentication input, device 100 starts the pairing of device 100 with the peripheral device of the earbud set 503. In Figure 5X, while device 100 is pairing with the earbud set 503, device 100 displays a "Connecting..." notification graphic 523 - 3 in window 520 - 13. Further, while device 100 is pairing, device 100 maintains the display of the lock screen and continues to operate in the locked state. In Figure 5Y, as similarly shown in Figure 5U, after device 100 pairs with the peripheral device of the earbud set 503, device 100 displays status information (e.g., a battery charging graphic 528 - 6 indicating that the earbuds 502 - 1 and 502 - 2 of the earbud set 503 are charging, and a battery level graphic 526 - 13 indicating a 100% battery level for the earbud case 502 - 3 of the earbud set 503) in window 520 - 13.When activated by user input such as a tap gesture, device 100 also stops displaying window 520-13 and displays a "Done" button 524-2 that enables the user to perform other conventional operations on device 100.
[0144] FIG. 5Z shows an exemplary user interface for displaying specific status information regarding a peripheral device after the peripheral device has been previously paired with device 100, which is displayed following the user interface of FIG. 5Y or FIG. 5U. In FIG. 5Z, device 100 detects pairing requests from earbuds 502-1 and 502-2. After detecting the pairing requests, device 100 displays window 520-14 overlaid on the user interface. Window 520-14 includes a battery level graphic 526-14 (an example of status information) regarding earbuds 502-1 and earbuds 502-2. As shown, the battery level graphic 526-14 for earbuds 502-1 and 502-2 indicates a battery level of "50%".
[0145] FIGS. 6A-6C are flowcharts showing a method 600 for pairing an electronic device with a peripheral device and displaying status information regarding the peripheral device, according to some embodiments. This method 600 is executed in an electronic device (e.g., device 300 of FIG. 3, or portable multifunctional device 100 of FIG. 1A) comprising a display, a radio frequency (RF) circuit for wireless communication with one or more peripheral devices, and one or more input devices (e.g., a touch-sensitive surface) for receiving input from a user. In some embodiments, the display is a touch screen display and the touch-sensitive surface is on or incorporated into the display. In some embodiments, the display is separated from the touch-sensitive surface. Some of the operations of method 600 are optionally combined and / or the order of some of the operations is optionally changed.
[0146] As described below, method 600 provides an intuitive way to pair a peripheral device with a device and display status information of the peripheral device. The method reduces the number, scope, and / or characteristics of inputs from the user when pairing the peripheral device with the device and displaying status information of the peripheral device, thereby creating a more efficient human-machine interface. In a battery-operated electronic device, by enabling the user to pair the peripheral device with the device and display status information more quickly and efficiently, power is conserved and the interval between battery charges is increased.
[0147] The device displays (602) a first user interface (e.g., a home screen, an application user interface, a wake screen, a lock screen, etc.) on a display.
[0148] While displaying the first user interface, the device detects (604) a pairing request to pair a first peripheral device (e.g., earbuds 502-1 and 502-2, an earbud case 502-3, etc.) with the electronic device. In some embodiments, the pairing request is detected when the user touches one or both of the earbuds of the electronic device or the earbud case, or when the electronic device and the earbuds are brought within a threshold distance of each other. In some embodiments, the electronic device detects the presence and proximity of the earbud(s) or earbud case by a wireless signal (e.g., a broadcast Bluetooth signal or a Bluetooth pairing request) emitted by the earbud(s) or earbud case. In some embodiments, the electronic device detects the presence and proximity of the earbud(s) or earbud case by other proximity sensing mechanisms (e.g., other RF signal sensing mechanisms) embedded in the electronic device as well as in the earbud(s) and / or earbud case.
[0149] In some embodiments, detecting a pairing request to pair a first peripheral device with an electronic device includes detecting a wireless signal transmitted from the first peripheral device and determining, based on the detected wireless signal, that the first peripheral device meets a proximity criterion (606). In some embodiments, the proximity criterion includes a criterion that is met when the signal strength of the wireless signal from the first peripheral device exceeds a signal strength threshold. In some embodiments, the proximity criterion includes a criterion that is met when the electronic device and the earbud are within a threshold distance of each other. For example, as shown in FIG. 5F, a first peripheral device (e.g., earbud 502-1) is within a threshold distance 508 of the electronic device 100.
[0150] In response to detecting a pairing request, the device determines (608) whether the first peripheral device meets a coupling criterion that requires the first peripheral device to be coupled (e.g., electrically, magnetically, and / or wirelessly) to the second peripheral device. The second peripheral device is separate from the electronic device, and both the first peripheral device and the second peripheral device are externally attached to the electronic device. In some embodiments, as shown in FIG. 5B (as part of the earbud set 503), the first peripheral device is an earbud (e.g., earbud 502-1), the second peripheral device is an earbud case (e.g., earbud case 502-3) for storing and charging the first earbud, and the coupling criterion requires that the earbud and the case be in proximity to each other (e.g., the earbud is in the case and optionally electrically connected to the case), and also in proximity to the electronic device. In some embodiments, the first peripheral device is an earbud (e.g., earbud 502-1), the second peripheral device is a second earbud (e.g., earbud 502-2), and the coupling criterion requires that the first earbud and the second earbud be coupled to each other via a case (e.g., earbud case 502-3). For example, both earbuds are electrically connected to the case (e.g., when placed inside the case with the lid closed). In some embodiments, the first peripheral device is a first earbud, the second peripheral device is a second earbud, and the coupling criterion requires that the first earbud and the second earbud be in proximity to each other and to the device (e.g., both the first earbud and the second earbud are stored in the earbud case, or there is no case but they are placed close to each other). In some embodiments, the first peripheral device is an earbud case, the second peripheral device is one or both earbuds, and the coupling criterion requires that the earbud and the case be coupled to each other or placed in proximity to each other and to the device.
[0151] In some embodiments, the coupling criteria include criteria that are met when a first peripheral device is coupled (e.g., electrically, magnetically, and / or wirelessly) to a third peripheral device that is separate from the second peripheral device (610). In some embodiments, the first peripheral device is an earbud, the second peripheral device is another earbud, the third peripheral device is the case of the earbud, and the coupling criteria require that the first earbud and the second earbud be electrically coupled to each other via the earbud case. For example, as shown in FIG. 5B, earbud 502-1, earbud 502-2, and earbud case 502-3 are all coupled to form earbud set 503.
[0152] In some embodiments, the first peripheral device is one or more earbuds and the second peripheral device is a case for one or more earbuds (612).
[0153] In some embodiments, the coupling criteria include criteria that are met when at least one of: one or more earbuds are inside the case and are electrically coupled to the case (614). In some embodiments, as shown in FIG. 5B, earbuds 502-1 and 502-2 are inside earbud case 502-3 and are electrically coupled to earbud case 502-3 to form earbud set 503. In some embodiments, the coupling criteria include additional criteria that are met when the lid of the case is closed.
[0154] In accordance with the determination that the first peripheral device meets the coupling criteria, as shown in FIG. 5B, the device overlays the first user interface and displays a pairing affordance (e.g., a button or other icon (e.g., "Connect" 522-1)) in a window (e.g., window 520-1) that initiates pairing between the electronic device and the first peripheral device when activated by user input (616). In some embodiments, the pairing affordance also initiates pairing with a second peripheral device (and any other peripheral device coupled to the first and / or second peripheral devices) when activated by user input.
[0155] In accordance with the determination that the first peripheral device does not meet the coupling criteria, the device displays information regarding the coupling of the first peripheral device and the second peripheral device (e.g., in window 520-2 as shown in FIG. 5F) (618).
[0156] Optionally, pairing related to a peripheral device, such as when a peripheral device is coupled to another peripheral device, provides the user with the ability to synchronize pairing among multiple peripheral devices in response to a single pairing action. By providing an improved pairing function to the user, the operability of the device is improved, and (e.g., by helping the user efficiently pair a given device with multiple related peripheral devices in response to a single action, thereby reducing user errors when attempting to pair a given device with multiple related peripheral devices) the user device interface is made more efficient. Without using this improved pairing process, the user would have to take additional steps to individually pair the device with different peripheral devices to achieve the same functionality as described herein. Individually pairing a device with multiple peripheral devices can be a time-consuming process, and due to the increased number of user inputs required to complete the pairing process, the user is more likely to make mistakes.
[0157] In some embodiments, after the electronic device is paired with a first peripheral device, the device displays (620) status information (e.g., model, manufacturer, icon, color, and / or battery level) regarding the first peripheral device and a second peripheral device on a second user interface. For example, as shown in FIG. 5H, the first peripheral device is earbud 502-1, the second peripheral device is earbud 502-2, and the second user interface is window 520-4. Window 520-4 displays a battery level graphic 526-4 for earbud 502-1 and a battery level graphic 526-5 for earbud 502-2.
[0158] By displaying status information regarding the peripheral device after the peripheral device is paired with the device, information regarding the peripheral device (e.g., one or more battery levels) when the peripheral device is in proximity to the device is provided to the user. Providing the status information of the peripheral device improves the operability of the device and (e.g., by providing access to information regarding the peripheral device without the user having to physically inspect each peripheral device) makes the user device interface more efficient, thereby enabling the user to use the device and the peripheral devices more quickly and efficiently.
[0159] In some embodiments, after pairing an electronic device with a first peripheral device, the device determines (622) whether the second peripheral device and the first peripheral device are part of a defined set of associated peripheral devices that have been previously paired with the electronic device. For example, when the electronic device has been previously paired with a set of earbuds and their case in a single pairing process (as shown, for example, in FIGS. 5C - 5E), the electronic device stores a pairing profile that defines the set of earbuds and their case as a set of associated peripheral devices. In some embodiments, if one set of associated peripheral devices includes two earbuds and a case and another set of associated peripheral devices includes a set of speakers, the speakers and the earbuds do not belong to the same set of associated peripheral devices because they were not paired with the electronic device in a single pairing process. In some embodiments, the first peripheral device and the second peripheral device are part of the defined set if the first peripheral device and the second peripheral device have been previously paired with the electronic device in a single pairing process. In accordance with the determination that the second peripheral device and the first peripheral device are part of the defined set of associated peripheral devices that have been previously paired with the electronic device, the device displays status information (e.g., model, manufacturer, icon, color, and / or battery level) regarding the first peripheral device and the second peripheral device (as shown, for example, in FIGS. 5H and 5J - 5O). In some embodiments, corresponding graphics can be displayed to indicate a peripheral device heuristic (e.g., a graphic indicating that the lid of the case is open). In accordance with the determination that the second peripheral device and the first peripheral device are not part of the defined set of associated peripheral devices that have been previously paired with the electronic device, the device displays information regarding a mismatch between the first peripheral device and the second peripheral device (as shown, for example, in FIGS. 5I and 5P).
[0160] Two or more peripheral devices have been previously paired with a device in a single pairing process, and thus, by displaying information regarding whether they form a set of associated peripheral devices, the user is provided with the ability to quickly identify whether the peripheral devices can be used immediately, or whether the peripheral devices need to be paired with each other before use. Providing an improved pairing function for multiple peripheral devices to a given device improves the device's operability and makes the user device interface more efficient (e.g., by assisting the user in quickly understanding when the peripheral devices are available or, alternatively, when the peripheral devices need to be paired with the device before use). Without this information, the user may incorrectly attempt to use a peripheral device that is not part of a defined set (e.g., by using one or more unpaired earbuds and attempting to stream media content from the device to the earbuds), and then realize that at least one of the peripheral devices cannot operate with the device.
[0161] In some embodiments, displaying information regarding a mismatch between a first peripheral device and a second peripheral device, as shown in FIG. 5I, when activated by a user input, overlays a second pairing affordance (e.g., a button or other icon (e.g., "Connect" 522-2)) that initiates a pairing of the electronic device and the second peripheral device on a first user interface and displays it in a window (e.g., window 520-5) (624). In some embodiments, the second pairing affordance also initiates a pairing with any other peripheral device coupled to the first and / or second peripheral devices when activated by a user input.
[0162] In some embodiments, displaying status information (e.g., model, manufacturer, icon, color, and / or battery level) regarding a first peripheral device and a second peripheral device includes (as shown, for example, in FIGS. 5H and 5N) displaying a single composite peripheral device status characteristic (e.g., a composite battery level) regarding the first peripheral device and the second peripheral device in accordance with a determination that a difference between a first peripheral device status characteristic (e.g., a battery level) of the first peripheral device and a second peripheral device status characteristic (e.g., a battery level) of the second peripheral device is less than a predetermined threshold and that the first peripheral device and the second peripheral device are the same type of peripheral device (e.g., earbuds). In some embodiments, the predetermined threshold of the numerical difference is 5%, 10%, 15%, or 20%.
[0163] In some embodiments, displaying status information (e.g., model, manufacturer, icon, color, and / or battery level) regarding a first peripheral device and a second peripheral device includes (as shown, for example, in FIG. 5L) displaying a first peripheral device status characteristic (e.g., a battery level) regarding the first peripheral device and a second peripheral device status characteristic (e.g., a battery level) regarding the second peripheral device in accordance with a determination that a difference between the first peripheral device status characteristic and the second peripheral device status characteristic is greater than a predetermined threshold and that the first peripheral device and the second peripheral device are the same type of peripheral device (e.g., earbuds). In some embodiments, the difference of the predetermined threshold of the numerical difference is 5%, 10%, 15%, or 20%.
[0164] In some embodiments, displaying status information regarding a first peripheral device includes (as shown, for example, in FIG. 5M) displaying a low battery graphic in accordance with a determination that a battery level regarding the first peripheral device is below a minimum charge threshold. In some embodiments, the minimum charge threshold is 10%, 15%, or 20%.
[0165] In some embodiments, displaying status information of a first peripheral device includes displaying a battery charging graphic (632) according to a determination that the first peripheral device is connected to a power source (e.g., as shown in FIGS. 5N-5O). In some embodiments, the power source is a battery or a wall outlet. In some embodiments, the first peripheral device is an earbud and the power source is incorporated in a second peripheral device (e.g., a case).
[0166] In some embodiments, while the electronic device is displaying a first user interface, it is in a locked state (e.g., a lock screen, a wake screen for the locked state, etc., as shown in FIGS. 5Q-5Y) (634). After activating a pairing affordance (e.g., the "Connect" button 522-3 in window 520-12 of FIG. 5V), the device presents a request for authentication input from the user (e.g., displaying a passcode keypad 536 as shown in FIG. 5W) (e.g., on the display and / or audibly) to pair the first peripheral device with the electronic device. The device receives the authentication input from the user. In some embodiments, the received authentication input is the same input as the authentication input that unlocks the electronic device (e.g., fingerprint scan, passcode, swipe gesture, etc.). In response to receiving the authentication input, the device pairs the first peripheral device with the electronic device (e.g., as shown in FIGS. 5X-5Y) and maintains the electronic device in the locked state.
[0167] Providing a pairing function between a device and a peripheral device while the device is in a locked state improves the operability of the device, makes the user-device interface more efficient, and thereby reduces user errors when operating / interacting with the device by reducing the number of user inputs required to pair the device with the peripheral device.
[0168] In some embodiments, while the device is pairing a first peripheral device with the electronic device, it maintains the display of a first user interface associated with the locked state of the electronic device (636).
[0169] In some embodiments, after the pairing of the first peripheral device and the electronic device is completed, the device maintains the display of a first user interface associated with the locked state of the electronic device (638).
[0170] In some embodiments, after the pairing of the first peripheral device and the electronic device is completed, while maintaining the display of the first user interface associated with the locked state of the electronic device, the device displays status information regarding the first peripheral device (e.g., as shown in window 520-13 of FIG. 5Z) (e.g., in the case of a single earbud, a mismatch, a battery state, etc.) (640).
[0171] It should be understood that the specific order described for the operations in FIGS. 6A-6C is merely an example and is not intended to indicate that the described order is the only order in which the operations can be performed. Those skilled in the art will recognize various ways to reorder the operations described herein.
[0172] According to some embodiments, FIG. 7 shows a functional block diagram of an electronic device 700 configured in accordance with the principles of the various described embodiments. The functional blocks of this device are optionally implemented by hardware, software, or a combination of hardware and software, and execute the principles of the various described embodiments. It will be understood by those skilled in the art that the functional blocks described in FIG. 7 can optionally be combined, separated, or further divided into sub-blocks to implement the principles of the various described embodiments. Accordingly, the description herein optionally supports any possible combination or separation of the functional blocks described herein, or further definitions.
[0173] As shown in FIG. 7, the electronic device 700 includes a display unit 702 configured to display a user interface, an RF circuit unit 704 for wireless communication with one or more peripheral devices, one or more input device units 706 for receiving input from a user, and a processing unit 708 coupled to the display unit 702, the RF circuit unit 704, and the one or more input device units 706. The processing unit 708 includes a display activation unit 710, a detection unit 712, a determination unit 714, a presentation unit 716, a reception unit 718, a pairing unit 720, and a maintenance unit 722.
[0174] The processing unit 708 is configured to activate the display of a first user interface on the display unit 702 (e.g., using the display activation unit 710). While the first user interface is being displayed, the processing unit 708 is configured to detect a pairing request to pair a first peripheral device with the electronic device (e.g., using the detection unit 712). In response to detecting the pairing request, the processing unit 708 is configured to determine whether the first peripheral device meets a coupling criterion that requires the first peripheral device to be coupled to a second peripheral device (e.g., using the determination unit 714). In accordance with the determination that the first peripheral device meets the coupling criterion, the processing unit 708 is configured to activate the display of a pairing affordance that initiates the pairing of the electronic device with the first peripheral device when activated by a user input (e.g., using the display activation unit 710). In accordance with the determination that the first peripheral device does not meet the coupling criterion, the processing unit 708 is configured to activate the display of information regarding the coupling of the first peripheral device and the second peripheral device (e.g., using the display activation unit 710).
[0175] In some embodiments, detecting a pairing request to pair a first peripheral device with an electronic device includes detecting a wireless signal transmitted from the first peripheral device and determining, based on the detected wireless signal, that the first peripheral device meets a proximity criterion.
[0176] In some embodiments, the coupling criterion includes a criterion that is met when the first peripheral device is coupled to a third peripheral device that is separate from the second peripheral device.
[0177] In some embodiments, the first peripheral device is one or more earbuds and the second peripheral device is a case for the one or more earbuds.
[0178] In some embodiments, the coupling criterion includes a criterion that is met when at least one of the one or more earbuds is inside the case and electrically coupled to the case.
[0179] In some embodiments, after the electronic device is paired with the first peripheral device, the processing unit 708 is configured to enable the display of status information regarding the first peripheral device and the second peripheral device in a second user interface (e.g., using the display enabling unit 710).
[0180] In some embodiments, after pairing the electronic device with the first peripheral device, the processing unit 708 is configured to determine (e.g., using the determination unit 714) whether the second peripheral device and the first peripheral device are part of a defined set of associated peripheral devices that have been previously paired with the electronic device. In accordance with the determination that the second peripheral device and the first peripheral device are part of a defined set of associated peripheral devices that have been previously paired with the electronic device, the processing unit 708 is configured to enable (e.g., using the display enabling unit 710) the display of status information regarding the first peripheral device and the second peripheral device. In accordance with the determination that the second peripheral device and the first peripheral device are part of a defined set of associated peripheral devices that have been previously paired with the electronic device, the processing unit 708 is configured to enable (e.g., using the display enabling unit 710) the display of information regarding a mismatch between the first peripheral device and the second peripheral device.
[0181] In some embodiments, displaying information regarding a mismatch between the first peripheral device and the second peripheral device includes displaying a second pairing affordance that initiates pairing between the electronic device and the second peripheral device when activated by user input.
[0182] In some embodiments, displaying status information regarding the first peripheral device and the second peripheral device includes displaying a single composite peripheral device status characteristic regarding the first peripheral device and the second peripheral device in accordance with a determination that a difference between a first peripheral device status characteristic of the first peripheral device and a second peripheral device status characteristic of the second peripheral device is less than a predetermined threshold and that the first peripheral device and the second peripheral device are the same type of peripheral device (e.g., earbuds).
[0183] In some embodiments, displaying status information regarding a first peripheral device and a second peripheral device includes displaying a first peripheral device status characteristic of the first peripheral device and a second peripheral device status characteristic of the second peripheral device according to a determination that a difference between the first peripheral device status characteristic and the second peripheral device status characteristic is greater than a predetermined threshold and that the first peripheral device and the second peripheral device are peripheral devices of the same type (e.g., earbuds).
[0184] In some embodiments, displaying status information regarding a first peripheral device includes displaying a low battery graphic according to a determination that a battery level regarding the first peripheral device is below a minimum charge threshold.
[0185] In some embodiments, displaying status information regarding a first peripheral device includes displaying a battery charging graphic according to a determination that the first peripheral device is connected to a power source.
[0186] In some embodiments, while the electronic device is displaying a first user interface, it is in a locked state, and the processing unit 708 presents a request for authentication input from the user to pair a first peripheral device with the electronic device (e.g., using the presentation unit 716) after activation of a pairing affordance, receives authentication input from the user (e.g., using the receiving unit 718), pairs the first peripheral device with the electronic device in response to receiving the authentication input (e.g., using the pairing unit 720), and is configured to maintain the electronic device in the locked state (e.g., using the maintenance unit 722).
[0187] In some embodiments, while the processing unit 708 is pairing a first peripheral device with the electronic device (e.g., using the maintenance unit 722), it is configured to maintain the display of the first user interface associated with the locked state of the electronic device.
[0188] In some embodiments, after the processing unit 708 pairs a first peripheral device with the electronic device (e.g., using the maintenance unit 722), it is configured to maintain the display of a first user interface associated with the locked state of the electronic device.
[0189] In some embodiments, after the processing unit 708 pairs a first peripheral device with the electronic device, while maintaining the display of a first user interface associated with the locked state of the electronic device, it is configured to enable the display of status information regarding the first peripheral device (e.g., using the display enabling unit 710).
[0190] The operations in the above-described information processing method are optionally implemented by executing one or more functional modules within an information processing apparatus, such as a general-purpose processor or an application-specific chip (e.g., as described above with respect to FIGS. 1A and 3).
[0191] The operations described above with reference to FIGS. 6A-6C are optionally implemented by the components shown in FIGS. 1A-1B or FIG. 7. For example, at least some of the functions described in FIGS. 6A-6C are optionally implemented by the event sorting unit 170, the event recognition unit 180, and the event processing unit 190. The event monitor 171 of the event sorting unit 170 detects a contact on the touch-sensitive display 112, and the event dispatcher module 174 distributes event information to the application 136-1. The corresponding event recognition unit 180 of the application 136-1 compares the event information with the corresponding event definition 186 to determine whether a first contact (or rotation of the device) at a first position on the touch-sensitive surface corresponds to a predetermined event or sub-event, such as selection of an object on the user interface or rotation of the device from one orientation to another. When a corresponding predefined event or sub-event is detected, the event recognition unit 180 activates the event processing unit 190 associated with the detection of that event or sub-event. The event processing unit 190 optionally uses or invokes the data update unit 176 or the object update unit 177 to update the application internal state 192. In some embodiments, the event processing unit 190 accesses the corresponding GUI update unit 178 to update what is displayed by the application. Similarly, it will be apparent to those skilled in the art how other processes may be implemented based on the components described in FIGS. 1A-1B.
[0192] The above description has been presented for purposes of illustration and description with reference to specific embodiments. However, the above exemplary discussion is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of the above teachings. These embodiments were chosen and described in order to best explain the principles of the invention and its practical application, to thereby enable others skilled in the art to best utilize the invention and various embodiments described with various modifications suitable for the particular uses contemplated.
Claims
1. A method, in an electronic device having a display, a radio frequency (RF) circuit for wireless communication with one or more peripheral devices, and one or more input devices for receiving input from a user, displaying a first user interface on the display; detecting a pairing request to pair the electronic device with a first peripheral device while the first user interface is being displayed; in response to detecting the pairing request and determining that the first peripheral device, a second peripheral device, and a third peripheral device are part of a predetermined set, wirelessly pairing the first peripheral device with the electronic device; displaying, in a second user interface, status information of the first peripheral device and the second peripheral device simultaneously with individual indicators, in accordance with a determination that the first peripheral device and the second peripheral device are not electrically or magnetically coupled to the third peripheral device, wherein the first peripheral device and the second peripheral device are independent peripheral devices; displaying, in the second user interface, a single indicator indicating battery levels of both the first peripheral device and the second peripheral device, or indicating that both the first peripheral device and the second peripheral device are charging, in accordance with a determination that both the first peripheral device and the second peripheral device are electrically or magnetically coupled to the third peripheral device; A method comprising the above.
2. Displaying the status information of the first peripheral device and the second peripheral device includes simultaneously displaying a first battery level indicating a battery level of the first peripheral device and a second battery level indicating a battery level of the second peripheral device. The method according to claim 1.
3. The method according to claim 1, further comprising displaying a battery charging graphic for the first peripheral device in accordance with a determination that the first peripheral device is connected to a power source in response to detecting the pairing request and determining that the first peripheral device, a second peripheral device, and a third peripheral device are part of a predetermined set.
4. The method according to claim 3, comprising detecting the pairing request, and in response to determining that the first peripheral device, the second peripheral device, and the third peripheral device are part of a predetermined set, displaying a battery charging graphic for the second peripheral device according to a determination that the second peripheral device is connected to a power source.
5. The method according to claim 1, comprising detecting the pairing request, and in response to determining that the first peripheral device, the second peripheral device, and the third peripheral device are part of a predetermined set, displaying a low battery graphic for the first peripheral device according to a determination that a battery level of the first peripheral device is below a minimum charge threshold.
6. The method according to claim 5, comprising detecting the pairing request, and in response to determining that the first peripheral device, the second peripheral device, and the third peripheral device are part of a predetermined set, displaying a low battery graphic for the second peripheral device according to a determination that a battery level of the second peripheral device is below a minimum charge threshold.
7. The method according to any one of claims 1 to 6, comprising detecting the pairing request, and in response to determining that the first peripheral device, the second peripheral device, and the third peripheral device are part of a predetermined set, simultaneously displaying user interface elements, wherein activation of the user interface elements by user input causes the electronic device to stop displaying the single indicator and the user interface elements.
8. The method according to claim 7, comprising stopping display of the single indicator and the user interface elements after a predetermined time has elapsed without detecting activation of the user interface elements.
9. The method according to any one of claims 1 to 6, wherein the first peripheral device is a first earbud, the second peripheral device is a second earbud, and the third peripheral device is a case for the first peripheral device and the second peripheral device.
10. An electronic device, comprising a display, a radio frequency (RF) circuit for wireless communication with one or more peripheral devices, one or more input devices for receiving input from a user, and a memory storing one or more programs An electronic device comprising, wherein the one or more programs, display a first user interface on the display, while the first user interface is being displayed, detect a pairing request to pair the electronic device with a first peripheral device, in response to detecting the pairing request and determining that the first peripheral device, the second peripheral device, and the third peripheral device are part of a predetermined set, wirelessly pair the first peripheral device with the electronic device, in accordance with a determination that the first peripheral device and the second peripheral device are not electrically or magnetically coupled to the third peripheral device, simultaneously display status information of the first peripheral device and the second peripheral device in a second user interface along with individual indicators, and the first peripheral device and the second peripheral device are independent peripheral devices, in accordance with a determination that both the first peripheral device and the second peripheral device are electrically or magnetically coupled to the third peripheral device, display in the second user interface a single indicator indicating the battery levels of both the first peripheral device and the second peripheral device, or indicating that both the first peripheral device and the second peripheral device are being charged, An electronic device including a set of instructions for.
11. The one or more programs include a set of instructions for performing the method according to any one of claims 2 to 9, and the electronic device according to claim 10.
12. A computer program, when executed by an electronic device having a display, a radio frequency (RF) circuit for wireless communication with one or more peripheral devices, and one or more input devices for receiving input from a user, causes the electronic device to, display a first user interface on the display; while the first user interface is being displayed, detect a pairing request to pair the electronic device with a first peripheral device; in response to detecting the pairing request and determining that the first peripheral device, the second peripheral device, and the third peripheral device are part of a predetermined set, wirelessly pair the first peripheral device with the electronic device; In accordance with the determination that the first peripheral device and the second peripheral device are not electrically or magnetically coupled to the third peripheral device, simultaneously display the status information of the first peripheral device and the second peripheral device in a second user interface together with individual indicators, wherein the first peripheral device and the second peripheral device are independent peripheral devices, In accordance with the determination that both the first peripheral device and the second peripheral device are electrically or magnetically coupled to the third peripheral device, display in the second user interface a single indicator indicating the battery levels of both the first peripheral device and the second peripheral device, or indicating that both the first peripheral device and the second peripheral device are being charged, A computer program comprising a set of instructions for causing an operation including the above.
13. The computer program according to claim 12, wherein when the set of instructions is executed by the electronic device, the electronic device is further caused to execute the method according to any one of claims 2 to 9.
Citation Information
Patent Citations
System for displaying electrical quantity of bluetooth headset on portable electronic device and method thereof
CN102073577A
Bluetooth headset and charging dock connection method and device
CN102271011A
Method for displaying battery voltage or electric quantity of Bluetooth equipment on Bluetooth terminal
CN102914747A
remote user interface in bluetooth device
JP2009532937A
Portable telephone with wireless earphone
JP2013135374A