The present invention relates generally to electronic messaging systems, such as electronic mail (“email”), and specifically to a method and system for displaying indications of messages from important persons and from new persons at a high display priority in a gathered threads view of an electronic mail (“email”) user interface.
Electronic messaging systems, such as electronic mail (“email”), have become ubiquitous for both business and personal use. Examples of email applications include Microsoft® Outlook, Eudora, and Web based email systems provided through an Internet browser program, such as services provided by Google, Yahoo, and other Web portal providers. Email systems are often architected in a client-server software model, in which client software is provided in end user computer systems to enable users to compose, send and receive messages, while a server software component is provided to perform various centralized functions.
Typical email applications provide a user with a graphical user interface through which messages can be composed and sent, and through which messages can also be received. A number of mailbox constructs are usually maintained for the user, including an Inbox to store received messages, an Outbox into which messages are put pending being sent, and a Sent mailbox for storing messages that have previously been transmitted. An email message usually includes or is associated with a list of destination addresses or user names identifying recipients to which the message is to be delivered, sometimes known as a “To:” field. A “From:” field is also included or associated with a message, and identifies the sender of the message. A “Subject:” field for an email message includes a text string defining the subject of the message. A message body contains the content of the message, including text, images, links, or other content. A number of separate documents may also be attached to the message before it is sent, containing additional content to that contained within the message body. After the message body, destination email addresses, and any attachments to the message are defined, the user can click on a “Send” button or the like to cause the message to be sent.
When a message is received, the email client software provides the receiving user with the ability to reply to the received message, for example by way of a “Reply” and/or “Reply All” button within the graphical user interface. Clicking on the “Reply” button sets up a new message, including the received message, for editing and sending back to the original sender of the received message. Clicking on the “Reply All” button also sets up a new message, also including the received message, for editing and sending back to the original sender and any other recipients of the original message. A reply that is sent including all previous message information is sometimes referred to as a “reply with history”. The original sender, or any other recipient of a reply message, may then similarly generate another reply.
A series of received messages that are direct or indirect replies to an original “root” message may be referred to as a message “thread”. The reply messages in a thread may be considered child messages under the original root message. In addition to the reply messages, a thread may or may not be considered to also include the original root message. In an email system, a thread may consist of a number of received messages stored in a user's Inbox, or another mailbox structure provided by the email system. Messages within a thread may be transmitted or received over potentially long periods of time, and a thread may sit dormant for a time period before it is resumed when a new message is added to it.
Existing email systems have attempted to display message threads in a user friendly way by using what are referred to as “gathered” threads views. For example, in a gathered threads view, received messages belonging to a thread may be represented using a single message entry in the user's Inbox. One example of a gathered threads view of message threads is found in the “conversations” view displayed by the Gmail™ email system from Google®.
For example, in the gathered threads view 10 of
A problem in existing gathered thread views results from the fact that the sender list for a thread represents the messages in the thread and their corresponding senders based only on the order in which the messages were received. As a result, if the number of messages in a thread exceeds the maximum number of senders displayed in the sender list 14 (which in some cases may only be the sender of the most recent message and/or of the original message), many senders of messages in the thread are potentially hidden from the user. This forces the user to expand the thread to determine whether any messages have been received from important senders, or whether any new participants have joined the thread.
For example, again with reference to
For these reasons and others, it would be desirable to have a new system for providing a gathered threads view that displays indications of messages received from important persons and new thread participants so that the user is conveniently made aware of the presence of such messages in a thread without having to expand the thread or individual messages in the thread.
To address the above described and other deficiencies of previous approaches, a method and system for providing a gathered threads view of email messages that effectively indicates the presence of messages from important persons and/or from new thread participants. In the disclosed system, when a message in a thread is received, the sender of the message is compared to a list of important persons for the receiving user. If the message is determined to be from a person that is important to the receiving user, then an indication of the sender of that message is presented in the user interface with a higher display precedence than indications of senders of received messages in the thread from unimportant users. The list of persons that are important to the user may be imported from a user profile external to the email application program, may be configured by the user within the email application, or may be automatically configured by the email application based on frequency of messages sent to and/or received from different users.
In particular, an indication of a message sender that is an important person may be displayed with a higher precedence than one or more indications of other message senders that are not important persons, by displaying the indication of the important person sender relatively closer to the front or top of a list of message senders associated with the thread.
In another embodiment, the sender of a received message in a thread is also compared with the senders of previous messages in the thread. If the received message is the first message received from that sender, then the message is considered a message from a new participant that is joining the message thread, and the message sender is displayed in the user interface with a higher display precedence than senders that have previously sent one or more messages in the thread. For example, a sender that is a new participant in a message thread may be presented with a higher display precedence than senders that have previously joined the thread by displaying the new participant sender relatively closer to the front or top of a list of senders associated with the thread. A sender may be considered to be a new participant in a thread until the first message received from them is read by the local user, and a subsequent message is received from them as well.
The disclosed system may be embodied such that important person senders are displayed at a relatively higher display precedence than new thread participant senders, which in turn may be displayed at a higher precedence than all other senders in the thread. Moreover, senders of unread messages may be displayed at higher positions within a display precedence than senders of messages that have already been read.
In this way there is disclosed a new system for providing a gathered threads view that displays indications of messages received from important users and new thread participants so that the user is conveniently made aware of the presence of such messages in a thread without having to expand the view of the thread to display all messages in the thread.
In order to facilitate a fuller understanding of the present invention, reference is now made to the appended drawings. These drawings should not be construed as limiting the present invention, but are intended to be exemplary only.
As shown in
As further shown in
The user interface 34 includes a gathered threads view in which multiple messages in a message thread are displayed using a single entry in a list of message thread entries, and/or by a group of adjacent message entries corresponding to the multiple messages in the message thread, or in some other way that gathers indications of the multiple messages into a corresponding region of the user interface 34. For example, the list of message thread entries in the gathered threads view provided in the user interface 34 may be presented in a display of the local user Alfred 32's Inbox message structure that shows messages received by the email receive process 38.
For purposes of explanation, an example of operation of the embodiment shown in
After the initial period in which replies in the thread were previously received by the email receive process 38 from Bert 43, Cara 45, Dale 47 and Ella 49, and these previously received replies have been read by Alfred 32, the email receive process 38 receives a new set of reply messages in the thread from the remote users shown in
1. response message from Cara 45
2. response message from Hugh 55
3. response message from Ella 49
4. response message from Greg 53
5. response message from Fran 51
6. response message from Dale 47
The above response messages may, for example, be generated by each of the remote users using a Reply All option in an email client application executing on the corresponding remote computer system, or through any other appropriate mechanism for providing a new message in a message thread. As each of the above listed response messages are received, the disclosed system checks the important person list 40 to determine if the sender is an important person to the local user Alfred 32. If a sender is listed in the important person list 40, then the received message is displayed at a highest display precedence. The disclosed system further checks the sender of each received message to determine if the sender is a new participant in the message thread. A new participant in the message thread is a user that has not previously sent a message in the thread.
In the example of
If it is determined that the sender of the received message is an important person, then step 62 is followed by step 64, in which an indication of the received message is displayed in a gathered threads view at a highest display precedence, for example a level 1 display precedence. Otherwise, step 62 is followed by step 66, in which the disclosed system determines whether the received message is from a new participant in the message thread. A sender of a received message may be considered a new participant in the message thread if the sender if no messages have been previously received from the sender. If the sender of the received message is determined to be a new participant in the message thread, then step 66 is followed by step 68, in which an indication of the received message is displayed in a gathered threads view at a second highest display precedence, for example a level 2 display precedence. Otherwise, at step 70 the received message is displayed in a gathered threads view at a lower display precedence, for example at a level 3 display precedence.
As a result of the steps shown in
The display precedence of a received message may be lowered after the initial precedence determination based on various specific events, such as whether the local user has read the message, whether another message is received from the same sender, etc. For example, in the illustrative embodiment of
The elements of the senders list may consist of the names of the senders of the corresponding messages. A gathered threads view provided by the disclosed system may display only a subset of the message senders for a given thread, since the number of messages in a thread may grow quite large. In such a case, the subset of senders displayed would consist of some number of indications located most closely to the top or front of the list. For example, the displayed system may be embodied such that in the event of a space constraint on the total number of senders in the sender list that can be displayed, all or at least some predetermined number of senders at level 1 display precedence are always displayed, all or at least some minimum number of senders at level 2 display precedence are always displayed, but only the first, last, or first and last senders at level 3 display precedence are always displayed. Alternatively, some number of the first and/or last senders at level 3 display precedence may be displayed up to a limit based on the available display space and/or total number of senders in the senders list.
The message thread entry 88 represents a message thread resulting from the series of messages described above with reference to operation of the illustrative embodiment of
Since the messages received from Fran and Greg were determined to be messages from new participants joining the thread, indications of the received messages from Fran and Greg are displayed at level 2 display precedence, in this case in the second and third positions of the sender list 84 for entry 88. In the example of
Following the indications of the messages from new thread participants Fran and Greg is an indication of the messages at level 3 precedence, shown by the text “me . . . Dale”. The text “me” is an indication of the first or original message in the thread, in this case sent by the local user Alfred 32 (
While the message indications in the sender list 84 are shown for purposes of illustration as user names, the disclosed system is not so limited, and other specific types of indications may be used consistent with principles of the invention. Additionally, those skilled in the art will recognize that the simplified screen shot 80 is provided only for purposes of convenient explanation, and that many user interface display elements in addition to those shown in
Those skilled in the art should readily appreciate that programs defining the functions of the present invention can be delivered to a computer in many forms; including, but not limited to: (a) information permanently stored on non-writable storage media (e.g. read only memory devices within a computer such as ROM or CD-ROM disks readable by a computer I/O attachment); (b) information alterably stored on writable storage media (e.g. floppy disks and hard drives); or (c) information conveyed to a computer through communication media for example using wireless, baseband signaling or broadband signaling techniques, including carrier wave signaling techniques, such as over computer or telephone networks via a modem.
While the invention is described through the above exemplary embodiments, it will be understood by those of ordinary skill in the art that modification to and variation of the illustrated embodiments may be made without departing from the inventive concepts herein disclosed. Moreover, while the preferred embodiments are described in connection with various illustrative program command structures, one skilled in the art will recognize that they may be embodied using a variety of specific command structures.