Unified messaging platform for handling comments attached to email messages
Through the user interface and automatic synchronization function of the unified messaging platform, the problem of information transmission efficiency and accuracy in the team environment is solved, and cross-platform synchronization and collaboration of information are achieved.
Patent Information
- Application Number
- CN202110718168.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2015-07-15
- Filing Date
- 2016-05-20
- Publication Date
- 2025-01-21
- Estimated Expiration
- 2036-05-20
AI Technical Summary
Existing communication platforms cannot effectively solve the efficiency and accuracy of information transmission in team environments, resulting in message forwarding and ignoring, breaking the information chain, and affecting team collaboration.
Provides a unified messaging platform that enables quick access to information related to each category through the user interface, enables automatic cross-platform synchronization of information, extracts and displays parts of attached files in the message body, and automatically synchronizes comments in attached files.
It improves the efficiency and accuracy of team collaboration, ensures that each team member can track the current progress and status of the project, reduces information forwarding and neglect, and enhances the visibility and consistency of information.
Smart Images

Figure CN113408243B_ABST
Abstract
Description
[0001] This application is a divisional application of the Chinese patent application with application number 201680029632.8. Background Art
[0002] Numerous and diverse communication platforms are currently available. Some communication platforms (e.g., messaging and / or email platforms) allow a certain amount of interoperability. However, these platforms cannot fully address the needs and requirements of contemporary team environments. For example, traditional email applications are configured so that each message is sent to one or more recipients by the sender. It is often difficult for the sender to know which recipients will be interested in receiving certain information, which leads to message forwarding and / or ignoring relevant or key individuals. In the case of message forwarding, the communication chain is broken, which leads to different information being provided to each member of a team. In addition, when some members are ignored and / or excluded, information that is useful to the entire team will be archived and operated only by a subset of the team. Due to the fact that email messaging is overused for many purposes, the above defects are compounded--for example, from messages as basic as requesting consent from the recipient to messages with key visual documents for the organization attached--this has produced an overloaded inbox and overwhelmed recipients.
[0003] Other communication tools and media have been developed to fill the gap, such as instant messaging, short message service (SMS), Yammer, Skype, SharePoint, etc., but these tools add complexity rather than being an overarching solution. For example, while these additional communication tools are useful in point solutions, they also create the need for users to access multiple locations to get a complete picture of information, tasks, and obligations.
[0004] The embodiments have been described with respect to these and other general considerations.Furthermore, although relatively specific problems have been discussed, it should be understood that the embodiments should not be limited to solving the specific problems identified in the background. Summary of the invention
[0005] In summary, the present disclosure relates to methods and systems for providing a unified messaging platform. The unified messaging platform provides an integrated environment for collaboration, file sharing, and project management. In various aspects, the unified messaging platform is organized based on one or more teams or projects, wherein each team or project is further organized by customizable categories. A user interface is provided for quick access to information related to each category (e.g., communications, files, tasks, work products, etc.), in which information is automatically and seamlessly synchronized across platforms so that each team member can keep up with the current progress and status of the project. For example, collaboration on attached files is facilitated by extracting and providing at least a portion of the attached files within the body of a message. In various aspects, comments within the attached files can be extracted and summarized for display in the body of the message. In addition, comments on the extracted content within the body of the message can be automatically synchronized and reflected in the attached files and in the file tags storing files associated with the team. These and other features will be described in detail herein.
[0006] In various aspects, a system is provided that includes a processing unit and a memory. The memory stores computer executable instructions that, when executed by the processing unit, cause the system to perform a method. The method performed by the system includes receiving a message having an attached file, and identifying a structure of the attached file. Additionally, the method includes identifying at least one annotation in the attached file, and determining a location of the at least one annotation in the structure of the attached file. The method also includes extracting the at least one annotation and displaying the at least one annotation in the message.
[0007] In another aspect, a system is provided that includes a processing unit and a memory. The memory stores computer executable instructions that, when executed by the processing unit, cause the system to perform a method. The method performed by the system includes receiving a message with embedded content, wherein the message with embedded content includes content extracted from an associated file. The method also includes identifying a structure of the extracted content, wherein the structure is associated with a file structure of the associated file, and receiving an annotation to the extracted content. Additionally, the method includes identifying a location of the annotation within the structure of the extracted content, and synchronizing the annotation with the associated file.
[0008] In another aspect, a method of extracting a portion of an attached file and embedding the extracted portion in a message. The method includes receiving a message with an attached file, and scanning the attached file. The method also includes extracting a portion of the attached file, and displaying the extracted portion in the message.
[0009] 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 limit the scope of the claimed subject matter. BRIEF DESCRIPTION OF THE DRAWINGS
[0010] Non-limiting and non-exhaustive examples are described with reference to the following figures.
[0011] Figure 1 An exemplary conceptual model for a unified messaging platform according to an example embodiment is shown.
[0012] Figure 2A An exemplary interface for interacting with a unified messaging platform is shown according to an example embodiment.
[0013] Figure 2B An exemplary interface for interacting with a unified messaging platform according to a second example embodiment is shown.
[0014] Figure 2C An exemplary interface for interacting with a unified messaging platform according to a third example embodiment is shown.
[0015] Figure 2D An exemplary interface for interacting with a unified messaging platform according to a fourth example embodiment is shown.
[0016] Figure 2E An exemplary interface for interacting with a unified messaging platform according to a fifth example embodiment is shown.
[0017] Figure 2F An exemplary mobile interface for interacting with a unified messaging platform is shown in accordance with an example embodiment.
[0018] Figure 2G An exemplary mobile interface for interacting with a unified messaging platform according to a second example embodiment is shown.
[0019] Figure 3 An exemplary system for message processing implemented on a computing device according to an example embodiment is shown.
[0020] Figure 4 An exemplary method for scanning messages having attachments according to an example embodiment is shown.
[0021] Figure 5 An exemplary method for extracting at least a portion of content from an attached file according to an example embodiment is shown.
[0022] Figure 6An exemplary method for inserting the extracted at least a portion of the content into a message according to an exemplary embodiment is shown.
[0023] Figure 7 An exemplary method for synchronizing annotations made to extracted content with associated files according to an example embodiment is shown.
[0024] Figure 8 An exemplary interface for embedding extracted content in a message according to an example embodiment is shown.
[0025] Fig. 9A An exemplary interface for displaying a message with embedded content is shown according to an example embodiment.
[0026] Fig. 9B An exemplary interface for displaying associated files in response to selection of embedded content is shown according to an example embodiment.
[0027] Fig.10 An exemplary interface for embedding extracted content in a message according to an example embodiment is shown.
[0028] Fig.11 is a block diagram illustrating example physical components of a computing device in which aspects of the present disclosure may be practiced.
[0029] Fig. 12A and Fig. 12B is a simplified block diagram of a mobile computing device in which aspects of the present disclosure may be practiced.
[0030] Fig.13 is a simplified block diagram of a distributed computing system in which aspects of the present disclosure may be practiced.
[0031] Fig.14 A tablet computing device for performing one or more aspects of the present disclosure is shown. DETAILED DESCRIPTION
[0032] In the following detailed description, reference is made to the accompanying drawings which form a part of this document and which are shown therein by way of specific embodiments or examples. These aspects may be combined, other aspects may be utilized, and structural changes may be made without departing from the present disclosure. The embodiments may be practiced as methods, systems, or devices. Thus, the embodiments may take the form of hardware implementations, complete software implementations, or implementations combining software and hardware aspects. Therefore, the following detailed description is not to be considered in a restrictive sense, and the scope of the present disclosure is defined by the appended claims and their equivalents.
[0033] In particular, a unified messaging platform that provides an integrated environment for collaboration, file sharing, and project management is described. In various aspects, a unified messaging platform is organized based on one or more teams or projects, wherein each team or project is further organized by customizable categories, such as finance, engineering, conference preparation, commissioning, catering, construction, general, random, etc. A user interface is provided for quick access to information related to each category (e.g., communications, files, tasks, work products, etc.), in which information is organized by pages or tags for each category. In addition, documents, project updates, tasks, and communications between team members will be automatically and seamlessly synchronized across the platform so that each team member can keep up with the current progress and status of the project. For example, collaboration on attached files is promoted by extracting and providing at least a portion of the attached files within the message body. In various aspects, comments within the attached files can be extracted and summarized for display in the message body. In addition, comments on the extracted content within the message body can be automatically synchronized and reflected in the attached files and in the file tags storing files associated with the team. These and other features will be described in detail herein. Embodiments have been made with respect to these and other general considerations.
[0034] Figure 1 An exemplary system for providing a unified messaging platform according to an example embodiment is shown.
[0035] In various aspects, the unified messaging platform (UMP) 105 can be implemented via a client unified messaging application 104a executing on a client computing device 104, wherein the client unified messaging application 104a communicates with a server unified messaging application executing on a server computing device 106. In some aspects, the client computing device 104 can include a client-side object model 107 that communicates with a server-side object model 109 (e.g., implemented by the middle tier 106b). In a basic configuration, the client computing device 104 is a personal or handheld computer having both input elements and output elements. For example, the client computing device 104 can be one of the following: a mobile phone; a smart phone; a tablet computer; a tablet phone; a smart watch; a wearable computer; a personal computer; a desktop computer; a laptop computer; a gaming device / computer (e.g., an Xbox); a television, etc. This list is merely exemplary and should not be considered limiting. Any suitable client computing device for executing a messaging application can be utilized.
[0036] The unified messaging platform 105 is a communication system / service that provides a collaborative environment for communication and collaboration for users. Among other examples, the unified messaging platform 105 is shown by dashed lines, which show that the implementation of the unified messaging platform 105 can involve a front end 106a, a middle layer 106b, and / or a back end 106c of a server computing device 106. In multiple aspects, the server computing device 106 may include one or more server computing devices 106. In an example, the unified messaging platform 105 presents a configurable and extensible workspace for collaboration between users through a user interface (UI), and the user interface (UI) may include multiple different views. Users of the unified messaging platform 105 may include, but are not limited to: one or more individuals, companies, organizations, departments, virtual teams, special teams, suppliers, customers, third parties, etc. Users of the unified messaging platform 105 may have one or more user profiles that are customizable by users. The unified messaging platform 105 enables visibility and communication between users, including users organized in a team or group and users / groups outside the team / group. Policies can be set for a team / group by one or more administrators of the team / group and by an administrator of the unified messaging platform 105. The examples described throughout this disclosure are designed to be adaptable to protecting user privacy. Protection of sensitive information, including legally protected data and personally identifiable information, is critical to implementing the examples described herein. For example, a user can set privacy settings for what data can be displayed / shared, and the examples described herein comply with such settings and laws relating to the distribution of data and protection of privacy.
[0037] As in Figure 1As shown in , the systems and / or services associated with the unified messaging platform 105 can be implemented as a front end 106a, a middle layer 106b, and a back end 106c on a server computing device 106. However, those skilled in the art will appreciate that the unified messaging platform 105 can be implemented across one or more components of the system examples described herein (including one or more client computing devices 104 and / or enterprise stack 110). In some aspects, the front end 106a of the server computing device 106 can send information and commands to the client computing device 104 via the client unified messaging application 104a. For example, the middle layer 106b and / or the back end 106c of the server computing device 106 can receive information and commands from the client computing device 104 via the client unified messaging application 104a. In other aspects, the front end 106a can act as an intermediary between the client computing device 104 and the middle layer 106b. That is, the front end 106a can exchange commands and information with the client computing device 104, and can also exchange commands and information with the middle layer 106b. In an example, unified messaging platform 105 includes a server unified messaging application executing on server computing device 106 via a front end 106a, a middle tier 106b, and a back end 106c that communicate with client unified messaging application 104a.
[0038] In some aspects, the backend 106c may also include or be in communication with one or more application proxies 106d to facilitate interoperability and communication with one or more external services 114. More specifically, the application proxies 106d may engage with the external services 114 using webhooks 106e to facilitate integration between the unified messaging platform 105 and the external services 114. The external services 114 are services and / or websites hosted or controlled by a third party. For example, the external services 114 may include line of business (LOB) management services, customer relationship management (CRM) services, commissioning services, accounting services, payroll services, and the like. The external services 114 may also include other websites and / or applications hosted by a third party, such as social media or networking websites; photo sharing websites; video and music streaming websites; search engine websites; sports, news, or entertainment websites, and the like. That is, some external services 114 may provide robust reporting, analysis, data compilation, and / or storage services, and the like, while other external services 114 may provide search engines, or other access to data and information, images, videos, and the like.
[0039] In various aspects, data or information may be shared between the server computing device 106 and one or more external services 114. For example, business contacts, sales, etc. may be input via a client computing device 104 in communication with the server computing device 106, wherein the server computing device 106 communicates with a CRM software hosted by a third party. The third-party CRM software may track sales activities, marketing, customer interactions, etc. to provide analysis or other information to promote business relationships. Alternatively, manufacturing work orders may be input via a client computing device 104 in communication with the server computing device 106, wherein the server computing device 106 communicates with a LOB management software hosted by a third party. The LOB management software may guide and track work orders by creating workflows (e.g., tasks or alerts for scheduling manufacturing equipment, ordering raw materials, scheduling transportation, clearing inventory, etc.). In some cases, the LOB management software may create requests for user approval or review at different stages of the workflow. In other aspects, a user may issue queries to one or more of the external services 114, such as requests for business contacts, last month's sales, the status of work orders, or search queries or requests for images, etc.
[0040] As Figure 1 As shown, the server computing device 106 can communicate with the external service 114 and the client computing device 104 via the network 108. In one aspect, the network 108 is a distributed computing network such as the Internet. In multiple aspects, the unified messaging platform 105 can be implemented on more than one server computing device 106 such as multiple server computing devices 106. As discussed above, the server computing device 106 can provide data to or from the client device 104 via the network 108. Data can be transmitted through any network suitable for transmitting data. In some aspects, the network 108 is a computer network such as an intranet and / or the Internet. In this regard, the network 108 can include a local area network (LAN), a wide area network (WAN), the Internet, wireless and wired transmission media. In other aspects, the server computing device 106 can communicate with some components of the system via a local network (e.g., an intranet), and the server computing device 106 can communicate with other components of the system via a wide area network (e.g., the Internet).
[0041] According to another aspect, communication between the unified messaging platform 105 and other components of the system may require authentication 112. Authentication 112 refers to a process by which a device, application, component, user, etc. provides evidence that it is "trusted" or "authorized" to access or communicate with other devices, applications, components, users, etc. Authentication may involve the use of a third-party digital certificate, an authentication token, a password, a symmetric or asymmetric key encryption scheme, a shared secret, an authentication protocol, or any other suitable authentication system or method known now or developed in the future. In multiple aspects, in response to authentication, access or communication may be allowed and data or information may be exchanged between the unified messaging platform 105 and various other components of the system. In some aspects, an environment or network that links various devices, applications, components, users, etc. may be referred to as a "trusted" environment. In a trusted environment, authentication between devices, applications, components, users, etc. may not be necessary.
[0042] The unified messaging platform 105 executing operations on the server computing device 106 may also communicate with one or more enterprise applications (e.g., enterprise stack 110). The enterprise stack 110 may include, for example, an active directory 110a, an enterprise messaging application 110b, a file sharing application 110c, a telemetry application 110d, etc. The enterprise stack 110 may be stored and / or executed locally, for example, within an enterprise intranet or in a distributed location over the Internet. In some cases, the enterprise stack 110 may be included within the server computing device 106. For example, the active directory 110a may be included as part of the back end 106c of the server computing device 106. In some cases, the enterprise stack 110 may reside in a trusted environment or communicate with the unified messaging platform 105. In many aspects, information and / or messages received, sent, or stored via the unified messaging platform 105 may be transmitted to the enterprise stack 110. Additionally, information and / or messages received, sent, or stored via the enterprise stack 110 may be communicated to the unified messaging platform 105 .
[0043] Additionally, in some aspects, the unified messaging platform 105 executed on the server computing device 106 can communicate with one or more third-party messaging applications 116. The third-party messaging applications 116 are messaging applications hosted or controlled by a third party, including third-party email messaging applications, SMS applications, instant messaging applications, social networking applications, etc. In various aspects, some users (e.g., internal users) may be registered with the unified messaging platform 105 as members of a team, while other users (e.g., external users) who are members of the team may not be registered with the unified messaging platform 105, but may be registered with one or more third-party messaging applications 116. In some aspects, users who are registered with the enterprise messaging application 110b but not with the unified messaging platform 105 are considered external users. In this case, the unified messaging platform 105 can communicate with the one or more third-party messaging applications 116 and / or with the one or more enterprise messaging applications 110b to exchange information and messages with the external users. In some aspects, communication between the unified messaging platform 105 and one or more third-party messaging applications 116 and / or one or more enterprise messaging applications 110b over the network 108 may involve authentication 112. In other aspects, communication between the unified messaging platform 105 and, for example, one or more enterprise messaging applications 110b may not involve authentication 112.
[0044] It should be understood that reference Figure 1 The various devices, components, etc. described are not intended to limit the systems and methods to the specific components described. Thus, additional topological configurations may be used to practice the methods and systems herein, and / or some of the components described may be excluded without departing from the methods and systems disclosed herein.
[0045] Figure 2A An exemplary interface for interacting with a unified messaging platform according to a first example embodiment is shown.
[0046] In various aspects, a user can interact with a unified messaging platform via a user interface 200 (eg, a graphical user interface). Figure 1 An exemplary unified messaging platform 105 is provided in the description of Figure 2A-2GThe remainder of the present disclosure of will be further described. In some aspects, user interface 200 can relate to one or more panes or windows for organizing the display of information and / or interactive controls. In one example, user interface 200 can include three panes, e.g., left frame 202, center pane 204, and right frame 206. In another example, user interface 200 can include two panes, e.g., left frame and right frame. In other examples, user interface 200 can include one pane, four or more panes, and / or the panes can be implemented in multiple browsers or application windows.
[0047] As described above, each pane or window can display information in the form of text, graphics, etc. and / or one or more interactive controls or links. For example, the first pane (e.g., left frame 202) can display one or more teams 208, email portals, etc. As used herein, a team refers to any group of two or more users formed for one or more purposes. A team can be formed for any conceivable purpose or multiple purposes (e.g., business purposes, social purposes, charitable purposes, etc.). In addition, a team can include any type of user, such as colleagues, family members, classmates, business partners, etc. In many aspects, a team can be formed in a unified messaging platform 105 by creating a team name (e.g., leadership team, design team, event team, project team, etc.) and by adding a user (e.g., member) to the team. For example, in a setting or management pane (not shown), a member can be added to a team by selecting a user's identifier (e.g., user icon, user email, user phone number, etc.). In at least some aspects, each member in the team is authorized to access a team portal or channel. Furthermore, any number of teams can be created within unified messaging platform 105, and / or teams can be created implicitly based on communications between two or more users.
[0048] The team portal may provide access to all communications, files, links, lists, topic tags, development tools, etc. shared by any member of the team. According to an embodiment, in response to the selection (e.g., by clicking) of a team 208 within a pane (e.g., left frame 202), the team portal may be opened. The team portal refers to an access point through which team members can view shared information and other team members and interact with shared information and other team members. In at least some cases, each member of the team is granted full access to the information and conversations shared within the team portal. In multiple aspects, in response to the selection of the team 208, general information about the team, project specifications, etc. may be displayed in a second pane (e.g., center pane 204). For example, member names, member contact information (e.g., email address, phone number, etc.), member usage time, project specifications, project timelines, project tasks, etc. may be displayed in the center pane 204.
[0049] The team portal may also be organized based on customizable information categories 210 for the team 208. For example, any suitable categories 210 for organizing team information may be created for the team portal, such as finance, engineering, startup preparation, commissioning, catering, construction, general, random, etc. In various aspects, in response to selecting a category 210 of a team 208 within the left frame 202, information related to the category 210 may be displayed in the center pane 204. In some cases, each member of the team is granted full access to information associated with each category 210 of the team 208 within the team portal.
[0050] As described above, the team portal can provide access to all communications, files, links, lists, hashtags, etc. shared by members of the team 208. In various aspects, within each category 210, information can also be organized by tabs or pages. For example, each tab 212 can display a different type of information associated with the category 210 in the center pane 204. When selected, the tab 212 can be identified by being highlighted with a different font or font color, by being outlined, underlined, etc. As shown by Figure 2A As shown, in response to selection of a first tab (e.g., the conversation tab 212a indicated by underlining), communications 218 between team members can be displayed in the center pane 204. As used herein, the term "communication" can be used interchangeably with the term "message". In many aspects, a conversation 216 requires two or more communications 218 of any type or mode between team members. In some cases, the conversations 216 can be displayed in an ascending order with the most recent communications 218 displayed at the bottom of the center pane 204. Alternatively, the conversations 216 can be displayed in a descending order with the most recent communications 218 displayed at the top of the center pane 204.
[0051] In some cases, described further below, one or more communications 218 (e.g., communications 218a and 218b) may be grouped into a conversation thread 220. A communication 218 refers to a single message sent by a team member in any format (e.g., email, SMS, instant message, etc.) via any mode (e.g., via a unified messaging platform, or via any enterprise or third-party messaging application). That is, messages between internal users may be generated within a unified messaging platform, or messages may be transmitted to and from external users via an enterprise messaging application (e.g., enterprise messaging application 110b) and / or a third-party messaging application (e.g., third-party messaging application 116).
[0052] As provided above, each pane or window can display information and / or interactive controls. For example, the third pane (i.e., right frame 206) can display context information, status information, recent activities, etc. In some aspects, the information displayed in the right frame 206 can be related to or associated with the category 210 selected in the left frame 202 and / or the tag 212 selected in the center pane. For example, in the case where the center pane 204 displays communications, files, links, lists, topic tags, etc. related to the category 210a entitled "New Product Release", the right frame 206 can display one or more recent files 222, recent links 224, tags 226, or people 228 of activities related to the new product release. In some aspects, at least some of the information displayed in the right frame 206 can be for a specific user (e.g., a specific user who accesses the team portal via the client computing device 104, a "user who accesses"). For example, a specific user who accesses the team portal can be identified by a name, icon (such as a user name 230a or a user icon 230b), etc. in the right frame 206. That is, in some cases, recent files 222 and / or recent links 224 related to a new product release may have been recently accessed or uploaded by the accessing user. In addition, the right frame 206 displayed for another user accessing the same category 210 may display a different set of recent files 222 or recent links 224. In other examples, additional or different information related to the category 210 and a particular user may be displayed in the right frame 206, such as user tasks, user alerts, user calendars, user notes, etc.
[0053] According to additional aspects, the center pane 204 may include a search field 240. For example, the search field 240 may allow a user to search within the team portal for any communications, files, links, lists, hashtags, terms, team members, calendars, tasks, events, etc. related to the team 208. In various aspects, the search field 240 may allow for simple language searches, Boolean searches (e.g., searches using Boolean operators), or other means. In response to one or more search terms being entered into the search field 240, any information related to the search terms within the team portal may be displayed as search results for the accessing user.
[0054] It should be understood that reference Figure 2A The various features and functions of the described user interface 200 are not intended to limit the associated systems and methods to the specific features and functions described. Thus, additional features and functions may be associated with the systems and methods described herein, and / or some of the described features and functions may be excluded without departing from the systems and methods described herein.
[0055] Figure 2B An exemplary interface for interacting with a unified messaging platform according to a second example embodiment is shown.
[0056] As described above, the unified messaging platform may provide a user interface 200 including three panes (eg, a left frame 202, a center pane 204, and a right frame 206). Figure 2B As shown, the unified messaging platform can provide a variety of options for generating communications. For example, the unified messaging platform can provide a new message input field, such as a new message input field 232 for sending instant messages, SMS, or other "text-like" communications. In multiple aspects, the new message input field 232 can allow the input of text, the input of commands, the input of user calls, the input of topic tags, the input of images, the input of rich web page content, the input of rich interactive content, etc. The new message input field 232 can also include a control 268 for attaching files, inserting emoticons, etc. However, in at least some aspects, the new message input field 232 may not provide input for recipients or subject lines. In response to entering a message into the new message input field 232 and clicking "Enter", the communication from the user can automatically publish it as a new "text-like" message to the conversation. According to another aspect, the new message input field 232 may include an optional control 266 (represented as an ellipsis) for expanding the new message input field 232 into an email interface object (e.g., the email interface object 238 described below).
[0057] Alternatively, the unified messaging platform may provide a reply link 234 associated with each communication of the conversation. In some aspects, the reply link 234 is displayed adjacent to each communication of the conversation, e.g., to the right of the sender or subject line of the communication (not shown), indented below the communication (shown), above the right of the communication (not shown), etc. Alternatively, the reply link 234 may not be displayed unless and until it is clicked, hovered over, touched, or otherwise identified using an input device (e.g., a mouse, pointer, etc.). After being displayed and in response to selection of the reply link 234 associated with a particular communication, a message reply input field (not shown) may be displayed. Similar to the new message input field 232, the message reply input field may allow entry of text, entry of commands, entry of topic tags, attachment of files, insertion of emoticons, etc. However, in this case, in response to entering a message and clicking "Enter", the communication from the user may be automatically posted within the conversation thread 220 associated with the particular communication. In multiple aspects, as indicated by Figure 2A As shown, the secondary communication 218b within the conversation thread 220 may be displayed as indented, bulleted, or otherwise offset below the primary or initial communication 218a (in the above example, the "particular communication" may be referred to as the "primary communication").
[0058] Alternatively, the unified messaging platform may provide an email control 236 for accessing an email interface object (e.g., email interface object 238) to send an "email-like" communication. In various aspects, the email interface object 238 may allow similar actions to the new message input field 232, such as an input field 276 for inputting text, inputting commands, inputting tags for a subject, etc., and controls 268 for attaching files, inserting emoticons, etc. Additionally, the email interface object 238 may provide controls 278 for changing text font and size, punctuating text, etc., and controls 270 for sending, saving draft emails, deleting, etc. The email interface object 238 may also provide a recipient field 272 for inputting or selecting a recipient, a subject field 274 for inputting a subject line, etc. In response to inputting a message into the email interface object 238 and clicking enter, the communication from the user may automatically publish it as a new "email-like" message.
[0059] It should be understood that reference Figure 2BThe various features and functions of the described user interface 200 are not intended to limit the associated systems and methods to the specific features and functions described. Thus, additional features and functions may be associated with the systems and methods described herein, and / or some of the described features and functions may be excluded without departing from the systems and methods described herein.
[0060] Figure 2C An exemplary interface for interacting with a unified messaging platform according to a third example embodiment is shown.
[0061] As described above, the unified messaging platform may provide a user interface 200 including three panes (e.g., left frame 202, center pane 204, and right frame 206). In addition, as described above, each tab 212 may display a different type of information associated with category 210a in center pane 204. For example, as shown by Figure 2C As shown, a second tab (e.g., file tab 212b) can be selected (indicated by underline) to display files 242 shared between team members. Files 242 can include any type of files, such as document files, spreadsheet files, presentation files, image files, video files, audio files, note files, etc.
[0062] In some aspects, the files 242 displayed in the file tab 212b include files sent as attachments to the communication 218 between team members. That is, the unified messaging application can extract the files sent as attachments and automatically save them in the file tab 212b. In other aspects, such as by Figure 2C As shown, a file upload field 244 may be provided. In response to selecting the file upload field 244, a user may save one or more files 242 to the file tab 212b. For example, in response to selecting the file upload field 244, a browse box (not shown) may be activated to retrieve files for upload. Alternatively, a command (e.g., " / file") may be entered to retrieve files for upload. Alternatively, the file may be copied and pasted into the file upload field 244. In various aspects, any suitable method for uploading and saving files to the file tab 212b may be implemented. In at least some aspects, a single version of a first file having a first file name exists in the file tab 212b, which enables synchronization and storage of any annotations (e.g., modifications, comments, etc.) made to the first file within the single version. In some aspects, after saving the first file using a second file name, a second file may be created, attached, and / or uploaded to the file tab 212b.
[0063] According to another example, a third tab (e.g., a link tab 212c) may display links (e.g., hyperlinks) shared between team members. In some aspects, the links displayed in the link tab 212c include links sent within the body of a communication or sent as an attachment to a communication between team members. That is, the unified messaging application may extract links sent within a communication or sent as an attachment to a communication, and may automatically save them to the link tab 212c. In other aspects, a link upload field (not shown) may be provided. In response to selecting the link upload field, a user may save one or more links to the link tab 212c. For example, in response to selecting the link upload field, a browse box (not shown) may be activated to retrieve links for upload. Alternatively, a command (e.g., " / link") may be entered to retrieve links for upload. Alternatively, a link may be copied and pasted into the link upload field. In multiple aspects, any suitable method for uploading and saving links to the link tab 212c may be implemented.
[0064] A fourth tab (e.g., list tab 212d) can display list objects and / or other information, data, files, images, etc. shared between team members. In various aspects, list objects can include lists, tables, charts, or other organized data forms. In some aspects, the list objects displayed in list tab 212d include list objects sent within the body of a communication 218 or sent as attachments to a communication 218 between team members. That is, the unified messaging application can extract list objects sent as attachments or within the body of a message and automatically save them to list tab 212d. As used herein, the body of a message refers to content displayed within a communication that does not need to be activated or opened to be viewed (e.g., excluding recipients, senders, timestamps, subject information, confidentiality disclaimers, etc.).
[0065] In other aspects, list objects can be created or uploaded by a user within the list tab 212d. For example, a list creation control (not shown) for creating a list object can be provided. In some cases, in response to selecting the list creation control, a list object can be created and inserted into the message body and / or attached to the message. After the list object is created, the list object can be automatically saved to the list tab 212d. Alternatively, a list upload field (not shown) can be provided. As similarly described above, in response to selecting the list upload field, one or more list objects can be selected, uploaded, and saved to the list tab 212d by the user. In at least some cases, there can be a single copy of each list object, which makes it possible that if data is updated in any view (e.g., in the communication tab 212a or the list tab 212d), the list object will be automatically updated and synchronized across all other views.
[0066] According to various aspects, any number of tags 212 may be created to organize and isolate various forms of information related to the category 210a. For example, a topic tag column may be included to store various topic tags created within communications between team members. In additional examples, custom or extensible tags may be created, such as tags for spreadsheet dashboards, tags for web pages, tags for custom applications, tags for system plugins, etc.
[0067] In further aspects, additional interactive controls or links (e.g., controls 246) may be provided (e.g., in the left frame 202) for quickly and easily accessing communications, files, lists, links, tags, etc. related to the team 208. For example, the people control 246a may access team members and / or conversations stored in the team portal, the file control 246b may access files stored in the team portal, the list control 246c may access lists stored in the team portal, the link control 246d may access links stored in the team portal, and the topic tag control 246e may access topic tags stored in the team portal. In some aspects, selection of a control 246 may display a corresponding tag view within the center pane 204. In other aspects, selection of a control 246 may display results for all categories within the team portal (e.g., in the form of searching for results associated with a particular control 246).
[0068] like Figure 2CAs shown, in response to the selection of the file tab 212b, the right frame 206 can display different information than when viewing a different tab 212 in the center pane 204. For example, selecting or highlighting the file 242a in the center pane 204 can cause information related to the file 242a to be displayed in the right frame 206. For example, the file history 262 of the file 242a can be displayed in the right frame 206. The file history 262 can include information such as user identifiers of the user who uploaded the file 242a, the user who authored the file 242a, the user who edited the file 242a, the file creation date, the file revision date, etc. The right frame 206 can also display the most recent comments 264 about the file 242a. In various aspects, any information related to the file 242a can be displayed in the right frame 206.
[0069] It should be understood that reference Figure 2C The various features and functions of the described user interface 200 are not intended to limit the associated systems and methods to the specific features and functions described. Thus, additional features and functions may be associated with the systems and methods described herein, and / or some of the described features and functions may be excluded without departing from the systems and methods described herein.
[0070] Figure 2D An exemplary interface for interacting with a unified messaging platform according to a fourth example embodiment is shown.
[0071] As described above, the unified messaging platform may provide a user interface 200 including three panes (e.g., a left frame 202, a center pane 204, and a right frame 206). In further aspects, the left frame 202 may include an email portal 214. Unlike a team portal, the email portal 214 may be an access point through which a particular user may view his or her email messages within or outside the context of a team and interact with the email messages. In various aspects, in response to a selection of the email portal 214, a second pane (e.g., the center pane 204) may display the user's email messages. The center pane 204 may also display a user identifier 248 as a title, such as a user email address, a user name, a user icon, and the like. The center pane 204 may provide one or more labels 250 for organizing the user's email messages. The labels 250 may include, for example, an inbox label 250a, a file label 250b, a link label 250c, a send label 250d, a draft label 250e, a delete label 250f, and the like. For example, in response to selection of the inbox tab 250a (indicated by the underline), the user's message inbox may be displayed in the center pane 204. In some aspects, the user's message inbox may include all messages sent to the user, for example, messages between team members including internal users and external users, and messages between the entity and users who are not members of the team.
[0072] In some aspects, the user's email messages 280 in the Inbox tab 250a may be displayed in an aggregate list format based on the date the email messages were received in descending order (with the most recent email messages displayed at the top of the center pane 204). The aggregate list format may display portions of each email message, such as the sender, the subject line, and portions of the text of each email message.
[0073] In alternative aspects, the user's email messages in the inbox tab 250a may be displayed in a conversation thread format (not shown). The conversation thread format may display email messages that are replies to a primary email message indented, dotted, or otherwise offset below the primary email message. In at least some aspects, each conversation thread may be displayed in descending order with the most recent conversation thread displayed at the top of the center pane 204 based on the date the last email in the conversation thread was received. In this case, personal communications (e.g., communications that have not yet been replied to) may be interspersed between the conversation threads in descending order based on the date the personal communications were received. In other aspects, each conversation thread may be displayed in ascending order with the most recent conversation thread displayed at the bottom of the middle pane 204 based on the date the last email in the conversation thread was received. In this case, personal communications may be interspersed between the conversation threads in ascending order based on the date the personal communications were received.
[0074] In another aspect, email messages that have been opened or viewed may be displayed within the inbox tab 250a of the center pane 204 using normal text, while email messages that have not yet been opened or viewed may be displayed within the center pane 204 using at least a portion of the email message in bold text (e.g., the sender and / or subject line may be displayed using bold text).
[0075] It should be understood that reference Figure 2D The various features and functions of the described user interface 200 are not intended to limit the associated systems and methods to the specific features and functions described. Thus, additional features and functions may be associated with the systems and methods described herein, and / or some of the described features and functions may be excluded without departing from the systems and methods described herein.
[0076] Figure 2E An exemplary interface for interacting with a unified messaging platform according to a fifth example embodiment is shown.
[0077] As described above, the unified messaging platform may provide a user interface 200 including three panes (e.g., left frame 202, center pane 204, and right frame 206). As described above, in response to selection of email portal 214, center pane 204 may display the user's email messages. In some aspects, as described by Figure 2EAs shown, the email messages of users can be organized based on the conversations between one or more users 252. For example, as shown in the left frame 202, the conversation 252a between the first user and the second user (e.g., Rachel) can be displayed separately from the conversation 252b between the first user, the third user (e.g., Rob), and the fourth user (e.g., Sofia).
[0078] In various aspects, by selecting a conversation 252 displayed in the left frame 202, communications between one or more users may be displayed in the center pane 204. Figure 2E As shown, conversation 252c has been selected, and communications 254 between the first user and a second user (e.g., Rachel), a third user (e.g., Rob), a fifth user (e.g., Jim), and a sixth user (e.g., Sophia) are displayed in center pane 204. In this example, the first user refers to the accessing user (e.g., Ping Li) identified by user name 256a and user icon 256b.
[0079] In various aspects, the communications 254 of the conversation 252 c can be displayed in descending order based on the date each communication 254 was received with the most recent communication 254 displayed at the top of the center pane 204. In other aspects, the communications 254 of the conversation 252 c can be displayed in ascending order based on the date each communication 254 was received with the most recent communication 254 displayed at the bottom of the center pane 204.
[0080] In other aspects, information related to the session 252c can be organized by tabs or pages. For example, each tab 258 can display a different type of information associated with the session 252c in the center pane 204. When selected, the tab 258 can be identified by being highlighted with a different font or font color, by being outlined, underlined, etc. Figure 2E As shown, a first tab (e.g., conversation tab 258a) can display communications 254 between a first user, a second user, a third user, a fifth user, and a sixth user. Additional tabs as described in further detail above may include a second tab (e.g., file tab 258b), a third tab (e.g., link tab 258c), a fourth tab (e.g., list tab 258d), etc., which are used to display files, links, lists, etc. shared between participants in conversation 252c. For example, as shown by Figure 2E As shown, list object 260 is inserted in communication 254a from a second user (eg, Rachel). In various aspects, list object 260 may be accessed from session tab 258a or from list tab 258d, as described above.
[0081] If Figure 2E As shown, when viewing a conversation 252c between a first user, a second user, a third user, a fifth user, and a sixth user, the right frame 206 can display information associated with the conversation 252c and / or the users participating in the conversation 252c. For example, the right frame 206 can display group availability 282 of the users participating in the conversation 252c. The right frame 206 can also display a public meeting 284 between the users participating in the conversation 252c. In various aspects, any information related to the conversation 252c and / or the participating users can be displayed in the right frame 206.
[0082] It should be understood that reference Figure 2E The various features and functions of the described user interface 200 are not intended to limit the associated systems and methods to the specific features and functions described. Thus, additional features and functions may be associated with the systems and methods described herein, and / or some of the described features and functions may be excluded without departing from the systems and methods described herein.
[0083] Figure 2F An exemplary mobile interface for interacting with a unified messaging platform is shown in accordance with an example embodiment.
[0084] In various aspects, the version of the unified messaging platform can provide a user interface 285 for a mobile device. The mobile user interface 285 can provide one or more panes or windows for viewing communications, files, lists, links, etc. associated with one or more teams of which the user is a member. In some aspects, in response to sliding a first pane (e.g., first pane 286) in a left-to-right direction or a right-to-left direction, a second pane (e.g., second pane 288) can be displayed.
[0085] As shown, the first pane 286 displays one or more teams (e.g., team 287) and one or more categories (e.g., category 291). In various aspects, when a new communication, file, list, hyperlink, etc. has been received within the category 291, a notification (e.g., notification 292) can be displayed near the category (e.g., category 291a). As further shown, the second pane 288 displays one or more communications 289 (e.g., communication 289a and communication 289b) each associated with a sender (e.g., sender 290a and sender 290b).
[0086] It should be understood that reference Figure 2FThe various features and functions of the described user interface 285 are not intended to limit the associated systems and methods to the specific features and functions described. Thus, additional features and functions may be associated with the systems and methods described herein, and / or some of the described features and functions may be excluded without departing from the systems and methods described herein.
[0087] Figure 2G An exemplary mobile interface for interacting with a unified messaging platform according to a second example embodiment is shown.
[0088] As described above, the mobile user interface 285 can allow a user to view a conversation (e.g., conversation 293) in a conversation pane (e.g., conversation pane 294). The mobile user interface 285 can also provide a new message input field 295 and an input interface 296 for inputting and sending communications to participants of the conversation 293. In many aspects, when a communication is sent to a participant of an ongoing conversation (e.g., conversation 293), the new message input field 295 does not require recipient information, but can provide a subject input field (e.g., subject input field 297) for inputting the subject of the communication (e.g., "NewUX"). In some aspects, the new message input field 295 can be similar to an instant, chat, SMS, or similar messaging interface. In other aspects, the new message input field 295 can provide functionality similar to an email messaging interface (e.g., allowing attachment of documents, list objects, images, etc.). As shown, the communication 298 has been partially entered into the new message input field 295.
[0089] It should be understood that reference Figure 2G The various features and functions of the described user interface 285 are not intended to limit the associated systems and methods to the specific features and functions described. Thus, additional features and functions may be associated with the systems and methods described herein, and / or some of the described features and functions may be excluded without departing from the systems and methods described herein.
[0090] Figure 3 An exemplary system for message processing implemented on a computing device according to an example embodiment is shown.
[0091] In various aspects, the client computing device 304 can implement a unified messaging application. In some aspects, the client computing device 304 can implement a client application 310 for interfacing with a unified messaging application 312 implemented on a server computing device 308. In a basic configuration, the client computing device 304 can be described similarly to the client computing device 104. However, any suitable client computing device can be utilized in order to implement a unified messaging application 312 or client application 310 of such an application.
[0092] In many aspects, such as Figure 3 , unified messaging application 312 may be implemented on server computing device 308. In a basic configuration, server computing device 308 may be described similarly to server computing device 106. Server computing device 308 may provide data to and from client computing device 304 over network 306, which may be described similarly to network 108. In further aspects, unified messaging application 312 may be implemented on more than one server computing device 308, such as a plurality of server computing devices 308. As discussed above, server computing device 308 may provide data to and from client computing device 304 over network 306. In some cases, text or voice input may be received at client computing device 304 and transmitted over network 306 to be processed by unified messaging application 312 at server computing device 308.
[0093] As in Figure 3As shown in , unified messaging application 312 may include scanning component 314, context component 316, extraction component 318, link component 320, conversion component 322, and presentation component 324. Various components may be implemented using hardware, software, or a combination of hardware and software. Unified messaging application 312 may be configured to receive and process text and / or voice input messages. In one example, text and / or voice input may include phrases, words, and / or terms in the form of text and / or spoken language input (e.g., user text or voice messages). In this regard, unified messaging application 312 may be configured to receive text and / or spoken language input from user 302. In many aspects, unified messaging application 312 may be configured to convert spoken language input into text communication between team members. For example, unified messaging application 312 may include standard speech recognition technologies known to those skilled in the art, such as "automatic speech recognition" (ASR), "computer speech recognition", and "speech to text" (STT). In some cases, unified messaging application 312 may include standard text-to-speech technology known to those skilled in the art, such as "text-to-speech" (TTS).
[0094] As Figure 3 As shown, the client computing device 304 and the server computing device 308 may also communicate with a storage 326 that stores parameters, configuration information, communications, images, documents, list objects, or any other information accessed by the unified messaging application 312. The storage 326 may be a local or remote database within an enterprise intranet, or in a distributed location over the Internet. In various aspects, the storage 326 may include a plurality of text files, including formatted, marked, or plain text in any file format, such as digital word processing documents, spreadsheets, presentations, web pages, text messages, tweets, email messages, etc.
[0095] In multiple aspects, the scanning component 314 can scan messages for embedded content, hyperlinks, text or graphic content, image content, video content, attached data, command lines, user calls, etc. In some aspects, "attached data" can include "attached files" that can be stored in file formats such as image files, document files, spreadsheet files, presentation files, code files, etc. In other aspects, "attached data" can include data that is not stored in a file format, for example, large objects. The scanning component 314 can implement any suitable technology for scanning messages, including known common technologies or technologies developed in the future. Additionally, the scanning component 314 can scan one or more files attached to the message. Common methods for extracting structured data from documents use "wrappers" that rely on the structure of the document to extract specific information. The latest advances in extraction technology rely on semi-structured information extraction from HTML pages, natural language processing (NLP) technologies (such as speech taggers), and semantic tags and shallow parsing to build relationships between various components within sentences. These methods use recognizable keywords to identify specific relationships or patterns (for example, in an HTML DOM tree) and are more resilient to changes in the structure of the document.
[0096] In some cases, annotations (e.g., edits to text or other content) and / or comments inserted into attached files can be identified by the scanning component. As used herein, "edits" can include any insertions or deletions within the content, and "comments" can include any annotations attached to the content. In various aspects, any of the techniques described above or any other techniques currently known or to be developed in the future can be implemented by the scanning component 314 to identify one or more annotations within an attached file.
[0097] In some cases, the structure of message and / or attached file can be characterized by identifier or indexed in other ways.In an example, for message and / or attached file with hierarchical structure, content can be indexed by quoting the nested identifiers of different levels and / or positions of content in the hierarchical structure.That is, the identifier for sentence can be nested in the identifier for paragraph, and the identifier for paragraph can be nested in the identifier for page, and so on.In other aspects, for message and / or attached file without hierarchical structure, content can be indexed by the identifier of the position of content in the reference structure (for example, linear or other non-hierarchical structures).In addition, the layout of the content (for example, for transmitting or showing) of message and / or attached file can be defined by metadata or otherwise.
[0098] In some aspects, annotations (e.g., edits, comments, or other data) can be indexed into the structure of the attached file. For example, annotations can be associated with one or more identifiers of the level and / or position of the annotations within the content of the attached file. In other aspects, extracts (e.g., any part of the attached file, including one or more annotations together with adjacent content) can be indexed into the structure of the attached file. For example, an extract can be associated with one or more identifiers of the level and / or position of the extract within the content of the attached file. In many aspects, scanning component 314 can detect one or more identifiers (or other indexes) that associate annotations and / or extracts to the structure of the attached file. In some aspects, one or more identifiers of a specified content structure and / or metadata specifying a content layout can be detected by scanning component 314 in the form of computer-readable instructions or information.
[0099] In addition, context component 316 can evaluate each message and / or attached file to determine context.Context refers to any feature or condition related to a message and / or attached file.For example, context can be related to a message, for example, the type of client computing device 304 to which a message originates and / or will be routed, the type of messaging application to which a message originates and / or will be routed, the text queue of user intention, the global positioning system (GPS) data associated with a message or its sender, the timestamp indicating when a message is sent, etc. In other aspects, context can be related to an attached file, and / or an annotation or extract in an attached file (for example, the page number of a file associated with an annotation or extract, the line number of a page of a file associated with an annotation or extract, the position of a paragraph including an annotation or extract, the position of a sentence including an annotation or extract, the timestamp indicating when an annotation is made, the name of the editor of the annotation, the name of the author of the file, the timestamp indicating when a file is created, etc.). In some aspects, details about the context of a message, attached files, annotations, extracts, etc. can be detected by context component 316 in a form that is readable or understandable by a user.
[0100] Extraction component 318 can extract at least a portion of content and / or data from the attached file. For example, it can be extracted from the attached file via any suitable means. In some aspects, the annotation or excerpt can be extracted together with the structure and context associated with the attached file. For example, in addition to extracting the annotation or excerpt, extraction component 318 can extract anchor information related to the annotation or excerpt. The anchor information can include any structural or contextual information associated with the annotation or excerpt, which includes information in a computer-readable or user-readable format. For example, the anchor information can include one or more identifiers and / or other indexes that associate the annotation or excerpt to the structure of the attached file. In addition, the anchor information can include descriptive information about the context of the annotation or excerpt (e.g., editor name; author name; timestamp of the annotation) and descriptive position information associated with the annotation or excerpt in the attached file (e.g., line, page, paragraph, sentence, word, phrase, etc.), etc. In multiple aspects, the anchor information can be stored as computer-readable metadata or otherwise with the extracted content.
[0101] Link component 320 can create one or more links between a portion of content extracted and an attached file. As described in detail above, annotation can be extracted together with the structure and context associated with the attached file. In some cases, the association between the structure of the attached file and the extracted content can be created or preserved. For example, one or more identifiers and / or other indexes that associate the extracted content to the structure of the attached file can be used to create a link between the extracted content and the attached file. In many aspects, after linking is created between the portion of content extracted and the attached file, the extracted content can be referred to as "active extracted content". In some examples, when the user selects active extracted content, the attached file can be automatically opened to the position associated with the extracted content. Additionally or alternatively, when the user (for example, by editing or inserting a comment) annotates the active extracted content, the annotation can be automatically synchronized with the attached file.
[0102] When the receiving application is not a unified messaging application 312 or a client application 310, the conversion component 322 can convert the message and / or the extracted content into a format and / or representation that can be understood or read by the receiving application (e.g., a third-party messaging application, an enterprise messaging application, etc.). In some aspects, the conversion component 322 can reformat the message and / or the extracted content into a structure that can be presented by the receiving application. In other aspects, the conversion component 322 can translate the message and / or the extracted content into a representation that can be read by the receiving application.
[0103] The presentation component 324 can display, render, transmit, or otherwise present the message and / or the extracted content in a format and / or representation that can be read by the receiving terminal and / or the receiving application. For example, the message and / or the extracted content can be displayed in a user interface associated with the unified messaging application 312 or the client application 310. Traditionally, when collaborating on an annotated file, a user may have received an annotated file attached to an email message. Thereafter, the first recipient may have opened the attached file, entered the attached annotations in the form of additions, deletions, comments, etc., summarized its annotations in the body of the second email message (e.g., a reply message), and attached a copy of the newly annotated file. Similarly, the second recipient can perform substantially the same steps, thereby deriving at least three different versions of the annotated file (e.g., the first version sent in the original message and two additional versions created by the first recipient and the second recipient). This not only creates multiple potentially conflicting versions of the annotated file, but also requires the user to perform additional operations, such as summarizing its annotations in the email message. In aspects disclosed herein, active extracted content enables multiple users to enter comments within a single version of an annotated document, and automatically presents the comments consistent with the message body, which eliminates the need to summarize the comments.
[0104] Additionally or alternatively, presentation component 324 can cause the message and / or extracted content to be displayed, rendered, transmitted, or otherwise presented in a format and / or representation that can be read by a third-party messaging application, an enterprise messaging application, a word processing application, a collaborative authoring application, etc. In this case, the recipient can benefit from an inline display of the annotations to the attached file, where the recipient may not benefit from interaction with a single version of the annotated file.
[0105] According to further aspects, the client computing device 304 and / or the server computing device 308 can communicate with a third-party computing device 328. The third-party computing device 328 can be described similarly to the server computing device 106 or the server computing device 308. In various aspects, the third-party computing device 328 can host one or more third-party messaging applications, enterprise messaging applications, word processing applications, collaborative authoring applications, etc. In at least some aspects, authentication (e.g., authentication 112) can be required to access the third-party computing device 328.
[0106] It should be understood that reference Figure 3 The various devices, components, etc. described are not intended to limit the systems and methods to the specific components described. Thus, additional topological configurations may be used to practice the methods and systems herein, and / or some of the components described may be excluded without departing from the methods and systems disclosed herein.
[0107] Figure 4 An exemplary method for scanning a message having an attached file is shown in accordance with an exemplary embodiment.
[0108] Method 400 begins with receiving operation 402, where a message is received by a unified messaging application. The message may be of any type or format, including an email message, an SMS message, an instant message, etc. In some cases, the message, including any attached files, may be received from a sender at a second terminal, where the sender is registered with one or more of a unified messaging application, an enterprise messaging application, a third-party email messaging application, an SMS messaging application, etc. associated with a cellular service plan, an instant messaging application, etc. In other cases, the message, including any attached files, may be received as input by a "visiting user" at a first terminal, where the visiting user enters content into a new message input field, an email interface object, a message reply input field, etc. associated with the unified messaging application.
[0109] At identifying attached files operation 404, the content of the message may be scanned for attached files in any suitable manner. In various aspects, the attached files may include video content, audio content, voice mail messages, images, documents, electronic forms, presentations, and the like.
[0110] At the identify structure operation 406, the structure of the attached file is determined. For example, any suitable technique for scanning the attached file may be used, including commonly known techniques currently or techniques developed in the future. A "wrapper" may be used to identify structured data, semi-structured information such as HTML may be identified, natural language processing (NLP) techniques may be used to establish relationships between components within the text content, image and / or video detection techniques may be used, and the like.
[0111] In some aspects, the additional file may not include a hierarchical structure, and may index content by quoting an identifier of the position of the content in a linear or other non-hierarchical structure. Alternatively, the additional file may relate to a hierarchical structure of a file portion, such as the title of the file, the author of the file or creator, the body of the file, the metadata of the file, etc. In some cases, the body of the file (e.g., the file body) may be text, and in other cases, the file body may include structured data (e.g., the column and row of a data unit), or may include an image, video, hyperlink, or a combination thereof. In many aspects, the structure of the file body may relate to a hierarchical structure of an element (e.g., a text element, a data unit element, a column element, a row element, an image element, a video element, a hyperlink element, etc.). In many aspects, the hierarchical structure of an element may be described by a nested identifier or other indexes.
[0112] In a first example, the body of the document may include structured text content. For example, the structured text content may include a hierarchical structure of elements (e.g., one or more page elements, chapter elements, section elements, paragraph elements, line elements, sentence elements, etc.). In some examples, each element may be associated with a set of nested identifiers, for example, an identifier associated with a sentence element, which is associated with a line element, which is associated with a paragraph element, which is associated with a page element, which is associated with a section element, which is associated with a chapter element, and so on. In various aspects, a particular sentence element may be uniquely defined by one or more identifiers associated with a line element, a paragraph element, a page element, a section element, a chapter element, etc.
[0113] Additionally or alternatively, the document body may include a form of structured data, such as a table, a spreadsheet, a list object, or a combination thereof, and the structured data may include a hierarchical structure of elements. For example, where the structured data includes data values within data cells located in rows and columns within a table or spreadsheet, the structured data may include a hierarchical structure of elements (e.g., data value elements, data cell elements, row elements, column elements, worksheet (or page) elements, etc.). Each element may be associated with a set of nested identifiers, such as an identifier of a data cell element, which is associated with a row element, which is associated with a column element, which is associated with a worksheet element, and so on. In various aspects, a particular data cell element may be uniquely defined by one or more identifiers associated with one or more of a data cell element, a row element, a column element, a worksheet element, etc.
[0114] In addition to the structure, the layout of the attached file can also be determined. In various aspects, the layout defines the formatting (e.g., page formatting, etc.) for transmitting and / or displaying the attached file. For example, the layout of the attached file can be detected from metadata associated with the attached file. In various aspects, one or more identifiers specifying the structure of the content and / or metadata specifying the layout of the content can be identified in the form of computer-readable instructions or information.
[0115] At identify context operation 408, a context associated with the attached file can be identified. For example, the context related to the attached file can include the type of file formatting of the attached file (e.g., .xls, .docx, .jpeg, .pdf, etc.), the type of application that the attached file originated from and / or will be routed to, a timestamp indicating when the attached file was created, the author of the attached file, the title of the attached file, etc. In some aspects, details about the context of the attached file can be detected in a form that can be read or understood by a user.
[0116] At determine annotation operation 410, it may be determined whether the attached file includes one or more annotations. An annotation includes edits to text or other content and / or comments attached to the attached file. "Edits" include any insertions and / or deletions. In various aspects, the attached file may be scanned in any suitable manner to identify annotations, including scanning the content and / or associated metadata of the attached file. If the attached file includes one or more annotations, the method continues to identify annotation structure operation 412. Alternatively, if the attached file does not include one or more annotations, the method ends.
[0117] At identify annotation anchor operation 412, anchor information (or "anchor") related to the annotation of the attached file can be identified. In various aspects, the location of the annotation can be indexed to the structure of the attached file. For example, as described above, the annotation can be associated with one or more identifiers that specify the level and / or location of the annotation within the structure of the attached file, whether or not the structure is hierarchical. In various aspects, the location of the annotation within the structure of the attached file can be included in the anchor information in the form of computer-readable instructions or information.
[0118] Additionally, the anchor information may include the context of the annotation within the attached file. For example, the context of the annotation within the attached file may include the page number of the attached file associated with the annotation, the line number of the page of the attached file associated with the annotation, the location of one or more paragraphs that include the annotation, the location of one or more sentences that include the annotation, a timestamp identifying when the annotation was made, the name of the editor of the annotation, etc. In some aspects, details about the context of the annotation may be included in the anchor information and may be in a form that can be read by a user.
[0119] It should be understood that operations 402-412 are described for the purpose of illustrating the present methods and systems and are not intended to limit the present disclosure to a particular sequence of steps, e.g., the steps may be performed in a different order, additional steps may be performed, and disclosed steps may be excluded without departing from the present disclosure.
[0120] Figure 5 An exemplary method for extracting at least a portion of content from an attached file according to an exemplary embodiment is shown.
[0121] Method 500 begins with receiving operation 502, where a message is received by a unified messaging application. The message can be of any type or format, including an email message, an SMS message, an instant message, etc. In some cases, the message and any attached files can be received from a sender at a second terminal, the sender being registered with one or more of a unified messaging application, an enterprise messaging application, a third-party email messaging application, etc. associated with a cellular service plan, an instant messaging application, etc. In other cases, the message and any attached files can be received as input by an accessing user at a first terminal associated with the unified messaging application.
[0122] At identify attached files operation 504, the content of the message may be scanned for attached files in any suitable manner (as described with reference to identify attached files operation 404). In various aspects, the attached files may include video content, audio content, voicemail messages, images, documents, spreadsheets, presentations, and the like.
[0123] At determination operation 506, it is determined whether at least a portion of the attached file should be extracted. In some aspects, it may be determined to extract at least a portion of the attached file in response to evaluating one or more factors (e.g., whether the attached file includes an image, whether the attached image includes one or more annotations, etc.). In some examples, the excerpt may include a substantial portion of the attached file (e.g., in the case where the attached file is an image or video). When it is determined to extract at least a portion of the attached file (hereinafter referred to as an "excerpt"), the method continues to decision operation 508. Alternatively, if it is determined not to extract at least a portion of the attached file, the method ends.
[0124] In determination operation 508, it is determined whether the excerpt includes one or more annotations. As described above, annotations include edits made to text or other content and / or comments attached to a portion of an attached file. If the excerpt includes one or more annotations, the method continues to identify anchor operation 516. Alternatively, if the excerpt does not include one or more annotations, the method continues to identify anchor operation 510.
[0125] At identify anchor operation 510, anchor information (or "anchor") associated with an excerpt of an attached file may be identified. In various aspects, the location of the excerpt may be indexed to the structure of the attached file. That is, as described above, an annotation may be associated with one or more identifiers specifying the level and / or location of the annotation within the structure of the attached file, whether or not the structure is hierarchical. In various aspects, the location of the annotation within the structure of the attached file may be included in the anchor information in the form of computer-readable instructions or information. In some examples, the excerpt may include a substantial portion of the attached file (e.g., where the attached file is an image or video). In this case, the anchor information may include an identifier (e.g., a file identifier) associated with the attached file.
[0126] Additionally, the anchor information may include the context of the excerpt within the attached file. For example, the context of the excerpt within the attached file may include the page number of the attached file associated with the excerpt, the line number of the page of the attached file associated with the excerpt, the location of one or more paragraphs of the excerpt, the location of one or more sentences of the excerpt, a timestamp identifying when the excerpt was created, etc. In some examples, the excerpt may include a substantial portion of the attached file (e.g., in the case where the attached file is an image or video). In this case, the context of the excerpt may include a timestamp indicating when the attached file was created, the author of the attached file, etc. In some aspects, details about the context of the excerpt may be included in the anchor information and may be in a form that can be read by a user.
[0127] At extraction operation 512, the excerpt can be extracted from the attached file by any suitable means. For example, the extraction can include copying the excerpt. Additionally, as identified above, the excerpt can be extracted along with anchor information for the excerpt. More specifically, the anchor information can include one or more identifiers and / or other indexes in a computer-readable form that associate the excerpt to the structure of the attached file. Additionally, the anchor information can include descriptive information in a user-readable form that is relevant to the context of the excerpt, such as the author's name; the date the excerpt was created; and in some cases, descriptive positioning information that associates the excerpt within the attached file, such as a line, page, paragraph, sentence, etc.; and so on.
[0128] At creation link operation 514 place, can establish link between excerpt and attached file.In many aspects, can use at least the computer-readable identifier or other index of the structure that excerpt is associated to attached file to create link.When excerpt comprises the substantial part of attached file, excerpt can be linked to the file identifier of attached file.In many aspects, when creating link between excerpt and attached file, excerpt can be referred to as " active excerpt ".In some examples, when user selects active excerpt, attached file can be automatically opened to the position associated with excerpt.Additionally or alternatively, when user (for example, by editing or inserting comment) annotates (for example, in message) active excerpt, annotation can be automatically synchronized with attached file.
[0129] At identify anchor operation 516, when it is determined that the excerpt contains a comment, anchor information (or "anchor") that associates the comment to the attached file can be identified. In various aspects, as described above for the excerpt, the location of the comment can be indexed to the structure of the attached file. That is, as described above, the comment can be associated with one or more identifiers that specify the level and / or location of the comment within the structure of the attached file, whether or not the structure is hierarchical. In various aspects, the location of the comment within the structure of the attached file can be included in the anchor information in the form of computer-readable instructions or information.
[0130] Additionally, the anchor information may include the context of the annotation within the attached file. For example, the context of the annotation within the attached file may include the page number of the attached file associated with the annotation, the line number of the page of the attached file associated with the annotation, the location of one or more paragraphs that include the annotation, the location of one or more sentences that include the annotation, a timestamp identifying when the annotation was edited, etc. In some aspects, details about the context of the annotation may be included in the anchor information and may be in a form that can be read by a user.
[0131] At extraction operation 518, the annotations can be extracted from the attached file in any suitable manner. For example, the extraction can include copying the annotations. Additionally, as identified above, the annotations can be extracted along with anchor information for the annotations. More specifically, the anchor information can include one or more identifiers and / or other indexes in a computer-readable form that associate the annotations to the structure of the attached file. Additionally, the anchor information can include descriptive information in a user-readable form that is relevant to the context of the annotation, such as the author's name; the date the annotation was created; and descriptive positioning information that associates the annotation within the attached file, such as a line, page, paragraph, sentence, etc.; and the like.
[0132] At create link operation 520, a link can be created between the note and the attached file. In many aspects, a link can be created using at least a computer-readable identifier or other index of the structure of the note being associated to the attached file. In many aspects, after creating a link between the note and the attached file, the note can be referred to as an "active note". In some examples, when the user selects an active note, the attached file can be automatically opened to a position associated with the note. Additionally or alternatively, when the user annotates (e.g., by modifying or inserting a comment) an active note (e.g., in a message), the note can be automatically synchronized with the attached file.
[0133] It should be understood that operations 502-520 are described for the purpose of illustrating the present methods and systems and are not intended to limit the present disclosure to a particular sequence of steps, e.g., the steps may be performed in a different order, additional steps may be performed, and disclosed steps may be excluded without departing from the present disclosure.
[0134] Figure 6 An exemplary method for inserting at least a portion of the extracted content into a message according to an exemplary embodiment is shown.
[0135] Method 600 begins at receiving operation 602, where a message is received by a unified messaging application, as described above with respect to receiving operation 402 and receiving operation 502.
[0136] At identify structure operation 604, the structure of the message is identified. In various aspects, the message can include one or more parts, such as a message body, a subject line, a recipient field, a sender field, a timestamp, a date stamp, one or more attachments, a signature box, a confidentiality statement, and the like. Additionally, in some aspects, the message body can also involve text content, such as a greeting, one or more sentences set in one or more paragraphs, a signature line, and the like. The message body can also include non-text content, such as images, videos, hyperlinks, and the like. In some cases, such as for email-like messages, the message can involve multiple parts, such as a message body, a subject line, a recipient field, a sender field, attachments, and the like. In other cases, such as for text-like or chat-like messages, the message may involve minimal parts, such as a message body, a sender field, a timestamp, and / or a date stamp.
[0137] At identification structure operation 604, the message can be identified as a non-hierarchical structure or a hierarchical structure with content. In some respects, the message can be identified as a hierarchical structure with part, and the message body part can also include the hierarchical structure of elements. For example, the message body part can include the hierarchical structure of sentence elements, paragraph elements, bullet elements, item list elements, image elements, etc. In some cases, each element of the message body part can be associated with one or more nested identifiers or other indexes, which specify the level and / or position of each element in the hierarchical structure of the message body part. In other respects, the message can be identified as a non-hierarchical structure with text content and / or non-text content, which is indexed to the position in the linear or other non-hierarchical structure of content by an identifier.
[0138] For messages with paragraph structure, the text content of the message body part can be defined by a hierarchical structure of a first element and a second element. That is, the first element can refer to one or more paragraphs, and the second element can refer to one or more sentences. In many aspects, one or more second elements (e.g., one or more sentences) can fall within each first element (e.g., paragraph), and one or more first elements (e.g., one or more paragraphs) can fall within the message body part (e.g., message body). In some examples, non-text elements can be interspersed within or in the text elements. For example, an image can be inserted between two paragraphs or within a paragraph of text content. Additionally or alternatively, emoticons can be inserted together with sentences of text content, etc.
[0139] At embedding extracted content operation 606, the content extracted from a file (e.g., an attached file or a stored file) can be embedded in the message. For example, the extracted content can be an extract that can include one or more notes of an attached file. The extracted content can be associated with the information of the structure of the attached file from which the content is extracted by quoting. That is, the extracted content can be associated with anchor information, including structural information (e.g., specifying a computer-readable identifier of the level and / or position in the file structure of the attached file), and context information (e.g., user-readable details (e.g., page number, line number, etc.) corresponding to the position in the attached file from which the content is extracted).
[0140] Embedding the extracted content can be achieved by any suitable means. For example, the extracted content can be pasted into the message, and specifically, can be embedded into the message body of the message. As described above, the message body can include text content arranged in a hierarchical structure or otherwise arranged, such as a greeting, one or more sentences or paragraphs, and a signature line. The message body can also include non-text content (e.g., images, videos, hyperlinks, etc.) interspersed within and / or in the text content.
[0141] In many aspects, the position within the message body for embedding the extracted content can be determined by any suitable means. In some examples, the sender of the message can select the position for embedding the extracted content. In this case, for example, the sender can place a cursor at a desired position and access a control for embedding the extracted content into the message. For example, in response to accessing the control (e.g., an "insert" link), a user interface object can be displayed for embedding the extracted content at a desired position. Alternatively, the position of the extracted content can be automatically identified. In some examples, a strategy can be adopted to identify the position for embedding the extracted content within the message. That is, based on the strategy, the extracted content can be embedded following the signature line. Alternatively, based on the strategy, the extracted content can be embedded within the message body, for example, following the first paragraph (the first paragraph follows the greeting), or following the greeting. It should be understood that other strategies can be implemented for automatically embedding the extracted content into the message.
[0142] In some cases, more than one file can be attached to the message.In this case, the content extracted from multiple attached files can be embedded in the message.The extraction of content can be carried out as described in detail above for a single attached file.In some respects, the sender can manually embed the extracted content in the message in the order of expectation.In other respects, a strategy can be implemented, and this strategy specifies the order for embedding the content extracted for multiple attached files.For example, this strategy can be based on the order in which files are attached, so that the extracted content for the first attached file is embedded in the extracted content for the second attached file, etc. In addition, the contextual information comprising the user-readable details displayed together with the first extracted content and the second extracted content can include file name and position information (for example, page number, line number, etc.).It should be understood that other strategies can be implemented for automatically embedding the extracted content into the message from multiple attached files.
[0143] When the extracted content is embedded in a message, the extracted content can be associated with the structure of the message. That is, for a message described by a hierarchical structure of parts and elements, the extracted content can be associated with one or more identifiers that specify the level and / or position of the extracted content within the hierarchical structure of the message. Thus, the extracted content can be associated with the structure associated with the message and with the structure associated with the attached file from which the content was extracted.
[0144] In other aspects, the extracted content may include one or more links to the file attached to the message. As described above, a link may be established between the extracted content and the attached file. In many aspects, a link may include a computer-readable identifier or other index (e.g., included in the anchor information) that the extracted content is connected or coupled to the structure of the attached file. In many aspects, the extracted content including the link to the attached file may be referred to as "active extracted content". In some examples, when the recipient of the message selects active extracted content, the attached file may be automatically opened to the position associated with the extracted content. Additionally or alternatively, when the recipient annotates the active extracted content in the message (e.g., by editing or inserting a comment), the annotation may be automatically synchronized with the attached file and / or the corresponding file (e.g., stored file) stored in the file tag of the unified messaging application.
[0145] At the operation 608 of identifying the recipient terminal, one or more terminals of one or more recipients of the message may be identified. In some cases, one or more terminals may be identified for each recipient (e.g., a personal computer, a mobile device, a tablet computer, a smart TV, etc.). Identifying the recipient terminal may include identifying the device type of the terminal (e.g., a mobile device, a personal computer, a tablet computer, etc.), the display type of the terminal (e.g., a monitor, a television, a touch-enabled display, a graphic display, an alphanumeric display, etc.), the state of the terminal (e.g., powered on, active, inactive, locked, sleeping, shut down, etc.), the application registered with the terminal (e.g., an enterprise or third-party email messaging application, an SMS messaging application, a social networking application, an instant messaging application, a voicemail application, a calendar application, etc.), etc. It should be understood that one or more combinations of device type, display type, registered application, and state may be identified for the recipient terminal at any given time.
[0146] At decision operation 610, a determination is made as to whether the terminal is registered with the unified messaging application. In various aspects, although a message may have been received at a terminal that is registered with the unified messaging application (e.g., by an accessing user), the message may be transmitted and displayed to a recipient on a terminal that is not registered with the unified messaging application. If the terminal is registered with the unified messaging application, the method continues to a sending operation 614. Alternatively, if the terminal is not registered with the unified messaging application, the method continues to a transition operation 612.
[0147] At conversion operation 612, the message including the extracted content (hereinafter referred to as "message with embedded content") is converted so that it can be read and / or presented by one or more applications registered with one or more recipient terminals. In some aspects, for applications other than unified messaging applications, the message with embedded content can be changed (i.e., converted) so that it can be provided to team members who are not registered with the unified messaging application. That is, converting the message with embedded content can involve translating the message with embedded content into a representation that can be read by the receiving application, and can also include reformatting the message with embedded content so that it can be presented by the receiving application registered with the recipient terminal. Therefore, converting the message with embedded content can be described according to a translation process (e.g., providing the message with embedded content in a language or format that is readable or understandable by a consuming application) and a reformatting process (e.g., providing the message with embedded content in a form that can be rendered or presented by a consuming application or by a specific terminal). In some aspects, the conversion operation can involve a single process that converts the message with embedded content into a language or format that can be read by a receiving application, wherein the receiving application performs any processing required to render or present the message with embedded content on a specific recipient terminal.
[0148] In some aspects, content-embedded messages may be converted differently for different applications registered with different terminals. For example, content-embedded messages may be converted based on one or more factors associated with the identified terminal (including device type, display type, registered applications, etc.). In some cases, messages may be converted for email messaging applications (e.g., third-party email messaging applications and enterprise messaging applications) but not for other applications registered with the terminal (e.g., instant messaging applications, SMS applications, etc.).
[0149] In various aspects, as described above, the extracted content is anchored to the structure of the message by one or more identifiers that specify the location of the extracted content within the structure of the message. Additionally, the extracted content references anchor information that specifies the location within an associated file (e.g., an attached file and / or a stored file) from which the content was extracted, e.g., a computer-readable identifier that specifies a level and / or location within the file structure of the associated file from which the content was extracted. In some cases, the anchor information also includes user-readable details (e.g., page number, line number, etc.) corresponding to the location in the associated file from which the content was extracted.
[0150] During conversion, the message with embedded content can be reformatted into different structures that can be presented by different receiving applications, for example, a first structure that can be presented by a third-party email messaging application and a second structure that can be presented by an enterprise messaging application. For example, some parts and / or elements of a message received by a unified messaging application may not be presentable by a particular receiving application and can be removed. Additionally, the message with embedded content can be translated into different representations that can be read by different messaging applications, for example, a first representation that can be read by a third-party email messaging application and a second representation that can be read by an enterprise messaging application.
[0151] In multiple aspects, computer-readable and / or user-readable anchor information referencing an associated file (e.g., an attached file and / or a stored file) can be converted together with the message of the embedded content. As described above, the extracted content included in the message can be active extracted content, which includes a link to the file structure of the associated file (e.g., an attached file and / or a stored file). In this case, the link between the active extracted content and the associated file can also be translated into a representation that can be read by the receiving application. In a first example, the link between the active extracted content and the attached file can be translated so that in response to accessing the active extracted content, the recipient can access the attached file (e.g., the attached file can be automatically opened to the location of the extracted content). In a second example, for example, where the associated file is stored in a file tag (e.g., a stored file) of a unified messaging platform and the enterprise messaging application can access the stored file, the link can be translated into a hyperlink to a corresponding position within the file structure of the stored file.
[0152] In some cases, the third-party email messaging application may not be able to process the message with the embedded content. For example, the third-party email messaging application may not be able to process the hierarchical structure of the message. In this case, the hierarchical structure of the message for the embedded content may be flattened so that it is represented by a linear structure. Alternatively, the third-party messaging application may not be able to process active extracted content that includes links to associated files (e.g., attached files and / or stored files). In this case, the extracted content may be translated into an electronic image (e.g., portable document format, .jpeg, etc.) or other inactive content to represent the extracted content.
[0153] In addition, when converting the message of embedded content, the conversion operation 612 can take into account additional factors, such as device type and display type. For example, the conversion operation can include reformatting the message of embedded content so that it can be presented by a specific device type with a specific display type. For example, although a personal computer can render the message of embedded content, a mobile device may not have such a capability. In this case, the message of embedded content or only the extracted content can be converted into an electronic image (e.g., .jpeg) for rendering by a mobile device.
[0154] At the sending operation 614, the message with embedded content is sent to one or more recipient terminals. In some aspects, for example, when one or more recipient terminals register with the unified messaging application, the message with embedded content may not need to be converted. That is, as described above, the message with embedded content can be presented in a conversation in the center pane of the user interface of the unified messaging platform. In other aspects, user-readable context details (e.g., page number, line number, paragraph number, etc.) can be displayed together with the extracted content to notify the recipient of the location within the file from which the content was extracted. In addition, the file can be represented as a single synchronized version of the file that is linked to (e.g., accessed through the message body), the extracted content, (e.g., accessed by opening the attached file), and the corresponding stored file (e.g., accessed via the file tag), so that any annotations made to the file at any access point are automatically synchronized as a single version of the file across all access points.
[0155] Alternatively, when the recipient terminal is not registered with the unified messaging application, the sending operation 614 can send the message of the embedded content to a receiving application outside the unified messaging platform, such as a third-party email messaging application or an enterprise messaging application. Then, the receiving application can render or present a copy of the message of the embedded content to the user at the recipient terminal. The receiving application can also display user-readable context details (e.g., page number, line number, paragraph number, etc.) together with the extracted content to notify the recipient of the location within the file from which the content is extracted. In this case, when the recipient terminal is not registered with the unified messaging application, although the extracted content can be linked to the attached file, and although the user can benefit from receiving a copy of the message of the embedded content, the user may not be able to interact with a single synchronized version of the attached file. In other examples, for example, in the case where the enterprise messaging application can access the stored version of the file, the user can interact with a single synchronized version of the file.
[0156] It should be understood that operations 602-614 are described for the purpose of illustrating the present methods and systems and are not intended to limit the present disclosure to a particular sequence of steps, e.g., the steps may be performed in a different order, additional steps may be performed, and disclosed steps may be excluded without departing from the present disclosure.
[0157] Figure 7 An exemplary method for synchronizing annotations made to extracted content with associated files in accordance with an exemplary embodiment is shown.
[0158] At receive annotation operation 702, an annotation to the extracted content is received. The extracted content is a representation of at least a portion of an associated file. The associated file can be attached to a message (e.g., an attached file) and / or can be a file stored in a file tag of a unified messaging platform (e.g., a stored file), which can access one or more other applications. An annotation refers to a comment edited (e.g., added and / or deleted) and / or attached to the extracted content. The annotation can be received when a user at a second terminal registered with one or more of a unified messaging application, an enterprise messaging application, a third-party email messaging application, an SMS messaging application, an instant messaging application, etc. selects the extracted content and inserts the annotation. In other cases, the annotation can be received when an accessing user at a first terminal registered with the unified messaging application selects the extracted content and inserts the annotation.
[0159] At identify structure operation 704, structural information associated with the extracted content can be identified. As detailed above, anchor information associated with the extracted content can include structural information, such as a computer-readable identifier that specifies a level and / or position within a file structure of an associated file from which the content was extracted. As detailed above, the anchor information can be stored with the extracted content (e.g., in the form of computer-readable metadata). The structural information associated with the extracted content can be identified by any suitable means (e.g., by scanning computer-readable metadata associated with the extracted content).
[0160] At the identification position operation 706, the position of the received annotation of the extracted content can be identified. In this case, the position of the annotation received within the structure of the extracted content can be identified, which can be associated with the file structure of the associated file. For example, the extracted content can be associated with the second to tenth sentence elements of the third paragraph element of the second section element within the file structure of the associated file. In this case, the extracted content displayed in the message may include the second to tenth sentences of the third paragraph of the second section of the associated file. Based on this example, the annotation can be received at the eighth sentence element of the third paragraph of the second section displayed in the message. Therefore, in this example, the annotation can be located within the associated file structure at the eighth sentence element of the third paragraph element of the second section element, and can be referenced by one or more identifiers specifying the level and position of the position within the associated file structure. It should be understood that other methods for referencing the position within the associated file structure of the received annotation are possible and can be implemented without departing from the present disclosure.
[0161] At identify application operation 708, a sending application associated with the received annotation may be identified. For example, the sending application may include a unified messaging application, an enterprise messaging application, a third-party email messaging application, etc. For example, as described in detail above, when a user at a second terminal registered with one or more of the unified messaging application, the enterprise messaging application, the third-party email messaging application, etc. selects the extracted content and inserts the annotation, the annotation may be received.
[0162] At decision operation 710 , it is determined whether the sending application is a unified messaging application. If the sending application is a unified messaging application, the method continues to a synchronization operation 714 . Alternatively, if the sending application is not a unified messaging application, the method continues to a transition operation 712 .
[0163] At conversion operation 712, the annotation is converted so that it can be read by the unified messaging application. As described in detail above, the annotation can be received at a location within the extracted content. The location of the received annotation within the structure of the extracted content can be identified, and the extracted content can be associated with the location within the file structure of the associated file. Thus, the received annotation can be mapped to the location within the file structure of the associated file. In this case, conversion operation 712 can convert the annotation (e.g., add, delete, or comment) and the location information associated with the annotation into a format and / or representation that can be read by the unified messaging application. That is, the annotation can be converted into computer-readable instructions for applying the annotation to the associated file in the unified messaging platform.
[0164] At synchronization operation 714, the received annotations can be synchronized with the associated files. In many aspects, if the sending application is a unified messaging application, in response to receiving annotations to the extracted content within the message, computer-readable instructions for applying the annotations to the associated files can be generated, and the received annotations can be automatically applied to the associated files (e.g., attached files and / or stored files). In many aspects, the computer-readable instructions may include instructions to the annotations (e.g., add, delete, or comment) and one or more identifiers that map the received annotations to the level and / or position within the file structure of the associated files. The computer-readable instructions can be implemented to apply the received annotations to the level and / or position within the associated files. In at least some aspects, the single version of the associated files provided by the unified messaging platform reflects the annotations made to the associated files via any access point (e.g., via the extracted content, via opening the attached files, via opening the files stored in the file tags of the unified messaging application).
[0165] In other aspects, if the sending application is not a unified messaging application, the received annotations made to the extracted content can be converted to generate computer-readable instructions that can be read by the unified messaging application. The computer-readable instructions may include an indication of the annotations (e.g., additions, deletions, comments) and one or more identifiers that map the received annotations to a level and / or position within the file structure of the associated file. The computer-readable instructions can be implemented to apply the received annotations to a level and / or position within the associated file. In at least some aspects, a single version of the associated file provided by the unified messaging platform (e.g., via the extracted content, via opening an attached file, via opening a file stored in a file tag of the unified messaging application) reflects the annotations made to the associated file via any access point.
[0166] It should be understood that operations 702-714 are described for the purpose of illustrating the present method and system, and operations 702-714 are not intended to limit the present disclosure to a specific sequence of steps. For example, the steps may be performed in a different order, additional steps may be performed, and the disclosed steps may be excluded without departing from the present disclosure.
[0167] Figure 8 An exemplary interface for embedding extracted content in a message according to an exemplary embodiment is shown.
[0168] As described above, the unified messaging platform may provide a user interface 800 including three panes (e.g., left frame 802, center pane 804, and right frame 806). In various aspects, as described above, in response to selecting an email portal (e.g., email portal 808) in left frame 802, communications associated with email inbox 810 may be displayed in center pane 804. Figure 8 As shown, a particular user (eg, Ping Li) accessing the unified messaging application is identified by a user name 812a and a user icon 812b.
[0169] If Figure 8 As shown, the unified messaging platform can provide an email interface object (e.g., email interface object 814) to send "email-like" communications. In multiple aspects, the email interface object 814 can provide a recipient field 816 for entering or selecting a recipient, and a subject field 818 for entering a subject line. In addition, the email interface object 814 can provide an input field 820 for text input, command input, subject tag input, etc. The email interface object 814 can also provide additional controls, such as additional controls 822 and embedded controls 824.
[0170] In many aspects, files can be attached to email messages by selecting additional controls 822 and selecting and inserting files when browsing. Additionally or alternatively, files can be attached to messages by copying and pasting the files. In some aspects, in response to attaching files to messages, the files can be scanned for comments. As described above, if the attached files include one or more comments, at least a portion of the attached files can be automatically extracted and embedded in the message. Alternatively, as described above, users can select embed controls 824 to extract at least a portion of associated files (e.g., attached files or files stored in the file tags of unified messaging applications), and the parts of associated files are embedded in the message. In response to inputting messages into email interface objects 814 and clicking input, the communication from the user can be automatically published to the conversation as new "similar email" information.
[0171] It should be understood that reference Figure 8 The various features and functions of the described user interface 800 are not intended to limit the associated systems and methods to the specific features and functions described. Thus, additional features and functions may be associated with the systems and methods described herein, and / or some of the described features and functions may be excluded without departing from the systems and methods described herein.
[0172] Fig. 9A An exemplary interface for displaying a message with embedded content is shown according to an exemplary embodiment.
[0173] As described above, the unified messaging platform may provide a user interface 900 including three panes (e.g., a left frame 902, a center pane 904, and a right frame 906). In various aspects, as described above, in response to selecting a conversation 910 within an email portal 908 in the left frame 902, the conversation 910 may be displayed in a conversation tab 912 of the center pane 904. Fig. 9A As shown, a particular user (eg, Ping Li) accessing the unified messaging application is identified by a user name 924a and a user icon 924b.
[0174] like Fig. 9A As shown, communication 914 is received from Rachel Morrison. Communication 914 includes text content 916 following an embedded object 918. Embedded object 918 includes contextual information 920 about extracted content 922. For example, contextual information 920 provides descriptions of annotations 924a (e.g., deletions) and annotations 924b (e.g., additions), the location of the extracted content in the associated file (e.g., the first paragraph of the section titled "What We Built," page 2), and also includes a file name (e.g., "LAUNCH.docx").
[0175] In additional or alternative examples, the extracted content (e.g., annotations 924a and 924b within extracted content 922) can be interleaved with comments within other messages and / or conversations based on date or time (not shown). For example, a first comment about a text document (e.g., displayed in conversation tab 912) can be made at a first date or time within a conversation. Additionally, a second comment can be made within a word processing document at a second date or time. A second comment with anchor content can be extracted from the word processing document and presented within the conversation based on the second date or time. Thereafter, a third comment about the word processing document (and / or a second comment with anchor content) can be made at a third date or time within the conversation. Thus, comments with anchor content can be interleaved with comments made in messages within a conversation based on the date and / or time of receipt.
[0176] Fig. 9B An exemplary interface for displaying associated files in response to selection of embedded content is shown according to an example embodiment.
[0177] As described above, the unified messaging platform can provide a user interface 900 including three panes (e.g., left frame 902, center pane 904, and right frame 906). In various aspects, as described above, files associated with a category can be displayed in a file tab 901 in center pane 904. In various aspects, in response to selecting the extracted content presented in the content-embedded communication (e.g., Fig. 9A The communication 914 shown), the associated file can be opened in the file tab 901. Fig. 9B As shown, at least a portion of the associated files are displayed in the center pane 904. In addition, as shown in Fig. 9A As shown in , the associated file can be opened to the location of one or more annotations included in the extracted content, such as annotation 924a (eg, deletion) and annotation 924b (eg, addition).
[0178] It should be understood that reference Fig. 9A and Fig. 9B The various features and functions of the described user interface 900 are not intended to limit the associated systems and methods to the specific features and functions described. Thus, additional features and functions may be associated with the systems and methods described herein, and / or some of the described features and descriptions may be excluded without departing from the systems and methods described herein.
[0179] Fig.10 An exemplary interface for embedding extracted content in a message according to an exemplary embodiment is shown.
[0180] As described above, the unified messaging platform can provide a user interface 1000 including three panes (e.g., a left frame 1002, a center pane 1004, and a right frame 1006). In various aspects, as described above, in response to selecting a conversation 1010 in an email portal (e.g., email portal 1008) in the left frame 1002, the conversation 1010 can be displayed in a conversation tab 1018 of the center pane 1004.
[0181] If Fig.10 As shown, communication 1012 is received from "me" (e.g., a visiting user). Communication 1012 includes text content 1014 following extracted content 1016. In this case, the extracted content 1016 is an image. As detailed above, the extracted content 1016 can include a substantial portion of the content (e.g., image) of the associated file. In some aspects, in response to selecting the extracted content 1016, an image stored in a file tag (e.g., file tag 1020) can be opened in the center pane 1004.
[0182] It should be understood that reference Fig.10 The various features and functions of the described user interface 1000 are not intended to limit the associated systems and methods to the specific features and functions described. Therefore, additional features and functions may be associated with the systems and methods described herein, and / or some of the described features and functions may be excluded without departing from the systems and methods described herein.
[0183] Figure 11-14 and the associated descriptions provide a discussion of various operating environments in which aspects of the present disclosure may be implemented. Figure 11-14 The devices and systems shown and discussed are for purposes of example and explanation, and are not limiting of the wide variety of computing device configurations that may be used to implement the various aspects of the present disclosure described herein.
[0184] Fig.11 is a block diagram illustrating the physical components (e.g., hardware) of a computing device 1100 with which aspects of the present disclosure may be practiced. The computing device components described below may have computer-executable instructions for implementing a unified messaging application on a server computing device 106 (or server computing device 308), including computer-executable instructions for a unified messaging application 1120 that may be executed to employ the methods disclosed herein. In a basic configuration, the computing device 1100 may include at least one processing unit 1102 and a system memory 1104. Depending on the configuration and type of the computing device, the system memory 1104 may include, but is not limited to, volatile memory (e.g., random access memory), non-volatile memory (e.g., read-only memory), flash memory, or any combination of such memories. The system memory 1104 may include an operating system 1105 and one or more program modules 1106 (e.g., regarding operating systems) suitable for running the unified messaging application 1120. Figure 3 1100, and in particular, context component 1111, extraction component 1113, conversion component 1115, or rendering component 1117). For example, operating system 1105 may be adapted to control the operation of computing device 1100. In addition, embodiments of the present disclosure may be practiced in conjunction with a graphics library, other operating systems, or any other application, and are not limited to any particular application or system. Fig.11 This basic configuration is shown by those components within dashed line 1108. Computing device 1100 may have additional features or functionality. For example, computing device 1100 may also include additional (removable and / or non-removable) storage devices, such as magnetic disks, optical disks, or tapes. Fig.11 Such additional storage is illustrated in FIG. 1 by removable storage 1109 and non-removable storage 1110 .
[0185] As described above, a plurality of program modules and data files may be stored in system memory 1104. When executed on processing unit 1102, program module 1106 (e.g., unified messaging application 1120) may perform processes, including but not limited to, as described herein. Other program modules that may be used in accordance with aspects of the present disclosure, particularly program modules for providing a unified messaging platform, may include context component 1111, extraction component 1113, conversion component 1115, or presentation component 1117, etc.
[0186] In addition, embodiments of the present disclosure may be practiced in an electrical circuit that includes discrete electronic components, a packaged or integrated electronic chip containing logic gates, a circuit utilizing a microprocessor, or a single chip containing electronic components or a microprocessor. For example, embodiments of the present disclosure may be practiced via a system on a chip (SOC) in which Fig.11 Each or more of the components shown can be integrated into a single integrated circuit. Such a SOC device may include one or more processing units, a graphics unit, a communication unit, a system virtualization unit, and various application functions, all of which are integrated (or "burned") into a chip substrate as a single integrated circuit. When operated via a SOC, the functions described herein can be operated via a dedicated logic integrated with other components of the computing device 1100 on a single integrated circuit (chip). Other technologies capable of performing logical operations (e.g., AND, OR, NOT) can also be used to practice aspects of the present disclosure, including but not limited to mechanical, optical, fluid, and quantum technologies. Additionally, multiple embodiments can be practiced in a general-purpose computer or in any other circuit or system.
[0187] The computing device 1100 may also have one or more input devices 1112, such as a keyboard, a mouse, a pen, a sound or voice input device, a touch or sliding input device, etc. Output devices 1114 such as a display, a speaker, a printer, etc. may also be included. The aforementioned devices are examples, and other devices may be used. The computing device 1100 may include one or more communication connections 1116 that allow communication with other computing devices 1150. Examples of suitable communication connections 1116 include, but are not limited to, radio frequency (RF) transmitters, receivers, and / or transceiver circuits; universal serial bus (USB), parallel and / or serial ports.
[0188] The term computer-readable media as used herein may include computer storage media. 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, etc. System memory 1104, removable storage device 1109, and non-removable storage device 1110 are all examples of computer storage media (i.e., memory storage). Computer storage media include: RAM, ROM, electrically erasable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disk (DVD) or other optical storage, cassettes, magnetic tapes, magnetic disk storage or other magnetic storage devices, or any other products that can be used to store information and can be accessed by the computing device 1100. Any such computer storage media is part of the computing device 1100. Computer storage media do not include carrier waves or other propagated data signals.
[0189] Communication media is implemented by computer readable instructions, data structures, program modules, or other data in a modulated data signal (e.g., a carrier wave or other transport mechanism), and includes any information delivery media or transmission media. The term "modulated data signal" may include a signal having one or more of its characteristics set, or changed in the manner in which information is encoded in the signal. By way of example and not limitation, communication media include wired media (e.g., a wired network or direct-wired connection) and wireless media (e.g., acoustic, radio frequency (RF), infrared, and other wireless media).
[0190] Fig. 12A and 12B A mobile computing device 1200 is shown with which aspects may be practiced, such as a mobile phone, a smart phone, a wearable computer (eg, a smart watch), a tablet personal computer, a laptop computer, etc. Fig. 12A, shows one aspect of a mobile computing device 1200 for implementing aspects. In a basic configuration, the mobile computing device 1200 is a handheld computer having both input elements and output elements. The mobile computing device 1200 typically includes a display 1205 and one or more input buttons 1210 that allow a user to input information into the mobile computing device 1200. The display 1205 of the mobile computing device 1200 can also act as an input device (e.g., a touch screen display). If included, an optional side input element 1215 allows further user input. The side input element 1215 is a rotary switch, a button, or any other type of manual input element. In an alternative example, the mobile computing device 1200 includes more or fewer input elements. For example, in some aspects, the display 1205 may not be a touch screen. In an alternative example, the mobile computing device 1200 is a portable telephone system, such as a cellular phone. The mobile computing device 1200 includes an optional keypad 1235. The optional keypad 1235 is a physical keypad or a "soft" keypad generated on the touch screen display. In various embodiments, output elements include a display 1205 for showing a graphical user interface (GUI), a visual indicator 1220 (e.g., a light emitting diode), and / or an audio transducer 1225 (e.g., a speaker). In some aspects, the mobile computing device 1200 includes a vibration transducer for providing tactile feedback to the user. In another aspect, the mobile computing device 1200 includes a peripheral device port 1240 for sending or receiving signals to or from an external device, such as an audio input terminal (e.g., a microphone jack), an audio output terminal (e.g., a headphone jack), and a video output terminal (e.g., an HDMI port).
[0191] Fig. 12B 1 is a block diagram illustrating an architecture of one aspect of a mobile computing device. That is, a mobile computing device 1200 may include a system (e.g., architecture) 1202 for implementing some aspects. In one embodiment, the system 1202 is implemented as a "smart phone" capable of running one or more applications (e.g., browsers, email, calendars, contact managers, messaging clients, games, and media clients / players). In some aspects, the system 1202 is integrated as a computing device, such as an integrated personal digital assistant (PDA) and wireless phone.
[0192] One or more application programs 1266 may be loaded into the memory 1262 and run on or in association with the operating system 1264. Examples of application programs include a phone dialer, an email program, a personal information management (PIM) program, a word processing program, a spreadsheet program, an Internet browser program, a messaging program, and the like. The system 1202 also includes a non-volatile storage area 1268 within the memory 1262. The non-volatile storage area 1268 may be used to store persistent information that should not be lost if the system 1202 loses power. The application programs 1266 may use and store information in the non-volatile storage area 1268, such as emails or other messages used by the email application, and the like. A synchronization application (not shown) also resides on the system 1202 and is programmed to interact with a corresponding synchronization application residing on the host computer to synchronize information stored in the non-volatile storage area 1268 with corresponding information stored on the host computer. It should be appreciated that other applications may be loaded into memory 1262 and executed on mobile computing device 1200, including instructions for providing a unified messaging platform as described herein (e.g., search engines, extractor modules, relevance ranking modules, answer scoring modules, etc.).
[0193] The system 1202 has a power source 1270, which can be implemented as one or more batteries. The power source 1270 can also include an external power source, such as an AC adapter or a powered docking cradle that powers or charges the batteries.
[0194] The system 1202 may also include a radio 1272 that performs the functions of sending and receiving video communications. The radio 1272 facilitates wireless connectivity between the system 1202 and the "outside world" via a communications carrier or service provider. Transmissions to and from the radio 1272 are performed under the control of the operating system 1264. In other words, communications received by the radio 1272 may be disseminated to the application 1250 via the operating system 1264, and vice versa.
[0195] The visual indicator 1220 can be used to provide a visual notification, and / or the audio interface 1274 can be used to generate an audible notification via the audio transducer 1225. In the illustrated embodiment, the visual indicator 1220 is a light emitting diode (LED), and the audio transducer 1225 is a speaker. These devices can be directly coupled to the power supply 1270 so that when activated, even if the processor 1260 and other components can be turned off to save battery power, these devices can remain powered on and continue for a period of time indicated by the notification mechanism. The LED can be programmed to remain powered on indefinitely until the user takes action to indicate the power-on state of the device. The audio interface 1274 is used to provide an audible signal to the user and receive an audible signal from the user. For example, in addition to being coupled to the audio transducer 1225, the audio interface 1274 can also be coupled to a microphone to receive an audible input, for example, to facilitate a telephone conversation. As will be described below, according to an embodiment of the present disclosure, the microphone can also be used as an audio sensor to control notifications. The system 1202 may also include a video interface 1276 that enables operation of the onboard camera 1230 to record still images, video streams, and the like.
[0196] The mobile computing device 1200 implementing the system 1202 may have additional features or functionality. For example, the mobile computing device 1200 may also include additional data storage devices (removable and / or non-removable), such as magnetic disks, optical disks, or tapes. Fig. 12B Such additional storage is shown in FIG. 1 by non-volatile storage area 1268 .
[0197] As described above, data / information generated or captured by the mobile computing device 1200 and data / information stored via the system 1202 is stored locally on the mobile computing device 1200. The data is stored on any number of storage media that can be accessed by the device via the radio 1272 or via a wired connection between the mobile computing device 1200 and a separate computing device associated with the mobile computing device 1200 (e.g., a server computer in a distributed computing network (e.g., the Internet)). It should be understood that such data / information can be accessed via the mobile computing device 1200, via the radio 1272, or via a distributed computing network. Similarly, according to one aspect, such data / information can be easily transferred between computing devices for storage and use according to well-known data / information transmission and storage methods (including email and collaborative data / information sharing systems).
[0198] As described above, Fig.13One aspect of a system architecture for processing data received at a computing system from a remote source (e.g., a personal computer 1304, a tablet computing device 1306, or a mobile computing device 1308) is shown. The content displayed at the server device 1302 can be stored in different communication channels or other storage types. For example, a directory service 1322, a portal 1324, a mailbox service 1326, an instant messaging storage 1328, or a social networking site 1330 can be used to store various documents. A unified messaging application 1320 can be used by a client communicating with the server device 1302, and / or the unified messaging application 1320 can be used by the server device 1302. The server device 1302 can provide data to a client computing device (e.g., a personal computer 1304, a tablet computing device 1306, and / or a mobile computing device 1308 (e.g., a smart phone)) via a network 1315 and provide data from the client computing device via the network 1315. As an example, in the above reference Figure 1-1 The computer system described herein may be implemented in a personal computer 1304, a tablet computing device 1306, and / or a mobile computing device 1308 (e.g., a smart phone). Any of these embodiments of the computing device may obtain content from storage 1316 and may receive graphics data that may be used for pre-processing at a graphics originating system or post-processing at a receiving computing system.
[0199] Fig.14 An exemplary tablet computing device 1400 that can perform one or more aspects disclosed herein is shown. Additionally, the aspects and functions described herein can be operated on a distributed system (e.g., a cloud-based computing system), where application functions, memory, data storage and retrieval, and various processing functions can be remotely operated from each other through a distributed computing network (such as the Internet or an intranet). Various types of user interfaces and information can be displayed via an onboard computing device display or via a remote display unit associated with one or more computing devices. For example, various types of user interfaces and information are displayed on a wall to which various types of user interfaces and information are projected and interact with such a wall. Interactions with various computing systems that are practiced using embodiments of the present invention include: keystroke input, touch screen input, voice or other audio input, gesture input, where the associated computing device is equipped with a detection (e.g., camera) function for capturing and interpreting user gestures for controlling the functions of the computing device, etc.
[0200] For example, aspects of the present disclosure are described above with reference to block diagrams and / or operational diagrams of methods, systems, and computer program products. The functions / operations recorded in the blocks may be performed in a different order than shown in any flow chart. For example, depending on the functions / operations involved, two blocks shown in succession may actually be performed substantially simultaneously, or the blocks may sometimes be performed in reverse order.
[0201] The description or illustration of one or more examples provided in this application are not intended to limit or restrict the scope of the claimed invention in any way. The aspects, examples, and details provided in this disclosure are considered to be sufficient to convey all, and enable those skilled in the art to make and use the best mode of the claimed invention. This disclosure should not be construed as being limited to any aspect, example, or detail provided in this application. Whether shown or described jointly or individually, various features (both structurally and methodically) are intended to be selectively included or omitted, to produce examples with features of a specific group. After the description and illustration of the application have been provided, those skilled in the art can envision variations, modifications, and alternative examples that fall within the spirit of the broader aspects of the general inventive concept implemented in this application, without departing from the broader scope of the claimed invention.
Claims
1. A method for providing an attachment of a data file in an online communication session between a plurality of participants, the method comprising: causing display of a first user interface at a first client device of a first participant in a communication session, the first user interface comprising a message input field defined within the first user interface for receiving input to compose a message for transmission in the communication session; causing display of a second user interface at a second client device of a second participant of the communication session, the second user interface comprising an area defined for displaying within the second user interface messages previously sent by a participant of the communication session; receiving a selection of a data file at the first client device; causing display of at least a first excerpt of the data file editable within the message input field of the first user interface; receiving edits to the data file via the message input field of the first user interface; including edits to the data file at the stored location of the data file; receiving text input through the message input field of the first user interface so as to cause text to be displayed in the message input field; sending the edited data file and the text to the second client device; as well as causing display of the text and a second excerpt of the edited data file within the area of the second user interface defined for displaying messages; receiving a selection of the second excerpt within the region; as well as The edited data file is caused to be displayed within the area in response to receiving a selection of the second excerpt.
2. The method according to claim 1, wherein: Receiving edits to the data file through the message input field of the first user interface includes receiving edits to the first excerpt of the data file displayed within the message input field of the first user interface.
3. The method according to claim 1, further comprising: receiving input via the second user interface, the input indicating that display of the edited data file within the area of the second user interface will be enlarged; as well as The display size of the edited data file displayed in the area of the second user interface is increased.
4. The method according to claim 1, wherein: The second excerpt is the same excerpt as the first excerpt.
5. The method according to claim 1, wherein: The second excerpt is a different excerpt from the first excerpt.
6. The method according to claim 1, further comprising: The first excerpt is caused to be displayed inline with the text in response to receiving the text input.
7. The method according to claim 1, wherein: Causing display of the edited data file within the area includes causing display of a third excerpt of the edited data file, larger than the second excerpt, within the area of the second user interface.
8. The method according to claim 1, wherein: Enabling the display of the edited data file in the area includes: enabling the entirety of the edited data file to be displayed in the area of the second user interface.
9. A system for providing attachments of data files in an online communication session between a plurality of participants, the system comprising: one or more hardware processors; One or more memories storing instructions that, when executed, cause the one or more hardware processors to perform operations including: causing display of a first user interface at a first client device of a first participant in a communication session, the first user interface comprising a message input field defined within the first user interface for receiving input to compose a message for transmission in the communication session; causing display of a second user interface at a second client device of a second participant of the communication session, the second user interface comprising an area defined for displaying within the second user interface messages previously sent by a participant of the communication session; receiving a selection of a data file at the first client device; causing display of at least a first excerpt of the data file editable within the message input field of the first user interface; receiving edits to the data file via the message input field of the first user interface; including edits to the data file at the stored location of the data file; receiving text input through the message input field of the first user interface so as to cause text to be displayed in the message input field; sending the edited data file and the text to the second client device; as well as causing display of the text and a second excerpt of the edited data file within the area of the second user interface defined for displaying messages; receiving a selection of the second excerpt within the region; as well as The edited data file is caused to be displayed within the area in response to receiving a selection of the second excerpt.
10. The system according to claim 9, wherein: Receiving edits to the data file through the message input field of the first user interface includes receiving edits to the first excerpt of the data file displayed within the message input field of the first user interface.
11. The system of claim 9, the operations further comprising: receiving input via the second user interface, the input indicating that display of the edited data file within the area of the second user interface will be enlarged; as well as The display size of the edited data file displayed in the area of the second user interface is increased.
12. The system according to claim 9, wherein: The second excerpt is the same excerpt as the first excerpt.
13. The system according to claim 9, wherein: The second excerpt is a different excerpt from the first excerpt.
14. The system of claim 9, the operations further comprising: The first excerpt is caused to be displayed inline with the text in response to receiving the text input.
15. The system according to claim 9, wherein: The operation of causing the edited data file to be displayed within the area includes causing a third excerpt of the edited data file, larger than the second excerpt, to be displayed within the area of the second user interface.
16. The system of claim 9, wherein: The operation of causing the edited data file to be displayed in the area includes causing the edited data file to be displayed in its entirety in the area of the second user interface.
17. A system for providing attachments of data files in an online communication session between a plurality of participants, the system comprising: means for causing display of a first user interface at a first client device of a first participant in a communication session, the first user interface comprising a message input field defined within the first user interface for receiving input to compose a message for transmission in the communication session; means for causing display of a second user interface at a second client device of a second participant of the communication session, the second user interface comprising an area defined for displaying within the second user interface messages previously sent by a participant of the communication session; means for receiving a selection of a data file at said first client device; means for causing display of at least a first excerpt of the data file editable within the message input field of the first user interface; means for receiving edits to the data file through the message input field of the first user interface; means for including edits to the data file at the stored location of the data file; means for receiving text input through the message input field of the first user interface so as to cause text to be displayed within the message input field; means for sending the edited data file and the text to the second client device; as well as means for causing display of said text and a second excerpt of said edited data file within said area of said second user interface defined for displaying messages; means for receiving a selection of said second excerpt within said region; as well as Means for causing display of the edited data file within the area in response to receiving a selection of the second excerpt.
18. The system of claim 17, wherein: The means for receiving edits to the data file through the message input field of the first user interface includes means for receiving edits to the first excerpt of the data file displayed within the message input field of the first user interface.
19. The system of claim 17, further comprising: means for receiving input via the second user interface, the input indicating that display of the edited data file within the area of the second user interface is to be enlarged; as well as Means for increasing a display size of the edited data file displayed in the area of the second user interface.
20. The system of claim 17, further comprising: Means for causing display of the first excerpt inline with the text in response to receiving the text input.
Citation Information
Patent Citations
Added information distribution apparatus and added information distribution system
CN101090373A
Email text-to-speech conversion in sender's voice
CN101356427A