The embodiments disclosed herein relate generally to systems and methods for categorizing and displaying electronic messages.
A typical user of a messaging application often receives a large number of electronic messages, such as emails, social network posts, contact information, search queries and calendar entries every day. Such a large number of electronic messages can be cumbersome to navigate through. Messaging application users wish to navigate through a listing of such electronic messages quickly to identify relevant messages. However, the volume of electronic messages makes it difficult to do so. Categorization of such messages into clusters or conversations is useful. However, methods for maintaining user flexibility and control over such categorization are lacking.
The above identified technical problems are reduced or eliminated by the systems and methods disclosed herein.
The embodiments disclosed herein are illustrated by way of example, and not by way of limitation, in the figures of the accompanying drawings. Like reference numerals refer to corresponding parts throughout the drawings.
Technical solutions (e.g., computing systems, methods, and non-transitory computer readable storage mediums) for clustering messages are provided in the present application.
One aspect of the present disclosure provides a method comprising, at a computing device having one or more processors and memory storing one or more programs for execution by the one or more processors, of receiving a selection, by a first user, of a subset of message clusters in a plurality of message clusters. Each respective message cluster in the plurality of message clusters is uniquely associated with a corresponding set of clustering rules in a plurality of sets of clustering rules. In the method, each respective electronic message in a first plurality of electronic messages is assigned to one or more of the message clusters in the subset of message clusters selected by the first user in accordance with the sets of clustering rules, in the plurality of sets of clustering rules, associated with the subset of messaging clusters. Each respective electronic message in the first plurality of electronic messages is addressed to the first user or is from the first user. The set of clustering rules for a first message cluster in the subset of message clusters (i) acts to prevent at least some electronic messages in the first plurality of electronic messages from being assigned to the first message cluster and (ii) assigns electronic messages to the first message cluster without regard to content relatedness between electronic messages in the first plurality of electronic messages and electronic messages already in the first message cluster. Further in the method, there is formatted for display, in an electronic message folder, electronic messages in the first message cluster as a first single cluster graphic.
In some embodiments of the present disclosure, the first message cluster comprises a second plurality of electronic messages, the electronic message folder further includes a third plurality of electronic messages not associated with the first message cluster, and the method further comprises, responsive to a predefined user action in connection with the first single cluster graphic, expanding display of the first single cluster graphic by, while maintaining display of information representing the third plurality of electronic messages, formatting for display content of an electronic message in the second plurality of electronic messages.
In some embodiments of the present disclosure, the plurality of message clusters comprises one or more system message clusters and the corresponding sets of clustering rules for the one or more system message clusters are applied on a system-wide basis across a plurality of users including the first user. In some embodiments, the one or more system message clusters includes a message cluster selected from the group consisting of a message cluster for personal electronic messages, a message cluster for social electronic messages, a message cluster for electronic messages pertaining to promotions, a message cluster for electronic messages pertaining to updates, and a message cluster for electronic messages pertaining to forums. In some embodiments, a first clustering rule for a first system cluster in the one or more system message clusters is received from the first user. In such embodiments, electronic messages in the first plurality of electronic messages are assigned to the first system cluster that both (i) satisfy the first clustering rule and (ii) satisfy the set of clustering rules for the first system cluster.
In some embodiments of the present disclosure, the plurality of message clusters comprises one or more user defined message clusters and the corresponding set of clustering rules for the one or more user defined message clusters are uniquely applied to electronic messages addressed to the first user, or authored by the first user, in order to determine which electronic messages are to be assigned to the one or more user defined message clusters.
In some embodiments of the present disclosure, a preview request associated with a second message cluster in the plurality of message clusters is received. Responsive to the preview request, a designation of the identity of one or more senders of electronic messages in the first plurality of electronic messages that qualify for inclusion in the second message cluster in accordance with the set of clustering rules associated with the second message cluster is formatted for display.
In some embodiments of the present disclosure, each message cluster in the plurality of message clusters is uniquely associated with a message category in a plurality of message categories and the method further comprises receiving a search request that specifies a message category in the plurality of message categories and, responsive to the search request, formatting for display a designation of the identity of each electronic message in the first plurality of electronic messages that qualifies for assignment in the message cluster associated with the message category. In some embodiments the received message category is one of personal, social, promotions, updates and forums.
In some embodiments of the present disclosure, each message cluster in the plurality of message clusters is uniquely associated with a message category in a plurality of message categories and the method further comprises receiving a notification designation that specifies a message category in the plurality of message categories. Responsive to the notification designation, an alert is formatted for display upon receipt of an electronic message that qualifies for assignment to the message cluster associated with the message category. In some embodiments, the message category is one of personal, social, promotions, updates or forums. In some embodiments, the notification is conditional upon a device associated with the first user so that the notification is suppressed when the first user is using a device in a first device class and the notification is made when the first user is using a device in a second device class. In some embodiments, the first device class is one of desktop or mobile and the second device class is other than the first device class and is one of desktop or mobile.
In other aspects of the present disclosure, computing systems and non-transitory computer storage mediums for executing one or more steps of any of the above-described methods are also disclosed.
As explained above, a typical user often receives and/or sends a large number of electronic messages, such as emails, social network posts, contact information, search queries and calendar entries every day. Such a large number of electronic messages can be cumbersome to navigate through. In particular, when a user receives a large number of incoming messages, the user often needs to mark all of the incoming messages (e.g., as a read message) so that the user does not need to revisit the same messages. However, this is time-consuming and inefficient.
Message clustering simplifies a user interface for displaying messages, because clustered messages are represented by a single user interface object, instead using a single user interface object for each message in the group.
The embodiments described herein provide various technical solutions to improving access to electronic messages, and in particular to the above-identified problems, by providing techniques for displaying electronic messages to a user. Instead of requiring a user to manually categorize every electronic message of interest, a plurality of message clusters is defined. Each message cluster is associated with a set of clustering rules that dictate which messages are to be assigned to the message clusters. In some embodiments it is possible for a single electronic message to be categorized into more than one message cluster. Once defined, the sets of clustering rules act to cluster messages into the appropriate message clusters in the plurality of message clusters. Clusters are described in U.S. patent application Ser. No. 14/139,205, filed Dec. 23, 2013, entitled “Systems and Methods for Clustering Electronic Messages,” which is hereby incorporated by reference herein in its entirety. Whereas conversations aggregate electronic messages based on content relatedness (e.g., header content relatedness) between messages already in the conversations and messages being considered for assignment to conversations, electronic messages are organized into clusters without regard to content relatedness between messages within the clusters and messages being considered for assignment to the clusters. For example, a string of messages from and to a first and second user or group of users are good candidates for inclusion in a conversation because of the content relatedness between the messages in the conversations and the messages being considered for the conversations. However, absent some additional criterion or factor, the relatedness in the source and destination of these messages does not serve as a basis for inclusion in the same cluster.
Details of embodiments are now described in relation to the Figures.
In some embodiments, the computing system 100 includes one or more devices 102 (e.g., device 102A, 102B, 102C, 102D . . . , and 102N), a communication network 104, and a user cluster displaying system 106 (also called herein a user displaying system). In some embodiments, a device 102 is a phone (mobile or landline, smart phone or otherwise), a tablet, a computer (mobile or otherwise), a fax machine, or an audio/video recorder.
In some embodiments, a device 102 obtains an electronic message from (e.g., drafted or generated by) a user of the device 102, and transmits the electronic message to the user interface cluster displaying system 106 for displaying with other electronic messages. For example, after determining that user Jack sends an electronic message to user Mary, the device 102 transmits the electronic message to the user interface cluster displaying system 106, which processes the electronic message into a first single cluster graphic for display in a listing of electronic messages for Mary.
In some embodiments, an electronic message is a file transfer 111-a (e.g., a photo, document, or video download/upload), an email 111-b, an instant message 111-c (e.g., a GOOGLE HANGOUT message), a fax message 111-d, a social network update 111-e (e.g., a GOOGLE PLUS update), or a voice message 111-f.
In some embodiments, a device 102 includes a messaging application 150 and optionally an analysis module 110. In some embodiments, the messaging application 150 processes incoming and outgoing electronic messages into and from the device 102, such as an outgoing email sent by a user of the device 102 to another user, and a chat message by another user to a user of the device 102. In some embodiments the messaging application 150 is an e-mail application. In some embodiments, the analysis module 110 resident on the device 102 balances processing load with the analysis module 170 resident on the user interface object displaying system 106. For example, after a user requests to send out a total of six emails, the analysis module 110 on the device 102 processes the first three emails (which, in some embodiments, include plain text emails, e.g., without HTML content or attachments, and thus might require less processing power), and the analysis module 170 on the user interface object displaying system 106 processes the remaining three emails (which, in some embodiments, include HTML content or attachments, and thus might require more processing power).
In some embodiments, the communication network 104 interconnects one or more devices 102 with each other, and with the user interface object displaying system 106. In some embodiments, the communication network 104 optionally includes the Internet, one or more local area networks (LANs), one or more wide area networks (WANs), other types of networks, or a combination of such networks.
With reference to
In some embodiments, the user interface cluster displaying system 106 analyzes content of incoming or outgoing electronic messages (e.g., incoming messages 111), and assigns these electronic messages to one or more message clusters (e.g., message clusters 120-1, 120-2 . . . 120-m) in accordance with the respective plurality of sets of clustering rules 114. Each respective message cluster 120 is uniquely associated with a corresponding set of clustering rules in a plurality of sets of clustering rules 114. A message cluster (e.g., the message cluster 120-1) corresponds to more than one electronic messages, with one or more display states (e.g., states 121-1, 121-2 . . . 121-n). For example, after analyzing the message body of an electronic message, the user interface cluster displaying system 106 determines (e.g., with a 90% confidence level) that the electronic message is a “Promotion” message (e.g., an email with advertising materials), and accordingly assigns the electronic message to a “Promotion” message cluster (e.g., the message cluster 120-2) in accordance with the set of clustering rules associated with message cluster 120-2. In some embodiments, assigning an electronic message to a respective message cluster 120 includes assigning a label or category (a “Personal,” “Social,” “Promotions,” “Updates,” or “Forums” label) that represents the respective message cluster 120. In some embodiments, a message cluster (e.g., message cluster 120-1) has at least three display states, a first display state (e.g., 121-1) displaying a short text-based summary of the various electronic messages in the cluster 120-1, a second display state (e.g., 121-2) displaying a listing of the electronic messages in the cluster 120-1 with a subset of the text for each respective electronic message, and a third display state (e.g., 121-3) comprising the full text of the body of one of the electronic messages in the cluster 120-1.
In some embodiments, the analysis module 170 analyzes an electronic message against the plurality of sets of clustering rules 114, to determine how to display the electronic message. For example, an incoming electronic message is first analyzed to determine if it can be displayed as a part of one or more existing clusters 120 (e.g., clusters 120-1 through 120-m). In some embodiments, the analysis module 170 also determines and updates one or more display states for the respective message clusters of the plurality of message clusters (e.g., clusters 120-1 . . . 120-m).
Advantageously, each respective user of computing system 100 is able to select which clusters 120 will be used to cluster electronic messages associated with the respective user. For example, in some embodiments, user interface cluster displaying system 106 receives a selection, by a first user of computing system 100, of a subset of message clusters in a plurality of possible message clusters. Each respective message cluster 120 in the plurality of message clusters is uniquely associated with a corresponding set of clustering rules in the plurality of sets of clustering rules 114. Each respective electronic message 113 in a first plurality of electronic messages (e.g., the messages in message queue 112) is assigned to one or more of the message clusters in the subset of message clusters in accordance with the sets of clustering rules, in the plurality of sets of clustering rules 114, associated with the subset of messaging clusters selected by the user. In some embodiments each respective electronic message in the first plurality of electronic messages is addressed to the first user. In some embodiments each respective electronic message in the first plurality of electronic messages is addressed to the first user or is from the first user. The set of clustering rules for a first message cluster 120 in the subset of message clusters (i) acts to prevent at least some electronic messages in the first plurality of electronic messages from being assigned to the first message cluster and (ii) assigns electronic messages to the first message cluster without regard to content relatedness between electronic messages in the first plurality of electronic messages and electronic messages already in the first message cluster. There is formatted for display, in an electronic message folder, electronic messages in the first message cluster as a first single cluster graphic. This first single cluster graphic can take any of a variety of forms or shapes. For example, in some embodiments, the first single cluster graphic can be any of the cluster states described above. In another example, in some embodiments, the first single cluster graphic can be a tab, icon or other graphical representation.
In some embodiments of the present disclosure, the plurality of message clusters comprises one or more system message clusters and the corresponding sets of clustering rules for the one or more system message clusters are applied on a system-wide basis across a plurality of users including the first user. In some embodiments, the one or more system message clusters includes a message cluster selected from the group consisting of a message cluster for personal electronic messages, a message cluster for social electronic messages, a message cluster for electronic messages pertaining to promotions, a message cluster for electronic messages pertaining to updates, and a message cluster for electronic messages pertaining to forums. In some embodiments, a first clustering rule for a first system cluster in the one or more system message clusters is received from the first user. In such embodiments, electronic messages in the first plurality of electronic messages are assigned to the first system cluster that both (i) satisfy the first clustering rule and (ii) satisfy the set of clustering rules for the first system cluster.
In some embodiments of the present disclosure, the plurality of message clusters comprises one or more user defined message clusters and the corresponding set of clustering rules for the one or more user defined message clusters are uniquely applied to electronic messages addressed to the first user, or authored by the first user, in order to determine which electronic messages are to be assigned to the one or more user defined message clusters.
In some embodiments of the present disclosure, a preview request associated with a second message cluster in the plurality of message clusters is received. Responsive to the preview request, a designation of the identity of one or more senders of electronic messages in the first plurality of electronic messages that qualify for inclusion in the second message cluster in accordance with the set of clustering rules associated with the second message cluster is formatted for display.
In some embodiments of the present disclosure, each message cluster in the plurality of message clusters is uniquely associated with a message category in a plurality of message categories and the method further comprises receiving a search request that specifies a message category in the plurality of message categories and, responsive to the search request, formatting for display a designation of the identity of each electronic message in the first plurality of electronic messages that qualifies for assignment in the message cluster associated with the message category. In some embodiments the received message category is one of personal, social, promotions, updates and forums.
In some embodiments of the present disclosure, each message cluster in the plurality of message clusters is uniquely associated with a message category in a plurality of message categories and the method further comprises receiving a notification designation that specifies a message category in the plurality of message categories. Responsive to the notification designation, an alert is formatted for display, or an audible alarm or a vibration alert is prepared upon receipt of an electronic message that qualifies for assignment to the message cluster associated with the message category. In some embodiments, the message category is one of personal, social, promotions, updates or forums. In some embodiments, the notification is conditional upon a device associated with the first user so that the notification is suppressed when the first user is using a device in a first device class and the notification is made when the first user is using a device in a second device class. In some embodiments, the first device class is one of desktop or mobile and the second device class is other than the first device class and is one of desktop or mobile.
In some embodiments, some of the message clusters are system clusters, meaning that the sets of clustering rules associated with such message clusters are available for use by all users of the computing system 100. To illustrate, in some embodiments, the plurality of message clusters from which a user may use to organize their electronic messages comprises one or more system message clusters and the corresponding sets of clustering rules for the one or more system message clusters are applied on a system-wide basis across a plurality of users including the first user that uses computing system 100. In some embodiments, the one or more system message clusters includes a message cluster 120 selected from the group consisting of a message cluster for personal electronic messages, a message cluster for social electronic messages, a message cluster for electronic messages pertaining to promotions, a message cluster for electronic messages pertaining to updates, and a message cluster for electronic messages pertaining to forums.
In some embodiments, users can start with system clusters but customize the set of clustering rules associated with such clusters in order to personalize the clusters for individual use. To illustrate, in some embodiments, a first clustering rule for a first system cluster in the one or more system message clusters is received from the first user. In such embodiments, electronic messages in the first plurality of electronic messages are assigned to the first system cluster that both (i) satisfy the first clustering rule and (ii) satisfy the set of clustering rules for the first system cluster. In some embodiments the first clustering rule, or other rules provided by the user act to negate a clustering rule that is associated with a system cluster.
In some embodiments, a user may add their own custom clusters. To illustrate, in some embodiments of the present disclosure, the plurality of message clusters that the first user uses to organize their electronic messages comprises one or more user defined message clusters and the corresponding set of clustering rules for the one or more user defined message clusters are uniquely applied to electronic messages addressed to the first user, or authored by the first user, in order to determine which electronic messages are to be assigned to the one or more user defined message clusters. In some embodiments, the user may share the sets of clustering rules with other users of computing system 100 so that they too may have such custom clusters without going through the trouble of building up the custom set of clustering rules.
In some embodiments, a user may sample or “preview” a cluster 120 before committing to using it to organize their electronic messages. To illustrate, in some embodiments of the present disclosure, a preview request associated with a designated message cluster 120 in the plurality of message clusters is received from a user of a device 102 by user interface cluster displaying system 106. Responsive to the preview request, a designation of the identity of one or more senders of electronic messages in a plurality of electronic messages that are addressed to this user (e.g., messages 113 in message queue 112 that are addressed to the user) that qualify for inclusion in the designated message cluster in accordance with the set of clustering rules associated with the designated message cluster is formatted for display. This designation of one or more senders is transmitted to the device 102 for display to the user. In this way, the user can see who the senders would be for a given cluster. Based on this sampling, the user can decide whether or not to use the cluster.
Typically, each message cluster 120 represents a category of messages. In some embodiments, one of the clusters is a catchall category (“e.g., and “inbox”) that includes all incoming messages unless such messages have been included in another message cluster 120. In some embodiments, each electronic message 113 is assigned to a single message cluster 120. In some embodiments, each electronic message 113 is assigned to one or more message cluster 120. In some embodiments, some electronic messages 113 are not assigned to any message cluster 120.
In some embodiments of the present disclosure, each message cluster 120 is uniquely associated with a message category in a plurality of message categories and the user of a device 102 provides a search request that specifies a message category in the plurality of message categories. Responsive to the search request, there is formatted for display a designation of the identity of each electronic message in the plurality of electronic messages associated with the first user that qualifies for assignment in the message cluster associated with the message category. In some embodiments the received message category is one of personal, social, promotions, updates and forums.
In some embodiments of the present disclosure, each message cluster 120 is uniquely associated with a message category in a plurality of message categories and the method further comprises receiving a notification designation that specifies a message category in the plurality of message categories. Responsive to the notification designation, an alert is formatted for display, or an audible alert or vibrational alert is prepared upon receipt of an electronic message that qualifies for assignment to the message cluster associated with the message category. In some embodiments, the message category is one of personal, social, promotions, updates or forums. In some embodiments, the notification is conditional upon a device associated with the first user so that the notification is suppressed when the first user is using a device 102 in a first device class and the notification is made when the first user is using a device 102 in a second device class. In some embodiments, the first device class is one of desktop or mobile and the second device class is other than the first device class and is one of desktop or mobile.
In some embodiments, the analysis module 110 is a software or hardware component resident on the device 102, such as a software package/application or a hardware chipset, for clustering electronic messages, and the analysis module 170 on the user interface object displaying system 106 is not used. In some embodiments, the analysis module 110 is not present and the analysis module 170, which exists separate from or independent of the device 102 is used (e.g., a GOOGLE mail processing server that is connected with but not part of the device 102, e.g., in the manner depicted in
In some embodiments, the message queue 112 stores one or more electronic messages awaiting analysis by the analysis module 170, such as MSG 4, MSG 5, MSG 6, . . . and MSG N (
The memory 206 typically includes high-speed random access memory, such as DRAM, SRAM, DDR RAM or other random access solid state memory devices; and optionally includes non-volatile memory, such as one or more magnetic disk storage devices, optical disk storage devices, flash memory devices, or other non-volatile solid state storage devices. The memory 206 optionally includes one or more storage devices remotely located from the CPU(s) 202. The memory 206, or alternatively the non-volatile memory device(s) within the memory 206, comprises a non-transitory computer readable storage medium. In some embodiments, the memory 206 or alternatively the non-transitory computer readable storage medium stores the following programs, modules and data structures, or a subset thereof:
In some embodiments, the messaging application 150 includes:
In some embodiments, the display module 220 includes one or more sub-modules, such as (i) a user interface cluster display sub-module that initiates display of one or more user interface cluster graphics that represents clusters of messages.
In some embodiments, the messaging application 150 displays electronic messages using one or more user interface cluster graphics. In some embodiments, the one or more user interface cluster graphics include one or more of:
In some embodiments, when the messaging application 150 includes multiple user interface cluster graphics, a first user interface cluster graphic (e.g., the user interface cluster graphic 1 (214-1)) is distinct from a second user interface cluster graphic (e.g., the user interface object graphic 2 (214-2)). In some embodiments, when the messaging application 150 includes multiple user interface cluster graphics, the second user interface cluster graphic does not include any electronic message in the first user interface cluster graphic. In some embodiments, when the messaging application 150 includes multiple user interface cluster graphics, the second user interface cluster graphic includes one or more electronic messages that are also in the first user interface cluster graphic.
In some embodiments, one or more of the above identified elements are stored in one or more of the previously mentioned memory devices, and correspond to a set of instructions for performing a function described above. The above identified modules or programs (e.g., sets of instructions) need not be implemented as separate software programs, procedures or modules, and thus various subsets of these modules may be combined or otherwise re-arranged in various embodiments. In some embodiments, the memory 206 stores a subset of the modules and data structures identified above. Furthermore, the memory 206 may store additional modules and data structures not described above.
In some embodiments, a message cluster 120 can only be displayed in a single display state.
In some embodiments, one or more of the above identified elements are stored in one or more of the previously mentioned memory devices, and correspond to a set of instructions for performing a function described above. The above identified modules or programs (e.g., sets of instructions) need not be implemented as separate software programs, procedures or modules, and thus various subsets of these modules may be combined or otherwise re-arranged in various embodiments. In some embodiments, the memory 306 optionally stores a subset of the modules and data structures identified above. Furthermore, the memory 306 may store additional modules and data structures not described above.
Although
An example user interface 400 for a messaging application is shown in
In some embodiments, a respective message cluster 120 is visually distinct in the electronic message folder 412 and represents one or more corresponding electronic messages in a plurality of electronic messages. For example, the message cluster 120-1 corresponds to a group (also called herein a cluster) of electronic messages (e.g., emails) having a collective association. In this case, the group of emails corresponding to the message cluster 120-1 includes nine email messages relating to “Promotions,” such as retail sales, newsletters from stores or coupons from businesses. In another example, the message cluster 120-2 corresponds to a group of electronic messages relating to “Social Updates,” such as postings on GOOGLE+, or other social networks (e.g., blogs).
In some embodiments, respective message cluster 120 is displayed with one or more indicia of a number of electronic messages, in a group of electronic messages associated with the respective message cluster, that have a predefined display status. For example, the message cluster 120-1 shown in
In some embodiments, displaying multiple electronic messages in a message cluster includes displaying, for each such respective electronic message, at least a subset of a text of the respective electronic message. In some embodiments, displaying multiple electronic messages associated with a message cluster includes foregoing displaying the entire text of the multiple electronic messages. For example, as illustrated in
In
Advantageously, referring to
In some embodiments, all of the electronic messages listed in the example user interface 400 are deemed to be displayed, regardless of whether only a subset of a text of each electronic message is displayed.
Although the one or more indicia shown in
The method includes (502) receiving a selection, by a first user, of a subset of message clusters in a plurality of message clusters, where each respective message cluster in the plurality of message clusters is uniquely associated with a corresponding set of clustering rules in a plurality of sets of clustering rules. For example, in
The method continues (504) with each respective electronic message in a first plurality of electronic messages, where each respective electronic message in the first plurality of electronic messages is addressed to the first user or is from the first user, being assigned to one or more of the message clusters in the subset of message clusters in accordance with the sets of clustering rules, in the plurality of sets of clustering rules, associated with the subset of messaging clusters. For instance, referring to
In some embodiments (506) the plurality of message clusters comprises one or more system message clusters and the corresponding sets of clustering rules for the one or more system message clusters are applied on a system-wide basis across a plurality of users including the first user. For example, in
In some embodiments (510) a user is able to customize a system message cluster. For example, in some embodiments, a first clustering rule for a first system cluster in the one or more system message clusters is received from the first user. Thereafter, electronic messages in the first plurality of electronic messages are assigned to the first system cluster that both (i) satisfy the first clustering rule and (ii) satisfy the set of clustering rules for the first system cluster. For example, consider the case in which the system message cluster is “Promotions” and the first user no longer wishes to get messages from a particular retailer. The user may add a rule that bars electronic messages originating from the particular retailer into the “Promotions” system message cluster. Thus, only electronic messages that both (i) satisfy the first clustering rule (the electronic message cannot be from the banned retailer) and (ii) satisfy the set of clustering rules for the “Promotions” system message cluster are associated with the first user's “Promotions” system message cluster.
In some embodiments (512), the plurality of message clusters comprises one or more user defined message clusters and the corresponding set of clustering rules for the one or more user defined message clusters are uniquely applied to electronic messages addressed to the first user, or authored by the first user, in order to determine which electronic messages are to be assigned to the one or more user defined message clusters. For instance, referring to
Advantageously, in some embodiments (514), a user can evaluate a message cluster prior to selecting the message cluster for inclusion in the subset of message clusters that will be used to organize the user's electronic messages. For example, in some embodiments, a preview request associated with a message cluster in the plurality of message clusters is received. Responsive to the preview request, there is formatted for display a designation of the identity of one or more senders of electronic messages in the first plurality of electronic messages that qualify for inclusion in the message cluster in accordance with the set of clustering rules associated with the second message cluster. Thus, referring to
Each respective set of clustering rules selects a subset of electronic messages from among the electronic messages that are addressed to a given user for association with the message cluster corresponding to the respective set of clustering rules. As such, each set of clustering rules is selective. For example, in some embodiments 516, the set of clustering rules for a first message cluster in the subset of message clusters selected by a user (i) acts to prevent some electronic messages in the first plurality of electronic messages (that are addressed to and/or are from the first user) from being assigned to the first message cluster (associated with the set of clustering rules) and (ii) assigns electronic messages to the first message cluster without regard to content relatedness between electronic messages in the first plurality of electronic messages and electronic messages already in the first message cluster. This independence of the content relatedness between electronic messages in the first plurality of electronic messages and electronic messages already in the first message cluster is described in U.S. patent application Ser. No. 14/139,205, filed Dec. 23, 2013, entitled “Systems and Methods for Clustering Electronic Messages,” which is hereby incorporated by reference herein in its entirety. Whereas conversations aggregate electronic messages based on content relatedness (e.g., header content relatedness) between messages already in the conversations and messages being considered for assignment to conversations, electronic messages are organized into message clusters without regard to content relatedness between messages within the message clusters and messages being considered for assignment to the message clusters in accordance with the associated set of clustering rules for the message cluster. For example, a string of messages from and to a first and second user or group of users are good candidates for inclusion in a conversation because of the content relatedness between the messages in the conversations and the messages being considered for the conversations. However, absent some additional criterion or factor, the relatedness in the source and destination of these messages does not serve as a basis for inclusion in the same message cluster.
In the disclosed methods (518), electronic messages for a first message cluster (one of the message clusters selected by the user) are formatted for display as a first single cluster graphic in an electronic message folder. For example, turning to
In some embodiments (522), each message cluster in the plurality of message clusters is uniquely associated with a message category in a plurality of message categories. This gives rise to an advantageous embodiment in which a user can search by category. For instance, in some embodiments, a search request is received that specifies a message category in the plurality of message categories. Responsive to the search request, there is formatted for display a designation of the identity of each electronic message in the first plurality of electronic messages that qualifies for assignment in the message cluster associated with the message category. For instance, to obtain the messages 416 in the promotions 120 category, the user could simply search by category (e.g., the promotions category) rather than attempt to construct a search expression that will retrieve these messages. In some embodiments (524), the message category is one of personal, social, promotions, updates or forums.
In some embodiments (526), each message cluster in the plurality of message clusters is uniquely associated with a message category in a plurality of message categories, and the method further comprises receiving a notification designation that specifies a message category in the plurality of message categories. Responsive to the notification designation, there is formatted for display a visual alert, or there is prepared an audible alert or a vibrational alert, upon receipt of an electronic message that qualifies for assignment to the message cluster associated with the message category. Thus, for example, referring to
Plural instances may be provided for components, operations or structures described herein as a single instance. Finally, boundaries between various components, operations, and data stores are somewhat arbitrary, and particular operations are illustrated in the context of specific illustrative configurations. Other allocations of functionality are envisioned and may fall within the scope of the embodiment(s). In general, structures and functionality presented as separate components in the example configurations may be implemented as a combined structure or component. Similarly, structures and functionality presented as a single component may be implemented as separate components. These and other variations, modifications, additions, and improvements fall within the scope of the embodiment(s).
It will also be understood that, although the terms “first,” “second,” etc. may be used herein to describe various elements, these elements should not be limited by these terms. These terms are only used to distinguish one element from another. For example, a first user interface object could be termed a second user interface object, and, similarly, a second user interface object could be termed a first user interface object, without changing the meaning of the description, so long as all occurrences of the “first user interface object” are renamed consistently and all occurrences of the “second user interface object” are renamed consistently. The first user interface object and the second user interface object are both user interface objects, but they are not the same user interface object.
The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the claims. As used in the description of the embodiments and the appended claims, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will also be understood that the term “and/or” as used herein refers to and encompasses any and all possible combinations of one or more of the associated listed items. It will be further understood that the terms “comprises” and/or “comprising,” when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
As used herein, the term “if” may be construed to mean “when” or “upon” or “in response to determining” or “in accordance with a determination” or “in response to detecting,” that a stated condition precedent is true, depending on the context. Similarly, the phrase “if it is determined (that a stated condition precedent is true)” or “if (a stated condition precedent is true)” or “when (a stated condition precedent is true)” may be construed to mean “upon determining” or “in response to determining” or “in accordance with a determination” or “upon detecting” or “in response to detecting” that the stated condition precedent is true, depending on the context.
The foregoing description included example systems, methods, techniques, instruction sequences, and computing machine program products that embody illustrative embodiments. For purposes of explanation, numerous specific details were set forth in order to provide an understanding of various embodiments of the inventive subject matter. It will be evident, however, to those skilled in the art that embodiments of the inventive subject matter may be practiced without these specific details. In general, well-known instruction instances, protocols, structures and techniques have not been shown in detail.
The foregoing description, for purpose of explanation, has been described with reference to specific embodiments. However, the illustrative discussions above are not intended to be exhaustive or to limit the embodiments to the precise forms disclosed. Many modifications and variations are possible in view of the above teachings. The embodiments were chosen and described in order to best explain the principles and their practical applications, to thereby enable others skilled in the art to best utilize the embodiments and various embodiments with various modifications as are suited to the particular use contemplated.
This application claims priority to U.S. Provisional Patent Application No. 61/922,027, entitled “Systems and Methods for Clustering Electronic Messages,” filed Dec. 30, 2013, which is hereby incorporated by reference herein in its entirety.
Number | Name | Date | Kind |
---|---|---|---|
4914650 | Sriram | Apr 1990 | A |
5948040 | DeLorme et al. | Sep 1999 | A |
5948058 | Kudoh et al. | Sep 1999 | A |
6044260 | Eaton et al. | Mar 2000 | A |
6057841 | Thurlow et al. | May 2000 | A |
6147977 | Thro et al. | Nov 2000 | A |
6232972 | Arcuri et al. | May 2001 | B1 |
6252597 | Lokuge | Jun 2001 | B1 |
6333973 | Smith et al. | Dec 2001 | B1 |
6351764 | Voticky et al. | Feb 2002 | B1 |
6421709 | McCormick et al. | Jul 2002 | B1 |
6507866 | Barchi | Jan 2003 | B1 |
6700591 | Sharpe | Mar 2004 | B1 |
6704772 | Ahmed et al. | Mar 2004 | B1 |
6725228 | Clark et al. | Apr 2004 | B1 |
6778642 | Schmidt, Jr. et al. | Aug 2004 | B1 |
6961341 | Krishnan | Nov 2005 | B1 |
7120865 | Horvitz et al. | Oct 2006 | B1 |
7167910 | Farnham et al. | Jan 2007 | B2 |
7194516 | Giacobbe et al. | Mar 2007 | B2 |
7359947 | Kelley et al. | Apr 2008 | B2 |
7386535 | Kalucha et al. | Jun 2008 | B1 |
7415504 | Schiavone et al. | Aug 2008 | B2 |
7421690 | Forstall et al. | Sep 2008 | B2 |
7429993 | Hui | Sep 2008 | B2 |
7475120 | Ngo et al. | Jan 2009 | B1 |
7506263 | Johnston et al. | Mar 2009 | B1 |
7536652 | Uemura et al. | May 2009 | B2 |
7539732 | Kelso et al. | May 2009 | B2 |
7568011 | Bocking et al. | Jul 2009 | B2 |
7689656 | McCarthy et al. | Mar 2010 | B2 |
7730137 | Toomey | Jun 2010 | B1 |
7765212 | Surendran et al. | Jul 2010 | B2 |
7788329 | Barrett et al. | Aug 2010 | B2 |
7814155 | Buchheit et al. | Oct 2010 | B2 |
7895279 | Forstall et al. | Feb 2011 | B2 |
7895537 | Gruen et al. | Feb 2011 | B2 |
7958099 | Kang et al. | Jun 2011 | B2 |
7979501 | Coleman et al. | Jul 2011 | B1 |
7996900 | Gillum et al. | Aug 2011 | B2 |
8010613 | Oral et al. | Aug 2011 | B2 |
8031845 | Gruen et al. | Oct 2011 | B2 |
8041745 | Newton et al. | Oct 2011 | B2 |
8065369 | Turski et al. | Nov 2011 | B2 |
8095400 | Herde et al. | Jan 2012 | B2 |
8108469 | Kent, Jr. et al. | Jan 2012 | B2 |
8140703 | Morris et al. | Mar 2012 | B2 |
8150926 | Sundararajan et al. | Apr 2012 | B2 |
8150930 | Satterfield et al. | Apr 2012 | B2 |
8176130 | Daniell | May 2012 | B2 |
8224902 | Glasser et al. | Jul 2012 | B1 |
8230350 | Dodsworth | Jul 2012 | B2 |
8233885 | Kansal et al. | Jul 2012 | B2 |
8239874 | Anderson et al. | Aug 2012 | B2 |
8281382 | Sanyal et al. | Oct 2012 | B1 |
8286089 | Hardy et al. | Oct 2012 | B2 |
8307029 | Davis et al. | Nov 2012 | B2 |
8375307 | Kim | Feb 2013 | B2 |
8375400 | Sutedja et al. | Feb 2013 | B2 |
8402096 | Affronti et al. | Mar 2013 | B2 |
8448084 | Brichter | May 2013 | B2 |
8499042 | Brown et al. | Jul 2013 | B2 |
8499048 | Malik et al. | Jul 2013 | B2 |
8533274 | Buchheit et al. | Sep 2013 | B2 |
8560619 | Huston et al. | Oct 2013 | B1 |
8572277 | Morris et al. | Oct 2013 | B2 |
8577967 | Chavez et al. | Nov 2013 | B1 |
8583747 | Buchheit et al. | Nov 2013 | B2 |
8626851 | Buchheit et al. | Jan 2014 | B2 |
8656289 | Dodsworth | Feb 2014 | B1 |
8701018 | Keel et al. | Apr 2014 | B1 |
20020143871 | Meyer et al. | Oct 2002 | A1 |
20020160757 | Shavit et al. | Oct 2002 | A1 |
20030020749 | Abu-Hakima et al. | Jan 2003 | A1 |
20030154212 | Schirmer et al. | Aug 2003 | A1 |
20030177190 | Moody et al. | Sep 2003 | A1 |
20030195811 | Hayes, Jr. et al. | Oct 2003 | A1 |
20030214534 | Uemura et al. | Nov 2003 | A1 |
20030233419 | Beringer | Dec 2003 | A1 |
20040078190 | Fass et al. | Apr 2004 | A1 |
20040153456 | Charnock et al. | Aug 2004 | A1 |
20040199529 | Clark | Oct 2004 | A1 |
20040254998 | Horvitz | Dec 2004 | A1 |
20050004990 | Durazo et al. | Jan 2005 | A1 |
20050018819 | Schmidt et al. | Jan 2005 | A1 |
20050080851 | Kent, Jr. et al. | Apr 2005 | A1 |
20050080862 | Kent, Jr. et al. | Apr 2005 | A1 |
20050102366 | Kirsch | May 2005 | A1 |
20050114781 | Brownholtz et al. | May 2005 | A1 |
20050138552 | Venolia | Jun 2005 | A1 |
20050193076 | Flury et al. | Sep 2005 | A1 |
20050193345 | Klassen et al. | Sep 2005 | A1 |
20050228790 | Ronnewinkel et al. | Oct 2005 | A1 |
20050246658 | Uemura et al. | Nov 2005 | A1 |
20050256968 | Johnson | Nov 2005 | A1 |
20060010215 | Clegg et al. | Jan 2006 | A1 |
20060031340 | Mathew et al. | Feb 2006 | A1 |
20060031347 | Sahi | Feb 2006 | A1 |
20060059238 | Slater et al. | Mar 2006 | A1 |
20060064410 | Razza et al. | Mar 2006 | A1 |
20060069734 | Gersh et al. | Mar 2006 | A1 |
20060075044 | Fox et al. | Apr 2006 | A1 |
20060095466 | Stevens et al. | May 2006 | A1 |
20060123360 | Anwar et al. | Jun 2006 | A1 |
20060173824 | Bensky et al. | Aug 2006 | A1 |
20060173961 | Turski et al. | Aug 2006 | A1 |
20060206495 | Van Gageldonk | Sep 2006 | A1 |
20060277504 | Zinn | Dec 2006 | A1 |
20070005592 | Kender et al. | Jan 2007 | A1 |
20070106729 | Adams et al. | May 2007 | A1 |
20070156669 | Marcisio et al. | Jul 2007 | A1 |
20070262861 | Anderson | Nov 2007 | A1 |
20070277113 | Agrawal et al. | Nov 2007 | A1 |
20070299923 | Skelly et al. | Dec 2007 | A1 |
20080215687 | Madnani | Sep 2008 | A1 |
20090089798 | Anderson et al. | Apr 2009 | A1 |
20100030798 | Kumar et al. | Feb 2010 | A1 |
20100049806 | Haynes et al. | Feb 2010 | A1 |
20100056221 | Park | Mar 2010 | A1 |
20100114855 | Li et al. | May 2010 | A1 |
20100199180 | Brichter | Aug 2010 | A1 |
20100262922 | Fan et al. | Oct 2010 | A1 |
20100278453 | King | Nov 2010 | A1 |
20110010182 | Turski et al. | Jan 2011 | A1 |
20110072363 | Mandel et al. | Mar 2011 | A1 |
20110231499 | Stovicek | Sep 2011 | A1 |
20110289106 | Rankin, Jr. et al. | Nov 2011 | A1 |
20120102037 | Ozonat | Apr 2012 | A1 |
20120131095 | Luna et al. | May 2012 | A1 |
20120180021 | Byrd et al. | Jul 2012 | A1 |
20120185781 | Guzman et al. | Jul 2012 | A1 |
20120185797 | Thorsen et al. | Jul 2012 | A1 |
20120198053 | Ozhan et al. | Aug 2012 | A1 |
20120204191 | Shia et al. | Aug 2012 | A1 |
20120210334 | Sutedja et al. | Aug 2012 | A1 |
20120271908 | Luna et al. | Oct 2012 | A1 |
20120272160 | Spivack et al. | Oct 2012 | A1 |
20130024440 | Dimassimo et al. | Jan 2013 | A1 |
20130055099 | Yao et al. | Feb 2013 | A1 |
20130055105 | Spierer | Feb 2013 | A1 |
20130110953 | Sutedja et al. | May 2013 | A1 |
20130159879 | Affronti | Jun 2013 | A1 |
20130165165 | Macek et al. | Jun 2013 | A1 |
20130166280 | Quast et al. | Jun 2013 | A1 |
20130212189 | Velissarakos | Aug 2013 | A1 |
20130297604 | Sutedja et al. | Nov 2013 | A1 |
20130305187 | Phillips et al. | Nov 2013 | A1 |
20130325705 | Laird et al. | Dec 2013 | A1 |
20130332850 | Bovet | Dec 2013 | A1 |
20140052797 | Lessard et al. | Feb 2014 | A1 |
20140096032 | Mayblum | Apr 2014 | A1 |
20140115495 | Wetherell | Apr 2014 | A1 |
20140279016 | Capel et al. | Sep 2014 | A1 |
20140280619 | Banatwala et al. | Sep 2014 | A1 |
20140280635 | Bengochea et al. | Sep 2014 | A1 |
20140344711 | Hallerstrom Sjostedt | Nov 2014 | A1 |
20140359480 | Vellal et al. | Dec 2014 | A1 |
Entry |
---|
Cohen, Learning Rules that classify E-mail, Feb. 22, 2002, 8 pgs. |
Number | Date | Country | |
---|---|---|---|
20150185973 A1 | Jul 2015 | US |
Number | Date | Country | |
---|---|---|---|
61922027 | Dec 2013 | US |