Abstract:
A collating application for message display and management executes on a communication device. The communication device includes a plurality of message applications associated with various communication channels, each message application receiving and storing messages associated with one of the various communications channels. The collating application dynamically accesses messages stored by the plurality of message applications to retrieve messages that meet defined matching criteria. The collating application permits the user to select a listing of the heterogeneous retrieved messages in a single view on the communication device. Icons associated with the matching criteria are displayable and vary in accordance with the presence or absence of unread messages meeting the matching criteria.

Description:
FIELD OF THE INVENTION  
       [0001]     The present invention relates generally to communication systems and more specifically to a system and method for the display and management of messages in such systems.  
       BACKGROUND OF THE INVENTION  
       [0002]     Communication devices, such as wireless mobile devices, are increasingly powerful and the sources of potential incoming messages are increasingly more varied. As a result, such communication devices are being designed and built to permit users to accept various different heterogeneous messages. A single communication device may, for example, accept messages sent in an e-mail format, an SMS (Short Message Service) format, a telephone voice mail format, or an IM (Instant Message) format. With such a device, the user is able to select an appropriate application running on the communication device to have any one of such messages displayed or replayed to the user.  
         [0003]     While most individuals use a specific communication method for a specific purpose, in many cases a series of communications takes place with the same person over multiple channels. While this wide variety of communication methods gives the sender and the recipient increased choice and flexibility, it can become more difficult to simply and understandably display and manage the messages that a recipient may have received from a particular person where such messages have been received over differing communications channels.  
         [0004]     Communication devices display and manage different types of messages using different applications executing on the devices. Consequently locating, reading, comparing, or responding to potentially heterogeneous messages typically requires a user to make use of several different applications, with potentially varying interfaces.  
         [0005]     It is therefore desirable to provide a system and method for the display and management of communications sent using different communications methods that does not require the user to manipulate multiple applications.  
       SUMMARY OF THE INVENTION  
       [0006]     Accordingly, the system and method of the present invention provide for an improved system and method for managing and displaying messages on a communication device.  
         [0007]     According to an aspect of the invention, there is provided a method and system in which a collating application executable on a communication device is designed to dynamically access data stores maintained by applications for different communication channels. The collating application is provided with a display criteria and obtains message information related to the display criteria from the accessed data stores. The collating application displays the obtained message information to the user of the communication device.  
         [0008]     According to another aspect of the invention, the above collating application is provided in which the display criteria is a sender identity and the obtained message information displayed by the collating application relates to the sender identity.  
         [0009]     According to another aspect of the invention there is provided a program product for execution on a communications device for receiving, storing and displaying messages from different communications channels, the communications device being capable of executing a plurality of message applications, each message application being associated with one of the communications channels and being executable to store and display messages received from the associated communications channel, the program product including a medium having executable program code embodied in the medium, the executable program code including a collating application, the executable program code including a collating application being executable on the communications device for dynamically retrieving messages stored by the plurality of message applications, the retrieved messages meeting one or more matching criteria, and for displaying a listing of the retrieved messages in a single view on the communications device.  
         [0010]     According to another aspect of the invention there is provided the above program product in which the executable program code further includes program code executable on the communications device for enabling a user to specify the matching criteria.  
         [0011]     According to another aspect of the invention there is provided the above program product in which the executable program code for enabling a user to specify the matching criteria includes executable program code for enabling the user to specify the matching criteria used to match entries in an address book maintained by the communications device.  
         [0012]     According to another aspect of the invention there is provided the above program product in which the specified matching criteria including a name associated with one entry in the address book.  
         [0013]     According to another aspect of the invention there is provided the above program product in which the executable program code further includes program code executable on the communications device for displaying a defined icon representing the matching criteria.  
         [0014]     According to another aspect of the invention there is provided the above program product in which the executable program code further includes program code executable on the communications device for displaying a first defined icon representing the matching criteria when the communications device is in receipt of no unread messages meeting the matching criteria and for displaying a second defined icon representing the matching criteria when the communications device is in receipt of at least one unread message meeting the matching criteria.  
         [0015]     According to another aspect of the invention there is provided the above program product in which the executable program code further includes program code executable on the communications device for enabling a user to select between alternative views for presenting the listing of the retrieved messages.  
         [0016]     According to another aspect of the invention there is provided the above program product in which the executable program code further includes program code executable on the communications device for displaying a listing of the retrieved messages in sub-lists under displayed headings, each heading reflecting the communications channel on which the messages in the associated sub-list were received by the communications device.  
         [0017]     According to another aspect of the invention there is provided the above program product in which the executable program code further includes program code executable on the communications device for enabling a user to launch the message application associated with one of the communications channels by selecting one of the displayed sub-list headings.  
         [0018]     According to another aspect of the invention there is provided a method for a communications device to display a listing of heterogeneous messages, the communications device being capable of executing a plurality of message applications, each message application being associated with one of a plurality of communications channels and being executable to store and display messages received from the associated communications channel, the method including the steps of 
        a collating application, executing on the communications device, dynamically applying one or more matching criteria to messages stored by the plurality of message applications,     the collating application dynamically retrieving messages meeting the matching criteria, and     displaying a listing of the retrieved messages in a single view on the communications device.        
 
         [0022]     According to another aspect of the invention there is provided the above method further including the steps of displaying a first defined icon representing the matching criteria when the communications device is in receipt of no unread messages meeting the matching criteria and of displaying a second defined icon representing the matching criteria when the communications device is in receipt of at least one unread message meeting the matching criteria.  
         [0023]     The present invention thus permits the listing of heterogeneous messages from the same sender or group of senders in a single view. The user of the communication device is not required to access different applications to determine what messages have come from a defined sender. The collating application provides for a single display with all messages from the defined sender. More generally, the present invention permits other criteria to be selected by the user to define the characteristics of the potentially heterogeneous messages that are displayed in a single, collated view. 
     
    
     BRIEF DESCRIPTION OF THE DRAWINGS  
       [0024]     In drawings which illustrate by way of example only a preferred embodiment of the invention,  
         [0025]      FIG. 1  is a block diagram showing a high-level representation of an example arrangement of applications according to the preferred embodiment.  
         [0026]      FIG. 2  is an example screen-shot showing the display of a communication device according to the preferred embodiment.  
         [0027]      FIG. 3  is an example screen-shot of the display of  FIG. 2 , with an altered icon in the display.  
         [0028]      FIG. 4  is an example schematic representation of the display of a communication device displaying lists of heterogeneous messages, according to the preferred embodiment.  
         [0029]      FIG. 5   a  is an example schematic representation of the display of a communication device showing a user-invoked menu, according to the preferred embodiment.  
         [0030]      FIG. 5   b  is an example schematic representation of the display of a communication device showing a list of messages as displayed following a user-invoked sort, according to the preferred embodiment. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0031]     The preferred embodiment is described with respect to a wireless electronic mobile communication device capable of receiving messages from different communications channels. The communication device of the example used to illustrate the preferred embodiment is able to accept e-mail messages, telephone messages, IM messages and SMS messages. These different types of messages are heterogeneous as they are delivered in formats that are specific to each type of message and which are different from each other. Although the wireless device of the preferred embodiment may receive such messages using the same wireless network, the formats of the data for these heterogeneous messages differ from each other.  
         [0032]      FIG. 1  is a block diagram that shows a high level representation of an example used to illustrate the preferred embodiment. The example of  FIG. 1  shows specific applications for the display and management of each of the types of messages receivable by an example communication device. Thus in  FIG. 1  there is shown e-mail application  10 , SMS application  12 , telephone application  14 , and TM application  16 . In the example of  FIG. 1 ; each application has an associated set of data that represents messages and related information used by the system of the mobile communication device. Each set of data is maintained in a data store in the communication device. Thus there are the following application-data pairs: e-mail application  10 , e-mail data  18 ; SMS application  12 , SMS data  20 ; telephone application  14 , telephone data  22 ; and IM application  16 , IM data  24 . In each case, the application includes executable code that accesses the associated data store to store, update and retrieve data relating to communications to be sent and/or received from the communication device. Similarly, each of the different applications  10 ,  12 ,  14 ,  16  has its own view that is available to the user on the display of the device to display and manage the messages of the type associated with the application.  
         [0033]     The communication device of the preferred embodiment also includes collating application  30 . This application is executable on the communication device to allow the user to access messages from different communications channels using a single view. As is shown in  FIG. 1 , application  30  is able to access data for all supported communication types. In the example, application  30  dynamically accesses e-mail data  18 , SMS data  20 , telephone data  22 , and IM data  24 . Application  30  interacts with user interface  40  to display lists of heterogeneous messages to the user of the communication device.  
         [0034]     As will be appreciated by those skilled in the art, application  30  may be delivered to the communications device and/or stored on the communications device as all or part of a program product embodied in a medium such as a magnetic or optical storage medium or a modulated carrier medium. For example, application  30  may be downloaded to the wireless communications device of the preferred embodiment using a wireless radio frequency network. In the preferred embodiment, application  30  is implemented as program code that is executable on the communications device.  
         [0035]     As is described in more detail, below, application  30  in the preferred embodiment permits the user to display messages based on the identity of the sender or on another defined criteria. However, application  30  also includes logic to permit the user to define one or more message criteria used to display heterogeneous messages. Typically, the criteria will be the identity of an individual who is in the address book of the communication device. For example, the user may wish to view all messages from a sender “Mary Johnson”. Application  30  provides, in conjunction with user interface  40 , the ability for the user to specify an entry in address book  46  as a collating criterion. For example, the user selects the “Mary Johnson” entry from address book  46  and specifies that this selected entry will be used to collate all messages in a single view. In the preferred embodiment, collating application  30  permits the user to associate an icon with Mary Johnson (for display on a screen that is part of the communication device). Once the user has defined the “Mary Johnson” address book entry to be a collating entry, application  30  will commence a dynamic interrogation of messages in data stores containing data  18 ,  20 ,  22 ,  24  to determine which messages are associated with Mary Johnson.  
         [0036]     As will be appreciated by those skilled in the art, the integration of application  30  into the system of the communication device involves implementation choices that relate to the existing architecture of the hardware and software of the device. For example, the logic permitting a user to specify an entry in address book  46  to be a collating entry may be coded as a modification to an address book manager application, or may be coded as part of application  30 , itself.  
         [0037]     An example of how a collating icon appears on the communication device display of the preferred embodiment is shown in the screen shot of an example communication device screen  50  of  FIG. 2 . Icon  52  is shown in a set of icons displayable on the screen for the communication device of the preferred embodiment. As described above, icon  52  has been defined by the user to represent the “Mary Johnson” entry in address book  46 . In the communication device of the preferred embodiment, the user is provided with a pointing device that is manipulated using a roller. When the user rolls over icon  52 , the associated name  54 , “Mary Johnson” is displayed. The example shown in  FIG. 1  places the associated name  54  at the bottom of screen  50 . In other embodiments associated name  54  might appear at other locations, for example at the top of screen  50 .  
         [0038]     According to the preferred embodiment, the user is able to request that a collating icon, such as icon  52 , appear on a main icon application screen, such as screen  50  shown in  FIG. 2 . Icon  52  appears on the main screen  50  due to an entry made in address book  46  for “Mary Johnson” that defines icon  52  (and the associated name  54 ) as the icon (and name) to appear on main screen  50 . In the preferred embodiment, an application executing on the communication device carries out the function of defining and displaying main screen  50 . This application (not shown in  FIG. 1 ) finds the “Mary Johnson” entry in address book  46  and consequently includes icon  52  in the main screen  50  view. In the preferred embodiment, application for defining and displaying main screen  50  searches address book  46  on startup or during regular intervals.  
         [0039]     As described above, collating application  30  dynamically determines which messages are related to a defined collating criteria, such as the address book entry for “Mary Johnson” in the example given. As part of this process, collating application  30  also determines when new messages have arrived that are associated with the collating criteria. The effect of newly received messages is shown with reference to the screen shot of main screen  50  shown in  FIG. 3 . In the example of  FIG. 3 , icon  52  shown in  FIG. 2  has been replaced by icon  56 . As is shown in the example, when a new message matching the collating criteria is received by the communication device, there is a change to the icon on the screen to indicate the receipt of the new message. The example of  FIG. 3  shows icon  56 , a modified version of icon  52 .  FIG. 3  also shows count indicators  58  that show the number of unread messages received by the communication device. The figure shows an envelope icon representing unread e-mail and a speech balloon icon representing unread IM messages. The  FIG. 3  example thus shows seven unread IM messages and three unread emails in count indicators  58 .  
         [0040]     The change of screen  50  to modify icon  52  by replacement with icon  56  is dynamically carried out without user intervention or action. Icon  56  indicates to the user that a message from Mary Johnson has been received and is waiting to be viewed. In the example of  FIG. 3 , icon  56  does not give the user information to indicate the type of message received. As will be apparent, other visual cues other than a change in the icon, are possible to show that a message has been received from Mary Johnson. Such cues may specify the type of message. However, the change in icon is a simple and straightforward way to provide a visual cue indicating the arrival of a new message.  
         [0041]     The preferred embodiment permits a user to select icon  52  or icon  56  (the type of selection method depends on the details of the communication device and may include a touch screen interface, a keystroke, use of a roller, or a different proprietary input method). Upon selection of icon  52 , or icon  56 , the preferred embodiment causes an activation menu to be displayed. One of the options made available to the user in the activation menu shown after selecting icon  52  or  56  is a collation screen display option.  
         [0042]      FIG. 4  is a schematic representation of a collation screen  60  made available by collating application  30  and user interface  40  in the preferred embodiment. In the example of  FIG. 4 , there are five different areas in collation screen  60 . New message area  62  is located at the top of collation screen  60 . Email area  64 , telephone area  66 , SMS area  68  and IM area  70  are arranged under new message area  62 . The  FIG. 4  example collation screen  60  shows messages to or from Mary Johnson. The schematic representation of  FIG. 4  shows each of areas  62 ,  64 ,  66 ,  68 ,  70  with a relevant heading and a related sub-list of messages. Other display choices may be available, based on configuration selections made by the user and on the available display options for the communication device. Collation screen  60  lists heterogeneous messages related to the collation criteria selected by the user (in the example of  FIG. 4 , the collation criterion is the address book entry “Mary Johnson”).  
         [0043]     As is referred to above, the information listed in collation screen  60  is obtained by collating application  30  obtaining information from the appropriate data for the different messages, as maintained in the communication device. As shown in  FIG. 4 , the type of message may be indicated to the user by its location on a list in one of the separate areas set out on collation page  60 . Further, different icons are shown representing different types of messages (for example, a telephone handset icon is shown for each telephone message listed in telephone area  66 ). The user is able to view all messages recently received that match the collation criteria. In the example of  FIG. 4 , the user is able to view a list of all messages recently received from Mary Johnson in a simple coordinated structure. The user is able to roll to any message and select it to view the entire message. In the preferred embodiment, each area (for example email area  64 ) has its own scroll functionality so that the list in that area can be scrolled while the other areas remain frozen. This permits the display of further conversation history beyond what is first displayed to the user in collation screen  60 .  
         [0044]     As may be seen from the example of  FIG. 4 , the view of collation screen  60  is primarily designed to give the user a summary of communications meeting one or more criteria. For additional information about the communications shown on the lists of collation screen  60 , the user is able to view the full message by selecting it (as described above). Further, the user may select one of the headings shown to launch or switch the display to a menu screen for the associated application. For example, the user may select the “Email” title in email area  64  to launch or revert to the menu provided by email application  10 . In this way, collation screen  60  is usable to permit the user to move between different application interfaces.  
         [0045]     As is apparent from the above, in the preferred embodiment, collating application  30  obtains the information for collation screen  60  and dynamically updates the information by accessing data for different applications to obtain information about received and sent messages. Collating application  30  also provides for differing display formats.  FIG. 5   a  is a schematic representation of a screen showing both collation screen  60  and an overlaid menu pane  80 . Menu pane  80  provides a list of actions for a given highlighted message on collation screen  60 . The list includes a first section listing the different message applications available for the user for the collation criteria (“Mary Johnson” in the example of the preferred embodiment). Menu pane  80  includes choices to launch or switch to the email, SMS, telephone, and IM applications. When one of these applications is selected, information relating to the collation criteria is passed to the application. For this example, the selection of “Email Mary Johnson” will result in the email application running and a new email message will be shown with recipient information set to Mary Johnson&#39;s email address.  
         [0046]     The second section of menu pane  80  provides standard manipulation options for the selected message. In the  FIG. 4  example, these include view, file, delete, rely and forward, each of which actions may be selected and if selected will be applied to the message by application  30  passing the relevant information to the appropriate message application. The user will then be provided with a display defined by the message application with the information completed to the extent possible. For example, if “Reply” is selected from an email message shown in screen  60 , the e-mail application will be executed and a Reply screen with the e-mail address for Mary Johnson in the recipient field will be displayed.  
         [0047]     Menu pane  80  also provides the user with the option of selecting a chronological view for the collated messages. This view is represented in the schematic diagram of  FIG. 5   b.  This figure shows chronological collation screen  82  in which recent messages for Mary Johnson are shown in a single list sorted chronologically. As was the case with collation screen  60 , chronological collation screen  82  lists heterogeneous messages relating to Mary Johnson. The messages are shown as being related to different types of communication channels by one of a set of small icons associated with each message listed (shown to the left of each message fragment in  FIG. 5   b ). Although not shown in the example of  FIG. 5   a,  other views of collated messages are possible. For example, in a different implementation a user is able to invoke views where the messages are sorted by send items, received items, and other characteristics of messages. Such views are defined by the user and the user retains the ability to view heterogeneous messages in the same view, without the necessity of changing from one message application to another. Such views summarize a conversational paradigm as applied to arbitrary channels of message delivery. The back and forth between the user and another individual (or group) is captured in the collation views made available by the preferred embodiment.  
         [0048]     The above example illustrates the use of an address book entry to act as the collating criterion for the collated view of messages on the communication device. As will be appreciated by those skilled in the art, other characteristics of messages may be specified as collating criteria. For example, all messages received from a set of individuals, all messages received on a specified date, or all messages that contain a certain text string, may be displayed by the communication device, if the appropriate collating criteria is defined. Collating application  30  accesses the data store or stores in which message data is maintained and the application permits a user to specify any criteria common to the messages by which they may be filtered, to allow for a collated view of heterogeneous messages.  
         [0049]     Different implementations of the preferred embodiment may constrain the user&#39;s flexibility in defining collation criteria to a greater or lesser degree, depending on design requirements. A sophisticated collation criterion may require more processing power and device memory to be implemented.  
         [0050]     Various embodiments of the present invention having been thus described in detail by way of example, it will be apparent to those skilled in the art that variations and modifications may be made without departing from the invention. The invention includes all such variations and modifications as fall within the scope of the appended claims.