Conversational enrichment through ingredient reordering

By analyzing and reordering messages in email conversations in communication applications, it solves the problem that users have difficulty in quickly understanding the conversation context, and achieves more efficient user experience and resource utilization.

CN114500446BActive Publication Date: 2025-04-22MICROSOFT TECHNOLOGY LICENSING LLC
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202210197988.X
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2015-08-24
Filing Date
2016-08-23
Publication Date
2025-04-22
Estimated Expiration
2036-08-23

AI Technical Summary

Technical Problem

In existing communication applications, the presentation of records such as email conversations has reduced the user experience, making it difficult to quickly understand the context and history of the conversation.

Method used

By detecting and analyzing non-content information in the message, reverse the chronological order of individual messages other than new messages, place new messages at the top of the message sequence, and insert interactive elements to improve conversation rendering.

Benefits of technology

Simplifies user conversation tracking over long periods, improves user experience, reduces processor load and storage requirements, and reduces network bandwidth usage.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114500446B_ABST
    Figure CN114500446B_ABST
Patent Text Reader

Abstract

Techniques for chronological reordering of transmitted conversation components are described. Messages that transmit message chains in a conversation by forwarding or replying actions or the addition of new participants can be retained at the top and the remaining messages can be reordered chronologically. In some examples, the displayed properties (metadata) or header information can be standardized, that is, displayed in a consistent manner. In other examples, simple header information (text data) can be analyzed and enriched. Therefore, the header information can be presented using interactive features such as online information, calendar presentation, etc.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the Chinese patent application with application date of 2016 / 08 / 23 and application number 201680048819.2.

[0002] CROSS-REFERENCE TO RELATED APPLICATIONS

[0003] This application claims priority under PCT Article 8 to U.S. Patent Application Serial No. 14 / 833,748 filed on August 24, 2015 and U.S. Patent Application Serial No. 15 / 244,490 filed on August 23, 2016. The U.S. Patent Applications are incorporated herein by reference in their entirety. Background Art

[0004] Communication applications provide the ability to exchange information through a variety of modes. Email exchange, video conferencing, audio calls, text or video messaging, desktop sharing, application sharing are some examples. In addition to providing instant messaging capabilities, such applications also enable users to keep records of these conversations through email chains, online meeting recordings, etc.

[0005] Therefore, it is not uncommon for email conversations to span long periods of time and a large number of participants. Although such records are useful in determining the context and history of the conversation, their presentation may degrade the user experience and make it difficult to obtain the desired information. For example, email conversations are typically presented in reverse chronological order (with the latest email at the top). Therefore, participants in the conversation will have to scroll all the way down to the bottom of the conversation to determine how it started and what the initial discussion included. Summary of the invention

[0006] This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to determine the scope of the claimed subject matter.

[0007] Embodiments relate to reordering the transmitted conversation components in time. A conversation including a sequence of messages transmitted in a message may be detected and analyzed to determine individual messages within the conversation. Non-content information associated with individual messages may be parsed. The message sequence may be reordered in the following manner: reversing the chronological order of individual messages except for the new message and keeping the placement of the new message at the top of the message sequence. One or more interactive elements may be inserted into the conversation based on the parsed non-content information of one or more individual messages, and the new message may be transmitted to one or more recipients together with the reordered message sequence.

[0008] These and other features and advantages will be apparent from a reading of the following detailed description and a review of the associated drawings.It is to be understood that both the foregoing general description and the following detailed description are illustrative and not restrictive of the aspects, as claimed. BRIEF DESCRIPTION OF THE DRAWINGS

[0009] Figure 1 Includes example systems in which dialog modifications for an enhanced user experience may be implemented;

[0010] Figure 2A An email conversation is shown with example messages;

[0011] Figure 2B and 2C The system according to the embodiment is shown Figure 2A Different presentations of email conversations;

[0012] Figure 3 The system according to the embodiment is shown Figure 2A Another presentation of the email conversation;

[0013] Figures 4A to 4C illustrates example reordering of conversation components in chronological order when a conversation is transferred in a new message and example enrichment features in the reordered conversation according to an embodiment;

[0014] Figure 5 conceptually illustrates inserting new components into a reordered conversation when a new person is added to the conversation according to an embodiment;

[0015] Figure 6 is a block diagram of the main actions in processing a message including a reordered conversation with rich features according to an embodiment;

[0016] Figure 7 is a networking environment in which a system according to an embodiment may be implemented;

[0017] Figure 8 is a block diagram of an example general purpose computing device that may be used to provide chronological reordering of conversation components as the conversation is transmitted in a new message;

[0018] Fig. 9 A logical flow diagram of a method for providing dialog modification for an enhanced user experience according to an embodiment is shown; and

[0019] Fig.10 A logic flow diagram of a method for providing chronological reordering of conversation components when the conversation is transmitted in a new message with rich features according to an embodiment is shown. DETAILED DESCRIPTION

[0020] As briefly described above, a communication application or service can modify the presentation of a conversation for an enhanced user experience. The properties (metadata) of the parts or components of the conversation can be detected and analyzed, such as who sent the message, who received the message, when it was received, whether anyone was removed from the conversation or added to the conversation, etc. The extracted properties and analyzed information can then be used to reverse the chronological order of the conversation and present it using interactive features, such as folding and unfolding parts of the presented information, providing summaries, removing unnecessary content, and similar features. In some examples, messages that send a message chain in a conversation by forwarding or replying actions or the addition of new participants can be retained at the top, while the remaining messages can be reordered in chronological order. In other examples, the displayed attributes (metadata) or header information can be normalized, which is displayed in a consistent manner. In another example, simple header information (text data) can be analyzed and enriched. Therefore, the header information can be presented with interactive features such as online information, calendar presentation, etc.

[0021] In the following detailed description, reference is made to the accompanying drawings which form a part thereof and which show specific embodiments or examples as illustrations. These aspects may be combined, other aspects may be utilized, and structural changes may be made without departing from the scope of the present disclosure. Therefore, the following detailed description should not be construed in a limiting sense, and the scope of the present invention is defined by the appended claims and their equivalents.

[0022] Although embodiments will be described in the general context of program modules executed in conjunction with an application running on an operating system on a personal computer, those skilled in the art will appreciate that aspects may be implemented in conjunction with other program modules as well.

[0023] Generally speaking, program modules include routines, programs, components, data structures, and other types of structures that perform specific tasks or implement specific abstract data types. In addition, it will be appreciated by those skilled in the art that other computer system configurations including handheld devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, microcomputers, mainframe computers, and similar computing devices can be utilized to practice the embodiments. Embodiments can also be implemented in a distributed computing environment in which tasks are performed by remote processing devices linked through a communication network. In a distributed computing environment, program modules can be located in either a local memory storage device or a remote memory storage device.

[0024] Some embodiments may be implemented as a computer-implemented process (method), a computing system, or an article of manufacture such as a computer program product or a computer-readable medium. A computer program product may be a computer storage medium that can be read by a computer system and encodes a computer program including instructions for causing a computer or computer system to perform an example process. The computer-readable storage medium is a computer-readable memory device. The computer-readable memory device may be implemented, for example, via one or more of the following: a volatile computer memory, a non-volatile memory, a hard drive, a flash memory, a floppy disk, or a compressed disk, and similar hardware media.

[0025] Throughout this specification, the term "platform" may be a combination of modified software and hardware components for a dialog presentation for an enhanced user experience. Examples of platforms include, but are not limited to, hosted services executed on multiple servers, applications executed on a single computing device, and similar systems. The term "server" generally refers to a computing device that typically executes one or more software programs in a networked environment. However, a server may also be implemented as a virtual server (software program) executed on one or more computing devices that are viewed as servers on a network. More details on these techniques and example implementations are provided below.

[0026] Example embodiments are described herein using email conversations. However, embodiments are not limited to email conversations. Other forms of conversations in which records are saved in chronological order, such as online conference recordings, desktop sharing sessions, text or video message conversations, etc., may also be modified for an enhanced user experience using the principles discussed herein.

[0027] Figure 1 Included are example systems in which dialog modifications for an enhanced user experience can be implemented.

[0028] As shown in 100, the communication application 110 can be a local application executing on the computing device 108 and facilitates multimodal communications with other communication applications in a distributed manner through one or more networks such as the network 106. In other embodiments, a communication service executing on one or more servers 102 can manage communications, and users can access the service through a client application such as the communication application 110. In other embodiments, the communication service 104 can be accessed through a thin client (i.e., a browser). The computing device 108 can include a desktop computer, a laptop computer, a tablet computer, a car computer, a smart phone, or a wearable computing device, as well as other similar devices.

[0029] The multimodal communication may include email interaction, video conferencing, audio calls, text or video messaging, desktop sharing, application sharing, and similar modes. In some modes or combinations of communication modes, the communication may span a period of time (hours, days, weeks) and involve multiple people. Such communication may be managed and saved as a conversation. The conversation record may include the flow, participants, timing, and other properties of the communication (content) associated with the individual communication session within the conversation. The conversation may be presented to the participants, wherein its content is sorted in chronological order so that the oldest communication is at the bottom and the latest communication is at the top. For example, an email conversation 112 may be presented as a series of connected emails, wherein individual messages are above each other in chronological order. Each message may include a header portion 114, which includes the sender and recipient, the date and time of the message, and the subject of the message. Each message may also include a body portion, which includes the content of the message, an optional signature box, and optionally includes advertisements, encouragement messages, etc.

[0030] Thus, in an example email conversation, a user may see the latest message first and must scroll to the bottom of the presented conversation to understand the beginning and context of the conversation. Additionally, repeated subject lines (which, in a typical conversation, may not change as messages are sent back and forth through forwards or replies), participant lists, dates, signature boxes, etc. may distract the user from the flow of content. In fact, the repeated display of information may make the nature of the conversation less obvious.

[0031] Figure 2A An email conversation with example messages is shown.

[0032] An example email conversation presentation 200A is shown with two example messages. The example conversation begins with the newest (i.e., most recent) message at the top and proceeds chronologically to the oldest (i.e., least recent) message at the bottom. The top message includes a header portion 202 that lists the sender and recipient of the message, the date and time when it was sent, and a subject line. The top message also includes a body portion 204 that includes the actual message from the sender, and a signature box 206.

[0033] The second message, or the next most recent message, includes a header portion 208 having information similar to the header portion 202 of the top message, and a body portion 210. Instead of a signature box, the second message includes the name of the sender 212 (which may be typed by the sender as part of the body portion) and an advertisement 214, which may be automatically inserted by the sender's email service provider. The dialog may be in html format (including tags and other properties) or in text format (without metadata).

[0034] As discussed above, repeated header sections, signature boxes, advertisements, or even typed sender names may distract readers from the content flow of the conversation. Likewise, readers may have to scroll through lengthy conversations to understand the context of the conversation (when and how it started). Furthermore, changes in the conversation, such as who was added when, who was removed by whom, and when, etc., may not be easily detected from repeated and similar-looking header sections.

[0035] Figure 2B and 2C The system according to the embodiment is shown Figure 2A Different representations of email conversations.

[0036] In the example conversation presentation 200B, the conversation 222 is identified and the chronological order of the messages is reversed so that the second (older) message is displayed at the top and the newer message is displayed at the bottom. The messages are presented in a collapsed manner, where the sender (e.g., the first sender 226) and the content (e.g., the body 232) of each message are displayed. Expand controls 224 and 230 can be presented so that the details of the individual messages can be displayed after the controls are activated 228. The details can be temporarily presented or presented in a persistent manner after the expand controls 224 and 230 are activated.

[0037] In order to achieve the example conversation presentation 220B, the conversation module within the communication application or service can analyze the conversation to determine the individual messages within the conversation and parse the properties associated with the individual messages. The properties may include the date and time of each individual message, the sender of each individual message, the recipient of each individual message, the added participants, the removed participants, the attachments, and / or other properties. The conversation module can then determine one or more interactive features based on the parsed properties. The interactive features may include, for example, folding and unfolding all individual messages, folding and unfolding selected individual messages, providing a summary of the conversation, emphasizing parts in the conversation, enabling the order of custom individual messages, etc.

[0038] The dialog module can then reverse the chronological order of the individual messages based on the parsed properties, and can display a dialog with the reversed chronological order and one or more interactive features for the participants. Expand controls 224 and 230 can be associated with individual messages as shown so that individual messages can be folded or unfolded. In some embodiments, one or more expand controls can also be provided to fold and unfold all messages or message groups. In order to parse the properties of individual messages, the dialog module can analyze the metadata associated with the message, the tags and other features of the html message, or even the content of the text message.

[0039] The example conversation presentation 200C shows another configuration in which the individual messages are in a semi-expanded state. The conversation is again identified (242) and the headers 244 and 248 of the individual messages are displayed. However, instead of standard email headers, headers 244 and 248 provide information in a more understandable manner. For example, instead of listing all participants, header 248 indicates that the second message is replied by Jane Doe (e.g., as opposed to the forward direction) and Jane adds Jeff Doe. Although the content of the individual messages (e.g., the body 246 of the first message) is displayed, signature boxes, advertisements, etc. are still removed to prevent distraction.

[0040] Figure 3 The system according to the embodiment is shown Figure 2A Another presentation of an email conversation.

[0041] In the example conversation presentation 300, the message is displayed in a collapsed state with expansion controls 304 and 308 and its corresponding content (e.g., body 312). After activation of a control such as selection 306 of the conversation identifier 302, a conversation summary 310 may be displayed to provide summary information related to the conversation. The conversation summary 310 may include additional interactive features that, after activation, may cause additional detailed information to be displayed.

[0042] In certain embodiments, graphics, highlights, text, colors, and / or shading schemes may be used in the dialogue summary or in the displayed dialogue to emphasize the important parts in the dialogue, present information in a more user-friendly manner, etc. In addition, the display order of messages is not necessarily a forward or reverse chronological order. The user may be allowed to customize the display order of messages. For example, the latest message may be displayed at the top, followed by the remaining messages in the chronological order from the oldest to the latest. In other embodiments, messages may be grouped, folded, expanded, and / or emphasized based on their content and the context of the dialogue.

[0043] As discussed above, in addition to other features that can improve the efficiency and performance of computing devices associated with the facilitated communications, a communication application or service that provides dialog modification for an enhanced user experience can result in reduced processor load (and therefore increased processing speed), savings in memory, and reduced network bandwidth usage. For example, as a result of obtaining summary information, a user can reduce the number of repeated messages. Folded information can also be saved in a format that reduces the need for data storage and memory. User interactions can also be optimized.

[0044] The embodiments described herein address the needs arising from the extremely large scale operations formed by software-based services that cannot be managed by humans. The actions / operations described herein are not only the use of computers, but are the results of systems that address the direct consequences of software used to provide services in conjunction with a large number of users and applications.

[0045] Figures 4A to 4C Shown are example reordering of conversation components in chronological order as the conversation is transferred in a new message and example enrichment features in the reordered conversation in accordance with an embodiment.

[0046] Figure 4A 400A in FIG. 4 shows the reordering of messages in a forwarded chain according to some embodiments. In the illustrated example, message 404 may be the original message followed by message 408. Message 402 forwards the entire conversation. In some embodiments, messages 404 and 408 may be reordered in chronological order to provide an easy follow of the flow of the conversation. However, the last message (402) may be placed at the top to provide quick context to the recipient.

[0047] In the example conversation 400A, another aspect of a multi-message conversation is also shown. Different participants in the conversation may use different applications, some of which may allow rich metadata 410 (header information with interactive features such as online information) while others may be text-based only (in other words, simple content 412). As described below in conjunction with Figure 4B Other embodiments discussed may address this potential difference.

[0048] Figure 4B 400B shows a reordered conversation with enriched and standardized header information. Messages 402, 404, and 408 are reordered in time, with the latest message (forwarding the conversation) as shown in Figure 4A A communication service or application according to an embodiment may analyze simple header content and "synthesize" or enrich it with interactive features. For example, the email addresses of the sender and / or recipient may be in text form in the original email. The communication service or application may perform searches based on email addresses and obtain additional information from internal or external resources (e.g., other conversations or online services), such as presence information, additional contact information, etc. Similarly, the communication service or application may detect date / time information in text form and retrieve calendar information associated with the participants of the conversation.

[0049] The communication service or application can then insert interactive features, such as links or similar elements pointing to interactive contact cards 644, calendar presentations 424, etc. For example, participants can be presented with online information associated with the sender or recipient of the message in the conversation and multiple communication options to contact the participant after selecting the corresponding link or element. In addition, such as summary information, folding / expanding elements, and other features discussed in this article can also be used in conjunction with the reordered messages. In some embodiments, the enriched header information can also be presented in a standardized manner, that is, using consistent fonts, formats, sequences, content, and similar aspects to present.

[0050] Figure 4C 400C in FIG. 4 shows another example configuration of the use of interactive features. In some examples, all or part of the messages in the conversation (e.g., messages 434 and 438) can be collapsed by using an interactive contact card element 432. In an environment with limited display area such as a mobile device, all or part of the content of the reordered message can be displayed, with the header portion collapsed to gain display area. Contact card element 432 can be used to expand sender / receiver information after user activation. Folding and expanding messages using interactive features can be automatic or manual. For example, a communication service or application can select which messages to collapse or whether to collapse the messages based on the device currently used by the user.

[0051] The features, configurations, and aspects of the dialog components discussed above are provided for illustrative purposes and do not constitute limitations on the embodiments. Using the principles described herein, a reordered dialog with rich features can be implemented using other features, configurations, and aspects of dialog components such as header information, signatures, or banner boxes.

[0052] Figure 5 Inserting new components into a reordered conversation when new persons are added to the conversation is conceptually illustrated according to an embodiment.

[0053] The example message reordering scenarios discussed above focus on conversation transfer based on forwarding or replying actions. 500 shows another example scenario in which a new person is added to a conversation along with messages related to the conversation (e.g., about the same topic). In the example scenario of 500, two actions occur in a conversation including messages 502, 504, and 506. Message 504 adds a new person (Gene), and message 506 forwards the entire conversation. The added person Gene has in his history a message 510 to one of the participants (Jill) that may be related to the conversation.

[0054] Thus, the reordered conversation is in the following order, message 506 (the newest message) is followed by chronologically ordered (oldest to newest) messages 502, 510, and 504. Message 510 is inserted into the conversation according to its position in the chronological order of the messages in the conversation. All or some of the reordered messages may also be enriched with interactive features as discussed herein.

[0055] Figure 6 is a block diagram of the main actions in processing a message including a reordered conversation with rich features, according to an embodiment.

[0056] As shown in 500, a forwarded or reply message 602 including a message chain as part of a conversation can be processed by a conversation module of a communication service or application. In a component detection phase 604, the components (individual messages) of the conversation can be determined based on their metadata, headers, or other aspects such as indentation in a list of message chains.

[0057] At the metadata parsing stage 606, the metadata and / or headers of the messages may be analyzed to determine the properties of the individual messages, such as the sender, the recipient, the date / time of sending, etc. In the case where some messages have simple content (i.e., only content and headers in text form without metadata), the dialog module may perform a search for detected information such as an email address and retrieve additional information to synthesize the simple header at the header synthesis stage 608. At the reordering stage 610, the messages may be reordered from old to new in chronological order, while keeping the latest message (forwarded or replied message 602) at the top of the message chain to provide context to the recipient. At the interactive feature adding stage 612, interactive features such as rich contact card elements, calendar elements, etc. may be added to one or more messages in the conversation. The headers and / or content of the messages may also be standardized in terms of font, format, or presentation. The processed (reordered) messages may then be provided to the recipient as forwarded or replied messages 614.

[0058] The specific services, devices, applications, modules, module components, and configurations are shown in Figures 1 to 6 The examples provided in the examples are not limited to the environments according to these examples. The modification of the dialogue for the enhanced user experience and the messages including the reordered dialogue with rich features can be implemented in environments that employ fewer or additional services, applications, communication modes, modules, module components, and configurations. In addition, the modification of the dialogue for the enhanced user experience and the messages including the reordered dialogue with rich features can be implemented in a similar manner to other values ​​using the principles described herein. Figures 1 to 6 The example services, applications, communication patterns, modules, module components, and configurations shown in .

[0059] Figure 7 706 is a networked environment in which a system according to an embodiment can be implemented. In addition to locally installed applications (e.g., application 822 discussed below), the reordering of conversation components when a conversation is transmitted in a new message with rich features can also be implemented in conjunction with hosted applications and services, which can be implemented via software executed by one or more servers 706 or individual servers 708. Hosted applications and services can communicate with client applications on individual computing devices (e.g., handheld computers 701, desktop computers 702, laptop computers 703, smart phones 704, tablet computers (or planes) 705 ("client devices")) through network 710 and control the user interface presented to the user.

[0060] Client devices 701-705 are used to access the functionality provided by the communication service or application. Server 706 or one or more of servers 708 can be used to provide and provide the various services discussed above. Relevant data can be stored in one or more data stores (e.g., data store 714), which can be managed by any of the servers 706 or by database server 712.

[0061] The network 710 can include any topology of servers, clients, internet service providers, and communication media. The system according to an embodiment can have a static or dynamic topology. The network 710 can include a secure network such as an enterprise network, a non-secure network such as a wireless open network, or the Internet. The network 710 can also coordinate the communication through other networks such as PSTN or cellular networks. The network 710 provides the communication between the nodes described in this article. As an example and not limitation, the network 710 can include wireless media such as sound, RF, infrared, and other wireless media.

[0062] Many other configurations of computing devices, applications, data sources, and data distribution systems may be employed to provide for reordering of conversation components as the conversation is transmitted in a new message having rich features. Figure 7 The networking environment discussed in the for illustrative purposes only. The embodiments are not limited to the example applications, modules, or processes.

[0063] Figure 8 is a block diagram of an example general purpose computing device that may be used to provide reordering of conversation components when the conversation is transmitted in a new message having rich features.

[0064] For example, computing device 800 may be used as a server, a desktop computer, a portable computer, a smart phone, a special purpose computer, or a similar device. In the example basic configuration 802, computing device 800 may include one or more processors 804 and a system memory 806. A memory bus 808 may be used to communicate between processor 804 and system memory 806. Figure 8 A basic configuration 802 is shown by those components within the inner dashed line.

[0065] Depending on the desired configuration, the processor 804 can be of any type, including but not limited to: a microprocessor (μP), a microcontroller (μC), a digital signal processor (DSP), or any combination thereof. The processor 804 can include more than one level of cache, such as a level cache memory 812, one or more processor cores 814, and registers 816. The example processor core 814 can (each) include an arithmetic logic unit (ALU), a floating point unit (FPU), a digital signal processing core (DSP core), or any combination thereof. An example memory controller 818 can also be used with the processor 804, or in some implementations, the memory controller 818 can be an internal component of the processor 804.

[0066] Depending on the desired configuration, the system memory 806 can be of any type, including but not limited to: volatile memory (e.g., RAM), non-volatile memory (e.g., ROM, flash memory, etc.), or any combination thereof. The system memory 806 may include an operating system 820, a communication application 822, and program data 824. The communication application 822 may include a conversation module 826, which may be an integrated module of the communication application 822. In addition to managing conversations, facilitating data collection and analysis, and managing stored conversation data associated with the communication application 822, the conversation module 826 may be configured to analyze the components of the conversation, reorder the components in chronological order to keep the forwarded or replied messages at the top, and enhance the presentation through rich features, as described herein. The conversation module 826 may include dedicated components, such as a data collection and analysis engine, etc. The program data 824 may include conversation data 822, etc., as described herein.

[0067] The computing device 800 may have additional features or functions, as well as additional interfaces for facilitating communication between the basic configuration 802 and any desired devices and interfaces. For example, a bus / interface controller 830 may be used to facilitate communication between the basic configuration 802 and one or more data storage devices 832 via a storage interface bus 834. The data storage device 832 may be one or more removable storage devices 836, one or more non-removable storage devices 838, or a combination thereof. Examples of removable storage devices and non-removable storage devices may include: magnetic disk devices (e.g., floppy disk drives and hard disk drives (HDDs)), optical disk drives (e.g., compact disk (CD) drives or digital versatile disk (DVD) drives), solid state drives (SSDs), and tape drives, etc. Example computer storage media may include volatile and non-volatile, removable and non-removable media implemented in any method or technology for storing information such as computer-readable instructions, data structures, program modules, or other data.

[0068] System memory 806, removable storage device 836, and non-removable storage device 838 may be examples of computer storage media. Computer storage media may include, but are not limited to, RAM, ROM, EEPROM, flash memory or other memory technology, CD-ROM, digital versatile disks (DVD), solid-state drives, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage devices or other magnetic storage devices, or any other medium that can be used to store the desired information and can be accessed by computing device 800. Any such computer storage media may be part of computing device 800.

[0069] The computing device 800 may also include an interface bus 840 for facilitating communication from various interface devices (e.g., one or more output devices 842, one or more peripheral interfaces 844, and one or more communication devices 846) to the basic configuration 802 via the bus / interface controller 830. Some of the example output devices 842 may include a graphics processing unit 848 and an audio processing unit 850, which may be configured to communicate with various external devices such as a display or speakers via one or more A / V ports 852. One or more example peripheral interfaces 844 may include a serial interface controller 854 or a parallel interface controller 856, which may be configured to communicate with peripheral devices such as input devices (e.g., pens, keyboards, mice, voice input devices, touch input devices, etc.) or other peripheral devices (e.g., printers, scanners, etc.) via one or more I / O ports 858. The example communication device 846 may include a network controller 860, which may be arranged to facilitate communication with one or more other computing devices 862 over a network communication link via one or more communication ports 864. The one or more other computing devices 862 may include servers, computing devices, and similar devices.

[0070] A network communication link can be an example of a communication medium. Communication media can generally be implemented by computer-readable instructions, data structures, program modules, or other data in a modulated data signal (e.g., a carrier wave or other transmission mechanism), and can include any information transfer medium. A "modulated data signal" can be a signal having one or more features in a feature set of a modulated data signal, or can be changed in a manner about encoding information in a signal. As an example and not limitation, communication media can include wired media (e.g., a wired network or a direct wired connection) and wireless media (e.g., acoustic, radio frequency (RF), microwave, infrared (IR) and other wireless media). The term computer-readable medium as used herein can include both storage media and communication media.

[0071] The computing device 800 may be implemented as part of a general or special purpose server, mainframe computer, or similar computer including any of the above functions. The computing device 800 may also be implemented as a personal computer, including both laptop and non-laptop computer configurations.

[0072] Example embodiments may also include methods for providing reordering of conversation components when a conversation is transmitted in a new message with rich features. These methods can be implemented in any number of ways, including the structures described herein. One such way may be by machine operation of a device of the type described in this disclosure. Another optional way may be one or more operations in the independent operations of the method to be performed in conjunction with one or more human operators performing some operations. These human operators do not need to be in the same location as each other, but each operator can be with a machine that performs a portion of the program. In other examples, human interaction can be automated, for example, by pre-selected criteria that can be machine automated.

[0073] Fig. 9 A logical flow diagram of a method for modifying a dialog for an enhanced user experience according to an embodiment is shown.

[0074] Process 900 can be implemented on a computing device, server, or other system. An example system can include a communication application installed on a device, wherein a dialog module is integrated with the application. The dialog module can include dedicated components, such as other components such as a data collection and analysis engine.

[0075] Process 900 begins with operation 910, wherein the conversation module can analyze the conversation and detect individual messages within the conversation, such as emails. In the original conversation, the communication can be in reverse chronological order. In the email example, the conversation can be in simple text or html format. At operation 920, the conversation module can parse the properties associated with each communication, such as the sender, the recipient, the date and time of the transmission, whether new personnel are added or existing personnel are removed from the conversation. Other properties that can be extracted include signatures, advertisements, and other content. In some embodiments, the content can be analyzed to provide a summary of each communication.

[0076] At operation 930, the conversation module may reverse the chronological order of the conversation so that the oldest message is presented at the top. In other embodiments, the most recent communication may be presented at the top, followed by the remaining messages in chronological order, which enables the conversation participants to read the most recent communication first and then follow the chronological order from the beginning of the conversation.

[0077] At operation 940, the conversation may be presented by the communication application in reverse chronological order, with interactivity added, for example, using the extracted properties.

[0078] Fig.10 A logic flow diagram of a method for providing chronological reordering of conversation components when the conversation is transmitted in a new message with rich features according to an embodiment is shown.

[0079] Process 1000 may also be implemented on a computing device, server, or other system. An example system may include a communication application installed on a device, wherein a dialog module is integrated with the application. The dialog module may include specialized components, such as other components such as a data collection and analysis engine.

[0080] Process 1000 begins with operation 1010, where the conversation module can detect a conversation of messages sent in a new message by a forward action, a reply action, or adding a new person to the conversation. At operation 1020, the conversation can be analyzed to determine the individual components (messages) within the conversation. Some messages can have rich metadata (links or elements associated with interactive information). Other messages can be simple (text only). At operation 1030, the metadata or headers of the individual components can be parsed to determine the attributes or properties of the individual messages, such as sender, recipient, date / time of sending, date / time of receiving, etc.

[0081] At operation 1040, individual messages may be reordered chronologically from oldest to newest, but the latest message of the sending conversation may be kept at the top to provide context to the recipient. At optional operation 1050, the simple header may be enriched with interactive features, the header and / or content of the message may be standardized to present the overall conversation consistently, and additional interactive features such as summary messages, individual collapse / expand elements, etc. may be added. At operation 1060, the reordered and optionally enriched new message may be provided to its recipient(s).

[0082] The operations included in processes 900 and 1000 are for illustrative purposes. Methods according to embodiments may be implemented by similar processes with fewer or additional steps, and in different orders of operations using the principles described herein. The operations described herein may be performed by one or more processors, one or more processor cores, special processing devices, and / or general purpose processors operating on one or more computing devices.

[0083] According to an example, an apparatus for providing a dialog modification for an enhanced user experience is described. The apparatus may include means for analyzing a dialog to determine individual messages within the dialog; means for parsing properties associated with the individual messages; means for determining one or more interactive features to present based on the parsed properties; means for reversing the chronological order of the individual messages based on the parsed properties; and means for presenting the dialog using the reversed chronological order and one or more interactive features.

[0084] According to some examples, a computing device for providing conversation modification for an enhanced user experience is described. An example computing device may include a memory configured to store instructions and one or more processors coupled to the memory, the one or more processors configured to execute a communication application and a conversation module integrated with the communication application in conjunction with the instructions stored in the memory. The conversation module may analyze the conversation to determine individual messages within the conversation; parse properties associated with the individual messages; determine one or more interactive features to be presented based on the parsed properties; and reverse the chronological order of the individual messages based on the parsed properties. The communication application may present the conversation using the reversed chronological order and one or more interactive features.

[0085] According to other examples, the properties may include one or more of the date and time of each individual message, the sender of each individual message, the recipient of each individual message, added participants, removed participants, and attachments. The interactive features may include one or more of: collapsing and expanding all individual messages, collapsing and expanding selected individual messages, providing a summary of the conversation, emphasizing portions of the conversation, enabling customization of the order of individual messages. The summary of the conversation may include one or more interactive elements for providing additional details about the conversation when selected.

[0086] According to another example, the folded and unfolded individual messages may be presented with one or more interactive elements to enable switching of the folded / unfolded state of the individual messages. The conversation module may also be configured to remove one or more advertisements from the conversation. The conversation module may also be configured to remove one or more signature boxes from the conversation. The conversation module may be configured to analyze the conversation by parsing the content and tags of the html body of the conversation. The conversation module may also be configured to analyze the conversation by parsing the content and tags of the text body of the conversation. The conversation module may also be configured to analyze the conversation by analyzing metadata associated with the individual messages. The individual messages may include one or more of the following: email messages, text messages, video messages, online conference recordings, desktop sharing sessions, and application sharing sessions.

[0087] According to other examples, a method is described that is performed at least in part in a computing device to provide a conversation modification for an enhanced user experience. The method may include analyzing a conversation to determine individual messages within the conversation; parsing properties associated with the individual messages; determining one or more interactive features to present based on the parsed properties; reversing a chronological order of the individual messages based on the parsed properties; and presenting the conversation using the reversed chronological order and the one or more interactive features.

[0088] According to some examples, the properties may include one or more of: the date and time of each individual message, the sender of each individual message, the recipient of each individual message, added participants, removed participants, and attachments; and the one or more interactive features may include one or more of: collapsing and expanding all individual messages, collapsing and expanding selected individual messages, providing a summary of the conversation, emphasizing parts of the conversation, enabling customization of the order of individual messages.

[0089] According to other examples, the method may also include providing a summary of the conversation and emphasizing portions of the conversation using one or more of the following schemes: a graphical scheme, a highlight scheme, a text scheme, a color scheme, and a shading scheme. The method may also include removing content from the conversation, the content including one or more of an advertisement, news content, and a signature box. The method may also include prompting a user for confirmation before removing content and / or presenting one or more interactive elements, so that detailed information associated with the content of the conversation and the nature of individual messages can be displayed temporarily or continuously.

[0090] According to another example, a computer-readable memory device having stored thereon instructions for providing a dialog modification for an enhanced user experience is described. The instructions may include analyzing a dialog to determine individual messages within the dialog; parsing properties associated with the individual messages; determining one or more interactive features to present based on the parsed properties; reversing a chronological order of the individual messages based on the parsed properties; and presenting the dialog using the reversed chronological order and one or more interactive features.

[0091] According to some examples, the new order may include the latest message at the top of the conversation and the remaining messages follow the chronological order of older to newer. The custom order may include the latest message at the top of the conversation and the remaining messages follow the chronological order of older to newer.

[0092] According to an example, an apparatus for providing a chronological reordering of transmitted conversation components is described. The apparatus may include means for detecting a conversation including a sequence of messages transmitted in a new message; means for analyzing the conversation to determine individual messages within the conversation; means for parsing non-content information associated with the individual messages; means for reordering the message sequence by reversing the chronological order of the individual messages except for the new message and maintaining the placement of the new message at the top of the message sequence; means for inserting one or more interactive elements into one or more individual messages based on the parsed non-content information; and means for transmitting the new message together with the reordered message sequence to one or more recipients.

[0093] According to some examples, a server for providing chronological reordering of transmitted conversation components is described, the server comprising: a communication interface configured to facilitate message exchange with other computing devices; a memory configured to store instructions; and one or more processors coupled to the memory and the communication interface, the one or more processors configured to execute a communication service and a conversation module integrated with the communication service in combination with the instructions stored in the memory, wherein the conversation module is configured to: detect a conversation including a sequence of messages transmitted in a new message; analyze the conversation to determine individual messages within the conversation; parse non-content information associated with the individual messages; reorder the message sequence by reversing the chronological order of the individual messages except the new message and keeping the placement of the new message at the top of the message sequence; and transmit the new message together with the reordered message sequence to one or more recipients via the communication interface.

[0094] According to other examples, the non-content information may include one or more of the following: the date and time of each individual message, the sender of each individual message, the recipient of each individual message, added participants, removed participants, signature boxes, slogan boxes, and attachments. The dialogue module may be configured to parse the non-content information by retrieving interactive content associated with rich metadata for a subset of individual messages. The dialogue module may also be configured to parse the non-content information by determining one or more resources associated with simple message header content for another subset of the individual messages and retrieving interactive content associated with the simple message header content from the one or more resources. The dialogue module may also be configured to insert one or more interactive elements associated with the retrieved interactive content.

[0095] According to another example, the dialogue module can be configured to retrieve interactive content associated with the simple message header content from one or more resources by performing a search based on the parsed simple message header content. The interactive content may include one or more of online information, contact information, and calendar information. The dialogue module can also be configured to collapse a chronologically reversed message sequence by inserting text content that replaces individual message headers and removing interactive elements of signatures and slogan boxes. The dialogue module can be configured to detect a dialogue transmitted in a new message by one of a forwarding action, a reply action, and adding a new participant to a dialogue. The individual message may include one or more of the following: an email message, a text message, a video message, an online conference recording, a desktop sharing session, and an application sharing session.

[0096] According to other examples, a method is described that is performed at least in part in a computing device to provide chronological reordering of transmitted conversation components, the method comprising: detecting a conversation that includes a sequence of messages transmitted in a new message; analyzing the conversation to determine individual messages within the conversation; parsing non-content information associated with the individual messages; reordering the message sequence by: reversing the chronological order of the individual messages except the new message, and maintaining the placement of the new message at the top of the message sequence; inserting one or more interactive elements into one or more individual messages based on the parsed non-content information; and transmitting the new message along with the reordered message sequence to one or more recipients.

[0097] According to some examples, the method may also include standardizing the presentation of individual messages in the conversation. Standardizing the presentation of individual messages may include modifying one or more of the font, format, indentation, and amount of content displayed of each individual message for consistent presentation. Inserting one or more interactive elements may include providing one or more elements for folding and expanding all individual messages, folding and expanding selected individual messages, providing a summary of the conversation, emphasizing portions of the conversation, and enabling customization of the order of individual messages.

[0098] According to another example, the method may include detecting that a new participant is added to the conversation; detecting messages exchanged between the new participant and existing conversation participants; and inserting the message into the conversation. Inserting the message into the conversation may include placing the message in the message sequence according to the date and time the message was sent and in reverse chronological order.

[0099] According to another example, a computer-readable memory device having instructions stored thereon to provide chronological reordering of transmitted conversation components is described, the instructions including: detecting a conversation including a sequence of messages that is transmitted in a new message by one of a forwarding action, a reply action, and the addition of a new participant to the conversation; analyzing the conversation to determine individual messages within the conversation; parsing non-content information associated with the individual messages; reordering the message sequence by: reversing the chronological order of the individual messages except the new message, and maintaining the placement of the new message at the top of the message sequence; inserting one or more interactive elements into one or more individual messages based on the parsed non-content information; and transmitting the new message together with the reordered message sequence to one or more recipients.

[0100] According to other examples, the instructions may also include collapsing a portion of the message sequence based on an available display area at a recipient computing device by replacing at least a portion of the text content of the individual message with the one or more interactive elements. The portion of the message sequence may include a chronologically reversed sequence of messages other than the new message.

[0101] The above specification, examples, and data provide a complete description of the manufacture and use of the components of the embodiments. Although the subject matter has been described in language specific to structural features and / or methodological acts, it should be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. On the contrary, the specific features and acts described above are disclosed as example forms of implementing the claims and embodiments.

Claims

1. A server for providing chronological reordering of transmitted conversation components, the server comprising: One or more processors coupled to a memory storing instructions, the one or more processors being configured by executing one or more instructions stored in the memory to: Detecting conversations including message sequences; analyzing the conversation to identify individual messages in the conversation contained within the body of a latest message in the sequence of messages; parsing properties of the individual messages by analyzing content of the message sequence and non-content information associated with the message sequence; reordering the message sequence based on the parsed attributes by placing the newest message at the top of the message sequence and reversing the chronological order of the remaining individual messages of the conversation from oldest to newest below the newest message; as well as The conversation is displayed within the body of the latest message using the reordered message sequence.

2. The server according to claim 1, wherein: The non-content information associated with the message sequence includes one or more of: the date and time of each individual message, the sender of each individual message, the recipient of each individual message, participants added to the conversation, participants removed from the conversation, a signature box, a slogan box, and attachments.

3. The server according to claim 1, wherein: The one or more processors are configured to analyze the non-content information associated with the sequence of messages by retrieving interactive content associated with metadata of a subset of the individual messages.

4. The server according to claim 3, wherein: The one or more processors are configured to analyze the non-content information associated with the sequence of messages by determining one or more resources associated with simple message header content of another subset of the individual messages and retrieving interactive content associated with the simple message header content from the one or more resources.

5. The server according to claim 4, wherein: The one or more processors are further configured to insert one or more interactive elements associated with the retrieved interactive content.

6. The server according to claim 4, wherein: The one or more processors are further configured to retrieve the interactive content associated with the simple message header content from the one or more resources by performing a search based on the analyzed simple message header content.

7. The server according to claim 4, wherein: The interactive content includes one or more of presence information, contact information, and calendar information.

8. The server according to claim 1, wherein: The one or more processors are configured to collapse the remaining individual messages of the conversation in reverse chronological order.

9. The server according to claim 8, wherein: The one or more processors are configured to collapse the remaining individual messages of the conversation in a chronologically reversed order by inserting interactive elements to replace text content of individual message headers and removing signatures and taglines.

10. The server according to claim 1, wherein: The one or more processors are configured to detect the conversation through one of a forwarding action, a reply action, and adding a new participant to the conversation.

11. The server according to claim 1, wherein: The individual message includes at least one of the following: a text message, a video message, an online conference recording, a desktop sharing session, and an application sharing session.

12. A method executed in a computing device to provide a chronological reordering of transmitted conversation components, the method comprising: Detecting conversations including message sequences; analyzing the conversation to identify individual messages contained within the body of a latest message of the conversation; parsing properties of the individual messages by analyzing content of the message sequence and non-content information associated with the message sequence; reordering the message sequence based on the parsed attributes by placing the newest message at the top of the message sequence and reversing the chronological order of the remaining individual messages of the conversation from oldest to newest below the newest message; inserting one or more interactive elements into one or more individual messages; as well as The conversation is displayed within the body of the latest message using the reordered message sequence.

13. The method according to claim 12, further comprising: Presentation of the individual messages in the conversation is standardized.

14. The method according to claim 13, wherein: Standardizing the presentation of the individual messages includes: One or more of font, formatting, indentation, and amount of content displayed of at least one individual message is modified for consistent presentation.

15. The method according to claim 12, wherein: Inserting the one or more interactive elements comprises: One or more elements are provided to collapse and expand all individual messages, collapse and expand selected individual messages, provide a summary of the conversation, emphasize portions of the conversation, and enable customization of the order of the individual messages.

16. The method according to claim 12, further comprising: detecting that a new participant is added to the conversation; detecting messages exchanged between the new participant and existing conversation participants; as well as Insert the message into the conversation.

17. The method according to claim 16, wherein: Inserting the message into the conversation comprises: The messages are placed in the message sequence according to the date and time they were sent and in reverse chronological order.

18. A computer readable medium having instructions, which when executed by a processor, cause the processor to perform operations comprising: Detecting conversations including message sequences; analyzing the conversation to identify individual messages contained within the body of a latest message of the conversation; parsing properties of the individual messages by analyzing content of the message sequence and non-content information associated with the message sequence; reordering the message sequence based on the parsed attributes by placing the newest message at the top of the message sequence and reversing the chronological order of the remaining individual messages of the conversation from oldest to newest below the newest message; inserting one or more interactive elements into one or more individual messages; normalizing presentation of said individual messages in said conversation; as well as The conversation is displayed within the body of the latest message using the reordered message sequence.

19. The computer-readable medium of claim 18, wherein: The operations also include collapsing a portion of the sequence of messages based on available display area at a recipient computing device by replacing at least a portion of text content of the individual messages with the one or more interactive elements.

Citation Information

Patent Citations

  • Conversation enrichment through component re-order

    US20180063057A1

  • Management and display of grouped messages on a communication device

    EP2369820A2