CROSS-REFERENCE TO RELATED APPLICATIONSThis application 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 disclosure of which is incorporated herein by reference in its entirety.
BACKGROUNDThe 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's mobile device is not always readily accessible. For instance, when a mobile device receives a phone call, the device may be in a user'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.
SUMMARYCertain 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'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'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 recipient 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's wrist into the user'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 DRAWINGSFIG. 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. 3A and 3B 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 DESCRIPTIONCertain 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 awearable device100 communicating wirelessly with ahost device102 according to an embodiment of the present invention. In this example,wearable device100 is shown as a wristwatch-like device with aface portion104 connected tostraps106a,106b.
Face portion104 can include, e.g., atouchscreen display105 that can be appropriately sized depending on where on a user's personwearable device100 is intended to be worn. A user can view information presented bywearable device100 ontouchscreen display105 and provide input towearable device100 by touchingtouchscreen display105. In some embodiments,touchscreen display105 can occupy most or all of the front surface offace portion104.
Straps106a,106bcan be provided to allowdevice100 to be removably worn by a user, e.g., around the user's wrist. In some embodiments, straps106a,106bcan 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 faceportion104, e.g., by hinges. Alternatively, straps106a,106bcan be made of a rigid material, with one or more hinges positioned at the junction offace104 and proximal ends112a,112bofstraps106a,106band/or elsewhere along the lengths ofstraps106a,106bto allow a user to put on and take offwearable device100. Different portions ofstraps106a,106bcan be made of different materials; for instance, flexible or expandable sections can alternate with rigid sections. In some embodiments, one or both ofstraps106a,106bcan include removable sections, allowingwearable device100 to be resized to accommodate a particular user's wrist size. In some embodiments, straps106a,106bcan be portions of a continuous strap member that runs behind or throughface portion104.Face portion104 can be detachable fromstraps106a,106b; permanently attached tostraps106a,106b; or integrally formed withstraps106a,106b.
The distal ends ofstraps106a,106boppositeface portion104 can providecomplementary clasp members108a,108bthat can be engaged with each other to secure the distal ends ofstraps106a,106bto each other, forming a closed loop. In this manner,device100 can be secured to a user's person, e.g., around the user's wrist;clasp members108a,108bcan be subsequently disengaged to facilitate removal ofdevice100 from the user's person. The design ofclasp members108a,108bcan be varied; in various embodiments,clasp members108a,108bcan include buckles, magnetic clasps, mechanical clasps, snap closures, etc. In some embodiments, one or both ofclasp members108a,108bcan be movable along at least a portion of the length ofcorresponding strap106a,106b, allowingwearable device100 to be resized to accommodate a particular user's wrist size.
Straps106a,106bcan 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), allowingwearable device100 to be put on and taken off by stretching a band formedstraps106a,106b. In such embodiments,clasp members108a,108bcan be omitted.
Straps106a,106band/orclasp members108a,108bcan include sensors that allowwearable device100 to determine whether it is being worn at any given time.Wearable device100 can operate differently depending on whether it is currently being worn or not. For example,wearable device100 can inactivate various user interface and/or RF interface components when it is not being worn. In addition, in some embodiments,wearable device100 can notifyhost device102 when a user puts on or takes offwearable device100.
Host device102 can be any device that communicates withwearable device100. InFIG. 1,host device102 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 device102 can communicate wirelessly withwearable device100, e.g., using protocols such as Bluetooth or Wi-Fi. In some embodiments,wearable device100 can include anelectrical connector110 that can be used to provide a wired connection tohost device102 and/or to other devices, e.g., by using suitable cables. For example,connector110 can be used to connect to a power supply to charge an onboard battery ofwearable device100.
In some embodiments,wearable device100 andhost device102 can interoperate to enhance functionality available onhost device102. For example,wearable device100 andhost device102 can establish a pairing using a wireless communication technology such as Bluetooth. While the devices are paired,host device102 can send notifications of selected events (e.g., receiving a phone call, text message, or email message) towearable device100, andwearable device100 can present corresponding alerts to the user.Wearable device100 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 device100 can also provide a user interface that allows a user to initiate an action onhost device102, such as placing a phone call, sending a text message, or controlling media playback operations ofhost device102. Techniques described herein can be adapted to allow a wide range of host device functions to be enhanced by providing an interface viawearable device100.
It will be appreciated thatwearable device100 andhost device102 are illustrative and that variations and modifications are possible. For example,wearable device100 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 device100 can be a clip-on device or pin-on device that has a clip or pin portion that attaches to the user's clothing. The interface portion (including, e.g., touchscreen display105) can be attached to the clip or pin portion by a retractable cord, and a user can easily pulltouchscreen display105 into view for use without removing the clip or pin portion, then let go to returnwearable device100 to its resting location. Thus, a user can weardevice100 in any convenient location.
Wearable device100 can be implemented using electronic components disposed withinface portion104,straps106a,106b, and/orclasp members108a,108b.FIG. 2 is a simplified block diagram of a wearable device200 (e.g., implementing wearable device100) according to an embodiment of the present invention.Wearable device200 can includeprocessing subsystem202,storage subsystem204,user interface206,RF interface208,connector interface210,power subsystem212,environmental sensors214, andstrap sensors216.Wearable device200 can also include other components (not explicitly shown).
Storage subsystem204 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 subsystem204 can store media items such as audio files, video files, image or artwork files; information about a user's contacts (names, addresses, phone numbers, etc.); information about a user's scheduled appointments and events; notes; and/or other types of information, examples of which are described below. In some embodiments,storage subsystem204 can also store one or more application programs to be executed by processing subsystem210 (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 interface206 can include any combination of input and output devices. A user can operate input devices ofuser interface206 to invoke the functionality ofwearable device200 and can view, hear, and/or otherwise experience output fromwearable device200 via output devices ofuser interface206.
Examples of output devices includedisplay220,speakers222, andhaptic output generator224.Display220 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,display220 can incorporate a flexible display element or curved-glass display element, allowingwearable device200 to conform to a desired shape. One ormore speakers222 can be provided using small-form-factor speaker technologies, including any technology capable of converting electronic signals into audible sound waves. In some embodiments,speakers222 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 generator224 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 wearingwearable device200 but not so strong as to produce distinct sounds.
Examples of input devices includemicrophone226,touch sensor228, andcamera229.Microphone226 can include any device that converts sound waves into electronic signals. In some embodiments,microphone226 can be sufficiently sensitive to provide a representation of specific words spoken by a user; in other embodiments,microphone226 can be usable to provide indications of general ambient sound levels without necessarily providing a high-quality electronic representation of specific sounds.
Touch sensor228 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 sensor228 can be overlaid overdisplay220 to provide a touchscreen interface (e.g.,touchscreen interface105 ofFIG. 1), andprocessing subsystem202 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 ondisplay220.
Camera229 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., instorage subsystem204 and/or transmitted bywearable device200 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,camera229 can be disposed along an edge offace member104 ofFIG. 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,camera229 can be disposed on the front surface offace member104, e.g., to capture images of the user. Zero, one, or more cameras can be provided, depending on implementation.
In some embodiments,user interface206 can provide output to and/or receive input from an auxiliary device such as a headset. For example,audio jack230 can connect via an audio cable (e.g., a standard 2.5-mm or 3.5-mm audio cable) to an auxiliary device.Audio jack230 can include input and/or output paths. Accordingly,audio jack230 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 subsystem202 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 system202 can control the operation ofwearable device200. In various embodiments,processing subsystem202 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 inprocessing subsystem210 and/or in storage media such asstorage subsystem204.
Through suitable programming,processing subsystem202 can provide various functionality forwearable device200. For example, in some embodiments,processing subsystem202 can execute an operating system (OS)232 and various applications for interfacing with a host device, such as a phone-interface application234, a text-interface application236, and/or amedia interface application238. 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 towearable device200. For example, ifwearable device200 has a local media library stored instorage subsystem204,media interface application238 can provide a user interface to select and play locally stored media items. Examples of interface applications are described below.
RF (radio frequency)interface208 can allowwearable device200 to communicate wirelessly with various host devices.RF interface208 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 interface208 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 interface208 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 intoRF interface208.
Connector interface210 can allowwearable device200 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 interface210 can provide a power port, allowingwearable device200 to receive power, e.g., to charge an internal battery. For example,connector interface210 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 fromhost device202 in analog and/or digital formats.
In some embodiments,connector interface210 and/orRF interface208 can be used to support synchronization operations in which data is transferred from a host device to wearable device200 (or vice versa). For example, as described below, a user can customize certain information for wearable device200 (e.g., a “favorite” contacts list and/or specific predefined text messages that can be sent). Whileuser interface206 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 towearable device200 via a synchronization operation. Synchronization operations can also be used to load and/or update other types of data instorage subsystem204, 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., whenwireless device200 resumes communication with a particular host device or in response to either device receiving an update to its copy of synchronized information.
Environmental sensors214 can include various electronic, mechanical, electromechanical, optical, or other devices that provide information related to external conditions aroundwearable device200.Sensors214 in some embodiments can provide digital signals toprocessing subsystem202, e.g., on a streaming basis or in response to polling by processingsubsystem202 as desired. Any type and combination of environmental sensors can be used; shown by way of example areaccelerometer242, amagnetometer244, agyroscope246, and aGPS receiver248.
Some environmental sensors can provide information about the location and/or motion ofwearable device200. For example,accelerometer242 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.Magnetometer244 can sense an ambient magnetic field (e.g., Earth's magnetic field) and generate a corresponding electrical signal, which can be interpreted as a compass direction.Gyroscopic sensor246 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)receiver248 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 incorporatemicrophone226 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 sensors216 can include various electronic, mechanical, electromechanical, optical, or other devices that provide information as to whetherwearable device200 is currently being worn. For instance,clasp sensor250 can be at least partially disposed within either or both ofclasp members108a,108bofFIG. 1 and can detect whenclasp members108a,108bare engaged with each other or disengaged from each other. For example. engagingclasp members108a,108bto each other can complete an electrical circuit, allowing current to flow throughclasp sensor250; disengagingclasp members108a,108bfrom each other can break the circuit. As another example, one ormore contact sensors252 can be disposed instraps106a,106band can detect contact with a user's skin, e.g., based on capacitive sensing, galvanic skin response, or the like. Contactsensors252 can also include pressure sensors (e.g., piezoelectric devices) or the like. Any other type of sensor that indicates whetherwearable device200 is currently being worn can be used in addition to or instead ofstrap sensors216. 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 ofwearable device200.
Power subsystem212 can provide power and power management capabilities forwearable device200. For example,power subsystem212 can include a battery240 (e.g., a rechargeable battery) and associated circuitry to distribute power frombattery240 to other components ofwearable device200 that require electrical power. In some embodiments,power subsystem212 can also include circuitry operable to chargebattery240, e.g., whenconnector interface210 is connected to a power source. In some embodiments,power subsystem212 can include a “wireless” charger, such as an inductive charger, to chargebattery240 without relying onconnector interface210. In some embodiments,power subsystem212 can also include other power sources, such as a solar cell, in addition to or instead ofbattery240.
In some embodiments,power subsystem212 can control power distribution to components withinwearable device200 to manage power consumption efficiently. For example,power subsystem212 can automatically placedevice200 into a “hibernation” state whenstrap sensors216 indicate thatdevice200 is not being worn. The hibernation state can be designed to reduce power consumption; accordingly, user interface206 (or components thereof),RF interface208,connector interface210, and/orenvironmental sensors214 can be powered down (e.g., to a low-power state or turned off entirely), whilestrap sensors216 are powered up (either continuously or at intervals) to detect when a user puts onwearable device200. As another example, in some embodiments, whilewearable device200 is being worn,power subsystem212 can turndisplay220 and/or other components on or off depending on motion and/or orientation ofwearable device200 detected byenvironmental sensors214. For instance, ifwearable device200 is designed to be worn on a user's wrist,power subsystem212 can detect raising and rolling of a user's wrist, as is typically associated with looking at a wristwatch, based on information provided byaccelerometer242. In response to this detected motion,power subsystem212 can automatically turndisplay220 and/ortouch sensor228 on; similarly,power subsystem212 can automatically turndisplay220 and/ortouch sensor228 off in response to detecting that user's wrist has returned to a neutral position (e.g., hanging down).
Power subsystem212 can also provide other power management capabilities, such as regulating power consumption of other components ofwearable device200 based on the source and amount of available power, monitoring stored power inbattery240, generating user alerts if the stored power drops below a minimum level, and so on.
In some embodiments, control functions ofpower subsystem212 can be implemented using programmable or controllable circuits operating in response to control signals generated by processingsubsystem202 in response to program code executing thereon, or as a separate microprocessor or microcontroller.
It will be appreciated thatwearable device200 is illustrative and that variations and modifications are possible. For example,strap sensors216 can be omitted, andwearable device200 can include a user-operable control (e.g., a button or switch) that the user can operate to indicate whenwearable device200 is being worn. Controls can also be provided, e.g., to turn on or offdisplay220, mute or unmute sounds fromspeakers222, etc. In some embodiments, other environmental sensors (e.g., accelerometer242) can be used to determine whetherwearable device200 is being worn, in addition to or instead ofstrap sensors216.Wearable device200 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 ashost device102 ofFIG. 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 device200 can detect a transition from an “idle” position to an “active” position. For example,FIGS. 3A and 3B illustrate auser300 wearingwearable device302, which in this example is a wrist-worn device. As shown inFIG. 3A, whenuser300 is not actively usingwearable device302, the user'sarm304 may hang naturally at his side. To begin usingwearable device302,user300 can rotate his arm to theposition304′ shown inFIG. 3B, raising the elbow to bringwearable device302 into his line of sight. Dashedline306 indicates an approximate motion path ofwearable device302. Motion sensors (e.g.,accelerometer242 and/or gyroscopic sensor246) can detect a characteristic motion associated with bringingwearable device302 into the user's line of sight; upon detecting this motion,wearable device302 can automatically prepare itself to be used, e.g., by activating user interface components such asdisplay220 and/ortouch sensor228. 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 device302 (or other wearable devices described herein) can have a button (e.g., on the side offace104 inFIG. 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 toFIG. 1, in some embodiments,host device102 can send various event notifications towearable device100, and the user can respond to the notifications viawearable device100. For example,host device102 can alertwearable device100 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 byhost device102. In some embodiments, the user may be able to select which types of events should generate notifications towearable device102, e.g., by interacting with a settings menu provided onhost device102.
FIG. 4 is a flow diagram of aprocess400 for responding to an event notification according to an embodiment of the present invention.Process400 can be implemented in a wearable device, e.g.,wearable device100 ofFIG. 1 orwearable device200 ofFIG. 2, which can be interacting withhost device102. In some embodiments, the implementation ofprocess400 can include program code executed by a processor ofwearable device100.
Atblock402,wearable device100 can pair with a host device, e.g.,host device102. 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.
Atblock404,wearable device100 can receive an event notification fromhost device102. For example,host device102 can send a notification indicating an incoming phone call, text message, or email message. Atblock406,wearable device100 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 ondisplay220, an audio prompt (e.g., a voice prompt), or the like.
FIG. 5 illustrates an alert-and-prompt screen500 that can be displayed atblock406 when the event notification corresponds to an incoming phone call.Screen500 can show an identifier of thecaller502; the identifier can be determined by host device102 (e.g., based on a contacts list stored therein and/or caller identifying information received by host device102) and sent towearable device100 as part of the event notification.Screen500 can also prompt the user to respond to the call, e.g., by selectingvirtual button504 to instruct the phone to answer the call,virtual button506 to instruct the phone to place the caller on hold,virtual button508 to instruct the phone to divert the call to voicemail, andvirtual button510 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 aprompt screen600 that can be displayed atblock406 ofprocess400 when the event notification corresponds to an incoming text message.Screen600 shows an identifier of the sender of thetext602; as with a phone caller, the identifier of a sender of a text can be determined by host device102 (e.g., based on a contacts list stored therein and/or source identifying information received by host device102).Screen600 can also show a preview of thetext message604; in some embodiments, the user can scroll (e.g., by sliding a finger up or down on a touchscreen) to view more message content.Screen600 can also prompt the user to respond to the text, e.g., by selectingvirtual button606 to reply to the text orvirtual button608 to exit fromscreen600 without responding.
If the user selectsvirtual button606, amessage selection screen700 as shown inFIG. 7 can be displayed, providing a menu of predefined text messages from which the user can select. For example,virtual button702 can be selected to send a “yes” message,virtual button704 can be selected to send a “no” message;virtual button706 can be selected to send a “thanks” message; andvirtual button708 can be selected to send a “later” message indicating that the user will contact the sender later. It is to be understood thatbuttons702,704,706,708 may not contain the full text message to be sent but rather a short identifier. For example, the “no” identifier onbutton704 can be associated with a less terse message such as “No, sorry,” and the “later” identifier onbutton708 can be associated with a more specific message such as “I'll call you later.”
Referring again toFIG. 4, atblock408,wearable device100 can receive a user input in response to the prompt. For example, the user can select virtual buttons via one or more ofscreens500,600, or700, depending on context and what the user desires to do. Atblock410,wearable device100 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 onwearable device100. For example, in some embodiments process400 can simply time out and end atblock408 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 (button608) from a screen such asscreen600, and this can be interpreted bywearable device100 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 usinghost device102 directly; in such cases,host device102 can notifywearable device100 if a response is received directly athost device102.
FIG. 8 is a flow diagram of aprocess800 for generating an event notification and receiving a response according to an embodiment of the present invention.Process800 can be implemented in a host device, e.g.,host device102 ofFIG. 1, which can be interacting with awearable device100 that executesprocess400 ofFIG. 4 or similar processes. In some embodiments, the implementation ofprocess800 can include program code executed by a processor ofhost device102.
Atblock802,host device102 can detect an event that triggers a user alert, such as an incoming call or text message. Atblock804,host device102 can determine whether a wearable device (e.g., wearable device100) is currently paired. If not, then atblock806,host device102 can wait for a user input at its local interface to determine whether and how the user chooses to respond.
Ifwearable device100 is currently paired, then atblock808,host device102 can send an event notification towearable device100. 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'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.).
Atblock810,host device102 can wait for a response, which can come from either the wearable device or a local user interface ofhost device102. For example, a user may receive an alert of an incoming call onwearable device100 but choose to answer the call usinghost device102. Accordingly,host device102 can monitor activity on the connection towearable device100 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.
Atblock812,host device102 can process the received response, regardless of whether it was received fromwearable device100 or via a local user interface ofhost device102. For example, referring toFIG. 5, if a user selects one ofvirtual buttons504,506,508,510 fromscreen500 onwearable device100,host device102 can receive a response fromwearable device100 indicating which button was selected. In response to answerbutton504 being selected,host device102 can answer the call; call audio can be routed towearable device100 or to another audio input/output device, such as an internal audio interface ofhost device102 or a wireless headset that is paired with or otherwise in communication withhost device102. In response to holdbutton506 being selected,host device102 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 ofhost device102 or viawearable device100, allowing the user to speak with the caller. In response tovoicemail button508 being selected,host device102 can redirect the call to a voicemail account associated with the user, allowing the caller to leave a message. In response to declinebutton510 being selected,host device102 can reject or terminate the call.
As another example, referring toFIG. 7, if a user selects to reply to a text message with a predefined response, e.g., by selecting one ofbuttons702,704,706,708 onscreen700,host device102 can generate and send the corresponding text message back to the sender. In some embodiments,wearable device100 may provide an index or other short name as an identifier for the text message.Host device102 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'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 withhost device102, andhost device102 can provide short names and/or other identifiers for the user-defined messages towearable device100, e.g., in a synchronization operation.
It is not required that a user actually respond to a particular alert, either locally onhost device102 or viawearable device100. In some instances,process800 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 whichcase process800 can end atblock806 or810. For example, if an incoming call is not answered within the specified time period after generating the alert,host device102 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 device102 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 processes400 and800 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 toFIGS. 5-7, are also illustrative, and the user may have other options for responding to a given alert. Further, whileprocesses400 and800 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's user interface or to use the host device's local user interface to respond. In some instances, the host device'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 aprocess900 for initiating a phone-call functionality of a host device according to an embodiment of the present invention.Process900 can be implemented in a wearable device, e.g.,wearable device100 ofFIG. 1 orwearable device200 ofFIG. 2, which can be interacting with ahost device102 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 ofprocess900 can include program code executed by a processor ofwearable device100.
Atblock902, a user can select an option to place a call using the user interface ofwearable device100. For example, referring toFIG. 10, a user interface ofwearable device100 can include afunction selection screen1000.Function selection screen1000 can be a default screen that appears when the display ofwearable device100 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 intowearable device100, or other operations.Function selection screen1000 can include various virtual buttons that the user can select to invoke a functionality ofhost device102, such as “call”button1002 to place a call, “text”button1004 to send a text message, and “music”button1006 to invoke a media player functionality ofhost device102. In this example, a user can select an option to place a call by selectingbutton1002.
Referring again toFIG. 9, atblock904,wearable device100 can determine whether it is currently paired with ahost device102 that is capable of making phone calls. If not,wearable device100 can alert the user atblock906. The user can take corrective action, such as getting within range ofhost device102, turninghost device102 on, etc.
Assumingwearable device100 is paired with a phone-capable host device102, then atblock908,wearable device100 can present the user with calling options, and atblock910,wearable device100 can receive user input selecting a calling option. For example, when a user selectscall button1002 ofFIG. 10, an interface such asscreen1100 ofFIG. 11 may be displayed.FIG. 11 shows options for placing a call, such as anemergency call button1102 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), akeypad button1104 to allow a user to dial a number, and acontacts button1106 to allow a user to look up a contact.
If the user selectskeypad button1104,wearable device100 can present a keypad interface, such asscreen1200 ofFIG. 12.Screen1200 includes a virtual phone keypad1202 (e.g., a standard phone keypad with digits 0-9 and “star” and “pound” keys) and a number box1204 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 operatekeypad interface screen1200 to dial an arbitrary number.
If, fromscreen1100 ofFIG. 11, the user choosescontacts button1106,wearable device100 can present a selectable contacts list, such asscreen1300 ofFIG. 13.Screen1300 can present the names of some or all of a user's contacts, e.g., asvirtual buttons1302,1304,1306,1308. If the number of contacts exceeds the available space onscreen1300, 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 device100 can maintain various amounts of contact information. For example,wearable device100 can maintain a list of names of the user's contacts, which it can obtain, e.g., via synchronization operations withhost device102 or with other devices.Wearable device100 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 withwearable device100, andhost device102 can have a larger list of contacts thanwearable device100 as well as more information about each contact. Alternatively,wearable device100 can obtain contact information fromhost device102 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 operatewearable device100 to select a contact to be called.
Referring again toFIG. 9, once the user input that determines a number to be called has been received (block910),process900 can send a call instruction tohost device102 atblock912 to instructhost device102 to place the call. In some instances, e.g., wherekeypad screen1200 was used, the call instruction can include a phone number. In some instances, e.g., where contacts screen1300 was used to select the party to be called, the call instruction can include the selected contact's name (or other unique identifier), from whichhost device102 can determine the phone number to be called, e.g., by looking up the information in a user's contact list.Host device102 can place the call, and atblock914,wearable device100 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.
Atblock916,wearable device100 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 ofwearable device100. In other instances,wearable device100 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 throughwearable device100. For example,host device102 can route input (or output) audio to (or from) a device other thanwearable device100 while usingwearable device100 to route the output (or input) audio, andwearable device100 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 thanwearable device100, in which casewearable device100 would not receive or send call-related audio signals but may simply wait until the call is completed. In some embodiments,wearable device100 can make other functions available to the user while a call is in progress.
In some embodiments, while a call is in progress,wearable device100 can display a control operable by the user to end the call. Atblock918, if this control is operated, then atblock920,wearable device100 can alerthost device102 that the call should be ended.Host device102 can terminate the call and return a confirmation towearable device100 atblock922.Wearable device100 can present an alert to the user atblock924 to confirm that the call has ended.
Host device102 can also detect a call-termination event not originating fromwearable device100, e.g., if the other party disconnects or if the connection is dropped by the phone network. If this occurs,host device102 can send an event notification towearable device100. Accordingly, if the user does not end the call atblock918, then atblock926,wearable device100 can determine whetherhost device102 has sent a call termination notification. If so, thenwearable device100 can alert the user atblock924. Otherwise, the call can continue (block1408) until either the user terminates it or the host detects a termination event.
FIG. 14 is a flow diagram of aprocess1400 for placing a call using a wearable device according to an embodiment of the present invention.Process1400 can be implemented in a host device, e.g.,host device102 ofFIG. 1, which can be interacting with awearable device100 that executesprocess900 ofFIG. 9 or similar processes, andhost device102 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 ofprocess1400 can include program code executed by a processor ofhost device102.
Atblock1402,host device102 can receive a call instruction from a pairedwearable device100 that instructshost device102 to place a phone call. The call instruction can include, e.g., a phone number to be called or an identifier of a contact. Atblock1404,host device102 can place the call. In some embodiments, placing the call can include using the contact identifier received atblock1402 to look up a corresponding phone number. Atblock1406,host device102 can send a confirmation that the call has been placed. The confirmation can be sent, e.g., while the call is still being connected.
Atblock1408,host device102 can route the call-related audio signals (including input and output audio signals as described above with reference toFIG. 9) to and from appropriate input and output devices. Audio input and output devices can include an internal microphone or speaker ofhost device102 and/or an external microphone or speaker connected tohost device102 by wired or wireless connections, including in some instanceswearable device100. In some embodiments,host device102 can determine the routing based on what other devices are currently connected tohost device102 and/or user-specified preferences regarding audio routing. Accordingly, call-related audio can be routed towearable device100 or to another device. In some instances, input and output audio can be routed differently; for example,host device102 can receive input audio fromwearable device102 while providing output audio to a different device.
Atblock1410,host device102 can determine whetherwearable device102 has sent a message indicating that the call should end. If so, thenhost device102 can end the call atblock1412 and send confirmation towearable device100 atblock1414.
If, atblock1410,wearable device102 has not indicated that the call should end, then atblock1416,host device100 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 operatedwearable device102 to place a particular call can operate the user interface ofhost device100 to end the call. Ifhost device102 detects any of these call-ending events, thenhost device100 can notifywearable device102 that the call has ended atblock1418. In some embodiments, the notification atblock1418 can include an indication of how the call ended (e.g., terminated by the other endpoint, dropped call, etc.).
If, atblock1416,host device100 does not detect that the call has ended, then process1400 can return to block1408 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 aprocess1500 for sending a text message using a wearable device, e.g.,wearable device100 ofFIG. 1 orwearable device200 ofFIG. 2, which can be interacting with ahost device102 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 ofprocess1500 can include program code executed by a processor ofwearable device100.
Atblock1502, a user can select an option to send a text message, e.g., by selectingtext button1004 frominterface screen1000 ofFIG. 10. Atblock1504,wearable device100 can determine whether it is currently paired with ahost device102 that is capable of making phone calls. If not,wearable device100 can alert the user atblock1506. The user can take corrective action, such as getting within range ofhost device102, turninghost device102 on, etc.
Atblock1508,wearable device100 can present the user with options for selecting a recipient, and atblock1510,wearable device100 can receive the user's selection. In some instances, interface screens similar to those shown inFIGS. 11-13 can be used. For example, the user can send a text to an arbitrary phone number by entering the number intokeypad1202 ofscreen1200, or the user can select a contact fromscreen1300. 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.
Atblock1512,wearable device100 can present the user with options for texts to send, and atblock1514,wearable device100 can receive the user's selection. For example, similarly to process400 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 aninterface screen1600 for selecting a predefined text message that can be used atblock1512. The predefined text messages can be different depending on whether the user is initiating a new text message (as in process1500) or responding to a received text message (as in process400). For example,button1602 can be associated with a text such as “I'm leaving now” andbutton1604 with a text such as “I'm running late,” which are examples of text messages that a user might send to a person she is going to meet.Button1606 can be associated with a text such as “Please call me,” which requests the recipient to take a particular action.Button1608 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 toFIG. 7.
In some embodiments,wearable device100 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 ontouchscreen display105. 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 tappingtouchscreen display105. As yet another example,touchscreen display105 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.
Atblock1516,wearable device100 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 inprocess900 described above,host device102 can use the recipient identifier to determine the phone number, and as inprocesses400 and800 described above,host device102 can use a short identifier of the text message to identify the actual message to be sent. In some embodiments, atblock1518,wearable device100 can receive a confirmation fromhost device102 that the text was sent and/or received; if desired,wearable device100 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'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, ahost device102 can have media player capabilities, allowing a user to select and play media tracks (e.g., audio and/or video), andwearable device100 can provide remote control over media playback operations of a host device.
Referring again toFIG. 10,interface screen1000 forwearable device100 includes abutton1006 that can be selected to control media playback in a host device. In some embodiments, in response to user selection ofbutton1006,wearable device100 can present an interface to select and control media player functions ofhost device102. For example,wearable device100 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 device100 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 ofwearable device100 itself. For example, accelerometers, gyroscopes, or the like can be used to detect motion ofwearable device100, 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'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.