WO2011090822A2 - Automated callback reminder - Google Patents
Automated callback reminder Download PDFInfo
- Publication number
- WO2011090822A2 WO2011090822A2 PCT/US2011/020288 US2011020288W WO2011090822A2 WO 2011090822 A2 WO2011090822 A2 WO 2011090822A2 US 2011020288 W US2011020288 W US 2011020288W WO 2011090822 A2 WO2011090822 A2 WO 2011090822A2
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- call
- user
- callback
- reminder
- mobile phone
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72448—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions
- H04M1/72451—User interfaces specially adapted for cordless or mobile telephones with means for adapting the functionality of the device according to specific conditions according to schedules, e.g. using calendar applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M3/00—Automatic or semi-automatic exchanges
- H04M3/42—Systems providing special services or facilities to subscribers
- H04M3/42195—Arrangements for calling back a calling subscriber
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/16—Communication-related supplementary services, e.g. call-transfer or call-hold
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72469—User interfaces specially adapted for cordless or mobile telephones for operating the device by selecting functions from two or more displayed items, e.g. menus or icons
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2203/00—Aspects of automatic or semi-automatic exchanges
- H04M2203/20—Aspects of automatic or semi-automatic exchanges related to features of supplementary services
- H04M2203/2072—Schedules, e.g. personal calendars
Definitions
- the phone can ring at inconvenient times. For example, the user may be in a meeting, attending a show or sporting event, driving a car, or engaged in some other activity in which the user does not wish to be interrupted. But if the user chooses to not answer a call, it can often be difficult to remember to return the call. And when the user does remember to make the callback, it is not always convenient to access the relevant phone number to call. For example, the user may have to manually browse through an incoming call log to find the caller and phone number to call back.
- a call reminder functionality is provided by an arrangement that is operable with a network-enabled communication device such as a mobile phone in which a reminder to return a call can be generated in an automated manner upon the occurrence of a call event such as an incoming call, rejected call, call waiting, missed call, a short call (i.e., one that does not reach a set minimum duration), and the like.
- a call event such as an incoming call, rejected call, call waiting, missed call, a short call (i.e., one that does not reach a set minimum duration), and the like.
- UI user interface
- a callback task can be added to the user's task list (i.e., "to do” list) supported by the schedule application, and a reminder to make the callback is set and displayed on the UI at a future time.
- the reminder can be provided at some predefined time interval such as 30 minutes later, the next day, etc., or at a free time slot in the user's schedule.
- the reminder includes pertinent call information (for example, the name of calling party, phone number, date/time of the last incoming call) and includes a button or similar control element that enables the user to place the callback through the UI (i.e., a "one-click callback").
- the call reminder functionality is provided by an application that can run as a thick client on the communication device, or alternatively as a thin client that splits storage of the application code and execution between the device and a server that operates remotely from the device, for example, through implementation as a service on the network "cloud.”
- the call reminder application will expose a UI that enables the user to set preferences (for example to set which types of call events will trigger the call reminder application, set the number of rings before the application is launched, specify the predefined time interval, and the like) and other default application behavior.
- the UI can also enable the user to work through various call handling options when the application is triggered upon the occurrence of a qualifying call event.
- the call reminder application typically operates in the background using a listener that monitors call events. When a qualifying call event occurs, the application is triggered and will fetch and store call information such as metadata (e.g., phone number of caller, date/time of call) and matching contact information (e.g., caller's name/nickname, phone number association - work, mobile, home, etc.). A notification on the UI is displayed to give the user the option to add a callback task for that caller. If the user selects the option, the call reminder application will call various functions at an API (application programming interface) exposed by the schedule application and pass the appropriate parameters to create a callback task and set a reminder.
- API application programming interface
- the call reminder application can query the schedule application to automatically find an open slot in the user's schedule (or a slot meeting other user-specified criteria) in which the callback reminder can be inserted.
- the user can be given an option to manually browse the calendar to find a time slot of the user's choosing.
- the reminder will be set at some predefined time that can be set by default or through user interaction with the UI at the time of the notification.
- the application will display the reminder through the UI on the device and typically display the fetched call information as well.
- the call reminder application will also display a button or other control element to implement the one-click callback feature when activated.
- the call reminder application provides a rich feature set to the user that provides a convenient and helpful alternative to handle incoming, rejected, and missed calls.
- the user can stay organized and keep current with voice communications with a few clicks without having to manually look through call records to find needed information.
- the ability of the call reminder application to automatically interface with others of the user's applications running on the communications device advantageously ensures that the user experience is seamless and the generated tasks and reminders are consistent with the user's schedule.
- FIG. 1 shows an illustrative communications environment in which device users and callers may communicate using network-enabled devices such as mobile phones, PCs, and landline phones;
- FIG. 2 shows an illustrative architecture, including a call reminder application, that may be implemented on a network-enabled communication device such as a mobile phone;
- FIG. 3 shows an illustrative arrangement in which a mobile phone may be coupled with a PC to support synchronization of data between the devices so that both have the most-recent data versions;
- FIG. 4 shows illustrative interfaces that are utilized among various functional components operating on a network-enabled device
- FIG. 5 shows an illustrative set of functional components in the call reminder application and various illustrative features, functionalities, and interfaces supported by the call reminder application;
- FIG. 6 is an illustrative taxonomy of user preferences and default application behaviors that may be utilized by the call reminder application;
- FIG. 7 is an illustrative taxonomy of call handling options that may be utilized by the call reminder application;
- FIG. 8 is a flowchart of an illustrative workflow that may be utilized by the call reminder application
- FIGs. 9 - 12 show various illustrative screenshots of the user interface that is supported by the call reminder application
- FIG. 13 shows the call reminder application as illustratively arranged as a thin client on a network-enabled device such as a mobile phone;
- FIG. 14 shows an illustrative arrangement in which certain functionality of the call reminder application is supported by a service provider that is operatively coupled to the communications network.
- FIG. 1 shows an illustrative communications environment 100 in which users 105i ... N and callers 110 1; 2 ... N may communicate using respective network-enabled devices 115 1; 2 ... N that are each operatively coupled to a communications network 120.
- the devices 115 may include any of a variety of devices and platforms which support voice communications such as mobile phones, smart phones, PCs, landline telephones, or other mobile or fixed devices that are adapted for voice telephony over a network.
- the term "user” refers to a user of the present call reminder application who receives a phone call from a person making the call termed the "caller.”
- the present call reminder application is arranged to execute on a mobile device such as a mobile phone, telephony-capable personal digital assistant, smartphone, or other portable device that is capable of making or receiving calls
- mobile phone that is configured as a Microsoft Windows® CE-based device.
- Microsoft Windows® CE-based device a Microsoft Windows® CE-based device
- the principles of the present arrangement may also be adapted for use with other devices using other operating systems.
- operating systems may include Symbian, iPhone/Mac, Palm, Blackberry, Android, and other Linux- or Unix-based operating systems.
- call as used herein is intended to refer to any of a variety of call types including voice calls, video calls, multimedia calls, conference calls (i.e., voice/video/multimedia calls among multiple parties), messaging, and other forms of communication that are typically conducted in real time or near real time.
- the communications network 120 that is used to facilitate communication among the users 105 and callers 110 may include portions of one or more network types as shown in FIG. 1, including a mobile phone network 125, mobile data network 130, public switched telephone network 135, and Internet 140. Therefore, for example, a given caller 110 may call a given user 105 using a conventional telephone where the call is carried over portions of both the public switched telephone network 135 and mobile phone network 125. Alternatively, another caller 110 may call the user 105 using a PC equipped with VoIP (Voice over Internet Protocol) capability where the call is carried over the Internet 140 and mobile phone network 125. Indeed, various combinations of network types or single networks can be utilized as may be necessary to transport a given phone call.
- VoIP Voice over Internet Protocol
- a service provider 145 is also supported in the communications environment 100.
- the service provider 145 may be utilized in usage scenarios in which portions of the present call reminder application functionality are distributed to one or more external, remotely-located servers. Such usage scenarios are described in more detail below in the text accompanying FIGs. 13 and 14.
- FIG. 2 shows an illustrative architecture 200 of major functional components which are used to facilitate the present arrangement, including a call reminder application 205, that may be implemented on a network-enabled communication device such as a mobile phone 1151 , as described above.
- a call reminder application 205 that may be implemented on a network-enabled communication device such as a mobile phone 1151 , as described above.
- the architecture 200 shown in FIG. 2 is particularly adapted for the mobile phone 1151 , the principles it illustrates can be expected to have general applicability to other platforms such as, for example, a PC 210, as indicated by the dashed line 215.
- the call reminder application 205 executes on the mobile phone 115i along with a schedule application 220 and other applications as collectively indicated by reference number 225.
- the schedule application 220 may be embodied, for example, in commercially available software such as Microsoft Corporation's Outlook® messaging and collaboration client. However, other types of applications which support scheduling, calendar, and task management functionality either singly or in combination may also be used depending on the requirements of a given usage scenario. These may include, for example, Google
- Supporting the applications 205, 220, and 225 in the architecture 200 are an operating system 230 and a hardware layer 235.
- the operating system 230 is particularly adapted to operate on a resource-limited device.
- the hardware layer 235 provides an abstraction of the hardware implemented on the mobile phone 115i (such as computer- or machine-readable storage media, processor, etc.) to the operating system 230 and applications 205, 220, and 225 above it.
- a UI 240 is also provided by the architecture 200 to support user interactivity and facilitate an effective user experience, and will typically be embodied as a graphical user interface.
- Portable platforms such as mobile phones are commonly equipped with synchronization capability in order to provide a process for synchronizing data between, for example a Windows-based PC and the portable platform (which may be Windows CE- based, as described above).
- the synchronization process tracks the data changes on both devices, and then transfers the appropriate data so that each machine has the most-recent versions. Outdated or unwanted data is typically discarded.
- Such synchronization capability is often convenient given that a user will typically use one device at a time but wants to keep both devices up to date with data, files, contacts, tasks, reminders, schedules, and the like.
- a user may keep task lists and contact information (e.g., addresses, phone numbers, and the like of friends, colleagues, family, etc.) on both his or her mobile phone and PC and wants to make sure that changes made to a task list using the mobile phone are reflected on the PC.
- contact information e.g., addresses, phone numbers, and the like of friends, colleagues, family, etc.
- the mobile phone 115i is coupled to the user's PC 305 using a cable connection 310 employing a serial or USB (Universal Serial Bus) protocol.
- Connectivity may also be implemented using a wireless connection (e.g., wireless Ethernet) or infrared (e.g., IrDA - Infrared Data Association).
- a data synchronization application which has components that run on each device is utilized to synchronize phone data 315 with PC data 320, as shown.
- FIG. 4 shows several illustrative interfaces that are implemented among various functional components operating on the mobile phone 1151.
- the call reminder application 205 will typically register a listener 410 with the operating system 230 through an API 415 in order to monitor call activity on the mobile phone 1151.
- the call reminder application 205 will also typically interact with other applications executing on the mobile phone 1151 by APIs that are respectively exposed by the other applications. For example, as shown in FIG. 4, a representative API 420, which is exposed by schedule application 220, enables the call reminder application 205 to invoke various functions, pass parameters, and exchange data with the schedule application 220.
- FIG. 5 shows an illustrative set of functional components which comprise the call reminder application 205.
- the components include a user experience layer 505, business logic layer 510, and data layer 515. It is particularly pointed out that the functional components shown in FIG. 5 are merely illustrative and that other components may also be used in various combinations depending on the needs of a given embodiment or usage scenario and to provide the features and functionalities described herein.
- the functional components in the call reminder application 205 are generally configured to support a variety of features, functionalities, and interfaces including supporting a user experience, interacting with other applications, applying logic and rules to implement the desired behavior of the application, and handling data as respectively indicated by reference numbers 520, 525, 530, and 535.
- the functional components in this particular exemplary embodiment are implemented, at least in part, by computer-executable code which is written to one or more storage media that are disposed on the mobile phone 115i and which execute via one or more processors that are included in the phone's hardware.
- the arrangement shown is considered as a "thick client" as the code implemented by the functional components executes substantially in its entirety on the mobile phone 115i in order to provide the as-designed user experience and application behavior.
- the functional components are configured in a distributed computing arrangement and the code on the mobile phone 1 15i will be executed from a thin client. This alternative is shown in FIGs. 13 and 14 and described in the portion of this specification below that accompanies those drawings.
- the call reminder application 205 supports a user experience by accommodating user preferences 520i, providing call handling options when a call event occurs 520 2 , launching a reminder with the one-click callback feature at an appropriate time 520 3 , and providing other user experiences as may be required to meet a given usage scenario 520N.
- the user preferences and call handling options are described in more detail below in the descriptions of FIGs. 6 and 7.
- the call reminder application 205 may also interact with other applications which execute on the mobile phone 115 1 .
- the call reminder application 205 typically interacts with the schedule application 220 in order to create tasks and set reminders.
- interactions with other applications may also be utilized in a similar manner as described here.
- the call reminder application 205 will implement queries such as querying a contact list 5251 to identify a user's contact that is associated with a call event, querying a calendar functionality to find open timeslots in the user schedule 525 2 , creating tasks in the user's task list 525 3 , setting and updating reminders 525 4 , and supporting various other interactions 525N as may be needed to support the features described here.
- the call reminder application 205 will generally apply business logic and rules to implement the desired behavior of the application as indicated by reference number 530.
- Application of the business logic and rules will typically implement a variety of routines, processes, and workflows in response to the occurrence of a call event as monitored by the listener 410 to support the user experiences described above.
- call reminder application 205 Various data handling functions are also supported by the call reminder application 205 including receiving call events 5351 and associated information such as call metadata 535 2 .
- the call reminder application 205 will generally store call data, either on a temporary or persistent basis, as well as user preferences and usage histories 535 3 in some cases.
- Other data handling may also be performed as indicated by reference number 535 N , to meet the needs of a given usage scenario.
- FIG. 6 is an illustrative taxonomy 600 of user preferences and default call reminder application behaviors that may be utilized by the call reminder application.
- the user preferences and default application behaviors shown in the drawing are illustrative and the particular user preferences and behaviors utilized in any given usage scenario may vary from what is shown and described here.
- the user can often be expected to set preferences when first setting up the call reminder application 205 in order to establish how the application will behave by default (i.e., during subsequent instances of application launch).
- the call reminder application is typically configured to enable preferences to be changed at any time.
- the user can select the call events that will launch the call reminder application 205 upon their occurrence (as indicated by reference number 600i).
- Call events can include, for example, an incoming call to the mobile phone 1151 , an incoming call while the phone is in use (i.e., "call waiting"), a call that is rejected by the user, a missed call, a call in which the user turns the ringer off (e.g., by pressing a "silent" or mute button), and the like.
- a call that is answered by a user but is of short duration may also be considered a call event that will trigger a callback reminder.
- short can be an arbitrary value or be set by the user in some cases
- a call lasting 10 seconds or less may presumably be short enough to warrant additional conversation at a later time (i.e., the user may answer the call to say "I can't talk right now, but I'll call you back later").
- the user may optionally be given an option to set the minimum call duration which will trigger the launch of the call reminder application (600 2 ).
- the user can select the callback reminder to be set to a predefined time (6 ⁇ 3 ). If this option is chosen, then typically the user may be given an ability to set the predefined time (6 ⁇ 4 ) by picking from a number of set menu choices or setting a specific value. For example the user may set the callback reminder to be launched at some number of minutes, hours, days, etc., after the occurrence of a call event.
- the user may alternatively set the callback reminder to be set to a free slot in the user's schedule (6 ⁇ 5 ).
- the default application behavior may be that the callback reminder is inserted into the first available free slot in the user's schedule.
- a user may be given options to specify slot selection criteria (600 6 ). For example the callback reminder might be inserted into the first available slot that is after a certain time (i.e., the callback reminder will be launched only in the evening after normal work hours), or on certain days (e.g., on the weekend).
- slot selection criteria 600 6
- the user may typically be enabled to set the number of rings that occur with an incoming call before the call reminder application is launched (6 ⁇ 7 ). Setting a larger number of rings will mean that the user will have more time to deal with an incoming call in a conventional manner (i.e., answer the call, reject the call, etc.) before the application is launched and the user is given the option to generate a task and callback reminder.
- Other user preferences and default application behavior settings can also be exposed to the user (600N) as may be needed to meet the requirements of a given usage scenario.
- FIG. 7 is an illustrative taxonomy 700 of call handling options that may be utilized by the call reminder application upon the occurrence of a qualifying call event (where a call event is deemed "qualified" when it triggers the call reminder application either by default behavior or via selection by the user).
- the call handling options shown in the drawing are illustrative and the particular options utilized in any given usage scenario may vary from what is shown and described here.
- the user can be given options to set the callback reminder to launch at a predefined time interval after the call event (as indicated by reference number 700i), and specify the time interval (i.e., number of minutes/hours/days, etc.) (700 2 ).
- the user can specify that the callback reminder be inserted into a free slot in the user's schedule (700 3 ).
- the user may be enabled with an ability to browse his or her calendar from the schedule application (700 4 ) to locate an appropriate slot.
- a callback reminder or task can be prioritized over other reminders and tasks on the user's schedule, or be given lower priority so that returning phone calls is the last thing the user needs to deal with at the end of the day.
- the call reminder application 205 can be configured so that a user may add a callback task in his or her task list as a call handling option that is exposed upon the occurrence of a qualifying call event (700 6 ).
- the user may be afforded with an opportunity to add other information or notes to a callback task (700 7 ).
- the user may want to annotate a callback task with a note that indicates the topic of the call or with other pertinent information (e.g., "call Bill to talk about upcoming class reunion").
- Other call handling options can also be exposed to the user (700N) as may be needed to meet the requirements of a given usage scenario.
- FIG. 8 is a flowchart of an illustrative workflow 800 that may be utilized by the call reminder application 205.
- the workflow begins at block 805 where the listener 410 waits for the occurrence of a qualifying call event (a list of illustrative qualifying call events is indicated by reference number 810 in FIG. 8).
- the application 205 will fetch the relevant call data, such as identification of the caller and calling number, for display through the UI with the prompt "add callback task for this caller". If the user indicates "No", then workflow control is returned to block 805.
- call reminder application 205 queries the schedule application 220 to find an available time slot to set the callback reminder.
- the call reminder application 205 will schedule a callback reminder to occur in a predefined time.
- the call reminder application 205 creates a new task and sets a reminder, either or both of which can be added to the user's task list and schedule that are maintained by the schedule application 220. Workflow control is then returned back to block 805.
- FIGs. 9 - 12 show various illustrative screenshots of the UI that is supported by the call reminder application 205.
- FIG. 9 shows an exemplary screen shot 900 of the UI when an incoming call 905 is received at the mobile phone 1151.
- call data including the caller's phone number 910 and identity 915 are displayed.
- call handling is implemented in a typical manner by an application operating on the mobile phone 115i which compares the incoming call data to the user's contact list in order to fetch and display the caller's identity. In alternative implementations such call handling functionality could be handled by the present call reminder application 205.
- buttons 920 and 925 can be implemented using touch sensitive graphic icons, "soft" keys on the phone, or other various conventional controls.
- FIG. 10 shows an exemplary screenshot 1000 of the UI when a prompt 1005 is displayed upon launch of the call reminder application 205 that is triggered by the qualifying call event of the incoming call 905.
- the prompt 1005 asks the user if a callback task and associated reminder should be generated for this caller.
- the call reminder application can be launched upon the completion of a set number of rings associated with the incoming call 905.
- buttons 1010 and 1015 are also displayed to enable the user to implement the callback call handling to set a task and reminder (or not set the task and reminder) as desired.
- FIG. 11 shows an exemplary screenshot 1100 that shows call handling for a qualifying call event of a missed call 1105.
- the application that supports routine call handling tasks will typically display the number of the missed call 1110, the caller's identity 1115, and the date and time of the missed call 1120.
- the call reminder application 205 can fetch and display this call data on the UI. As shown, the call reminder application 205 will display a prompt 1125 which asks the caller if a callback task of an associated reminder should be generated for this caller. When the prompt 1125 is displayed on the UI, buttons 1130 and 1135 are also displayed to enable the user to implement the callback handling to set a task and reminder (or not set a task and reminder) as desired.
- FIG. 12 shows an exemplary screenshot 1200 that shows a callback reminder 1205 for the missed call 1105 shown in FIG. 11. As shown on the clock display 1210, this particular callback reminder was triggered later in the day (2 pm) that the call was missed. Accordingly, 2 pm may have been an open time slot that was selected automatically by the call reminder application 205 as described above, or manually selected by the user when working through various call handling options at the time the missed call event occurred.
- the callback reminder will include relevant call data that is fetched and displayed on the UI by the call reminder application 205.
- the call data includes the number of the caller 1215, the identity of the caller 1220, and the date and time of the last call 1225.
- a callback prompt 1230 that enables the user to place the callback (or not place the callback) with the click of the appropriate button 1235 or 1240.
- FIG. 13 shows the call reminder application 205 as illustratively arranged as a thin client 1300 on the mobile phone 115i.
- the functional components and associated code execution are distributed across multiple computing platforms, for example including the mobile phone 1 151 and one or more servers operated by the service provider 145 shown in FIG. 1.
- the service provider 145 will typically have access to relevant portions of the communications network 120 in FIG. 1 and be arranged to support the as-designed user experience and application behavior using a distributed or cloud- based computing paradigm.
- FIG. 14 shows an illustrative arrangement 1400 in which certain functionality of the call reminder application 205, when configured as a thin client on the mobile phone 1151 , is supported by the service provider 145 that is operatively coupled to the communications network 120.
- a call 1405 from a caller 110i to the user 105i is either forwarded or rerouted as a call 1410 to the service provider 145.
- the particular methodology used to implement the redirection of the call can vary by implementation and may also depend on the commercial relationship between the service provider 145 and the user's phone service carrier.
- the user 105i can instruct the carrier to forward calls to the service provider 145 while in others the service provider 145 can implement call rerouting on behalf of the user per agreement between the user 105i and the service provider 145.
- the service provider 145 will relay the call 1415 to the user 105i and then listen for call events 1420. Such monitoring can typically be performed using out-of-band ("OOB") signaling that is implemented, for example, through the mobile data network.
- OOB out-of-band
- the service provider 145 Upon the occurrence of a qualifying call event, the service provider 145 will send a notification 1425 to the user 105i including a prompt (e.g., prompt 1005 or 1125 in FIGs. 10 and 11) to generate a callback reminder and task.
- the user's interactions with the UI provided by the user experience layer 505 are captured as UI events (1430) and sent to the service provider 145 again typically using OOB signaling.
- the service provider 145 can establish the requisite link to the schedule application 220 and responsively initiate callback reminders and associated tasks (1435) which are then sent to the mobile phone 115i.
- the service provider 145 may optionally send call data 1440 (such as call event history, call logs, and the like) and callback reminders and tasks 1445 to the user's PC 1450 using an Internet connection, for example.
- call data 1440 such as call event history, call logs, and the like
- callback reminders and tasks 1445 may optionally be sent to the user's PC 1450 using an Internet connection, for example.
Abstract
A call reminder functionality is provided by an arrangement that is operable with a network-enabled communication device in which a reminder to return a phone call can be generated in an automated manner upon the occurrence of a call event. When the call event occurs, an option is displayed on a user interface ("UI") on the device to create a link between the call and the user's schedule application. If the user selects the option, a callback task is added to the user's task list maintained by the schedule application, and a reminder to make the callback is generated and then displayed on the UI at a future time. The reminder includes pertinent call information and also includes a button that enables the user to place the callback through the UI (i.e., a "one-click call back").
Description
AUTOMATED CALLBACK REMINDER
BACKGROUND
[0001] Modern communication networks have provided users with a vast array of features and functions that make staying connected with friends, families, colleagues, and others easy, convenient, and inexpensive. A wide variety of devices such as mobile phones, smart phones, personal computers ("PCs"), and other network-enabled devices is available which let users surf the Web to access sources of information and entertainment, send e-mails and instant messages, as well as communicate with calls to other users.
Moreover, as wireless infrastructure has broadened its reach, and as devices become feature-rich, smaller, and more portable, users can be reached virtually at any time and at any place.
[0002] While most users appreciate the benefits of such heightened connectivity and accessibility, the phone can ring at inconvenient times. For example, the user may be in a meeting, attending a show or sporting event, driving a car, or engaged in some other activity in which the user does not wish to be interrupted. But if the user chooses to not answer a call, it can often be difficult to remember to return the call. And when the user does remember to make the callback, it is not always convenient to access the relevant phone number to call. For example, the user may have to manually browse through an incoming call log to find the caller and phone number to call back.
[0003] This Background is provided to introduce a brief context for the Summary and Detailed Description that follow. This Background is not intended to be an aid in determining the scope of the claimed subject matter nor be viewed as limiting the claimed subject matter to implementations that solve any or all of the disadvantages or problems presented above.
SUMMARY
[0004] A call reminder functionality is provided by an arrangement that is operable with a network-enabled communication device such as a mobile phone in which a reminder to return a call can be generated in an automated manner upon the occurrence of a call event such as an incoming call, rejected call, call waiting, missed call, a short call (i.e., one that does not reach a set minimum duration), and the like. When such a call event occurs, an option is displayed on a user interface ("UI") on the device to create a link between the call and the user's schedule that may be maintained, for example, by a schedule application.
[0005] If the user selects the option, a callback task can be added to the user's task list (i.e., "to do" list) supported by the schedule application, and a reminder to make the callback is set and displayed on the UI at a future time. For example, the reminder can be provided at some predefined time interval such as 30 minutes later, the next day, etc., or at a free time slot in the user's schedule. The reminder includes pertinent call information (for example, the name of calling party, phone number, date/time of the last incoming call) and includes a button or similar control element that enables the user to place the callback through the UI (i.e., a "one-click callback").
[0006] In various illustrative embodiments, the call reminder functionality is provided by an application that can run as a thick client on the communication device, or alternatively as a thin client that splits storage of the application code and execution between the device and a server that operates remotely from the device, for example, through implementation as a service on the network "cloud." The call reminder application will expose a UI that enables the user to set preferences (for example to set which types of call events will trigger the call reminder application, set the number of rings before the application is launched, specify the predefined time interval, and the like) and other default application behavior. The UI can also enable the user to work through various call handling options when the application is triggered upon the occurrence of a qualifying call event.
[0007] The call reminder application typically operates in the background using a listener that monitors call events. When a qualifying call event occurs, the application is triggered and will fetch and store call information such as metadata (e.g., phone number of caller, date/time of call) and matching contact information (e.g., caller's name/nickname, phone number association - work, mobile, home, etc.). A notification on the UI is displayed to give the user the option to add a callback task for that caller. If the user selects the option, the call reminder application will call various functions at an API (application programming interface) exposed by the schedule application and pass the appropriate parameters to create a callback task and set a reminder.
[0008] In some embodiments, the call reminder application can query the schedule application to automatically find an open slot in the user's schedule (or a slot meeting other user-specified criteria) in which the callback reminder can be inserted. Alternatively, the user can be given an option to manually browse the calendar to find a time slot of the user's choosing. In other embodiments, the reminder will be set at some predefined time that can be set by default or through user interaction with the UI at the time of the
notification. When the set time for the callback reminder is reached, the application will display the reminder through the UI on the device and typically display the fetched call information as well. The call reminder application will also display a button or other control element to implement the one-click callback feature when activated.
[0009] The call reminder application provides a rich feature set to the user that provides a convenient and helpful alternative to handle incoming, rejected, and missed calls. The user can stay organized and keep current with voice communications with a few clicks without having to manually look through call records to find needed information. In addition, the ability of the call reminder application to automatically interface with others of the user's applications running on the communications device advantageously ensures that the user experience is seamless and the generated tasks and reminders are consistent with the user's schedule.
[0010] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter. DESCRIPTION OF THE DRAWINGS
[0011] FIG. 1 shows an illustrative communications environment in which device users and callers may communicate using network-enabled devices such as mobile phones, PCs, and landline phones;
[0012] FIG. 2 shows an illustrative architecture, including a call reminder application, that may be implemented on a network-enabled communication device such as a mobile phone;
[0013] FIG. 3 shows an illustrative arrangement in which a mobile phone may be coupled with a PC to support synchronization of data between the devices so that both have the most-recent data versions;
[0014] FIG. 4 shows illustrative interfaces that are utilized among various functional components operating on a network-enabled device;
[0015] FIG. 5 shows an illustrative set of functional components in the call reminder application and various illustrative features, functionalities, and interfaces supported by the call reminder application;
[0016] FIG. 6 is an illustrative taxonomy of user preferences and default application behaviors that may be utilized by the call reminder application;
[0017] FIG. 7 is an illustrative taxonomy of call handling options that may be utilized by the call reminder application;
[0018] FIG. 8 is a flowchart of an illustrative workflow that may be utilized by the call reminder application;
[0019] FIGs. 9 - 12 show various illustrative screenshots of the user interface that is supported by the call reminder application;
[0020] FIG. 13 shows the call reminder application as illustratively arranged as a thin client on a network-enabled device such as a mobile phone; and
[0021] FIG. 14 shows an illustrative arrangement in which certain functionality of the call reminder application is supported by a service provider that is operatively coupled to the communications network.
DETAILED DESCRIPTION
[0022] In the drawings, in which like reference numbers indicate the same element, FIG. 1 shows an illustrative communications environment 100 in which users 105i ... N and callers 1101; 2 ... N may communicate using respective network-enabled devices 1151; 2 ... N that are each operatively coupled to a communications network 120. The devices 115 may include any of a variety of devices and platforms which support voice communications such as mobile phones, smart phones, PCs, landline telephones, or other mobile or fixed devices that are adapted for voice telephony over a network. In this particular exemplary embodiment, the term "user" refers to a user of the present call reminder application who receives a phone call from a person making the call termed the "caller."
[0023] In one embodiment, the present call reminder application is arranged to execute on a mobile device such as a mobile phone, telephony-capable personal digital assistant, smartphone, or other portable device that is capable of making or receiving calls
(collectively referred to hereafter as a "mobile phone") that is configured as a Microsoft Windows® CE-based device. However, the principles of the present arrangement may also be adapted for use with other devices using other operating systems. For example, such operating systems may include Symbian, iPhone/Mac, Palm, Blackberry, Android, and other Linux- or Unix-based operating systems. It is further noted that the term "call" as used herein is intended to refer to any of a variety of call types including voice calls, video calls, multimedia calls, conference calls (i.e., voice/video/multimedia calls among multiple parties), messaging, and other forms of communication that are typically conducted in real time or near real time.
[0024] The communications network 120 that is used to facilitate communication among the users 105 and callers 110 may include portions of one or more network types as shown in FIG. 1, including a mobile phone network 125, mobile data network 130, public switched telephone network 135, and Internet 140. Therefore, for example, a given caller 110 may call a given user 105 using a conventional telephone where the call is carried over portions of both the public switched telephone network 135 and mobile phone network 125. Alternatively, another caller 110 may call the user 105 using a PC equipped with VoIP (Voice over Internet Protocol) capability where the call is carried over the Internet 140 and mobile phone network 125. Indeed, various combinations of network types or single networks can be utilized as may be necessary to transport a given phone call.
[0025] A service provider 145 is also supported in the communications environment 100. The service provider 145 may be utilized in usage scenarios in which portions of the present call reminder application functionality are distributed to one or more external, remotely-located servers. Such usage scenarios are described in more detail below in the text accompanying FIGs. 13 and 14.
[0026] FIG. 2 shows an illustrative architecture 200 of major functional components which are used to facilitate the present arrangement, including a call reminder application 205, that may be implemented on a network-enabled communication device such as a mobile phone 1151 , as described above. Although the architecture 200 shown in FIG. 2 is particularly adapted for the mobile phone 1151 , the principles it illustrates can be expected to have general applicability to other platforms such as, for example, a PC 210, as indicated by the dashed line 215. In this exemplary embodiment, the call reminder application 205 executes on the mobile phone 115i along with a schedule application 220 and other applications as collectively indicated by reference number 225. The schedule application 220 may be embodied, for example, in commercially available software such as Microsoft Corporation's Outlook® messaging and collaboration client. However, other types of applications which support scheduling, calendar, and task management functionality either singly or in combination may also be used depending on the requirements of a given usage scenario. These may include, for example, Google
Calendar, Apple Mac iCal, Mozilla Sunbird and Thunderbird/Lightning, Blackberry Calendar, Palm Month Planner, and the like. The applications can be web-based in some cases.
[0027] Supporting the applications 205, 220, and 225 in the architecture 200 are an operating system 230 and a hardware layer 235. In this exemplary embodiment, the operating system 230 is particularly adapted to operate on a resource-limited device. The hardware layer 235 provides an abstraction of the hardware implemented on the mobile phone 115i (such as computer- or machine-readable storage media, processor, etc.) to the operating system 230 and applications 205, 220, and 225 above it. A UI 240 is also provided by the architecture 200 to support user interactivity and facilitate an effective user experience, and will typically be embodied as a graphical user interface.
[0028] Portable platforms such as mobile phones are commonly equipped with synchronization capability in order to provide a process for synchronizing data between, for example a Windows-based PC and the portable platform (which may be Windows CE- based, as described above). Using timestamps and user preferences, the synchronization process tracks the data changes on both devices, and then transfers the appropriate data so that each machine has the most-recent versions. Outdated or unwanted data is typically discarded. Such synchronization capability is often convenient given that a user will typically use one device at a time but wants to keep both devices up to date with data, files, contacts, tasks, reminders, schedules, and the like. For example, a user may keep task lists and contact information (e.g., addresses, phone numbers, and the like of friends, colleagues, family, etc.) on both his or her mobile phone and PC and wants to make sure that changes made to a task list using the mobile phone are reflected on the PC.
[0029] As shown in FIG. 3, the mobile phone 115i is coupled to the user's PC 305 using a cable connection 310 employing a serial or USB (Universal Serial Bus) protocol. Connectivity may also be implemented using a wireless connection (e.g., wireless Ethernet) or infrared (e.g., IrDA - Infrared Data Association). Typically, a data synchronization application which has components that run on each device is utilized to synchronize phone data 315 with PC data 320, as shown.
[0030] FIG. 4 shows several illustrative interfaces that are implemented among various functional components operating on the mobile phone 1151. The call reminder application 205 will typically register a listener 410 with the operating system 230 through an API 415 in order to monitor call activity on the mobile phone 1151. The call reminder application 205 will also typically interact with other applications executing on the mobile phone 1151 by APIs that are respectively exposed by the other applications. For example, as shown in FIG. 4, a representative API 420, which is exposed by schedule application
220, enables the call reminder application 205 to invoke various functions, pass parameters, and exchange data with the schedule application 220.
[0031] FIG. 5 shows an illustrative set of functional components which comprise the call reminder application 205. The components include a user experience layer 505, business logic layer 510, and data layer 515. It is particularly pointed out that the functional components shown in FIG. 5 are merely illustrative and that other components may also be used in various combinations depending on the needs of a given embodiment or usage scenario and to provide the features and functionalities described herein. The functional components in the call reminder application 205 are generally configured to support a variety of features, functionalities, and interfaces including supporting a user experience, interacting with other applications, applying logic and rules to implement the desired behavior of the application, and handling data as respectively indicated by reference numbers 520, 525, 530, and 535.
[0032] As shown in FIG. 5, the functional components in this particular exemplary embodiment are implemented, at least in part, by computer-executable code which is written to one or more storage media that are disposed on the mobile phone 115i and which execute via one or more processors that are included in the phone's hardware. In this regard, accordingly, the arrangement shown is considered as a "thick client" as the code implemented by the functional components executes substantially in its entirety on the mobile phone 115i in order to provide the as-designed user experience and application behavior. In alternative implementations, the functional components are configured in a distributed computing arrangement and the code on the mobile phone 1 15i will be executed from a thin client. This alternative is shown in FIGs. 13 and 14 and described in the portion of this specification below that accompanies those drawings.
[0033] As shown, the call reminder application 205 supports a user experience by accommodating user preferences 520i, providing call handling options when a call event occurs 5202, launching a reminder with the one-click callback feature at an appropriate time 5203, and providing other user experiences as may be required to meet a given usage scenario 520N. The user preferences and call handling options are described in more detail below in the descriptions of FIGs. 6 and 7.
[0034] The call reminder application 205 may also interact with other applications which execute on the mobile phone 1151. In this particular exemplary embodiment, the call reminder application 205 typically interacts with the schedule application 220 in order to create tasks and set reminders. However, interactions with other applications may also
be utilized in a similar manner as described here. In many usage scenarios, the call reminder application 205 will implement queries such as querying a contact list 5251 to identify a user's contact that is associated with a call event, querying a calendar functionality to find open timeslots in the user schedule 5252, creating tasks in the user's task list 5253, setting and updating reminders 5254, and supporting various other interactions 525N as may be needed to support the features described here.
[0035] The call reminder application 205 will generally apply business logic and rules to implement the desired behavior of the application as indicated by reference number 530. Application of the business logic and rules will typically implement a variety of routines, processes, and workflows in response to the occurrence of a call event as monitored by the listener 410 to support the user experiences described above.
[0036] Various data handling functions are also supported by the call reminder application 205 including receiving call events 5351 and associated information such as call metadata 5352. The call reminder application 205 will generally store call data, either on a temporary or persistent basis, as well as user preferences and usage histories 5353 in some cases. Other data handling may also be performed as indicated by reference number 535N, to meet the needs of a given usage scenario.
[0037] FIG. 6 is an illustrative taxonomy 600 of user preferences and default call reminder application behaviors that may be utilized by the call reminder application. The user preferences and default application behaviors shown in the drawing are illustrative and the particular user preferences and behaviors utilized in any given usage scenario may vary from what is shown and described here.
[0038] The user can often be expected to set preferences when first setting up the call reminder application 205 in order to establish how the application will behave by default (i.e., during subsequent instances of application launch). However, the call reminder application is typically configured to enable preferences to be changed at any time. As shown in FIG. 6, the user can select the call events that will launch the call reminder application 205 upon their occurrence (as indicated by reference number 600i). Call events can include, for example, an incoming call to the mobile phone 1151 , an incoming call while the phone is in use (i.e., "call waiting"), a call that is rejected by the user, a missed call, a call in which the user turns the ringer off (e.g., by pressing a "silent" or mute button), and the like.
[0039] In addition, in some implementations a call that is answered by a user but is of short duration (where "short" can be an arbitrary value or be set by the user in some cases)
may also be considered a call event that will trigger a callback reminder. For example, a call lasting 10 seconds or less may presumably be short enough to warrant additional conversation at a later time (i.e., the user may answer the call to say "I can't talk right now, but I'll call you back later"). In such implementations, the user may optionally be given an option to set the minimum call duration which will trigger the launch of the call reminder application (6002).
[0040] The user can select the callback reminder to be set to a predefined time (6ΟΟ3). If this option is chosen, then typically the user may be given an ability to set the predefined time (6ΟΟ4) by picking from a number of set menu choices or setting a specific value. For example the user may set the callback reminder to be launched at some number of minutes, hours, days, etc., after the occurrence of a call event.
[0041] The user may alternatively set the callback reminder to be set to a free slot in the user's schedule (6ΟΟ5). In some instances, the default application behavior may be that the callback reminder is inserted into the first available free slot in the user's schedule. In other cases, a user may be given options to specify slot selection criteria (6006). For example the callback reminder might be inserted into the first available slot that is after a certain time (i.e., the callback reminder will be launched only in the evening after normal work hours), or on certain days (e.g., on the weekend). In some implementations, it may be desirable to enable the user to assign priorities to the generated tasks and/or callback reminders and the slot selection can be based on prioritization.
[0042] The user may typically be enabled to set the number of rings that occur with an incoming call before the call reminder application is launched (6ΟΟ7). Setting a larger number of rings will mean that the user will have more time to deal with an incoming call in a conventional manner (i.e., answer the call, reject the call, etc.) before the application is launched and the user is given the option to generate a task and callback reminder. Other user preferences and default application behavior settings can also be exposed to the user (600N) as may be needed to meet the requirements of a given usage scenario.
[0043] FIG. 7 is an illustrative taxonomy 700 of call handling options that may be utilized by the call reminder application upon the occurrence of a qualifying call event (where a call event is deemed "qualified" when it triggers the call reminder application either by default behavior or via selection by the user). The call handling options shown in the drawing are illustrative and the particular options utilized in any given usage scenario may vary from what is shown and described here. In some implementations, it may be desirable to enable the user to set a time for the callback reminder to be launched as a
given call event is being handled rather than relying on a default time or one which is selected via a user preference in advance of the event.
[0044] Accordingly, the user can be given options to set the callback reminder to launch at a predefined time interval after the call event (as indicated by reference number 700i), and specify the time interval (i.e., number of minutes/hours/days, etc.) (7002).
Alternatively, the user can specify that the callback reminder be inserted into a free slot in the user's schedule (7003). In this case, the user may be enabled with an ability to browse his or her calendar from the schedule application (7004) to locate an appropriate slot.
[0045] In some implementations it may be desirable to expose options to the user upon the occurrence of a qualifying call event to set a priority to a task or callback reminder or attach some other attribute (7005). For example, a callback reminder or task can be prioritized over other reminders and tasks on the user's schedule, or be given lower priority so that returning phone calls is the last thing the user needs to deal with at the end of the day.
[0046] In a similar manner as with the callback reminder, the call reminder application 205 can be configured so that a user may add a callback task in his or her task list as a call handling option that is exposed upon the occurrence of a qualifying call event (7006). In addition, the user may be afforded with an opportunity to add other information or notes to a callback task (7007). For example, the user may want to annotate a callback task with a note that indicates the topic of the call or with other pertinent information (e.g., "call Bill to talk about upcoming class reunion"). Other call handling options can also be exposed to the user (700N) as may be needed to meet the requirements of a given usage scenario.
[0047] FIG. 8 is a flowchart of an illustrative workflow 800 that may be utilized by the call reminder application 205. The workflow begins at block 805 where the listener 410 waits for the occurrence of a qualifying call event (a list of illustrative qualifying call events is indicated by reference number 810 in FIG. 8). At decision block 815, when such a call event occurs, the application 205 will fetch the relevant call data, such as identification of the caller and calling number, for display through the UI with the prompt "add callback task for this caller". If the user indicates "No", then workflow control is returned to block 805. If the user indicates "Yes", then at decision block 820, if a callback task for the caller already exists, then call data (such as date and time of the last call) will be added to the existing task and the existing reminder will be updated at block 825 and workflow control returns to block 805.
[0048] If a callback task does not already exist, then control passes to block 830 or block 840 (where as indicated by the dashed lines, typically one or the other of the processes will be implemented, but not both). At block 830, the call reminder application 205 queries the schedule application 220 to find an available time slot to set the callback reminder. At block 835, the call reminder application 205 will schedule a callback reminder to occur in a predefined time. At block 840, the call reminder application 205 creates a new task and sets a reminder, either or both of which can be added to the user's task list and schedule that are maintained by the schedule application 220. Workflow control is then returned back to block 805.
[0049] FIGs. 9 - 12 show various illustrative screenshots of the UI that is supported by the call reminder application 205. FIG. 9 shows an exemplary screen shot 900 of the UI when an incoming call 905 is received at the mobile phone 1151. In this example, call data including the caller's phone number 910 and identity 915 are displayed. In this example, call handling is implemented in a typical manner by an application operating on the mobile phone 115i which compares the incoming call data to the user's contact list in order to fetch and display the caller's identity. In alternative implementations such call handling functionality could be handled by the present call reminder application 205.
[0050] The user is provided with the typical call handling options to either answer an incoming call or reject it by interfacing with the respective "Answer" or "Reject" buttons 920 and 925 which are displayed on the UI. Depending on the hardware configuration of the mobile phone 1151 , buttons 920 and 925 can be implemented using touch sensitive graphic icons, "soft" keys on the phone, or other various conventional controls.
[0051] In accordance with the principles of the present arrangement, FIG. 10 shows an exemplary screenshot 1000 of the UI when a prompt 1005 is displayed upon launch of the call reminder application 205 that is triggered by the qualifying call event of the incoming call 905. The prompt 1005 asks the user if a callback task and associated reminder should be generated for this caller. As described above, in one embodiment the call reminder application can be launched upon the completion of a set number of rings associated with the incoming call 905. When the prompt 1005 is displayed, buttons 1010 and 1015 are also displayed to enable the user to implement the callback call handling to set a task and reminder (or not set the task and reminder) as desired.
[0052] FIG. 11 shows an exemplary screenshot 1100 that shows call handling for a qualifying call event of a missed call 1105. When such an event occurs, the application that supports routine call handling tasks will typically display the number of the missed
call 1110, the caller's identity 1115, and the date and time of the missed call 1120.
Alternatively, the call reminder application 205 can fetch and display this call data on the UI. As shown, the call reminder application 205 will display a prompt 1125 which asks the caller if a callback task of an associated reminder should be generated for this caller. When the prompt 1125 is displayed on the UI, buttons 1130 and 1135 are also displayed to enable the user to implement the callback handling to set a task and reminder (or not set a task and reminder) as desired.
[0053] FIG. 12 shows an exemplary screenshot 1200 that shows a callback reminder 1205 for the missed call 1105 shown in FIG. 11. As shown on the clock display 1210, this particular callback reminder was triggered later in the day (2 pm) that the call was missed. Accordingly, 2 pm may have been an open time slot that was selected automatically by the call reminder application 205 as described above, or manually selected by the user when working through various call handling options at the time the missed call event occurred.
[0054] The callback reminder will include relevant call data that is fetched and displayed on the UI by the call reminder application 205. In this exemplary embodiment, the call data includes the number of the caller 1215, the identity of the caller 1220, and the date and time of the last call 1225. Also included in the callback reminder is a callback prompt 1230 that enables the user to place the callback (or not place the callback) with the click of the appropriate button 1235 or 1240.
[0055] FIG. 13 shows the call reminder application 205 as illustratively arranged as a thin client 1300 on the mobile phone 115i. In this case, the functional components and associated code execution are distributed across multiple computing platforms, for example including the mobile phone 1 151 and one or more servers operated by the service provider 145 shown in FIG. 1. The service provider 145 will typically have access to relevant portions of the communications network 120 in FIG. 1 and be arranged to support the as-designed user experience and application behavior using a distributed or cloud- based computing paradigm.
[0056] It is noted that various implementation details will be evident in the functional components when utilized in a distributed computing environment, and as a result, may vary to some degree from their counterparts used in the thin client application described above. As shown, typically only the user experience layer 505 will be resident and associated code will execute locally on the mobile phone 115i. The business logic layer 510 and data layer 515 will be resident on the service provider servers and the associated code will execute in the cloud.
[0057] FIG. 14 shows an illustrative arrangement 1400 in which certain functionality of the call reminder application 205, when configured as a thin client on the mobile phone 1151 , is supported by the service provider 145 that is operatively coupled to the communications network 120. In this arrangement, a call 1405 from a caller 110i to the user 105i is either forwarded or rerouted as a call 1410 to the service provider 145. The particular methodology used to implement the redirection of the call can vary by implementation and may also depend on the commercial relationship between the service provider 145 and the user's phone service carrier. In some cases, the user 105i can instruct the carrier to forward calls to the service provider 145 while in others the service provider 145 can implement call rerouting on behalf of the user per agreement between the user 105i and the service provider 145.
[0058] The service provider 145 will relay the call 1415 to the user 105i and then listen for call events 1420. Such monitoring can typically be performed using out-of-band ("OOB") signaling that is implemented, for example, through the mobile data network. Upon the occurrence of a qualifying call event, the service provider 145 will send a notification 1425 to the user 105i including a prompt (e.g., prompt 1005 or 1125 in FIGs. 10 and 11) to generate a callback reminder and task. The user's interactions with the UI provided by the user experience layer 505 are captured as UI events (1430) and sent to the service provider 145 again typically using OOB signaling. When appropriate, the service provider 145 can establish the requisite link to the schedule application 220 and responsively initiate callback reminders and associated tasks (1435) which are then sent to the mobile phone 115i.
[0059] The service provider 145 may optionally send call data 1440 (such as call event history, call logs, and the like) and callback reminders and tasks 1445 to the user's PC 1450 using an Internet connection, for example. Such optional functionality
advantageously ensures that reminders and tasks are replicated across a number of platforms that are used by the user 105i without requiring an affirmative act of
synchronization as described above in the text accompanying FIG. 3.
[0060] It is noted that, for the sake of clarity and ease of illustration in the description above, data, applications, and other executable application components such as operating systems are shown as discrete blocks, boxes, or other elements, although it is recognized and emphasized that such applications and components may reside at various times in different storage, memory, or processing components of any hardware host used and are executed by one or more processors in such host hardware.
[0061] Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.
Claims
1. One or more computer-readable storage media containing instructions which, when executed by one or more processors disposed in an electronic device that is operatively coupled to a communications network, perform a method for setting a callback reminder, the method comprising the steps of:
monitoring for call events associated with a call received at a device from a caller, the call being carried by the communications network;
fetching call data associated with the call in response to detecting a call event, the call data including at least a callback number for the caller;
launching a prompt, the prompt providing a selectable option to a user of the device for generating a callback reminder; and
linking to a schedule for the user that is maintained by an application that runs on the device, the linking including locating a free time slot in the linked schedule for the callback reminder.
2. The one or more computer-readable storage media of claim 1 in which the method includes a further step of generating the callback reminder in response to user selection of the option.
3. The one or more computer-readable storage media of claim 1 in which the method includes a further step of launching the callback reminder in response to the linking step, the callback reminder being displayed on a UI (user interface) supported by the device and including the call data and a user-selectable control that initiates a call back to the caller's callback number upon actuation.
4. The one or more computer-readable storage media of claim 3 in which the actuation comprises a single click on the UI.
5. The one or more computer-readable storage media of claim 4 in which the method further comprises the steps of accessing a task list that is maintained by an application that runs on the device and adding a callback task to the linked task list.
6. The one or more computer-readable storage media of claim 5 in which the schedule and task list are maintained by a single application that runs on the device.
7. The one or more computer-readable storage media of claim 1 in which the call events include one of incoming call, rejected call, call waiting, missed call, or call that does not exceed a duration threshold, the duration threshold either being set to an arbitrary value or being user-settable.
8. The one or more computer-readable storage media of claim 1 in which the call data further includes one of caller identity, date the call was received, or time the call was received.
9. The one or more computer-readable storage media of claim 1 including a further step of exposing a UI to the user, the UI including one or more control elements arranged for one of selecting preferences associated with a callback reminder or configuring an application of the method as it operates on the device.
10. A mobile phone, comprising:
one or more processors for executing machine-executable instructions; and one or more machine-readable storage media for storing the machine- executable instructions, the instructions when executed by the one more processors implementing,
a) a call event listener arranged for listening for the occurrence of call events associated with a call received at the mobile phone from a caller,
b) a data handler for fetching call data associated with the received call in response to detecting a call event, the call data including at least a callback number for the caller,
c) processing logic for generating a callback reminder and for linking the generated callback reminder to one of a schedule or a task list that is stored on the mobile phone when a call event occurs, and
d) a UI (user interface) arranged for displaying the callback reminder to a user of the mobile phone on a display device and for providing a control device that, when actuated by the user, initiates a return call from the mobile phone to the callback number.
11. The mobile phone of claim 10 in which the callback reminder includes the fetched call data.
12. The mobile phone of claim 10 in which the link is established through an API (application programming interface).
13. The mobile phone of claim 10 in which the listener is registered with an operating system that executes on the phone.
14. The mobile phone of claim 10 in which the UI is further arranged to expose controls to the user to select qualifying call events, the occurrence of which triggers a prompt displayed on the display device for adding a callback task or callback reminder.
15. The mobile phone of claim 10 in which the UI is further arranged to expose controls to the user to specify preferences that are taken into account by the processing logic.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201180006414XA CN102741813A (en) | 2010-01-19 | 2011-01-06 | Automated callback reminder |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/689,260 US8855289B2 (en) | 2010-01-19 | 2010-01-19 | Automated callback reminder |
US12/689,260 | 2010-01-19 |
Publications (2)
Publication Number | Publication Date |
---|---|
WO2011090822A2 true WO2011090822A2 (en) | 2011-07-28 |
WO2011090822A3 WO2011090822A3 (en) | 2011-11-24 |
Family
ID=44277598
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2011/020288 WO2011090822A2 (en) | 2010-01-19 | 2011-01-06 | Automated callback reminder |
Country Status (3)
Country | Link |
---|---|
US (4) | US8855289B2 (en) |
CN (2) | CN107071173B (en) |
WO (1) | WO2011090822A2 (en) |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11546472B2 (en) * | 2009-01-28 | 2023-01-03 | Virtual Hold Technology Solutions, Llc | System and method for a cloud callback platform |
US11665282B2 (en) * | 2009-01-28 | 2023-05-30 | Virtual Hold Technology Solutions, Llc | System and method for secure transitory data storage and management |
US11863706B2 (en) * | 2009-01-28 | 2024-01-02 | Virtual Hold Technology Solutions, Llc | System and method for a cloud callback platform with predictive multi-channel routing |
US8311203B2 (en) * | 2009-03-24 | 2012-11-13 | T-Mobile Usa, Inc. | User-initiated return communication |
US8340631B2 (en) * | 2009-03-24 | 2012-12-25 | T-Mobile Usa, Inc. | Deferred communication and relationship management |
US20100246791A1 (en) * | 2009-03-24 | 2010-09-30 | T-Mobile Usa, Inc. | Calendar-based return communication |
US8855289B2 (en) * | 2010-01-19 | 2014-10-07 | Microsoft Corporation | Automated callback reminder |
US8543144B2 (en) | 2010-02-17 | 2013-09-24 | Microsoft Corporation | Automated caller identifier from contact lists of a user's contacts |
US8812065B2 (en) | 2010-06-07 | 2014-08-19 | Ford Global Technologies, Llc | System and method for monitoring the location of a communication device in a vehicle based on signal strength |
US10163074B2 (en) | 2010-07-07 | 2018-12-25 | Ford Global Technologies, Llc | Vehicle-based methods and systems for managing personal information and events |
CN101969469B (en) * | 2010-10-25 | 2013-11-06 | 华为技术有限公司 | Callback processing method and device in telecom capability opening |
US8738574B2 (en) | 2010-12-20 | 2014-05-27 | Ford Global Technologies, Llc | Automatic wireless device data maintenance |
US8335494B2 (en) * | 2010-12-30 | 2012-12-18 | Ford Global Technologies, Llc | Provisioning of callback reminders on a vehicle-based computing system |
US8406938B2 (en) | 2011-05-19 | 2013-03-26 | Ford Global Technologies, Llc | Remote operator assistance for one or more user commands in a vehicle |
US9612797B2 (en) | 2011-08-25 | 2017-04-04 | Ford Global Technologies, Llc | Method and apparatus for a near field communication system to exchange occupant information |
US8953770B2 (en) * | 2012-02-06 | 2015-02-10 | Cisco Technology, Inc. | Returning missed phone calls |
US9124712B2 (en) * | 2012-06-05 | 2015-09-01 | Apple Inc. | Options presented on a device other than accept and decline for an incoming call |
US9674354B2 (en) * | 2012-10-03 | 2017-06-06 | ISelect Ltd. | Systems and methods for use in marketing |
WO2014066003A1 (en) * | 2012-10-24 | 2014-05-01 | Virtual Hold Technology, Llc | System and method for providing a callback cloud |
US9319485B2 (en) | 2012-11-02 | 2016-04-19 | Huawei Technologies Co., Ltd. | Method for triggering cloud service, cloud server, and thin client |
CN103795764B (en) * | 2012-11-02 | 2017-09-05 | 华为技术有限公司 | A kind of method, Cloud Server and the thin client of the triggering of cloud business |
CN103905605A (en) * | 2012-12-24 | 2014-07-02 | 联想(北京)有限公司 | Calling-back method, calling-back device and communication terminal |
US8682529B1 (en) | 2013-01-07 | 2014-03-25 | Ford Global Technologies, Llc | Methods and apparatus for dynamic embedded object handling |
US9789788B2 (en) | 2013-01-18 | 2017-10-17 | Ford Global Technologies, Llc | Method and apparatus for primary driver verification |
US20160085385A1 (en) * | 2013-05-08 | 2016-03-24 | Nokia Technologies Oy | An apparatus and associated methods |
KR102204141B1 (en) * | 2013-07-12 | 2021-01-18 | 삼성전자주식회사 | Electro device for reminding task and method for controlling thereof |
US9363650B2 (en) | 2013-08-09 | 2016-06-07 | MAITRI Holdings | Communication time reminders based on text messages |
EP3053360A4 (en) * | 2013-09-30 | 2017-07-05 | Hewlett-Packard Enterprise Development LP | Call handling and scheduling based on a set of rules |
US9361090B2 (en) | 2014-01-24 | 2016-06-07 | Ford Global Technologies, Llc | Apparatus and method of software implementation between a vehicle and mobile device |
KR20150122561A (en) | 2014-04-23 | 2015-11-02 | 삼성전자주식회사 | Devices and Methods of processing an incoming call in the devices |
CN104243699A (en) * | 2014-09-04 | 2014-12-24 | 宇龙计算机通信科技(深圳)有限公司 | Reminding method and system used after incoming call answering refusing and mobile terminal |
US10958778B1 (en) * | 2014-09-17 | 2021-03-23 | Peggy S. Miller | Contact system for a computing platform |
US9319521B1 (en) * | 2014-12-12 | 2016-04-19 | Elwha Llc | Systems and methods for prioritizing multiple callers |
US20160286045A1 (en) * | 2015-03-23 | 2016-09-29 | Vonage Network Llc | System and method for providing an informative message when rejecting an incoming call |
WO2016168522A1 (en) * | 2015-04-15 | 2016-10-20 | Cyanogen Inc. | System and method for triggering an alert for reminding a user to commence a live communications session |
CN104994552A (en) * | 2015-05-19 | 2015-10-21 | 广东欧珀移动通信有限公司 | Conversation calling method and system of intelligent terminal |
CN105306751A (en) * | 2015-10-12 | 2016-02-03 | 小米科技有限责任公司 | Reply prompting method and device |
US20170164167A1 (en) * | 2015-12-07 | 2017-06-08 | Le Holdings (Beijing) Co., Ltd. | Call notification method and electronic device |
CN105898017A (en) * | 2015-12-07 | 2016-08-24 | 乐视移动智能信息技术(北京)有限公司 | Incoming call reminding method and system |
CN105407470A (en) * | 2015-12-18 | 2016-03-16 | 惠州Tcl移动通信有限公司 | Scheduling-based method for replying to call and communication terminal |
TR201517466A2 (en) | 2015-12-30 | 2017-07-21 | Turkcell Teknoloji Arastirma Ve Gelistirme Anonim Sirketi | A SYSTEM THAT MAKES CALL RECOMMENDATION WITH CALL HISTORY ANALYSIS |
KR102558164B1 (en) * | 2016-08-30 | 2023-07-21 | 삼성전자 주식회사 | Method for providing notification service related to the call back and an electronic device |
CN106412273A (en) * | 2016-09-23 | 2017-02-15 | 珠海格力电器股份有限公司 | Quarter-bell reminding method and apparatus |
CN106534458A (en) * | 2016-11-14 | 2017-03-22 | 北京珠穆朗玛移动通信有限公司 | Outgoing call reminding method and mobile terminal |
EP3327989B1 (en) * | 2016-11-25 | 2021-01-27 | Deutsche Telekom AG | Method for producing a subsequent voice link of a user of a call centre facility with the call centre facility after a voice link has been made with the call centre facility and terminated, call centre facility, computer program and computer program product |
US9794387B1 (en) | 2016-12-13 | 2017-10-17 | Sorenson Ip Holdings, Llc | Automatically establishing a communication session associated with an event |
CN108702411B (en) * | 2017-03-21 | 2021-12-14 | 华为技术有限公司 | Method, terminal and computer readable storage medium for controlling call |
CN107332963B (en) * | 2017-06-26 | 2019-12-24 | 维沃移动通信有限公司 | Number setting method and terminal |
CN107613092A (en) * | 2017-08-08 | 2018-01-19 | 珠海市魅族科技有限公司 | Information displaying method, device, computer installation and computer-readable recording medium |
EP3448004A1 (en) * | 2017-08-21 | 2019-02-27 | Unify Patente GmbH & Co. KG | Computer-implemented method of forwarding calls, predictive dialer system and database |
KR20190102587A (en) * | 2018-02-26 | 2019-09-04 | 엘지전자 주식회사 | Mobile terminal and operation method of the same |
US20190349476A1 (en) * | 2018-05-10 | 2019-11-14 | Qualcomm Incorporated | Call rejection with location information |
CN109587355B (en) * | 2018-12-29 | 2021-04-30 | 中细软集团有限公司 | Missed call processing method and system terminal |
CN111182142A (en) * | 2019-12-26 | 2020-05-19 | 上海传英信息技术有限公司 | Task reminding method, device, equipment and storage medium |
US11336605B1 (en) * | 2021-01-04 | 2022-05-17 | Servicenow, Inc. | Sending actionable notifications to users |
US11418649B1 (en) * | 2021-08-20 | 2022-08-16 | MBTE Holdings Sweden AB | Inbound and outbound communication session and call control |
CN115037832B (en) * | 2022-08-08 | 2022-12-16 | 荣耀终端有限公司 | Data processing method and electronic equipment |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030028684A1 (en) * | 2001-07-31 | 2003-02-06 | International Business Machines Corporation | Efficient thread programming using a single callback function |
US20040078486A1 (en) * | 2002-10-16 | 2004-04-22 | International Business Machines Corporation | Mechanism to provide callback capabilities for unreachable network clients |
US20050188140A1 (en) * | 2004-02-19 | 2005-08-25 | Agere Systems, Inc. | Condition management callback system and method of operation thereof |
US20060167729A1 (en) * | 2003-10-08 | 2006-07-27 | John Rafter | Method and system for scheduling a customer service callback |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6317593B1 (en) | 1996-08-12 | 2001-11-13 | Gateway, Inc. | Intelligent cellular telephone function |
US5872841A (en) | 1996-11-14 | 1999-02-16 | Siemens Information And Comunication Newtworks, Inc. | Apparatus and method for scheduling a telephone call |
US6212268B1 (en) | 1997-11-26 | 2001-04-03 | Sun Microsystems, Inc. | Pre-scheduled callback service |
US6687877B1 (en) * | 1999-02-17 | 2004-02-03 | Siemens Corp. Research Inc. | Web-based call center system with web document annotation |
WO2002013547A2 (en) | 2000-08-04 | 2002-02-14 | Nokia Mobile Phones Limited | Method and apparatus for displaying a call notification message prior to a call acceptance |
JP4542690B2 (en) | 2000-10-10 | 2010-09-15 | 州 萩原 | Forget call warning system |
CA2641610C (en) | 2001-03-09 | 2010-09-14 | Research In Motion Limited | Advanced voice and data operations in a mobile data communication device |
US7362854B2 (en) * | 2001-09-28 | 2008-04-22 | Gateway Inc. | Portable electronic device having integrated telephony and calendar functions |
US7145998B1 (en) | 2002-07-29 | 2006-12-05 | Bellsouth Intellectual Property Corporation | Systems, methods, and devices for a callback/callback reminder feature |
CN1541007A (en) * | 2003-04-21 | 2004-10-27 | ӡ�����Ƽ��ɷ�����˾ | Method of booking mail box of mobile phone |
US7577831B2 (en) * | 2006-07-20 | 2009-08-18 | Dell Products L.P. | Relocating of system management interface code within an information handling system |
US7676249B2 (en) | 2006-12-05 | 2010-03-09 | Research In Motion Limited | Alert methods and apparatus for call appointments in a calendar application based on communication conditions of a mobile station |
US20080140488A1 (en) | 2006-12-08 | 2008-06-12 | Tolga Oral | Event scheduling conflict management and resolution for unprocessed events in a collaborative computing environment |
CN101232665B (en) * | 2007-01-24 | 2012-02-22 | 北京三星通信技术研究有限公司 | Method for auto prompting and setting telegraphic reply of mobile communication terminal |
US7756798B2 (en) * | 2007-03-06 | 2010-07-13 | Oracle International Corporation | Extensible mechanism for detecting duplicate search items |
US9185208B2 (en) * | 2008-12-23 | 2015-11-10 | At&T Mobility Ii Llc | Calendar-callback voicemail |
US8311203B2 (en) * | 2009-03-24 | 2012-11-13 | T-Mobile Usa, Inc. | User-initiated return communication |
EP2278779A1 (en) * | 2009-06-30 | 2011-01-26 | Research In Motion Limited | Systems and methods for generating calendar events associated with contact information |
US8855289B2 (en) * | 2010-01-19 | 2014-10-07 | Microsoft Corporation | Automated callback reminder |
-
2010
- 2010-01-19 US US12/689,260 patent/US8855289B2/en active Active
-
2011
- 2011-01-06 CN CN201710236941.9A patent/CN107071173B/en active Active
- 2011-01-06 CN CN201180006414XA patent/CN102741813A/en active Pending
- 2011-01-06 WO PCT/US2011/020288 patent/WO2011090822A2/en active Application Filing
-
2014
- 2014-10-06 US US14/507,337 patent/US10455075B2/en active Active
-
2019
- 2019-10-21 US US16/658,798 patent/US11218589B2/en active Active
-
2022
- 2022-01-03 US US17/567,730 patent/US11627220B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030028684A1 (en) * | 2001-07-31 | 2003-02-06 | International Business Machines Corporation | Efficient thread programming using a single callback function |
US20040078486A1 (en) * | 2002-10-16 | 2004-04-22 | International Business Machines Corporation | Mechanism to provide callback capabilities for unreachable network clients |
US20060167729A1 (en) * | 2003-10-08 | 2006-07-27 | John Rafter | Method and system for scheduling a customer service callback |
US20050188140A1 (en) * | 2004-02-19 | 2005-08-25 | Agere Systems, Inc. | Condition management callback system and method of operation thereof |
Also Published As
Publication number | Publication date |
---|---|
US20220124196A1 (en) | 2022-04-21 |
US20110176670A1 (en) | 2011-07-21 |
WO2011090822A3 (en) | 2011-11-24 |
US10455075B2 (en) | 2019-10-22 |
US8855289B2 (en) | 2014-10-07 |
US20150094042A1 (en) | 2015-04-02 |
CN102741813A (en) | 2012-10-17 |
CN107071173A (en) | 2017-08-18 |
US11218589B2 (en) | 2022-01-04 |
US20200053199A1 (en) | 2020-02-13 |
CN107071173B (en) | 2020-05-15 |
US11627220B2 (en) | 2023-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11627220B2 (en) | Automated callback reminder | |
US10171657B1 (en) | System and method for omni-channel notification and selection | |
US8078993B2 (en) | Operating multiple views on a computing device in connection with a wireless communication session | |
US8543144B2 (en) | Automated caller identifier from contact lists of a user's contacts | |
RU2511122C2 (en) | Integrated user interface for exchange of messages with registration of every message | |
US8611947B2 (en) | Systems and methods for augmenting communications protocols | |
US20160014059A1 (en) | Presenting one or more types of interface(s) or media to calling and/or called user while acceptance of call | |
EP2784774A1 (en) | Telephone voice personnal assistant | |
US7774478B2 (en) | System, method, and device for scheduling a future time for a communication session | |
US20100042704A1 (en) | Automating application state of a set of computing devices responsive to scheduled events based on historical data | |
KR20100109520A (en) | System and method for managing trusted relationships in communication sessions using a graphical metaphor | |
US10080112B2 (en) | Unwanted caller and message sender identification for restricted communication devices | |
US10447857B2 (en) | Method and apparatus for operating a contact center system | |
US8929867B2 (en) | Automated electronic messaging to a person with whom another form of communication is exchanged | |
US8654944B2 (en) | Automated call to a contact with whom another form of communication is exchanged | |
US20180041632A1 (en) | Customizable presence-based recipient available notification | |
EP3132596B1 (en) | Systems and methods for sharing selected data by phone call | |
US10542132B2 (en) | Updating contact details for communications | |
WO2015136334A1 (en) | Dynamically presenting chat interface to calling & called party while accepting of chat call by called party & up-to active chat call session | |
KR20140049872A (en) | A mobile terminal having personal relationship management function and method for personal relationship management thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
WWE | Wipo information: entry into national phase |
Ref document number: 201180006414.X Country of ref document: CN |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 11734986 Country of ref document: EP Kind code of ref document: A2 |