Used to provide a unified messaging platform and interface for user calls
Through the unified messaging platform and user call-out function, the problem of inefficient information transmission in the team environment is solved, the rapid access and accurate transmission of information is achieved, and the team collaboration capabilities are enhanced.
Patent Information
- Application Number
- CN202110400469.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2015-07-16
- Filing Date
- 2016-05-20
- Publication Date
- 2025-04-15
- Estimated Expiration
- 2036-05-20
AI Technical Summary
Existing communication platforms cannot effectively solve the problems of inefficient information transmission in team environments and the difficulty of collaboration among members, resulting in message forwarding and information loss.
Provides a unified messaging platform, enabling quick access to information and automatic cross-platform synchronization through the user interface, and supports user call-up functions to facilitate collaboration and notifications.
It improves the efficiency and accuracy of information transmission among teams, enhances the collaboration capabilities between members, and reduces message forwarding and information loss.
Smart Images

Figure CN113112231B_ABST
Abstract
Description
[0001] This application is a divisional application of the invention patent application "for providing a unified messaging platform and interface for user invocation" with an application date of May 20, 2016 and application number 201680029631.3. 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 multiple 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 ready 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, cooperation and collaboration are facilitated by features such as user call-outs, which are used to easily join or notify team members about current sessions or requests. 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 includes receiving a message, scanning for messages for a user call-out, and identifying a message context. Additionally, the method includes determining a notification associated with the user call-out and sending the notification to a user initiated by the user call-out.
[0007] In another aspect, a system including a processing unit and a memory is provided. The memory stores computer executable instructions that, when executed by the processing unit, cause the system to perform a method. The method includes receiving a message and identifying a user call-out within the message. Based at least in part on the user call-out, the method includes determining a notification and identifying a terminal associated with a user referenced by the user call-out. Additionally, the method includes determining whether a terminal is registered with a unified messaging application and sending the notification to the terminal.
[0008] In another aspect, a method of determining a notification for a user call-out is provided. The method includes receiving a message, identifying a user call-out within the message, and determining a notification based at least in part on the user call-out. The method also includes identifying a terminal associated with a user referenced by the user call-out, and sending the notification to the terminal.
[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 handling a user call-out in a message according to an exemplary embodiment is shown.
[0021] Figure 5 An exemplary interface for removing a user from an insert message is shown according to an exemplary embodiment.
[0022] Figure 6 An exemplary interface for notifying a user of a user callout in a user message is shown according to an exemplary embodiment.
[0023] Fig. 7A An exemplary interface for parsing user callouts to be included in a message is shown in accordance with an exemplary embodiment.
[0024] Figure 7BAn exemplary mobile interface for parsing user callouts to be included in a message is shown in accordance with an example embodiment.
[0025] Figure 8 An exemplary method for handling an inline reply to a message according to an exemplary embodiment is shown.
[0026] Fig. 9 An exemplary interface for initiating an inline reply in a message is shown according to an example embodiment.
[0027] Fig.10 An exemplary interface for presenting inline replies in a message is shown according to an example embodiment.
[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, 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, 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, the unified messaging platform promotes coordination and collaboration by providing features such as user call-outs, which allow team members to easily join or be notified about current sessions or requests. 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 may 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 may 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 may 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 may be utilized.
[0036] The unified messaging platform 105 is a communication system / service that provides a collaborative environment for communication and collaboration for users 102. Among other examples, the unified messaging platform 105 is illustrated by dashed lines, which illustrate 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 can 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) can include multiple different views. Users of the unified messaging platform 105 can 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 can have one or more user profiles that are customizable by the user. 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] If 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 in 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 one or more third-party messaging applications 116 and / or with 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., a leadership team, a design team, an event team, a project team, etc.) and by adding a user (e.g., a 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., a user icon, a user email, a 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), a team portal may be opened. A 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 sessions shared within the team portal. In various aspects, in response to the selection of a 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, pre-launch, 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 tags or pages. For example, each tag 212 can display a different type of information associated with the category 210 in the center pane 204. When selected, the tag 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 active people 228 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 accessing the team portal via the client computing device 104, a "visiting user"). For example, a specific user accessing the team portal can be identified by a name, an icon (such as a user name 230a or a user icon 230b), etc. within 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 to 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 "Send" or "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 can 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.). In response to display and 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 "Send" or "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. In addition, 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 entering or selecting a recipient, a subject field 274 for entering a subject line, etc. In response to entering a message into the email interface object 238 and clicking "Send" or "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 modifications, edits, annotations, etc. made to the first file within the single version. In some aspects, in response to saving the first file using a second file name, a second file may be created, appended, 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. In response to creating a list object, 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 the data is updated in any view (e.g., in the session 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 a portion of each email message, such as the sender, the subject line, and a portion 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 (e.g., presentation structure) may display email messages that are replies to the primary email below the primary email message and / or indented, dotted, or otherwise offset within the conversation thread. Additionally or alternatively, replies to the primary email message may be displayed in a different font (e.g., bold, italic, colored, etc.), may be displayed in a reply bubble within the conversation thread, etc. In at least some aspects, each conversation thread may be displayed in descending order based on the date the last email in the conversation thread was received, with the most recent conversation thread displayed at the top of the center pane 204. 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 based on the date the last email in the conversation thread was received, with the most recent conversation thread displayed at the bottom of the center pane 204. In this case, the personal communications may be interspersed among the conversation threads in increasing order based on the date the personal communications were received.
[0074] For example, a message received at a first time (e.g., a primary communication) may be displayed in an ascending order or a descending order within a conversation based on the first time. As described above, when a reply to a message is received at a second time (e.g., a secondary communication), the message and the reply may be displayed as a conversation thread. In addition, the conversation thread may be displayed in an ascending order or a descending order within a conversation based on the second time. In this case, the messages (as displayed in the conversation thread) may be reordered within the conversation based on the time (e.g., the second time) at which the reply was received. In another aspect, as described above, a reply to a message may be received from a user registered with a unified messaging application or from a user registered with a third-party messaging application (including a third-party email application, SMS application, instant messaging application, social networking application, etc.).
[0075] 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).
[0076] It should be understood that reference Figure 2DThe 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.
[0077] Figure 2E An exemplary interface for interacting with a unified messaging platform according to a fifth example embodiment is shown.
[0078] 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 2E As 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).
[0079] 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 the second user (e.g., Rachel), the third user (e.g., Rob), the fifth user (e.g., Jim), and the sixth user (e.g., Sophia) are displayed in the center pane 204. In this example, the first user refers to the visiting user (e.g., Ping Li) identified by the user name 256a and the user icon 256b.
[0080] 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.
[0081] 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.
[0082] 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.
[0083] 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.
[0084] Figure 2F An exemplary mobile interface for interacting with a unified messaging platform is shown in accordance with an example embodiment.
[0085] 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.
[0086] 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).
[0087] It should be understood that reference Figure 2F 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.
[0088] Figure 2G An exemplary mobile interface for interacting with a unified messaging platform according to a second example embodiment is shown.
[0089] 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.
[0090] 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.
[0091] Figure 3 An exemplary system for message processing implemented on a computing device according to an example embodiment is shown.
[0092] 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.
[0093] 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.
[0094] As in Figure 3 As shown in , unified messaging application 312 may include scanning component 314, context component 316, conversion component 318, presentation component 320, and notification component 322. 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 multiple 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 technology 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).
[0095] If Figure 3As shown, the client computing device 304 and the server computing device 308 may also communicate with a storage 324 that stores parameters, configuration information, communications, images, documents, list objects, or any other information accessed by the unified messaging application 312. The storage 324 may be a local or remote database within an enterprise intranet or in a distributed location over the Internet. In various aspects, the storage 324 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.
[0096] In many aspects, the scanning component 314 can scan messages for embedded content, hyperlinks, text or graphic content, image content, video content, attached documents, command lines, user calls, etc. The scanning component 314 can implement any suitable technology for scanning messages, including known common technologies or technologies developed in the future. Traditionally, the 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 of HTML pages, natural language processing (NLP) technologies (such as voice 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 HTML DOM trees) and are more flexible to changes in the structure of documents. In many aspects, any of the technologies described above or any other technology currently known or developed in the future can be implemented by the scanning component 314 to scan messages. In some cases, in response to determining the structure of the content, the scanning component 314 can assign identifiers to various parts of the content structure (for example, a hierarchical structure), and can also anchor the content within the structure in any suitable manner.
[0097] Additionally, context component 316 can evaluate each message for context. Context refers to any feature, condition, or situation related to a message. For example, context can relate to the type of client computing device 304 from which the message originates and / or will be routed, the type of messaging application from which the message originates and / or will be routed, the text queue about the user's intent, the global positioning system (GPS) data associated with the message or its sender, the time of day, the sender and / or recipient of the message, etc. In some cases, in response to determining the context of the message, context component 316 (rather than scanning component 314) can assign identifiers to various parts of the content structure, and can also anchor the content within the structure in any suitable manner.
[0098] Additionally, when the receiving application is not the unified messaging application 312 or the client application 310, the conversion component 318 can convert each message into a format and / or presentation that is understood or readable by the receiving application (e.g., a third-party messaging application, an enterprise messaging application, an external service application, a third-party website, etc.).
[0099] In further aspects, presentation component 320 can display, render, present, or send messages in a format and / or presentation understood or readable by unified messaging application 312, third-party messaging applications, enterprise messaging applications, external service applications, third-party websites, etc.
[0100] The notification component 322 can also notify the user 302 or another user via the unified messaging application 312, a third-party email messaging application, an enterprise messaging application, an SMS application, a social networking application, or other application suitable for notifying a user. Such notifications can include notifications that a user is identified in a user callout, a user receives a message, a user is assigned a task, a document or file is edited, a document or file is uploaded, etc.
[0101] According to further aspects, the client computing device 304 and / or the server computing device 308 can communicate with a third-party computing device 326. The third-party computing device 326 can be described similarly to the server computing device 106 or the server computing device 308. In various aspects, the third-party computing device 326 can host one or more third-party messaging applications, external services, third-party websites, etc. In at least some aspects, authentication (e.g., authentication 112) can be required to access the third-party computing device 326.
[0102] 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.
[0103] Figure 4 An exemplary method for handling a user call-out in a message according to an exemplary embodiment is shown.
[0104] Method 400 begins with a receiving operation 402, where a message is received by a unified messaging application. The message can be of any type or format, including an email message, a voice message, an SMS message, an instant message, and the like. As used herein, the content of the "body" of a message (e.g., the "message body") refers to the content of the message excluding attachments, metadata, timestamps, dates, subject lines, recipient fields, sender fields, signature blocks, confidentiality disclaimers, and the like. Alternatively, the content of the "message" refers to all of the content of the message, including attachments, metadata, timestamps, dates, subject lines, recipient fields, sender fields, signature blocks, confidentiality disclaimers, and the like. In some cases, the message 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, an SMS messaging application associated with a cellular service plan, an instant messaging application, and the like. In other cases, the message can be received as input by a "visiting user" at the first terminal, where the accessing user enters the content into a new message input field, email interface object, message reply input field, etc. associated with the unified messaging application.
[0105] At scanning operation 404, the content of the message or message body can be scanned. In various aspects, the message body can be scanned for text content, image content, video content, audio content, commands, user call-outs, topic tags, hyperlinks, etc. Alternatively, the message can be scanned for attachments, sender information, recipient information, subject information, time or date stamp information, metadata, etc. For example, any suitable technology for scanning messages can be used, including currently known common technologies or technologies developed in the future. "Wrappers" can be used to identify and / or extract structured data, semi-structured information such as HTML can be identified and / or extracted, natural language processing (NLP) technology can be used to build relationships between components within the text content, image and / or video detection technology can be used, etc. As another example, the scanning operation can identify certain words, phrases, characters and / or symbols within the text content of the message, where these words, phrases, characters and / or symbols correspond to or are associated with operations, commands, actions, or are otherwise understood by the unified messaging application.
[0106] In some cases, specific characters, symbols, or combinations thereof within the text content of the message may be identified by the scanning operation, such as, for example, @, @!, #, ##, / , / / , !, ! !, *, etc. For example, an "@" symbol as the first character of a word may indicate a user callout, a " / " symbol as the first character of a word may indicate a command line, a " / / " symbol within or as the first character of a word may indicate a hyperlink, a "#" symbol as the first character of a word may indicate a hashtag, etc. In particular, an "@" symbol followed by a user identifier may correspond to a user callout, such as, for example, @Tom, @tom.gmail.com, @TomKent, etc. Additionally, a user callout may be identified when a user identifier is added to a task list object (e.g., a task user callout), or when a user identifier is added to a semantic object (e.g., an expense report approval object, a voting object, etc. (e.g., an approval user callout, a voting user callout, etc.)). In additional aspects, an emergency user callout can be identified based on recognition of multiple symbols followed by a user identifier (e.g., an "@!" symbol or a combination of "!@" symbols), or based on other indicators of an emergency (e.g., a "high importance" flag).
[0107] At the identify context operation 406, the context associated with the message may be identified. For example, identifying the context may include identifying the onlineness of the user associated with the user call-out (e.g., whether the user is a participant in the conversation associated with the message, whether the user is active or inactive on the terminal), etc.; identifying the location of the sender's terminal of the message, the location of the receiver's terminal of the message, and / or the location of the user's terminal associated with the user call-out; identifying whether the message is urgent; identifying whether the message is a communication within a conversation thread; etc.
[0108] At determine notification operation 408, the notification type can be determined based on one or more factors. For example, the notification type can be determined based on the message content, the message context, and / or the type of user call-out (e.g., voting user call-out, approving user call-out, inviting user call-out, emergency user call-out, etc.). In various aspects, determining the notification type can determine the handling of the notification.
[0109] For example, an emergency notification may be determined if the message content and / or message context indicates an emergency (e.g., @Tom, I need the financial STAT for a meeting in 10 minutes!), or if an emergency user callout is identified (e.g., @!Tom, @Tom!, etc.). In various aspects, the emergency notification may include notifications sent to multiple terminals associated with the user, notifications sent to multiple messaging applications associated with the user (e.g., an enterprise messaging application, a third-party email messaging application, an SMS or text application, an instant messaging or chat application, a social networking application, or any combination thereof, etc.), notifications that "light up" a user interface or display (e.g., by powering the display, by flashing the display, by causing a red display background, etc.), and / or notifications that include audio or other alerts, etc.
[0110] Alternatively, a task user callout can be determined when the user identifier has been added to the task list object. For a task user callout, a notification can be sent to one or more messaging applications associated with the user (e.g., an enterprise messaging application, a third-party email messaging application, an SMS or text application, an instant messaging or chat application, a social networking application, or any combination thereof, etc.), a notification can be sent to one or more task or calendar applications associated with the user, the notification can cause the task to be added to the user's task list and / or calendar, etc.
[0111] In other aspects, the determination notification operation 408 can determine the content of the notification based on one or more factors. In some cases, the content of the notification can simply include the notification that the user is mentioned in the conversation. In this case, the content of the simple notification can only include text content (e.g., notification). On the other hand, the content of the complex notification can include text content (e.g., notification) and additional data related to the message (e.g., controls, links, codes, images, etc.). For example, the additional data can include controls for performing activities (e.g., approval, rejection, voting, etc.), links to other applications or content (e.g., links to LOB websites, links to CRM websites, links to conversation threads, etc.), codes for performing actions (e.g., codes for adding tasks to the user's task list and / or calendar; codes for causing behavior on the terminal (e.g., lighting up the user interface, triggering an audio alarm, triggering a visual alarm, etc.), codes for executing images (e.g., static copies of communications incompatible with the terminal, static copies of lists or semantic objects, etc.), etc.
[0112] As a first example (e.g., for an approval user callout), the content of the notification may include a notification indicating a request for user approval of an item (e.g., an expense report, financial report, work order, change order, etc.), and may also include one or more controls for performing an action on the item (e.g., for approving, rejecting, reviewing details, etc.). In a second example (e.g., for a task user callout), the content of the notification may include a notification indicating that the user has been assigned a task, and may also include a control or link for updating the status of the task, may include a control or link for manually adding the task to the user's task list and / or calendar, may include code for automatically adding the task to the user's task list and / or calendar, etc.
[0113] In a third example, for example, for a user callout within a message as a communication within a conversation thread, the content of the first notification may include a notification indicating that the user has been added or invited to the conversation thread, and may also include a link or other access to the conversation thread, may include a copy of one or more communications within the conversation thread, and / or may be operable to forward the conversation thread to the user. In addition, a second notification may be determined for other users participating in the communication thread. For example, the content of the second notification may include a notification indicating that the user has been invited to the conversation thread, a notification that communications of the conversation thread have been provided to the user, and / or a notification that the conversation thread has been forwarded to the user.
[0114] For any of the above examples (for example, when the notification is an emergency notification), the content of the notification may also include a code for processing the notification, a code for causing the receiving application to perform an action, and / or a code for causing a behavior on the identified terminal. For example, a code indicating that the emergency notification should be transmitted to all active terminals identified by the user may be included. In this case, although the rule or policy may stipulate that the notification should be sent to the terminal with a higher priority identified for the user, the code may override the rule or policy so that the emergency notification is transmitted to all active terminals identified for the user. In an additional or alternative example, a code may be included that causes the receiving application to perform certain actions, for example, promoting the receiving application from background execution to foreground execution, displaying an instant notification on the user interface, etc. As another example, a code that causes certain behaviors on the identified terminal may be included, for example, causing the terminal to trigger an audio or visual alarm, causing the terminal to power the display, causing the user interface on the terminal to display a red background or flashing, etc. It should be understood that the above examples are not intended to be limiting, and the content of notifications other than emergency notifications may include a code for processing notifications, a code for causing the receiving application to perform an action, and / or a code for causing a behavior on the identified terminal.
[0115] At the identification terminal operation 410, the terminal can be identified for the user associated with the user call-up. In some cases, multiple terminals can be identified for the user (e.g., personal computer, mobile device, tablet computer, smart TV, etc.). Identifying the terminal can include identifying the device type of the terminal (e.g., mobile device, personal computer, tablet computer, etc.), the display type of the terminal (e.g., monitor, TV, touch display, graphic display, alphanumeric display, etc.), network access available to the terminal (e.g., access to a wide area network (WAN), a local area network (LAN), a virtual private network (VPN), etc. via cellular, wired, wireless, Wi-Fi or other technologies), the state of the terminal (e.g., powered on, active, inactive, locked, sleep, shut down, etc.), applications registered for the terminal (e.g., enterprise or third-party email messaging applications, SMS messaging applications, social networking applications, instant messaging applications, voicemail applications, calendar applications, etc.), etc. It should be understood that one or more combinations of device type, display type, network availability, registered applications, and state can be identified for the terminal at any given time.
[0116] As used herein, an application executing in the foreground may currently be open on the terminal and interacting with the terminal, while an application executing in the background may not currently be interacting on the terminal but may be able to receive, present, and / or send data.
[0117] For example, the identification terminal operation 410 can determine that the first terminal is a mobile device (e.g., a "smart phone" with a display having graphics and touch functions). At a first point in time, the first terminal can access one or more networks via cellular and / or wireless devices and can be in an active state (e.g., powered on and recently used by a user). Alternatively, at a second point in time, the first terminal can access one or more networks using cellular technology and can be in an inactive state (e.g., powered on but not recently used by a user). At a third point in time, the first terminal can be "terminated".
[0118] In another example, the second terminal may be a mobile device with an alphanumeric display that is capable of receiving phone calls and text-type messages via cellular technology, but may not be able to access a WAN such as the Internet via cellular technology. The second terminal may also be registered with an SMS application and a voicemail application, and the second terminal may be in an inactive state (e.g., powered on but not recently used by the user).
[0119] In another aspect, the third terminal may be a tablet computer with a display having graphics and touch capabilities, which runs a gaming application in the foreground and a unified messaging application in the background. The third terminal may be connected to a wireless LAN, but may not be able to perform cellular access to the network, and the third terminal may be powered on but in an inactive and locked state (e.g., not recently utilized by a user and requiring authentication for activation).
[0120] In other aspects, the fourth terminal can be a personal computer coupled to a display monitor, which is registered with an enterprise messaging application, a third-party email messaging application, a social networking application, and a calendar application. The fourth terminal can also access a dedicated LAN (e.g., an intranet) via a wired connection. The fourth terminal can be powered on, but may be in an inactive state, a locked state, and a sleep state (e.g., not recently used by a user, requiring authentication for activation, and power failure so that the display monitor is turned off). As described above, identifying a terminal can also involve identifying different combinations of device types, display types, network access, registered applications, states, etc. at different times.
[0121] At decision operation 412, a determination is made as to whether the terminal has been registered with a unified messaging application (UMA). In various aspects, although a user call-out may have been received at a terminal that is registered with a unified messaging application, the user identified by the user call-out may be associated with one or more terminals that are not registered with the unified messaging application (e.g., the user identified by the user call-out may be an external user). If the terminal is registered with the unified messaging application, the method continues with a send notification operation 416. Alternatively, if the terminal is not registered with the unified messaging application, the method continues to a transition operation 414.
[0122] At conversion operation 414, the determined notification is converted so that it can be read and / or presented by one or more applications registered with one or more identified terminals. In multiple aspects, for applications other than unified messaging applications, the content of the notification 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 notification can include translating the notification into a representation readable by the receiving application, and can also include reformatting the notification into a structure that can be presented by the receiving application and / or the identified terminal. Therefore, converting the notification can be described according to a translation process (e.g., making the notification in a language or format readable or understandable by the consuming application) and a reformatting process (e.g., constructing the content of the notification so that it can be rendered or presented by the consuming application or by a specific terminal). In some aspects, the conversion operation can involve a single process of converting the notification into a language or format readable by the receiving application, wherein the receiving application performs any processing necessary to render or present the notification on the specific terminal.
[0123] In some aspects, notifications can be converted differently for different applications registered with different terminals. For example, notifications can be converted based on one or more factors associated with the identified terminal (including device type, display type, network access, registered applications, status, etc.). That is, if the receiving application is an email messaging application, the notification can be reformatted into a "similar email" structure with a recipient address, a subject line, and a message body. Additionally, email-like messages can be translated into a first representation readable by an enterprise messaging application, and translated into a second representation readable by a third-party email messaging application. Alternatively, if the receiving application is an instant messaging application or a social networking application, the notification can be reformatted into a "chat-like" structure without a subject line. Chat-type messages can also be translated into a first representation readable by an instant messaging application, and can be translated into a second representation readable by a social networking application. Similarly, if the receiving application is an SMS application, the notification can be reformatted into a "text-like" structure without a subject line. In addition, text type messages can be translated into a representation readable by SMS applications and compatible with the cellular network associated with the identified terminal. In some cases (e.g., for text-like and chat-like messages), depending on the capabilities of the receiving application, the text content of the notification (e.g., announcement) can be converted, but the additional data of the notification (e.g., controls) may not be converted or sent using text-like or chat-like messages.
[0124] In addition, as described above, the conversion operation can be based on additional factors, such as device type and display type. For example, although the conversion operation may include reformatting the notification into a structure that can be presented by the receiving application, the conversion operation may also include reformatting the notification into a structure that can be presented by a specific device type with a specific display type. For example, although a personal computer is able to render a dynamic list object in a notification, a mobile device may not have such a capability. In this case, the conversion operation can reformat the dynamic list object into a static image for rendering by a mobile device. Additionally or alternatively, although a first mobile device with a touch-enabled graphical display is able to render a table object or image in a notification, a second mobile device with an alphanumeric display may only be able to render a short string of text content. In this case, the conversion operation can translate and / or reformat a notification with text content and a table object or image for sending to the first mobile device. However, the conversion operation can translate and / or reformat the text content so that the notification is sent to the second mobile device, but may refuse to convert or include a table object or image with the notification.
[0125] In some cases, the notification may be converted for sending to more than one messaging application registered with the identified terminal (e.g., a third-party email messaging application, an SMS application, and an instant messaging application). In some cases (e.g., for emergency notifications), the notification may be converted for sending to multiple messaging applications registered with the identified terminal. Alternatively, the notification may be converted for sending to a subset of the messaging applications registered with the identified terminal. That is, the messaging applications may be prioritized so that the notification is converted for sending to a higher priority messaging application, but not converted for sending to a lower priority messaging application. The messaging applications may be prioritized in any suitable manner, and the priorities of the messaging applications may change at different times and in different circumstances. For example, where such information is available, messaging applications that are open or executed on the terminal may be prioritized over messaging applications that are not open or executed, messaging applications that are executed in the foreground may be prioritized over messaging applications that are executed in the background, messaging applications that are capable of providing instant notifications to the user interface may be prioritized over messaging applications that do not have this capability, messaging applications that are more frequently accessed by the user may be prioritized over messaging applications that are less frequently accessed by the user, enterprise messaging applications during work hours may be prioritized over third-party email messaging applications, etc. In various aspects, by converting notifications for delivery to the messaging application that is most likely to convey the notification to the user, processing resources may be conserved and efficiency may be increased.
[0126] Additionally or alternatively, the notification can be converted for sending to applications registered with multiple terminals associated with the user. For example, the notification can be converted for sending to an enterprise messaging application registered with the identified first terminal (e.g., a personal computer), and can be converted for sending to an SMS application registered with the identified second terminal (e.g., a mobile device). Additionally, the identified terminal can be prioritized so that the notification is converted for sending to one or more applications registered with a higher priority terminal, but not converted for sending to one or more applications registered with a lower priority terminal. The terminal can be prioritized in any suitable manner, and the priority of the terminal can change at different times and in different situations. For example, at the first time of the day, the mobile device can take precedence over the personal computer, but at the second time of the day, the personal computer can take precedence over the mobile device. In addition, where such information is available, an active terminal can take precedence over an inactive terminal, a terminal that can access the network can take precedence over a terminal that cannot access the network, etc. In multiple aspects, processing resources can be saved and efficiency increased by converting the notification for sending to an application registered with the terminal that is most likely to convey the notification to the user. Thus, the conversion operation may be performed in response to the priority of the evaluated application, the priority of the identified terminal, or some combination thereof, and may be performed differently at different times and in different circumstances.
[0127] In the following examples, a simple notification may include a notification indicating that the user is mentioned in the conversation, while a complex notification may include a notification indicating that the user is mentioned in the conversation as well as in additional data or information (e.g., controls, attachments, images, code, etc.). In the case of a simple notification, the notification may include text content, and the conversion operation may involve translating the text content into a presentation and / or reformatting the text content into a structure so that the notification is readable and / or presentable by a receiving application registered with the identified terminal. For example, in the case where a third-party email messaging application is the receiving application, the text content may be reformatted into an email type structure and may be translated into a plain text representation, an HTML representation, or other representation readable by the third-party email messaging application. Alternatively, in the case where an enterprise messaging application is the receiving application, the text content may be reformatted into an email type structure and may be translated into a rich text representation, a plain text representation, an HTML representation, or other representation readable by the enterprise messaging application. In some cases, in order to save processing resources, where the receiving application includes both a third-party email messaging application and an enterprise messaging application, the text content can be translated into a representation readable by both messaging applications, e.g., a plain text representation. Alternatively, where an SMS application is the receiving application, the text content can be reformatted into a structure (e.g., a text type structure) and translated into a representation compatible with various transport protocols (e.g., Short Message Transfer Protocol (SM-TP), Protocol Data Unit Type (PDUT)), and a representation for various types of mobile networks (e.g., Global System for Mobile Communications (GSM), Code Division Multiple Access (CDMA)).
[0128] In the case of a complex notification (e.g., approval of a user call-out), the content of the notification may include a notice (e.g., text content) indicating that the user's approval of the item has been requested, and may optionally include one or more controls for operating the item (e.g., approval, rejection, review details, etc.). In this case, the conversion operation may involve converting the text content and the controls for sending to a receiving application registered with the identified terminal. That is, the conversion operation may reformat the text content into a structure (e.g., an email-like message structure, a text-like message structure, etc.), and may convert the controls into a structure (e.g., a button, a link, etc.), and may translate the text content and the controls into a representation so that the notification is presentable and / or readable by the receiving application and / or the identified terminal. For example, the conversion operation may reformat the controls into a first structure (e.g., a button), and translate the controls into a first representation presentable and / or readable by a first application registered with the first terminal. Alternatively, the conversion operation may reformat the controls into a second structure (e.g., a link), and translate the controls into a second representation presentable and / or readable by a second application registered with the first terminal or the second terminal. Alternatively, for a third application with lower capabilities, the conversion operation may not reformat or translate the controls, but may simply convert the text content into a third structure and / or third representation so that the notification is presentable and / or readable by a third application registered with the first terminal or other terminals.
[0129] In another example of a complex notification (e.g., when the message is a communication within a conversation thread), the content of the notification may include a notice (e.g., text content) indicating that the user has been added or invited to the conversation thread, and may also include a link or other access to the conversation thread, may include a copy of one or more communications within the conversation thread, and / or may forward the conversation thread to the user. In the first aspect, as with reference to the approved user call-out described above, the conversion operation may reformat and / or translate the text content and the link to the conversation thread so that the notification is presentable and / or readable by a first receiving application (e.g., a messaging application) registered to the identified terminal. However, in the second aspect, depending on the capabilities of the receiving application, one or more communications may be provided within the text content of the notification rather than by a link. For example, for an enterprise messaging application, the text content of the notification may be reformatted into an email-like message structure that includes a communication thread related to the message; alternatively, the text content of the notification may be reformatted into an email-like message structure, and a copy of the communication thread may be provided as an attachment to the email-like message structure. In a third aspect, for example, for SMS applications, the text content of the notification may be reformatted into a text-type message structure, and the communication thread may be provided as an image, or not provided at all.
[0130] With reference to the examples described above for simple and complex notifications, the content of the notification may also include additional features or codes for processing notifications, for causing the receiving application to perform actions, and / or for causing behavior on the identified terminal (e.g., as described for emergency notifications). In some cases, the code may be translated into a representation readable by the receiving application registered to the identified terminal. For example, the code that causes the receiving application to be promoted from background execution to foreground execution may be translated into a representation readable by an enterprise messaging application, so that the enterprise messaging application is opened within the user interface, and the notification is displayed on the identified terminal. Alternatively, the code that causes the receiving application to display an instant notification may be translated into a representation readable by a social network application so that at least a portion of the notification is viewable on a display associated with the identified terminal. In some aspects, the code that causes the receiving application to display an instant notification may override the notification settings for the identified terminal.
[0131] In some cases, the code causing certain behaviors on the identified terminal can be translated into a representation readable by the receiving application or operating system of the identified terminal. For example, the code for triggering audio or visual alarms when receiving notifications can be translated into a representation readable by the receiving application (or operating system) on the mobile device. Alternatively, the code for powering the display monitor when receiving notifications can be translated into a representation readable by the receiving application (or operating system) on the personal computer. In some cases, the identified terminal may not be able to perform the action indicated by the code, for example, the mobile device with an alphanumeric display may not be able to display a red background or make the alphanumeric display flash. In this case, the code for performing the action may not be converted or sent to the mobile device together with the notification. However, in this case, another way of expressing emergency can be included with the notification, for example, an exclamation mark can be inserted at the end of the text content for presentation on the alphanumeric display.
[0132] At send notification operation 416, a notification about the user callout is sent to the user. In multiple aspects, as described above, a user callout can be identified in a received message, for example, when the "@" symbol is followed by a user identifier (e.g., @Tom, @tom.gmail.com, @TomKent, etc.), or when the user identifier is added to a task list object, or when the user identifier is added to a semantic object (e.g., an approval object, a voting object, etc.). In additional aspects, an urgent user callout can be identified in any suitable manner, for example, based on a tag added to the message (e.g., a "high importance" tag), based on the content of the message (e.g., identifying an exclamation mark within the text content of the message), based on the identification of an exclamation mark symbol with a user callout (e.g., a combination of "@!" or "!@" symbols followed by a user identifier, or "@" and "!" symbols surrounding the user identifier), etc. Furthermore, as described above, based on identifying a user call-out, a notification may be determined for a user identified by the user call-out.
[0133] In some aspects, for example, when registering a terminal with a unified messaging application, the notification may not require conversion. That is, the text content (e.g., notification) and any additional data (e.g., controls, links, codes, images, etc.) may be included with the notification for display on the identified terminal without conversion. The notification may be displayed in the user interface of the unified messaging application at the identified terminal (e.g., in a conversation thread). In this case, there is no need to reformat the notification into an email-like message structure for the first receiving application, a text-like message structure for the second receiving application, and / or a chat-like message structure for the third receiving application. Instead, the notification may be displayed in a single suitable structure within the user interface of the unified messaging application, which may be selected at least in part based on the content of the notification. For example, a complex notification including additional data (e.g., controls or links) may be presented in an email-like message structure (e.g., with a subject line indicating that approval has been requested and / or a task has been assigned); alternatively, a simple notification including only text content may be presented in a text-like message structure. In addition, when a user registers with a unified messaging application, there is no need to resolve the user identifier in order to send a notification to the user. Thus, after a notification is determined, the notification can be sent to the user at the terminal registered with the unified messaging application.
[0134] On the other hand, as described above, when the identified terminal is not registered with the unified messaging application, the notification for the user identified by the user call-out can be converted for sending to one or more receiving applications registered with one or more terminals identified for the user. In addition, in order to send the notification to one or more receiving applications, the user identifier can be resolved. That is, if the receiving application is a third-party email messaging application, the email address associated with the third-party email messaging application can be resolved for the user. Alternatively, if the receiving application is an SMS application, the phone number associated with the SMS application can be resolved for the user. In some cases, if the user is a team member, the contact information including the user identifiers associated with various applications can be registered with the unified messaging application. In response to resolving one or more user identifiers, the notification can be sent to one or more receiving applications registered with one or more terminals identified for the user.
[0135] It should be understood that operations 402-416 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.
[0136] Figure 5 An exemplary interface for removing a user from an insert message is shown according to an exemplary embodiment.
[0137] As described above, the unified messaging platform may provide a user interface 500 including three panes (e.g., a left frame 502, a center pane 504, and a right frame 506). Additionally, a conversation 516 may be selected in the left frame 502 so that one or more communications 508 associated with the conversation 516 are displayed in the center pane 504. As shown, the conversation 516 includes five participants, e.g., a first user ("Ping", the visiting user), a second user ("Rob"), a third user ("Jim"), a fourth user ("Rachel"), and a fifth user ("Sophia"). In the example shown, the visiting user ("Ping", see, e.g., user identifiers 522a and 522b) may not be identified in the title of the conversation 516.
[0138] As further described above, the unified messaging platform may provide a new message input field (e.g., new message input field 514) for sending "text-like" communications. As shown, communication 508a has been entered into new message input field 514, and communication 508a includes user callout 510a. User callout 510a may be identified by an at sign (e.g., "@") inserted before a user identifier (e.g., "Rob Lincoln"). For user callout 510a, the user identifier includes the user's first and last name. As shown in FIG. Figure 4 As described, in response to completing the message and clicking "Send" or "Enter," communication 508a may become a "Received Message."
[0139] In another example, user callout 510b (e.g., "@Ping") is inserted into communication 508b by a fourth user ("Rachel"). For user callout 510b, the user identifier includes a first name instead of a last name. In this case, in response to receiving communication 508b from Rachel (e.g., "received message"), a notification may have been sent to Ping regarding the notification of providing user callout 510b and Rachel's request for the file. In some aspects, the notification may have included code for causing the unified messaging application to perform an action and / or code for causing behavior on a terminal identified for the user. For example, the notification may have caused the unified messaging application to be promoted from background execution to foreground execution, may have caused the terminal to trigger an audio or visual alarm after receiving the notification, may have caused the notification to be displayed as an instant notification in the user interface, may have caused the background of the user interface to be displayed as red, etc. As shown, at some point after receiving the notification, Ping sends a reply communication 518, which is displayed in the conversation thread 520 as indented below the communication 508b. Similarly, user callout 510c (eg, "@Rob") is inserted into communication 508c by Ping (eg, "Me").
[0140] In another example, communication 508d includes a task list object 524. As shown, task list object 524 includes a first task 526a (e.g., "person selector wireframe") and a second task 526b (e.g., "framework model"). Additionally, task list object 524 includes a first user identifier 512a indicating that a first user (e.g., "Rob Hall") has been assigned the first task 526a and a second user identifier 512b indicating that a second user (e.g., "Ping Li") has been assigned the second task 526b. Furthermore, first task 526a includes a deadline 528 (e.g., "April 15th at 12:00 PM"), and in multiple aspects, in response to entering the user identifier (e.g., first user identifier 526a) into the task list object, a user call-out (e.g., a task user call-out) to the user (e.g., "Rob Hall") can be identified. As described above, a notification may be called up for a task user that provides a notification to the user (e.g., indicating that the user has been assigned a task), and may also include controls for adding the task to the user's task list and / or may include code for automatically adding the task to the user's task list. In various aspects, where a deadline (e.g., deadline 528) is provided for the task, the notification may also include controls and / or code for adding the task to the user's calendar.
[0141] It should be understood that reference Figure 5 The various features and functions of the described user interface 500 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.
[0142] Figure 6 An exemplary interface for notifying a user about a user callout in a message according to an exemplary embodiment is shown. In this case, the user activity dynamics can provide notifications about tasks and / or user callouts in a message to the user.
[0143] As described above, the unified messaging platform may provide a user interface 600 including three panes (e.g., a left frame 602, a center pane 604, and a right frame 606). As shown, in response to a selection of a tab 610a (e.g., "My Updates" indicated by an underline), the user's activities 612 may be displayed in the center pane 604. For example, in addition to other communications, the tab 610a may display communications including a user callout (e.g., "Ping Li," see, e.g., user identifiers 608a and 608b) that identifies the user making the visit. More specifically, user callouts 616a, 616b, and 616c identify the user making the visit, Ping Li, and more specifically, indicate an emergency user callout (e.g., "@Ping!"). Additionally, the tab 610a may also display communications including a task list object 614 that includes a user identifier 618 (e.g., "Ping Li") to which a task 624 is assigned. In various aspects, activity 612 can display multiple user callouts so that a user can be notified of tasks and / or actions in one location.
[0144] As further shown, additional tabs are provided for displaying information associated with activity 612. For example, tab 610b (e.g., "@Mentions") may display a user callout identifying the visiting user, tab 610c (e.g., "Pending") may display pending tasks or actions of the visiting user, tab 610d (e.g., "Deadlines") may display deadlines of the visiting user, and tab 610e (e.g., "Snoozed") may display snoozed tasks or actions (e.g., to-do tasks or actions) of the visiting user. Additionally, icons for accessing alarms 620 and / or calendar 622 may be provided.
[0145] It should be understood that reference Figure 6 The various features and functions of the described user interface 600 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.
[0146] Fig. 7A An exemplary interface for parsing user callouts to be included in a message is shown in accordance with an exemplary embodiment.
[0147] As described above, the unified messaging platform may provide a user interface 700 including three panes (e.g., a left frame 702, a center pane 704, and a right frame 706). For example, a conversation 708 may be selected in the left frame 702 and displayed in the center pane 704. As further described above, the unified messaging platform may provide a new message input field (e.g., a new message input field 710) for sending "text-like" communications. As shown, a communication 712 has been partially entered into the new message input field 710 so that the communication 712 includes a portion (e.g., "@Ro") of a user callout 714. In various aspects, after the portion of the user callout 714 is entered into the new message input field 710, a window 716 (e.g., a pop-up window) for parsing the portion of the user callout 714 may be displayed.
[0148] For example, window 716 may display one or more user identifiers 718 that match a portion (e.g., "Ro") of user callout 714. More specifically, user identifiers 718 begin with the letters "Ro" and include "Rob Hall," "RobersonCrusoe," "Roy," "Roslen Sevenson," "Roy Cayno," and "Roberto Gerade." In various aspects, upon selection of one of user identifiers 718, the portion of user callout 714 may be parsed and a link 720 (e.g., an email address) for the selected user may be inserted into communication 712.
[0149] It should be understood that reference Fig. 7A The various features and functions of the described user interface 700 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.
[0150] Figure 7B An exemplary mobile interface for parsing user callouts to be included in a message is shown in accordance with an example embodiment.
[0151] The web version of the unified messaging platform may provide a user interface 750 for a mobile device. In various aspects, the mobile user interface 750 may allow a user to view a conversation (e.g., conversation 752) in a conversation pane (e.g., conversation pane 754). The mobile user interface 750 may also provide a new message input field 756 and an input interface 766 for entering and sending communications to participants of the conversation 752. In various aspects, when a communication is sent to a participant of an ongoing conversation (e.g., conversation 752), the new message input field 756 does not require recipient information, but may provide a subject input field (e.g., subject input field 758) for entering a subject of the communication (e.g., "New UX"). In some aspects, the new message input field 756 may be similar to an instant messaging interface, a chat messaging interface, an SMS messaging interface, or a similar messaging interface. In other aspects, the new message input field 756 may provide functionality similar to an email messaging interface (e.g., allowing attachments to be uploaded, etc.).
[0152] As shown, communication 760 has been partially entered into new message input field 756 so that communication 760 includes a portion (e.g., "@Matt") of user callout 762. In various aspects, after the portion of user callout 762 is entered into new message input field 756, a horizontal bar 764 for parsing the portion of user callout 762 may be displayed. For example, horizontal bar 764 may display one or more user identifiers 768a-768c that match the portion (e.g., "@Matt") of user callout 762. More specifically, user identifiers 768a-768c begin with the symbol-letter combination "@Matt", such as "@MattB", "@MatthewKA", and "@Matteas". In various aspects, after one of user identifiers 768a-768c is selected, the portion of user callout 762 may be completed, and a link (e.g., an email address, a phone number, etc.) for the selected user may be inserted into communication 760.
[0153] It should be understood that reference Figure 7B The various features and functions of the described user interface 750 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.
[0154] Figure 8 An exemplary method for handling an inline reply to a message according to an exemplary embodiment is shown.
[0155] Method 800 begins with receive reply operation 802, in which a reply to a message is received. The reply to the message can be of any type or format, including an email message, a voice message, an SMS message, an instant message, etc. In some cases, the message can be received from a sender at a second terminal that is registered with one or more of a unified messaging application, an enterprise messaging application, a third-party email messaging application, a cellular service plan (which includes an SMS messaging application, an instant messaging application), etc. In other cases, as described above with reference to Figure 5-6 As described, a reply to a message may be received as input from a "visiting user" of the unified messaging application at the first terminal.
[0156] In many aspects, the reply link (e.g., reply link 234) displayed below the message can be selected and the reply can be received after entering the reply into the message reply input field. In other aspects, the reply to the message can be received by hovering over the position in the message or the message body or by placing the cursor at the position in the message or the message body. As used in this article, the content of the "body" (e.g., "message body") of the message includes the content of the message except annex, metadata, timestamp, date, subject line, recipient field, sender field, signature block, confidentiality disclaimer, etc. Alternatively, the content of the "message" can include all contents associated with the message containing annex, metadata, timestamp, date, subject line, recipient field, sender field, signature block, confidentiality disclaimer, etc. For example, after hovering over the position in the message body or placing the cursor at the position in the message body, the user interface can be displayed at or near the position in the message body for inputting a reply message (e.g., a user interface such as a message reply input field). In another example, the user interface may be displayed by hovering over or placing a cursor at a location within a message (eg, a subject line, a sender field, a recipient field, a signature block, etc.).
[0157] At the identify structure operation 804, the structure of the message and / or message body can be identified. For example, a "wrapper" can be used to identify structured data, semi-structured information such as HTML can be identified, natural language processing (NLP) techniques can be used to establish relationships between components within the text content, image and / or video detection techniques can be used, etc. In some cases, for example, for email-like messages, the message can involve multiple parts (e.g., message body, subject line, recipient field, sender field, attachments, etc.). In other cases, for example, for text-like or chat-like messages, the message can involve minimal parts (e.g., message body, sender field, time and / or date stamp). In some aspects, the structure of the message can include a hierarchy of message parts.
[0158] In addition, identification structure operation 804 can identify the structure for one or more message parts. For example, identification structure operation 804 can identify the structure of the message body part, including for example sentence structure, paragraph structure, structure of dotted characters, outline structure, list structure, etc. In some cases, one or more elements can be associated with the structure, and each element can be associated with one or more identifiers. For example, for sentence structure, one or more elements can correspond to one or more sentences in the message body, and each sentence can be associated with one or more identifiers (for example, an identifier associated with the message body part, an identifier associated with a specific sentence, etc.). For the structure of dotted characters, one or more elements can correspond to one or more dotted characters of the text in the message body, and each dotted character item can be associated with one or more identifiers (for example, an identifier associated with the message body part, an identifier associated with a specific dotted character item, etc.).
[0159] In addition, the paragraph structure may include a hierarchical structure of a first element and a second element. That is, the first element may correspond to one or more paragraphs, and the second element may correspond to one or more sentences. In many aspects, one or more second elements (e.g., one or more sentences) may fall within each first element (e.g., paragraph), and one or more first elements (e.g., one or more paragraphs) may fall within a message portion (e.g., a message body portion). In this case, each first element (e.g., paragraph) may be associated with a plurality of identifiers, such as: an identifier associated with a message portion (e.g., a message body portion), an identifier assigned to a specific first element (e.g., a specific paragraph), etc. Additionally, each second element (e.g., sentence) may be associated with a plurality of identifiers, such as: an identifier associated with a message body portion, an identifier associated with the first element (e.g., paragraph) in which the second element falls, an identifier assigned to a specific second element (e.g., a specific sentence), etc.
[0160] In addition, the combination of the structure in the message body is possible.For example, the message body can include the structure of paragraph structure and dotted characters.In this case, the message body can include the first element, the second element and the third element.As described in detail above, one or more second elements (for example, one or more sentences) can fall in each first element (for example, paragraph), and one or more first elements (for example, one or more paragraphs) can be associated with the message body.Extraly, one or more third elements can correspond to the project of one or more dotted characters of the text in the message body.In some cases, the project of one or more dotted characters can also fall in the first element (for example, paragraph), or can jointly include the first element (for example, paragraph).
[0161] For clarity, in some aspects, the hierarchical structure can be described so that a message can include one or more message parts, each of which can include one or more first elements, each of which can include one or more second elements, and so on. In order to distinguish different types of elements (e.g., sentences and dotted sentences), in some aspects, a first element can include one or more second elements and one or more third elements at the same hierarchical level. It should be understood that the above description of the hierarchical structure of the message is provided for exemplary purposes and is not intended to limit the scope of what is disclosed herein, that is, there are other methods for describing the message structure, and any suitable description can be used without departing from the present disclosure.
[0162] At the identification position operation 806, the position of the reply about the structure of the message and / or the message body can be identified. For example, identifying the reply position can include identifying the position within the structure of the message and the message body where the reply is input. As described above, when hovering over the position within the message or the message body or placing the cursor at the position within the message or the message body, the user interface can be displayed at or near the position within the message or the message body for inputting the reply to the message. In many aspects, the position (e.g., reply position) of the input reply can be associated with a message part (e.g., a message body part, a subject line part, etc.), one or more elements (e.g., a sentence, a paragraph, a dotted item, etc.), etc.
[0163] For example, the message body may include a structure of dotted characters within a paragraph structure. As an example, the message body portion may include four paragraphs, wherein the first paragraph includes a sentence (e.g., a greeting), the second paragraph includes three sentences, the third paragraph includes four dotted characters, and the fourth paragraph includes a sentence (e.g., a signature). As described above, one or more parts and one or more elements of a message may each be associated with one or more identifiers. For example, in the above example, the third dotted character item may be associated with multiple identifiers (e.g., a first identifier associated with the message body portion, a second identifier associated with the third paragraph, and a third identifier associated with the third dotted character item). In some aspects, one or more identifiers referencing the various parts and elements of a message may be stored in a lookup table or other index.
[0164] In many aspects, when hovering on the item of the third dotted symbol, a message reply input field can be displayed, and a reply to the message can be entered. In this case, the reply position is at the item of the third dotted symbol in the third paragraph of the message body part of the message. The identification position operation 806 can identify the message part and one or more elements associated with the reply position. In addition, the identification position operation 806 can determine one or more identifiers that reference the message part and one or more elements associated with the reply position. In some cases, the identification position operation 806 can reference a lookup table or other index for determining one or more identifiers. In the above example, one or more identifiers determined for the reply position may include a first identifier associated with the message body part, a second identifier associated with the third paragraph, and a third identifier associated with the item of the third dotted symbol. It should be understood that the above examples are provided for exemplary purposes and are not intended to limit the scope of the disclosure herein, that is, other methods of identifying and indexing elements within the hierarchical structure are available, and any suitable method can be adopted without departing from the present disclosure.
[0165] At anchor reply operation 808, the reply may be anchored to the reply location within the message. For example, as described above, the reply may be associated with one or more identifiers determined for the reply location. Alternatively, the reply may be associated with the reply location based on different methods. According to various aspects, any suitable method for identifying a reply location within a message and associating a reply with the reply location may be employed within the scope of the present disclosure.
[0166] At determining presentation operation 810, the structure and content for presenting the reply may be determined. In some cases, as described above, the presentation of the reply may be determined based on the structure of the message. For example, the message may include a hierarchical structure such that the message includes one or more message parts, the one or more message parts may include one or more first elements, which may include one or more second elements and / or one or more third elements, etc. More specifically, with reference to the above example, the hierarchical structure of the message may be described such that the message includes a message body part (e.g., a message body) including four first elements (e.g., four paragraphs), wherein the third first element in the first element (e.g., the third paragraph) includes four second elements (e.g., four dotted items).
[0167] As described above, the reply can be anchored to the reply position, which can be associated with the structure of the message. That is, the reply can be associated with an identifier of the reference message part, and one or more identifiers of one or more elements of the reference message. With reference to the above example, the reply can be associated with a first identifier of the reference message body part, a second identifier of the reference third paragraph, and a third identifier of the reference third dotted item.
[0168] In some aspects, the reply can be presented "inline" within the message structure. That is, the reply can be inserted as part of a message rather than a separate message (e.g., a reply message in a conversation thread). In this case, in order to determine the presentation structure, the reply can be inserted into the message structure as an additional element. For example, for a reply anchored to the third second element in the second element, the reply can be inserted as a third element below the third second element in the second element. In many aspects, when presenting or displaying a reply, the content of the reply can be displayed within the content of the message, for example, indented below the third dotted item of the third paragraph of the message body. In other aspects, the content of the reply can be displayed within the content of the message, rather than indented with a different font color under the third dotted item of the third paragraph. In other aspects, the content of the reply can be displayed in the content of the message in a text box or comment bubble next to or below the third dotted item of the third paragraph. There are and can be multiple different presentation options without departing from the present disclosure.
[0169] Presenting replies "inline" with a message allows users to collaborate efficiently on specific aspects of a message. For example, where a message includes multiple elements (e.g., four topics for review, or three action items that need to be completed, or twelve items that need to be brought to a surprise party), the recipient of the message is able to insert replies within the body of the message to specifically address individual elements. Traditionally, users would "reply all" or "forward" messages in order to interact with other users, however, this approach creates multiple copies of the original message, often requiring the user to enter clarifying information (e.g., "Regarding #1 ..."), cluttering the recipient's inbox, and requiring compilation or synchronization of answers and / or comments across various replies.
[0170] To overcome the above problems, the present method allows users to insert replies within a single version or representation of a message. Therefore, multiple users can collaborate on a single version of a message, rather than creating multiple copies of a message by "replying to all" or "forwarding" a message. For a terminal registered with a unified messaging application, for example, a single version of a message can be presented within a conversation within a central pane of a user interface, and participants in the conversation can insert replies, comments, updates, etc. into specific elements within the single version of the message. In some aspects, based on the time of the last reply or comment, the single version of the message can be presented within the conversation in an increasing chronological order (e.g., presenting the most recent message at the bottom of the conversation) or in a decreasing chronological order (e.g., presenting the most recent message at the top of the conversation) in the central pane. Therefore, when users respond and comment on specific elements within a message, participating users can easily and efficiently keep up with real-time updates and changes because inline replies are made in one location.
[0171] At the identification terminal operation 812, the terminal can be identified for one or more users to whom a reply to a message can be sent or displayed. In some cases, one or more terminals can be identified for each user (e.g., a personal computer, a mobile device, a tablet computer, a smart TV, etc.). Identifying a 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 TV, a touch-enabled display, a graphic display, an alphanumeric display, etc.), network access available to the terminal (e.g., access to a wide area network (WAN), a local area network (LAN), a virtual private network (VPN), etc. via cellular, wired, wireless, Wi-Fi, or other technologies), the state of the terminal (e.g., powered on, active, inactive, locked, sleeping, powered off, etc.), applications registered with the terminal (e.g., enterprise or third-party email messaging applications, SMS messaging applications, social networking applications, instant messaging applications, voicemail applications, calendar applications, etc.), etc. It should be understood that one or more combinations of device type, display type, network access, registered applications, and state can be identified for the terminal at any one time. In many aspects, identify terminal operation 810 is similar to identify terminal operation 410, as described above.
[0172] At decision operation 814, a determination is made as to whether the terminal is registered with the unified messaging application. In various aspects, although a reply to a message may have been received at a terminal that is registered with the unified messaging application, a reply to the message may be displayed or provided to a user at 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 818. Alternatively, if the terminal is not registered with the unified messaging application, the method continues to a transition operation 816.
[0173] At conversion operation 816, the presentation structure is converted so that it is readable and / or presentable by one or more applications registered with one or more terminals. That is, although the inline reply may be fully readable and / or presentable to users accessing the unified messaging platform, the inline reply may need to be converted so as to be readable and / or presentable to external users. For example, if the message with the inline reply is sent to an external email address (e.g., a third-party email messaging application), the presentation structure can be converted to: "Person A comments on the content of <anchored content>: <inline comment body>".
[0174] As used herein, a presentation structure may include the content of a message and the content of a reply in a structured format. In some aspects, for applications other than unified messaging applications, a presentation structure for an inline reply may 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 presentation structure may include translating the presentation structure into a representation readable by a receiving application, and may also include reformatting the presentation structure so that it can be presented by a receiving application registered with an identified terminal. Thus, converting the presentation structure may be described according to a translation process (e.g., making the presentation structure in a language or format readable or understandable by a consuming application) and a reformatting process (e.g., providing the presentation structure in a form that can be rendered or presented by a consuming application or by a specific terminal). In some aspects, the conversion operation may involve a single process that converts the presentation structure into a language or format readable by a receiving application, wherein the receiving application performs any processing necessary for rendering or presenting a message with an inline reply on a specific terminal.
[0175] In some aspects, the presentation structure can be converted differently for different applications registered with different terminals. For example, the presentation structure can be converted based on one or more factors associated with the identified terminal (including device type, display type, registered applications, etc.). For example, as described above, if the receiving application is a third-party email transmission application, the presentation structure can be reformatted to correspond to an "email-like" structure having a recipient field portion, a subject line portion, and a message body portion, if necessary. As described above, the message body can also include a hierarchical structure, wherein the hierarchical structure includes one or more first elements, and the one or more first elements include one or more second elements.
[0176] In many aspects, the presentation structure includes the content of the reply anchored to the reply position in the message, which makes the reply included in the hierarchical structure of the message. The presentation structure can also be translated into a first representation readable by the enterprise messaging application, and translated into a second representation readable by a third-party email messaging application. In some cases, the third-party email messaging application may not be able to process the hierarchical structure of the message. In this case, the presentation structure can be flattened so that the content and reply of the message are provided in a linear structure. In order to emphasize the reply in the message, the reply can be presented in different color fonts, bold fonts, underlined or other ways. In addition, in some cases, the presentation structure may not be sent to certain types of receiving applications, such as SMS applications, instant messaging applications, social networking applications, etc.
[0177] In addition, as described above, the conversion operation can be based on additional factors, such as device type and display type. For example, although the conversion operation can include reformatting the presentation structure so that it is presentable by the receiving application, the conversion operation can also include reformatting the presentation structure so that it is presentable by a specific device type with a specific display type. For example, although a personal computer may be able to render a message with inline replies, a mobile device may not have such capabilities. In this case, the conversion operation can reformat the presentation structure (e.g., a message with inline replies) into a digital image (e.g., .jpeg) or in a portable document format (PDF) for rendering by a mobile device.
[0178] At sending operation 818, a presentation structure of the message with the inline reply is sent to one or more terminals. In some aspects, for example, when registering one or more terminals identified by a user with a unified messaging application, presenting the message with the inline reply may not require conversion. That is, as described above, when a reply is sent (e.g., when the user enters the reply at a location within the message), a single version of the message with the inline reply may be presented within a conversation in the middle pane of the user interface of the unified messaging platform. More specifically, based on the examples described in detail above, the reply may be presented as indented below the third dotted item of the third paragraph of the message body, or presented as unindented below the third dotted item of the third paragraph in a different font color, or presented in a text box or comment bubble next to or below the third dotted item of the third paragraph.
[0179] Alternatively, when the terminal is not registered with the unified messaging application, the converted presentation structure of the message with the inline reply can be sent to the receiving application. The receiving application can then render or present a copy of the message with the inline reply to the user at the identified terminal. In this case, when the terminal is not registered with the unified messaging application, although the user can benefit from receiving a copy of the message with the inline reply, the user may not benefit from viewing a single synchronized version of the message in real time when the inline reply and comment are inserted.
[0180] It should be understood that operations 802-818 are described for the purpose of illustrating the present method and system and are not intended to limit the present disclosure to a specific order 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.
[0181] Fig. 9 An exemplary interface for initiating an inline reply in a message is shown according to an example embodiment.
[0182] As described above, the unified messaging platform may 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, after selecting a conversation (e.g., conversation 908) within an email portal (e.g., email portal 910) in left frame 902, conversation 908 with one or more communications 912 may be displayed in center pane 904. Fig. 9 As shown, conversation 908 has been selected, and communications 912 between a first user and a second user (e.g., Rachel) are displayed in center pane 904. In this example, the first user refers to a specific user (e.g., Ping Li) accessing a unified messaging application identified by a user name 914a and a user icon 914b.
[0183] In various aspects, communication 912a is received from Rachel. Communication 912a is a message that includes content 918 that includes a list of items 920, e.g., "1) something, 2) another thing, 3) third point, 4) and, this is the fourth point." As shown, a reply link 922 is displayed below communication 912a, and a content reply link 924 is displayed to the left of the list of items 920. In some cases, the inline reply link 924 is not displayed unless and until the user hovers over the list of items 920 or places the cursor within the list of items 920.
[0184] It should be understood that reference Fig. 9 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 functions may be excluded without departing from the systems and methods described herein.
[0185] Fig.10 An exemplary interface for presenting inline replies in a message is shown according to an example embodiment.
[0186] 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, after a category (e.g., category 1008) is selected in the left frame 1002, a conversation can be displayed after selecting a conversation tab 1010. The conversation can include one or more communications 1012 displayed in the center pane 1004.
[0187] like Fig.10As shown, communication 1012a includes greeting 1014 (e.g., introduction) and list of items 1016. The structure of communication 1012a can be described as a paragraph structure, a list structure, or a combination thereof. For the paragraph structure, communication 1012a can be described as including four paragraphs (e.g., four elements), the first paragraph includes greeting 1014, the second paragraph includes first list item 1016a of list of items 1016, the third paragraph includes second list item 1016b of list of items 1016, and the fourth paragraph includes third list item 1016c of list of items 1016. Alternatively, for the combination of list structure and paragraph structure, communication 1012a can be described as including two paragraphs (e.g., first element), wherein the first paragraph includes greeting 1014, and the second paragraph includes three list items (e.g., second element). That is, the second paragraph can be described as including first list item 1016a, second list item 1016b, and third list item 1016c of list of items 1016. It should be understood that the above description of the structure of communication 1012a is provided for exemplary purposes and is not intended to limit the scope of the disclosure herein, that is, there are other methods for describing the message structure and any suitable description may be adopted without departing from the present disclosure.
[0188] As described above, you can reply to a question by selecting an inline reply link (e.g., Fig. 9 924) to insert an inline reply into the communication. Fig.10 As further shown, inline replies 1018a-1018d are displayed below one or more of list items 1016a-1016c. That is, inline reply 1018a is a comment or update about list item 1016a and is displayed below list item 1016a in a colored font (e.g., green). In addition, a user identifier 1020 that references the user (e.g., "Gerald") who sent inline reply 1018a is displayed on the left side of the inline reply. Inline replies 1018b-1018d are comments or updates about list item 1016b. For example, inline reply 1018d sent from Rachel is displayed below list item 1016b in a colored font (e.g., blue), and inline reply 1018c sent from Mike is displayed below list item 1016b in a colored font (e.g., red). List item 1016c has not received a reply yet.
[0189] As shown, inline replies 1018a-1018d are displayed below corresponding list items 1016a and 1016b in different font colors. However, other display methods are available and can be adopted without departing from the present disclosure. For example, inline replies can be displayed as indents below corresponding elements of the message, or inline replies can be displayed as comment bubbles below or next to corresponding elements of the message.
[0190] 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. 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.
[0191] 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.
[0192] 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, scanning component 1111, context identifier 1113, notification component 1115, or conversion 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.11This 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 .
[0193] 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 scanning component 1111, context identifier 1113, notification component 1115, or conversion component 1117, etc.
[0194] 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. In addition, multiple embodiments can be practiced in a general-purpose computer or in any other circuit or system.
[0195] 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.
[0196] 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.
[0197] 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).
[0198] 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 900 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 signals to or receiving signals 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).
[0199] 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.
[0200] 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.).
[0201] 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.
[0202] 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 1266 via the operating system 1264, and vice versa.
[0203] The visual indicator 1220 can be used to provide visual notifications, and / or the audio interface 1274 can be used to generate audible notifications 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, the dedicated processor 1261 and other components can be turned off to save battery power, these devices can also 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 audible signals to the user and receive audible signals 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 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 a peripheral device port 1230 (eg, an onboard camera) to record still images, video streams, and the like.
[0204] 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 .
[0205] 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).
[0206] 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 service 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 a 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.
[0207] Fig.14 An exemplary tablet computing device 1400 that can perform one or more aspects disclosed herein is shown. In addition, 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 practiced with 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.
[0208] 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.
[0209] 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 message transmission system, comprising: at least one hardware processing unit; as well as at least one memory storing computer-executable instructions that, when executed by the at least one hardware processing unit, cause the system to perform operations including: receiving a message, the message being retrieved by a user to identify the user; identifying a device associated with the user; identifying a device type of the identified device and one or more applications on the identified device; generating, based on the device type and the one or more applications, a notification comprising machine-executable instructions that, when accessed and executed by the device, cause the one or more applications to display a notification regarding the user invocation; as well as The notification is sent to the device.
2. The system of claim 1, wherein the operations further comprise: determining whether the identified device is registered with the unified messaging application; as well as In response to determining that the device is not registered with the unified messaging application, the notification is converted.
3. The system of claim 1, wherein the operations further comprise: determining whether the device is registered with a unified messaging application; as well as In response to determining that the device is registered with the unified messaging application, the notification is sent to the device without converting the notification.
4. The system according to claim 1, wherein: Identifying the device associated with the user further includes identifying one or more of: a display type of the device; one or more applications registered for the device; and one or more networks available to the device.
5. The system of claim 2, wherein the operations further comprise: determining that the device is registered with a third-party email messaging application; as well as Responsive to the determination, the notification is converted for transmission to the third-party email messaging application.
6. The system of claim 2, wherein the operations further comprise: determining that the device is registered with the SMS application; as well as Responsive to the determination, the notification is converted for sending to the SMS application.
7. The system of claim 1, wherein the operations further comprise: The notification is determined to be an emergency notification, wherein the notification is generated to include a code specific to the emergency notification to cause at least one action to be performed on the device.
8. The system according to claim 7, wherein: The notification is generated to include code that causes one or more of the following operations to be performed: upon receiving the emergency notification, triggering one of an audio alarm and a visual alarm; Upon receiving the emergency notification, the display of the device flashes; as well as After receiving the emergency notification, a background is presented in red on the electronic display of the device.
9. The system according to claim 2, wherein: Converting the notification is based at least in part on the device.
10. The system of claim 2, the operations further comprising: identifying one or more applications registered for the device; as well as The notification is translated based at least in part on the identified one or more applications.
11. A message transmission method, comprising: receiving a message, the message being retrieved by a user to identify the user; identifying a device associated with the user; identifying a device type of the identified device and one or more applications on the identified device; generating, based on the device type and the one or more applications, a notification comprising machine-executable instructions that, when accessed and executed by the device, cause the one or more applications to display a notification regarding the user invocation; as well as The notification is sent to the device.
12. The method according to claim 11, further comprising: determining whether the identified device is registered with the unified messaging application; as well as In response to determining that the device is not registered with the unified messaging application, the notification is converted.
13. The method according to claim 11, further comprising: determining whether the device is registered with a unified messaging application; as well as In response to determining that the device is registered with the unified messaging application, the notification is sent to the device without converting the notification.
14. The method according to claim 12, further comprising: determining that the device is registered with an email messaging application; as well as Responsive to the determination, the notification is converted for sending to the email messaging application.
15. The method according to claim 12, further comprising: determining that the device is registered with the SMS application; as well as Responsive to the determination, the notification is converted for sending to the SMS application.
16. The method according to claim 11, further comprising: The notification is determined to be an emergency notification, wherein the notification is generated to include a code specific to the emergency notification to cause at least one action to be performed on the device.
17. The method according to claim 16, wherein: The notification is generated to include code that causes one or more of the following operations to be performed: upon receiving the emergency notification, triggering one of an audio alarm and a visual alarm; Upon receiving the emergency notification, the display of the device flashes; as well as After receiving the emergency notification, a background is presented in red on the electronic display of the device.
18. The method according to claim 12, further comprising: identifying one or more applications registered for the device; as well as The notification is translated based at least in part on the identified one or more applications.
19. A non-transitory computer-readable storage medium comprising instructions that, when executed, configure hardware processing circuitry to perform operations for message transfer, the operations comprising: receiving a message, the message being retrieved by a user to identify the user; identifying a device associated with the user; identifying a device type of the identified device and one or more applications on the identified device; generating, based on the device type and the one or more applications, a notification comprising machine-executable instructions that, when accessed and executed by the device, cause the one or more applications to display a notification regarding the user invocation; as well as The notification is sent to the device.
20. The non-transitory computer-readable storage medium of claim 19, the operations further comprising: determining that the notification is an emergency notification, wherein the notification is generated to include code specific to the emergency notification to cause at least one action to be performed on the device, wherein the notification is generated to include code to cause one or more of the following operations: upon receiving the emergency notification, triggering one of an audio alarm and a visual alarm; Upon receipt of the emergency notification, the display of the device flashes; and After receiving the emergency notification, a background is presented in red on the electronic display of the device.
Citation Information
Patent Citations
System and method for unified messaging service
WO2008100594A1
Unified communication system
WO2014046695A1