Patent Publication Number: US-8542675-B2

Title: Customizability of event notification on telephony-enabled devices

Description:
RELATED APPLICATION 
     This application is a continuation of previously filed U.S. application Ser. No. 11/179,534 filed Jul. 13, 2005 hereby incorporated by reference in its entirety. 
    
    
     FIELD OF THE APPLICATION 
     This application relates to telephony-enabled devices. 
     BACKGROUND 
     Multimode wireless devices support more than one air-interface technology (e.g. GSM, cdma2000, UMTS etc.). Some air-interface technologies (such as cdma2000 release A, UMTS) support more than one concurrent service and provides users with more than one mode of operation such as simultaneous packet data session (e.g. email, browser) and voice. 
     There are three different classes of GSM/GPRS mobile stations. Class “A” mobile stations support simultaneous operation of GPRS and conventional GSM services. Therefore, class A mobile stations enable simultaneous support of a single circuit-switched session (e.g. voice) and one or more packet-switched sessions (e.g. e-mail). Class “B” mobile stations are able to register for both GPRS and conventional GSM services simultaneously; however, they can only use one of the two services at a given time. Therefore, class B mobile stations support either a circuit-switched session or a packet-switched session, but not both at the same time. Class “C” mobile stations can attach for either GPRS or conventional GSM services; however, with exception to SMS messages, simultaneous registration (and usage) is not possible. Therefore, class C mobile stations, much like class B mobile stations, support either a circuit-switched session or a packet-switched session, but not both at the same time. SMS messages can be exchanged over a circuit-switched session or a packet-switched session depending on network support. Some networks support exchange of SMS messages over only circuit-switched sessions while other networks support exchange of SMS messages over circuit-switched sessions and packet-switched sessions. 
     Similar class concepts exist in UMTS. GSM/GPRS mobile stations and network currently support only class B operation whereas in general all UMTS devices are considered class A. In release A of 1×EV-DO, multiple simultaneous packet services are supported, and different applications can have different QoS, each associated with the flow of the application. This allows multiple simultaneous asynchronous services such as a VoIP (Voice over IP) call along with other packet data services such as streaming video. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       Preferred embodiments will now be described with reference to the attached drawings in which: 
         FIG. 1A  is a schematic drawing of an example wireless device; 
         FIG. 1B  is a schematic drawing of an example telephony-enabled device; 
         FIG. 2  is a flowchart of an example method of processing an event according to user-customized settings; 
         FIG. 3  is a flowchart of another example method of processing an event according to user-customized settings; and 
         FIG. 4  is a flowchart of an example method of updating customized settings. 
     
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
     According to one aspect, there is provided a method in a wireless device comprising: upon an event triggering potential user notification: processing the event triggering potential user notification according to customizable voice call settings if there is an active voice call; and processing the event triggering potential user notification according to other settings if there is no active voice call. 
     In some embodiments, processing comprises: determining based on settings if the event triggering potential user notification triggers a user notification. 
     In some embodiments, processing further comprises: determining how the user notification is to be executed based on the settings; and generating the user notification. 
     In some embodiments, the user notification is generated based on the settings with at least one cue selected from a group of cues consisting of audible cue, vibration cue, and visual cue. 
     In some embodiments, the audible cue is customizable in terms of tune, volume, and number of repetitions; the vibration cue is customizable in terms of frequency, intensity, and number of repetitions; and the visual cue is customizable in terms of frequency, intensity, colour, and number of repetitions. 
     In some embodiments, the audible cue is generated from at least one source selected from a group of sources consisting of an earpiece, and a notification speaker; the vibration cue is generated from a motor having an unbalanced mechanical load; the visual cue is generated from a user interface, the user interface comprising an LED (light emitting diode). 
     In some embodiments, the event triggering potential user notification is selected from a group of event types consisting of: completing a data download; an upcoming calendar event; receiving an electronic message; an upcoming task; starting of any service; low battery detected; and low signal detected. 
     In some embodiments, starting of any service comprises starting of any streaming packet-switched service. 
     In some embodiments, starting of any streaming packet-switched service comprises starting of a subscribed BCMS (broadcast multicast service). 
     In some embodiments, the voice call is a packet-switched call. 
     In some embodiments, the packet-switched call is a VoIP (voice over IP) call. 
     According to another broad aspect, there is provided a graphical user interface for a wireless device, the graphical user interface comprising: a first area for displaying an identification of an event type subject to customizable event notification; and a second area for displaying configurable options for customizing event notifications for the event type. 
     Telephony-Enabled Device &amp; Event Processing 
     Referring now to  FIG. 1A , shown is a schematic drawing of an example wireless device  10 . The wireless device  10  has a processor  12  coupled to a wireless access radio  11 , an event processing function  13 , user applications  14 , and a user interface  17 . The event processing function  13  is coupled to the user applications  14 . The wireless device  10  is coupled to a wireless network  16  through a wireless connection  15 . 
     In operation, the wireless device  10  uses the wireless access radio  11  to communicate wirelessly with the wireless network  16  via the wireless connection  15 . The wireless network  16  may be, for example, a cellular network. 
     There are many possible applications and/or services that can be included by the user applications  14 . In some embodiments, the user applications  14  include an email application adapted to send and receive email messages. In some embodiments, the user applications  14  include an Internet browser application adapted to browse Internet sites. In some embodiments, the user applications  14  include a calendar and journal application adapted to maintain an identification of tasks and/or events and provide task and/or event scheduling functionality. 
     In some instances, it is desirable for a user of the wireless device  10  to be notified upon occurrence of certain events. For example, if an email is received, it may be helpful for the user to be notified of the email. In a second example, if the user previously scheduled an event/task, then it may be desirable for the user to be notified before the event/task is to occur. However, if the frequency of such notifications is large, and a user is simultaneously occupied by a voice call, generating a notification for every such event could become cumbersome or undesirable. 
     According to one aspect, the event processing function  13  operates to automatically process events triggering potential user notification. More particularly, the event processing function  13  determines based on user customizations if an event is to trigger user notification and the manner in which a user notification is carried out. In doing so, the event processing function  13  takes into account whether or not there is an active voice call in progress. Such events are referred to as “events triggering potential notification” because they are events that may or may not trigger notification depending on the settings at a given instant. If a user notification is triggered during an active voice call, then the user notification is executed according to user customizations. In some embodiments, the event processing function  13  is configurable by the user using the user interface  17  so that they may customize event triggering and event notifications. 
     Generally, embodiments provide for the customizable notification of events that occur during a voice call. Different wireless devices support the delivery of voice calls using different technologies, typically depending upon one or more standards being implemented by each device. For example, the voice call may be packet-switched (e.g. voice over IP on EVDO), or circuit switched (e.g. dedicated voice channel of UMTS). In yet a further example, the voice call may be a voice plus video call implemented using packet-switched or circuit-switched communications. Some wireless devices support concurrent voice (be it circuit-switched or packet-switched) and one or more additional packet-switched services. An example of such a packet-switched service is an e-mail service. 
     The events requiring notification are defined on an implementation specific basis to include any event for which it is desired to provide notification customizability during a voice call. These may include events that occur internally to the wireless device (e.g. calendar events), and/or events that occur externally to the wireless device (e.g. events associated with one or more additional packet-switched services that may be supported by a given wireless device). Preferably, the event processing function  13  is software implemented and is executed by the processor  12 . However, more generally, the event processing function  13  may be implemented as software, hardware, firmware, or as any appropriate combination of software, hardware and firmware. Although shown as separate components, the user applications  14  and the event processing function  13  may be integrated together as a single component and implemented as software, hardware, firmware, or as any appropriate combination of software, hardware and firmware. 
     Embodiments have been discussed with reference to a particular telephony-enable device, namely the wireless device  10  shown in  FIG. 1A . More generally, in other embodiments, similar methods are applicable on any telephony-enabled device that may or may not be a wireless device. Referring now to  FIG. 1B , shown is a schematic drawing of an example telephony-enabled device  60 . The telephony-enabled device  10  has a processor  62  coupled to an event processing function  63 , user applications  64 , and a user interface  67 . The event processing function  63  is coupled to the user applications  14 . 
     In operation, the event processing function  63  operates to automatically process events triggering potential user notification much like the event processing function  13  of the wireless device  10 . Preferably, the event processing function  63  is software implemented and is executed by the processor  62 . However, more generally, the event processing function  63  may be implemented as software, hardware, firmware, or as any appropriate combination of software, hardware and firmware. Although shown as separate components, the user applications  64  and the event processing function  63  may be integrated together as a single component and implemented as software, hardware, firmware, or as any appropriate combination of software, hardware and firmware. 
     Customizable Event Trigger &amp; Event Notification 
     Referring now to  FIG. 2 , shown is a flowchart of an example method of processing an event according to user-customized settings. This method may be implemented in a wireless device, for example by the event processing function  13  of the wireless device  10 . If an event triggering potential user notification occurs at step  2 - 1 , then at step  2 - 2  the wireless device determines whether or not there is an active voice call at step  2 - 2 . If the wireless device determines that there is an active voice call, then at step  2 - 3  the wireless device processes the event according to customized voice call settings. However, if the wireless device determines that there isn&#39;t an active voice call, then at step  2 - 4  the wireless device processes the event according to non-voice call settings. In some embodiments, the non-voice call settings are also customizable, and this is assumed for the remainder of this example. However, it is to be understood that static non-voice call settings could alternatively be used. 
     Processing an event generally refers to determining whether or not the event is to trigger a user notification and determining how the user is to be notified. Processing an event is executed according to user customizations. Preferably, determining whether or not an event is to trigger a user notification and determining how to notify the user is to be notified are both executed according to user customizations. The user customizations are tailored towards a plurality of states. In this example, two states are provided: voice call state, and non-voice call state. The user customizations are independent for each state. Therefore, events can be processed in a different manner during an active voice call than when there is no active voice call. 
     There are many possible events that can trigger potential user notification. As indicated previously, the particular events that will be handled in this manner are defined on an implementation specific basis, and may include internally and/or externally triggered events. In some embodiments, receiving any electronic message triggers event processing, determination of whether or not the user is to be notified, and the way in which the user is to be notified. There are many different kinds of electronic messages. An email message is an example of an electronic message. 
     In some embodiments, email messages contain a priority indication, for example inside a header of the email message. The header may include an indication of priority as being either “high”, “normal”, or “low”. The user may, for example, provide customizations such that receiving email messages having a “high” priority trigger user notifications during an active voice call while all other electronic messages do not trigger user notification. There are many other possible customizations that the user may provide according to their preferences. 
     In other embodiments, if the user previously scheduled an event/task using an event/task scheduling application, then processing is triggered before the event/task is to occur in order to determine if the user is to be notified and the way in which the user is to be notified. In some embodiments, the user can specify which events/tasks trigger a user notification. For example, if the user perceives a certain event/task to be unimportant, then they can specify to not be interrupted while having an active voice call upon the certain event/task. In some embodiments, the user can specify the amount of warning to be provided for certain events/tasks. For example, the user may provide customized settings to provide a notification of a scheduled meeting only 5 minutes before the scheduled meeting if it is held locally within the same building of the user. In another example, the user may provide customized settings to provide a notification at least 30 minutes before the scheduled meeting if it is held elsewhere. In yet another example, the user may provide customized settings to provide a plurality of notifications, each notification being separated with a preconfigured time duration. 
     In further embodiments, if a subscribed BCMCS (broadcast multicast service) is about to begin, then processing is triggered in order to determine if the user is to be notified and the way in which the user is to be notified. In some embodiments, the wireless device determines when a subscribed BCMCS is about to begin by polling, as BCMS is not a push service. This is applicable to, for example, cdma2000 1×EV-DO mobiles that can receive and subscribe to BCMCS services and the notification may come while the user is in a VoIP call. A BCMCS is a very specific streaming packet-switched service. More generally, processing may be triggered upon starting of any service. 
     Preferably, the user customizations can be separately set for each different event type. For example, to enter the customizations, a user interface might present on a display screen a list of events subject to customizable notification such as listed below:
         Browser   Calendar   Level 1 Messages   Message   Phone   SMS (short message service)   MMS (multimedia message service)   BCMCS (broadcast multicast service)   Battery   Signal   Tasks.       

     In this example, the user can select any one of the event types in the list to customize how the events are to be handled. It is to be clearly understood this very specific list is simply an example. More generally, any event type or set of event types may be included. 
     In some embodiments, a user can separately configure each event type in order to configure which events are to trigger notification and the manner in which notifications are carried out. The “Browser” event refers to events associated with an Internet browser. An example of a browser event is the notification generated when downloading of data completes. The “Calendar” event type refers to events associated with an electronic calendar. The user may, for example, customize if and how user notifications are executed upon certain events. The “Level 1 Messages” event type refers to events associated with email messages having a “high” priority. The user may, for example, customize if and how user notifications are executed upon receiving a “high” priority email. The “Message” event type refers to events associated with an electronic message application. The user may, for example, customize if and how user notifications are executed upon receiving certain email messages. Selecting the “Phone” event type refers to events associated with voice calls. The user may, for example, customize if and how user notifications are executed upon receiving a voice call. The “SMS” event type refers to events associated with an SMS application. The user may, for example, configure if and how user notifications are executed upon receiving certain SMS messages. The “MMS” event type refers to events associated with an MMS application. The user may, for example, configure if and how user notifications are executed upon receiving certain MMS messages. The “BCMCS” event type refers to events associated with a BCMCS application. The user may, for example, configure if and how user notifications are executed upon the beginning of a subscribed BCMCS. The “Battery” event type refers to events associated with a Battery application. The user may, for example, configure if and how user notifications are executed upon detecting that the battery is weak. The “Signal” event type refers to events associated with a Signal application. The user may, for example, configure if and how user notifications are executed detecting that a wireless signal is weak. The “Tasks” event type refers to events associated with a task application. The user may, for example, configure if and how user notifications are executed upon certain milestones of certain tasks. 
     In some embodiments, the user customizations are tailored towards a plurality of states and processing is executed as a function of the current state. In the example shown in  FIG. 2 , processing is executed as a function of whether or not there is an active voice call. There are many possible ways to determine if there is an active voice call. In some embodiments, the wireless device keeps track of the user&#39;s actions. As a first example, whenever the user places a call and has not completed the call yet, then the wireless device determines that there is an active voice call. As a second example, whenever the user accepts an incoming call and has not completed the call, then the wireless device determines that there is an active voice call. In other embodiments, the wireless device monitors activity of its wireless access radio. In further embodiments, the wireless device monitors the user&#39;s activities and monitors activity of the wireless access radio. 
     There are many customizable ways that the wireless device can provide user notifications. The user can be notified in any appropriate manner capable of distracting the user. In some embodiments, the wireless device can notify the user using a vibration cue. In some embodiments, the wireless device can be configured to vibrate differently for different events. For example, vibration frequency, intensity, and number of repetitions can be configured. This can allow the user to associate certain vibration schemes with certain events. 
     In other embodiments, the wireless device can notify the user using an audio cue. There are many ways that the wireless device can produce an audio cue. In some embodiments, the wireless device has a notification speaker for generating audio cues. In other embodiments, the wireless device generates audio cues through an earpiece. In further embodiments, the wireless device generates audio cues through a notification speaker and an earpiece. Preferably, the wireless device can be configured to play audio cues with customizable tunes, volume levels, and number of repetitions. Configuring the tune, volume, and number of repetitions of an audio notification can allow the user to associate certain audio notifications with certain events. 
     In further embodiments, the wireless device can notify the user using a visible cue, for example a flashing LED (light emitting diode). In some embodiments, the wireless device can be configured to flash the LED with customizable frequency, intensity, number of repetitions, and color. Some users may prefer an LED notification in some instances ahead of other forms of notification, as LED notifications are fairly passive and do not abruptly interrupt the user. 
     In yet other embodiments, the wireless device can notify the user using a selected multiple notification types. For example, the wireless device can flash an LED on and off while playing an audible tune. More generally, a plurality of notification types consisting of sound cues, vibration cues, and visible cues are possible. In some embodiments, the user specifies at least one an additional parameter for customizing the notification type. For example, a notification type having an audible cue might be customized with an additional parameter supplied by the user specifying the volume of the audible cue. 
     Preferably, the way in which user notifications are executed can be separately set for each different event type. For example, to enter customizations for a given event, a user interface might present on a display screen a list of configurable options for customizing user notifications such as listed below:
         Type—none/tune/vibrate/vibrate+tune   Tune—menu of tunes   Volume   Number of Repetitions   LED flashing—enable/disable       

     In this example, the user can select any one of the items in the list to customize user notification options. It is to be clearly understood this very specific list is simply an example and that other configurable options may be contemplated. 
     In some embodiments, a user can separately configure each option in order to customize the manner in which notifications are carried out. For a certain event triggering potential user notification, the “Type” of notification can be set to none, tune, vibrate, or vibrate and tune. For a certain event triggering potential user notification, the “Tune” can be set to any one of a plurality of tunes. For a certain event triggering potential user notification, the “Volume” of the tune can be customized. For a certain event triggering potential user notification, the “Number of Repetitions” of the tune can be customized. For a certain event triggering potential user notification, the “LED flashing” can be enabled or disabled. With reference to  FIG. 2 , processing has been described for two example states: active voice call state, and no active voice call state. Many other states are possible. In some embodiments, a device holster is provided for holding the wireless device. In some embodiments, processing of events is dependent on whether or not the wireless device is inside the device holster. Accordingly, the wireless device determines whether or not it is inside the device holster and whether or not it is on a voice call and processes events in more than two states. 
     In the example method described above with reference to  FIG. 2 , the telephony-enabled device is assumed to be a wireless device. However, in other embodiments, the method may be implemented in any telephony-enabled device, for example, by the event processing function  63  of the telephony-enabled device  60 . 
     As described earlier with reference to  FIG. 1A , it is not necessary for the telephony-enabled device to be able to send and receive data during a voice call. There are many possible applications that can trigger a potential user notification during a voice call without sending or receiving data. As an example, a calendar application may trigger a potential user notification upon an upcoming event/task during a voice call without sending or receiving data. However, preferably the telephony-enabled device is able to send and receive data during a voice call so that applications that send and receive data may do so during a voice call. For example, it is preferred that an email application can send and receive data during a voice call thereby providing the user with the option of being notified upon receiving certain email messages during a voice call. 
     Device Holster 
     Turning now to  FIG. 3 , shown is a flowchart of another example method of processing an event according to user-customized settings for an implementation in which consideration is given as to whether or not the wireless device is inside a device holster. This method may be implemented in a wireless device, for example by the event processing function  13  of the wireless device  10 . Steps  3 - 1  through  3 - 3  are substantially identical to steps  2 - 1  through  2 - 3  in  FIG. 2 ; therefore, their descriptions will not be repeated. If at step  3 - 4  the wireless device determines that it is inside the device holster, then at step  3 - 5  the wireless device processes the event according to holster present and no voice call settings. However, if the wireless device determines that it is not inside the device holster, then at step  3 - 6  the wireless device processes the event according to holster absent and no voice call settings. 
     With reference to  FIG. 2 , several examples of customized event processing have been described with regards to two states: voice call state and no voice call state. These examples are also relevant to the method of  FIG. 3 . However, the holster present and holster absent states of  FIG. 3  enable further customizations over the non-voice call state of  FIG. 2 . This may be advantageous to the user, for example if they desire to be notified of events in a different manner when the wireless device is inside the device holster than when it is not. In this particular example, the voice call settings can be seen to take precedence over the holster settings. This is preferred in situations in which the user is occupied with an active voice call while the wireless device is inside the device holster. In some embodiments, the holster present and no voice call settings and the holster absent and no voice call settings are also customizable. However, it is to be understood that static non-voice call settings could alternatively be used. 
     There are many ways in which the wireless device can determine if it is inside the device holster. In some embodiments, the wireless device detects presence of a magnet inside the device holster. 
     In the example method described above with reference to  FIG. 3 , the telephony-enabled device is assumed to be a wireless device. However, in other embodiments, the method may be implemented in any telephony-enabled device, for example, by the event processing function  63  of the telephony-enabled device  60 . 
     User Interface 
     On an ongoing basis, the wireless device maintains user customized settings for determining whether or not an event is to trigger user notification and how the user is to be notified. As previously discussed, the user interface of the wireless device may be used to input user customizations. Turning now to  FIG. 4 , shown is a flowchart of an example method of updating customized settings. This method may be implemented in a wireless device, for example by the event processing function  13  of the wireless device  10 . If the user inputs customizations at step  4 - 1 , then at step  4 - 2  the customized settings are updated. 
     In the example method described above with reference to  FIG. 4 , the telephony-enabled device is assumed to be a wireless device. However, in other embodiments, the method may be implemented in any telephony-enabled device, for example, by the event processing function  63  of the telephony-enabled device  60 . 
     Numerous modifications and variations of the present application are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims, the application may be practised otherwise than as specifically described herein. 
     Copyright Notice 
     A portion of the disclosure of this patent document contains material which is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by any one of the patent document or patent disclosure, as it appears in the Patent and Trademark Office patent file or records, but otherwise reserves all copyrights whatsoever.