U.S. patent application number 12/769787 was filed with the patent office on 2010-08-19 for conversation grouping of electronic mail records.
This patent application is currently assigned to Microsoft Corporation. Invention is credited to William R. Avery, Jose H. Durazo, Jensen M. Harris, Jesse Clay Satterfield, Martijn E. Van Tilburg, Bruce D. Wiedemann.
Application Number | 20100211889 12/769787 |
Document ID | / |
Family ID | 33555704 |
Filed Date | 2010-08-19 |
United States Patent
Application |
20100211889 |
Kind Code |
A1 |
Durazo; Jose H. ; et
al. |
August 19, 2010 |
Conversation Grouping of Electronic Mail Records
Abstract
Improved conversation grouping methods and systems are provided
for electronic mail records. Electronic mail messages that are
unread or flagged for follow-up are automatically displayed under
an associated conversation grouping heading. If a conversation
grouping contains only a single unread or flagged electronic mail
message, the single electronic mail message is automatically
displayed under the conversation grouping heading for review by a
user. For a conversation grouping having no unread or flagged
electronic mail messages, the latest electronic mail message in the
grouping is automatically displayed under the conversation grouping
heading.
Inventors: |
Durazo; Jose H.; (Seattle,
WA) ; Harris; Jensen M.; (Kirkland, WA) ;
Satterfield; Jesse Clay; (Seattle, WA) ; Van Tilburg;
Martijn E.; (Seattle, WA) ; Avery; William R.;
(Redmond, WA) ; Wiedemann; Bruce D.; (Redmond,
WA) |
Correspondence
Address: |
MERCHANT & GOULD (MICROSOFT)
P.O. BOX 2903
MINNEAPOLIS
MN
55402-0903
US
|
Assignee: |
Microsoft Corporation
Redmond
WA
|
Family ID: |
33555704 |
Appl. No.: |
12/769787 |
Filed: |
April 29, 2010 |
Related U.S. Patent Documents
|
|
|
|
|
|
Application
Number |
Filing Date |
Patent Number |
|
|
10851442 |
May 21, 2004 |
7716593 |
|
|
12769787 |
|
|
|
|
60484437 |
Jul 1, 2003 |
|
|
|
Current U.S.
Class: |
715/752 ;
709/206; 709/207 |
Current CPC
Class: |
G06Q 10/107
20130101 |
Class at
Publication: |
715/752 ;
709/206; 709/207 |
International
Class: |
G06F 3/14 20060101
G06F003/14; G06F 15/16 20060101 G06F015/16 |
Claims
1. A method for displaying electronic messages in a conversation
grouping, the method comprising: identifying a common conversation
thread comprising a plurality of electronic messages; grouping the
plurality of electronic messages in the identified common
conversation thread into a group heading; displaying at least one
unread message of the plurality of electronic messages under the
group heading; receiving an indication of group heading expansion;
and displaying, in response to the indication of group heading
expansion, all of the plurality of electronic messages in an
expanded display mode under the group heading.
2. The method of claim 1, further comprising displaying an icon
adjacent to the group heading, the icon being configured to, upon
selection, cause an expansion of the group heading.
3. The method of claim 2, wherein receiving the indication of group
heading expansion comprises receiving a selection of the icon.
4. The method of claim 1, further comprising displaying at least
one flagged message of the plurality of electronic messages under
the group heading in addition to the displayed at least one unread
message.
5. The method of claim 1, further comprising sorting, in the
expanded display mode, the displayed plurality of electronic
messages, wherein sorting the displayed plurality of electronic
messages comprises sorting based on a time of one of the following:
message receipt and message sending.
6. The method of claim 1, further comprising, when all of the
plurality of electronic messages have been read and a display mode
is not the expanded display mode, displaying a latest message of
the common conversation thread.
7. The method of claim 1, wherein grouping the plurality of
electronic messages in the identified common conversation thread
into the group heading comprises grouping the plurality of
electronic messages based on at least one of the following:
received electronic messages, sent electronic messages, and stored
electronic messages.
8. The method of claim 1, wherein identifying the common
conversation thread comprises identifying a common subject of the
plurality of electronic messages.
9. A computer-readable medium having a set of instructions which
when executed perform a method for displaying electronic messages
in a conversation grouping, the method executed by the set of
instructions comprising: identifying a common conversation thread
comprising a plurality of electronic messages; grouping the
plurality of electronic messages in the identified common
conversation thread into a group heading; displaying at least one
unread message of the plurality of electronic messages under the
group heading; receiving an indication of group heading expansion;
and displaying, in response to the indication of group heading
expansion, all of the plurality of electronic messages in an
expanded display mode under the group heading.
10. The computer-readable medium of claim 9, further comprising
displaying an icon adjacent to the group heading, the icon being
operative to, upon selection, cause an expansion of the group
heading.
11. The computer-readable medium of claim 10, wherein receiving the
indication of group heading expansion comprises receiving an
indication of a selection of the icon.
12. The computer-readable medium of claim 9, further comprising
displaying at least one flagged message of the plurality of
electronic messages under the group heading in addition to the
displayed at least one unread message.
13. The computer-readable medium of claim 9, further comprising
sorting, in the expanded display mode, the displayed plurality of
electronic messages, wherein sorting the displayed plurality of
electronic messages comprises sorting based on one of the
following: a time of message receipt and a time of message
sending.
14. The computer-readable medium of claim 9, further comprising,
when all of the plurality of electronic messages have been read and
a display mode is not the expanded display mode, displaying a
latest message of the common conversation thread.
15. The computer-readable medium of claim 9, wherein grouping the
plurality of electronic messages in the identified common
conversation thread into the group heading comprises grouping the
plurality of electronic messages based on at least one of the
following: received electronic messages, sent electronic messages,
and stored electronic messages.
16. The computer-readable medium of claim 9, wherein identifying
the common conversation thread comprises identifying a common
subject of the plurality of electronic messages.
17. A system for displaying electronic messages in a conversation
grouping, the system comprising: a memory storage; and a processing
unit coupled to the memory storage, wherein the processing unit is
operative to: identify a common conversation thread comprising a
plurality of electronic messages; group the plurality of electronic
messages in the identified common conversation thread into a group
heading; display at least one unread message of the plurality of
electronic messages under the group heading; display an expansion
icon adjacent to the group heading; receive a selection of the
expansion icon; and display, in response to the selection of the
expansion icon, all of the plurality of electronic messages in an
expanded display mode under the group heading.
18. The system of claim 17, wherein the processing unit is further
operative to display at least one flagged message of the plurality
of electronic messages under the group heading in addition to the
displayed at least one unread message.
19. The system of claim 17, wherein the processing unit is further
operative to sort, in the expanded display mode, the displayed
plurality of electronic messages based on one of the following: a
time of message receipt and a time of message sending.
20. The system of claim 17, wherein the processing unit is further
operative to, when all of the plurality of electronic messages have
been read and a display mode is not the expanded display mode,
display a latest message of the common conversation thread.
Description
RELATED APPLICATIONS
[0001] This application is a Continuation of co-pending U.S.
application Ser. No. 10/851,442 entitled "Conversation Grouping of
Electronic Mail Records" filed May 21, 2004, which claims benefit
under 35 U.S.C. .sctn.119(e) of U.S. Provisional Patent Application
No. 60/484,437, entitled "Combined Outlook Bar and Folder List,
Automatic Grouping, Adaptive Multi-Line View, Threaded View with
Easier Access to All New Email, Search Folders" filed Jul. 1, 2003,
which are incorporated herein by reference.
FIELD OF THE INVENTION
[0002] The present invention generally relates to
computer-generated user interfaces. More particularly, the present
invention relates to grouping electronic mail records in a
computer-generated user interface by electronic mail conversation
strings or threads.
BACKGROUND
[0003] With the advent of the computer age, computer software users
have grown accustomed to user-friendly software applications that
help them write, calculate, organize, prepare presentations, send
and receive electronic mail, make music, and the like. For example,
modem electronic mail programs allow users to send and receive
electronic mail to and from other users. Modem electronic mail
programs also allow users to store sent or received mail in a
variety of user-established storage folders.
[0004] According to prior electronic mail programs, a user
interface may be provided for storing a list of received, sent or
stored electronic mail messages or records. A typical electronic
mail record includes information identifying a party from which an
email message is received or to which an email message is sent.
Additional information may identify the subject of the message and
the time of message receipt or sending.
[0005] Prior systems allowed users to group email messages together
in a user interface according to an electronic mail conversation.
That is, all messages received by a user, sent by a user or stored
by a user that are part of an electronic mail conversation between
the user and other parties relating to a particular subject could
be grouped together to allow the user to read, review, or otherwise
dispose of messages included in a given electronic mail
conversation. According to prior systems, when messages contained
in a given conversation grouping were displayed, all messages
included in the conversation grouping were displayed. All messages
whether read or unread could be displayed or could be collapsed
under a grouping heading. Unfortunately, when the user expanded the
conversation grouping, or reviewed already displayed electronic
mail messages under the conversation grouping heading, the user was
required to review the list of all messages even though the user
may only be interested in viewing unread messages. Additionally, if
a conversation grouping contained only one email message, the user
nonetheless had to select the conversation grouping heading for
expansion to find that only a single email message item was
included. Thus, the user had to perform unnecessary steps to read
or otherwise dispose of single email messages placed in an
electronic mail conversation grouping.
[0006] Accordingly, there is a need for an improved conversation
grouping method and system for electronic mail records or messages.
It is with respect to these and other considerations that the
present invention has been made.
SUMMARY
[0007] Embodiments of the present invention solve the above and
other problems by providing an improved conversation grouping
method and system for electronic mail records and messages.
Electronic mail messages belonging to a common conversation thread,
as identified by a common subject, may be selectively grouped
together and displayed in an electronic mail user interface. A
conversation grouping may be created for received, sent, or stored
electronic mail messages.
[0008] According to aspects of the invention, a conversation
grouping heading is displayed in the electronic mail user interface
for each conversation grouping. Under each heading, any electronic
mail messages that have not been read or that have been read and
have been flagged for follow-up are automatically displayed under
the conversation grouping heading without requiring a user to
expand the conversation grouping. If only a single message is in
the conversation grouping, that single message is displayed under
the heading so that the user is not required to expand the grouping
to select the sole message contained therein. That is, the user may
select the sole message contained under the heading by selecting
the displayed electronic mail message record without the need for
expanding the grouping in which the sole message is contained. If
desired, the user may further expand a conversation grouping to
show all messages contained in the grouping whether read, flagged,
unflagged or unread. In an expanded display mode, messages may be
sorted within the grouping according to time of receipt, time of
sending, or a variety of other sorting properties.
[0009] According to other aspects of the invention, if all messages
in a given conversation grouping have been read and have not been
flagged for follow-up, then the latest message received or sent in
the conversation grouping is automatically displayed under the
grouping heading so that the user does not encounter a conversation
grouping heading without encountering at least a single electronic
mail message contained in the associated grouping. As described
above, if desired, all messages in the grouping of read and not
flagged messages may be displayed under the grouping heading by
selectively expanding the grouping.
[0010] At any time more than one electronic mail message belonging
to a particular conversation thread is displayed under a given
conversation grouping heading (whether an initial automatic display
or an expanded display), each successively displayed message in the
thread may be indented relative to the preceding message in the
same thread in order to distinguish one conversation thread from
another conversation thread in the same conversation grouping. For
example, a reply to a previous message is indented relative to the
previous message. A reply to the reply is indented relative to the
first reply. Upon the occurrence of a message in the conversation
grouping of the same subject, but that is not a reply to a previous
message, indentation is discontinued for that message to indicate a
"break" in the back-and-forth sequence of conversation replies in
the previous conversation thread. Preferably, a minimum number of
characters is always displayed for a given mail message regardless
of the number of indented mail messages contained in a given
conversation grouping record.
[0011] According to another aspect of the invention, in order to
display only unread or flagged messages under a given conversation
grouping prior to any further expansion of the grouping, the
electronic mail program responsible for displaying the electronic
mail messages builds a cached mail thread hierarchy. A list of
conversation mail threads is built where each mail thread points to
individual data items that represent individual mail messages and
that hold temporary data about individual mail messages such as
whether individual mail messages are to be automatically displayed
or not under a conversation grouping heading, as described
above.
[0012] These and other features and advantages, which characterize
the present invention, will be apparent from a reading of the
following detailed description and a review of the associated
drawings. It is to be understood that both the foregoing general
description and the following detailed description are exemplary
and explanatory only and are not restrictive of the invention as
claimed.
BRIEF DESCRIPTION OF THE DRAWINGS
[0013] FIG. 1 illustrates an exemplary computing operating
environment for embodiments of the present invention.
[0014] FIG. 2 illustrates a computer screen display showing an
electronic mail program user interface according to embodiments of
the present invention.
[0015] FIG. 3 illustrates a computer screen display showing an
electronic mail inbox user interface showing electronic mail
messages grouped together according to common conversations.
[0016] FIG. 4 is a simplified block diagram illustrating the
relationship between a cached source table and a cached thread
hierarchy for showing unread and/or flagged messages in a
conversation grouping according to embodiments of the present
invention.
DETAILED DESCRIPTION
[0017] As briefly described above, embodiments of the present
invention are directed to an improved conversation grouping method
and system for electronic mail records. According to embodiments of
the present invention, electronic mail messages that are unread or
flagged for follow-up are automatically displayed under an
associated conversation grouping heading. For any conversation
grouping containing a single unread or flagged electronic mail
message, the single electronic mail message is displayed under the
conversation grouping heading for review by a user. For a given
conversation grouping having no unread or flagged electronic mail
messages, at least the latest electronic mail message in the
grouping is automatically displayed under an associated
conversation grouping heading.
[0018] In the following detailed description, references are made
to the accompanying drawings that form a part hereof, and in which
are shown by way of illustrations specific embodiments or examples.
These embodiments may be combined, other embodiments may be
utilized, and structural changes may be made without departing from
the spirit or scope of the present invention. The following
detailed description is therefore not to be taken in a limiting
sense and the scope of the present invention is defined by the
appended claims and their equivalents.
[0019] Referring now to the drawings, in which like numerals
represent like elements through the several figures, aspects of the
present invention and the exemplary operating environment will be
described. FIG. 1 and the following discussion are intended to
provide a brief, general description of a suitable computing
environment in which the invention may be implemented. While the
invention will be described in the general context of program
modules that execute in conjunction with an application program
that runs on an operating system on a personal computer, those
skilled in the art will recognize that the invention may also be
implemented in combination with other program modules.
[0020] Generally, program modules include routines, programs,
components, data structures, and other types of structures that
perform particular tasks or implement particular abstract data
types. Moreover, those skilled in the art will appreciate that the
invention may be practiced with other computer system
configurations, including hand-held devices, multiprocessor
systems, microprocessor-based or programmable consumer electronics,
minicomputers, mainframe computers, and the like. The invention may
also be practiced in distributed computing environments where tasks
are performed by remote processing devices that are linked through
a communications network. In a distributed computing environment,
program modules may be located in both local and remote memory
storage devices.
[0021] Turning now to FIG. 1, an illustrative computer architecture
for a personal computer 2 for practicing the various embodiments of
the invention will be described. The computer architecture shown in
FIG. 1 illustrates a conventional personal computer, including a
central processing unit 4 ("CPU"), a system memory 6, including a
random access memory 8 ("RAM") and a read-only memory ("ROM") 10,
and a system bus 12 that couples the memory to the CPU 4. A basic
input/output system containing the basic routines that help to
transfer information between elements within the computer, such as
during startup, is stored in the ROM 10. The personal computer 2
further includes a mass storage device 14 for storing an operating
system 16, application programs, such as the application program
105, and data.
[0022] The mass storage device 14 is connected to the CPU 4 through
a mass storage controller (not shown) connected to the bus 12. The
mass storage device 14 and its associated computer-readable media,
provide non-volatile storage for the personal computer 2. Although
the description of computer-readable media contained herein refers
to a mass storage device, such as a hard disk or CD-ROM drive, it
should be appreciated by those skilled in the art that
computer-readable media can be any available media that can be
accessed by the personal computer 2.
[0023] By way of example, and not limitation, computer-readable
media may comprise computer storage media and communication media.
Computer storage media includes volatile and non-volatile,
removable and non-removable media implemented in any method or
technology for storage of information such as computer-readable
instructions, data structures, program modules or other data.
Computer storage media includes, but is not limited to, RAM, ROM,
EPROM, EEPROM, flash memory or other solid state memory technology,
CD-ROM, DVD, or other optical storage, magnetic cassettes, magnetic
tape, magnetic disk storage or other magnetic storage devices, or
any other medium which can be used to store the desired information
and which can be accessed by the computer.
[0024] According to various embodiments of the invention, the
personal computer 2 may operate in a networked environment using
logical connections to remote computers through a TCP/IP network
18, such as the Internet. The personal computer 2 may connect to
the TCP/IP network 18 through a network interface unit 20 connected
to the bus 12. It should be appreciated that the network interface
unit 20 may also be utilized to connect to other types of networks
and remote computer systems. The personal computer 2 may also
include an input/output controller 22 for receiving and processing
input from a number of devices, including a keyboard or mouse (not
shown). Similarly, an input/output controller 22 may provide output
to a display screen, a printer, or other type of output device.
[0025] As mentioned briefly above, a number of program modules and
data files may be stored in the mass storage device 14 and RAM 8 of
the personal computer 2, including an operating system 16 suitable
for controlling the operation of a networked personal computer,
such as the WINDOWS operating systems from Microsoft Corporation of
Redmond, Wash. The mass storage device 14 and RAM 8 may also store
one or more application programs. In particular, the mass storage
device 14 and RAM 8 may store an application program 105 for
providing a variety of functionalities to a user. For instance, the
application program 105 may comprise many types of programs such as
a word processing application program, a spreadsheet application, a
desktop publishing, and the like. According to an embodiment of the
present invention, the application program 105 comprises a multiple
functionality software application for providing a user calendaring
functionality, electronic mail functionality, contacts information
functionality, electronic notes functionality, electronic journal
functionality and the like. Some of the individual program modules
comprising the multiple functionality program include a calendar
module 125, an electronic mail program 130, a contacts module 135,
a tasks module 140, a notes module 145 and a journal module (not
shown). An example of such a multiple functionality program 105 is
OUTLOOK.RTM. manufactured by Microsoft Corporation.
[0026] FIG. 2 illustrates a computer screen display showing an
electronic mail program user interface according to embodiments of
the present invention. The user interface is illustrative of an
electronic mail program user interface for displaying electronic
mail items received, sent or stored in a variety of storage
folders. An example electronic mail program user interface,
illustrated in FIG. 2, is provided by OUTLOOK.RTM. manufactured and
marketed by Microsoft Corporation of Redmond, Wash.
[0027] The user interface illustrated in FIG. 2 includes a combined
content selection and display pane 210 through which a user may
select other types of functionality provided by a multiple
functionality software application (described above) through which
the user's electronic mail program may be provided. For example,
through the combined contents selection and display pane 210, the
user may select calendar functionality, contacts functionality,
tasks functionality, notes functionality, and the like.
[0028] According to embodiments of the present invention, an inbox
pane 220 is provided with which the user may view a listing of
electronic mail messages that have been received by the user, that
have been sent by the user, or which have been stored in one or
more user-established storage folders. The inbox pane 220 is
illustrative of an electronic mail program inbox with which the
user may display and review a listing of electronic mail items
received by the user. A number of electronic mail records such as
the mail records 235 and 240 are listed in the inbox pane 220. A
scroll button 233 is illustrated for allowing the user to scroll up
or down through mail items listed in the inbox pane 220.
[0029] To the right of the inbox pane 220, a preview pane 270 is
illustrated for displaying the contents of a selected mail item. As
is appreciated by those skilled in the art, if the user has
activated the preview pane functionality, the user may receive a
preview of the contents of a selected mail message by focusing on
the mail message in the inbox pane 220. For purposes of
illustration only, the text and graphics displayed in the preview
pane 270 are displayed in "Greeked" format where the actual
substance of the text or graphics is not displayed in legible
form.
[0030] According to embodiments of the present invention, an
"Arranged by" field 225 is provided along an upper edge of the
inbox pane 220. When the user selects a given arrangement type, the
selected arrangement type is identified in the "Arranged by" field.
For example, referring to FIG. 2, an arrangement type of
"Conversation" has been selected by the user and is thus identified
in the "Arranged by" field 225. Electronic mail messages may be
grouped together according to a number of arrangement types,
including "Date," "Size," "Subject," presence or absence of
properties such as attachments, and a variety of other arrangement
types. For a detailed description of automatic grouping of
electronic mail records according to a variety of arrangement types
such as the "Conversation" type as illustrated in FIGS. 2 and 3,
see U.S. Patent Application, "Automatic Grouping of Electronic
Mail," applicant reference number MS301751.01, attorney/agent
reference number 60001.0255USU1, which is incorporated herein by
reference as if full set out herein.
[0031] Adjacent to the "Arranged by" field 225 is a field 230 for
identifying an overall sorting or ordering property applied to mail
records displayed in the inbox pane 220. For example, if mail
records displayed in the inbox pane 220 are displayed in a newest
mail item on top orientation, the text in the field 230 may read
"Newest on top." Conversely, if mail items in the inbox pane 220
are displayed according to a newest mail item at the bottom where
oldest mail items are pushed to the top of the listing, the text in
the field 230 may read "Newest on bottom", or "Oldest on top." The
order with which mail records are sorted may be selectively changed
by the user by toggling the field 230 or the associated toggling
switch located on the right side of the text contained in the field
230. As should be appreciated a number of ordering properties may
be utilized including the age of the mail, size of mail, and
presence of applied properties, for example, flags, attachments and
the like.
[0032] Referring still to the inbox pane 220, illustrated in FIG.
2, a user may expand or contract the size of the inbox pane 220 by
dragging one side of the inbox pane 220 inward or outward as
desired. For example, if the user desires to narrow the size of the
inbox pane 220, the user may drag the right side of the user
interface inward in order to allow for more space in the preview
pane 270 positioned adjacent to the inbox pane 220. As the inbox
pane 220 is narrowed, icons and text fields of individual mail
records may be rearranged to account for the change in size of the
user interface. For a detailed description of rearranging the
contents of an electronic mail record as the size of the user
interface in which the record is displayed is changed, see United
States Patent Application, "Adaptive Multi-Line View User
Interface," applicant reference number MS301754.01, attorney/agent
reference number 60001.0257USU1, which is incorporated herein by
reference as if fully set out herein.
[0033] According to embodiments of the present invention, as
illustrated in FIG. 2, the inbox pane 220 contains electronic mail
records received by the user automatically grouped according to a
"Conversation" arrangement type. Electronic mail messages belonging
to a common conversation thread, as identified by a common mail
subject, may be selectively grouped together and displayed in a
conversation grouping record such as the record 235, illustrated in
FIG. 2. A conversation grouping may be created for received, sent
or stored electronic mail messages. As illustrated in FIG. 2, after
electronic mail messages are arranged or grouped according to a
conversation grouping arrangement, electronic mail messages that
have a common subject are grouped together in a single electronic
mail record having a conversation grouping heading for identifying
the subject matter of electronic mail messages contained in the
grouping. For example, referring to FIG. 2, a first conversation
grouping record 235 is illustrated in the inbox pane 220. A heading
"review form" is displayed over electronic mail messages received
by the user and having a common subject of "review form."
[0034] As will be described in detail below, according to
embodiments of the present invention, any electronic mail messages
belonging to a given conversation grouping that are unread or that
have been flagged for follow up by the user are automatically
displayed under the conversation grouping heading as illustrated
for the conversation grouping record 235. For example, the flag 250
illustrates a message that has been flagged by a user for follow up
review. If a given conversation grouping contains only one unread
or flagged electronic mail message, that single electronic mail
message is nonetheless displayed under an associated conversation
grouping heading as illustrated by the second electronic mail
record illustrated in FIG. 2 bearing the heading "Grouping by flag
status." Advantageously, then, a user is not required to expand a
given conversation grouping in order to select unread or flagged
electronic mail messages, and the user is not required to expand a
conversation grouping heading in order to select a single unread or
read electronic mail message contained in the conversation
grouping. Referring to the electronic mail record 240, if a given
conversation grouping contains only electronic mail messages that
have been read and that have not been flagged for follow up, the
latest received or sent electronic mail message in the conversation
grouping is displayed under the grouping heading to alert the user
of the presence of electronic mail messages in the conversation
grouping.
[0035] According to embodiments of the invention and referring back
to the first conversation grouping record 235, illustrated in FIG.
2, if the user reads one of the unread messages displayed in the
conversation grouping record 235, the read message will be marked
as having been read by displaying the read message with a lighter
display font. If the user dismisses the inbox pane 220 or otherwise
begins a new session of electronic mail program and subsequently
displays the inbox pane 220 with electronic mail messages arranged
in conversation grouping arrangement, the read message from the
conversation grouping record 235 will no longer be displayed to the
user. That is, only the unread messages will be displayed under the
conversation grouping heading. On the other hand, if the message
read by the user is marked for follow up by the user, the message
marked for follow up will be displayed under the conversation
grouping heading.
[0036] FIG. 3 illustrates a computer screen display showing an
electronic mail inbox user interface showing electronic mail
messages grouped together according to common conversations. As
shown in the example inbox pane 220, illustrated in FIG. 3,
individual electronic mail groupings may be sorted relative to each
other according to a variety of sorting properties. For example,
each of the different conversation groupings are sorted relative to
each other based on time and date of receipt of the latest
electronic mail message contained in each of the different
conversation groupings. For example, referring to FIG. 3, the first
conversation grouping 305 illustrated at the top of the inbox pane
220 bears a date/time of 10:03 AM. The second conversation grouping
310 bears a latest message receipt time of 9:21 AM. The third
conversation grouping record bears a receipt time of 9:14 AM, and
so on. As should be understood, the different conversation
groupings may be sorted by other properties, for example, presence
or absence of attachments, file size of the largest mail message,
alphabetical conversation grouping headings, and the like.
[0037] Referring to the second conversation grouping record 310,
illustrated in FIG. 3, and the first conversation grouping record
235, illustrated in FIG. 2, when a given record contains unread
messages or messages that have been flagged for follow up, those
messages are automatically displayed under the conversation
grouping heading without the need for further expansion of the
conversation grouping by the user. However, as described above,
where a conversation grouping contains only messages that have been
read and have not been flagged for follow up, only the latest
electronic mail message in the conversation grouping is displayed
under the conversation grouping heading. If desired, the user may
further expand the conversation grouping so that all electronic
mail messages contained in the conversation grouping are
displayed.
[0038] Referring to the conversation grouping 310, illustrated in
FIG. 3, the user may select the button 315 for expanding the
conversation grouping to display all electronic mail messages
contained in the conversation grouping. Conversely, the user may
collapse the record by selection of the button 315 to return the
displayed conversation grouping record to the automatic display
mode. For example, referring to the third conversation grouping,
illustrated in FIG. 3, a single unread message from a mail sender
"Marc Olson" is illustrated having an unexpanded chevron button
disposed adjacent to the conversation grouping heading. Because a
single unread message is displayed, the user may readily determine
that only one unread message is included in the conversation
grouping. However, because of the presence of the chevron button
315 located adjacent to the conversation grouping heading, the user
understands that additional electronic mail messages are contained
in the grouping that have been previously read and have not been
flagged for follow up. By selection of the chevron button 315, the
user may expand the conversation grouping to display the additional
electronic mail messages contained in the grouping. On the other
hand, the fourth conversation grouping record 330 also displays a
single electronic mail message from a mail sender "Marc Olson," but
the absence of a chevron button 315 for this record alerts the user
that no additional electronic mail messages, whether read or
unread, are included in this conversation grouping.
[0039] Referring back to the first conversation grouping record
235, illustrated in FIG. 2, and the second conversation grouping
310, illustrated in FIG. 3, when more than one electronic mail
message is included in a given conversation thread, whether
displayed automatically, or whether displayed after expansion of
the conversation grouping, each successive electronic mail message
in the conversation thread is displayed in an indented orientation
relative to a preceding electronic mail message in the same thread
in order to distinguish one conversation thread from another
conversation thread in the same conversation grouping. For example,
a reply to a previous message is indented relative to the previous
message. A reply to the reply is indented relative to the first
reply. Upon the occurrence of a message in the conversation
grouping of the same subject, but that is not a reply to a previous
message, indentation is discontinued for that message to indicate a
"break" in the back-and-forth sequence of conversation replies in
the previous thread. According to an embodiment of the present
invention, no indented displayed electronic mail message is
displayed with less than a minimum number of characters (e.g., ten
characters). Utilization of a minimum number of displayed
characters insures that a user will always be able to view a
portion of identification information associated with a given
electronic mail message so that the user may determine the nature
of the electronic mail message and whether the user desires to
review or otherwise dispose of the displayed electronic mail
message.
[0040] Referring to the fourth conversation grouping 330,
illustrated in FIG. 3, a variety of icons may be displayed for
providing additional information to a user. For example, the
attachment icon 335 is displayed adjacent to the conversation
grouping heading to alert the user that one or more electronic mail
messages contained in the conversation grouping includes an
attachment. An attachment icon is also displayed to the right of a
single electronic mail message contained in the conversation
grouping record 330 to alert the user that the electronic mail
message includes an attached file or document. Other icons such as
the header icon 340 may be displayed for providing other types of
information to the user. For example, the header icon 340 may be
used to indicate to the user that the entire electronic mail
message file associated with the displayed electronic mail message
has not been downloaded from an associated electronic mail server
to the user's client-side computer. That is, the icon 340 alerts
the user that only identification information such as the identity
of the mail sender and the time and date of receipt of the
electronic mail message are displayed to the user, and the
associated electronic mail message text and/or an attached file or
document has not been downloaded to the user's computer. As is well
known to those skilled in the art, such functionality allows a user
to avoid having excessively large electronic mail message text
files or attached documents automatically downloaded to the user's
client-side computer until the user selects the electronic mail
message.
[0041] As described above, according to embodiments of the present
invention, when a given conversation grouping contains email
messages that have not been read or that have been read and that
have been flagged for follow up, those messages are automatically
displayed under an associated conversation grouping heading, such
as the messages displayed in the first conversation grouping record
235, illustrated in FIG. 2. In order to display only unread or
flagged email messages in a given conversation grouping, the
electronic mail program 130 must track and account for those
messages associated with a given conversation thread that have been
read or that have been flagged for follow up. Referring to FIG. 4,
according to an embodiment of the present invention, the email
program 130 maintains a cached source table 410 and an associated
folder contents table interface 415 for storing data associated
with conversation threads (electronic mail messages of a common
conversation or common subject). The folder contents table
interface 415 is utilized by the electronic mail program 130 for
interfacing electronic mail messages belonging to a given
conversation thread that have been stored by the user in one or
more storage folders. A thread collapse state 420 and an associated
persisted hash table 425 are utilized by electronic mail program
130 for maintaining data associated with conversation groupings
that are collapsed versus conversation groupings that are
expanded.
[0042] According to embodiments of the present invention, the
electronic mail program 130 builds a cached thread hierarchy 430
for electronic mail messages that have not been read or that have
been flagged for follow up. A list of conversation mail threads,
435, 445 is built where each mail thread 435, 445 represents a
given electronic mail conversation grouping. Each of the mail
threads points to individual data items 440, 450 that represent
individual mail messages associated with a given conversation mail
thread. The data items 430, 450 hold temporary data about
individual mail messages, such as whether a particular mail message
is to be automatically displayed or not under a given conversation
grouping heading. A row look-up index 460 and a hash table 470 are
provided for maintaining the data associated with the location in
memory of individual electronic mail messages.
[0043] Referring then to the first conversation grouping record
235, illustrated in FIG. 2, a mail thread 435 is established in the
cached thread hierarchy for the conversation grouping record 235.
Data items 440 representing each electronic mail message contained
in the conversation grouping record 235 are pointed to by the
thread 435. Each data item 440 is associated with a given
electronic mail message contained in the conversation grouping and
holds temporary data, about associated electronic mail messages.
Consequently, for each of the unread messages contained in the
conversation grouping record 235, a data item in the cached thread
hierarchy will contain information pointed to by the mail thread
435 to notify the electronic mail program 130 that those electronic
mail messages have not been read and that they should be
automatically displayed in the conversation grouping record 235
under the appropriate conversation grouping heading when the user
arranges the user's email messages by "Conversation."
[0044] Having described exemplary operation and display of an
improved electronic mail conversation grouping method and system
with respect to FIGS. 2, 3 and 4 above, it is advantageous to
describe operation of the conversation grouping method and system
in terms of an example operation. Consider, for example that a user
goes home for the evening, and while the user is home and is not
receiving electronic mail, the user receives the following new
electronic mail messages set out in Table 1. It should be
appreciated that the electronic mail messages set out below are for
purposes of example only and are not set out according to a
particular format as may typically be displayed to the user. For
each message set out below, the time of receipt, the identity of
the sending party and the subject are provided.
TABLE-US-00001 TABLE 1 5:48 PM, Jane Miller, trade show 5:49 PM,
John Smith, trade show 6:21 PM, Ronald Ambrose, meeting directions
9:15 PM, Jane Miller, trade show 6:48 AM, Manuel Moreno, check this
website out 7:35 AM, Robert Jones, business cards 7:49 AM,
Facilities, new no parking zones 7:52 AM, Jane Miller, trade
show
[0045] If the user's electronic mail messages are simply sorted by
date where unread messages are boldfaced and read messages are not
boldfaced, the user's electronic mail messages may be presented or
displayed as set out in Table 2 below.
TABLE-US-00002 TABLE 2 7:52 AM, Jane Miller, trade show 7:49 AM,
Facilities, new no parking zones 7:35 AM, Robert Jones, business
cards 6:48 AM, Manuel Moreno, check this website out 9:15 PM, Jane
Miller, trade show 6:21 PM, Ronald Ambrose, meeting directions 5:49
PM, John Smith, trade show 5:48 PM, Jane Miller, trade show 4:45
PM, Joe Brown, company dinner (already read) 4:20 PM, Alfred Baker,
office furniture (already read) 3:25 PM, Alfred Baker, office
furniture (already read)
[0046] If the user selects to have her electronic mail messages
grouped according to a prior "Conversation" grouping system
described in the background section above, the user likely will
receive a list of grouping headings such as set out below in Table
3. Unfortunately, under the prior system, the user must expand each
heading to view mail contained under each heading. And, if a given
grouping, for example, "trade show," contains the four new messages
listed above plus five older messages already read by the user, the
expanded view will contain all nine messages sorted by some sorting
property, such as date. The user will have to parse the expanded
list of messages to find those that have not been read. In
addition, for any grouping containing only a single message (read
or unread), for example, "company dinner," the user will have to
expand the grouping and then select the single message in order to
review or otherwise dispose of the message.
TABLE-US-00003 TABLE 3 +trade show +new no parking zones +business
cards +check this website out +meeting directions +company dinner
+office furniture
[0047] According to embodiments of the present invention, if the
user selects to have the received electronic mail messages grouped
according to a "Conversation" arrangement, conversation grouping
headings and certain received messages may be displayed as set out
in Table 4 below. As seen in Table 4, each of the unread
messages
TABLE-US-00004 TABLE 4 +trade show Jane Miller, 5:48 PM John Smith,
5:49 PM Jane Miller, 9:15 PM Jane Miller, 7:52 AM new no parking
zones Facilities, 7:49 AM business cards Robert Jones, 7:35 AM
check this website out Manuel Moreno, 6:48 AM meeting directions
Ronald Ambrose, 6:21 PM company dinner Joe Brown, 4:45 PM +office
furniture Alfred Baker, 4:20 PM
grouped under the "trade show" heading are automatically displayed
so that the user does not have to expand the grouping to see those
messages. If the user does desire to see any messages in that
grouping that have been read, the user may select the icon disposed
adjacent to the heading to further expand the grouping to view all
messages contained in the grouping. Single messages are contained
in the "new no parking zones," "business cards," "check this
website out," and "meeting directions" conversation groupings, but
those messages are automatically displayed under the corresponding
headings so that the user may quickly select the messages without
the need to first expand the grouping followed by selection of the
desired message. Similarly, a single read message is contained in
the "company dinner" grouping, but the single message is
automatically displayed under the heading. In the case of the
"office furniture" grouping, two read messages are included.
According to embodiments of the present invention, the latest read
message is automatically displayed under the heading, and an
expansion icon is disposed adjacent to the heading to allow the
user to further expand the grouping to view additional messages
contained in the grouping.
[0048] As described herein, improved electronic mail message
conversation grouping methods and systems are provided. It will be
apparent to those skilled in the art that various modifications or
variations may be made in the present invention without departing
from the scope or spirit of the invention. Other embodiments of the
present invention will be apparent to those skilled in the art from
consideration of the specification and practice of the invention
disclosed herein.
* * * * *