ADAPTIVE AUDIO FEEDBACK SYSTEM AND METHOD
Various techniques for adaptively varying audio feedback data on an electronic device are provided. In one embodiment, an audio user interface implementing certain aspects of the present disclosure may devolve or evolve the verbosity of audio feedback in response to user interface events based at least partially upon the verbosity level of audio feedback provided during previous occurrences of the user interface event. In another embodiment, an audio user interface may be configured to vary the verbosity of audio feedback associated with a navigable list of items based at least partially upon the speed at which a user navigates the list. In a further embodiment, an audio user interface may be configured to vary audio feedback verbosity based upon the contextual importance of a user interface event. Electronic devices implementing the present techniques provide an improved user experience with regard to audio user interfaces.
Latest Apple Patents:
1. Technical Field
The present disclosure relates generally to user interfaces on electronic devices and, more particularly, to user interfaces capable of providing audio feedback to a user of an electronic device.
2. Description of Related Art
This section is intended to introduce the reader to various aspects of art that may be related to various aspects of the present techniques, which are described and/or claimed below. This discussion is believed to be helpful in providing the reader with background information to facilitate a better understanding of the various aspects of the present disclosure. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.
Electronic computing devices, such as computer systems, mobile phones, digital media players, personal digital assistants (PDAs), and the like, are commonly used for various personal and/or work-related purposes. Such electronic devices typically include some type of user interface that enables a user to interact with various applications (e.g., e-mail programs, internet browsers, media players, games, etc.) on the device to perform a variety of functions. In other words, the user interface may provide a gateway through which users may interact with applications to receive content, information, as well as responses to user inputs. The user interface, therefore, is an integral part in the design of these applications and helps determine the ease of use, and thus the quality of the overall user experience, of such devices.
Historically, many electronic devices have relied upon a graphical user interface to allow a user to interact with the device by way of a visual display. For instance, as the user interacts with the device, the device may display visual feedback in response to the user's actions. However, as some types of electronic devices have migrated towards smaller form factors having relatively small visual displays, graphical user interfaces are becoming not only more difficult to use and navigate, but also more limited in the amount of information they are able to convey.
More recently, audio user interfaces have experienced a rise in popularity. For instance, an audio user interface may supply audio feedback data, instead of or in addition to visual feedback, to convey information and content to a user and, thus, are particularly well suited for use in electronic devices having limited visual display capabilities or, in some instances, no visual display capabilities at all. For instance, upon the occurrence of an event that requests audio feedback, a corresponding audio clip may be played to convey audio information about the occurring event to the user. Unfortunately, some events may be associated with large amounts of audio information, which may overwhelm a user and, therefore, negatively impact the user experience, particularly when such events occur repeatedly in close proximity within a relatively short time period. Additionally, audio feedback provided by conventional audio user interfaces may not adequately enable a user to distinguish between events of high or low contextual importance. Accordingly, there are continuing efforts to further improve the user experience with respect to audio user interfaces in electronic devices.
SUMMARYA summary of certain embodiments disclosed herein is set forth below. It should be understood that these aspects are presented merely to provide the reader with a brief summary of these certain embodiments and that these aspects are not intended to limit the scope of this disclosure. Indeed, this disclosure may encompass a variety of aspects that may not be set forth below.
The present disclosure generally relates to techniques for adaptively varying audio feedback provided by an audio user interface on an electronic device. In accordance with one embodiment, an audio user interface may be configured to devolve or evolve the verbosity of audio feedback in response to user interface events based at least partially upon the verbosity level of audio feedback provided during previous occurrences of the user interface event. As will be discussed further below, the term “verbosity,” as used herein, refers to the “wordiness” of the audio information provided by the audio feedback, and may also encompass non-verbal types of audio feedback, such as tones, clicks, beeps, chirps, etc. For instance, if a subsequent occurrence of the user interface event occurs in relatively close proximity to a previous occurrence of the user interface event, the audio user interface may devolve the audio feedback (e.g., by reducing verbosity), such as to avoid overwhelming a user with repetitive and highly verbose information.
In another embodiment, an audio user interface may be configured to adaptively vary audio feedback associated with a navigable list of data items based at least partially upon the speed at which a user navigates the list. In a further embodiment, an audio user interface may be configured to provide audio feedback that is more audibly distinct to indicate where newer data content is located in the navigable list, and to provide audio feedback that is less audibly distinct for older data content. In yet another embodiment, an audio user interface may be configured to vary the verbosity and/or distinctiveness of the audio feedback based upon the contextual importance of a user interface event. The various audio feedback techniques disclosed herein, when implemented alone or in combination, may enhance the user experience with regard to audio user interfaces.
Various refinements of the features noted above may exist in relation to various aspects of the present disclosure. Further features may also be incorporated in these various aspects as well. These refinements and additional features may exist individually or in any combination. For instance, various features discussed below in relation to one or more of the illustrated embodiments may be incorporated into any of the above-described aspects of the present disclosure alone or in any combination. Again, the brief summary presented above is intended only to familiarize the reader with certain aspects and contexts of embodiments of the present disclosure without limitation to the claimed subject matter.
Various aspects of this disclosure may be better understood upon reading the following detailed description and upon reference to the drawings in which:
One or more specific embodiments of the present disclosure will be described below. These described embodiments are only examples of the presently disclosed techniques. Additionally, in an effort to provide a concise description of these embodiments, all features of an actual implementation may not be described in the specification. It should be appreciated that in the development of any such actual implementation, as in any engineering or design project, numerous implementation-specific decisions must be made to achieve the developers' specific goals, such as compliance with system-related and business-related constraints, which may vary from one implementation to another. Moreover, it should be appreciated that such a development effort might be complex and time consuming, but would nevertheless be a routine undertaking of design, fabrication, and manufacture for those of ordinary skill having the benefit of this disclosure.
When introducing elements of various embodiments of the present disclosure, the articles “a,” “an,” and “the” are intended to mean that there are one or more of the elements. The terms “comprising,” “including,” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements. Additionally, it should be understood that references to “one embodiment” or “an embodiment” of the present disclosure are not intended to be interpreted as excluding the existence of additional embodiments that also incorporate the recited features.
As will be discussed below, the present disclosure relates generally to techniques for adaptively varying audio feedback provided by an audio user interface on an electronic device. As will be appreciated, an audio user interface may be particularly useful where an electronic device has either limited or no display capabilities. Further, even if the electronic device includes a visual display, there are times when a user may have difficulty navigating a graphical user interface, such as in “eyes-busy” situations where it is impractical to shift visual focus away from an important activity and towards the graphical user interface. Such activities may include, for example, driving an automobile, exercising, and crossing a busy street. Additionally, audio feedback is a practical substitute to visual feedback if the device is being used by a visually impaired user.
In accordance with one embodiment, an audio user interface may devolve or evolve the verbosity of audio feedback. As mentioned above, the term “verbosity,” as used herein, shall be understood to refer to the “wordiness” of the audio information provided by the audio feedback, and may encompass non-verbal types of audio feedback, such as clicks, beeps, chirps, or other various types of non-verbal sound effects. For example, audio feedback having a high level of verbosity may output several spoken words (e.g., playing a previously stored audio file containing the spoken words, or using text-to speech synthesis in real time), while audio feedback having a lower level of verbosity may output fewer spoken words or, in some cases, a non-verbal tone (e.g., no spoken words). In one embodiment, the verbosity of the audio feedback provided in response to user interface events is varied based at least partially upon the verbosity level of audio feedback provided during one or more previous occurrences of the user interface event. Thus, when subsequent occurrences of the user interface event occurs in relatively close proximity to a previous occurrence of the user interface event, the audio user interface may devolve the audio feedback (e.g., by reducing verbosity), such as to avoid overwhelming a user with repetitive and highly verbose information.
In another embodiment, an audio user interface may be configured to adaptively vary audio feedback associated with a navigable list of data items based at least partially upon the speed at which a user navigates the list. In a further embodiment, an audio user interface may be configured to provide audio feedback that is more audibly distinct to indicate where newer data content is located in the navigable list, and to provide audio feedback that is less audibly distinct for older data content. In yet another embodiment, an audio user interface may be configured to vary the verbosity and/or distinctiveness of the audio feedback based upon the contextual importance of a user interface event. The various audio feedback techniques disclosed herein, when implemented alone or in combination, may enhance the user experience with regard to audio user interfaces.
Before continuing, several additional terms used extensively throughout the present disclosure will be first defined in order to facilitate a better understanding of disclosed subject matter. For instance, events that occur during operation of an electronic device may be generally categorized as “user events” or “system events.” As used herein, the term “user event” and the like shall be understood to refer to an event that occurs as a result of a user's interaction with the device. To provide an example, a user event may be a notification indicating the availability of a particular device function requested by a user. In contrast, the term “system event” or the like shall be understood to events that are generally initiated by the device itself during operation to provide information pertaining to the status of the device, regardless of whether a user is actively interacting with or issuing requests and/or commands to the device. By way of example only, a system event may include a low battery notification. Thus, it should be understood the term “event,” as used herein, may refer to a user event or a system event, as defined above.
In the context of audio user interfaces, an electronic device may initiate the playback of an “audio item” to provide audio feedback upon the occurrence of certain events. As used herein, the term “audio item” or the like shall be understood to refer to audio information provided by an audio user interface of an electronic device. For instance, audio items may be an audio file stored on the device (e.g., in memory or non-volatile storage, and may contain verbal (e.g., speech data) audio information or non-verbal audio cues, such as beeps, clicks, chirps, chimes, rings, and other various tones or sound effects. Additionally, some audio items may not be stored locally on a device, but instead may be generated using synthesized speech applications (e.g., text-to-speech) in connection with an occurrence of a particular event that requests audio feedback.
In accordance with the techniques described below, certain events may be associated with a set of audio items having different verbosity levels. For instance, a set of audio items may include a non-verbal audio item (e.g., no wordiness content) and an audio item having a highest verbosity level (e.g., “full verbosity”), as well as one or more audio items of intermediate verbosity levels. As used herein, the terms “devolve,” “step down,” or the like, shall be understood to refer to the act of decreasing the verbosity of audio feedback associated with a particular event by selecting and playing back an audio item that is less verbose relative to the verbosity of the audio item selected during the previous occurrence of the event. Similarly, the term “evolve,” “step up,” or the like shall be understood to refer to the act of increasing the verbosity of audio feedback associated with a particular event by selecting and playing back an audio item that is more verbose relative to the verbosity of the audio item selected during the previous occurrence of the event. Various techniques for determining how to devolve or evolve audio feedback are disclosed below.
Further, the term “contextual importance” or the like, as applied to user interfaces, shall be understood to refer to the importance of the information provided in response to an event on a device relative to the context in which the information is provided. For instance, events of higher contextual importance may provide more distinct sounding audio feedback relative to events of lower contextual importance. To provide one example, events which may require a user response, such as an event prompting a user to allow or deny an incoming network connection, may have relatively high contextual importance, as the device may require the use to provide a decision in response to the event in order determine how to address the incoming network connection request. To provide another example, a first occurrence of a low battery warning notification event may have relatively low contextual importance, as such a notification is generally meant to be informative and does not necessarily require a user response or immediate user action. However, the contextual importance of a low battery notification may gradually increase if a user either intentionally or inadvertently disregards the low battery notification over several repeated occurrences, resulting in the device approaching a critical power threshold required for continued operation.
In other embodiments, the contextual importance of a user interface event may also be determined based upon pre-programmed information (e.g., events may be programmed as having high or low contextual importance characteristics). In other embodiments, the contextual importance of a user interface event may be adaptive or learned based upon previous device behavior and/or how a user interacts with the device during previous occurrence(s) of the user interface event. Additionally, in some embodiments, the contextual importance may be user-specified, such as via set of configurable user preference settings on the electronic device. Various embodiments are discussed for varying audio feedback to indicate contextual importance of events. Thus, it should be understood that the evolving and devolving of audio feedback verbosity may be an intelligent adaptive activity performed by an electronic device in response to user inputs (e.g., direct user inputs, user preference settings, etc.) and/or in response to external stimuli (e.g., device operation events—low power, low memory, etc.). Indeed, as will be shown in the various embodiments below, the evolution and devolution of audio feedback verbosity may be dynamic and may be tailored based on specific user preferences and/or settings stored on the device.
Turning now to the drawings,
As shown in
With regard to each of the illustrated components in
The input structures 14 may provide user input or feedback to the processor(s) 16. For instance, the input structures 14 may be configured to control one or more functions of the electronic device 10, such as applications running on the device 10. By way of example only, the input structures 14 may include buttons, sliders, switches, control pads, keys, knobs, scroll wheels, keyboards, mice, touchpads, and so forth, or some combination thereof. In one embodiment, the input structures 14 may allow a user to navigate the GUI 36 displayed on the device 10. Additionally, the input structures 14 may include a touch sensitive mechanism provided in conjunction with the display 22. In such embodiments, a user may select or interact with displayed interface elements via the touch sensitive mechanism.
The operation of the device 10 may be generally controlled by one or more processors 16, which may provide the processing capability required to execute an operating system, application programs, the GUI 36, the audio user interface 38, and any other functions provided on the device 10. The processor(s) 16 may include a single processor or, in other embodiments, it may include multiple processors. By way of example, the processor 16 may include “general purpose” microprocessors, application-specific processors (ASICs), custom processors, or a combination of such processing components. For example, processor(s) 16 may include instruction set processors (e.g., RISC), graphics/video processors, audio processors, and/or other related chipsets. The processor(s) 16 may be coupled to one or more data buses for transferring data and instructions between various components of the device 10.
Instructions or data to be processed by the processor(s) 16 may be stored in a computer readable medium, such as the memory 18, which may be a volatile memory, such as random access memory (RAM), or as a non-volatile memory, such as read-only memory (ROM), or as a combination of RAM and ROM devices. For example, the memory 18 may store firmware for the device 10, such as an operating system, applications, graphical and audio user interface functions, or any other routines that may be executed on the device 10. While the user interface 34 (including the GUI 36 and audio user interface 38) are shown as being components of the memory 18, it should be understood that the encoded instructions (e.g., machine-readable code) defining the GUI 36 and audio user interface 38 may actually reside in the non-volatile storage 20, and may be loaded into the memory 18 for execution at run time.
The non-volatile storage device 20 may include flash memory, a hard drive, or any other optical, magnetic, and/or solid-state storage media, for persistent storage of data and/or instructions. By way of example, the non-volatile storage 20 may be used to store data files, including audio data, video data, pictures, as well as any other suitable data. As will be discussed further below, non-volatile storage 20 may be utilized by device 10 to store various audio items that may be selected and played back via the audio user interface 38 to provide audio feedback to a user of the device 10.
The display 22 may be used to display various images generated by device 10. For instance, the display 22 may receive and display images 40 generated by the GUI 36. In various embodiments, the display 22 may be any suitable display, such as a liquid crystal display (LCD), plasma display, or an organic light emitting diode (OLED) display, for example. Additionally, the display 22 may be provided in conjunction with the above-discussed touch-sensitive mechanism (e.g., a touchscreen) that may function as part of a control interface for the device 10. Further, it should be noted that in some embodiments, the device 10 may not include a display 22 or a GUI 36, but instead may include only an audio user interface 38 through which a user interacts with the device 10. An example of an embodiment of the device 10 that lacks a display 22 may be a model of an iPod® Shuffle, available from Apple Inc.
As mentioned above, the audio output device 24 may include an external audio output device, such as headphones or external speakers connected to the device 10 by an I/O port 12. Additionally, the audio output device 24 may include integrated speakers. As shown in
The embodiment illustrated in
The electronic device 10 also includes the network device 28, which may be a network controller or a network interface card (NIC) that may provide for network connectivity over a wireless 802.11 standard or any other suitable networking standard, such as a local area network (LAN), a wide area network (WAN), such as an Enhanced Data Rates for GSM Evolution (EDGE) network, a 3G data network, or the Internet. By way of the network device 28, the device 10 may connect to and send or receive data with any device on the network, such as portable electronic devices, personal computers, printers, and so forth. In certain embodiments, the network device 28 may provide for a connection to an online digital media content provider, such as the iTunes® service, available from Apple Inc.
The power source 30 of the device 10 may include the capability to power the device 10 in both non-portable and portable settings. For example, in a portable setting, the device 10 may include one or more batteries, such as a Li-Ion battery, for powering the device 10. The battery may be recharged by connecting the device 10 to an external power source, such as to an electrical wall outlet. In a non-portable setting, the power source 30 may include a power supply unit (PSU) configured to draw power from an electrical wall outlet, and to distribute the power to various components of a non-portable electronic device, such as a desktop computing system.
Having described the components of the electronic device 10 depicted in
As will be appreciated, the input structures 14 may also include various other buttons and/or switches which may be used to interact with the computer 50, such as to power on or start the computer, to operate a GUI or an application running on the computer 50, as well as adjust various other aspects relating to operation of the computer 50 (e.g., sound volume, display brightness, etc.). The computer 50 may also include various I/O ports 12 that provide for connectivity to additional devices, as discussed above, such as a FireWire® or USB port, a high definition multimedia interface (HDMI) port, or any other type of port that is suitable for connecting to an external device. Additionally, the computer 50 may include network connectivity (e.g., network device 28), memory (e.g., memory 18), and storage capabilities (e.g., storage device 20), as described above with respect to
As further shown, the display 22 may be configured to generate various images that may be viewed by a user. For example, during operation of the computer 50, the display 28 may display the GUI 36 that allows the user to interact with an operating system and/or applications running on the computer 50. The GUI 36 may include various layers, windows, screens, templates, or other graphical elements that may be displayed in all, or a portion, of the display device 22. For instance, in the depicted embodiment, the GUI 36 may display an operating system interface that includes various graphical icons 56, each of which may correspond to various applications that may be opened or executed upon detecting a user selection (e.g., via keyboard/mouse or touchscreen input). The icons 56 may be displayed in a dock 58 or within one or more graphical window elements 60 displayed on the screen.
In some embodiments, the selection of an icon 56 may lead to a hierarchical navigation process, such that selection of an icon 56 leads to a screen or opens another graphical window that includes one or more additional icons or other GUI elements. By way of example only, the operating system GUI 36 displayed in
The enclosure 52 also includes various user input structures 14 through which a user may interface with the handheld device 70. For instance, each input structure 14 may be configured to control one or more respective device functions when pressed or actuated. By way of example, one or more of the input structures 14 may be configured to invoke a “home” screen 72 or menu to be displayed, to toggle between a sleep, wake, or powered on/off mode, to silence a ringer for a cellular phone application, to increase or decrease a volume output, and so forth. It should be understood that the illustrated input structures 14 are merely exemplary, and that the handheld device 70 may include any number of suitable user input structures existing in various forms including buttons, switches, keys, knobs, scroll wheels, and so forth.
As shown in
The display device 22 may display various images generated by the handheld device 70. For example, the display 22 may display various system indicators 73 providing feedback to a user with regard to one or more states of handheld device 70, such as power status, signal strength, external device connections, and so forth. The display 22 may also display the GUI 36 that allows a user to interact with the device 70, as discussed above with reference to
The handheld device 70 also includes the audio output devices 24, the audio input devices 80, as well as the output transmitter 82. As discussed above, an audio user interface 38 on the device 70 may use the audio output devices 24 to provide audio feedback to a user through the playback of various audio items. Additionally, the audio output device 24 may be utilized in conjunction with the media player application 76, such as for playing back music and media files. Further, where the electronic device 70 includes a mobile phone application, the audio input devices 80 and the output transmitter 82 may operate in conjunction to function as the audio receiving and transmitting elements of a telephone.
Referring now to
For example, as mentioned above, one aspect of the audio feedback selection logic 86 may relate to devolving or evolving audio feedback in response to an event 88. In one embodiment, the selection logic 86 may identify a set of audio items (“audio feedback data set”) within the audio data storage 94 that is associated with the event 88 as being candidates for audio feedback. As discussed above, the set of audio items corresponding to the event 88 may vary in levels of verbosity, wherein each level may be referred to as a “step.” Thus, as defined above, “stepping down” the audio feedback may refer to decreasing the verbosity of the audio feedback, while “stepping up” the audio feedback may refer to increasing the verbosity of the audio feedback. Accordingly, an audio item 100 corresponding to a desired level of verbosity may be selected in accordance with information provided by the event statistics data storage 92 and the user preferences 96.
In one embodiment, the event statistics data storage 92 may store information about the event 88, including the frequency at which event 88 has previously occurred during operation of the device 10, the audio item selected for playback during the most recent occurrence of the event 88, as well as the temporal proximity at which the event 88 last occurred, and so forth. By way of example, each previous occurrence of the event 88 may be stamped with a time value provided by the timer 98 and stored as a data entry in the event statistics data storage 92. The timer 98 may be implemented as a standalone clock (e.g., an RC oscillator) or may be configured to derive time values based on an external system clock of the device 10. Thus, when the event 88 occurs in close proximity, i.e., within a selected amount of time (a “wait time” or “step-up time” configurable through the user preferences 96), relative to the previous occurrence of the event 88, the audio feedback selection logic 86 may select an audio item 100 from the audio feedback data set that is less verbose relative to the audio item selected during the previous occurrence. In this manner, the audio user interface 38 may avoid repeatedly playing back the same high verbosity audio item for multiple occurrences of a particular event 88 over a relatively short amount of time, thus improving the user experience with regard to the audio user interface 38.
By the same token, some embodiments of the audio feedback selection logic 86 may also be configured to evolve the audio feedback using a technique similar to the devolving process discussed above. For example, upon detecting the occurrence of the event 88, if the event statistics data 92 indicates that the event 88 has not occurred within the interval corresponding to the selected step-up time just prior to the occurrence of the event 88, then the selection logic 86 may evolve the audio feedback by selecting an audio item 100 from the audio feedback data set that is more verbose relative to the audio item selected for the previous occurrence of the event 88.
While the frequency and temporal proximity in which an event 88 occurs is one metric by which the selection logic 86 of the audio user interface 38 may vary audio feedback, other factors may also contribute to how the selection logic 86 selects the audio item 100. For instance, in one embodiment, the selection logic 86 may be configured to control or vary audio feedback based upon the contextual importance of the event 88, which may depend upon the relative importance of the information provided in response to the event 88 relative to the context in which the event 88 occurred. In other embodiments, contextual importance of an event may be determined based upon pre-programmed information (e.g., events may be programmed as having high or low contextual importance characteristics), may be adaptive or learned based upon previous device behavior and/or how a user interacts with the device during previous occurrence(s) of the event, or may be user-specified, such as via set of configurable user preference settings on the electronic device, or may be determined based on a combination of such factors. In a further embodiment, the selection logic 86 may be configured to vary audio feedback associated with a displayed list of items based upon the speed at which the list is navigated by a user of the device 10.
With these points in mind, the remaining figures are intended to depict various embodiments for varying audio feedback provided by an audio user interface (e.g., 38) in accordance with aspects of the present disclosure. Specifically,
Referring to
As discussed above, a GUI 36, depending on the inputs and selections made by a user, may display various screens including icons (e.g., 56) and graphical elements. These elements may represent graphical and virtual elements or “buttons” which may be selected by the user from the display 22 using one or more input structures 14 (
As shown in the screen 104, the application 106 may display a list 108 of media items 110, such as song files, video files, podcasts, and so forth, from which a user may select an item 112 for playback on the device 10. As shown in
Additional playback functions provided by the application 106 are depicted by the graphical buttons 126, 128, 130, and 132. For instance, the graphical button 126 may represent a function by which the user may manually create a new group of media items for playback, commonly referred to as a “playlist.” The graphical buttons 128 and 130 may represent functions for enabling or disabling “shuffle” and “repeat” playback modes, respectively. Finally, the graphical button 132 may represent a function for automatically generating a playlist using media items stored on the device 10 which are determined to be similar to the selected media item 112. By way of example only, such a function may be provided as the Genius® function, available on the iTunes® application, as well as on models of the iPod® and iPhone®, all available from Apple Inc.
Genius® playlists may be generated using ratings system and filtering algorithms provided through an external centralized server, such as the iTunes® server, provided by Apple Inc. In some instances, however, the Genius® function may be unable to fulfill a user request for generating a playlists, such as when a selected media item 112 is relatively new and the Genius® function is unable to obtain sufficient data points for identifying similar media stored on the device 10 (e.g., in non-volatile storage 20). Additionally, the Genius® function may also be unavailable if the total number of media items stored on the device 10 is insufficient to generate a suitable playlist. For the purposes of the embodiments discussed below with respect to
As discussed above, certain embodiments of the present technique may include devolving audio feedback in response to the event 88. For instance, suppose that after attempting to apply the Genius® function to the selected media item 112, the user further attempts to apply the Genius® function to several other items on the list 108 within a relatively short interval of time with no success, thus triggering the event 88 on each attempt. Assuming that the devolving techniques discussed above are not applied, audio feedback would be provided at “full-verbosity” for each occurrence, which may overwhelm the user with repetitive information and, thus, negatively impact the user experience with regard to the application 106.
To enhance the user experience, the audio feedback selection logic 86 (
The audio item 152 may represent a first-level devolved audio item that is less verbose relative to the audio item 150, but still contains a substantial portion of verbal audio information. For instance, when selected, the audio item 152 may cause the verbal audio information “GENIUS IS NOT AVAILABLE” to be played back through the audio output device 24. The audio item 154 is even less verbose compared to the audio item 152, and only includes a relatively short verbal message: “NO GENIUS.” Finally, the audio item 156 represents the least verbose item of the set 148, and includes no verbal components, but only a non-verbal cue in the form of a negative sounding tone or beep.
Thus, the depicted audio feedback data set 148 of
An example illustrating how audio feedback corresponding to the event 88 shown in
Beginning at time t0, the occurrence of the event 88a may result in the visual notification window 140 of
In the present example, the event 88b occurs once again at time t20. Upon the occurrence of the event 88b, the event statistics data storage unit 92 may indicate to the selection logic 86 that the event 88a occurred less than 45 minutes ago (e.g., the step-up interval). Thus, because the event 88b occurs within the step-up window 157 (e.g., from t0 to t45), the selection logic 86 may identify the audio item that was played during the most recent occurrence of the event 88 (e.g., in this case, audio item 150 at time t0), and devolve the audio feedback by one step of verbosity. This may result in the selection and playback of the audio item 152, which, as shown in
Thereafter, the event 88c occurs again at time t35. Because the event 88c occurs within the step-up window 158 (e.g., from t20 to t65), the selection logic 86 of the audio user interface 38 may further devolve the audio feedback associated with the event 88c by selecting and playing back the audio item 154, which is one verbosity step lower than the previously played audio item 152. Once the playback of the audio item 154 occurs at time t35, the remainder of the step-up window 158 also becomes irrelevant, and a step-up window 159 associated with the event 88c is established from time t35 to time t80 and becomes the current step-up window.
Following the event 88c, the event 88d occurs again at time t55. Again, because the event 88d occurs within the current step-up window 159 (e.g., from t35 to t80), the selection logic 86 of the audio user interface 38 may lower the verbosity of the audio feedback an additional step, thus fully devolving the audio feedback associated with the event 88 to the non-verbal audio item 156. Thereafter, once the playback of the non-verbal audio item 156 occurs at time t55, a new step-up window 160 associated with the event 88d is established from time t55 to time t100, and the remainder of the previous step-up window 159 becomes irrelevant. In other words, as long as the event 88 continues to occur within a current step-up time window following the most recent previous occurrence of the event 88, the selection logic 86 may continue to devolve the audio feedback corresponding to the event 88. It should be noted, however, that because the audio item 156 cannot be devolved any further in the present example, additional occurrences of the event 88 within the window 160 may result in the selection logic 86 selecting and playing the audio item 156 again.
Next, at time t110, the event 88e occurs once again. This occurrence, however, is outside of the step-up window 160. In this case, the selection logic 86 may be configured to evolve the audio feedback. For instance, in one embodiment, the selection logic 86 may “reset” the verbosity of the audio feedback to full verbosity by selecting and playing back the audio item 150 at time 110, regardless of the verbosity level of the most recently played audio item (e.g., audio item 156). In another embodiment, the selection logic 86 may evolve the audio feedback by increasing the verbosity of the audio feedback by one step relative to the most recently played audio item. For instance, in the present example, the selection of the audio item 154 at time t110 may provide a one step increase in the verbosity of the audio feedback relative to the most recently played audio item 156.
As will be appreciated, the occurrence of each of the events 88a-88e, in addition to triggering audio feedback, may also trigger the display of visual feedback on the GUI 36, such as by way of the visual notification window 140 shown in
While the graphical timeline depicted in
For instance, one embodiment for devolving audio feedback may consider the occurrence of a “playback termination event.” As used herein, a playback termination event refers to a response by the user that terminates the playback of an audio item before completion. For instance, referring to
An example illustrating how playback termination events may affect the devolvement of audio feedback is shown in
Beginning at time t0, the occurrence of the event 88f may result in the visual notification window 140 of
Next, the event 88g occurs again at time t30. Upon the occurrence of the event 88g, the event statistics data storage unit 92 may indicate to the selection logic 86 that a playback termination event 161 was detected in connection with the previous occurrence of the event 88f at time t0. In the illustrated embodiment, this may cause the selection logic 86 to fully devolve the audio feedback by selecting and playing back the non-verbal audio item 156, thus bypassing the verbosity levels represented by the audio items 152 and 154. A new step-up window 163 is established from time t30 to time t75. As will be appreciated, like the embodiment of
In some embodiments, a playback termination event (e.g., 161) may, in addition to affecting audio feedback behavior, also affect visual feedback behavior. For instance, referring to
The notification banner 164 may include the graphical elements 166 and 168. By selecting the graphical element 166, the user may expand the notification banner 164, causing the window 140 to appear instead. In one embodiment, the GUI 36 may display the notification banner 164 only briefly, such as for a period of 5 to 10 seconds, before automatically removing the banner 164 from the screen 104. Additionally, the user may choose to manually remove the notification banner 164 by selecting the graphical button 168.
The various techniques for devolving and evolving audio feedback, as described with reference to the embodiments shown in
Referring first to
Thereafter, at step 172, a first audio item is selected that corresponds to a desired verbosity level which, as shown in
Based upon the event statistics data from step 176, the selection logic 86 may, at decision block 177, determine whether the event occurred within the step-up window following the most recent previous occurrence of the event. If the event did not occur within the step-up window, then the method 174 continues to step 178, whereby audio feedback is provided at full verbosity. As mentioned above, in an alternate embodiment, rather than providing full verbosity, the selection logic 86 may instead evolve the audio feedback by one step. For instance, as shown in
Referring again to decision block 177, if the event does occur within the step-up window following the previous occurrence, the method 174 continues to decision block 186, at which a determination is made as to whether the previous occurrence was accompanied by a playback termination event (e.g., 161). If a playback termination event was detected alongside the previous occurrence of the event, the method 174 continues to step 188, and the most devolved audio item from the audio feedback data set (e.g., 148) is selected and played back. By way of example, the most devolved audio item may be a non-verbal audio cue (e.g., audio item 156).
If the decision block 186 determines that there was not a playback termination event detected during the previous occurrence of the event, then the most recently selected audio item corresponding to the previous occurrence of the event is identified at step 190. At step 192, a determination is made as to whether the most recently selected audio item is already the most devolved audio item of the audio feedback data set from step 176. If the most recently selected audio item is determined to be the most devolved audio item from the set, then it is selected as the current audio item and played back at step 188. If the most recently selected audio item is not the most devolved audio item from the set, then the selection logic 86 may devolve the audio feedback one step, and play the corresponding devolved audio item.
Continuing to
Referring first to
Upon selection of the icon 74, the user may be navigated to a home screen 200 of the media player application 74. As shown in
As discussed above, during operation of the device 10, various events, including user events and system events may occur, as defined above. For instance, the visual notification window 218 may be displayed on the screen 200 to indicate that a user event 216 has occurred in response to actions initiated by a user to enable the media player application 74 to accept incoming network connections. As shown in
In the present context, the “contextual importance” of the event 216 may be relatively high due to the fact that a user input is required in order to carry out or not carry out the requested operation (e.g., the allowance of incoming network connections). That is, without a response from the user, the device 10 is unable to proceed, as the user has not confirmed or denied the allowance of incoming network connections. Thus, an audio feedback data set associated with the event 216 may include at least a non-verbal audio tone 226 that signifies the high contextual importance of the event 216 when played back, with a goal of prompting the user to respond to the visual notification window 218. For example, the non-verbal tone 226 may include a distinctive alarm sound, a chirp, a beep, or any other type of non-verbal audio tone that may highlight the contextual importance of the event 216 (e.g., higher pitched sound, louder volume, longer playback time, etc.). In other words, while the event 216 may also be associated with one or more verbal audio items, in situations where either the audio user interface 38 selects the non-verbal audio item 226 or in which the user configures the device 10 to play back only non-verbal audio feedback, the non-verbal audio item 226 may help audibly distinguish the event 216 from events of lesser contextual importance.
To provide an example, an event that initially has lower contextual importance relative to the event 216 may be a system event in the form of a low battery warning 228. For instance, upon the occurrence of the low battery warning event 228, the visual notification window 230 is displayed on the screen 200, and contains the visual notification message 232 indicating that the power source 30 (
Ideally, the user will mentally process the notification provided by the window 230 and take necessary actions to recharge the power source 30. However, the device 10 will continue to operate in the near term regardless of whether or not the user initiates recharging of the power source 30 immediately. In this context, the contextual importance of the event 228 may be regarded as generally low relative to the event 216. As such, the event 228 may have associated therewith a non-verbal audio item 236 that is less distinct (e.g., lower pitched, softer volume, shorter playback time, etc.) relative to the non-verbal audio item 226, thus signifying the lesser contextual importance of the event 228.
While the event 228 may initially be categorized as having low contextual importance, it should be appreciated that the context in which the event 228 occurs may change over time. For instance the notification 230 may be a first warning based on a low power notification threshold of 20%. However, assuming the user chooses not to take action to replenish the power source 30, the device 10 will continue to consume the remaining power, thus further depleting the power source 30. Accordingly, in some embodiments, the user interface 34 may be configured to supply additional warnings at one or more lower thresholds. For instance, in one embodiment, the user interface 34 may supply a subsequent low power warning when the remaining charge in the power source 30 is depleted to 1% of total charge capacity. In this context, the 1% warning may be regarded as having high contextual importance, as the device 10 would be unable to continue operating when the power source 30 inevitably becomes fully depleted absent recharging or replacement. Thus, the latter example represents an embodiment in which multiple non-verbal items (e.g., of the same verbosity level) are associated with a common event, such that during the initial 20% warning event, a non-verbal audio item indicating low contextual importance may be played, and during the subsequent 1% warning event, another non-verbal audio item indicating high contextual importance may be played by the audio user interface 38.
In additional embodiments, the contextual importance of the events 226 or 230 may be determined based upon pre-programmed information (e.g., events may be programmed as having high or low contextual importance characteristics), which may be established by the manufacturer of the device 10 or the programmer of the audio user interface 38, or later configured/modified by a user, such as through the user preference settings 96 (
Continuing to
By selecting the graphical button 210 the user may be navigated to the screen 250, which may display a navigable list 252 of music files (songs) 254 stored on the device 10 alphabetically. For instance, as shown in
As shown in the screen 264, information pertaining to the selected music file 260 is displayed. For instance, the displayed information may include the name of the recording artist, the title of the selected music file 260, and, in some embodiments, the album with which the selected music file 260 is associated. The screen 264 may also display the album artwork 266 and the graphical buttons 268, 270, and 272. As will be appreciated, the graphical button 268 may allow the user to pause or un-pause the playback of the selected music file 260. Additionally, where the presently selected media file 260 is part of a playlist, the graphical buttons 270 and 272 may represent the functions to returning to a previous file in the playlist or to continue to the subsequent file in the playlist. As can be appreciated, where a playlist is being played in a random mode or shuffle mode, the graphical buttons 270 and 272 may function select a random file from the playlist for playback. The screen 264 also includes a sliding bar element 274, which may be manipulated by the user to control the volume of the audio playback. For the purposes of the list navigation examples discussed below with respect to
Referring now to
As depicted in
In accordance with the presently disclosed techniques, the audio user interface 38 may be configured to adapt to slight changes in the navigation speed 280. For instance, in one situation, the navigation speed may increase slightly, such that the transition time between list items reduced to allot enough time for speaking only one of the two audio items (e.g., song title or artist name). In one embodiment, the audio user interface 38 may still provide full verbosity audio feedback with respect to the song title information, but may omit the information regarding the artist name.
Next,
In the present example of
Additionally, as indicated by the list item L8, the audio user interface 38 may also be configured to selectively provide non-verbal tones based on the “newness” of the list item. For instance, the list item L8 may represent a song that was recently purchased from an online digital media service, such as the iTunes® service, provided by Apple Inc. Thus, in order to emphasize the newness of the song L8, the audio user interface 38 may play a non-verbal tone that is more distinct (e.g., a higher pitched beep) relative to the non-verbal tones played for older content (e.g., L6, L7, etc.) when the newer song L8 is reached during navigation. As will be appreciated, the “newness” threshold may be configured through user preferences 96 on the device 10. By way of example, a user may configure the device 10 to identify content purchased or downloaded with the last 3 days as being new content.
In another embodiment, the identification of “newer” content may include defining multiple tiers of newness. For instance, in addition to using a 3 day threshold for identifying the newest content on the device 10, a second threshold (e.g., 14 days) may be established to detect content that is still relatively recent. In such embodiments, different non-verbal tones may be used for list items that are identified as being newest and recent items, with the non-verbal tone for recent items being less distinct than the non-verbal tone associated with the newest items, but with both the non-verbal tones for recent and newest items being substantially more distinct relative to a non-verbal tone used for items not identified as being new or recent (e.g., items older than 14 days). Indeed, those skilled in the art will appreciate that any number of non-verbal tones for distinguishing between the age of content stored on the device 10 (e.g., based on any number of tiers defined by corresponding thresholds) may be utilized in various embodiments of the present technique.
Continuing to
As will be appreciated, in other embodiments, the frequency at which the non-verbal tones are provided may further decrease (e.g., every fourth, fifth, or sixth item) as the list navigation speed continues to increase. Further, it should be understood that the navigation of the list 252 may not necessarily occur a constant speed. Thus, the audio user interface 38 may adjust the verbosity of the audio feedback accordingly. For instance, if the user initially navigates the list 252 very slowly (e.g., speed 280), and gradually increases to a faster speed (e.g., speed 284), the audio user interface 38 may initially provide full verbosity audio feedback for multiple segments of data (e.g., song title and artist name), and gradually devolve the verbosity to providing only the song title and eventually reaching a devolved verbosity scheme similar to that shown in Table 3. If the user subsequently gradually decreases the navigation speed, then the audio feedback may also gradually evolve back towards the full verbosity mode.
Moreover, while the present techniques have been illustrated in conjunction with a graphical user interface, it should be understood that certain embodiments may include only an audio user interface. In such embodiments, the above-described audio feedback techniques may be applied as the user may navigate through a listing of items (e.g., using a scroll wheel) without a corresponding visual interface. As mentioned above, an embodiment of the device 10 that lacks a display 22 and thus a graphical user interface may be a model of an iPod® Shuffle, available from Apple Inc.
The various techniques for varying audio feedback during list navigation, as described with reference to the embodiments shown in
If the navigation speed at decision block 296 does not permit full verbosity audio feedback, the method 290 continues to decision block 300, at which a determination is made as to whether the current list item is the first item of an alphabetical group and, if so, the letter of the alphabetical group is spoken by the audio user interface 38 and provided as audio feedback (step 302). If the current list item is not the first item of an alphabetical group, the method 290 proceeds to decision block 304, whereby the newness of the current list item is determined. If the current list item is identified as being new content, then a distinct non-verbal audio item that indicates the newness of the current list item is played, as indicated at step 306. If the current list item is not identified as being new content, then a less distinct non-verbal audio item is played instead, as indicated at step 308.
Referring to
In summary, the embodiments presented above provide an intelligent and adaptive technique by which an electronic device (e.g., device 10) is capable of evolving and devolving of audio feedback verbosity in response to user inputs and/or in response to external stimuli. For instance, based on user actions and or user-defined preferences (e.g., preferences 96) the specific actions for devolving and/or evolving audio feedback may be dynamic and adaptive. By way of example, as shown in
Further, as will be understood, the various techniques described above and relating to adaptively varying audio feedback provided by an audio user interface of an electronic device are provided herein by way of example only. Accordingly, it should be understood that the present disclosure should not be construed as being limited to only the examples provided above. Indeed, a number of variations of the audio feedback techniques set forth above may exist. Further, it should be appreciated that the above-discussed techniques may be implemented in any suitable manner. For instance, audio user interface 38 and the audio feedback selection logic 86, which are collectively configured to implement various aspects of the presently disclosed techniques, may be implemented using hardware (e.g., suitably configured circuitry), software (e.g., via a computer program including executable code stored on one or more tangible computer readable medium), or via using a combination of both hardware and software elements.
The specific embodiments described above have been shown by way of example, and it should be understood that these embodiments may be susceptible to various modifications and alternative forms. It should be further understood that the claims are not intended to be limited to the particular forms disclosed, but rather to cover all modifications, equivalents, and alternatives falling within the spirit and scope of this disclosure.
Claims
1. A method, comprising:
- using a processor on an electronic device to:
- detect the occurrence of a user interface event requesting audio feedback on the electronic device at a first time;
- identify a plurality of audio items associated with the user interface event, wherein each of the plurality of audio items has a different level of verbosity;
- select a first audio item from the plurality of audio items that corresponds to a first desired verbosity level determined based at least partially upon whether the user interface event previously occurred within a particular time interval prior to the first time; and
- provide the audio feedback by playing back the selected first audio item on the electronic device using an audio output device.
2. The method of claim 1, wherein selecting the first audio item comprises:
- if the user interface event did not previously occur within the particular time interval prior to the first time, selecting an audio item having the highest level of verbosity from the plurality of audio items; and
- if the user interface event previously occurred within the particular time interval prior to the first time, determining the verbosity level of an audio item selected from the plurality of audio items during the previous occurrence of the user interface event, and selecting an audio item from the plurality of audio items that is at least one step less verbose relative to the previously selected audio item.
3. The method of claim 2, comprising:
- detecting a subsequent occurrence of the user interface event on the electronic device at a second time;
- selecting a second audio item from the plurality of audio items that corresponds to a second desired verbosity level determined based upon the duration between the first time and the second time; and
- playing the selected second audio item on the electronic device using the audio output device.
4. The method of claim 3, wherein selecting the second audio item comprises:
- if the duration between the first and second times is less than or equal to the particular time interval, selecting an audio item from the plurality of audio items that is at least one step less verbose relative to the first audio item; and
- if the duration between the first and second times is greater than the particular time interval, selecting an audio item from the plurality of audio items that is at least one step more verbose relative to the first audio item.
5. The method of claim 4, wherein selecting the audio item that is at least one step more verbose relative to the first audio item comprises selecting the audio item having the highest verbosity level within the plurality of audio items regardless of the verbosity level of the first audio item.
6. The method of claim 2, wherein selecting the first audio item comprises:
- determining whether a playback termination event was detected during the previous occurrence of the user interface event; and
- if a playback termination event was detected during the previous occurrence, selecting an audio item from the plurality of audio items having a lower level of verbosity regardless of the verbosity level of the previously selected audio item.
7. The method of claim 6, wherein the audio item having the lower level of verbosity comprises a non-verbal audio item.
8. The method of claim 6, wherein a user termination event comprises a user input or a gesture that prematurely terminated the playback of the previously selected audio item.
9. The method of claim 6, comprising:
- if a playback termination event was not detected during the previous occurrence of the user interface event, using a graphical user interface to display a first visual notification at least partially concurrently with the playback of the selected first audio item; and
- if a playback termination event was detected during the previous occurrence of the user interface event, using a graphical user interface to display a second visual notification substantially concurrently with the playback of the selected first audio item, wherein the second visual notification is less verbose relative to the first visual notification.
10. A method, comprising:
- using a processor on an electronic device to:
- identify a navigable set of data items stored on the electronic device;
- receive an input from a user of the electronic device corresponding to a navigation event, wherein the navigation event includes a transition from a first data item to a second data item within the navigable set, such that the second data item becomes a currently selected data item;
- detect a navigation speed corresponding to the navigation event; and
- vary audio feedback associated with the currently selected data item based at least partially upon the navigation speed.
11. The method of claim 10, wherein varying the audio feedback comprises:
- at a first navigation speed, playing back a first audio item having full verbosity; and
- at a second navigation speed, playing back a second audio item that is less verbose relative to the first audio item;
- wherein the second navigation speed is greater than the first navigation speed.
12. The method of claim 11, the navigable set of data items is ordered alphabetically on the electronic device, and wherein selecting and playing back the second audio item comprises:
- if the currently selected data item is the first item of an alphabetical letter group, playing back the letter corresponding to the alphabetical letter group, or else playing back a non-verbal audio item.
13. The method of claim 11, wherein playing back the second audio item comprises:
- determining whether the currently selected data item includes new content;
- playing back a first non-verbal audio item if the currently selected data item does not include new content; and
- playing back a second non-verbal audio item if the currently selected data item includes new content;
- wherein the second non-verbal audio item is more audibly distinct relative to the first non-verbal audio item.
14. The method of claim 13, wherein determining whether the currently selected data item includes new content comprises:
- determining the time at which the currently selected data item was acquired by the electronic device;
- determining whether the acquisition time occurred within a particular time interval prior to the present time; and
- identifying the currently selected data item as new content if the acquisition time occurred within the particular time interval, or else, identifying the currently selected data item as not being new content.
15. The method of claim 10, wherein the navigable set of data items stored on the electronic device is displayable as a list on a display device, and wherein the input from the user corresponds to a scroll command configured to navigate the displayed list.
16. A method, comprising:
- using a processor on an electronic device to:
- detect the occurrence of a user interface event requesting audio feedback on the electronic device;
- identify a plurality of audio items associated with the user interface event;
- select an audio item from the plurality of audio items based upon the contextual importance of the user interface event; and
- provide the audio feedback by playing back the selected audio item on the electronic device using an audio output device.
17. The method of claim 16, wherein the plurality of audio items comprises at least a first audio item and a second audio item, wherein the first and second audio items have the same level of verbosity.
18. The method of claim 17, wherein selecting the audio item comprises:
- selecting the first audio item if the contextual importance is high; and
- selecting the second audio item if the contextual importance is low;
- wherein the first audio item is more audibly distinct relative to the first non-verbal audio item.
19. The method of claim 18, wherein the contextual importance of the user interface event is determined to be high if the user interface event requires a response from the user of the electronic device.
20. The method of claim 18, wherein the first and second audio items each comprise non-verbal audio items.
21. The method of claim 18, wherein the first audio item has a more audibly distinct pitch, volume, playback time, or a combination thereof.
22. The method of claim 16, wherein the contextual importance of the user interface event is determined based upon information stored on the device, wherein the information stored on the device comprises one of pre-programmed information, or user-specified information configured through a set of user preference settings, or a combination thereof.
23. The method of claim 16, wherein the contextual importance of the user interface event is determined based upon the frequency at which the same type of user interface event occurred within a period of time just prior to the occurrence of the user interface event.
24. An electronic device, comprising:
- at least one storage device configured to store a plurality of audio items;
- a user interface comprising an audio user interface, wherein the audio user interface comprises: audio feedback selection logic configured to: detect the occurrence of a user interface event requesting audio feedback; identify a set of audio items associated with the user interface event and having varying levels of verbosity; determine a desired verbosity level based upon statistical data associated with the user interface event; select from the set of audio items an audio item having a verbosity level corresponding to the desired verbosity level; and initiate the playback of the selected audio item.
25. The electronic device of claim 24, wherein the selected audio item is played back on an audio output device comprising at least one of an integrated audio output device or an external audio output device coupled to the electronic device via an audio connection port, or a combination thereof.
26. The electronic device of claim 24, comprising a display, wherein the user interface comprises a graphical user interface configured to display a visual notification in response to the user interface event on the display, wherein the playback of the selected audio item is at least partially concurrent with the display of the visual notification.
27. The electronic device of claim 24, wherein the statistical data associated with the user interface event is stored in the at least one storage device.
28. The electronic device of claim 27, wherein the statistical data associated with the user interface event comprises data regarding previous occurrences of the user interface event, and wherein the determination of the desired verbosity level is based at least partially upon the verbosity level of an audio item selected during the most recent previous occurrence of the user interface event.
29. Audio processing logic comprising:
- one or more memory devices configured to store a plurality of audio items, wherein each of the plurality of audio items is selectable for playback in response to detection of an audio user interface event requesting audio feedback event; and
- audio feedback selection logic configured to detect the occurrence of an audio user interface event requesting audio feedback, identify from the plurality of audio items stored in the one or more memory devices a set of audio items having varying levels of verbosity and being associated with the audio user interface event, wherein each of the set of audio items has varying levels of verbosity, determine a desired verbosity level, select from the set of audio items an audio item having a verbosity level corresponding to the desired verbosity level, and output the selected audio item to an audio output device.
30. The audio processing logic of claim 29, wherein the desired verbosity level is determined based upon at least one of a set of user preference settings or statistical data associated with the audio user interface event, wherein the user preference settings and the statistical data are stored in the one or more memory devices.
Type: Application
Filed: Jan 13, 2010
Publication Date: Jul 14, 2011
Patent Grant number: 8381107
Applicant: APPLE INC. (Cupertino, CA)
Inventors: Benjamin Andrew Rottler (San Francisco, CA), Aram Lindahl (Menlo Park, CA), Allen Paul Haughay, Jr. (San Jose, CA), Shawn A. Ellis (Sunnyvale, CA), Policarpo Wood (San Francisco, CA)
Application Number: 12/686,876
International Classification: G06F 3/16 (20060101); G08B 3/10 (20060101); G06F 17/00 (20060101);