PATENT DOCUMENT

Publication Number: US-11539831-B2
Application Number: US-201916679967-A
Country: US
Kind Code: B2

Title: Providing remote interactions with host device using a wireless device

Abstract:
A wearable device that communicates with a host device can be used to initiate a communication functionality of the host device (e.g., telephone calls, text messages). The wearable device can obtain user input indicating a recipient of the communication and in some instances content for the communication and can provide an instruction to the host device. The host device can use the indicated recipient and content to initiate communication and where applicable to send the content. Recipients and/or content can be selected from predefined lists available on the wearable device.

Claims:
What is claimed is: 
     
       1. An electronic device, comprising:
 a display; 
 one or more processors; 
 a memory; and 
 one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including instructions for:
 displaying, on the display of the electronic device, one or more messages; 
 while displaying the one or more messages, detecting a user input; 
 in response to detecting the user input, while displaying the one or more messages:
 ceasing to display the one or more messages; and 
 concurrently displaying, on the display, a plurality of graphical user interface objects that includes a second graphical user interface object corresponding to a first predefined message content and a third graphical user interface object corresponding to a second predefined message content different than the first predefined message content, and an identifier corresponding to a sender of the message of the one or more messages; 
 
 while concurrently displaying the plurality of graphical user interface objects and the identifier corresponding to the sender of the message without displaying the one or more messages, detecting a sequence of one or more inputs; 
 in response to detecting the sequence of one or more inputs, while concurrently displaying the plurality of graphical user interface objects and the identifier corresponding to the sender of the message without displaying the one or more messages:
 in accordance with a determination that the sequence of one or more inputs that was detected while concurrently displaying the plurality of graphical user interface objects and the identifier corresponding to the sender of the message without displaying the one or more messages, includes an input corresponding to the second graphical user interface object, transmitting a response message that includes the first predefined message content, wherein the first predefined message content includes a first plurality of characters; 
 in accordance with a determination that the sequence of one or more inputs that was detected while concurrently displaying the plurality of graphical user interface objects and the identifier corresponding to the sender of the message without displaying the one or more messages, includes an input corresponding to the third graphical user interface object, transmitting a response message that includes the second predefined message content, wherein the second predefined message content includes a second plurality of characters; and 
 in accordance with a determination that the sequence of one or more inputs includes an input corresponding to a fourth graphical user interface object that corresponds to a character entry user interface for entering individual alphanumeric characters, displaying the character entry user interface; 
 
 while displaying the character entry user interface, detecting a set of one or more gesture inputs that correspond to a plurality of text characters, wherein a response message includes text generated from the one or more text characters corresponding to the gesture inputs; and 
 after detecting the set of one or more gesture inputs, transmitting the response message that includes text generated from the set of one or more gesture inputs. 
 
 
     
     
       2. The electronic device of  claim 1 , the one or more programs further including instructions for:
 in response to detecting the sequence of one or more inputs:
 in accordance with a determination that the sequence of one or more inputs includes an input corresponding to a fifth graphical user interface object that corresponds to an audio input interface, displaying the audio input interface; 
 while displaying the audio input interface, detecting audio input, wherein a response message includes text generated from the audio input; and 
 transmitting the response message that includes text generated from the audio input. 
 
 
     
     
       3. The electronic device of  claim 1 , the one or more programs further including instructions for:
 subsequent to transmitting the response message, displaying a confirmation message indicating that the response message was sent. 
 
     
     
       4. The electronic device of  claim 1 , wherein the predefined messages are based on prior interaction with a host device. 
     
     
       5. The electronic device of  claim 1 , wherein the sequence of one or more inputs is a singular user input and wherein transmitting the response message includes initiating transmission of the response message. 
     
     
       6. A non-transitory computer-readable storage medium storing one or more programs configured to be executed by one or more processors of an electronic device with a display, the one or more programs including instructions for:
 displaying, on the display of the electronic device, one or more messages; 
 while displaying the one or more messages, detecting a user input; 
 in response to detecting the user input, while displaying the one or more messages:
 ceasing to display the one or more messages; and 
 concurrently displaying, on the display, a plurality of graphical user interface objects that includes a second graphical user interface object corresponding to a first predefined message content and a third graphical user interface object corresponding to a second predefined message content different than the first predefined message content, and an identifier corresponding to a sender of the message of the one or more messages; 
 
 while concurrently displaying the plurality of graphical user interface objects and the identifier corresponding to the sender of the message without displaying the one or more messages, detecting a sequence of one or more inputs; 
 in response to detecting the sequence of one or more inputs, while concurrently displaying the plurality of graphical user interface objects and the identifier corresponding to the sender of the message without displaying the one or more messages:
 in accordance with a determination that the sequence of one or more inputs that was detected while concurrently displaying the plurality of graphical user interface objects and the identifier corresponding to the sender of the message without displaying the one or more messages, includes an input corresponding to the second graphical user interface object, transmitting a response message that includes the first predefined message content, wherein the first predefined message content includes a first plurality of characters; 
 in accordance with a determination that the sequence of one or more inputs that was detected while concurrently displaying the plurality of graphical user interface objects and the identifier corresponding to the sender of the message without displaying the one or more messages, includes an input corresponding to the third graphical user interface object, transmitting a response message that includes the second predefined message content, wherein the second predefined message content includes a second plurality of characters; and 
 in accordance with a determination that the sequence of one or more inputs includes an input corresponding to a fourth graphical user interface object that corresponds to a character entry user interface for entering individual alphanumeric characters, displaying the character entry user interface; 
 
 while displaying the character entry user interface, detecting a set of one or more gesture inputs that correspond to a plurality of text characters, wherein a response message includes text generated from the one or more text characters corresponding to the gesture inputs; and 
 after detecting the set of one or more gesture inputs, transmitting the response message that includes text generated from the set of one or more gesture inputs. 
 
     
     
       7. The computer-readable storage medium of  claim 6 , the one or more programs further including instructions for:
 in response to detecting the sequence of one or more inputs:
 in accordance with a determination that the sequence of one or more inputs includes an input corresponding to a fifth graphical user interface object that corresponds to an audio input interface, displaying the audio input interface; 
 while displaying the audio input interface, detecting audio input, wherein a response message includes text generated from the audio input; and 
 transmitting the response message that includes text generated from the audio input. 
 
 
     
     
       8. The computer-readable storage medium of  claim 6 , the one or more programs further including instructions for:
 subsequent to transmitting the response message, displaying a confirmation message indicating that the response message was sent. 
 
     
     
       9. The computer-readable storage medium of  claim 6 , wherein the predefined messages are based on prior interaction with a host device. 
     
     
       10. The computer-readable storage medium of  claim 6 , wherein the sequence of one or more inputs is a singular user input and wherein transmitting the response message includes initiating transmission of the response message. 
     
     
       11. A method, comprising:
 at an electronic device with one or more processors and a display:
 displaying, on the display of the electronic device, one or more messages; 
 while displaying the one or more messages, detecting a user input; 
 in response to detecting the user input, while displaying the one or more messages:
 ceasing to display the one or more messages; and 
 concurrently displaying, on the display, a plurality of graphical user interface objects that includes a second graphical user interface object corresponding to a first predefined message content and a third graphical user interface object corresponding to a second predefined message content different than the first predefined message content, and an identifier corresponding to a sender of the message of the one or more messages; 
 
 while concurrently displaying the plurality of graphical user interface objects and the identifier corresponding to the sender of the message without displaying the one or more messages, detecting a sequence of one or more inputs; 
 in response to detecting the sequence of one or more inputs, while concurrently displaying the plurality of graphical user interface objects and the identifier corresponding to the sender of the message without displaying the one or more messages:
 in accordance with a determination that the sequence of one or more inputs that was detected while concurrently displaying the plurality of graphical user interface objects and the identifier corresponding to the sender of the message without displaying the one or more messages, includes an input corresponding to the second graphical user interface object, transmitting a response message that includes the first predefined message content, wherein the first predefined message content includes a first plurality of characters; 
 in accordance with a determination that the sequence of one or more inputs that was detected while concurrently displaying the plurality of graphical user interface objects and the identifier corresponding to the sender of the message without displaying the one or more messages, includes an input corresponding to the third graphical user interface object, transmitting a response message that includes the second predefined message content, wherein the second predefined message content includes a second plurality of characters; and 
 in accordance with a determination that the sequence of one or more inputs includes an input corresponding to a fourth graphical user interface object that corresponds to a character entry user interface for entering individual alphanumeric characters, displaying the character entry user interface; 
 
 while displaying the character entry user interface, detecting a set of one or more gesture inputs that correspond to a plurality of text characters, wherein a response message includes text generated from the one or more text characters corresponding to the gesture inputs; and 
 after detecting the set of one or more gesture inputs, transmitting the response message that includes text generated from the set of one or more gesture inputs. 
 
 
     
     
       12. The method of  claim 11 , further comprising:
 in response to detecting the sequence of one or more inputs:
 in accordance with a determination that the sequence of one or more inputs includes an input corresponding to a fifth graphical user interface object that corresponds to an audio input interface, displaying the audio input interface; 
 while displaying the audio input interface, detecting audio input, wherein a response message includes text generated from the audio input; and 
 transmitting the response message that includes text generated from the audio input. 
 
 
     
     
       13. The method of  claim 11 , further comprising:
 subsequent to transmitting the response message, displaying a confirmation message indicating that the response message was sent. 
 
     
     
       14. The method of  claim 11 , wherein the predefined messages are based on prior interaction with a host device. 
     
     
       15. The method of  claim 11 , wherein the sequence of one or more inputs is a singular user input and wherein transmitting the response message includes initiating transmission of the response message.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     The present application is a continuation of U.S. patent application Ser. No. 14/774,664, filed Sep. 10, 2015, entitled “Providing Remote Interactions with Host Device Using a Wireless Device”, which is a U.S. National Phase under 35 USC 371 of PCT Application No. PCT/US/2014/027882, filed Mar. 14, 2014, entitled “Providing Remote Interactions with Host Device Using a Wireless Device,” which claims priority to commonly-owned International Application No. PCT/US/2013/032498, filed Mar. 15, 2013, entitled “Providing Remote Interactions with Host Device Using a Wireless Device,” the disclosures of which are incorporated herein by reference in their entirety. 
    
    
     BACKGROUND 
     The present disclosure relates generally to wireless electronic devices and in particular to providing remote interactions with a host device using a wireless device. 
     Mobile electronic devices, such as mobile phones, smart phones, tablet computers, media players, and the like, have become quite popular. Many users carry a device almost everywhere they go and use their devices for a variety of purposes, including making and receiving phone calls, sending and receiving text messages and emails, navigation (e.g., using maps and/or a GPS receiver), purchasing items in stores (e.g., using contactless payment systems), and/or accessing the Internet (e.g., to look up information). 
     However, a user&#39;s mobile device is not always readily acccessible. For instance, when a mobile device receives a phone call, the device may be in a user&#39;s bag or pocket, and the user may be walking, driving, carrying something, or involved in other activity that makes it inconvenient or impossible for the user to reach into the bag or pocket to find the device. 
     SUMMARY 
     Certain embodiments of the present invention relate to wearable electronic devices that can be connected (e.g., via wireless pairing) with another device (referred to herein as a “host device”), such as a smart phone, other mobile phone, tablet computer, media player, laptop computer, or the like. When paired, the wearable device can provide access to various functionalities of the host device. 
     In some embodiments, a wearable device can be operated by a user to respond to an event notification generated by a host device. The wearable device can receive a notification of the event from the host device and present the user with an alert and a prompt to respond. If the user responds to the prompt, the wearable device can transmit the response to the host device. For example, a user can respond to a phone call, text message, or other communication received at the host device. 
     In some embodiments, a wearable device can be operated by a user to initiate a functionality of a host device, independently of any prior event notification. For example, the wearable device can present a user interface via which the user can select a functionality to be invoked and further interfaces to control that functionality. Accordingly, a user can operate a wearable device to provide a phone number and instruct a host device to place a phone call to that number, or a user can operate a wearable device to send a text message to a specified recipient, or a user can operate a wearable device to control media playback and/or any other functionality available on a particular host device. 
     Certain embodiments of the invention relate to placing a phone call using a wearable device that communicates with a host device having a telephone transceiver. In some embodiments, a wearable device can obtain user input indicative of a call to be placed, including identifier of a recipient of the call. For example, the wearable device can present to the user a list of the user&#39;s contacts and can receive a user input selecting one of the contacts from the list as the recipient. As another example, the wearable device can present to the user a virtual keypad, which the user can operate to enter a phone number to be called. The wearable device can send an instruction to the host device to place a phone call and provide the identifier of the recipient. The host device can place the call. In some embodiments, e.g., where the recipient is identified as a contact, the host device can perform a lookup operation to determine a phone number associated with the contact, then place the call to that phone number. Once the call as been placed, the host device can send confirmation to the wearable device. In response to receiving the confirmation, the wearable device can present a control operable by the user to terminate the call. 
     While the call is in progress, the host device can route audio signals associated with the call between the telephone transceiver and an audio device, and the routing can be based at least in part on a user preference setting of the host device. For instance, the host device can route a call-related audio output signal received at the telephone transceiver to the wearable device, which can deliver the signal to a speaker (which can be part of the wearable device or a separate device). As another example, the wearable device can also obtain a call-related audio input signal from a microphone (which can be part of the wearable device or a separate device) and can send the call-related audio input signal to the host device, which can route the signal to the telephone transceiver. In other embodiments, the host device can route call-related audio input and/or call-related audio output from and/or to audio devices other than the wearable device. 
     In some embodiments, a call can continue until it is terminated. For example, the wearable device can detect user operation of the control operable to end the call and can send a notification to the host device that the call should be ended. As another example, the wearable device can receive a notification from the host device that the call has ended (e.g., because the recipient terminated the call) and can present an alert to the user indicating that the call has ended. 
     Certain embodiments of the invention relate to sending a message (such as a text message) using a wearable device that communicates with a host device having a telecommunication interface. In some embodiments, the wearable device can obtain user input indicative of a recipient of a message and further user input indicative of content of the message. For example, the wearable device can present to the user a list of the user&#39;s contacts and can receive a user input selecting one of the contacts from the list as the recipient. The wearable device can also present to the user a list of predefined messages and can receive a user input selecting one of the messages from the list as the message content. The wearable device can send an instruction to the host device to send the message, and the instruction can include an identifier of the recipient and an indication of the content of the message. In response to the instruction, the host can create a message based on the provided indication of content. For example, if the content indication provides an identifier of a message selected from a list, the host device can perform a lookup operation to obtain corresponding message content and include that content in the message. The host device can send the message to a destination address determined based on the recpient identifier. The host can send a confirmation to the wearable device that the message has been sent, and the wearable device can so inform the user. 
     Certain embodiments relate to facilitating user operation of a wearable device, e.g., by automatically activating a user interface of the wearable device in response to an event indicating that a user is likely to begin using the wearable device. For example, the wearable device can have a motion sensor that it can use to detect a motion characteristic of a user moving the wearable device into a viewing position. In the case of a wrist-worn device, for instance, the characteristic motion can correspond to a motion that moves the user&#39;s wrist into the user&#39;s line of sight. In response to detecting this motion, the wearable device can activate a user interface component such as a display, a touch sensor, a touchscreen interface (which can include a display and a touch sensor), a microphone, or the like. Other components of the wearable device can be automatically activated based on motion detection as well. In some embodiments, the wearable device can also detect whether it is being worn, and motion detection to trigger automatic activation can be limited to instances where the device is being worn. 
     The following detailed description together with the accompanying drawings will provide a better understanding of the nature and advantages of the present invention. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG.  1    shows a wearable device communicating wirelessly with a host device according to an embodiment of the present invention. 
         FIG.  2    is a simplified block diagram of a wearable device according to an embodiment of the present invention. 
         FIGS.  3 A and  3 B  illustrate a user operating a wearable device according to an embodiment of the present invention 
         FIG.  4    is a flow diagram of a process for responding to an event notification according to an embodiment of the present invention. 
         FIG.  5    illustrates an interface for alerting a user according to an embodiment of the present invention. 
         FIG.  6    illustrates another interface for alerting a user according to an embodiment of the present invention. 
         FIG.  7    illustrates a user interface for selecting a predefined message according to an embodiment of the present invention. 
         FIG.  8    is a flow diagram of a process for generating an event notification and receiving a response according to an embodiment of the present invention 
         FIG.  9    is a flow diagram of a process for initiating a phone-call functionality of a host device according to an embodiment of the present invention. 
         FIG.  10    illustrates a function-selection user interface according to an embodiment of the present invention. 
         FIG.  11    illustrates a user interface for placing a call according to an embodiment of the present invention. 
         FIG.  12    illustrates a keypad user interface according to an embodiment of the present invention. 
         FIG.  13    illustrates a contacts user interface according to an embodiment of the present invention. 
         FIG.  14    is a flow diagram of a process for placing a call using a wearable device according to an embodiment of the present invention. 
         FIG.  15    is a flow diagram of a process for sending a text message using a wearable device according to an embodiment of the present invention. 
         FIG.  16    illustrates a user interface for selecting a predefined message according to an embodiment of the present invention. 
     
    
    
     DETAILED DESCRIPTION 
     Certain embodiments of the present invention relate to wearable electronic devices that can be connected (e.g., via wireless pairing) with another device (referred to herein as a “host device”), such as a smart phone, other mobile phone, tablet computer, media player, laptop computer, or the like. When paired, the wearable device can provide access to various functionality of the host device. 
     In some embodiments, a wearable device can be operated by a user to respond to an event notification generated by a host device. The wearable device can receive a notification of the event from the host device and present the user with an alert and a prompt to respond. If the user responds to the prompt, the wearable device can transmit the response to the host device. For example, a user can respond to a phone call, text message, or other communication received at the host device. 
     In some embodiments, a wearable device can be operated by a user to initiate a functionality of a host device, independently of any prior event notification. For example, the wearable device can present a user interface via which the user can select a functionality to be invoked and further interfaces to control that functionality. Accordingly, a user can operate a wearable device to provide a phone number and instruct a host device to place a phone call to that number, or a user can operate a wearable device to send a text message to a specified recipient, or a user can operate a wearable device to control media playback and/or any other functionality available on a particular host device. 
       FIG.  1    shows a wearable device  100  communicating wirelessly with a host device  102  according to an embodiment of the present invention. In this example, wearable device  100  is shown as a wristwatch-like device with a face portion  104  connected to straps  106   a ,  106   b.    
     Face portion  104  can include, e.g., a touchscreen display  105  that can be appropriately sized depending on where on a user&#39;s person wearable device  100  is intended to be worn. A user can view information presented by wearable device  100  on touchscreen display  105  and provide input to wearable device  100  by touching touchscreen display  105 . In some embodiments, touchscreen display  105  can occupy most or all of the front surface of face portion  104 . 
     Straps  106   a ,  106   b  can be provided to allow device  100  to be removably worn by a user, e.g., around the user&#39;s wrist. In some embodiments, straps  106   a ,  106   b  can be made of any flexible material (e.g., fabrics, flexible plastics, leather, chains or flexibly interleaved plates or links made of metal or other rigid materials) and can be connected to face portion  104 , e.g., by hinges. Alternatively, straps  106   a ,  106   b  can be made of a rigid material, with one or more hinges positioned at the junction of face  104  and proximal ends  112   a ,  112   b  of straps  106   a ,  106   b  and/or elsewhere along the lengths of straps  106   a ,  106   b  to allow a user to put on and take off wearable device  100 . Different portions of straps  106   a ,  106   b  can be made of different materials; for instance, flexible or expandable sections can alternate with rigid sections. In some embodiments, one or both of straps  106   a ,  106   b  can include removable sections, allowing wearable device  100  to be resized to accommodate a particular user&#39;s wrist size. In some embodiments, straps  106   a ,  106   b  can be portions of a continuous strap member that runs behind or through face portion  104 . Face portion  104  can be detachable from straps  106   a ,  106   b ; permanently attached to straps  106   a ,  106   b ; or integrally formed with straps  106   a ,  106   b.    
     The distal ends of straps  106   a ,  106   b  opposite face portion  104  can provide complementary clasp members  108   a ,  108   b  that can be engaged with each other to secure the distal ends of straps  106   a ,  106   b  to each other, forming a closed loop. In this manner, device  100  can be secured to a user&#39;s person, e.g., around the user&#39;s wrist; clasp members  108   a ,  108   b  can be subsequently disengaged to facilitate removal of device  100  from the user&#39;s person. The design of clasp members  108   a ,  108   b  can be varied; in various embodiments, clasp members  108   a ,  108   b  can include buckles, magnetic clasps, mechanical clasps, snap closures, etc. In some embodiments, one or both of clasp members  108   a ,  108   b  can be movable along at least a portion of the length of corresponding strap  106   a ,  106   b , allowing wearable device  100  to be resized to accommodate a particular user&#39;s wrist size. 
     Straps  106   a ,  106   b  can be two distinct segments, or they can be formed as a continuous band of an elastic material (including, e.g., elastic fabrics, expandable metal links, or a combination of elastic and inelastic sections), allowing wearable device  100  to be put on and taken off by stretching a band formed straps  106   a ,  106   b . In such embodiments, clasp members  108   a ,  108   b  can be omitted. 
     Straps  106   a ,  106   b  and/or clasp members  108   a ,  108   b  can include sensors that allow wearable device  100  to determine whether it is being worn at any given time. Wearable device  100  can operate differently depending on whether it is currently being worn or not. For example, wearable device  100  can inactivate various user interface and/or RF interface components when it is not being worn. In addition, in some embodiments, wearable device  100  can notify host device  102  when a user puts on or takes off wearable device  100 . 
     Host device  102  can be any device that communicates with wearable device  100 . In  FIG.  1   , host device  102  is shown as a smart phone; however, other host devices can be substituted, such as a tablet computer, a media player, any type of mobile phone, a laptop or desktop computer, or the like. Other examples of host devices can include point-of-sale terminals, security systems, environmental control systems, and so on. Host device  102  can communicate wirelessly with wearable device  100 , e.g., using protocols such as Bluetooth or Wi-Fi. In some embodiments, wearable device  100  can include an electrical connector  110  that can be used to provide a wired connection to host device  102  and/or to other devices, e.g., by using suitable cables. For example, connector  110  can be used to connect to a power supply to charge an onboard battery of wearable device  100 . 
     In some embodiments, wearable device  100  and host device  102  can interoperate to enhance functionality available on host device  102 . For example, wearable device  100  and host device  102  can establish a pairing using a wireless communication technology such as Bluetooth. While the devices are paired, host device  102  can send notifications of selected events (e.g., receiving a phone call, text message, or email message) to wearable device  100 , and wearable device  100  can present corresponding alerts to the user. Wearable device  100  can also provide an input interface via which a user can respond to an alert (e.g., to answer a phone call or reply to a text message). In some embodiments, wearable device  100  can also provide a user interface that allows a user to initiate an action on host device  102 , such as placing a phone call, sending a text message, or controlling media playback operations of host device  102 . Techniques described herein can be adapted to allow a wide range of host device functions to be enhanced by providing an interface via wearable device  100 . 
     It will be appreciated that wearable device  100  and host device  102  are illustrative and that variations and modifications are possible. For example, wearable device  100  can be implemented in any wearable article, including a watch, a bracelet, a necklace, a ring, a belt, a jacket, or the like. In some instances, wearable device  100  can be a clip-on device or pin-on device that has a clip or pin portion that attaches to the user&#39;s clothing. The interface portion (including, e.g., touchscreen display  105 ) can be attached to the clip or pin portion by a retractable cord, and a user can easily pull touchscreen display  105  into view for use without removing the clip or pin portion, then let go to return wearable device  100  to its resting location. Thus, a user can wear device  100  in any convenient location. 
     Wearable device  100  can be implemented using electronic components disposed within face portion  104 , straps  106   a ,  106   b , and/or clasp members  108   a ,  108   b .  FIG.  2    is a simplified block diagram of a wearable device  200  (e.g., implementing wearable device  100 ) according to an embodiment of the present invention. Wearable device  200  can include processing subsystem  202 , storage subsystem  204 , user interface  206 , RF interface  208 , connector interface  210 , power subsystem  212 , environmental sensors  214 , and strap sensors  216 . Wearable device  200  can also include other components (not explicitly shown). 
     Storage subsystem  204  can be implemented, e.g., using magnetic storage media, flash memory, other semiconductor memory (e.g., DRAM, SRAM), or any other non-transitory storage medium, or a combination of media, and can include volatile and/or non-volatile media. In some embodiments, storage subsystem  204  can store media items such as audio files, video files, image or artwork files; information about a user&#39;s contacts (names, addresses, phone numbers, etc.); information about a user&#39;s scheduled appointments and events; notes; and/or other types of information, examples of which are described below. In some embodiments, storage subsystem  204  can also store one or more application programs to be executed by processing subsystem  202  (e.g., video game programs, personal information management programs, media playback programs, interface programs associated with particular host devices and/or host device functionalities, etc.). 
     User interface  206  can include any combination of input and output devices. A user can operate input devices of user interface  206  to invoke the functionality of wearable device  200  and can view, hear, and/or otherwise experience output from wearable device  200  via output devices of user interface  206 . 
     Examples of output devices include display  220 , speakers  222 , and haptic output generator  224 . Display  220  can be implemented using compact display technologies, e.g., LCD (liquid crystal display), LED (light-emitting diode), OLED (organic light-emitting diode), or the like. In some embodiments, display  220  can incorporate a flexible display element or curved-glass display element, allowing wearable device  200  to conform to a desired shape. One or more speakers  222  can be provided using small-form-factor speaker technologies, including any technology capable of converting electronic signals into audible sound waves. In some embodiments, speakers  222  can be used to produce tones (e.g., beeping or ringing) and can but need not be capable of reproducing sounds such as speech or music with any particular degree of fidelity. Haptic output generator  224  can be, e.g., a device that converts electronic signals into vibrations; in some embodiments, the vibrations can be strong enough to be felt by a user wearing wearable device  200  but not so strong as to produce distinct sounds. 
     Examples of input devices include microphone  226 , touch sensor  228 , and camera  229 . Microphone  226  can include any device that converts sound waves into electronic signals. In some embodiments, microphone  226  can be sufficiently sensitive to provide a representation of specific words spoken by a user; in other embodiments, microphone  226  can be usable to provide indications of general ambient sound levels without necessarily providing a high-quality electronic representation of specific sounds. 
     Touch sensor  228  can include, e.g., a capacitive sensor array with the ability to localize contacts to a particular point or region on the surface of the sensor and in some instances, the ability to distinguish multiple simultaneous contacts. In some embodiments, touch sensor  228  can be overlaid over display  220  to provide a touchscreen interface (e.g., touchscreen interface  105  of  FIG.  1   ), and processing subsystem  202  can translate touch events (including taps and/or other gestures made with one or more contacts) into specific user inputs depending on what is currently displayed on display  220 . 
     Camera  229  can include, e.g., a compact digital camera that includes an image sensor such as a CMOS sensor and optical components (e.g. lenses) arranged to focus an image onto the image sensor, along with control logic operable to use the imaging components to capture and store still and/or video images. Images can be stored, e.g., in storage subsystem  204  and/or transmitted by wearable device  200  to other devices for storage. Depending on implementation, the optical components can provide fixed focal distance or variable focal distance; in the latter case, autofocus can be provided. In some embodiments, camera  229  can be disposed along an edge of face member  104  of  FIG.  1   , e.g., the top edge, and oriented to allow a user to capture images of nearby objects in the environment such as a bar code or QR code. In other embodiments, camera  229  can be disposed on the front surface of face member  104 , e.g., to capture images of the user. Zero, one, or more cameras can be provided, depending on implementation. 
     In some embodiments, user interface  206  can provide output to and/or receive input from an auxiliary device such as a headset. For example, audio jack  230  can connect via an audio cable (e.g., a standard 2.5-mm or 3.5-mm audio cable) to an auxiliary device. Audio jack  230  can include input and/or output paths. Accordingly, audio jack  230  can provide audio to the auxiliary device and/or receive audio from the auxiliary device. In some embodiments, a wireless connection interface can be used to communicate with an auxiliary device. 
     Processing subsystem  202  can be implemented as one or more integrated circuits, e.g., one or more single-core or multi-core microprocessors or microcontrollers, examples of which are known in the art. In operation, processing system  202  can control the operation of wearable device  200 . In various embodiments, processing subsystem  202  can execute a variety of programs in response to program code and can maintain multiple concurrently executing programs or processes. At any given time, some or all of the program code to be executed can be resident in processing subsystem  202  and/or in storage media such as storage subsystem  204 . 
     Through suitable programming, processing subsystem  202  can provide various functionality for wearable device  200 . For example, in some embodiments, processing subsystem  202  can execute an operating system (OS)  232  and various applications for interfacing with a host device, such as a phone-interface application  234 , a text-interface application  236 , and/or a media interface application  238 . In some embodiments, some or all of these application programs can interact with a host device, e.g., by generating messages to be sent to the host device and/or by receiving and interpreting messages from the host device. In some embodiments, some or all of the application programs can operate locally to wearable device  200 . For example, if wearable device  200  has a local media library stored in storage subsystem  204 , media interface application  238  can provide a user interface to select and play locally stored media items. Examples of interface applications are described below. 
     RF (radio frequency) interface  208  can allow wearable device  200  to communicate wirelessly with various host devices. RF interface  208  can include RF transceiver components such as an antenna and supporting circuitry to enable data communication over a wireless medium, e.g., using Wi-Fi (IEEE 802.11 family standards), Bluetooth® (a family of standards promulgated by Bluetooth SIG, Inc.), or other protocols for wireless data communication. RF interface  208  can be implemented using a combination of hardware (e.g., driver circuits, antennas, modulators/demodulators, encoders/decoders, and other analog and/or digital signal processing circuits) and software components. In some embodiments, RF interface  208  can provide near-field communication (“NFC”) capability, e.g., implementing the ISO/IEC 18092 standards or the like; NFC can support wireless data exchange between devices over a very short range (e.g., 20 centimeters or less). Multiple different wireless communication protocols and associated hardware can be incorporated into RF interface  208 . 
     Connector interface  210  can allow wearable device  200  to communicate with various host devices via a wired communication path, e.g., using Universal Serial Bus (USB), universal asynchronous receiver/transmitter (UART), or other protocols for wired data communication. In some embodiments, connector interface  210  can provide a power port, allowing wearable device  200  to receive power, e.g., to charge an internal battery. For example, connector interface  210  can include a connector such as a mini-USB connector or a custom connector, as well as supporting circuitry. In some embodiments, the connector can be a custom connector that provides dedicated power and ground contacts, as well as digital data contacts that can be used to implement different communication technologies in parallel; for instance, two pins can be assigned as USB data pins (D+ and D−) and two other pins can be assigned as serial transmit/receive pins (e.g., implementing a UART interface). The assignment of pins to particular communication technologies can be hardwired or negotiated while the connection is being established. In some embodiments, the connector can also provide connections for audio and/or video signals, which may be transmitted to or from processing subsystem  202  in analog and/or digital formats. 
     In some embodiments, connector interface  210  and/or RF interface  208  can be used to support synchronization operations in which data is transferred from a host device to wearable device  200  (or vice versa). For example, as described below, a user can customize certain information for wearable device  200  (e.g., a “favorite” contacts list and/or specific predefined text messages that can be sent). While user interface  206  can support data-entry operations, a user may find it more convenient to define customized information on a separate device (e.g., a tablet or smartphone) that has a larger interface (e.g., including a real or virtual alphanumeric keyboard), then transfer the customized information to wearable device  200  via a synchronization operation. Synchronization operations can also be used to load and/or update other types of data in storage subsystem  204 , such as media items, application programs, and/or operating system programs. Synchronization operations can be performed in response to an explicit user request and/or automatically, e.g., when wireless device  200  resumes communication with a particular host device or in response to either device receiving an update to its copy of synchronized information. 
     Environmental sensors  214  can include various electronic, mechanical, electromechanical, optical, or other devices that provide information related to external conditions around wearable device  200 . Sensors  214  in some embodiments can provide digital signals to processing subsystem  202 , e.g., on a streaming basis or in response to polling by processing subsystem  202  as desired. Any type and combination of environmental sensors can be used; shown by way of example are accelerometer  242 , a magnetometer  244 , a gyroscope  246 , and a GPS receiver  248 . 
     Some environmental sensors can provide information about the location and/or motion of wearable device  200 . For example, accelerometer  242  can sense acceleration (relative to freefall) along one or more axes, e.g., using piezoelectric or other components in conjunction with associated electronics to produce a signal. Magnetometer  244  can sense an ambient magnetic field (e.g., Earth&#39;s magnetic field) and generate a corresponding electrical signal, which can be interpreted as a compass direction. Gyroscopic sensor  246  can sense rotational motion in one or more directions, e.g., using one or more MEMS (micro-electro-mechanical systems) gyroscopes and related control and sensing circuitry. Global Positioning System (GPS) receiver  248  can determine location based on signals received from GPS satellites. 
     Other sensors can also be included in addition to or instead of these examples. For example, a sound sensor can incorporate microphone  226  together with associated circuitry and/or program code to determine, e.g., a decibel level of ambient sound. Temperature sensors, proximity sensors, ambient light sensors, or the like can also be included. 
     Strap sensors  216  can include various electronic, mechanical, electromechanical, optical, or other devices that provide information as to whether wearable device  200  is currently being worn. For instance, clasp sensor  250  can be at least partially disposed within either or both of clasp members  108   a ,  108   b  of  FIG.  1    and can detect when clasp members  108   a ,  108   b  are engaged with each other or disengaged from each other. For example, engaging clasp members  108   a ,  108   b  to each other can complete an electrical circuit, allowing current to flow through clasp sensor  250 ; disengaging clasp members  108   a ,  108   b  from each other can break the circuit. As another example, one or more contact sensors  252  can be disposed in straps  106   a ,  106   b  and can detect contact with a user&#39;s skin, e.g., based on capacitive sensing, galvanic skin response, or the like. Contact sensors  252  can also include pressure sensors (e.g., piezoelectric devices) or the like. Any other type of sensor that indicates whether wearable device  200  is currently being worn can be used in addition to or instead of strap sensors  216 . For instance, physiological or biometric sensors, such as pulse sensors, ECG sensors, or the like can be provided. In some embodiments, physiological or biometric sensors can be used in verifying the identity of the wearer of wearable device  200 . 
     Power subsystem  212  can provide power and power management capabilities for wearable device  200 . For example, power subsystem  212  can include a battery  240  (e.g., a rechargeable battery) and associated circuitry to distribute power from battery  240  to other components of wearable device  200  that require electrical power. In some embodiments, power subsystem  212  can also include circuitry operable to charge battery  240 , e.g., when connector interface  210  is connected to a power source. In some embodiments, power subsystem  212  can include a “wireless” charger, such as an inductive charger, to charge battery  240  without relying on connector interface  210 . In some embodiments, power subsystem  212  can also include other power sources, such as a solar cell, in addition to or instead of battery  240 . 
     In some embodiments, power subsystem  212  can control power distribution to components within wearable device  200  to manage power consumption efficiently. For example, power subsystem  212  can automatically place device  200  into a “hibernation” state when strap sensors  216  indicate that device  200  is not being worn. The hibernation state can be designed to reduce power consumption; accordingly, user interface  206  (or components thereof), RF interface  208 , connector interface  210 , and/or environmental sensors  214  can be powered down (e.g., to a low-power state or turned off entirely), while strap sensors  216  are powered up (either continuously or at intervals) to detect when a user puts on wearable device  200 . As another example, in some embodiments, while wearable device  200  is being worn, power subsystem  212  can turn display  220  and/or other components on or off depending on motion and/or orientation of wearable device  200  detected by environmental sensors  214 . For instance, if wearable device  200  is designed to be worn on a user&#39;s wrist, power subsystem  212  can detect raising and rolling of a user&#39;s wrist, as is typically associated with looking at a wristwatch, based on information provided by accelerometer  242 . In response to this detected motion, power subsystem  212  can automatically turn display  220  and/or touch sensor  228  on; similarly, power subsystem  212  can automatically turn display  220  and/or touch sensor  228  off in response to detecting that user&#39;s wrist has returned to a neutral position (e.g., hanging down). 
     Power subsystem  212  can also provide other power management capabilities, such as regulating power consumption of other components of wearable device  200  based on the source and amount of available power, monitoring stored power in battery  240 , generating user alerts if the stored power drops below a minimum level, and so on. 
     In some embodiments, control functions of power subsystem  212  can be implemented using programmable or controllable circuits operating in response to control signals generated by processing subsystem  202  in response to program code executing thereon, or as a separate microprocessor or microcontroller. 
     It will be appreciated that wearable device  200  is illustrative and that variations and modifications are possible. For example, strap sensors  216  can be omitted, and wearable device  200  can include a user-operable control (e.g., a button or switch) that the user can operate to indicate when wearable device  200  is being worn. Controls can also be provided, e.g., to turn on or off display  220 , mute or unmute sounds from speakers  222 , etc. In some embodiments, other environmental sensors (e.g., accelerometer  242 ) can be used to determine whether wearable device  200  is being worn, in addition to or instead of strap sensors  216 . Wearable device  200  can include any types and combination of sensors and in some instances can include multiple sensors of a given type. 
     In various embodiments, a user interface can include any combination of any or all of the components described above, as well as other components not expressly described. For example, in some embodiments, the user interface can include, e.g., just a touchscreen, or a touchscreen and a speaker, or a touchscreen and a haptic device. Where the wearable device has an RF interface, a connector interface can be omitted, and all communication between the wearable device and other devices can be conducted using wireless communication protocols. A wired power connection, e.g., for charging a battery of the wearable device, can be provided separately from any data connection. 
     Further, while the wearable device is described with reference to particular blocks, it is to be understood that these blocks are defined for convenience of description and are not intended to imply a particular physical arrangement of component parts. Further, the blocks need not correspond to physically distinct components. Blocks can be configured to perform various operations, e.g., by programming a processor or providing appropriate control circuitry, and various blocks might or might not be reconfigurable depending on how the initial configuration is obtained. Embodiments of the present invention can be realized in a variety of apparatus including electronic devices implemented using any combination of circuitry and software. 
     A host device such as host device  102  of  FIG.  1    can be implemented as an electronic device using blocks similar to those described above (e.g., processors, storage media, user interface devices, data communication interfaces, etc.) and/or other blocks or components. Those skilled in the art will recognize that any electronic device capable of communicating with a particular wearable device can act as a host device with respect to that wearable device. 
     Communication between a host device and a wireless device can be implemented according to any communication protocol (or combination of protocols) that both devices are programmed or otherwise configured to use. In some instances, standard protocols such as Bluetooth protocols can be used. In some instances, a custom message format and syntax (including, e.g., a set of rules for interpreting particular bytes or sequences of bytes in a digital data transmission) can be defined, and messages can be transmitted using standard serial protocols such as a virtual serial port defined in certain Bluetooth standards. Embodiments of the invention are not limited to particular protocols, and those skilled in the art with access to the present teachings will recognize that numerous protocols can be used. 
     In some embodiments, wearable device  200  can detect a transition from an “idle” position to an “active” position. For example,  FIGS.  3 A and  3 B  illustrate a user  300  wearing wearable device  302 , which in this example is a wrist-worn device. As shown in  FIG.  3 A , when user  300  is not actively using wearable device  302 , the user&#39;s arm  304  may hang naturally at his side. To begin using wearable device  302 , user  300  can rotate his arm to the position  304 ′ shown in  FIG.  3 B , raising the elbow to bring wearable device  302  into his line of sight. Dashed line  306  indicates an approximate motion path of wearable device  302 . 
     Motion sensors (e.g., accelerometer  242  and/or gyroscopic sensor  246 ) can detect a characteristic motion associated with bringing wearable device  302  into the user&#39;s line of sight; upon detecting this motion, wearable device  302  can automatically prepare itself to be used, e.g., by activating user interface components such as display  220  and/or touch sensor  228 . Other patterns of motion can also be detected and can trigger activation of user interface components; for example, shaking of the wrist or a specific motion pattern of the arm or hand (e.g., moving in an “S” curve or circle or triangle). In some embodiments, wearable device  302  (or other wearable devices described herein) can have a button (e.g., on the side of face  104  in  FIG.  1   ) that a user can toggle to turn on or off a touchscreen interface; the button can be provided in addition to or instead of motion-based detection of activation. 
     Referring again to  FIG.  1   , in some embodiments, host device  102  can send various event notifications to wearable device  100 , and the user can respond to the notifications via wearable device  100 . For example, host device  102  can alert wearable device  100  to incoming communications such as phone calls, text messages, voicemail messages, email messages, and the like; upcoming meetings or events; stock market events such as change in price of a particular stock; location-based reminders; and/or any other event that can be identified by host device  102 . In some embodiments, the user may be able to select which types of events should generate notifications to wearable device  102 , e.g., by interacting with a settings menu provided on host device  102 . 
       FIG.  4    is a flow diagram of a process  400  for responding to an event notification according to an embodiment of the present invention. Process  400  can be implemented in a wearable device, e.g., wearable device  100  of  FIG.  1    or wearable device  200  of  FIG.  2   , which can be interacting with host device  102 . In some embodiments, the implementation of process  400  can include program code executed by a processor of wearable device  100 . 
     At block  402 , wearable device  100  can pair with a host device, e.g., host device  102 . For example, standard Bluetooth pairing techniques can be used; other techniques for establishing a wireless connection between two devices can be used. In some embodiments, an initial pairing between two devices may involve user interaction with one or both devices to confirm that the pairing should be established. Once the initial pairing is established, the two devices can automatically reconnect to each other (without further user intervention) any time they come within communication range and are operating their respective RF transceivers. 
     At block  404 , wearable device  100  can receive an event notification from host device  102 . For example, host device  102  can send a notification indicating an incoming phone call, text message, or email message. At block  406 , wearable device  100  can present an alert to the user and can prompt the user for a response. The alert can include, e.g., an audible alert, a vibration, a visual alert, or any combination of multiple alerts. The prompt can include, e.g., a visual prompt on display  220 , an audio prompt (e.g., a voice prompt), or the like. 
       FIG.  5    illustrates an alert-and-prompt screen  500  that can be displayed at block  406  when the event notification corresponds to an incoming phone call. Screen  500  can show an identifier of the caller  502 ; the identifier can be determined by host device  102  (e.g., based on a contacts list stored therein and/or caller identifying information received by host device  102 ) and sent to wearable device  100  as part of the event notification. Screen  500  can also prompt the user to respond to the call, e.g., by selecting virtual button  504  to instruct the phone to answer the call, virtual button  506  to instruct the phone to place the caller on hold, virtual button  508  to instruct the phone to divert the call to voicemail, and virtual button  510  to decline the call. Other alerts and prompts can be used, depending on the type of event, available response options, screen size of the wearable device, user preferences, and similar design considerations. 
     In some embodiments, a sequence of screens can be presented as part of prompting the user for a response. For example,  FIG.  6    illustrates a prompt screen  600  that can be displayed at block  406  of process  400  when the event notification corresponds to an incoming text message. Screen  600  shows an identifier of the sender of the text  602 ; as with a phone caller, the identifier of a sender of a text can be determined by host device  102  (e.g., based on a contacts list stored therein and/or source identifying information received by host device  102 ). Screen  600  can also show a preview of the text message  604 ; in some embodiments, the user can scroll (e.g., by sliding a finger up or down on a touchscreen) to view more message content. Screen  600  can also prompt the user to respond to the text, e.g., by selecting virtual button  606  to reply to the text or virtual button  608  to exit from screen  600  without responding. 
     If the user selects virtual button  606 , a message selection screen  700  as shown in  FIG.  7    can be displayed, providing a menu of predefined text messages from which the user can select. For example, virtual button  702  can be selected to send a “yes” message, virtual button  704  can be selected to send a “no” message; virtual button  706  can be selected to send a “thanks” message; and virtual button  708  can be selected to send a “later” message indicating that the user will contact the sender later. It is to be understood that buttons  702 ,  704 ,  706 ,  708  may not contain the full text message to be sent but rather a short identifier. For example, the “no” identifier on button  704  can be associated with a less terse message such as “No, sorry,” and the “later” identifier on button  708  can be associated with a more specific message such as “I&#39;ll call you later.” 
     Referring again to  FIG.  4   , at block  408 , wearable device  100  can receive a user input in response to the prompt. For example, the user can select virtual buttons via one or more of screens  500 ,  600 , or  700 , depending on context and what the user desires to do. At block  410 , wearable device  100  can transmit a response message to the host based on the received user input. 
     It is not required that a user actually respond to any particular alert on wearable device  100 . For example, in some embodiments process  400  can simply time out and end at block  408  if the user does not provide input within some fixed time period (e.g., 1 minute, 2 minutes, 5 minutes); the time period can be different for different types of events. As another example, a user can select the “close” option (button  608 ) from a screen such as screen  600 , and this can be interpreted by wearable device  100  as an indication that the user does not intend to respond. In some instances, a user may instead choose to respond to an alert by using host device  102  directly; in such cases, host device  102  can notify wearable device  100  if a response is received directly at host device  102 . 
       FIG.  8    is a flow diagram of a process  800  for generating an event notification and receiving a response according to an embodiment of the present invention. Process  800  can be implemented in a host device, e.g., host device  102  of  FIG.  1   , which can be interacting with a wearable device  100  that executes process  400  of  FIG.  4    or similar processes. In some embodiments, the implementation of process  800  can include program code executed by a processor of host device  102 . 
     At block  802 , host device  102  can detect an event that triggers a user alert, such as an incoming call or text message. At block  804 , host device  102  can determine whether a wearable device (e.g., wearable device  100 ) is currently paired. If not, then at block  806 , host device  102  can wait for a user input at its local interface to determine whether and how the user chooses to respond. 
     If wearable device  100  is currently paired, then at block  808 , host device  102  can send an event notification to wearable device  100 . Any communication protocol can be used, including standard Bluetooth messages (e.g., incoming call alert), a message that conforms to a customized serial protocol that can be transmitted using Bluetooth&#39;s virtual serial port capability, or messages conforming to other protocols that are mutually understood by the host device and the wearable device. The notification can include information identifying the type of event (e.g., incoming phone call, text message received, stock market alert, etc.) and additional details specific to the event (e.g., name or other identifier of the caller, content of a text message, etc.). 
     At block  810 , host device  102  can wait for a response, which can come from either the wearable device or a local user interface of host device  102 . For example, a user may receive an alert of an incoming call on wearable device  100  but choose to answer the call using host device  102 . Accordingly, host device  102  can monitor activity on the connection to wearable device  100  to detect a response and at the same time present a local interface (e.g., on its own touchscreen display) and monitor that interface to detect a response. 
     At block  812 , host device  102  can process the received response, regardless of whether it was received from wearable device  100  or via a local user interface of host device  102 . For example, referring to  FIG.  5   , if a user selects one of virtual buttons  504 ,  506 ,  508 ,  510  from screen  500  on wearable device  100 , host device  102  can receive a response from wearable device  100  indicating which button was selected. In response to answer button  504  being selected, host device  102  can answer the call; call audio can be routed to wearable device  100  or to another audio input/output device, such as an internal audio interface of host device  102  or a wireless headset that is paired with or otherwise in communication with host device  102 . In response to hold button  506  being selected, host device  102  can answer the call and play a message to the caller indicating that the caller should hold. The user can later take the call off hold, e.g., via a local user interface of host device  102  or via wearable device  100 , allowing the user to speak with the caller. In response to voicemail button  508  being selected, host device  102  can redirect the call to a voicemail account associated with the user, allowing the caller to leave a message. In response to decline button  510  being selected, host device  102  can reject or terminate the call. 
     As another example, referring to  FIG.  7   , if a user selects to reply to a text message with a predefined response, e.g., by selecting one of buttons  702 ,  704 ,  706 ,  708  on screen  700 , host device  102  can generate and send the corresponding text message back to the sender. In some embodiments, wearable device  100  may provide an index or other short name as an identifier for the text message. Host device  102  can maintain a lookup table or other data structure that maps the identifier to the actual message to be sent (e.g., a short-name identifier such as “later” or an index such as “3” can be mapped to “I&#39;ll call you later,” which is the message that would be sent). In some embodiments, a user can define a set of text messages to be included in the predefined list by interacting with host device  102 , and host device  102  can provide short names and/or other identifiers for the user-defined messages to wearable device  100 , e.g., in a synchronization operation. 
     It is not required that a user actually respond to a particular alert, either locally on host device  102  or via wearable device  100 . In some instances, process  800  can allow the alert to time out after a specific period (e.g., 1 minute, 2 minutes, 5 minutes) if the user does not respond, in which case process  800  can end at block  806  or  810 . For example, if an incoming call is not answered within the specified time period after generating the alert, host device  102  can take a default action such as diverting the call to a voicemail system. In some embodiments, if the user does not respond within the specified time period, host device  102  can discontinue the alert and/or replace the alert with an informational notice that is visible to the user (e.g., a missed-call notification or the like). 
     It will be appreciated that processes  400  and  800  are illustrative and that variations and modifications are possible. Steps described as sequential may be executed in parallel, order of steps may be varied, and steps may be modified, combined, added or omitted. For instance, in some embodiments, a host device can present a user alert via its own local interface in addition to sending a notification to a wearable device; in some embodiments, the host device presents a user alert via its own local user interface only when the wearable device is not paired; and in some embodiments, the user can specify whether the host should send a particular notification to the wearable device, present an alert locally, do both, or do neither. A user alert on a host device or a wearable device can take the form of any sensory input detectable by a human and can include visual alerts (e.g., lights; displayed text, icons and or images), audible alerts (e.g., tones, buzzes, ringtones, musical sounds, and/or speech sounds), and/or tactile alerts (e.g., a vibration). 
     The particular response options described above, e.g., with reference to  FIGS.  5 - 7   , are also illustrative, and the user may have other options for responding to a given alert. Further, while processes  400  and  800  have been described with reference to specific types of events (incoming call, incoming text message), it is to be understood that notifications of other types of events can be processed in the same manner. For any type of event, the user can have the option to select one of a set of responses (which may be limited) via the wearable device&#39;s user interface or to use the host device&#39;s local user interface to respond. In some instances, the host device&#39;s interface can offer a larger or different range of possible response options than the wearable device (e.g., composing an arbitrary message as opposed to selecting from a finite set of predefined messages). 
     In some embodiments, in addition to or instead of responding to an event on the host device, a user can use a wearable device to initiate a functionality of the host device, e.g., placing a phone call, sending a text message that is not in response to a received text message, or initiating any other functionality that is available on a particular host device.  FIG.  9    is a flow diagram of a process  900  for initiating a phone-call functionality of a host device according to an embodiment of the present invention. Process  900  can be implemented in a wearable device, e.g., wearable device  100  of  FIG.  1    or wearable device  200  of  FIG.  2   , which can be interacting with a host device  102  that provides a telephone transceiver capable of communicating over a phone network (e.g., a cellular telephony network, voice-over-IP system, or the like). In some embodiments, the implementation of process  900  can include program code executed by a processor of wearable device  100 . 
     At block  902 , a user can select an option to place a call using the user interface of wearable device  100 . For example, referring to  FIG.  10   , a user interface of wearable device  100  can include a function selection screen  1000 . Function selection screen  1000  can be a default screen that appears when the display of wearable device  100  is activated or it can be a different screen that the user can access through a touch gesture or sequence of gestures (e.g., to navigate through menus) on a touchscreen display, a hand or arm gesture detected by motion sensors built into wearable device  100 , or other operations. Function selection screen  1000  can include various virtual buttons that the user can select to invoke a functionality of host device  102 , such as “call” button  1002  to place a call, “text” button  1004  to send a text message, and “music” button  1006  to invoke a media player functionality of host device  102 . In this example, a user can select an option to place a call by selecting button  1002 . 
     Referring again to  FIG.  9   , at block  904 , wearable device  100  can determine whether it is currently paired with a host device  102  that is capable of making phone calls. If not, wearable device  100  can alert the user at block  906 . The user can take corrective action, such as getting within range of host device  102 , turning host device  102  on, etc. 
     Assuming wearable device  100  is paired with a phone-capable host device  102 , then at block  908 , wearable device  100  can present the user with calling options, and at block  910 , wearable device  100  can receive user input selecting a calling option. For example, when a user selects call button  1002  of  FIG.  10   , an interface such as screen  1100  of  FIG.  11    may be displayed.  FIG.  11    shows options for placing a call, such as an emergency call button  1102  that can be programmed to place a call to a phone number associated with an emergency service (such as 911 in the United States or 112 in many European countries), a keypad button  1104  to allow a user to dial a number, and a contacts button  1106  to allow a user to look up a contact. 
     If the user selects keypad button  1104 , wearable device  100  can present a keypad interface, such as screen  1200  of  FIG.  12   . Screen  1200  includes a virtual phone keypad  1202  (e.g., a standard phone keypad with digits  0 - 9  and “star” and “pound” keys) and a number box  1204  to show the digits entered so far. In some embodiments, other controls can be provided (e.g., back, cancel, and done buttons); in some embodiments, gestures can be associated with various control functions such as erasing a digit, canceling the operation, or indicating that entry of the number is complete. A user can operate keypad interface screen  1200  to dial an arbitrary number. 
     If, from screen  1100  of  FIG.  11   , the user chooses contacts button  1106 , wearable device  100  can present a selectable contacts list, such as screen  1300  of  FIG.  13   . Screen  1300  can present the names of some or all of a user&#39;s contacts, e.g., as virtual buttons  1302 ,  1304 ,  1306 ,  1308 . If the number of contacts exceeds the available space on screen  1300 , the list can be scrollable (e.g., using upward or downward gestures on a touchscreen) to allow the user to view and select from any number of contacts. 
     Wearable device  100  can maintain various amounts of contact information. For example, wearable device  100  can maintain a list of names of the user&#39;s contacts, which it can obtain, e.g., via synchronization operations with host device  102  or with other devices. Wearable device  100  can maintain just the name and/or other information about each contact (e.g., phone numbers, photos) as desired. In some embodiments, a user can designate a subset of her contacts to be synchronized with wearable device  100 , and host device  102  can have a larger list of contacts than wearable device  100  as well as more information about each contact. Alternatively, wearable device  100  can obtain contact information from host device  102  in real time, e.g., with user-defined favorite contacts or most-recently-contacted contacts being presented first and various options to retrieve additional contacts. Accordingly, a user can operate wearable device  100  to select a contact to be called. 
     Referring again to  FIG.  9   , once the user input that determines a number to be called has been received (block  910 ), process  900  can send a call instruction to host device  102  at block  912  to instruct host device  102  to place the call. In some instances, e.g., where keypad screen  1200  was used, the call instruction can include a phone number. In some instances, e.g., where contacts screen  1300  was used to select the party to be called, the call instruction can include the selected contact&#39;s name (or other unique identifier), from which host device  102  can determine the phone number to be called, e.g., by looking up the information in a user&#39;s contact list. Host device  102  can place the call, and at block  914 , wearable device  100  can receive confirmation that the call has been placed. This confirmation can indicate whether the call connected, or it can be sent before the call is actually connected. 
     At block  916 , wearable device  100  can receive and send call-related audio signals, allowing the user to communicate with the caller. Call-related audio signals can include input audio signals (e.g., speech of the user picked up by a microphone and delivered to the host device for transmission via the phone network) and/or output audio signals (e.g., speech of the other caller received at the host device via the phone network and delivered to a speaker). In some instances, output and/or input audio signals can be sent to and/or received from a built-in speaker and/or microphone of wearable device  100 . In other instances, wearable device  100  can send output audio to and/or receive input audio from external devices such as a wired or wireless headset. It is not required that all call-related audio signals, or indeed any call-related audio signals, be routed through wearable device  100 . For example, host device  102  can route input (or output) audio to (or from) a device other than wearable device  100  while using wearable device  100  to route the output (or input) audio, and wearable device  100  can process the portion of audio for which it is in the routing path. In some instances, all call-related audio signals can be routed to and from devices other than wearable device  100 , in which case wearable device  100  would not receive or send call-related audio signals but may simply wait until the call is completed. In some embodiments, wearable device  100  can make other functions available to the user while a call is in progress. 
     In some embodiments, while a call is in progress, wearable device  100  can display a control operable by the user to end the call. At block  918 , if this control is operated, then at block  920 , wearable device  100  can alert host device  102  that the call should be ended. Host device  102  can terminate the call and return a confirmation to wearable device  100  at block  922 . Wearable device  100  can present an alert to the user at block  924  to confirm that the call has ended. 
     Host device  102  can also detect a call-termination event not originating from wearable device  100 , e.g., if the other party disconnects or if the connection is dropped by the phone network. If this occurs, host device  102  can send an event notification to wearable device  100 . Accordingly, if the user does not end the call at block  918 , then at block  926 , wearable device  100  can determine whether host device  102  has sent a call termination notification. If so, then wearable device  100  can alert the user at block  924 . Otherwise, the call can continue (block  1408 ) until either the user terminates it or the host detects a termination event. 
       FIG.  14    is a flow diagram of a process  1400  for placing a call using a wearable device according to an embodiment of the present invention. Process  1400  can be implemented in a host device, e.g., host device  102  of  FIG.  1   , which can be interacting with a wearable device  100  that executes process  900  of  FIG.  9    or similar processes, and host device  102  can provide a telephone transceiver capable of communicating over a phone network (e.g., a cellular telephony network, voice-over-IP system, or the like) In some embodiments, the implementation of process  1400  can include program code executed by a processor of host device  102 . 
     At block  1402 , host device  102  can receive a call instruction from a paired wearable device  100  that instructs host device  102  to place a phone call. The call instruction can include, e.g., a phone number to be called or an identifier of a contact. At block  1404 , host device  102  can place the call. In some embodiments, placing the call can include using the contact identifier received at block  1402  to look up a corresponding phone number. At block  1406 , host device  102  can send a confirmation that the call has been placed. The confirmation can be sent, e.g., while the call is still being connected. 
     At block  1408 , host device  102  can route the call-related audio signals (including input and output audio signals as described above with reference to  FIG.  9   ) to and from appropriate input and output devices. Audio input and output devices can include an internal microphone or speaker of host device  102  and/or an external microphone or speaker connected to host device  102  by wired or wireless connections, including in some instances wearable device  100 . In some embodiments, host device  102  can determine the routing based on what other devices are currently connected to host device  102  and/or user-specified preferences regarding audio routing. Accordingly, call-related audio can be routed to wearable device  100  or to another device. In some instances, input and output audio can be routed differently; for example, host device  102  can receive input audio from wearable device  102  while providing output audio to a different device. 
     At block  1410 , host device  102  can determine whether wearable device  102  has sent a message indicating that the call should end. If so, then host device  102  can end the call at block  1412  and send confirmation to wearable device  100  at block  1414 . 
     If, at block  1410 , wearable device  102  has not indicated that the call should end, then at block  1416 , host device  100  can determine whether it has received notification via the phone network that the call has ended (e.g., that the other endpoint has terminated the call or that the connection has been dropped). In addition, in some embodiments, a user who operated wearable device  102  to place a particular call can operate the user interface of host device  100  to end the call. If host device  102  detects any of these call-ending events, then host device  100  can notify wearable device  102  that the call has ended at block  1418 . In some embodiments, the notification at block  1418  can include an indication of how the call ended (e.g., terminated by the other endpoint, dropped call, etc.). 
     If, at block  1416 , host device  100  does not detect that the call has ended, then process  1400  can return to block  1408  to continue to route audio for the call. Accordingly, the call can continue until it is terminated by either party. 
     Similar processes can be used to send other types of communication, such as text messaging. For example,  FIG.  15    is a flow diagram of a process  1500  for sending a text message using a wearable device, e.g., wearable device  100  of  FIG.  1    or wearable device  200  of  FIG.  2   , which can be interacting with a host device  102  that provides a telecommunication interface capable of communicating text messages over a network (e.g., a cellular telephony network, cellular data network, the Internet, or the like) In some embodiments, the implementation of process  1500  can include program code executed by a processor of wearable device  100 . 
     At block  1502 , a user can select an option to send a text message, e.g., by selecting text button  1004  from interface screen  1000  of  FIG.  10   . At block  1504 , wearable device  100  can determine whether it is currently paired with a host device  102  that is capable of making phone calls. If not, wearable device  100  can alert the user at block  1506 . The user can take corrective action, such as getting within range of host device  102 , turning host device  102  on, etc. 
     At block  1508 , wearable device  100  can present the user with options for selecting a recipient, and at block  1510 , wearable device  100  can receive the user&#39;s selection. In some instances, interface screens similar to those shown in  FIGS.  11 - 13    can be used. For example, the user can send a text to an arbitrary phone number by entering the number into keypad  1202  of screen  1200 , or the user can select a contact from screen  1300 . In some embodiments, the same list of contacts can be used for both calls and text messages; in other embodiments, a user can define different lists of favorite contacts for different communication media. 
     At block  1512 , wearable device  100  can present the user with options for texts to send, and at block  1514 , wearable device  100  can receive the user&#39;s selection. For example, similarly to process  400  described above, a user can have a predefined list of texts to send, allowing the user to avoid entering the text character-by-character.  FIG.  16    illustrates an interface screen  1600  for selecting a predefined text message that can be used at block  1512 . The predefined text messages can be different depending on whether the user is initiating a new text message (as in process  1500 ) or responding to a received text message (as in process  400 ). For example, button  1602  can be associated with a text such as “I&#39;m leaving now” and button  1604  with a text such as “I&#39;m running late,” which are examples of text messages that a user might send to a person she is going to meet. Button  1606  can be associated with a text such as “Please call me,” which requests the recipient to take a particular action. Button  1608  can be associated with a text such as “Do you need anything from the grocery store?” which a user might send while on the way to the store. Other options can be provided in addition to or instead of these examples, and in some embodiments the user can define specific text messages and short identifiers in a manner similar to that described above with reference to  FIG.  7   . 
     In some embodiments, wearable device  100  can provide an option to enter an arbitrary text using alphanumeric or other character systems. For example, each character in a character system can be mapped to a different touch gesture, and a user can enter text by making touch gestures on touchscreen display  105 . As another example, each character can be mapped to a different sequence of taps (e.g., Morse code or the like), and a user can enter text by tapping touchscreen display  105 . As yet another example, touchscreen display  105  can present a compact virtual keypad in which a character is determined based on the key location and number of times the user taps the key. 
     At block  1516 , wearable device  100  can instruct the host device to send the text message and can provide an identifier of the intended recipient (e.g., phone number or name) and an identifier of the text to be sent; the identifier can be, e.g., an index, a short identifier, or the actual text entered or selected by the user. As in process  900  described above, host device  102  can use the recipient identifier to determine the phone number, and as in processes  400  and  800  described above, host device  102  can use a short identifier of the text message to identify the actual message to be sent. In some embodiments, at block  1518 , wearable device  100  can receive a confirmation from host device  102  that the text was sent and/or received; if desired, wearable device  100  can present a corresponding alert or informational message to the user. 
     It will be appreciated that the communication-initiation processes described above are illustrative and that variations and modifications are possible. Steps described as sequential may be executed in parallel, order of steps may be varied, and steps may be modified, combined, added or omitted. Messages can be sent using various communication media and formats, including text messages (sent, e.g., via a short messaging service (SMS) provided by a cellular communication network that carries voice and/or data); email messages, instant messages, social-network messages (any of which can be sent, e.g., via an Internet interface of the host device); and other types of messages. 
     In some embodiments, a user can define “quick-access” actions, such as “call Mom” or “text Bob that I&#39;m running late” that can be executed with a reduced number of input actions (e.g., a single gesture to bring up a quick-access list, followed by tapping on the appropriate entry). This can facilitate communication by and with users who are in the midst of other activities and find it inconvenient to locate their phone to send a quick message or place a call. 
     Control over host device functions is not limited to communication functions. For example, in some embodiments, a host device  102  can have media player capabilities, allowing a user to select and play media tracks (e.g., audio and/or video), and wearable device  100  can provide remote control over media playback operations of a host device. 
     Referring again to  FIG.  10   , interface screen  1000  for wearable device  100  includes a button  1006  that can be selected to control media playback in a host device. In some embodiments, in response to user selection of button  1006 , wearable device  100  can present an interface to select and control media player functions of host device  102 . For example, wearable device  100  can display lists of playlists, albums, artists, genres, or songs from which the user can select tracks to play; once a track is playing, wearable device  100  can provide playback controls such as play, pause, skip to previous or next track, rewind, fast-forward, volume control and the like, and the user can control playback using touch gestures on the display device. 
     In addition or instead, control can be provided based on movement of wearable device  100  itself. For example, accelerometers, gyroscopes, or the like can be used to detect motion of wearable device  100 , and certain motions can be defined as spatial gestures, which in turn can be interpreted as controls. Thus, in some embodiments, a user can control the volume, e.g., by circling her wrist or arm clockwise to increase and counterclockwise to lower. Other gestures can be associated with other actions, e.g., a quick up-and-down to play, a quick down-and-up to pause, quick right-then-left to skip ahead, quick left-then-right to skip back, etc. Different gestures can be associated with different control operations as desired. 
     It is to be understood that other devices can be controlled by a wearable device. For example, a wearable device can provide control over environmental systems (e.g., heating, lights) through an appropriate user interface. 
     While the invention has been described with respect to specific embodiments, one skilled in the art will recognize that numerous modifications are possible and that components, operations, and/or other features that may be described with respect to different embodiments can be incorporated into the same embodiment. Wearable devices can interact with host devices to facilitate a variety of operations with increased convenience to the user. 
     All user interfaces shown herein are also illustrative. Sizes of user interfaces or graphical elements thereof can be modified according to a particular desired form factor of a wearable device and/or host device. Icons can be used in addition to or instead of text to identify associated functions, and the number and arrangement of controls can be varied to facilitate user operation. In some embodiments, the user may be able to scroll the display, e.g., by dragging one or two fingers along the surface of a touchscreen display to see more options than can be presented at once. Further, while the foregoing description may refer to graphical user interfaces, other interfaces can also be used. For example, an audio input interface can be provided by allowing the user to speak into a microphone of a wearable device; the wearable device can interpret the audio signal locally to determine a corresponding instruction or send the audio to a host device for interpretation. Similarly, an audio output interface can be provided by using a speaker on the wearable device to produce sounds. The sounds can include tones (beeps, whirrs, etc.) and/or speech sounds; for example, synthesized speech can be generated on a host device and transmitted to the wearable device as a digital audio signal, or the wearable device can include its own speech synthesizer. In some embodiments where a wearable device is worn on the user&#39;s hand, wrist, or arm, user input can include spatial gestures with the hand, wrist, and/or arm that are detected using motion sensors of the wearable device in addition to or instead of touch gestures involving contact with a touch-sensitive surface of the wearable device. Different gestures can be assigned different meanings, and the meaning of a gesture can be context-dependent, e.g., depending on what operations of the host device and/or wearable device are currently in progress. Thus, the same gesture can, in different contexts, indicate hanging up a call or stopping playback of a media track. Touch gestures and spatial gestures can be used in various combinations as desired. 
     The foregoing description may make reference to specific examples of a wearable device (e.g., a wrist-worn device) and/or a host device (e.g., a smart phone). It is to be understood that these examples are illustrative and not limiting; other devices can be substituted and can implement similar functional blocks and/or algorithms to perform operations described herein and/or other operations. 
     Embodiments of the present invention, e.g., in methods, apparatus, computer-readable media and the like, can be realized using any combination of dedicated components and/or programmable processors and/or other programmable devices. The various processes described herein can be implemented on the same processor or different processors in any combination. Where components are described as being configured to perform certain operations, such configuration can be accomplished, e.g., by designing electronic circuits to perform the operation, by programming programmable electronic circuits (such as microprocessors) to perform the operation, or any combination thereof. Further, while the embodiments described above may make reference to specific hardware and software components, those skilled in the art will appreciate that different combinations of hardware and/or software components may also be used and that particular operations described as being implemented in hardware might also be implemented in software or vice versa. 
     Computer programs incorporating various features of the present invention may be encoded and stored on various computer readable storage media; suitable media include magnetic disk or tape, optical storage media such as compact disk (CD) or DVD (digital versatile disk), flash memory, and other non-transitory media. Computer readable media encoded with the program code may be packaged with a compatible electronic device, or the program code may be provided separately from electronic devices (e.g., via Internet download or as a separately packaged computer-readable storage medium). 
     Thus, although the invention has been described with respect to specific embodiments, it will be appreciated that the invention is intended to cover all modifications and equivalents within the scope of the following claims.

Metadata:
Filing Date: 20191111
Publication Date: 20221227
Grant Date: 20221227
Priority Date: 20130315
Inventors: BHATT, NIKHIL M.
Assignee: APPLE INC
CPC Classifications: [{"code": "H04M1/724094", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04M1/72412", "inventive": false, "first": false, "tree": "[]"}, {"code": "H04W76/14", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04M1/72484", "inventive": true, "first": true, "tree": "[]"}, {"code": "H04W68/005", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04W76/14", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04W4/80", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04M1/72454", "inventive": false, "first": false, "tree": "[]"}, {"code": "H04M1/7243", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04M1/72454", "inventive": false, "first": false, "tree": "[]"}, {"code": "H04M2250/12", "inventive": false, "first": false, "tree": "[]"}, {"code": "H04M2250/12", "inventive": false, "first": false, "tree": "[]"}, {"code": "H04M1/72412", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04W4/80", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04M1/72484", "inventive": true, "first": true, "tree": "[]"}, {"code": "H04W68/005", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04M1/72409", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04M2250/12", "inventive": false, "first": false, "tree": "[]"}, {"code": "H04W76/14", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04M1/7243", "inventive": true, "first": false, "tree": "[]"}, {"code": "H04M1/72454", "inventive": false, "first": false, "tree": "[]"}, {"code": "H04W4/80", "inventive": true, "first": true, "tree": "[]"}, {"code": "H04M1/72412", "inventive": false, "first": false, "tree": "[]"}, {"code": "H04M1/724094", "inventive": true, "first": false, "tree": "[]"}]
Family ID: 48045096