1. Field of the Invention
The present invention relates generally to computer implemented methods, computer program products, and mobile devices. More specifically, the present invention relates to computer implemented methods, computer program products and mobile devices for presenting a list of invokable actions to a user of the mobile device.
2. Description of the Related Art
Presently, there exist over 1.8 billion mobile phone and device users. Mobile devices share several traits including, but not limited to, input capability such as a stylus, a small keyboard, a numerical dial pad, a touch screen, and a small display size. Users must operate these devices with limited input functions and limited display size.
Presently, mobile devices do not fully optimize their limited screen real-estate, resulting in excess input operations for users to locate information and invoke mobile device functions. Mobile devices have many invokable actions, but limited screen real-estate hinders navigation, resulting in difficulty invoking actions. For example, mobile devices are used to instant message, place calls, and access weather forecasts. Unfortunately, with the increase in function the list of options to choose from becomes cumbersome on a small device. It may take a long time to scroll through all the options that one may wish to initiate on their cell phone. Furthermore, the increased number of functions may add complexity and usability problems with the limited display area on many mobile devices.
Currently, display and input optimizations exist for smaller mobile displays and devices with limited input components. For example, it is common on cellular phones for the number keys to map present invokable actions on the devices display. In another example, smaller display devices that contain web browsers often have functions to zoom out and zoom in on displayed web pages, which ease navigation on large web pages. Other non-disqualifying art exists for optimizing mobile displays.
A computer implemented method, a computer program product, and a mobile device are disclosed for presenting a list of invokable actions to a user of the mobile device. Responsive to identifying the commencing of the invokable action, specific attributes of the invokable action are identified and stored in a corresponding data structure. From the specific attributes stored within the corresponding data structure, a most probable invokable action is identified. When the commencing of a subsequent invokable action is identified, the most probable invokable action is presented to the user.
The novel features believed characteristic of the invention are set forth in the appended claims. The invention itself, however, as well as a preferred mode of use, further objectives and advantages thereof, will best be understood by reference to the following detailed description of an illustrative embodiment when read in conjunction with the accompanying drawings, wherein:
With reference now to the figures and in particular with reference to
Transmitter 208 and receiver 210 are coupled to a telephone signal by couple 224 to provide full duplex communication. The telephone signal may be provided by a telephone line (not shown) in a land-based telephone or an antenna, such as for a wireless telephone. Audio processing circuit 218 provides basic analog audio outputs to speaker 220 and accepts analog audio inputs from microphone 222. Received signals are demodulated and decoded by receiver 210. Transmitter 208 encodes and modulates signals passed to it by processor 202 or audio processor 218. The output of the transmitter is amplified by power amplifier 212 to control the power level at which the signal is transmitted.
Processor 202 or audio processor 218 may detect audible call status information and call status codes received by receiver 210. Memory 204 may include a lookup table associating call status information or call status codes with visual call status information, such as text messages. Processor 202 detects or receives a call status code and displays an appropriate call status message on display 216. Those of ordinary skill in the art will appreciate that the hardware depicted in
The illustrative embodiments describe a computer implemented method, computer program products, and data processing systems to exploit identifiable mobile device usage patterns to optimize the display of mobile devices by automatically presenting the actions most probable to be invoked by a user. This system detects usage patters by monitoring the frequency of invocation, location of the cell phone, day of the week, and time. Such a system enables the mobile device to dynamically change the displayed invokable actions to the actions most probable to be invoked during that day of the week, at that location of the mobile device, during a particular time of the day.
The illustrative embodiments allow the users to quickly access their most probable used mobile device applications at the location and time when they may need them. The invention only displays the most probable used options during a particular time of day and at a particular location.
The illustrative embodiments determine the most probable invokable actions based on location, time of day and day of week. Three components are described to enable this invention. An action detection component captures when an action is invoked on a mobile device. A data collection component stores usage data and dimensional data (location, time, day of week). The third component ranks the stored data to selectively display probable invokable actions based on changes of location and time.
Referring now to
As described above, invokable action 318 can be performed on mobile device 300. Invokable action 318 is any function a mobile device can perform. For example, dialing a phone number, accessing a web browser to view a website, accessing an appointment book, accessing an email application, and accessing a text messaging application are all invokable actions. Action detection component 310 detects the initiation or performance of invokable action 318. Action detection component 310 is a software component executing on a wireless communication device, such as wireless communication device 200 of
Responsive to the detection of invokable action 318, action detection component 310 notifies, or otherwise triggers the execution of data collection component 312. Data collection component 312 is a software component that retrieves and stores information 320 related to invokable action 318 any time invokable action 318 is initiated or performed.
Information 320 is data regarding specific attributes of invokable action 318. Attributes may include, but are not limited to, the specific invokable action taken, the time and date at which the invokable action was performed, and the location at which the invokable action was performed. Information 320, including the specific attributes thereof, is stored in table of activities 322. Table of activities 322 is a data structure which stores information 320 related to invokable action 318.
The illustration of components in
Referring now to
Day of week 412 is the day on which invokable action 318 of
Time 414 is the daily time at which invokable action 318 of
Location 416 is the location at which the invokable action 318 of
While location 416 is represented as an integer in
Referring now again to
Ranking component 314 identifies the most probable invokable action 318 at any given time, location and date using information 320 stored in table of activities 322. Depending on the embodiment, ranking component 314 may be invoked at time intervals, for example every 30 seconds, every minute. In other embodiments, the component may be invoked when a change in location is detected. Yet still in other embodiments, the component may be invoked when the user lifts the mobile device, rouses the device from a standby mode, or performs other actions indicating that receipt of invokable action 318 is imminent.
While various algorithms, formulae and matrices might be used to compute the most probable invokable action 318, each of these predicts the most probable to be invoked actions at any time and locations according to information 320 stored in table of activities 322. Some embodiments may favor temporal proximity over location proximity, others may have reverse preferences. Yet, still other embodiments may use analytics of previously selected items from ranked probable actions to favor temporal proximity over location proximity or vice versa. For example, if a user consistently chooses items closer in temporal proximity rather than location proximity the ranking component may adjust its algorithm to favor temporal proximity.
Based on the computations of ranking component 314, ranking component creates hierarchal list 324. Hierarchal list 324 is a data structure containing a listing of possible invokable actions. Invokable actions having a higher probability of corresponding to invokable action 318, based on the current iteration of hierarchal list 324 are presented earlier in hierarchal list 324.
Responsive to the detection of invokable action 318, software process 326 presents the current iteration of hierarchal list 324 to a user. By determining the most probable invokable action 318, the presently described embodiments allow the user to avoid needlessly navigating numerous menu options attempting to find the desired invokable action 318.
Referring now to
Process 500 begins by detecting an invokable action (step 510). An invokable action, such as invokable action 318 of
Responsive to detecting an invokable action, process 500 stores information related to the invokable action within a related data structure (step 520), with the process terminating thereafter. Information can be information 320 of
Referring now to
Process 600 begins by detecting a change in circumstances (step 610). A change in circumstances is a present change related to any of the attributes stored in a related data structure, such as table of activities 322 of
Responsive to detecting a change in circumstances, process 600 parses information from the related data structure (step 620). Process 600 then creates a ranked listing of probable invokable actions (step 630). Process 600 identifies the most probable invokable action at any given time, location and date using information stored in the related data structure.
While various algorithms and matrices might be used to compute the most probable invokable action, each of these predicts the most probable to be invoked actions at any time and locations according to information stored in the related data structure. Some embodiments may favor temporal proximity over location proximity, others may have reverse preferences. Yet, still other embodiments may use analytics of selected items from ranked probable actions to favor temporal proximity over location proximity or vice versa. For example, if a user consistently chooses items closer in temporal proximity rather than location proximity the ranking component may adjust its algorithm to favor temporal proximity.
Responsive to creating a ranked listing of probable invokable actions, process 600 stores the ranked listing of probable invokable actions in a hierarchal list (step 640), with the process terminating thereafter. The hierarchal list, which can be hierarchal list 324 of
Referring now to
Process 700 begins by detecting an invokable action (step 710). An invokable action, such as invokable action 318 of
Responsive to the detection of an invokable action, process 700 parses a current iteration of a hierarchal list (step 720). The hierarchal list is a data structure containing the ranked listing of possible invokable actions. Invokable actions having a higher probability of corresponding to an invokable action based on the current iteration of hierarchal list are presented earlier in the hierarchal list.
Responsive to parsing the hierarchal list, process 700 presents the current iteration of the hierarchal list to a user (step 730), with the process terminating thereafter. Invokable actions that are more probable given the current circumstances are presented to the user prior to those invokable actions that have a lower probability of corresponding to the desired invokable action. By determining the most probable invokable action, the presently described embodiments allow the user to avoid needlessly navigating numerous menu options attempting to find the desired invokable action.
Thus, the illustrative embodiments describe methods, computer program products, and data processing systems to exploit identifiable mobile device usage patterns to optimize the display of mobile devices by automatically presenting the actions mostly probable to be invoked by a user. This system detects usage patters by monitoring the frequency of invocation, location of the cell phone, day of the week, and time. Such a system enables the mobile device to dynamically change the displayed invokable actions to the actions most probable to be invoked during that day of the week, at that location of the mobile device, during a particular time of the day.
The illustrative embodiments allow the users to quickly access their most probable used mobile device applications at the location and time when they may need it. The invention only displays the most probable used options during a particular time of day and at a particular location.
The illustrative embodiments determine the most probable invokable actions based on location, time of day and day of week. Three components are described to enable this invention. An action detection component captures when an action is invoked on a mobile device. A data collection component is required to store usage data and dimensional data (location, time, day of week). The third component ranks the stored data to select the display of probable invokable action based on changes of location and time.
The invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In a preferred embodiment, the invention is implemented in software, which includes but is not limited to firmware, resident software, and microcode.
Furthermore, the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer-usable or computer readable medium can be any tangible apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk-read only memory (CD-ROM), compact disk-read/write (CD-R/W) and DVD.
A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution.
Input/output or I/O devices (including, but not limited to, keyboards, displays, pointing device,) can be coupled to the system either directly or through intervening I/O controllers.
Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modems, and Ethernet cards are just a few of the currently available types of network adapters.
The description of the present invention has been presented for purposes of illustration and description, and is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art. The embodiment was chosen and described in order to best explain the principles of the invention, the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.