US20120054642A1 - Sorted Inbox User Interface for Messaging Application - Google Patents
Sorted Inbox User Interface for Messaging Application Download PDFInfo
- Publication number
- US20120054642A1 US20120054642A1 US13/219,653 US201113219653A US2012054642A1 US 20120054642 A1 US20120054642 A1 US 20120054642A1 US 201113219653 A US201113219653 A US 201113219653A US 2012054642 A1 US2012054642 A1 US 2012054642A1
- Authority
- US
- United States
- Prior art keywords
- message
- messages
- area
- user
- message information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/107—Computer-aided management of electronic mailing [e-mailing]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
Definitions
- the disclosed embodiments relate generally to displaying messages, such as email, instant, and voicemail messages.
- a user account typically includes all the messages sent to and from a respective email address or user name, excluding messages deleted from the account.
- some user accounts may be associated with a plurality of email addresses or user names, sometimes called aliases, which together may be considered to be a single logical email address or user name.
- the amount of received email can quickly overwhelm users—making it difficult to sift important messages from unimportant ones.
- mobile devices such as handheld computers or cell phones.
- mobile devices typically have small screens with even smaller message windows or interfaces for viewing messages. These interfaces often allow the user to view only a small number of messages at any given time, thereby requiring the user to interact more frequently with the interface to locate important messages, such as through scrolling through the messages.
- Such mobile devices may also employ network connectivity, which is sometimes charged by usage and is often slow. Users of these devices might wish to limit the messages they view to those of high importance when accessing message through this medium.
- some message interfaces allow users to organize messages into folders or to apply user-defined labels to messages for easier identification. Additionally, in some email applications, users may order messages in a particular view in accordance with the value of single user-selected message header field, such as message delivery date, sender, or message title.
- message delivery date such as message delivery date, sender, or message title.
- message title such as message delivery date, sender, or message title.
- the client device concurrently displays message information associated with a respective user by displaying first message information representing a first set of messages in a first area of the display, and displaying second message information representing a second set of messages in a second area of the display that is separate from the first area, where the first set of messages meet predefined message importance criteria, and each message in the first set of messages is excluded from the second set of messages.
- the displayed message information includes messages from a message account of the respective user.
- the first message information is a first list of conversations, each conversation in the first list having at least one message meeting the predefined message importance criteria.
- each conversation in the first list has at least one message that is unread by the user.
- each of the second set of messages has been labeled with a predefined label by the user.
- the first message information is displayed in chronological order in the first area and the second message information is displayed in chronological order in the second area.
- the client device further concurrently displays a third set of messages in a third area that is separate from the first area and second area, wherein the first set of messages and second set of messages are excluded from the third set of messages.
- the client device further displays a respective expansion affordance in each of the first and second areas, and in response to user selection of the respective expansion affordance, expands the corresponding area and displays only the set of messages corresponding to the expanded area.
- each item represented by the first message information includes a predefined label to denote importance of the corresponding item, wherein each item represented by the first message information is a message or a conversation having one or more messages.
- the client device further displays a selectable importance marking affordance.
- the client device marks the user selected items as important using the predefined label and moves the user selected items from one respective area of the display to another respective area of the display.
- FIG. 1A is a block diagram illustrating an overview of a distributed client-server system according to some embodiments.
- FIG. 1B is a block diagram illustrating a process of generating importance scores for messages according to some embodiments.
- FIG. 2 is a block diagram illustrating a server system according to some embodiments.
- FIGS. 3A-3C are block diagrams of data structures for a message database a user account database, and an importance prediction models database, according to some embodiments.
- FIG. 4 is a block diagram illustrating a client system according to some embodiments.
- FIGS. 5A-5C are flowcharts representing a method for identifying important messages at a server, according to some embodiments.
- FIG. 6A is a schematic screenshot of a “Sorted Inbox” user interface of a messaging application in which lists of conversations are displayed in two non-overlapping areas of the display, the two areas of the display including an “Important” link and a “Starred” link respectively, according to some embodiments.
- FIG. 6B is a schematic screenshot of a “Sorted Inbox” user interface of a messaging application in which lists of conversations are displayed in three non-overlapping areas of the display, the three areas of the display including an “Important” link, a “Starred” link and an “Everything Else” link respectively, according to some embodiments.
- FIG. 6C is a schematic screenshot of a “Sorted Inbox” user interface of a messaging application, depicting how a user expands the area (of the messaging application user interface) labeled “Important” by selecting a “View All” link, according to some embodiments.
- FIG. 6D is a schematic screenshot of the area (of a messaging application user interface) labeled “Important” in its expanded state, according to some embodiments.
- FIG. 6E is a schematic screen shot of a messaging application user interface, depicting how a user can mark an item as important by selecting the item and clicking on an “Important” button, according to some embodiments.
- FIG. 6F is a schematic screen shot of a messaging application user interface, depicting an item being moved from the area “Starred” to the area “Important” after being marked as important by the user, according to some embodiments.
- FIG. 7A is a flow chart representing a method for displaying messages associated with a respective user, according to some embodiments.
- FIG. 7B is a flow chart illustrating the operation of an expansion affordance, according to some embodiments.
- FIG. 7C is a flow chart illustrating the operation of an importance marking affordance, according to some embodiments.
- 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.
- a first contact could be termed a second contact, and, similarly, a second contact could be termed a first contact, so long as all occurrences of the first contact are renamed consistently and all occurrences of the second contact are renamed consistently.
- the first contact and the second contact are both contacts, but they are not the same contact.
- the term “if” may be construed to mean “when” or “upon” or “in response to determining” or “in response to detecting,” depending on the context.
- the phrase “if it is determined” or “if (a stated condition or event) is detected” may be construed to mean “upon determining” or “in response to determining” or “upon detecting (the stated condition or event)” or “in response to detecting (the stated condition or event),” depending on the context.
- FIG. 1A is a block diagram of a distributed computer system 100 including client systems 102 and a server system 106 according to some embodiments.
- the server system 106 is connected to client computers 102 through one or more communication networks 108 .
- Client computer 102 may be any computer or device through which a user of the client computer 102 can submit service requests to and receive messaging services or other services from the server system 106 .
- client computers 102 include, without limitation, desktop computers, laptop computers, tablet computers, mobile devices such as mobile phones, personal digital assistants, set-top boxes, or any combination of the above.
- a respective client computer 102 may contain one or more client applications 104 for submitting requests to the server system 106 .
- client application 104 can be a web browser or other application that permits a user to search for, browse, and/or use information (e.g., web pages and web services) accessible through the communication network 108 .
- the communication network(s) 108 can be any wired or wireless local area network (LAN) and/or wide area network (WAN), such as an intranet, an extranet, the Internet, or a combination of such networks.
- the communication network 108 uses the HyperText Transport Protocol (HTTP) and the Transmission Control Protocol/Internet Protocol (TCP/IP) to transport information between different networks.
- HTTP HyperText Transport Protocol
- TCP/IP Transmission Control Protocol/Internet Protocol
- the HTTP permits client devices to access various information items available on the Internet via the communication network 108 .
- the various embodiments, however, are not limited to the use of any particular protocol.
- the server system 106 includes a front end server 112 , a message signal extractor 114 , an importance weight generator 116 , an important message identifier 118 , importance prediction models 122 , a user account database 124 , a message database 126 , and a search engine 120 for searching message database 126 .
- the front end server 112 is configured to receive data from a client computer 102 .
- the data is a message, HTTP request, Ajax request, or other communication.
- the HTTP request or Ajax request may include a search query (e.g., “label:inbox”) for processing by the search engine 120 .
- a message associated with a particular user is received by the server system 106 , where user data regarding the particular user is stored in the user account database 124 .
- the received message is stored in message database 126 .
- the message is stored in message database 126 either as a new conversation, or as a new message in an existing conversation.
- the message is sent from the front end server 112 to the message signal extractor 114 , which extracts one or more message signals from the message. For each message signal of at least a subset of the extracted message signals, an importance weight is generated by importance weight generator 116 using importance prediction models 122 . Based on the message signals and their generated importance weights, important message identifier 118 determines an importance score for the message. In some embodiments, the importance score of the message is used by important message identifier 118 for comparison with a threshold to determine importance of the message.
- FIG. 1B is a block diagram illustrating a process of generating importance scores for messages according to some embodiments.
- Importance prediction models 122 include a first importance prediction model 132 and a second importance prediction model 134 . Both the first importance prediction model 132 and the second importance prediction model 134 include a plurality of weights, each corresponding to respective message signals.
- the first importance prediction model 132 is based on information associated with multiple users.
- the first importance prediction model 132 is also called the global importance prediction model.
- the second importance prediction model 134 is based on information associated with a respective user (i.e., a single user).
- the second importance prediction model 134 is also called the user importance prediction model.
- the extracted message signals include a first plurality of message signals 128 .
- the importance weight generator 116 For each message signal of the first plurality of message signals 128 , the importance weight generator 116 generates an importance weight for the respective message signal by determining a first weight for the respective message signal using the first importance prediction model 132 , determining a second weight for the respective message signal using the second importance prediction model 134 , and combining the first weight and the second weight to determine the importance weight of the respective message signal.
- the combining includes adding the first and second weight.
- the importance weight generator 116 performs table lookup or database lookup operations to obtain the first weight and second weight. As discussed below in more detail with reference to FIG.
- the importance weights in the various importance prediction models may be generated and updated using machine learning techniques.
- the server system also uses a group importance prediction model, for a respective plurality of users (also called a group of users) that include the user for whom message services are being performed.
- weights from all three importance prediction models are determined and applied to corresponding extracted message signals so as to generate a combined importance score for a respective message.
- respective weights in the importance prediction models can have both positive and negative values. Weights with positive values are typically associated with message signals that are predictive of message importance. Weights with negative values are typically associated with message signals (e.g., a signal identifying that the message was automatically generated, or a signal that indicates the message includes one or more words on a predefined black list) that are associated with unimportant messages.
- the extracted message signals include a second plurality of message signals 130 .
- importance weight generator 116 For each message signal of the second plurality of message signals 130 , importance weight generator 116 generates an importance weight for the respective message signal using second importance prediction model 134 but not first importance prediction model 132 .
- the second plurality of message signals 130 are message signals for which user-specific weights are generated, but for which global model weights are not generated.
- important message identifier 118 determines importance score 136 for the message based on the generated importance weights of the first plurality of message signals 128 .
- important message identifier 118 determines the importance score 136 for the message based on the generated importance weights of both the first plurality of message signals 128 and the second plurality of message signals 130 .
- the message and information regarding importance of the message are stored in the message database 126 .
- information regarding importance of the message is the importance score of the message.
- information regarding importance of the message are labels denoting importance. For example, in one implementation messages with these labels (which denote message importance) have an importance score above a threshold. Alternatively, conversations having at least one message with an importance score above the threshold are assigned a label denoting importance.
- Search engine 120 communicates with message database 126 to retrieve the message along with information regarding importance of the message, and sends the message and information regarding importance of the message to front end server 112 .
- Front end server 112 sends the message along with information regarding importance of the message to the user for display at a client device 102 .
- message information corresponding to the message e.g., the subject line of the message, information identifying the sender of the message, etc. is sent by front end server 112 , along with information regarding importance of the message to client device 102 .
- message information corresponding to the conversation that includes the message is sent by front end server 112 , along with information regarding importance of the conversation to client device 102 .
- modules and data structures used to identify important messages have been illustrated above in server system 106 , it should be understood that, in accordance with other embodiments, analogous modules and data structures which are also used to identify important messages are located at client computer 102 instead of, or in addition to, the modules and data structures shown in server system 106 above.
- FIG. 2 is a block diagram illustrating a server system 106 in accordance with some embodiments.
- the server system 106 typically includes one or more processing units (CPU's) 202 for executing modules, programs and/or instructions stored in memory 206 and thereby performing processing operations; one or more network or other communications interfaces 204 ; memory 206 ; and one or more communication buses 208 for interconnecting these components.
- Communication buses 208 may include circuitry (sometimes called a chipset) that interconnects and controls communications between system components.
- Memory 206 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM or other random access solid state memory devices; and may include 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. Memory 206 may optionally include one or more storage devices remotely located from the CPU(s) 202 . Memory 206 , or alternately the non-volatile memory device(s) within memory 206 , comprises a non-transitory computer readable storage medium. In some embodiments, memory 206 or the computer readable storage medium of memory 206 stores the following programs, modules and data structures, or a subset thereof:
- Each of the above identified modules, applications or programs corresponds to a set of instructions, executable by the one or more processors of server system 106 , for performing a function described above.
- the above identified modules, applications or programs i.e., sets of instructions
- memory 206 may store a subset of the modules and data structures identified above.
- memory 206 may store additional modules and data structures not described above.
- FIG. 2 shows a “server system,” FIG. 2 is intended more as functional description of the various features which may be present in a set of servers than as a structural schematic of the embodiments described herein.
- items shown separately could be combined and some items could be separated.
- some items shown separately in FIG. 2 could be implemented on single servers and single items could be implemented by one or more servers.
- the actual number of servers used to implement a server system and how features are allocated among them will vary from one implementation to another, and may depend in part on the amount of data traffic that the system must handle during peak usage periods as well as during average usage periods.
- FIG. 3A depicts an exemplary data structure of a message record 304 in message database 126 ( FIG. 1A ) according to some embodiments.
- the message database includes stores messages (in message records 304 ) for a plurality of user accounts such as Account 1 , Account 2 , . . . , and Account M.
- the database stores a set 302 of message records 304 corresponding to a plurality of messages such as Message 1 , Message 2 , . . . , and Message N.
- message data 304 - 2 includes header information 306 and message content 320 .
- message data 304 - 2 includes the importance score of the message 321 .
- message data 304 - 2 further includes a message identifier 305 that uniquely identifies the message, and/or a conversation identifier and message identifier that together uniquely identify the message.
- message data 304 - 2 for a respective message includes feedback data 328 (e.g., one or more of: time elapsed between message receipt and reading, whether the user has replied or forwarded the message, whether the user has read or replied or forwarded the message more than once, whether the user has explicitly marked the message as being important, and whether the user has explicitly marked the message as not important).
- header information 306 includes information 308 identifying the senders and recipients of the message, the message subject 310 , one or more labels (if any) applied to the message 312 , one or more time stamps 316 , and other metadata 318 .
- the labels applied to a respective message 312 include an importance label 314 (e.g., when the message importance score exceeds a threshold), which denotes importance of the message.
- the one or more time stamps 316 include information indicating the time when the message is received by the user account, and optionally include time information (which may be stored in the header 306 or elsewhere in the database 302 ) that indicates the time(s) when the user read the message and the time(s) when the user replied to the message.
- the one or more time stamps 316 may be useful in calculating how quickly the user reads, responds to or otherwise interacts with the message.
- other metadata 318 includes one of more values such as the number of times the message has been read, forwarded, and other metrics of interaction.
- the message content 320 contains the content of the message, e.g., text, images, and attachments. Those of ordinary skill in the art would recognize other ways to store the message information. For example, an attachment might be stored in another storage structure with a reference to it stored in the message record 304 .
- FIG. 3B depicts an exemplary data structure of a user account record 322 in the user account database 124 ( FIG. 1A ) according to some embodiments.
- the user account record 322 includes a plurality of user accounts such as User Account 1 , User Account 2 , . . . , and User Account M.
- user account record 322 - 2 includes a contact list 324 (or includes a pointer to contact list 324 ) that includes a list of contacts associated with the user, and optionally includes one or more of: social graph data 326 , and important terms 330 .
- the user data 322 - 2 also includes a user-specific importance prediction model 332 , which is described in greater detail below with respect to FIG. 3C .
- user-specific importance prediction model 332 for a respective user or user account is stored in a separate database from user account database 124 . It is noted that a user may have multiple accounts, or multiple usernames for messaging, and that in some implementations a single user-specific importance prediction model 332 is used in conjunction with two or more of the usernames and/or accounts of the user.
- the user has an associated social graph that includes one or more social graph members. Each of the one or more social graph members has a calculated social graph weight based on the interactions between the user and the respective social graph member.
- Social graph data 326 includes information regarding the one or more social graph members. In some embodiments, information regarding the one or more social graph members includes the calculated social graph weights of the one or more social graph members.
- social graph data 326 also includes weights for that group of members of the social graph.
- social graph data 326 for a respective user optionally includes weights for a plurality of groups of social graph members with whom the user has communicated as a group.
- server 106 collects feedback data from the user regarding importance of a respective message.
- the user may explicitly mark a message as important, or not important.
- the speed with which a user opens a new message, or deletes a message without opening it may be treated as feedback data.
- the feedback data from the user is stored in the user account database 124 .
- the feedback data is stored in the message database 126 . Feedback data from the user is described in more detail below with reference to FIG. 5C .
- Important terms 330 include terms determined to be indicative of message importance.
- important terms 330 are specific to the user, and thus a respective user account 322 includes a set of user-specific important terms 330 . Important terms are described in more detail below with reference to FIG. 5A .
- FIG. 3C depicts an exemplary data structure of importance prediction models 122 ( FIG. 1A ), according to some embodiments.
- Importance prediction models 122 includes a global importance prediction model 132 and a set of user importance prediction models 134 ( FIG. 1B ).
- User importance prediction models 134 include a plurality of user-specific importance prediction models, for a plurality of respective users.
- user-specific importance prediction models 134 include User Model 1 , User Model 2 , . . . , and User Model P.
- Both global model 132 and user-specific model such as User Model 1 include a plurality of weights, each corresponding to a respective message signal or a respective combination message signal.
- the message signals used include both individual message signals (each based on a single message signal) and one or more combination message signals (each based on two or more message signals). Combination message signals are described in more detail below with reference to FIG. 5A .
- the plurality of weights and signal identifiers for their respective message signals are stored in records 334 , 336 , 338 , 340 , 342 in a look-up table in importance prediction model database 122 .
- FIG. 4 is a block diagram illustrating a client computer 102 in accordance with some embodiments.
- the client computer 102 typically includes one or more processing units (CPU's) 402 for executing modules, programs and/or instructions stored in memory 406 and thereby performing processing operations; one or more network or other communications interfaces 404 ; memory 406 ; and one or more communication buses 408 for interconnecting these components.
- Communication buses 408 may include circuitry (sometimes called a chipset) that interconnects and controls communications between system components.
- Client computer 102 optionally may include a user interface 410 comprising a display device and a keyboard, mouse, touch-sensitive surface or other input device.
- Memory 406 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM or other random access solid state memory devices; and may include 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. Memory 406 may optionally include one or more storage devices remotely located from the CPU(s) 402 . Memory 406 , or alternately the non-volatile memory device(s) within memory 406 , comprises a computer readable storage medium. In some embodiments, memory 406 or the computer readable storage medium of memory 406 stores the following programs, modules and data structures, or a subset thereof:
- Each of the above identified modules, applications or programs corresponds to a set of instructions, executable by the one or more processors of client computer 102 , for performing a function described above.
- the above identified modules, applications or programs i.e., sets of instructions
- memory 406 may store a subset of the modules and data structures identified above.
- memory 406 may store additional modules and data structures not described above.
- FIG. 5A-5C are flowcharts representing a server method 500 for identifying important messages, in accordance with some embodiments.
- Server method 500 may be governed by instructions that are stored in a computer readable storage medium and that are executed by one or more processors of one or more servers (see server system 106 , FIG. 2 ).
- Each of the operations shown in FIG. 5 may correspond to instructions stored in a computer memory or computer readable storage medium (e.g., memory 206 , FIG. 2 ).
- the computer readable storage medium may include a magnetic or optical disk storage device, solid state storage devices such as flash memory devices, or other non-volatile memory device or devices.
- the computer readable instructions stored on the computer readable storage medium are in source code, assembly language code, object code, or other instruction format that is interpreted by one or more processors.
- server 106 ( FIGS. 1 , 2 ) automatically generates ( 502 ) the plurality of weights included in first and second importance prediction models ( 132 , 134 , FIG. 1B ) using data from message database 126 and user account database 124 , without requiring the user to provide explicit feedback regarding importance of any messages.
- Each of the plurality of weights in the first and second importance prediction models corresponds to a respective message signal.
- a message signal in the first (global) importance prediction model is given a greater weight if the server determines the probability is high that a common user will act within a predetermined amount of time upon messages exhibiting the message signal.
- the term “exhibited” is defined as follows.
- a message signal extracted from a respective message is said to be exhibited by that message.
- the server may find that a common user will more likely respond within 48 hours to a message where the user is the only recipient than to other messages where the user is not the only recipient.
- the message signal “User is the only recipient” is given a greater weight than the message signal “User is not the only recipient” in the global importance prediction model.
- a message signal in the second (user) importance prediction model is given a greater weight if the server determines the probability is high that a specific user will act within a predetermined amount of time upon messages exhibiting the message signal.
- the server may find that a specific user is likely respond within 48 hours to messages from a person named “John Doe,” and a corresponding message signal is given an commensurate weight. More generally, a weight is assigned to each message signal that is included in an importance prediction model that is commensurate with its predictive power, e.g., for predicting the likelihood that messages exhibiting the message signal will be opened by the user within a predefined period of time after the signal has been received in the user account.
- server 106 automatically generates and/or periodically updates ( 504 ) one or more of the importance weights in the first and second importance prediction models using machine learning.
- Machine learning includes a set of techniques, implemented using software tools and computer systems, that generate functions and predictive models (e.g., by determining weights to be applied to components of the functions or predictive models). Machine learning is well known to those skilled in the art and is therefore not described in detail in this document.
- the server in order for the machine learning technique to adapt to changes in the activity in a user's messaging account (e.g., changes in the messages being received by a user, for example, a sudden influx of messages concerning events such as holidays, and/or changes in a user's behavior), the server creates a user profile that is independent of the importance prediction model for a respective user.
- the user profile tracks user behavior-related statistical data, such as the number of messages the user receives, reads or replies to per day, the percentage of messages read or replied to by the user per day and the number of messages marked as important by the user per day.
- the machine learning technique will ignore any new user data in the learning process until either the deviation of received messages and/or user behavior ends, or the deviation of received messages and/or user behavior persists long enough so that it becomes the new normal with respect to received messages and/or user behavior.
- the server updates ( 506 ) one or more of the importance weights in the first and second importance prediction models using a time-dependent decay function to discount over time the importance of user actions with respect to messages having a respective message signal.
- the influence of user actions e.g., opening, replying, deleting
- the influence of user actions are discounted by an amount that corresponds to how long ago the user actions occurred. For example, in these embodiments, a user action that occurred two weeks ago (or perhaps two months ago) is more heavily discounted than a similar user action that occurred one day ago.
- server 106 receives ( 508 ) a message associated with a user.
- the received message includes ( 510 ) information identifying message participants.
- Message participants include people listed in one or more of the To, From, and Cc fields of the message, and possibly in other fields as well (e.g., a Reply-To field, if provided).
- message participants also include people listed in the To, From, Cc, . . . fields of other messages that are in the same conversation as the received message.
- the user has ( 510 ) an associated social graph ( 326 , FIG. 3B ). In some circumstances, the user's social graph data 326 ( FIG. 3B ) includes information regarding one or more of the message participants.
- server 106 extracts ( 512 ) one or more message signals from the message.
- some of the message signals are extracted from the message header.
- message signals extracted from the message header include: a signal identifying whether the user is the only recipient of the message, a signal identifying whether the message is sent by the user, a signal identifying whether the subject of the message contains one or more words conveying importance (e.g., “important,” “please read,” “urgent,” “action needed,” “confidential” and “reminder”), a signal identifying whether the subject of the message contains the user's display name, one or more signals identifying the labels (if any) applied to the message, a signal identifying whether the message is addressed to the user using the Bcc field; a signal indicating if the message was sent to a list to which the user has subscribed; one or more signals indicating whether the message was sent from one or more particular domains (e.g., domains identified in a user profile as domains from which the user appears to receive
- some of the message signals are extracted from the message body, i.e., content of the message.
- message signals extracted from the message content include: a signal identifying whether the content contains one or more words conveying importance, a signal identifying whether the content contains the user's display name.
- message signals are extracted from the context of the received message (also herein called the current message) within a thread that includes at least one earlier message.
- message signals extracted from the context of the message within a thread include: a signal indicating whether the thread is initiated by the user, a signal identifying whether the message is the first message in the thread, a signal identifying whether the user has replied to a message in the thread, and one or more time related signals, such as signals identifying how long an earlier message in the thread (i.e., a message received prior to the current message) has remained unread by the user, and/or how quickly the user first read or responded to an earlier message in the thread.
- the extracted message signals include ( 516 ) a plurality of term-related message signals.
- a term-related message signal corresponds to presence or quantity of important terms in the message, where important terms include terms determined to be indicative of message importance. Examples of important terms include “important,” “please read,” “urgent,” “action needed,” “confidential,” “reminder,” and the name of the respective user. Some important terms apply to multiple users, and some important terms only apply to a specific user. In some embodiments, the number of important terms (e.g., terms found in one or more lists of important terms) in a message (e.g., in the message body and/or message subject) are counted.
- the count of important terms in a message includes important terms in the subject of the first message in a conversation but not in the subjects of other messages in the conversation, to avoid repetitively counting the same term.
- the extracted message signals include multiple signals, each of which corresponds to a particular count or range of counts of important terms in the received message.
- the extracted message signals may include: one important term; 2 important terms; 3 to 4 important terms; 5 or more important terms; and, one or more important terms in message subject.
- the important term list for a respective user is updated periodically, or from time to time, based on recently received messages or based on messages received since the last time the important term list was generated or updated.
- the extracted message signals include ( 518 ) a plurality of social graph-related message signals.
- social graph-related message signals include: a signal identifying the percentage of messages the user reads from the sender of the message, a signal identifying the percentage of messages the user reads that have at least one of the same recipients as the received message, a signal identifying the percentage of messages that are read out of the total messages sent to exactly the same group of recipients, a signal identifying whether the sender of the message has a corresponding social graph weight associated with the user, a signal identifying the social graph weight of the sender.
- Social graph weight is described above with reference to FIG. 3B .
- the extracted message signals include ( 514 ) a first plurality of message signals.
- each of the first plurality of message signals has corresponding importance weights in both the global importance prediction model and the user importance prediction model.
- its first (global) weight in the global importance prediction model is a baseline value of the importance weight of the message signal
- its second (user) weight in the user importance prediction model represents how much the user model deviates from the global model, in other words, the difference between the user model and the global model.
- a respective message signal in the first plurality of message signals has a first weight equal to 0.5 in the global importance prediction model and a second weight equal to ⁇ 0.2 in the user importance prediction model, where the difference between the global model and the user model for this respective message signal is quantitatively expressed as ⁇ 0.2.
- the first plurality of message signals include ( 519 ) one or more combination message signals, where a combination message signal includes combination of two or more other message signals.
- two or more message signals are combined using a logic function (e.g. AND, OR, XOR . . . ) to generate a combination message signal. Weights are generated for the generated combination message signal and used to help determine message importance.
- a logic function e.g. AND, OR, XOR . . .
- the server extracts a first message signal “This message was from a very important person (VIP): True or False,” and a second message signal “The message was sent by an automated system: True or False.”
- the two message signals can be combined into one combination message signal using a logic AND function; for example, the combination message signal is determined to be True only when “the message is sent by a VIP” AND “the message is NOT sent by an automated system.” It is advantageous to use combination message signals in cases where the combination message signal has been determined (e.g., through the use of machine learning) to have greater message importance predictive power than the combination's constituent message signals in isolation.
- server 106 generates ( 520 ) an importance weight for each message signal of the first plurality of message signals. For a respective message signal ( 522 ), server 106 determines ( 524 ) a first weight for the respective message signal using the first (global) importance prediction model. The server also determines ( 526 ) a second weight for the respective message signal using the second (user) importance prediction model.
- both the first and second importance prediction models include ( 528 ) a plurality of term-related weights, each corresponding to a term-related message signal.
- Term-related message signals are described in more detail above with reference to FIG. 5A .
- both the first and second importance prediction models include ( 530 ) a plurality of social graph-related weights, each corresponding to a social graph-related message signal.
- Social graph-related message signals are described in more detail above with reference to FIG. 5A .
- server 106 determines ( 532 ) the importance weight of a respective message signal by combining the first and the second weights. In some embodiments, the importance weight of the respective message signal is determined ( 534 ) by adding the first weight and the second weight.
- Operations 522 to 534 for determining the importance weight for a respective message signal, are repeated ( 536 ) for each message signal in the first plurality of message signals.
- server 106 determines ( 552 ) an importance score for the message based on the generated importance weights of the first plurality of message signals.
- the importance score of the message is determined by adding up the importance weights of each message signal in the first plurality of message signals.
- the extracted message signals further include ( 540 ) a second plurality of message signals.
- each of the second plurality of message signals has corresponding importance weights in only the user importance prediction model but not the global importance prediction model.
- the server generates ( 542 ) an importance weight for each message signal of the second plurality of message signals.
- server 106 determines ( 546 ) the importance weight for the respective message signal using the second (user) importance prediction model but not the first (global) importance prediction model. These operations are repeated so as to determine the importance weight for each respective message signal in the second plurality of message signals ( 548 ).
- server 106 determines ( 554 ) an importance score for the message based on the generated importance weights of the first and second pluralities of message signals.
- the importance score of the message is determined by adding up the importance weights of each message signal in the first and second pluralities of message signals.
- the server determines importance scores for the message and a plurality of other messages using the method described above and then orders the message and the plurality of other messages based on their importance scores.
- server 106 compares ( 556 ) the importance score of the message with a threshold to determine importance of the message. In some embodiments, messages with importance scores greater than the threshold are determined to be important. In some embodiments, messages with importance scores less than the threshold are determined to be unimportant. In some embodiments, the threshold is predetermined by the server. In some embodiments, the server periodically updates ( 558 ) the threshold using machine learning.
- the server compares the importance score of the message with multiple thresholds to determine a level of importance for the message. For example, the server compares the importance score of the message with two thresholds T 1 and T 2 , where T 1 is less than T 2 . If the importance score of the message is greater than T 2 , the message is determined to be “Very Important;” if the importance score of the message is less than T 2 but greater than T 1 , the message is determined to be “Important;” if the importance score of the message is less than T 1 , the message is determined to be “Unimportant.” By comparing the importance score of multiple received messages with the multiple thresholds, each of the received messages is assigned an importance level and the messages are divided into tiers or levels of importance.
- the server sends ( 560 ) the message (or message information concerning the message) along with information regarding importance of the message to the user for display at a client device.
- information regarding importance of the message includes instructions for displaying the message in a sub-region of a display window where the sub-region is used to display important messages, as described in greater detail below with reference to FIG. 6A , which depicts a “Sorted Inbox” user interface of a messaging application.
- information regarding importance of the message includes instructions for displaying a predefined label to denote importance of the message, as described in greater detail below with reference to FIG. 6A .
- the server may send information corresponding to the message (e.g., the subject line of the message, information identifying the sender of the message, information identifying a subject of the conversation to which the message belong, etc.) along with the message importance information.
- information corresponding to the message e.g., the subject line of the message, information identifying the sender of the message, information identifying a subject of the conversation to which the message belong, etc.
- server 106 collects ( 562 ) the optional feedback data from the user regarding importance of the message or any other messages, and incorporates the optional user feedback data in generating and/or updating ( 562 ) importance weights for the second (user) importance prediction model.
- server 106 collects ( 562 ) the optional feedback data from the user regarding importance of the message or any other messages, and incorporates the optional user feedback data in generating and/or updating importance weights for both the first (global) and second (user) importance prediction models, but the user feedback data is given lower weight for updating the global model than for updating the user model.
- FIG. 6A is a schematic screenshot of a “Sorted Inbox” user interface 600 of a messaging application in which lists of conversations are displayed in two non-overlapping areas of the user interface 600 , according to some embodiments.
- a “Compose Mail” link 602 At the top left corner of the screenshot, there is a “Compose Mail” link 602 . The user clicks on link 602 to start writing a new message.
- Nearby link 602 there are a textbox 604 and a “Search Mail” button 606 . After the user submits one or more query terms through textbox 604 and clicks on the “Search Mail” button 606 , the system generates a new display listing messages or conversations matching the query terms.
- Nearby textbox 604 are two importance marking affordances (sometimes called buttons, or user interface buttons), “Important” 608 and “Unimportant” 610 .
- the user selects one of the two affordances to mark a message or conversation as important or unimportant, which will be described in more detail below with reference to FIGS. 6E-6F .
- Next to the “Important” and “Unimportant” affordances are two pull-down lists: “add label” list 612 and “more actions” list 614 .
- each box corresponding to a system-defined category represented by a respective system-defined label such as “Sorted Inbox,” “Inbox,” “Starred,” “Sent Mail,” “Drafts,” “All Mail,” “Spam,” “Trash,” “Important,” etc.
- the set of system-defined categories may be different, including a subset of these categories and/or additional categories.
- Group boxes 616 there are another series of group boxes, each box corresponding to a user-defined category represented by a respective user-defined label such as Label 1 , Label 2 . . . , etc. Note that since the current screenshot displays only conversations belonging to the “Sorted Inbox” category, the corresponding link in group boxes 616 has been highlighted.
- the “Sorted Inbox” category includes messages and conversations organized and displayed according to importance of the respective message or conversation, as described in more detail below with reference to FIGS. 6A-6F .
- the “Starred” category includes messages and conversations in which the user plans to be actively involved, e.g., by sending messages to other participants, which is similar to a “To Do” list.
- a message may be flagged with a predefined label such as a star 640 , so that a user can search for starred messages.
- the “Important” category 616 - 1 includes messages and conversations that have been determined to meet predefined message importance criteria. The predefined message importance criteria are described in more detail above with reference to FIG. 5C .
- message area of the user interface which is used to display message information (e.g., a list of conversations matching a query, or the messages in a conversation), representing a set of messages.
- the message information is for messages to and from the message account of a respective user.
- the displayed message information includes or concerns messages in which the respective user is a participant (e.g., specified in the To, Cc, or Bcc field of each message).
- the displayed messages are (or include) email messages.
- the displayed message information includes or concerns two or more types of messages, such as two or more of: email messages, chat messages, SMS messages, voice messages, and video messages.
- the message area concurrently displays message information for a first set of messages 632 in a first area of the user interface, and message information for a second set of messages in a second area of the user interface that is separate from the first area.
- the first area in the message area includes a heading 618 (e.g., “Important”) to identify the messages displayed in the first area. Heading 618 is displayed at the top left corner of the first area.
- heading 618 is also a link 618 that, when selected by a user, provides the user with options for determining which messages are to be displayed in the first area of the user interface, and more generally for configuring that area of the user interface.
- heading for each additional message area is also a link that, when selected by a user, provides the user with options for determining which messages are to be displayed in that area of the user interface, and more generally for configuring that area of the user interface.
- Each conversation/message displayed in the first area meets predefined message importance criteria, and each conversation displayed in the first area has at least one message meeting the predefined message importance criteria.
- the predefined message importance criteria are described in more detail above with reference to FIG. 5C . It should be noted that it is advantageous to display only messages that have been determined to meet the predefined importance criteria in the first area because it enables the user to quickly and conveniently locate messages that have been determined to be important, without having to browse multiple pages of messages to locate important messages on each page.
- each row in the first area includes a checkbox 622 , and information for one conversation, including: a sender list 624 , a recipient status indicator 626 , a message/conversation topic and snippet of the message/conversation 628 and a date/time value 630 (e.g., the date/time of receipt of the last message in the listed conversation). Additional information about each of these fields can be found in U.S. Pat. No. 7,584,426 (see, for example, description of FIG. 3B ), which is hereby incorporated by reference in its entirety.
- the set of fields displayed may be different, including a subset of the aforementioned fields and/or additional fields.
- checkbox 622 is checked by the user if the user decides to move the corresponding message or conversation from one system-defined category, e.g., “Inbox”, to another one, e.g., “Trash”, or if the user decides to attach a user-defined label to the corresponding conversation, or if the user decides to move the corresponding message or conversation from one area of the display to another one.
- system-defined category e.g., “Inbox”
- Trash e.g., “Trash”
- the user decides to attach a user-defined label to the corresponding conversation if the user decides to move the corresponding message or conversation from one area of the display to another one.
- View All link 620 also called an expansion affordance
- the “Sorted Inbox” user interface 600 of the messaging application also includes a collapse affordance 621 for collapsing the first area and thereby removing items previously listed in the first area from being displayed the user interface.
- each of the distinct message areas of the “Sorted Inbox” user interface 600 includes a respective collapse affordance (e.g., collapse affordances 621 and 639 in FIG. 6A , and 621 , 639 and 647 in FIG. 6B ) for collapsing the corresponding area of the user interface and thereby removing items previously listed in the respective area from being displayed the user interface.
- the list of messages and conversations 632 is displayed in chronological order in the first area.
- messages that have been received most recently are displayed above messages that have been received earlier. It is advantageous to display the list of important messages 632 in chronological order because chronological order makes the most intuitive sense to many users; some users may be confused if conversations or messages are not displayed in chronological order.
- messages and conversations that have not been read by the user are highlighted.
- all messages in the list of important messages 632 are unread by the user, and all conversations in list 632 have at least one message that is unread by the user. It is advantageous to display only unread messages that have been determined to meet the predefined importance criteria in the first area because it enables the user to quickly and conveniently locate unread messages that have been determined to be important, which in many cases are among the most important messages to the user.
- the user is given the option of displaying important conversations/messages in the list 632 , without regard to whether the user has read all the messages in the list 632 .
- the message area of the display window in FIG. 6A further includes a second area with a heading 636 (e.g., “Starred”) displayed at the top left corner of the second area.
- a heading 636 e.g., “Starred”
- Below heading 636 is a list of conversations 642 each occupying one row in the second area.
- Each conversation in list 642 has at least one message flagged by the user with the predefined label.
- each message in list 642 would be a message flagged by the user with the predefined label.
- a star symbol 640 is displayed next to the conversation/message checkbox for each conversation/message in list 642 .
- the list of messages and conversations 642 is displayed in chronological order in the second area.
- each of the conversations/messages in list 632 of the first area is excluded from list 642 of the second area.
- no conversation/message in list 642 meets the predefined message importance criteria. As applied to lists of conversations, this means that no conversation in list 642 contains a message that meets the predefined message importance criteria.
- the message area of the message application's user interface further includes a third area for displaying a third set of messages.
- the third area includes a heading 644 (e.g., “Everything else”) displayed at the top left corner of the third area.
- heading 644 e.g., “Everything else”
- Below heading 644 is a list 650 of conversations or messages, each occupying one row in the third area.
- View Inbox link 646 also called an expansion affordance
- the list 650 of conversations/messages is displayed in chronological order in the third area.
- each of the conversations/messages in list 632 of the first area and list 642 of the second area is excluded from list 650 of the third area.
- the user interface includes four distinct message areas (not shown), each for displaying a distinct set of conversations/messages.
- the user can configure the user interface to determine the content of each message area.
- the user can configure one of these areas to including only messages having a particular user-defined label (e.g., messages having the user-defined label “vacation”).
- the client device selects, for display in the respective area of the user interface, only messages (or conversations having at least one message) labeled with the particular user-defined label.
- each of the first, second and third areas in FIG. 6B includes a clickable drop-down header that allows a user to customize the way messages are displayed in a respective area and/or apply actions to all visible messages displayed in a respective area.
- a clickable drop-down header is attached to link “Important” 618 , link “Starred” 636 and link “Everything Else” 644 respectively.
- the clickable drop-down header includes options that enable a user to customize the size of a respective area, the category of a respective area, etc.
- the clickable drop-down header includes options that enable the user to select or deselect all visible messages in a respective area, or apply other actions to all visible messages in a respective area.
- FIG. 6C is a schematic screenshot of a “Sorted Inbox” user interface of a messaging application, depicting how a user expands the first area of the messaging application user interface by selecting the “View All” link (also called an expansion affordance), according to some embodiments. If a user wants to view only the messages and conversations in list 632 of the first area, the user can click ( 652 ) on the “View All” link located at the top right corner of the first area to expand the first area. The user interface schematically depicted in FIG. 6C will then change to the user interface schematically depicted in FIG. 6D , which depicts the first area in its expanded state. As shown in FIG.
- list 632 includes more conversations/messages than the maximum number of messages that can be displayed in the first area in FIG. 6C , but after the user expands the first area by clicking on the “View All” link, additional conversations/messages from list 632 that are not displayed in the first area in FIG. 6C can be displayed in the message area in FIG. 6D .
- the user can click on the “View Starred” link 638 ( FIG. 6A ) to expand the second area, or click on the “View Inbox” link 646 ( FIG. 6B ) to expand the third area.
- each of the first, second and third areas in FIG. 6B includes a collapse affordance 621 , 639 , 647 (also called an display area collapse link) that allows a user to collapse a respective display area of the user interface.
- a respective collapse affordance is displayed above and near the left margin of the corresponding display area.
- the respective area is collapsed.
- the respective area in its collapsed state only shows a header with the title of the respective area and a count of messages included in the respective area.
- FIG. 6E is a schematic screenshot of a messaging application user interface, depicting how a user can mark an item displayed in the second area as important by selecting the item and clicking on the “Important” button (also called an importance marking affordance), according to some embodiments.
- a user wants to mark a message or conversation in the second area (e.g., conversation 660 in FIG. 6E ) as important, the user can select ( 670 ) the checkbox of conversation 660 and click ( 672 ) the button “Important.”
- the screenshot in FIG. 6E will then change to the screenshot in FIG. 6F , where conversation 660 is moved from the second area to the first area and is included in the list 632 of the first area. Accordingly, in this example, conversation 662 is moved from the second message in list 642 (as shown in FIG. 6E ) to the first message in list 642 (as shown in FIG. 6F ).
- FIG. 7A is a flow chart representing a method 700 for displaying ( 702 ) messages associated with a respective user, according to some embodiments.
- a client system e.g., client system 102 , FIGS. 1A and 4 ) displays ( 704 ) first message information representing a first set of messages in a first area of the display and displays ( 706 ) second message information representing a second set of messages in a second area of the display that is separate from the first area (see, for example, the areas occupied by lists 632 and 642 , FIG. 6A ).
- client system 102 further displays ( 708 ) a third set of messages in a third area that is separate from the first and second areas (see, for example, the areas occupied by lists 632 , 642 and 650 , FIG. 6B ).
- both the first message information and the second message information are displayed ( 710 ) by client system 102 in chronological order in their respective display areas. Details of method 700 are described above with reference to FIGS. 6A-6F .
- FIG. 7B is a flow chart illustrating the operation of an expansion affordance, according to some embodiments.
- Client system 102 system displays ( 712 ) a respective expansion affordance (e.g., 620 , 638 , FIG. 6A ) in each of the first and second areas.
- client system 102 receives ( 714 ) a user selection of the expansion affordance for the first area, and expands ( 716 ) the first area and displays only the first message information.
- client system 102 receives ( 714 ) a user selection of the expansion affordance for the second area, and expands ( 718 ) the second area and displays only the second message information. Details of the method are described above with reference to FIGS. 6C-6D .
- FIG. 7C is a flow chart illustrating the operation of an importance marking affordance, according to some embodiments.
- the system displays ( 720 ) a selectable importance marking affordance.
- FIG. 6A shows two selectable importance marking affordances, the Important 608 and Not Important 610 marking affordances.
- the system receives ( 722 ) a user selection of one or more items represented by the second message information and receives ( 724 ) a user selection of the selectable importance marking affordance.
- the system marks ( 726 ) the user selected items as important using a predefined label. Details of the method are described above with reference to FIGS. 6E-6F .
- the user action of marking selected items as important, or as not important provides user-generated feedback data regarding importance of one or more user-selected messages.
- the server ( 106 , FIG. 2 ) collects feedback data from the user regarding importance of one or more messages, and modifies the second importance prediction model using the feedback data.
- the server periodically (or from time to time) updates one or more of the importance weights in the first and second importance prediction models using machine-learning that is based, at least in part, on the feedback data.
- the server updates one or more of the importance weights in the first and second importance prediction models using a time-dependent decay function that is applied to the feedback data and optionally to information concerning other user actions on messages.
- the server also updates one or more importance thresholds based, at least in part, on the feedback data, so as to adjust the volume of conversations/messages classified as important and displayed in the message display area (e.g., see FIG. 6A ) for important conversations/messages.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Operations Research (AREA)
- Economics (AREA)
- Marketing (AREA)
- Data Mining & Analysis (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Information Transfer Between Computers (AREA)
Abstract
At a client device with a display and in a method for displaying messages at the client device, the client device concurrently displays message information associated with a respective user by displaying first message information representing a first set of messages in a first area of the display, and displaying second message information representing a second set of messages in a second area of the display that is separate from the first area, where the first set of messages meet predefined message importance criteria, and each message in the first set of messages is excluded from the second set of messages.
Description
- This application claims priority to Provisional Patent Application Ser. No. 61/377,793, filed Aug. 27, 2010, which is hereby incorporated by reference in its entirety.
- This application is related to U.S. patent application Ser. No. ______, Attorney Docket 060963-5522-US, filed Aug. 26, 2011, “Sorted Inbox with Important Message Identification Based on Global User Models,” and Provisional Patent Application Ser. No. 61/377,785, filed Aug. 27, 2010, both of which are hereby incorporated by reference in their entireties.
- The disclosed embodiments relate generally to displaying messages, such as email, instant, and voicemail messages.
- As the popularity of email communication has grown, so too has the number of email messages received and stored in user accounts. A user account typically includes all the messages sent to and from a respective email address or user name, excluding messages deleted from the account. However, some user accounts may be associated with a plurality of email addresses or user names, sometimes called aliases, which together may be considered to be a single logical email address or user name. The amount of received email can quickly overwhelm users—making it difficult to sift important messages from unimportant ones.
- Additionally, many people now access and view their email on mobile devices, such as handheld computers or cell phones. Such mobile devices typically have small screens with even smaller message windows or interfaces for viewing messages. These interfaces often allow the user to view only a small number of messages at any given time, thereby requiring the user to interact more frequently with the interface to locate important messages, such as through scrolling through the messages. Such mobile devices may also employ network connectivity, which is sometimes charged by usage and is often slow. Users of these devices might wish to limit the messages they view to those of high importance when accessing message through this medium.
- To deal with these problems, some message interfaces allow users to organize messages into folders or to apply user-defined labels to messages for easier identification. Additionally, in some email applications, users may order messages in a particular view in accordance with the value of single user-selected message header field, such as message delivery date, sender, or message title. However, these organizational techniques often fail to identify the messages that are most important to the user, leaving the user to scroll through many messages before locating the messages that he or she considers to be most important.
- At a client device with a display and in a method for displaying messages at the client device, the client device concurrently displays message information associated with a respective user by displaying first message information representing a first set of messages in a first area of the display, and displaying second message information representing a second set of messages in a second area of the display that is separate from the first area, where the first set of messages meet predefined message importance criteria, and each message in the first set of messages is excluded from the second set of messages.
- In some embodiments, the displayed message information includes messages from a message account of the respective user. In some embodiments, the first message information is a first list of conversations, each conversation in the first list having at least one message meeting the predefined message importance criteria. Optionally, each conversation in the first list has at least one message that is unread by the user. Optionally, each of the second set of messages has been labeled with a predefined label by the user.
- In some embodiments, the first message information is displayed in chronological order in the first area and the second message information is displayed in chronological order in the second area.
- In some embodiments, the client device further concurrently displays a third set of messages in a third area that is separate from the first area and second area, wherein the first set of messages and second set of messages are excluded from the third set of messages.
- In some embodiments, the client device further displays a respective expansion affordance in each of the first and second areas, and in response to user selection of the respective expansion affordance, expands the corresponding area and displays only the set of messages corresponding to the expanded area.
- In some embodiments, each item represented by the first message information includes a predefined label to denote importance of the corresponding item, wherein each item represented by the first message information is a message or a conversation having one or more messages.
- In some embodiments, the client device further displays a selectable importance marking affordance. In response to user selection of one or more items represented by the second message information and user selection of the selectable importance marking affordance, the client device marks the user selected items as important using the predefined label and moves the user selected items from one respective area of the display to another respective area of the display.
- Various embodiments of the invention are disclosed in the following Description of Embodiments herein, in conjunction with the following drawings in which like reference numerals refer to corresponding parts throughout the figures.
-
FIG. 1A is a block diagram illustrating an overview of a distributed client-server system according to some embodiments. -
FIG. 1B is a block diagram illustrating a process of generating importance scores for messages according to some embodiments. -
FIG. 2 is a block diagram illustrating a server system according to some embodiments. -
FIGS. 3A-3C are block diagrams of data structures for a message database a user account database, and an importance prediction models database, according to some embodiments. -
FIG. 4 is a block diagram illustrating a client system according to some embodiments. -
FIGS. 5A-5C are flowcharts representing a method for identifying important messages at a server, according to some embodiments. -
FIG. 6A is a schematic screenshot of a “Sorted Inbox” user interface of a messaging application in which lists of conversations are displayed in two non-overlapping areas of the display, the two areas of the display including an “Important” link and a “Starred” link respectively, according to some embodiments. -
FIG. 6B is a schematic screenshot of a “Sorted Inbox” user interface of a messaging application in which lists of conversations are displayed in three non-overlapping areas of the display, the three areas of the display including an “Important” link, a “Starred” link and an “Everything Else” link respectively, according to some embodiments. -
FIG. 6C is a schematic screenshot of a “Sorted Inbox” user interface of a messaging application, depicting how a user expands the area (of the messaging application user interface) labeled “Important” by selecting a “View All” link, according to some embodiments. -
FIG. 6D is a schematic screenshot of the area (of a messaging application user interface) labeled “Important” in its expanded state, according to some embodiments. -
FIG. 6E is a schematic screen shot of a messaging application user interface, depicting how a user can mark an item as important by selecting the item and clicking on an “Important” button, according to some embodiments. -
FIG. 6F is a schematic screen shot of a messaging application user interface, depicting an item being moved from the area “Starred” to the area “Important” after being marked as important by the user, according to some embodiments. -
FIG. 7A is a flow chart representing a method for displaying messages associated with a respective user, according to some embodiments. -
FIG. 7B is a flow chart illustrating the operation of an expansion affordance, according to some embodiments. -
FIG. 7C is a flow chart illustrating the operation of an importance marking affordance, according to some embodiments. - Reference will now be made in detail to various embodiments, examples of which are illustrated in the accompanying drawings. In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the described embodiments. However, some embodiments may be practiced without these specific details. In other instances, well-known methods, procedures, components, and circuits have not been described in detail so as not to unnecessarily obscure aspects of the embodiments.
- 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 contact could be termed a second contact, and, similarly, a second contact could be termed a first contact, so long as all occurrences of the first contact are renamed consistently and all occurrences of the second contact are renamed consistently. The first contact and the second contact are both contacts, but they are not the same contact.
- 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 “includes,” “including,” “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 response to detecting,” depending on the context. Similarly, the phrase “if it is determined” or “if (a stated condition or event) is detected” may be construed to mean “upon determining” or “in response to determining” or “upon detecting (the stated condition or event)” or “in response to detecting (the stated condition or event),” depending on the context.
-
FIG. 1A is a block diagram of a distributed computer system 100 includingclient systems 102 and aserver system 106 according to some embodiments. Theserver system 106 is connected toclient computers 102 through one or more communication networks 108. - Client computer 102 (sometimes called a “client system,” or “client device” or “client”) may be any computer or device through which a user of the
client computer 102 can submit service requests to and receive messaging services or other services from theserver system 106. Examples ofclient computers 102 include, without limitation, desktop computers, laptop computers, tablet computers, mobile devices such as mobile phones, personal digital assistants, set-top boxes, or any combination of the above. Arespective client computer 102 may contain one or more client applications 104 for submitting requests to theserver system 106. For example, client application 104 can be a web browser or other application that permits a user to search for, browse, and/or use information (e.g., web pages and web services) accessible through the communication network 108. - The communication network(s) 108 can be any wired or wireless local area network (LAN) and/or wide area network (WAN), such as an intranet, an extranet, the Internet, or a combination of such networks. In some embodiments, the communication network 108 uses the HyperText Transport Protocol (HTTP) and the Transmission Control Protocol/Internet Protocol (TCP/IP) to transport information between different networks. The HTTP permits client devices to access various information items available on the Internet via the communication network 108. The various embodiments, however, are not limited to the use of any particular protocol.
- In some embodiments, the
server system 106 includes a front end server 112, amessage signal extractor 114, animportance weight generator 116, animportant message identifier 118,importance prediction models 122, auser account database 124, amessage database 126, and a search engine 120 for searchingmessage database 126. - The front end server 112 is configured to receive data from a
client computer 102. In some embodiments the data is a message, HTTP request, Ajax request, or other communication. The HTTP request or Ajax request may include a search query (e.g., “label:inbox”) for processing by the search engine 120. - In some embodiments, a message associated with a particular user is received by the
server system 106, where user data regarding the particular user is stored in theuser account database 124. The received message is stored inmessage database 126. In implementations that organize messages into conversations (sometimes called threads or message threads), the message is stored inmessage database 126 either as a new conversation, or as a new message in an existing conversation. - When a message is received by the
server system 106, the message is sent from the front end server 112 to themessage signal extractor 114, which extracts one or more message signals from the message. For each message signal of at least a subset of the extracted message signals, an importance weight is generated byimportance weight generator 116 usingimportance prediction models 122. Based on the message signals and their generated importance weights,important message identifier 118 determines an importance score for the message. In some embodiments, the importance score of the message is used byimportant message identifier 118 for comparison with a threshold to determine importance of the message. -
FIG. 1B is a block diagram illustrating a process of generating importance scores for messages according to some embodiments.Importance prediction models 122 include a firstimportance prediction model 132 and a secondimportance prediction model 134. Both the firstimportance prediction model 132 and the secondimportance prediction model 134 include a plurality of weights, each corresponding to respective message signals. The firstimportance prediction model 132 is based on information associated with multiple users. The firstimportance prediction model 132 is also called the global importance prediction model. The secondimportance prediction model 134 is based on information associated with a respective user (i.e., a single user). The secondimportance prediction model 134 is also called the user importance prediction model. - In some embodiments, the extracted message signals include a first plurality of message signals 128. For each message signal of the first plurality of message signals 128, the
importance weight generator 116 generates an importance weight for the respective message signal by determining a first weight for the respective message signal using the firstimportance prediction model 132, determining a second weight for the respective message signal using the secondimportance prediction model 134, and combining the first weight and the second weight to determine the importance weight of the respective message signal. In some embodiments, the combining includes adding the first and second weight. Furthermore, in some implementations, theimportance weight generator 116 performs table lookup or database lookup operations to obtain the first weight and second weight. As discussed below in more detail with reference toFIG. 5A , the importance weights in the various importance prediction models may be generated and updated using machine learning techniques. Optionally, in addition to a global importance prediction model and a user importance prediction model, the server system also uses a group importance prediction model, for a respective plurality of users (also called a group of users) that include the user for whom message services are being performed. In such implementations, weights from all three importance prediction models are determined and applied to corresponding extracted message signals so as to generate a combined importance score for a respective message. - It is noted that respective weights in the importance prediction models can have both positive and negative values. Weights with positive values are typically associated with message signals that are predictive of message importance. Weights with negative values are typically associated with message signals (e.g., a signal identifying that the message was automatically generated, or a signal that indicates the message includes one or more words on a predefined black list) that are associated with unimportant messages.
- In some embodiments, the extracted message signals include a second plurality of message signals 130. For each message signal of the second plurality of message signals 130,
importance weight generator 116 generates an importance weight for the respective message signal using secondimportance prediction model 134 but not firstimportance prediction model 132. Thus, the second plurality of message signals 130 are message signals for which user-specific weights are generated, but for which global model weights are not generated. - In some embodiments,
important message identifier 118 determinesimportance score 136 for the message based on the generated importance weights of the first plurality of message signals 128. Alternatively,important message identifier 118 determines theimportance score 136 for the message based on the generated importance weights of both the first plurality of message signals 128 and the second plurality of message signals 130. - Attention is now directed back to
FIG. 1A . Once the importance score of the message has been determined byimportant message identifier 118, the message and information regarding importance of the message are stored in themessage database 126. In some embodiments, information regarding importance of the message is the importance score of the message. In some embodiments, information regarding importance of the message are labels denoting importance. For example, in one implementation messages with these labels (which denote message importance) have an importance score above a threshold. Alternatively, conversations having at least one message with an importance score above the threshold are assigned a label denoting importance. - Search engine 120 communicates with
message database 126 to retrieve the message along with information regarding importance of the message, and sends the message and information regarding importance of the message to front end server 112. Front end server 112 sends the message along with information regarding importance of the message to the user for display at aclient device 102. Alternatively, message information corresponding to the message (e.g., the subject line of the message, information identifying the sender of the message, etc.) is sent by front end server 112, along with information regarding importance of the message toclient device 102. In yet another alternative, message information corresponding to the conversation that includes the message (e.g., a subject line of a message in the conversation and/or a snippet of text from the conversation, information identifying the sender of the message, etc.) is sent by front end server 112, along with information regarding importance of the conversation toclient device 102. - While the modules and data structures used to identify important messages have been illustrated above in
server system 106, it should be understood that, in accordance with other embodiments, analogous modules and data structures which are also used to identify important messages are located atclient computer 102 instead of, or in addition to, the modules and data structures shown inserver system 106 above. -
FIG. 2 is a block diagram illustrating aserver system 106 in accordance with some embodiments. Theserver system 106 typically includes one or more processing units (CPU's) 202 for executing modules, programs and/or instructions stored inmemory 206 and thereby performing processing operations; one or more network orother communications interfaces 204;memory 206; and one ormore communication buses 208 for interconnecting these components.Communication buses 208 may include circuitry (sometimes called a chipset) that interconnects and controls communications between system components.Memory 206 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM or other random access solid state memory devices; and may include 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.Memory 206 may optionally include one or more storage devices remotely located from the CPU(s) 202.Memory 206, or alternately the non-volatile memory device(s) withinmemory 206, comprises a non-transitory computer readable storage medium. In some embodiments,memory 206 or the computer readable storage medium ofmemory 206 stores the following programs, modules and data structures, or a subset thereof: -
- an
operating system 210 that includes procedures for handling various basic system services and for performing hardware dependent tasks; - a
network communication module 212 that is used for connecting theserver computer 106 to other computers via the one or more communication network interfaces 204 (wired or wireless) and one or more communication networks, such as the Internet, other wide area networks, local area networks, metropolitan area networks, and so on; - a
message signal extractor 114, for extracting one or more message signals from the received message; - an
importance weight generator 116, for generating importance weights for each message signal of at least a subset of the extracted message signals; -
importance prediction models 122 including firstimportance prediction model 132 and one or more second importance prediction models 134 (e.g., one for each distinct user for whom message importance services are to be provided), for storing a plurality of weights, each corresponding to a respective message signal; - a
user account database 124, for storing user data, as discussed below with reference toFIG. 3B ; - a
message database 126, for storing messages and related information, as discussed below with reference toFIG. 3A ; - an
important message identifier 118, for generating importance scores for messages using animportance score generator 218; in some embodiments, theimportant message identifier 118 also includes an importance threshold 220 (or in some implementations, more than one importance threshold), which is used for determining importance of messages.
- an
- Each of the above identified modules, applications or programs corresponds to a set of instructions, executable by the one or more processors of
server system 106, for performing a function described above. The above identified modules, applications or programs (i.e., 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,memory 206 may store a subset of the modules and data structures identified above. Furthermore,memory 206 may store additional modules and data structures not described above. - Although
FIG. 2 shows a “server system,”FIG. 2 is intended more as functional description of the various features which may be present in a set of servers than as a structural schematic of the embodiments described herein. In practice, and as recognized by those of ordinary skill in the art, items shown separately could be combined and some items could be separated. For example, some items shown separately inFIG. 2 could be implemented on single servers and single items could be implemented by one or more servers. The actual number of servers used to implement a server system and how features are allocated among them will vary from one implementation to another, and may depend in part on the amount of data traffic that the system must handle during peak usage periods as well as during average usage periods. -
FIG. 3A depicts an exemplary data structure of amessage record 304 in message database 126 (FIG. 1A ) according to some embodiments. The message database includes stores messages (in message records 304) for a plurality of user accounts such asAccount 1,Account 2, . . . , and Account M. For a specific account such asAccount 2, the database stores aset 302 ofmessage records 304 corresponding to a plurality of messages such asMessage 1,Message 2, . . . , and Message N. For a specific message such asMessage 2, message data 304-2 includesheader information 306 andmessage content 320. In some embodiments, message data 304-2 includes the importance score of themessage 321. Optionally, message data 304-2 further includes amessage identifier 305 that uniquely identifies the message, and/or a conversation identifier and message identifier that together uniquely identify the message. Optionally, message data 304-2 for a respective message includes feedback data 328 (e.g., one or more of: time elapsed between message receipt and reading, whether the user has replied or forwarded the message, whether the user has read or replied or forwarded the message more than once, whether the user has explicitly marked the message as being important, and whether the user has explicitly marked the message as not important). - In some embodiments,
header information 306 includesinformation 308 identifying the senders and recipients of the message, the message subject 310, one or more labels (if any) applied to themessage 312, one ormore time stamps 316, andother metadata 318. In some embodiments, the labels applied to arespective message 312 include an importance label 314 (e.g., when the message importance score exceeds a threshold), which denotes importance of the message. The one ormore time stamps 316 include information indicating the time when the message is received by the user account, and optionally include time information (which may be stored in theheader 306 or elsewhere in the database 302) that indicates the time(s) when the user read the message and the time(s) when the user replied to the message. Thus, the one ormore time stamps 316 may be useful in calculating how quickly the user reads, responds to or otherwise interacts with the message. Optionally,other metadata 318 includes one of more values such as the number of times the message has been read, forwarded, and other metrics of interaction. Themessage content 320 contains the content of the message, e.g., text, images, and attachments. Those of ordinary skill in the art would recognize other ways to store the message information. For example, an attachment might be stored in another storage structure with a reference to it stored in themessage record 304. -
FIG. 3B depicts an exemplary data structure of auser account record 322 in the user account database 124 (FIG. 1A ) according to some embodiments. Theuser account record 322 includes a plurality of user accounts such asUser Account 1,User Account 2, . . . , and User Account M. For a specific user account such asUser Account 2, user account record 322-2 includes a contact list 324 (or includes a pointer to contact list 324) that includes a list of contacts associated with the user, and optionally includes one or more of:social graph data 326, andimportant terms 330. Optionally, the user data 322-2 also includes a user-specificimportance prediction model 332, which is described in greater detail below with respect toFIG. 3C . - Alternatively, user-specific
importance prediction model 332 for a respective user or user account is stored in a separate database fromuser account database 124. It is noted that a user may have multiple accounts, or multiple usernames for messaging, and that in some implementations a single user-specificimportance prediction model 332 is used in conjunction with two or more of the usernames and/or accounts of the user. - In some embodiments, the user has an associated social graph that includes one or more social graph members. Each of the one or more social graph members has a calculated social graph weight based on the interactions between the user and the respective social graph member.
Social graph data 326 includes information regarding the one or more social graph members. In some embodiments, information regarding the one or more social graph members includes the calculated social graph weights of the one or more social graph members. Optionally, if the user sends and/or receives messages sent to a group of social graph members,social graph data 326 also includes weights for that group of members of the social graph. Thus,social graph data 326 for a respective user optionally includes weights for a plurality of groups of social graph members with whom the user has communicated as a group. - In some embodiments, server 106 (
FIG. 1A ) collects feedback data from the user regarding importance of a respective message. For example, the user may explicitly mark a message as important, or not important. In another example, the speed with which a user opens a new message, or deletes a message without opening it, may be treated as feedback data. Optionally, the feedback data from the user is stored in theuser account database 124. Alternatively, the feedback data is stored in themessage database 126. Feedback data from the user is described in more detail below with reference toFIG. 5C . -
Important terms 330 include terms determined to be indicative of message importance. In some embodiments,important terms 330 are specific to the user, and thus arespective user account 322 includes a set of user-specificimportant terms 330. Important terms are described in more detail below with reference toFIG. 5A . -
FIG. 3C depicts an exemplary data structure of importance prediction models 122 (FIG. 1A ), according to some embodiments.Importance prediction models 122 includes a globalimportance prediction model 132 and a set of user importance prediction models 134 (FIG. 1B ). Userimportance prediction models 134 include a plurality of user-specific importance prediction models, for a plurality of respective users. In this example, user-specificimportance prediction models 134 includeUser Model 1,User Model 2, . . . , and User Model P. Bothglobal model 132 and user-specific model such asUser Model 1 include a plurality of weights, each corresponding to a respective message signal or a respective combination message signal. In some implementations, the message signals used include both individual message signals (each based on a single message signal) and one or more combination message signals (each based on two or more message signals). Combination message signals are described in more detail below with reference toFIG. 5A . In some embodiments, as shown inFIG. 3C , the plurality of weights and signal identifiers for their respective message signals are stored in records 334, 336, 338, 340, 342 in a look-up table in importanceprediction model database 122. -
FIG. 4 is a block diagram illustrating aclient computer 102 in accordance with some embodiments. Theclient computer 102 typically includes one or more processing units (CPU's) 402 for executing modules, programs and/or instructions stored inmemory 406 and thereby performing processing operations; one or more network orother communications interfaces 404;memory 406; and one ormore communication buses 408 for interconnecting these components.Communication buses 408 may include circuitry (sometimes called a chipset) that interconnects and controls communications between system components.Client computer 102 optionally may include auser interface 410 comprising a display device and a keyboard, mouse, touch-sensitive surface or other input device.Memory 406 includes high-speed random access memory, such as DRAM, SRAM, DDR RAM or other random access solid state memory devices; and may include 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.Memory 406 may optionally include one or more storage devices remotely located from the CPU(s) 402.Memory 406, or alternately the non-volatile memory device(s) withinmemory 406, comprises a computer readable storage medium. In some embodiments,memory 406 or the computer readable storage medium ofmemory 406 stores the following programs, modules and data structures, or a subset thereof: -
- an
operating system 412 that includes procedures for handling various basic system services and for performing hardware dependent tasks; - a
network communication module 414 that is used for connecting theclient computer 102 to other computers via the one or more communication network interfaces 404 (wired or wireless) and one or more communication networks, such as the Internet, other wide area networks, local area networks, metropolitan area networks, and so on; - a
client application 416, for rendering messages to the user of the client and receiving input from the user (e.g., labeling a message as important or unimportant); - optionally, a
user account database 418, for storing user data; and - optionally, a
message database 420, for storing messages and other communication received from aserver system 106.
- an
- Each of the above identified modules, applications or programs corresponds to a set of instructions, executable by the one or more processors of
client computer 102, for performing a function described above. The above identified modules, applications or programs (i.e., 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,memory 406 may store a subset of the modules and data structures identified above. Furthermore,memory 406 may store additional modules and data structures not described above. -
FIG. 5A-5C are flowcharts representing aserver method 500 for identifying important messages, in accordance with some embodiments.Server method 500 may be governed by instructions that are stored in a computer readable storage medium and that are executed by one or more processors of one or more servers (seeserver system 106,FIG. 2 ). Each of the operations shown inFIG. 5 may correspond to instructions stored in a computer memory or computer readable storage medium (e.g.,memory 206,FIG. 2 ). The computer readable storage medium may include a magnetic or optical disk storage device, solid state storage devices such as flash memory devices, or other non-volatile memory device or devices. The computer readable instructions stored on the computer readable storage medium are in source code, assembly language code, object code, or other instruction format that is interpreted by one or more processors. - In some embodiments, server 106 (
FIGS. 1 , 2) automatically generates (502) the plurality of weights included in first and second importance prediction models (132, 134,FIG. 1B ) using data frommessage database 126 anduser account database 124, without requiring the user to provide explicit feedback regarding importance of any messages. Each of the plurality of weights in the first and second importance prediction models corresponds to a respective message signal. In some embodiments, a message signal in the first (global) importance prediction model is given a greater weight if the server determines the probability is high that a common user will act within a predetermined amount of time upon messages exhibiting the message signal. The term “exhibited” is defined as follows. A message signal extracted from a respective message is said to be exhibited by that message. For example, the server may find that a common user will more likely respond within 48 hours to a message where the user is the only recipient than to other messages where the user is not the only recipient. In this example, the message signal “User is the only recipient” is given a greater weight than the message signal “User is not the only recipient” in the global importance prediction model. In some embodiments, a message signal in the second (user) importance prediction model is given a greater weight if the server determines the probability is high that a specific user will act within a predetermined amount of time upon messages exhibiting the message signal. For example, the server may find that a specific user is likely respond within 48 hours to messages from a person named “John Doe,” and a corresponding message signal is given an commensurate weight. More generally, a weight is assigned to each message signal that is included in an importance prediction model that is commensurate with its predictive power, e.g., for predicting the likelihood that messages exhibiting the message signal will be opened by the user within a predefined period of time after the signal has been received in the user account. - In some embodiments,
server 106 automatically generates and/or periodically updates (504) one or more of the importance weights in the first and second importance prediction models using machine learning. Machine learning includes a set of techniques, implemented using software tools and computer systems, that generate functions and predictive models (e.g., by determining weights to be applied to components of the functions or predictive models). Machine learning is well known to those skilled in the art and is therefore not described in detail in this document. In some embodiments, in order for the machine learning technique to adapt to changes in the activity in a user's messaging account (e.g., changes in the messages being received by a user, for example, a sudden influx of messages concerning events such as holidays, and/or changes in a user's behavior), the server creates a user profile that is independent of the importance prediction model for a respective user. The user profile tracks user behavior-related statistical data, such as the number of messages the user receives, reads or replies to per day, the percentage of messages read or replied to by the user per day and the number of messages marked as important by the user per day. When the user profile indicates that characteristics of the messages being received by the user deviate from those normally received by the user in the past, and/or indicates that the user's behavior with respect to received messages deviates from the user's normal behavior with respect to one or more statistical data by more than a predetermined amount, the machine learning technique will ignore any new user data in the learning process until either the deviation of received messages and/or user behavior ends, or the deviation of received messages and/or user behavior persists long enough so that it becomes the new normal with respect to received messages and/or user behavior. - Optionally, the server updates (506) one or more of the importance weights in the first and second importance prediction models using a time-dependent decay function to discount over time the importance of user actions with respect to messages having a respective message signal. Thus, the influence of user actions (e.g., opening, replying, deleting) on messages exhibiting a message signal are discounted by an amount that corresponds to how long ago the user actions occurred. For example, in these embodiments, a user action that occurred two weeks ago (or perhaps two months ago) is more heavily discounted than a similar user action that occurred one day ago.
- In some embodiments,
server 106 receives (508) a message associated with a user. The received message includes (510) information identifying message participants. Message participants include people listed in one or more of the To, From, and Cc fields of the message, and possibly in other fields as well (e.g., a Reply-To field, if provided). In some embodiments, message participants also include people listed in the To, From, Cc, . . . fields of other messages that are in the same conversation as the received message. In some embodiments, the user has (510) an associated social graph (326,FIG. 3B ). In some circumstances, the user's social graph data 326 (FIG. 3B ) includes information regarding one or more of the message participants. - In some embodiments,
server 106 extracts (512) one or more message signals from the message. In some embodiments, some of the message signals are extracted from the message header. Examples of message signals extracted from the message header include: a signal identifying whether the user is the only recipient of the message, a signal identifying whether the message is sent by the user, a signal identifying whether the subject of the message contains one or more words conveying importance (e.g., “important,” “please read,” “urgent,” “action needed,” “confidential” and “reminder”), a signal identifying whether the subject of the message contains the user's display name, one or more signals identifying the labels (if any) applied to the message, a signal identifying whether the message is addressed to the user using the Bcc field; a signal indicating if the message was sent to a list to which the user has subscribed; one or more signals indicating whether the message was sent from one or more particular domains (e.g., domains identified in a user profile as domains from which the user appears to receive important messages (or unimportant messages), based on prior user actions with respect to such messages); and one or more signals indicating whether the received message was sent during a correspond time-of-day range (e.g., 8 AM-5 PM, 5:01 PM-11 PM, or 11:01 PM-7:59 AM). The exampled given here are non-exhaustive; many other messages signals may be generated based on information extracted from the message. - In some embodiments, some of the message signals are extracted from the message body, i.e., content of the message. Examples of message signals extracted from the message content include: a signal identifying whether the content contains one or more words conveying importance, a signal identifying whether the content contains the user's display name.
- In some embodiments, when generating an importance score for a received message, message signals are extracted from the context of the received message (also herein called the current message) within a thread that includes at least one earlier message. Examples of message signals extracted from the context of the message within a thread include: a signal indicating whether the thread is initiated by the user, a signal identifying whether the message is the first message in the thread, a signal identifying whether the user has replied to a message in the thread, and one or more time related signals, such as signals identifying how long an earlier message in the thread (i.e., a message received prior to the current message) has remained unread by the user, and/or how quickly the user first read or responded to an earlier message in the thread.
- In some embodiments, the extracted message signals include (516) a plurality of term-related message signals. A term-related message signal corresponds to presence or quantity of important terms in the message, where important terms include terms determined to be indicative of message importance. Examples of important terms include “important,” “please read,” “urgent,” “action needed,” “confidential,” “reminder,” and the name of the respective user. Some important terms apply to multiple users, and some important terms only apply to a specific user. In some embodiments, the number of important terms (e.g., terms found in one or more lists of important terms) in a message (e.g., in the message body and/or message subject) are counted. In some embodiments, the count of important terms in a message includes important terms in the subject of the first message in a conversation but not in the subjects of other messages in the conversation, to avoid repetitively counting the same term. Optionally, the extracted message signals include multiple signals, each of which corresponds to a particular count or range of counts of important terms in the received message. For example, the extracted message signals may include: one important term; 2 important terms; 3 to 4 important terms; 5 or more important terms; and, one or more important terms in message subject. Optionally, the important term list for a respective user is updated periodically, or from time to time, based on recently received messages or based on messages received since the last time the important term list was generated or updated.
- In some embodiments, the extracted message signals include (518) a plurality of social graph-related message signals. Examples of social graph-related message signals include: a signal identifying the percentage of messages the user reads from the sender of the message, a signal identifying the percentage of messages the user reads that have at least one of the same recipients as the received message, a signal identifying the percentage of messages that are read out of the total messages sent to exactly the same group of recipients, a signal identifying whether the sender of the message has a corresponding social graph weight associated with the user, a signal identifying the social graph weight of the sender. Social graph weight is described above with reference to
FIG. 3B . - In some embodiments, the extracted message signals include (514) a first plurality of message signals. Optionally, each of the first plurality of message signals has corresponding importance weights in both the global importance prediction model and the user importance prediction model. For a respective message signal in the first plurality of message signals, its first (global) weight in the global importance prediction model is a baseline value of the importance weight of the message signal, while its second (user) weight in the user importance prediction model represents how much the user model deviates from the global model, in other words, the difference between the user model and the global model. For example, a respective message signal in the first plurality of message signals has a first weight equal to 0.5 in the global importance prediction model and a second weight equal to −0.2 in the user importance prediction model, where the difference between the global model and the user model for this respective message signal is quantitatively expressed as −0.2.
- In some embodiments, the first plurality of message signals include (519) one or more combination message signals, where a combination message signal includes combination of two or more other message signals. In some embodiments, two or more message signals are combined using a logic function (e.g. AND, OR, XOR . . . ) to generate a combination message signal. Weights are generated for the generated combination message signal and used to help determine message importance. For example, the server extracts a first message signal “This message was from a very important person (VIP): True or False,” and a second message signal “The message was sent by an automated system: True or False.” The two message signals can be combined into one combination message signal using a logic AND function; for example, the combination message signal is determined to be True only when “the message is sent by a VIP” AND “the message is NOT sent by an automated system.” It is advantageous to use combination message signals in cases where the combination message signal has been determined (e.g., through the use of machine learning) to have greater message importance predictive power than the combination's constituent message signals in isolation.
- In some embodiments,
server 106 generates (520) an importance weight for each message signal of the first plurality of message signals. For a respective message signal (522),server 106 determines (524) a first weight for the respective message signal using the first (global) importance prediction model. The server also determines (526) a second weight for the respective message signal using the second (user) importance prediction model. - In some embodiments, both the first and second importance prediction models include (528) a plurality of term-related weights, each corresponding to a term-related message signal. Term-related message signals are described in more detail above with reference to
FIG. 5A . - In some embodiments, both the first and second importance prediction models include (530) a plurality of social graph-related weights, each corresponding to a social graph-related message signal. Social graph-related message signals are described in more detail above with reference to
FIG. 5A . - In some embodiments,
server 106 determines (532) the importance weight of a respective message signal by combining the first and the second weights. In some embodiments, the importance weight of the respective message signal is determined (534) by adding the first weight and the second weight. -
Operations 522 to 534, for determining the importance weight for a respective message signal, are repeated (536) for each message signal in the first plurality of message signals. In some embodiments, upon determining (538) that an importance weight has been generated for each and every message signal in the first plurality of message signals,server 106 determines (552) an importance score for the message based on the generated importance weights of the first plurality of message signals. In some embodiments, the importance score of the message is determined by adding up the importance weights of each message signal in the first plurality of message signals. - In some embodiments, the extracted message signals further include (540) a second plurality of message signals. In some embodiments, each of the second plurality of message signals has corresponding importance weights in only the user importance prediction model but not the global importance prediction model. In these embodiments, the server generates (542) an importance weight for each message signal of the second plurality of message signals. For a respective message signal (544),
server 106 determines (546) the importance weight for the respective message signal using the second (user) importance prediction model but not the first (global) importance prediction model. These operations are repeated so as to determine the importance weight for each respective message signal in the second plurality of message signals (548). - Upon determining (550) that an importance weight has been generated for each and every message signal in the first and second pluralities of message signals,
server 106 determines (554) an importance score for the message based on the generated importance weights of the first and second pluralities of message signals. In some embodiments, the importance score of the message is determined by adding up the importance weights of each message signal in the first and second pluralities of message signals. In some embodiments, the server determines importance scores for the message and a plurality of other messages using the method described above and then orders the message and the plurality of other messages based on their importance scores. - In some embodiments, after determining an importance score for the message,
server 106 compares (556) the importance score of the message with a threshold to determine importance of the message. In some embodiments, messages with importance scores greater than the threshold are determined to be important. In some embodiments, messages with importance scores less than the threshold are determined to be unimportant. In some embodiments, the threshold is predetermined by the server. In some embodiments, the server periodically updates (558) the threshold using machine learning. - In some embodiments, the server compares the importance score of the message with multiple thresholds to determine a level of importance for the message. For example, the server compares the importance score of the message with two thresholds T1 and T2, where T1 is less than T2. If the importance score of the message is greater than T2, the message is determined to be “Very Important;” if the importance score of the message is less than T2 but greater than T1, the message is determined to be “Important;” if the importance score of the message is less than T1, the message is determined to be “Unimportant.” By comparing the importance score of multiple received messages with the multiple thresholds, each of the received messages is assigned an importance level and the messages are divided into tiers or levels of importance.
- In some embodiments, the server sends (560) the message (or message information concerning the message) along with information regarding importance of the message to the user for display at a client device. In some embodiments, information regarding importance of the message includes instructions for displaying the message in a sub-region of a display window where the sub-region is used to display important messages, as described in greater detail below with reference to
FIG. 6A , which depicts a “Sorted Inbox” user interface of a messaging application. In some embodiments, information regarding importance of the message includes instructions for displaying a predefined label to denote importance of the message, as described in greater detail below with reference toFIG. 6A . As noted above, instead of sending the message itself along with the importance information, the server may send information corresponding to the message (e.g., the subject line of the message, information identifying the sender of the message, information identifying a subject of the conversation to which the message belong, etc.) along with the message importance information. - In some embodiment, after the server sends the message (or message information) along with information regarding importance of the message to the user for display, the user can optionally provide feedback data regarding importance of the message or any other messages, for example by marking one or more of the messages as “important” or “unimportant,” as illustrated in
FIGS. 6E-6F . In some embodiments,server 106 collects (562) the optional feedback data from the user regarding importance of the message or any other messages, and incorporates the optional user feedback data in generating and/or updating (562) importance weights for the second (user) importance prediction model. In another embodiment,server 106 collects (562) the optional feedback data from the user regarding importance of the message or any other messages, and incorporates the optional user feedback data in generating and/or updating importance weights for both the first (global) and second (user) importance prediction models, but the user feedback data is given lower weight for updating the global model than for updating the user model. -
FIG. 6A is a schematic screenshot of a “Sorted Inbox”user interface 600 of a messaging application in which lists of conversations are displayed in two non-overlapping areas of theuser interface 600, according to some embodiments. At the top left corner of the screenshot, there is a “Compose Mail”link 602. The user clicks onlink 602 to start writing a new message. Nearby link 602, there are atextbox 604 and a “Search Mail”button 606. After the user submits one or more query terms throughtextbox 604 and clicks on the “Search Mail”button 606, the system generates a new display listing messages or conversations matching the query terms.Nearby textbox 604 are two importance marking affordances (sometimes called buttons, or user interface buttons), “Important” 608 and “Unimportant” 610. The user selects one of the two affordances to mark a message or conversation as important or unimportant, which will be described in more detail below with reference toFIGS. 6E-6F . Next to the “Important” and “Unimportant” affordances are two pull-down lists: “add label”list 612 and “more actions”list 614. Right below the “Compose Mail”link 602, there are a series of group boxes, each box corresponding to a system-defined category, represented by a respective system-defined label such as “Sorted Inbox,” “Inbox,” “Starred,” “Sent Mail,” “Drafts,” “All Mail,” “Spam,” “Trash,” “Important,” etc. In some embodiments, the set of system-defined categories may be different, including a subset of these categories and/or additional categories. Below “Categories” group boxes 616, there are another series of group boxes, each box corresponding to a user-defined category represented by a respective user-defined label such asLabel 1,Label 2 . . . , etc. Note that since the current screenshot displays only conversations belonging to the “Sorted Inbox” category, the corresponding link in group boxes 616 has been highlighted. - In some embodiments, the “Sorted Inbox” category includes messages and conversations organized and displayed according to importance of the respective message or conversation, as described in more detail below with reference to
FIGS. 6A-6F . In some embodiments, the “Starred” category includes messages and conversations in which the user plans to be actively involved, e.g., by sending messages to other participants, which is similar to a “To Do” list. Thus, in some embodiment, a message may be flagged with a predefined label such as astar 640, so that a user can search for starred messages. In some embodiments, the “Important” category 616-1 includes messages and conversations that have been determined to meet predefined message importance criteria. The predefined message importance criteria are described in more detail above with reference toFIG. 5C . - Next to “Categories” group box 616 and below the row of
buttons boxes - In some embodiments, the message area concurrently displays message information for a first set of
messages 632 in a first area of the user interface, and message information for a second set of messages in a second area of the user interface that is separate from the first area. As shown inFIG. 6A , in some embodiments, the first area in the message area includes a heading 618 (e.g., “Important”) to identify the messages displayed in the first area. Heading 618 is displayed at the top left corner of the first area. Optionally, heading 618 is also alink 618 that, when selected by a user, provides the user with options for determining which messages are to be displayed in the first area of the user interface, and more generally for configuring that area of the user interface. Similarly, the heading for each additional message area (e.g., heading 636 above the second area and heading 644 above the third area) is also a link that, when selected by a user, provides the user with options for determining which messages are to be displayed in that area of the user interface, and more generally for configuring that area of the user interface. - Below heading 618 is a list of messages or
conversations 632 each occupying one row in the first area. Each conversation/message displayed in the first area meets predefined message importance criteria, and each conversation displayed in the first area has at least one message meeting the predefined message importance criteria. The predefined message importance criteria are described in more detail above with reference toFIG. 5C . It should be noted that it is advantageous to display only messages that have been determined to meet the predefined importance criteria in the first area because it enables the user to quickly and conveniently locate messages that have been determined to be important, without having to browse multiple pages of messages to locate important messages on each page. - In some embodiments, each row in the first area includes a
checkbox 622, and information for one conversation, including: asender list 624, arecipient status indicator 626, a message/conversation topic and snippet of the message/conversation 628 and a date/time value 630 (e.g., the date/time of receipt of the last message in the listed conversation). Additional information about each of these fields can be found in U.S. Pat. No. 7,584,426 (see, for example, description ofFIG. 3B ), which is hereby incorporated by reference in its entirety. In some embodiments, the set of fields displayed may be different, including a subset of the aforementioned fields and/or additional fields. In some embodiments,checkbox 622 is checked by the user if the user decides to move the corresponding message or conversation from one system-defined category, e.g., “Inbox”, to another one, e.g., “Trash”, or if the user decides to attach a user-defined label to the corresponding conversation, or if the user decides to move the corresponding message or conversation from one area of the display to another one. At the top right corner of the first area, there is a “View All” link 620 (also called an expansion affordance), which is described in greater detail below with reference toFIGS. 6C-6D . Optionally, the “Sorted Inbox”user interface 600 of the messaging application also includes acollapse affordance 621 for collapsing the first area and thereby removing items previously listed in the first area from being displayed the user interface. Optionally, each of the distinct message areas of the “Sorted Inbox”user interface 600 includes a respective collapse affordance (e.g.,collapse affordances FIG. 6A , and 621, 639 and 647 inFIG. 6B ) for collapsing the corresponding area of the user interface and thereby removing items previously listed in the respective area from being displayed the user interface. - In some embodiments, the list of messages and
conversations 632 is displayed in chronological order in the first area. In some embodiments, messages that have been received most recently are displayed above messages that have been received earlier. It is advantageous to display the list ofimportant messages 632 in chronological order because chronological order makes the most intuitive sense to many users; some users may be confused if conversations or messages are not displayed in chronological order. - In some embodiments, messages and conversations that have not been read by the user are highlighted. In some embodiments, all messages in the list of
important messages 632 are unread by the user, and all conversations inlist 632 have at least one message that is unread by the user. It is advantageous to display only unread messages that have been determined to meet the predefined importance criteria in the first area because it enables the user to quickly and conveniently locate unread messages that have been determined to be important, which in many cases are among the most important messages to the user. Optionally, the user is given the option of displaying important conversations/messages in thelist 632, without regard to whether the user has read all the messages in thelist 632. - In some embodiments, the message area of the display window in
FIG. 6A further includes a second area with a heading 636 (e.g., “Starred”) displayed at the top left corner of the second area. Below heading 636 is a list ofconversations 642 each occupying one row in the second area. Each conversation inlist 642 has at least one message flagged by the user with the predefined label. Alternatively, in embodiments that show a list of messages instead of a list of conversations, each message inlist 642 would be a message flagged by the user with the predefined label. In some embodiments, astar symbol 640 is displayed next to the conversation/message checkbox for each conversation/message inlist 642. At the top right corner of the second area, there is a “View Starred” link 638 (also called an expansion affordance), which is described in greater detail below with reference toFIGS. 6C-6D . In some embodiments, the list of messages andconversations 642 is displayed in chronological order in the second area. In some embodiments, each of the conversations/messages inlist 632 of the first area is excluded fromlist 642 of the second area. In some embodiments, no conversation/message inlist 642 meets the predefined message importance criteria. As applied to lists of conversations, this means that no conversation inlist 642 contains a message that meets the predefined message importance criteria. - As shown in
FIG. 6B , in some embodiments, the message area of the message application's user interface further includes a third area for displaying a third set of messages. In most, if not all, embodiments, messages in the first set of messages and messages in the second set of messages are excluded from the third set of messages displayed in the third area. In this example, the third area includes a heading 644 (e.g., “Everything else”) displayed at the top left corner of the third area. Below heading 644 is alist 650 of conversations or messages, each occupying one row in the third area. At the top right corner of the third area, there is a “View Inbox” link 646 (also called an expansion affordance) as described in greater detail below with reference toFIGS. 6C-6D . In some embodiments, thelist 650 of conversations/messages is displayed in chronological order in the third area. In some embodiments, each of the conversations/messages inlist 632 of the first area andlist 642 of the second area is excluded fromlist 650 of the third area. In yet other embodiments, the user interface includes four distinct message areas (not shown), each for displaying a distinct set of conversations/messages. Optionally, the user can configure the user interface to determine the content of each message area. Optionally, the user can configure one of these areas to including only messages having a particular user-defined label (e.g., messages having the user-defined label “vacation”). Stated another say, the client device selects, for display in the respective area of the user interface, only messages (or conversations having at least one message) labeled with the particular user-defined label. - Though not shown, in some embodiments, each of the first, second and third areas in
FIG. 6B includes a clickable drop-down header that allows a user to customize the way messages are displayed in a respective area and/or apply actions to all visible messages displayed in a respective area. In some embodiments, such a clickable drop-down header is attached to link “Important” 618, link “Starred” 636 and link “Everything Else” 644 respectively. The clickable drop-down header includes options that enable a user to customize the size of a respective area, the category of a respective area, etc. Optionally, the clickable drop-down header includes options that enable the user to select or deselect all visible messages in a respective area, or apply other actions to all visible messages in a respective area. -
FIG. 6C is a schematic screenshot of a “Sorted Inbox” user interface of a messaging application, depicting how a user expands the first area of the messaging application user interface by selecting the “View All” link (also called an expansion affordance), according to some embodiments. If a user wants to view only the messages and conversations inlist 632 of the first area, the user can click (652) on the “View All” link located at the top right corner of the first area to expand the first area. The user interface schematically depicted inFIG. 6C will then change to the user interface schematically depicted inFIG. 6D , which depicts the first area in its expanded state. As shown inFIG. 6D , after the user clicks on the “View All” link to expand the first area, only conversations/messages inlist 632 are displayed in the message area of the display window. In some embodiments,list 632 includes more conversations/messages than the maximum number of messages that can be displayed in the first area inFIG. 6C , but after the user expands the first area by clicking on the “View All” link, additional conversations/messages fromlist 632 that are not displayed in the first area inFIG. 6C can be displayed in the message area inFIG. 6D . In analogous manner, the user can click on the “View Starred” link 638 (FIG. 6A ) to expand the second area, or click on the “View Inbox” link 646 (FIG. 6B ) to expand the third area. - Though not shown, in some embodiments, each of the first, second and third areas in
FIG. 6B includes acollapse affordance -
FIG. 6E is a schematic screenshot of a messaging application user interface, depicting how a user can mark an item displayed in the second area as important by selecting the item and clicking on the “Important” button (also called an importance marking affordance), according to some embodiments. If a user wants to mark a message or conversation in the second area (e.g.,conversation 660 inFIG. 6E ) as important, the user can select (670) the checkbox ofconversation 660 and click (672) the button “Important.” The screenshot inFIG. 6E will then change to the screenshot inFIG. 6F , whereconversation 660 is moved from the second area to the first area and is included in thelist 632 of the first area. Accordingly, in this example,conversation 662 is moved from the second message in list 642 (as shown inFIG. 6E ) to the first message in list 642 (as shown inFIG. 6F ). -
FIG. 7A is a flow chart representing amethod 700 for displaying (702) messages associated with a respective user, according to some embodiments. A client system (e.g.,client system 102,FIGS. 1A and 4 ) displays (704) first message information representing a first set of messages in a first area of the display and displays (706) second message information representing a second set of messages in a second area of the display that is separate from the first area (see, for example, the areas occupied bylists FIG. 6A ). In some embodiments,client system 102 further displays (708) a third set of messages in a third area that is separate from the first and second areas (see, for example, the areas occupied bylists FIG. 6B ). In some embodiments, both the first message information and the second message information are displayed (710) byclient system 102 in chronological order in their respective display areas. Details ofmethod 700 are described above with reference toFIGS. 6A-6F . -
FIG. 7B is a flow chart illustrating the operation of an expansion affordance, according to some embodiments.Client system 102 system displays (712) a respective expansion affordance (e.g., 620, 638,FIG. 6A ) in each of the first and second areas. In some embodiments,client system 102 receives (714) a user selection of the expansion affordance for the first area, and expands (716) the first area and displays only the first message information. In another embodiment,client system 102 receives (714) a user selection of the expansion affordance for the second area, and expands (718) the second area and displays only the second message information. Details of the method are described above with reference toFIGS. 6C-6D . -
FIG. 7C is a flow chart illustrating the operation of an importance marking affordance, according to some embodiments. The system displays (720) a selectable importance marking affordance. For example,FIG. 6A shows two selectable importance marking affordances, the Important 608 and Not Important 610 marking affordances. In some embodiments, the system receives (722) a user selection of one or more items represented by the second message information and receives (724) a user selection of the selectable importance marking affordance. The system then marks (726) the user selected items as important using a predefined label. Details of the method are described above with reference toFIGS. 6E-6F . The user action of marking selected items as important, or as not important, provides user-generated feedback data regarding importance of one or more user-selected messages. Optionally, the server (106,FIG. 2 ) collects feedback data from the user regarding importance of one or more messages, and modifies the second importance prediction model using the feedback data. Optionally, the server periodically (or from time to time) updates one or more of the importance weights in the first and second importance prediction models using machine-learning that is based, at least in part, on the feedback data. Optionally, the server updates one or more of the importance weights in the first and second importance prediction models using a time-dependent decay function that is applied to the feedback data and optionally to information concerning other user actions on messages. Optionally, the server also updates one or more importance thresholds based, at least in part, on the feedback data, so as to adjust the volume of conversations/messages classified as important and displayed in the message display area (e.g., seeFIG. 6A ) for important conversations/messages. - 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 invention 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 of the invention and its practical applications, to thereby enable others skilled in the art to best utilize the invention and various embodiments with various modifications as are suited to the particular use contemplated.
Claims (24)
1. A method for displaying messages, comprising:
at a client device with a display:
concurrently displaying message information associated with a respective user by displaying first message information representing a first set of messages in a first area of the display, and displaying second message information representing a second set of messages in a second area of the display that is separate from the first area;
wherein the first set of messages meet predefined message importance criteria, and each message in the first set of messages is excluded from the second set of messages.
2. The method of claim 1 , wherein the displayed message information comprises message information for messages from a message account of the respective user.
3. The method of claim 1 , including displaying the first message information in chronological order in the first area and displaying the second message information in chronological order in the second area.
4. The method of claim 1 , including selecting the second set of messages to include only messages labeled with a predefined user-defined label.
5. The method of claim 1 , further including concurrently displaying the first message information, the second message information, and message information for a third set of messages in a third area that is separate from the first area and second area, wherein the first set of messages and second set of messages are excluded from the third set of messages.
6. The method of claim 1 , further including displaying a respective expansion affordance in each of the first and second areas, and in response to user selection of the respective expansion affordance, expanding the corresponding area and displaying only the set of messages corresponding to the expanded area.
7. The method of claim 1 , wherein the first message information is a first list of conversations, each conversation in the first list having at least one message meeting the predefined message importance criteria.
8. The method of claim 7 , wherein each conversation in the first list has at least one message that is unread by the user.
9. The method of claim 1 , wherein each item represented by the first message information includes a predefined label to denote importance of the corresponding item, wherein each item represented by the first message information is a message or a conversation having one or more messages.
10. The method of claim 1 , further including:
displaying a selectable importance marking affordance,
in response to user selection of one or more items represented by the second message information and user selection of the selectable importance marking affordance, marking the user selected items as important using a predefined label and moving the user selected items from the second area of the display to the first area of the display.
11. A client system, comprising:
a display;
one or more processors;
memory storing one or more programs for execution by the one or more processors, the one or more programs including instructions for:
concurrently displaying on the display message information associated with a respective user by displaying first message information representing a first set of messages in a first area of the display, and displaying second message information representing a second set of messages in a second area of the display that is separate from the first area;
wherein the first set of messages meet predefined message importance criteria, and each message in the first set of messages is excluded from the second set of messages.
12. The client system of claim 11 , wherein the displayed message information comprises message information for messages from a message account of the respective user.
13. The client system of claim 11 , the one or more programs further comprising instructions for displaying the first message information in chronological order in the first area and displaying the second message information in chronological order in the second area.
14. The client system of claim 11 , the one or more programs further comprising instructions for selecting the second set of messages to include only messages labeled with a predefined user-defined label.
15. The client system of claim 11 , the one or more programs further comprising instructions for concurrently displaying the first message information, the second message information, and message information for a third set of messages in a third area that is separate from the first area and second area, wherein the first set of messages and second set of messages are excluded from the third set of messages.
16. The client system of claim 11 , the one or more programs further comprising instructions for displaying a respective expansion affordance in each of the first and second areas, and in response to user selection of the respective expansion affordance, expanding the corresponding area and displaying only the set of messages corresponding to the expanded area.
17. The client system of claim 11 , wherein the first message information is a first list of conversations, each conversation in the first list having at least one message meeting the predefined message importance criteria.
18. A non-transitory computer readable storage medium storing one or more programs for execution by the one or more processors of a client system, the one or more programs including instructions for:
concurrently displaying on the display message information associated with a respective user by displaying first message information representing a first set of messages in a first area of the display, and displaying second message information representing a second set of messages in a second area of the display that is separate from the first area;
wherein the first set of messages meet predefined message importance criteria, and each message in the first set of messages is excluded from the second set of messages.
19. The non-transitory computer readable storage medium of claim 18 , wherein the displayed message information comprises message information for messages from a message account of the respective user.
20. The non-transitory computer readable storage medium of claim 18 , the one or more programs further comprising instructions for displaying the first message information in chronological order in the first area and displaying the second message information in chronological order in the second area.
21. The non-transitory computer readable storage medium of claim 18 , the one or more programs further comprising instructions for selecting the second set of messages to include only messages labeled with a predefined user-defined label.
22. The non-transitory computer readable storage medium of claim 18 , the one or more programs further comprising instructions for concurrently displaying the first message information, the second message information, and message information for a third set of messages in a third area that is separate from the first area and second area, wherein the first set of messages and second set of messages are excluded from the third set of messages.
23. The non-transitory computer readable storage medium of claim 18 , the one or more programs further comprising instructions for displaying a respective expansion affordance in each of the first and second areas, and in response to user selection of the respective expansion affordance, expanding the corresponding area and displaying only the set of messages corresponding to the expanded area.
24. The non-transitory computer readable storage medium of claim 18 , wherein the first message information is a first list of conversations, each conversation in the first list having at least one message meeting the predefined message importance criteria.
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/219,653 US20120054642A1 (en) | 2010-08-27 | 2011-08-27 | Sorted Inbox User Interface for Messaging Application |
PCT/US2011/049580 WO2012027750A1 (en) | 2010-08-27 | 2011-08-29 | Sorted inbox user interface for messaging application |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US37778510P | 2010-08-27 | 2010-08-27 | |
US37779310P | 2010-08-27 | 2010-08-27 | |
US13/219,653 US20120054642A1 (en) | 2010-08-27 | 2011-08-27 | Sorted Inbox User Interface for Messaging Application |
Publications (1)
Publication Number | Publication Date |
---|---|
US20120054642A1 true US20120054642A1 (en) | 2012-03-01 |
Family
ID=45698479
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/219,653 Abandoned US20120054642A1 (en) | 2010-08-27 | 2011-08-27 | Sorted Inbox User Interface for Messaging Application |
US13/219,646 Active 2032-06-07 US8700545B2 (en) | 2010-08-27 | 2011-08-27 | Sorted inbox with important message identification based on global and user models |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/219,646 Active 2032-06-07 US8700545B2 (en) | 2010-08-27 | 2011-08-27 | Sorted inbox with important message identification based on global and user models |
Country Status (1)
Country | Link |
---|---|
US (2) | US20120054642A1 (en) |
Cited By (58)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130339875A1 (en) * | 2012-06-14 | 2013-12-19 | Adobe Systems Inc. | Method and apparatus for presenting a participant engagement level in an online interaction |
CN104464381A (en) * | 2013-09-24 | 2015-03-25 | 霍尼韦尔国际公司 | A method to facilitate retrieving an all ready reviewed datalink message for review again |
US20150112902A1 (en) * | 2013-10-17 | 2015-04-23 | Preferred Infrastructure, Inc. | Information processing device |
US20150142717A1 (en) * | 2013-11-19 | 2015-05-21 | Microsoft Corporation | Providing reasons for classification predictions and suggestions |
WO2015183449A1 (en) * | 2014-05-30 | 2015-12-03 | Apple Inc. | Method and system for marking email threads |
US20160246460A1 (en) * | 2013-11-07 | 2016-08-25 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for arranging instant messaging widows |
US20160328107A1 (en) * | 2010-10-05 | 2016-11-10 | Citrix Systems, Inc. | Display Management for Native User Experiences |
CN106131638A (en) * | 2016-06-23 | 2016-11-16 | 青岛海信电器股份有限公司 | Method for information display and equipment |
US20170103489A1 (en) * | 2015-10-07 | 2017-04-13 | Q Link Wireless, LLC | Deployable kiosk for providing data input and verification |
US9804752B1 (en) * | 2016-06-27 | 2017-10-31 | Atlassian Pty Ltd | Machine learning method of managing conversations in a messaging interface |
US20180136800A1 (en) * | 2016-10-26 | 2018-05-17 | Apple Inc. | User interfaces for browsing content from multiple content applications on an electronic device |
US20190215290A1 (en) * | 2018-01-10 | 2019-07-11 | International Business Machines Corporation | Generating alerts based on predicted mood responses to received electronic messages |
US10523610B2 (en) * | 2011-10-26 | 2019-12-31 | Oath Inc. | Online active learning in user-generated content streams |
US20200042920A1 (en) * | 2018-05-18 | 2020-02-06 | Assurant, Inc. | Apparatus and method for resource allocation prediction and modeling, and resource acquisition offer generation, adjustment and approval |
US20200234312A1 (en) * | 2019-01-17 | 2020-07-23 | Adobe Inc. | Post-purchase product interaction |
US20210049677A1 (en) * | 2019-08-14 | 2021-02-18 | Royal Bank Of Canada | System and method for electronic rental platform |
US20210142243A1 (en) * | 2019-11-12 | 2021-05-13 | Lyft, Inc. | Intelligently customizing a cancellation notice for cancellation of a transportation request based on transportation features |
US20210183486A1 (en) * | 2018-06-19 | 2021-06-17 | Sony Corporation | Biological information processing method, biological information processing apparatus, and biological information processing system |
US11057682B2 (en) | 2019-03-24 | 2021-07-06 | Apple Inc. | User interfaces including selectable representations of content items |
US11070889B2 (en) | 2012-12-10 | 2021-07-20 | Apple Inc. | Channel bar user interface |
US11115359B2 (en) * | 2016-11-03 | 2021-09-07 | Samsung Electronics Co., Ltd. | Method and apparatus for importance filtering a plurality of messages |
US20210358008A1 (en) * | 2020-05-18 | 2021-11-18 | Capital One Services, Llc | System and Method to Recommend a Service Provider |
US20210365866A1 (en) * | 2020-05-21 | 2021-11-25 | KnowBe4, Inc. | Systems and methods for use of employee message exchanges for a simulated phishing campaign |
US11194546B2 (en) | 2012-12-31 | 2021-12-07 | Apple Inc. | Multi-user TV user interface |
US20220005140A1 (en) * | 2020-07-06 | 2022-01-06 | Here Global B.V. | Method, apparatus, and system for providing a contextually relevant vehicle comparison |
US20220027858A1 (en) * | 2020-07-22 | 2022-01-27 | International Business Machines Corporation | Customized schedules using real-time user provided data |
US11245967B2 (en) | 2012-12-13 | 2022-02-08 | Apple Inc. | TV side bar user interface |
US20220092668A1 (en) * | 2020-09-21 | 2022-03-24 | International Business Machines Corporation | Services groupings for strategic consumption |
US11290762B2 (en) | 2012-11-27 | 2022-03-29 | Apple Inc. | Agnostic media delivery system |
US11297392B2 (en) | 2012-12-18 | 2022-04-05 | Apple Inc. | Devices and method for providing remote control hints on a display |
US20220129803A1 (en) * | 2020-10-23 | 2022-04-28 | Dell Products L.P. | Detecting supply chain issues in connection with inventory management using machine learning techniques |
US20220188773A1 (en) * | 2020-12-10 | 2022-06-16 | Ringcentral, Inc. | System and method for gauging engagement level of online group members with shared electronic data |
US20220246274A1 (en) * | 2021-02-01 | 2022-08-04 | Kpn Innovations, Llc. | Systems and methods for generating a hematological program |
US20220245651A1 (en) * | 2021-02-02 | 2022-08-04 | Bank Of America Corporation | Systems and methods for enhanced resource protection and automated response |
US11461397B2 (en) | 2014-06-24 | 2022-10-04 | Apple Inc. | Column interface for navigating in a user interface |
US11467726B2 (en) | 2019-03-24 | 2022-10-11 | Apple Inc. | User interfaces for viewing and accessing content on an electronic device |
US20220335447A1 (en) * | 2021-04-14 | 2022-10-20 | Capital One Services, Llc | Systems and methods for object preference prediction |
US20220351152A1 (en) * | 2021-04-30 | 2022-11-03 | Genpact Luxembourg S.á r.l. II | System and methods for intelligent meeting suggestion generation |
US11520858B2 (en) | 2016-06-12 | 2022-12-06 | Apple Inc. | Device-level authorization for viewing content |
US11543938B2 (en) | 2016-06-12 | 2023-01-03 | Apple Inc. | Identifying applications on which content is available |
US20230052619A1 (en) * | 2021-08-10 | 2023-02-16 | Intuit Inc. | Real-time error prevention during invoice creation |
US20230065744A1 (en) * | 2021-08-26 | 2023-03-02 | Halliburton Energy Services, Inc. | Graphical user interface for abating emissions of gaseous byproducts from hydrocarbon assets |
US11615366B2 (en) * | 2020-04-15 | 2023-03-28 | EMC IP Holding Company LLC | Evaluation of product-related data structures using machine-learning techniques |
US20230186198A1 (en) * | 2021-12-09 | 2023-06-15 | Google Llc | Building A Pragmatic Action-Item System |
US11683565B2 (en) | 2019-03-24 | 2023-06-20 | Apple Inc. | User interfaces for interacting with channels that provide content that plays in a media browsing application |
US11720229B2 (en) | 2020-12-07 | 2023-08-08 | Apple Inc. | User interfaces for browsing and presenting content |
US11797606B2 (en) | 2019-05-31 | 2023-10-24 | Apple Inc. | User interfaces for a podcast browsing and playback application |
US11843838B2 (en) | 2020-03-24 | 2023-12-12 | Apple Inc. | User interfaces for accessing episodes of a content series |
US11863837B2 (en) | 2019-05-31 | 2024-01-02 | Apple Inc. | Notification of augmented reality content on an electronic device |
US20240005242A1 (en) * | 2022-06-30 | 2024-01-04 | International Business Machines Corporation | Dynamic federated workflow programming management |
US20240013118A1 (en) * | 2022-07-11 | 2024-01-11 | Capital One Services, Llc | Automated change order risk detection and assessment |
US11899895B2 (en) | 2020-06-21 | 2024-02-13 | Apple Inc. | User interfaces for setting up an electronic device |
US11900421B2 (en) | 2016-05-05 | 2024-02-13 | State Farm Mutual Automobile Insurance Company | Using cognitive computing to provide targeted offers for preferred products to a user via a mobile device |
US11907882B1 (en) * | 2018-05-01 | 2024-02-20 | Wells Fargo Bank, N.A. | Model validation of credit risk |
US11934640B2 (en) | 2021-01-29 | 2024-03-19 | Apple Inc. | User interfaces for record labels |
US11962836B2 (en) | 2019-03-24 | 2024-04-16 | Apple Inc. | User interfaces for a media browsing application |
US11989669B2 (en) | 2019-11-12 | 2024-05-21 | Lyft, Inc. | Intelligently customizing a cancellation notice for cancellation of a transportation request based on transportation features |
US12105942B2 (en) | 2014-06-24 | 2024-10-01 | Apple Inc. | Input device and user interface interactions |
Families Citing this family (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8499048B2 (en) | 2010-10-27 | 2013-07-30 | Facebook, Inc. | Indexing and organizing messages in a messaging system using social network information |
US9203796B2 (en) * | 2010-11-12 | 2015-12-01 | Facebook, Inc. | Messaging system with multiple messaging channels |
US8880627B2 (en) | 2011-08-08 | 2014-11-04 | Facebook, Inc. | Providing transparency in a messaging system with multiple messaging channels |
US8706824B2 (en) | 2011-08-08 | 2014-04-22 | Facebook, Inc. | Rescinding messages in a messaging system with multiple messaging channels |
WO2015047323A1 (en) * | 2013-09-27 | 2015-04-02 | Hewlett-Packard Development Company, L. P. | Notifying a user of critical emails via text messages |
US9462045B2 (en) | 2014-08-08 | 2016-10-04 | Qualcomm Incorporated | Triggering a communicative action based on a client-determined relationship between proximate client devices |
US9904683B2 (en) | 2014-12-11 | 2018-02-27 | International Business Machines Corporation | Displaying at least one categorized message based on a percentage |
US9929997B2 (en) | 2015-07-31 | 2018-03-27 | Wipro Limited | Method for dynamically prioritizing electronic messages in an electronic device |
CN105791543A (en) * | 2016-02-23 | 2016-07-20 | 北京奇虎科技有限公司 | Method, device, client and system for cleaning short messages |
CN105979089A (en) * | 2016-05-06 | 2016-09-28 | 北京奇虎科技有限公司 | Method and device for clearing short messages |
US10402436B2 (en) * | 2016-05-12 | 2019-09-03 | Pixel Forensics, Inc. | Automated video categorization, value determination and promotion/demotion via multi-attribute feature computation |
US10749839B2 (en) | 2017-04-20 | 2020-08-18 | Microsoft Technology Licensing, Llc | Identification of a significant communication from a revived contact |
CN108509508A (en) * | 2018-02-11 | 2018-09-07 | 北京原点时空信息技术有限公司 | Short message big data inquiry based on Java technology and analysis system and its method |
US11308430B2 (en) | 2019-10-11 | 2022-04-19 | Microsoft Technology Licensing, Llc | Keeping track of important tasks |
US12052211B1 (en) | 2023-01-17 | 2024-07-30 | International Business Machines Corporation | Systems and methods for intelligent message interaction |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6337699B1 (en) * | 1996-06-27 | 2002-01-08 | Sun Microsystems, Inc. | Visualizing degrees of information object attributes |
US6351764B1 (en) * | 1998-12-31 | 2002-02-26 | Michael Voticky | System and method for prioritizing communications messages |
US20100088378A1 (en) * | 2008-10-08 | 2010-04-08 | Verizon Corporate Services Group Inc. | Message management based on metadata |
Family Cites Families (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5694616A (en) | 1994-12-30 | 1997-12-02 | International Business Machines Corporation | Method and system for prioritization of email items by selectively associating priority attribute with at least one and fewer than all of the recipients |
US6647409B1 (en) | 1999-07-13 | 2003-11-11 | Microsoft Corporation | Maintaining a sliding view of server based data on a handheld personal computer |
US6400810B1 (en) | 1999-07-20 | 2002-06-04 | Ameritech Corporation | Method and system for selective notification of E-mail messages |
US6622160B1 (en) * | 1999-07-30 | 2003-09-16 | Microsoft Corporation | Methods for routing items for communications based on a measure of criticality |
AU6501100A (en) | 1999-07-30 | 2001-02-19 | Microsoft Corporation | Generation and conveyance of prioritized alerts |
US7287017B2 (en) * | 2001-04-12 | 2007-10-23 | Igego Methodologies, Inc. | Decision engine |
US20030195937A1 (en) * | 2002-04-16 | 2003-10-16 | Kontact Software Inc. | Intelligent message screening |
US20050044500A1 (en) | 2003-07-18 | 2005-02-24 | Katsunori Orimoto | Agent display device and agent display method |
US7912904B2 (en) * | 2004-03-31 | 2011-03-22 | Google Inc. | Email system with conversation-centric user interface |
US7627670B2 (en) * | 2004-04-29 | 2009-12-01 | International Business Machines Corporation | Method and apparatus for scoring unsolicited e-mail |
US20050267944A1 (en) | 2004-06-01 | 2005-12-01 | Microsoft Corporation | Email manager |
US7941491B2 (en) * | 2004-06-04 | 2011-05-10 | Messagemind, Inc. | System and method for dynamic adaptive user-based prioritization and display of electronic messages |
JP4537147B2 (en) | 2004-08-06 | 2010-09-01 | 富士通株式会社 | Terminal device, message display method, and message display program |
US7587461B2 (en) * | 2005-04-19 | 2009-09-08 | Google Inc. | Method and system for activity based email sorting |
KR100678091B1 (en) | 2006-04-19 | 2007-02-02 | 삼성전자주식회사 | Method and device for managing data in a wireless mobile |
US20080028031A1 (en) | 2006-07-25 | 2008-01-31 | Byron Lewis Bailey | Method and apparatus for managing instant messaging |
US20080162642A1 (en) | 2006-12-28 | 2008-07-03 | International Business Machines Corporation | Availability Filtering for Instant Messaging |
US7761523B2 (en) | 2007-02-09 | 2010-07-20 | Research In Motion Limited | Schedulable e-mail filters |
US20080195717A1 (en) | 2007-02-14 | 2008-08-14 | Novell, Inc. | System and method for providing an importance filter for electronic mail messages |
JP5140364B2 (en) | 2007-09-28 | 2013-02-06 | 京セラ株式会社 | Mobile terminal, display switching method, display switching program |
EP2218226A4 (en) | 2007-12-03 | 2011-01-05 | Research In Motion Ltd | Multiple display regions in a unified message inbox |
US8195588B2 (en) * | 2008-04-03 | 2012-06-05 | At&T Intellectual Property I, L.P. | System and method for training a critical e-mail classifier using a plurality of base classifiers and N-grams |
US7509381B1 (en) * | 2008-04-21 | 2009-03-24 | International Business Machines Corporation | Adaptive email in-basket ordering |
US7890596B2 (en) * | 2008-06-18 | 2011-02-15 | International Business Machines Corporation | Triage of electronic mail |
US8490185B2 (en) * | 2008-06-27 | 2013-07-16 | Microsoft Corporation | Dynamic spam view settings |
US8185492B2 (en) * | 2008-08-14 | 2012-05-22 | Google Inc. | Messaging application with multiple viewports for presenting messages in different orders |
US8775527B2 (en) | 2008-12-15 | 2014-07-08 | International Business Machines Corporation | Collaborative email filtering |
US20100174998A1 (en) * | 2009-01-06 | 2010-07-08 | Kiha Software Inc. | Calendaring Location-Based Events and Associated Travel |
US20100211641A1 (en) * | 2009-02-16 | 2010-08-19 | Microsoft Corporation | Personalized email filtering |
US20100281409A1 (en) | 2009-04-30 | 2010-11-04 | Nokia Corporation | Apparatus and method for handling notifications within a communications device |
US8713027B2 (en) * | 2009-11-18 | 2014-04-29 | Qualcomm Incorporated | Methods and systems for managing electronic messages |
-
2011
- 2011-08-27 US US13/219,653 patent/US20120054642A1/en not_active Abandoned
- 2011-08-27 US US13/219,646 patent/US8700545B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6337699B1 (en) * | 1996-06-27 | 2002-01-08 | Sun Microsystems, Inc. | Visualizing degrees of information object attributes |
US6351764B1 (en) * | 1998-12-31 | 2002-02-26 | Michael Voticky | System and method for prioritizing communications messages |
US20100088378A1 (en) * | 2008-10-08 | 2010-04-08 | Verizon Corporate Services Group Inc. | Message management based on metadata |
Non-Patent Citations (1)
Title |
---|
"Receiving and Reading Outlook Mail Messages", published January 2009, pgs. 1-3 * |
Cited By (81)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160328107A1 (en) * | 2010-10-05 | 2016-11-10 | Citrix Systems, Inc. | Display Management for Native User Experiences |
US10761692B2 (en) * | 2010-10-05 | 2020-09-01 | Citrix Systems, Inc. | Display management for native user experiences |
US11281360B2 (en) | 2010-10-05 | 2022-03-22 | Citrix Systems, Inc. | Display management for native user experiences |
US11575632B2 (en) * | 2011-10-26 | 2023-02-07 | Yahoo Assets Llc | Online active learning in user-generated content streams |
US10523610B2 (en) * | 2011-10-26 | 2019-12-31 | Oath Inc. | Online active learning in user-generated content streams |
US8904296B2 (en) * | 2012-06-14 | 2014-12-02 | Adobe Systems Incorporated | Method and apparatus for presenting a participant engagement level in an online interaction |
US20130339875A1 (en) * | 2012-06-14 | 2013-12-19 | Adobe Systems Inc. | Method and apparatus for presenting a participant engagement level in an online interaction |
US11290762B2 (en) | 2012-11-27 | 2022-03-29 | Apple Inc. | Agnostic media delivery system |
US11070889B2 (en) | 2012-12-10 | 2021-07-20 | Apple Inc. | Channel bar user interface |
US11317161B2 (en) | 2012-12-13 | 2022-04-26 | Apple Inc. | TV side bar user interface |
US11245967B2 (en) | 2012-12-13 | 2022-02-08 | Apple Inc. | TV side bar user interface |
US11297392B2 (en) | 2012-12-18 | 2022-04-05 | Apple Inc. | Devices and method for providing remote control hints on a display |
US11194546B2 (en) | 2012-12-31 | 2021-12-07 | Apple Inc. | Multi-user TV user interface |
US11822858B2 (en) | 2012-12-31 | 2023-11-21 | Apple Inc. | Multi-user TV user interface |
US20150089392A1 (en) * | 2013-09-24 | 2015-03-26 | Honeywell International Inc. | Method to facilitate retrieving an all ready reviewed datalink message for review again |
CN104464381A (en) * | 2013-09-24 | 2015-03-25 | 霍尼韦尔国际公司 | A method to facilitate retrieving an all ready reviewed datalink message for review again |
US20150112902A1 (en) * | 2013-10-17 | 2015-04-23 | Preferred Infrastructure, Inc. | Information processing device |
US20160246460A1 (en) * | 2013-11-07 | 2016-08-25 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for arranging instant messaging widows |
US20150142717A1 (en) * | 2013-11-19 | 2015-05-21 | Microsoft Corporation | Providing reasons for classification predictions and suggestions |
CN105745672A (en) * | 2013-11-19 | 2016-07-06 | 微软技术许可有限责任公司 | System and method for forming nighttime images for a motor vehicle |
WO2015183449A1 (en) * | 2014-05-30 | 2015-12-03 | Apple Inc. | Method and system for marking email threads |
US9450902B2 (en) | 2014-05-30 | 2016-09-20 | Apple Inc. | Method and system for marking email threads |
US12086186B2 (en) | 2014-06-24 | 2024-09-10 | Apple Inc. | Interactive interface for navigating in a user interface associated with a series of content |
US11461397B2 (en) | 2014-06-24 | 2022-10-04 | Apple Inc. | Column interface for navigating in a user interface |
US12105942B2 (en) | 2014-06-24 | 2024-10-01 | Apple Inc. | Input device and user interface interactions |
US10628902B2 (en) * | 2015-10-07 | 2020-04-21 | Q Link Wireless, LLC | Deployable kiosk for providing data input and verification |
US20170103489A1 (en) * | 2015-10-07 | 2017-04-13 | Q Link Wireless, LLC | Deployable kiosk for providing data input and verification |
US11900421B2 (en) | 2016-05-05 | 2024-02-13 | State Farm Mutual Automobile Insurance Company | Using cognitive computing to provide targeted offers for preferred products to a user via a mobile device |
US11520858B2 (en) | 2016-06-12 | 2022-12-06 | Apple Inc. | Device-level authorization for viewing content |
US11543938B2 (en) | 2016-06-12 | 2023-01-03 | Apple Inc. | Identifying applications on which content is available |
CN106131638A (en) * | 2016-06-23 | 2016-11-16 | 青岛海信电器股份有限公司 | Method for information display and equipment |
US10635271B2 (en) | 2016-06-27 | 2020-04-28 | Atlassian Pty Ltd | Machine learning method of managing converstations in a messaging interface |
US9804752B1 (en) * | 2016-06-27 | 2017-10-31 | Atlassian Pty Ltd | Machine learning method of managing conversations in a messaging interface |
US11449206B2 (en) | 2016-06-27 | 2022-09-20 | Atlassian Pty Ltd. | Machine learning method of managing conversations in a messaging interface |
US11966560B2 (en) | 2016-10-26 | 2024-04-23 | Apple Inc. | User interfaces for browsing content from multiple content applications on an electronic device |
US11609678B2 (en) | 2016-10-26 | 2023-03-21 | Apple Inc. | User interfaces for browsing content from multiple content applications on an electronic device |
US10209866B2 (en) * | 2016-10-26 | 2019-02-19 | Apple Inc. | User interfaces for browsing content from multiple content applications on an electronic device |
US20180136800A1 (en) * | 2016-10-26 | 2018-05-17 | Apple Inc. | User interfaces for browsing content from multiple content applications on an electronic device |
US11115359B2 (en) * | 2016-11-03 | 2021-09-07 | Samsung Electronics Co., Ltd. | Method and apparatus for importance filtering a plurality of messages |
US10958610B2 (en) * | 2018-01-10 | 2021-03-23 | International Business Machines Corporation | Generating alerts based on predicted mood responses to received electronic messages |
US20190215290A1 (en) * | 2018-01-10 | 2019-07-11 | International Business Machines Corporation | Generating alerts based on predicted mood responses to received electronic messages |
US11907882B1 (en) * | 2018-05-01 | 2024-02-20 | Wells Fargo Bank, N.A. | Model validation of credit risk |
US11954623B2 (en) * | 2018-05-18 | 2024-04-09 | Assurant, Inc. | Apparatus and method for resource allocation prediction and modeling, and resource acquisition offer generation, adjustment and approval |
US11915174B2 (en) | 2018-05-18 | 2024-02-27 | Assurant, Inc. | Apparatus and method for resource allocation prediction and modeling, and resource acquisition offer generation, adjustment and approval |
US20200042920A1 (en) * | 2018-05-18 | 2020-02-06 | Assurant, Inc. | Apparatus and method for resource allocation prediction and modeling, and resource acquisition offer generation, adjustment and approval |
US20210183486A1 (en) * | 2018-06-19 | 2021-06-17 | Sony Corporation | Biological information processing method, biological information processing apparatus, and biological information processing system |
US20200234312A1 (en) * | 2019-01-17 | 2020-07-23 | Adobe Inc. | Post-purchase product interaction |
US11683565B2 (en) | 2019-03-24 | 2023-06-20 | Apple Inc. | User interfaces for interacting with channels that provide content that plays in a media browsing application |
US11750888B2 (en) | 2019-03-24 | 2023-09-05 | Apple Inc. | User interfaces including selectable representations of content items |
US11445263B2 (en) | 2019-03-24 | 2022-09-13 | Apple Inc. | User interfaces including selectable representations of content items |
US11962836B2 (en) | 2019-03-24 | 2024-04-16 | Apple Inc. | User interfaces for a media browsing application |
US11467726B2 (en) | 2019-03-24 | 2022-10-11 | Apple Inc. | User interfaces for viewing and accessing content on an electronic device |
US11057682B2 (en) | 2019-03-24 | 2021-07-06 | Apple Inc. | User interfaces including selectable representations of content items |
US12008232B2 (en) | 2019-03-24 | 2024-06-11 | Apple Inc. | User interfaces for viewing and accessing content on an electronic device |
US11797606B2 (en) | 2019-05-31 | 2023-10-24 | Apple Inc. | User interfaces for a podcast browsing and playback application |
US11863837B2 (en) | 2019-05-31 | 2024-01-02 | Apple Inc. | Notification of augmented reality content on an electronic device |
US20210049677A1 (en) * | 2019-08-14 | 2021-02-18 | Royal Bank Of Canada | System and method for electronic rental platform |
US11989669B2 (en) | 2019-11-12 | 2024-05-21 | Lyft, Inc. | Intelligently customizing a cancellation notice for cancellation of a transportation request based on transportation features |
US20210142243A1 (en) * | 2019-11-12 | 2021-05-13 | Lyft, Inc. | Intelligently customizing a cancellation notice for cancellation of a transportation request based on transportation features |
US11843838B2 (en) | 2020-03-24 | 2023-12-12 | Apple Inc. | User interfaces for accessing episodes of a content series |
US11615366B2 (en) * | 2020-04-15 | 2023-03-28 | EMC IP Holding Company LLC | Evaluation of product-related data structures using machine-learning techniques |
US20210358008A1 (en) * | 2020-05-18 | 2021-11-18 | Capital One Services, Llc | System and Method to Recommend a Service Provider |
US11847682B2 (en) * | 2020-05-18 | 2023-12-19 | Capital One Services, Llc | System and method to recommend a service provider |
US20210365866A1 (en) * | 2020-05-21 | 2021-11-25 | KnowBe4, Inc. | Systems and methods for use of employee message exchanges for a simulated phishing campaign |
US11899895B2 (en) | 2020-06-21 | 2024-02-13 | Apple Inc. | User interfaces for setting up an electronic device |
US20220005140A1 (en) * | 2020-07-06 | 2022-01-06 | Here Global B.V. | Method, apparatus, and system for providing a contextually relevant vehicle comparison |
US20220027858A1 (en) * | 2020-07-22 | 2022-01-27 | International Business Machines Corporation | Customized schedules using real-time user provided data |
US20220092668A1 (en) * | 2020-09-21 | 2022-03-24 | International Business Machines Corporation | Services groupings for strategic consumption |
US20220129803A1 (en) * | 2020-10-23 | 2022-04-28 | Dell Products L.P. | Detecting supply chain issues in connection with inventory management using machine learning techniques |
US11720229B2 (en) | 2020-12-07 | 2023-08-08 | Apple Inc. | User interfaces for browsing and presenting content |
US20220188773A1 (en) * | 2020-12-10 | 2022-06-16 | Ringcentral, Inc. | System and method for gauging engagement level of online group members with shared electronic data |
US11934640B2 (en) | 2021-01-29 | 2024-03-19 | Apple Inc. | User interfaces for record labels |
US20220246274A1 (en) * | 2021-02-01 | 2022-08-04 | Kpn Innovations, Llc. | Systems and methods for generating a hematological program |
US20220245651A1 (en) * | 2021-02-02 | 2022-08-04 | Bank Of America Corporation | Systems and methods for enhanced resource protection and automated response |
US20220335447A1 (en) * | 2021-04-14 | 2022-10-20 | Capital One Services, Llc | Systems and methods for object preference prediction |
US20220351152A1 (en) * | 2021-04-30 | 2022-11-03 | Genpact Luxembourg S.á r.l. II | System and methods for intelligent meeting suggestion generation |
US20230052619A1 (en) * | 2021-08-10 | 2023-02-16 | Intuit Inc. | Real-time error prevention during invoice creation |
US20230065744A1 (en) * | 2021-08-26 | 2023-03-02 | Halliburton Energy Services, Inc. | Graphical user interface for abating emissions of gaseous byproducts from hydrocarbon assets |
US20230186198A1 (en) * | 2021-12-09 | 2023-06-15 | Google Llc | Building A Pragmatic Action-Item System |
US20240005242A1 (en) * | 2022-06-30 | 2024-01-04 | International Business Machines Corporation | Dynamic federated workflow programming management |
US20240013118A1 (en) * | 2022-07-11 | 2024-01-11 | Capital One Services, Llc | Automated change order risk detection and assessment |
Also Published As
Publication number | Publication date |
---|---|
US20120054132A1 (en) | 2012-03-01 |
US8700545B2 (en) | 2014-04-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8700545B2 (en) | Sorted inbox with important message identification based on global and user models | |
AU2011338267B2 (en) | Priority inbox notifications and synchronization for mobile messaging application | |
US10250549B2 (en) | Electronic message organization via social groups | |
JP6178928B2 (en) | Dynamic filter generation for message management systems | |
RU2600102C2 (en) | Sorting electronic information exchange | |
US10607165B2 (en) | Systems and methods for automatic suggestions in a relationship management system | |
US9282073B1 (en) | E-mail enhancement based on user-behavior | |
EP3829115A1 (en) | Managing conversations | |
WO2017044512A1 (en) | Determining the destination of a communication | |
CN108352005B (en) | Communication interface for wearable device | |
JP6109743B2 (en) | Messaging system having multiple messaging channels | |
WO2018081827A1 (en) | Fuzzy matching of entity data across multiple storage systems | |
WO2012027749A1 (en) | Sorted inbox with important message identification based on global and user models | |
JP2005182154A (en) | Message processing system and method | |
WO2012027750A1 (en) | Sorted inbox user interface for messaging application | |
US8495071B1 (en) | User productivity by showing most viewed messages | |
Dugan et al. | RemindMe: Plugging a Reminder Manager into Email for Enhancing Workplace Responsiveness |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: GOOGLE INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:BALSIGER, PETER;KNAPP, JOHN;LEGGETT, MICHAEL;AND OTHERS;SIGNING DATES FROM 20110926 TO 20111018;REEL/FRAME:027128/0679 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: GOOGLE LLC, CALIFORNIA Free format text: CHANGE OF NAME;ASSIGNOR:GOOGLE INC.;REEL/FRAME:044142/0357 Effective date: 20170929 |