UNIFIED MESSAGING PLATFORM FOR PROVIDING INTERACTIVE LIST OBJECTS

Information

  • Patent Application
  • 20160344678
  • Publication Number
    20160344678
  • Date Filed
    July 15, 2015
    9 years ago
  • Date Published
    November 24, 2016
    8 years ago
Abstract
A unified messaging platform is described which provides a comprehensive environment for collaboration, file sharing, and project management. In aspects, the unified messaging platform is organized based on one or more teams or projects, where 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 product, etc.), which information is automatically and seamlessly synchronized across the platform such that each team member remains abreast of the current progress and status of a project. Team communication and cooperation regarding project assignments and deliverables are facilitated by interactive list objects. An interactive list object is automatically updated regarding the progress of project assignments. Moreover, updates to the interactive list object are automatically synchronized and displayed to team members in a single version of the interactive list object across multiple views of the platform.
Description
BACKGROUND

Numerous and diverse communications platforms are currently available. Some communications platforms, e.g., messaging and/or email platforms, allow for a certain amount of interoperability. However, these platforms fail to adequately address the needs and requirements of contemporary team environments. For example, traditional email applications are configured such that each message is addressed to one or more recipients by the sender. It is often difficult for the sender to know which recipients would be interested in receiving certain information, which leads to message forwarding and/or overlooking relevant or key individuals. In the case of message forwarding, the communication chain becomes fractured, which results in disparate information being provided to various members of a team. Moreover, when certain members are overlooked and/or excluded, information that would be useful to the whole team is archived and acted on by only a subset of the team. The above deficiencies are compounded by the fact that email messaging is overused for too many purposes—e.g., from messages as basic as requesting approval from the recipient to messages attaching critical vision documents for an organization—which leads to overloaded inboxes and overwhelmed recipients.


Other communication tools and mediums have been developed to fill the gaps, such as instant messaging, short message service (SMS), Yammer, Skype, SharePoint, etc., but these tools add complexity rather than an overarching solution. For instance, while these additional communications tools are useful in point solutions, they also create the need for users to visit multiple locations to obtain a complete picture of related information, tasks and obligations.


It is with respect to these and other general considerations that embodiments have been described. Also, 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

The disclosure generally relates to methods and systems for providing a unified messaging platform. The unified messaging platform provides a comprehensive environment for collaboration, file sharing, and project management. In aspects, the unified messaging platform is organized based on one or more teams or projects, where 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 product, etc.), which information is automatically and seamlessly synchronized across the platform such that each team member remains abreast of the current progress and status of a project. For instance, team communication and cooperation regarding project assignments and deliverables are facilitated by interactive list objects. In aspects, interactive list objects may link project assignments to team members (e.g., task objects) or link project assignments to communications (e.g., communication objects). As status updates and/or communications regarding project assignments are received, they are automatically synchronized and reflected in a single version of the interactive list object in a conversation tab between team members, as well as in a lists tab storing interactive list objects associated with a team and/or an activity tab storing interactive list objects associated with an accessing user. These and other features will be detailed and described herein.


In aspects, 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 of creating a list object. The method performed by the system includes creating a list object by receiving at least one item, receiving at least one parameter related to the at least one item; and linking an interactive control to the at least one parameter. The method further includes embedding the list object in a message to form an object embedded message and sending the object embedded message to one or more endpoints.


In further aspects, 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 performed by the system includes receiving a message including a list object, the list object including at least one item, at least one parameter relating to the at least one item, and an interactive control for updating the list object. The method further provides that, in response to a selection of the interactive control, an update to the list object is received within the message and the update is applied to the list object to form an updated list object within the message.


In still further aspects, a method of receiving an update to a list object is provided. The method includes receiving a list object, the list object including at least one item, at least one parameter relating to the at least one item, and an interactive control for updating the list object. The method further provides that, in response to a selection of the interactive control, an update to the list object is received and the update is applied to the list object to form an updated list object.


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

Non-limiting and non-exhaustive examples are described with reference to the following Figures.



FIG. 1 illustrates an exemplary conceptual model for a unified messaging platform, according to an example embodiment.



FIG. 2A illustrates an exemplary interface for interacting with the unified messaging platform, according to an example embodiment.



FIG. 2B illustrates an exemplary interface for interacting with the unified messaging platform, according to a second example embodiment.



FIG. 2C illustrates an exemplary interface for interacting with the unified messaging platform, according to a third example embodiment.



FIG. 2D illustrates an exemplary interface for interacting with the unified messaging platform, according to a fourth example embodiment.



FIG. 2E illustrates an exemplary interface for interacting with the unified messaging platform, according to a fifth example embodiment.



FIG. 2F illustrates an exemplary mobile interface for interacting with the unified messaging platform, according to an example embodiment.



FIG. 2G illustrates an exemplary mobile interface for interacting with the unified messaging platform, according to a second example embodiment.



FIG. 3 illustrates an exemplary system implemented on a computing device for message handling, according to an example embodiment.



FIG. 4 illustrates an exemplary method for creating a list object, according to an example embodiment.



FIG. 5 illustrates an exemplary method for embedding a list object into a message, according to an example embodiment.



FIG. 6 illustrates an exemplary method for receiving an update to a list object, according to an example embodiment.



FIG. 7 illustrates an exemplary interface for creating a list object, according to an example embodiment.



FIG. 8 illustrates an exemplary interface for updating a list object, according to an example embodiment.



FIG. 9 illustrates an exemplary interface for updating a list object, according to a second example embodiment.



FIG. 10 illustrates an exemplary interface for updating a list object embedded in a message, according to an example embodiment.



FIG. 11 is a block diagram illustrating example physical components of a computing device with which aspects of the disclosure may be practiced.



FIGS. 12A and 12B are simplified block diagrams of a mobile computing device with which aspects of the present disclosure may be practiced.



FIG. 13 is a simplified block diagram of a distributed computing system in which aspects of the present disclosure may be practiced.



FIG. 14 illustrates a tablet computing device for executing one or more aspects of the present disclosure.





DETAILED DESCRIPTION

In the following detailed description, references are made to the accompanying drawings that form a part hereof, and in which are shown by way of illustrations 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. Embodiments may be practiced as methods, systems or devices. Accordingly, embodiments may take the form of a hardware implementation, an entirely software implementation, or an implementation combining software and hardware aspects. The following detailed description is therefore not to be taken in a limiting sense, and the scope of the present disclosure is defined by the appended claims and their equivalents.


In particular, a unified messaging platform is described which provides a comprehensive environment for collaboration, file sharing, and project management. In aspects, the unified messaging platform is organized based on one or more teams or projects, with each team or project further organized by customizable categories, such as finance, engineering, launch readiness, debugging, catering, construction, general, random, and the like. A user interface is provided for ready access to information related to each category (e.g., communications, files, tasks, work product, etc.), which information is organized by pages or tabs for each category. Moreover, documents, project updates, tasks, and communications between team members are automatically and seamlessly synchronized across the platform such that each team member remains abreast of the current progress and status of a project. For instance, team communication and cooperation regarding project assignments and deliverables are facilitated by interactive list objects. In aspects, interactive list objects may link project assignments to team members (e.g., task objects) or link project assignments to communications (e.g., communication objects). As status updates and/or communications regarding project assignments are received, they are automatically synchronized and reflected in a single version of the interactive list object in a conversation tab between team members, as well as in a lists tab storing interactive list objects associated with a team and/or an activity tab storing interactive list objects associated with an accessing user. It is with respect to these and other general considerations that embodiments have been made.



FIG. 1 illustrates an exemplary system for providing a unified messaging platform, according to an example embodiment.


In aspects, a unified messaging platform (UMP) 105 may be implemented via a client unified messaging application 104a executed on client computing device 104 in communication with a server unified messaging application executed on a server computing device 106. In some aspects, the client computing device 104 may comprise a client-side object model 107 in communication with a server-side object model 109 (e.g., implemented by 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: a mobile telephone; a smart phone; a tablet; a phablet; a smart watch; a wearable computer; a personal computer; a desktop computer; a laptop computer; a gaming device/computer (e.g., Xbox); a television; and the like. This list is exemplary only and should not be considered as limiting. Any suitable client computing device for executing a messaging application may be utilized.


The unified messaging platform 105 is a communication system/service that provides a collaborative environment for users to communicate and collaborate. The unified messaging platform 105 is shown by a dashed line, illustrating that implementation of the unified messaging platform 105 may involve the front end 106a, middle tier 106b and/or the back end 106c of server computing device 106, among other examples. In aspects, server computing device 106 may include one or more server computing devices 106. In an example the unified messaging platform 105 presents a configurable and extensible workspace for collaboration between users through a user interface (UI) that may comprise a plurality of different views. Users of the unified messaging platform 105 may be include but are not limited to: one or more persons, companies, organizations, departments, virtual teams, ad-hoc groups, vendors, customers, third-parties, etc. Users of the unified messaging platform 105 may 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 who are organized in teams or groups as well as users/groups outside of a team/group. Policies may be set for teams/groups by one or more administrators of a team/group and by administrators of the unified messaging platform 105. Examples described throughout the present disclosure are designed to accommodate to protect user privacy. Protection of sensitive information, including legally protected data and personally identifiable information, is a paramount consideration for implementing examples described herein. For instance, users may set privacy settings for what data that can displayed/shared, and examples described herein comply with such settings as well as laws related to distribution of data and protection of privacy.


As illustrated in FIG. 1, systems and/or services associated with the unified messaging platform 105 may be implemented as a front end 106a, a middle tier 106b, and a back end 106c on a server computing device 106. However, one skilled in the art will recognize that the unified messaging platform 105 may be implemented across one or more components of 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 server computing device 106 may send information and commands via the client unified messaging application 104a to the client computing device 104. For instance, the middle tier 106b and/or the back end 106c of the server computing device 106 may receive information and commands from the client computing device 104 via the client unified messaging application 104a. In other aspects, the front end 106a may act as an intermediary between the client computing device 104 and the middle tier 106b. That is, front end 106a may exchange commands and information with the client computing device 104 and may also exchange the commands and information with middle tier 106b. In an example, the unified messaging platform 105 includes a server unified messaging application executing on server computing device 106 via front end 106a, middle tier 106b, and a back end 106c in communication with the client unified messaging application 104a.


In some aspects, the back end 106c may further comprise or be in communication with one or more application agents 106d to facilitate interoperability and communication with one or more external services 114. More specifically, application agents 106d may interface with external services 114 using webhooks 106e in order to facilitate integration between the unified messaging platform 105 and external services 114. External services 114 are services and/or websites that are hosted or controlled by third parties. For example, external services 114 may include line-of-business (LOB) management services, customer relationship management (CRM) services, debugging services, accounting services, payroll services, etc. External services 114 may further include other websites and/or applications hosted by third parties, 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, analytics, data compilation and/or storage service, etc., whereas other external services 114 may provide search engines or other access to data and information, images, videos, and the like.


In aspects, data or information may be shared between server computing device 106 and the one or more external services 114. For example, business contacts, sales, etc., may be input via a client computing device 104 in communication with server computing device 106, which is in communication with CRM software hosted by a third party. The third party CRM software may track sales activity, marketing, customer interactions, etc., to provide analytics or other information for promoting business relations. Alternatively, a manufacturing work order may be input via a client computing device 104 in communication with server computing device 106, which is in communication with LOB management software hosted by a third party. The LOB management software may guide and track the work order by creating work flows such as tasks or alerts for scheduling manufacturing equipment, ordering raw materials, scheduling shipping, relieving inventory, etc. In some cases, the LOB management software may create requests for user approval or review at different stages of a work flow. In still further aspects, a user may issue a query to one or more of the external services 114, such as a request for business contacts, sales for the prior month, the status of a work order, or a search query or request for an image, etc.


As illustrated by FIG. 1, the server computing device 106 may communicate with external services 114 and client computing device 104 via a network 108. In one aspect, the network 108 is a distributed computing network, such as the Internet. In aspects, the unified messaging platform 105 may be implemented on more than one server computing device 106, such as a plurality of server computing devices 106. As discussed above, the server computing device 106 may provide data to and from the client computing device 104 through the network 108. The data may be communicated over any network suitable to transmit data. In some aspects, the network 108 is a computer network such as an enterprise intranet and/or the Internet. In this regard, the network 108 may include a Local Area Network (LAN), a Wide Area Network (WAN), the Internet, wireless and wired transmission mediums. In further aspects, server computing device 106 may communicate with some components of the system via a local network (e.g., an enterprise intranet), whereas server computing device 106 may communicate with other components of the system via a wide area network (e.g., the Internet).


According to further aspects, 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 proof that it is “authentic” or that it is “authorized” to access or communicate with another device, application, component, user, etc. Authentication may involve the use of third party digital certificates, authentication tokens, passwords, symmetric or asymmetric key encryption schemes, shared secrets, authentication protocols, or any other suitable authentication system or method either now known or developed in the future. In 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 linking 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.


The unified messaging platform 105 executing operations on the server computing device 106 may further be in communication with one or more enterprise applications (e.g., enterprise stack 110). 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, and the like. The enterprise stack 110 may be stored and/or executed locally, e.g., within an enterprise intranet, or in distributed locations over the Internet. In some cases, enterprise stack 110 may be included within server computing device 106. For example, active directory 110a may be included as part of back end 106c of server computing device 106. In some instances, enterprise stack 110 may reside or communicate with the unified messaging platform 105 within a trusted environment. In aspects, information and/or messages received, sent or stored via the unified messaging platform 105 may be communicated to the enterprise stack 110. Moreover, information and/or messages received, sent or stored via the enterprise stack 110 may be communicated to the unified messaging platform 105.


Additionally, in some aspects, the unified messaging platform 105 executing on the server computing device 106 may be in communication with one or more third party messaging applications 116. Third party messaging applications 116 are messaging applications that are hosted or controlled by third parties, including third party email messaging applications, SMS applications, instant messaging applications, social networking applications, and the like. In aspects, some users who are members of a team may be registered with the unified messaging platform 105 (e.g., internal users), whereas other users who are members of the team may not be registered with the unified messaging platform 105 (e.g., external users) but may be registered with one or more third party messaging applications 116. In some aspects, users who are registered with an enterprise messaging application 110b, but not with the unified messaging platform 105, are considered external users. In this case, the unified messaging platform 105 may 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 external users. In some aspects, communication between the unified messaging platform 105 and the one or more third party messaging applications 116 and/or the one or more enterprise messaging applications 110b over network 108 may involve authentication 112. In other aspects, communication between the unified messaging platform 105 and, for example, the one or more enterprise messaging applications 110b, may not involve authentication 112.


As should be appreciated, the various devices, components, etc., described with respect to FIG. 1 are not intended to limit the systems and methods to the particular components described. Accordingly, additional topology configurations may be used to practice the methods and systems herein and/or some components described may be excluded without departing from the methods and systems disclosed herein.



FIG. 2A illustrates an exemplary interface for interacting with the unified messaging platform, according to a first example embodiment.


In aspects, a user may interact with a unified messaging platform via a user interface 200, e.g., a graphical user interface. An exemplary unified messaging platform 105 is provided in the description of FIG. 1, and further described throughout the rest of the present disclosure such as in FIGS. 2A-2G, among other examples. In some aspects, the user interface 200 may involve one or more panes or windows for organizing the display of information and/or interactive controls. In one example, the user interface 200 may include three panes, e.g., a left rail 202, a center pane 204, and a right rail 206. In another example, the user interface 200 may include two panes, e.g., a left rail and a right rail. In still other examples, the user interface 200 may include one pane, four or more panes, and/or panes may be embodied in multiple browser or application windows.


As detailed above, each pane or window may display information in the form of text, graphics, etc., and/or one or more interactive controls or links. For example, a first pane, e.g., left rail 202, may display one or more teams 208, an email portal, etc. As used herein, a team refers to any group of two or more users formed for one or more purposes. A team may be formed for any conceivable purpose or purposes, e.g., a business purpose, a social purpose, a charitable purpose, and the like. Moreover, a team may comprise any type of user, e.g., co-workers, family members, classmates, business associates, and the like. In aspects, a team may be formed within the unified messaging platform 105 by creating a team title, e.g., leadership team, design team, event team, project team, etc., and adding users (e.g., members) to the team. For example, in a settings or administration pane (not shown), members may be added to the team by selecting an identifier of a user, e.g., a user icon, a user email, a user phone number, etc. In at least some aspects, each member of a team is granted access to a team portal or channel. Furthermore, any number of teams may be created within the unified messaging platform 105 and/or teams may be implicitly created based on communications between two or more users.


A team portal may provide access to all communications, files, links, lists, hashtags, development tools, etc., shared by any member of a team. According to embodiments, in response to selection (e.g., by clicking) of a team 208 within a pane, e.g., the left rail 202, a team portal may be opened. A team portal refers to an access point through which team members can view and interact with shared information and other team members. In at least some cases, each member of a team is granted full access to the information and conversations shared within the team portal. In aspects, in response to selection of a team 208, general information regarding 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 addresses, phone numbers, etc.), member usage time, project specifications, project time lines, project mission, and the like, may be displayed in the center pane 204.


A team portal may be further organized based on customizable categories 210 of information for a team 208. For example, any suitable category 210 for organizing team information may be created for a team portal, e.g., finance, engineering, launch readiness, debugging, catering, construction, general, random, and the like. In aspects, information related to a category 210 may be displayed in center pane 204 in response to selecting a category 210 of a team 208 within left rail 202. In some instances, each member of a team is granted full access to information associated with each category 210 of a team 208 within the team portal.


As noted above, a team portal may provide access to all communications, files, links, lists, hashtags, etc., shared by members of a team 208. In aspects, within each category 210, information may further be organized by tabs or pages. For example, each tab 212 may display a different type of information associated with a category 210 in the center pane 204. When selected, a tab 212 may be identified by highlighting, with a different font or font color, by outlining, underlining, etc. As illustrated by FIG. 2A, in response to selection of a first tab (e.g., conversations tab 212a, denoted by underlining) communications 218 between team members may be displayed in center pane 204. As used herein, the term “communication” may be used interchangeably with the term “message.” As used herein, the term “communication” may be used interchangeably with the term “message.” In aspects, a conversation 216 entails two or more communications 218 of any type or mode between team members. In some cases, a conversation 216 may be displayed in ascending order with the most recent communication 218 displayed at the bottom of the center pane 204. Alternatively, a conversation 216 may be displayed in descending order with the most recent communication 218 displayed at the top of the center pane 204.


In some cases, described further below, one or more communications 218 (e.g., communications 218a and 218b) may be grouped as a conversation thread 220. A communication 218 refers to a single message transmitted by a team member in any format (e.g., email, SMS, instant message, etc.) via any mode (e.g., via the unified messaging platform, or via any enterprise or third party messaging application). That is, messages may be generated within the unified messaging platform between internal users or messages may be communicated to and from external users via enterprise messaging applications (e.g., enterprise messaging application 110b) and/or third party messaging applications (e.g., third party messaging applications 116).


As provided above, each pane or window may display information and/or interactive controls. For example, a third pane, i.e., right rail 206, may display context information, status information, recent activity, and the like. In some aspects, information displayed in the right rail 206 may be related to or associated with the category 210 selected in the left rail 202 and/or the tab 212 selected in the center pane. For instance, where the center pane 204 displays communications, files, links, lists, hashtags, etc., related to a category 210a entitled “New Product Launch,” the right rail 206 may display one or more recent files 222, recent links 224, tags 226, or active people 228 related to the New Product Launch. In some aspects, at least some of the information displayed in the right rail 206 may be specific to a particular user (e.g., the particular user accessing the team portal via a client computing device 104, “accessing user”). For example, the particular user accessing the team portal may be identified by a name, icon, or the like, within right rail 206, such as user name 230a or user icon 230b. That is, in some cases, the recent files 222 and/or recent links 224 related to the New Product Launch may have been recently accessed or uploaded by the accessing user. Moreover, the right rail 206 displayed for another user accessing the same category 210 may display a different set of recent files 222 or recent links 224. In further examples, additional or different information relevant to a category 210 and a particular user may be displayed in the right rail 206, e.g., user tasks, user alerts, user calendar, user notes, etc.


According to additional aspects, center pane 204 may include a search field 240. For example, search field 240 may allow a user to search within a team portal for any communication, file, link, list, hashtag, term, team member, calendar, task, event, and the like, related to a team 208. In aspects, search field 240 may allow for plain language searching, Boolean searching (e.g., searching using Boolean operators), or otherwise. In response to entering one or more search terms 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.


As should be appreciated, the various features and functionalities of user interface 200 described with respect to FIG. 2A are not intended to limit associated systems and methods to the particular features and functionalities described. Accordingly, additional features and functionalities may be associated with the systems and methods described herein and/or some features and functionalities described may be excluded without departing from the systems and methods described herein.



FIG. 2B illustrates an exemplary interface for interacting with the unified messaging platform, according to a second example embodiment.


As described above, the unified messaging platform may provide a user interface 200 including three panes, e.g., a left rail 202, a center pane 204, and a right rail 206. As illustrated by FIG. 2B, the unified messaging platform may provide a variety of options for generating communications. For example, the unified messaging platform may provide a new message input field, e.g., new message input field 232, for sending an instant message, SMS, or other “text-like” communication. In aspects, new message input field 232 may allow entry of text, entry of commands, entry of user callouts, entry of hashtags, entry of images, entry of rich web content, entry of rich interactive content, etc. New message input field 232 may further include controls 268 for attaching files, inserting emoticons, etc. However, in at least some aspects, new message input field 232 may not provide for entry of recipients or a subject line. In response to inputting a message into a new message input field 232 and hitting “send or “enter,” a communication from a user may automatically post to a conversation as a new “text-like” message. According to further aspects, new message input field 232 may include optional controls 266 (denoted as an ellipsis) for expanding the new message input field 232 into an email interface object (e.g., email interface object 238 described below).


Alternatively, the unified messaging platform may provide a reply link 234 associated with each communication of a conversation. In some aspects, reply link 234 is displayed near each communication of a conversation, e.g., to the right of a sender or subject line for a communication (not shown), indented below a communication (shown), up and to the right of a communication (not shown), and the like. Alternatively, reply link 234 may not be displayed unless and until a communication is clicked, hovered over, touched or otherwise identified with an input device (e.g., mouse, pointer, etc.). Upon display and in response to selection of a reply link 234 associated with a particular communication, a message reply input field may be displayed (not shown). Similar to the new message input field 232, the message reply input field may allow entry of text, entry of commands, entry of hashtags, attachment of files, insertion of emoticons, etc. However, in this case, in response to inputting a message and hitting “send” or “enter,” a communication from the user may automatically post within a conversation thread 220 associated with the particular communication. In aspects, as illustrated by FIG. 2A, secondary communications 218b within a conversation thread 220 may be displayed as indented, bulleted, or otherwise offset below a primary or initial communication 218a (in above example, the “particular communication” may be referred to as a “primary communication”).


Alternatively still, the unified messaging platform may provide an email control 236 for accessing an email interface object, e.g., email interface object 238, to send “email-like” communications. In aspects, email interface object 238 may allow similar actions to new message input field 232, such as an input field 276 for entry of text, entry of commands, entry of hashtags, etc., and controls 268 for attachment of files, insertion of emoticons, etc. Additionally, email interface object 238 may provide controls 278 for altering text font and size, bulleting text, etc., and controls 270 for sending, saving a draft email, deleting, etc. Email interface object 238 may further provide a recipient field 272 for inputting or selecting recipients and a subject field 274 for inputting a subject line, and the like. In response to inputting a message into an email interface object 238 and hitting “send” or “enter,” a communication from the user may automatically post to the conversation as a new “email-like” message.


As should be appreciated, the various features and functionalities of user interface 200 described with respect to FIG. 2B are not intended to limit associated systems and methods to the particular features and functionalities described. Accordingly, additional features and functionalities may be associated with the systems and methods described herein and/or some features and functionalities described may be excluded without departing from the systems and methods described herein.



FIG. 2C illustrates an exemplary interface for interacting with the unified messaging platform, according to a third example embodiment.


As described above, the unified messaging platform may provide a user interface 200 including three panes, e.g., a left rail 202, a center pane 204, and a right rail 206. Moreover, as described above, each tab 212 may display a different type of information associated with a category 210a in the center pane 204. For example, as illustrated by FIG. 2C, a second tab (e.g., files tab 212b) may be selected (denoted by underlining) to display files 242 shared between team members. Files 242 may include any type of file, e.g., document files, spreadsheet files, presentation files, image files, video files, audio files, note files, and the like.


In some aspects, files 242 displayed in files tab 212b include files that were sent as attachments to communications 218 between team members. That is, the unified messaging application may extract files sent as attachments and automatically save them in files tab 212b. In other aspects, as illustrated by FIG. 2C, a file upload field 244 may be provided. In response to selecting file upload field 244, one or more files 242 may be saved to the files tab 212b by a user. For example, in response to selection of file upload field 244, a browsing box (not shown) may be activated for retrieving a file for upload. Alternatively, a command may be entered (e.g., “/file”) for retrieving a file for upload. Alternatively still, a file may be copied and pasted into file upload field 244. In aspects, any suitable method for uploading and saving a file to the files tab 212b may be implemented. In at least some aspects, a single version of a first file with a first file name exists in files tab 212b such that any annotations (e.g., revisions, comments, or other data) made to the first file are synchronized and stored within the single version. In some aspects, upon saving the first file with a second file name, a second file can be created, attached, and/or uploaded to files tab 212b.


According to further examples, a third tab (e.g., links tab 212c) may display links (e.g., hyperlinks) shared between team members. In some aspects, links displayed in the links tab 212c include links that were sent within the body of a communication or as attachments to a communication between team members. That is, the unified messaging application may extract links sent within or as attachments to communications and may automatically save them to the links tab 212c. In other aspects, a link upload field (not shown) may be provided. In response to selecting the link upload field, one or more links may be saved to the links tab 212c by a user. For example, in response to selection of a link upload field, a browsing box (not shown) may be activated for retrieving a link for upload. Alternatively, a command may be entered (e.g., “/link”) for retrieving a link for upload. Alternatively still, a link may be copied and pasted into the link upload field. In aspects, any suitable method for uploading and saving a link to the links tab 212c may be implemented.


A fourth tab (e.g., lists tab 212d) may display list objects and/or other information, data, files, images, etc., shared between team members. In aspects, list objects may include lists, tables, charts, or other organized forms of data. In some aspects, list objects displayed in lists tab 212d include list objects that were sent within the body of a communication 218 or as an attachment to a communication 218 between team members. That is, the unified messaging application may extract list objects sent as attachments or within a message body and automatically save them to lists tab 212d. As used herein, a message body refers to content displayed within a communication (e.g., excluding recipient, sender, time stamp, subject information, confidentiality disclaimer, etc.) that need not be activated or opened for viewing.


In other aspects, a list object may be created or uploaded by a user within lists tab 212d. For example, a list creation control (not shown) may be provided for creating a list object. In some cases, in response to selecting the list creation control, a list object may be created and inserted in a message body and/or attached to a message. In response to creating the list object, the list object may be automatically saved to the lists tab 212d. Alternatively, a list upload field (not shown) may be provided. In response to selecting a list upload field, one or more list objects may be selected, uploaded and saved to the lists tab 212d by a user, as described similarly above. In at least some cases, a single copy of each list object may exist such that if data is updated in any view, e.g., within the communications tab 212a or the lists tab 212d, the list object is automatically updated and synchronized across all other views.


According to aspects, any number of tabs 212 may be created for organizing and sequestering various forms of information related to a category 210a. For example, a hashtag tab may be included to store various hashtags created within communications between team members. In additional examples, custom or extensibility tabs may be created, e.g., a tab for a spreadsheet dashboard, a tab for a webpage, a tab for a custom application, a tab for a system plugin, and the like.


In further aspects, additional interactive controls or links (e.g., controls 246) may be provided, e.g., in left rail 202, for quickly and easily accessing communications, files, lists, links, tags, etc., related to a team 208. For example, people control 246a may access team members and/or conversations stored in the team portal, files control 246b may access files stored in the team portal, lists control 246c may access lists stored in the team portal, links control 246d may access links stored in the team portal, and hashtags control 246e may access hashtags stored in the team portal. In some aspects, selection of a control 246 may display a corresponding tab view within the center pane 204. In other aspects, selection of a control 246 may display results for all categories within a team portal, e.g., in the form of search results associated with a particular control 246.


As illustrated by FIG. 2C, in response to selection of a files tab 212b, the right rail 206 may display different information than when a different tab 212 is viewed in center pane 204. For example, selecting or highlighting a file 242a in center pane 204 may cause information related to file 242a to be displayed in the right rail 206. For instance, a file history 262 for the file 242a may be displayed in the right rail 206. The file history 262 may include information such as a user identifier for a user who uploaded the file 242a, a user who authored the file 242a, a user who edited the file 242a, a file creation date, a file revision date, and the like. The right rail 206 may further display recent comments 264 regarding file 242a. In aspects, any information related to file 242a may be displayed in right rail 206.


As should be appreciated, the various features and functionalities of user interface 200 described with respect to FIG. 2C are not intended to limit associated systems and methods to the particular features and functionalities described. Accordingly, additional features and functionalities may be associated with the systems and methods described herein and/or some features and functionalities described may be excluded without departing from the systems and methods described herein.



FIG. 2D illustrates an exemplary interface for interacting with the unified messaging platform, according to a fourth example embodiment.


As described above, the unified messaging platform may provide a user interface 200 including three panes, e.g., a left rail 202, a center pane 204, and a right rail 206. In further aspects, the left rail 202 may include an email portal 214. Unlike a team portal, email portal 214 may be an access point through which a particular user can view and interact with his or her email messages inside or outside of the context of a team. In aspects, in response to selection of email portal 214, a second pane, e.g., center pane 204, may display a user's email messages. Center pane 204 may further display a user identifier 248 as a header, e.g., a user email address, a user name, a user icon, and the like. Center pane 204 may provide one or more tabs 250 for organizing the user's email messages. Tabs 250 may include, for instance, an inbox tab 250a, a files tab 250b, a links tab 250c, a sent tab 250d, a drafts tab 250e, a deleted tab 250f, and the like. For example, a user's inbox of messages may be displayed in the center pane 204 in response to selection of inbox tab 250a (denoted by underlining). In some aspects, the user's inbox of messages may include all messages sent to the user, e.g., messages between team members, including internal and external users, as well as messages between entities and users that are not team members.


In some aspects, the user's email messages 280 in inbox tab 250a may be displayed in a summary list format (shown) in descending order based on a date the email message was received with the most recent email message displayed at the top of center pane 204. The summary list format may display a portion of each email message, e.g., a sender, a subject line, and a portion of text for each email message.


In alternative aspects, the user's email messages in inbox tab 250a may be displayed in a conversation thread format (not shown). A conversation thread format may display email messages which are replies to a primary email message as indented, bulleted, or otherwise offset below a primary email message. In at least some aspects, each conversation thread may be displayed in descending order based on a date the last email message in the conversation thread was received, with the most recent conversation thread displayed at the top of center pane 204. In this case, individual communications (e.g., communications that have not been replied to) may be interspersed among and between conversation threads in descending order based on a date the individual communication was received. In other aspects, each conversation thread may be displayed in ascending order based on a date the last email message in the conversation thread was received with the most recent conversation thread displayed at the bottom of center pane 204. In this case, individual communications may be interspersed among and between conversation threads in ascending order based on a date the individual communication was received.


In further aspects, email messages that have been opened or viewed may be displayed within the in inbox tab 250a of center pane 204 with normal text, whereas email messages that have not been opened or viewed may be displayed within the center pane 204 with at least portions of the email message in bold text (e.g., a sender and/or a subject line may be displayed with bold text).


As should be appreciated, the various features and functionalities of user interface 200 described with respect to FIG. 2D are not intended to limit associated systems and methods to the particular features and functionalities described. Accordingly, additional features and functionalities may be associated with the systems and methods described herein and/or some features and functionalities described may be excluded without departing from the systems and methods described herein.



FIG. 2E illustrates an exemplary interface for interacting with the unified messaging platform, according to a fifth example embodiment.


As described above, the unified messaging platform may provide a user interface 200 including three panes, e.g., a left rail 202, a center pane 204, and a right rail 206. As described above, in response to selection of email portal 214, center pane 204 may display a user's email messages. In some aspects, as illustrated by FIG. 2E, a user's email messages may be organized based on conversations 252 between one or more users. For example, as shown in left rail 202, a conversation 252a between a first user and a second user (e.g., Rachel) may be displayed separately from a conversation 252b between the first user, a third user (e.g., Rob) and fourth user (e.g., Sofia).


In aspects, by selecting a conversation 252 displayed in the left rail 202, communications between the one or more users may be displayed in center pane 204. As illustrated in FIG. 2E, conversation 252c has been selected and the communications 254 between the first user and the second user (e.g., Rachel), the third user (e.g., Rob), a fifth user (e.g., Jim), and a sixth user (e.g., Sophia) are displayed in center pane 204. In this example, the first user refers to the accessing user (e.g., Ping Li) identified by user name 256a and user icon 256b.


In aspects, communications 254 of conversation 252c may be displayed in descending order based on a date each communication 254 was received with the most recent communication 254 displayed at the top of center pane 204. In other aspects, communications 254 of conversation 252c may be displayed in ascending order based on a date each communication 254 was received with the most recent communication 254 displayed at the bottom of center pane 204.


In further aspects, information related to conversation 252c may be organized by tabs or pages. For example, each tab 258 may display a different type of information associated with conversation 252c in the center pane 204. When selected, a tab 258 may be identified by highlighting, with a different font or font color, by outlining, underlining, and the like. As illustrated by FIG. 2E, a first tab (e.g., conversation tab 258a) may display the communications 254 between the first user, second user, third user, fifth user and sixth user. Additional tabs, described in further detail above, may include a second tab (e.g., files tab 258b), a third tab (e.g., links tab 258c), a fourth tab (e.g., lists tab 258d), and the like, for displaying files, links, lists, etc., shared between participants in the conversation 252c. For example, as illustrated by FIG. 2E, a list object 260 was inserted in communication 254a from the second user (e.g., Rachel). In aspects, as described above, the list object 260 may be accessed from the conversation tab 258a or from the lists tab 258d.


As illustrated by FIG. 2E, when viewing a conversation 252c between the first user, second user, third user, fifth user and sixth user, the right rail 206 may display information associated with the conversation 252c and/or the users participating in the conversation 252c. For example, the right rail 206 may display group availability 282 for the users participating in the conversation 252c. The right rail 206 may further display common meetings 284 between the users participating in the conversation 252c. In aspects, any information related to conversation 252c and/or the participating users may be displayed in right rail 206.


As should be appreciated, the various features and functionalities of user interface 200 described with respect to FIG. 2E are not intended to limit associated systems and methods to the particular features and functionalities described. Accordingly, additional features and functionalities may be associated with the systems and methods described herein and/or some features and functionalities described may be excluded without departing from the systems and methods described herein.



FIG. 2F illustrates an exemplary mobile interface for interacting with the unified messaging platform, according to an example embodiment.


In aspects, a version of the unified messaging platform may provide a user interface 285 for mobile devices. The mobile user interface 285 may provide one or more panes or windows for viewing communications, files, lists, links, etc., associated with one or more teams of which a user is a member. In some aspects, a second pane may be displayed (e.g., second pane 288) in response to swiping a first pane (e.g., first pane 286) in a left-to-right direction or a right-to-left direction.


As illustrated, first pane 286 displays one or more teams (e.g., team 287) and one or more categories (e.g., categories 291). In aspects, a notification (e.g., notification 292) may be displayed near a category (e.g., category 291a) when a new communication, file, list, hyperlink, etc., has been received within the category 291. As further illustrated, second pane 288 displays one or more communications 289 (e.g., communications 289a and 289b), which are each associated with a sender (e.g., senders 290a and 290b).


As should be appreciated, the various features and functionalities of user interface 285 described with respect to FIG. 2F are not intended to limit associated systems and methods to the particular features and functionalities described. Accordingly, additional features and functionalities may be associated with the systems and methods described herein and/or some features and functionalities described may be excluded without departing from the systems and methods described herein.



FIG. 2G illustrates an exemplary mobile interface for interacting with the unified messaging platform, according to a second example embodiment.


As described above, mobile user interface 285 may 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 may further provide a new message input field 295 and an input interface 296 for inputting and sending communications to participants of the conversation 293. In aspects, when a communication is sent to the participants of an ongoing conversation (e.g., conversation 293), new message input field 295 does not require recipient information but may provide a subject input field, e.g., subject input field 297, for inputting a subject of the communication, e.g., “New UX.” In some aspects, new message input field 295 may be similar to an instant, chat, SMS, or similar messaging interface. In other aspects, new message input field 295 may provide functionality similar to an email messaging interface (e.g., allowing for attaching documents, list objects, images, etc.). As illustrated, a communication 298 has been partially input into new message input field 295.


As should be appreciated, the various features and functionalities of user interface 285 described with respect to FIG. 2G are not intended to limit associated systems and methods to the particular features and functionalities described. Accordingly, additional features and functionalities may be associated with the systems and methods described herein and/or some features and functionalities described may be excluded without departing from the systems and methods described herein.



FIG. 3 illustrates an exemplary system implemented on a computing device for message handling, according to an example embodiment.


In aspects, a client computing device 304 may implement a unified messaging application. In some aspects, client computing device 304 may implement a client application 310 for interfacing with unified messaging application 312 implemented on a server computing device 308. In a basic configuration, the client computing device 304 may be described similarly to client computing device 104. However, any suitable client computing device for implementing a unified messaging application 312, or client application 310 of such application, may be utilized.


In aspects, as illustrated in FIG. 3, the unified messaging application 312 may be implemented on a server computing device 308. In a basic configuration, the server computing device 308 may be described similarly to server computing device 106. The server computing device 308 may provide data to and from the client computing device 304 through a network 306, where network 306 is described similarly to network 108. In further aspects, the 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, the server computing device 308 may provide data to and from the client computing device 304 through the network 306. In some cases, a textual or voice input may be received at the client computing device 304 and transmitted over the network 306 for processing by unified messaging application 312 at the server computing device 308.


As illustrated in FIG.3, the unified messaging application 312 may include a create component 314, a link component 316, a transform component 318, an update component 320, and a synchronize component 322. The various components may be implemented using hardware, software, or a combination of hardware and software. The unified messaging application 312 may be configured to receive and process textual and/or voice input messages. In one example, a textual and/or voice input may include phrases, words, and/or terms in the form of a textual and/or spoken language input (e.g., a user text or voice message).


As illustrated by FIG. 3, the client computing device 304 and the server computing device 308 may further be in communication with storage 324 that stores parameters, configuration information, communications, images, documents, list objects, or any other information accessed by unified messaging application 312. Storage 324 may be a local or remote database, within an enterprise intranet, or in distributed locations over the Internet.


In aspects, create component 314 may create and store list objects. In aspects, a list object may act as a centralized hub for team coordination and communication regarding a topic. For example, a list object may be used as a “sign up” board, a progress report for project assignments and pending tasks, a voting or polling object, and the like. Create component 314 may provide any suitable control or interface for creating a list object. In examples, an interface may be displayed in response to selection of a control within an email interface object, within a lists tab of the unified messaging platform, or otherwise.


In some configurations, a list object may be created in a tabular format, including rows of items that are associated with one or more columns of parameters. A structure of a list object may be characterized by identifiers or otherwise indexed. For example, the list object may include one or more fields defined at an intersection of a row and a column of the list object. In some aspects, each item may be associated with an item value (e.g., “code launch file”) and a corresponding item identifier (e.g., task identifier, file identifier), as well as one or more parameter values (e.g., “David”; “05/17/15”; “pending”) associated with corresponding parameter identifiers (e.g., owner, deadline, status).


More specifically, creating a list object may involve entering a topic (e.g., “workstream,” “to do items,” “potluck signup,” “office poll,” and the like). One or more rows of items related to the topic may then be added, such as needs, tasks, files, assignments, etc. In further aspects, columns can be added that specify parameters for each item, e.g., owner, status, deadline, polling, communications, and the like. In some cases, parameter values associated with parameters may be assigned when the list object is created, e.g., an item associated with a particular owner, a particular deadline, and the like. In other cases, the list object may be published to a group and users may “sign up” for one or more items by inputting user identifiers into an “owner” column, for instance.


In some aspects, creating a list object may include selecting a topic from a drop down list. For example, selectable topics for list objects may include “party signup,” “task list,” “polling object,” and the like. In this case, at least some items and/or parameters associated with the selected list object may be predetermined for selection, e.g., for a party signup list object, items for selection may include “drinks,” “dessert,” “utensils,” “main dish,” and the like, and parameters may include, “amount,” “volunteer name,” “contact number,” and the like. In other aspects, creating a list object may involve manually entering the topic, items, and parameters. In still other aspects, creating a list object may involve a combination of manual and selectable inputs. As should be appreciated, the above examples are provided for explanatory purposes and should not be considered limiting to the disclosure provided herein.


Link component 316 may link an interactive control with one or more items and/or parameters in a list object. In aspects, an interactive control may include a click button, hyperlink, drop down list box, option button, check box, date picker, or other active object for performing an action. For example, as described above, an owner parameter of an item may be assigned by inserting a user identifier associated with a user (e.g., user name) into an owner field associated with the item. In aspects, link component 316 may associate a link (e.g., a user's email address) with the user identifier in the list object. In this case, when an item is assigned to a user, a notification of the assignment may be automatically sent to the user's email address. The notification may include a message indicating that the item (e.g., task) has been assigned to the user, and may include additional information regarding the item (e.g., deadline, communications, etc.). In other examples, an interactive control linked to an item or a parameter may be used to update the item or parameter, e.g., including click buttons, check boxes, drop down lists, and the like.


In aspects, interactive controls for an item or a parameter may be linked to an update component (e.g., update component 320) such that selections, updates, values, etc., may be routed to the update component 320. For example, for a status parameter of a task item, a user may select an interactive control associated with the status parameter (e.g., option button) to update the status from “in process” to “completed.” The updated status may then be routed to the update component 320 for notifying other users and for synchronizing the list object across all views (or tabs) of the unified messaging platform. Alternatively, for an owner parameter of a task item, a user may select an interactive control (e.g., drop down list) associated with the owner parameter to update an owner from “David” to “Karen.” The updated owner may then be routed to the update component 320 for notifying other users and for synchronizing the list object across all views (or tabs) of the unified messaging platform. Moreover, Karen and David may further receive a direct notification regarding the change in task ownership.


When a receiving application for a list object or update is not unified messaging application 312 or client application 310, transform component 318 may transform the list object into a format and/or representation that is understood or readable by a receiving application, e.g., a third party messaging application, an enterprise messaging application, and the like. In some aspects, transform component 318 may reformat the list object into a structure renderable by the receiving application. In further aspects, transform component 318 may translate the list object into a representation readable by the receiving application. Transformation may further include transforming interactive controls associated with the list object into a format and/or representation readable by a receiving application. Moreover, when an updated to an item or parameter is received, the update may be transformed into a format and/or representation that is readable by the unified messaging application.


Update component 320 may update a list object with a received value or change (e.g., update) for an item or parameter. In some cases, an update may be received from an endpoint registered with the unified messaging application, whereas in other cases, the update may be received from an endpoint registered with an external application (e.g., third party messaging application, enterprise messaging application, and the like). In addition to updating the list object with the received update, update component 320 may send notifications regarding the update, e.g., to the owner of the affected item, to team members, to a creator of the list object, etc.


Synchronize component 322 may synchronize updates related to the list object such that a single version of the list object is provided within the unified messaging platform. That is, if the list object is embedded in a communication shared between users in a conversation, the list object may be viewable in a conversation tab of the unified messaging platform. Additionally, the list object may be stored in a lists tab. Still further, for a user identified as an owner of a task within the list object, the list object may be stored in an activity tab for the user. In this case, synchronize component 322 may synchronize the update to the list object across all views (or tabs) such that the list object exists as a single version within the unified messaging platform.


Users registered with the unified messaging application may interact directly with the single version of the list object in the conversation tab, an activity tab, and/or a lists tab. Accordingly, updates entered into one view (e.g., tab) may be synchronized across all views (e.g., all tabs). Alternatively, when an update is received from an endpoint registered with an external application, the update may be transformed into a format and/or representation readable by the unified messaging application and routed to update component 320. Update component 320 may update the list object and send any appropriate notifications. Synchronize component 322 may then synchronize the update for the list object across all views to provide a single version of the list object.


Traditionally, when collaborating or coordinating regarding a project, users may send numerous communications back and forth regarding tasks, deadlines, status, etc., which creates confusion, lack of consensus, and distraction among the users. In aspects disclosed herein, a list object may be provided in a single version such that as updates are received, the single version of the list object may be updated and provided on the unified messaging platform. For instance, in the case of a project having numerous deliverables with different deadlines, a user may create a list object by designating each deliverable as an item, assigning an owner and a deadline (e.g., parameters) to each deliverable, and providing a status field with an interactive control (e.g., click button) for updating the status. In this case, team members are able to view progress of the various deliverables as updates in status are received and synchronized in a single version of the list object.


According to further aspects, the client computing device 304 and/or server computing device 308 may be in communication with a third party computing device 326. Third party computing device 326 may be described similarly to server computing device 106 or server computing device 308. In aspects, third party computing device 326 may host one or more third party messaging applications, an enterprise messaging application, a word processing application, a collaborative authoring application, a calendar application, an external services application, etc. In at least some aspects, authentication (e.g., authentication 112) may be required to access third party computing device 326.


As should be appreciated, the various devices, components, etc., described with respect to FIG. 3 are not intended to limit the systems and methods to the particular components described. Accordingly, additional topology configurations may be used to practice the methods and systems herein and/or some components described may be excluded without departing from the methods and systems disclosed herein.



FIG. 4 illustrates an exemplary method for creating a list object, according to an example embodiment.


Method 400 begins with identify operation 402, where a topic for a list object may be identified. In aspects, an interface for creating a list object may be displayed in response to selection of a control within an email interface object, within a lists tab of the unified messaging platform, or otherwise. In some aspects, a list object may be created while drafting a message. For example, an interface within an email interface object may be selected for creating and inserting a list object into the message. The interface may allow for manually entering a topic (e.g., “workstream,” “to do items,” “potluck signup,” “office poll,” and the like). Alternatively, creating a list object may include selecting a topic from a drop down list. For example, selectable topics for list objects may include “party signup,” “task list,” “polling object,” and the like. In other aspects, a list object may be created without selecting or manually entering a topic. Rather, the list object may be created beginning with add item operation 404.


At add item operation 404, one or more items may be added to a list object. An item may include any need, task, file, assignment, query, etc., related to the topic. In aspects, a row may be added to the list object for each item. In some cases, items may be entered manually, whereas in other cases items may be selected from a drop down list. For instance, where a topic is selected from a predetermined list, associated items may also be selected from a predetermined list, e.g., for a “party signup” list object, items for selection may include “drinks,” “dessert,” “utensils,” “main dish,” and the like. In some cases, a combination of customized (e.g., manually entered) and selectable items may be incorporated in a list object.


At add parameter operation 406, one or more parameters may be added for each item. A parameter may include any attribute of an item, e.g., owner, deadline, status, communications, and the like. In aspects, a column may be added to the list object for each parameter. In some cases, values for parameters may be assigned when the list object is created, e.g., a task may be assigned to an owner “David” with a deadline of “May 9, 2016,” and the like. In other cases, columns for parameters may be created (e.g., owner, deadline, status), but values may be left blank. In this case, after a list object is published, a user may “sign up” for one or more items by inputting his or her user identifier into an “owner” column, for instance. In some cases, as detailed above, a topic may be selected from a predetermined list and one or more associated items and/or parameters may also be selected from a predetermined list. In this case, e.g., for a “party signup” list object, items for selection may include “drinks,” “dessert,” “utensils,” “main dish,” etc., and parameters for selection may include, “amount,” “volunteer name,” “contact number,” etc. In some cases, a combination of customized (e.g., manually entered) and selectable parameters may be incorporated in a list object.


At link operation 408, one or more items and/or one or more parameters may be linked to an interactive control in the list object. An interactive control may include a click button, hyperlink, drop down list box, option button, check box, date picker, or other active object for performing an action. For example, as described above, an owner of an item may be assigned by inserting a user identifier associated with a user (e.g., user name) into an owner field associated with the item. In aspects, a link (e.g., a user's email address) may be associated with the user identifier in the list object. In this case, when an item is assigned to a user and linked to the user's email address, a notification of the assignment may be automatically sent to the user. In other examples, an interactive control linked to an item or a parameter may be used to update the item or parameter, e.g., using a click button, a check box, a drop down list, and the like. In this case, for example, a user may update a status for an item by accessing an interactive control (e.g., check box), checking an updated status, and applying the updated status. As should be appreciated, the above examples are offered for explanatory purposes and are not intended to be limiting.


At identify endpoint operation 410, a recipient endpoint registered with a receiving application may be identified. In aspects, in response to creating a list object, the list object may be shared with one or more users at one or more recipient endpoints. In some cases, one or more recipient endpoints may be identified for each user, e.g., a personal computer, a mobile device, a tablet, a smart television, etc. Identifying a recipient endpoint may include identifying a device type for the endpoint (e.g., mobile device, personal computer, tablet computer, etc.), a display type for the endpoint (e.g., monitor, television, touch enabled display, graphical display, alphanumeric display, etc.), applications registered with the endpoint (e.g., enterprise or third party email messaging applications, SMS messaging applications, social networking applications, instant messaging applications, voicemail applications, calendaring applications, etc.), and the like.


At decision operation 412, it is determined whether a recipient endpoint is registered with the unified messaging application. In aspects, whereas a list object may have been created at an endpoint registered with the unified messaging application (e.g., by an accessing user), the list object may be shared with recipients on endpoints that are not registered with the unified messaging application. If a recipient endpoint is registered with the unified messaging application, the method proceeds to share operation 416. Alternatively, if a recipient endpoint is not registered with the unified messaging application, the method proceeds to transform operation 414.


At transform operation 414, the list object may be transformed such that it is readable and/or renderable by one or more receiving applications registered with the one or more recipient endpoints. In some aspects, transforming the list object may involve translating the list object into a representation readable by a receiving application and may also include reformatting the list object such that it is renderable by a receiving application registered with the recipient endpoint. Thus, transforming the list object may be described in terms of a translation process (e.g., providing the list object in a language or representation readable by a consuming application) and a reformatting process (e.g., providing the list object in a structure for rendering by a consuming application and/or by a particular endpoint). In some aspects, the transform operation 414 may involve a single process that transforms the list object into a language or representation readable by a receiving application, where the receiving application performs any processing necessary for rendering or presenting the list object on a particular recipient endpoint.


During transformation, the list object may be reformatted into different structures renderable by different receiving applications, e.g., a first structure renderable by a third party email messaging application and a second structure renderable by an enterprise messaging application. In some cases, aspects of the list object may not be renderable by a particular receiving application and may be altered, e.g., an interactive control provided as a button object may be reformatted as a link or as a check box, etc. Alternatively, an interactive control may not be renderable at all by a receiving application. In this case, input fields may be provided for manually entering one or more values into the list object. In addition to reformatting a structure of the list object, the list object may be translated into different representations (e.g., languages) readable by different messaging applications, e.g., a first representation readable by a third party email messaging application and a second representation readable by an enterprise messaging application.


Transform operation 414 may also consider additional factors, such as a device type and display type, when transforming the list object. For instance, transform operation may include reformatting the list object such that it is renderable by a particular device type having a particular display type. For instance, while a personal computer may be capable of rendering the list object, a mobile device may not have such capability. In this case, the list object may be transformed into an electronic image (e.g., .jpeg) for rendering by the mobile device and the interactive control may be transformed into a link, input field, or other form renderable by the mobile device.


At share operation 416, the list object may be shared with one or more users at one or more recipient endpoints. In some aspects, e.g., when the one or more recipient endpoints are registered with the unified messaging application, the list object may not require transformation. That is, as described above, the list object may be embedded in a message and presented within a conversation tab, or may be shared in an activity tab and/or a lists tab in a center pane of a user interface of the unified messaging platform. Moreover, the list object may be provided in a single synchronized version such that updates received to the list object in any view (e.g., tab) are automatically synchronized across all views.


Alternatively, when a recipient endpoint is not registered with the unified messaging application, share operation 416 may share the list object with a receiving application such as a third party email messaging application or an enterprise messaging application. The receiving application may then render or present a copy of the list object to a user at the recipient endpoint. In this case, when a recipient endpoint is not registered with the unified messaging application, while the list object may include an interactive control for responding to or updating the list object and while the user may benefit from receiving a copy of the list object, the user may not be able to interact with a single synchronized version of the list object but with a copy.


As should be appreciated, operations 402-416 are described for purposes of illustrating the present methods and systems and are not intended to limit the disclosure to a particular sequence of steps, e.g., steps may be performed in differing order, additional steps may be performed, and disclosed steps may be excluded without departing from the present disclosure.



FIG. 5 illustrates an exemplary method for embedding a list object into a message, according to an example embodiment.


Method 500 begins with create operation 502, where a list object is created using the unified messaging application. For instance, an interface for creating the list object may be displayed in response to selection of a control within an email interface object, within a lists tab of the unified messaging platform, or otherwise. As described above, creating a list object may involve entering a topic (e.g., “workstream,” “to do items,” “potluck signup,” “office poll,” and the like). One or more rows of items related to the topic may then be added, such as needs, tasks, files, assignments, etc. In further aspects, columns can be added that specify parameters for each item, e.g., owner, status, deadline, polling, communications, and the like.


At link operation 504, one or more items and/or one or more parameters may be linked to an interactive control in the list object. An interactive control may include a click button, hyperlink, drop down list box, option button, check box, date picker, or other active object for performing an action. For example, as described above, an owner of an item may be assigned by inserting a user identifier associated with a user (e.g., user name) into an owner field associated with the item. In aspects, a link (e.g., a user's email address) may be associated with the user identifier in the list object. In this case, when an item is assigned to a user and linked to the user's email address, a notification of the assignment may be automatically sent to the user. In other examples, an interactive control linked to an item or a parameter may be used to update the item or parameter, e.g., using a click button, a check box, a drop down list, and the like. In this case, for example, a user may update a status for an item by accessing an interactive control (e.g., check box), checking an updated status, and applying the updated status. As should be appreciated, the above examples are offered for explanatory purposes and are not intended to be limiting.


At embed operation 506, the link object may be embedded in a message. Embedding the list object may be implemented by any suitable means. For instance, the list object may be pasted into the message and, in particular, may be embedded into a message body of the message. In further aspects, a location within the message body for embedding the list object may be determined by any suitable means. In some examples, a sender of the message may select a location for embedding the list object. In this case, for example, the sender may place a cursor in a desired location and access a control for creating and embedding a list object into the message. For example, in response to accessing the control (e.g., an “Insert” link), an interface may be displayed for creating and embedding the list object at the desired location. In at least some aspects, when the list object is created and embedded into a message (e.g., communication) within a conversation tab, the list object may also be stored in an activity tab and/or a lists tab of the unified messaging platform.


At identify endpoint operation 508, a recipient endpoint registered with a receiving application may be identified. In aspects, in response to creating a list object and embedding it into a message or communication, the message may be sent to one or more users at one or more recipient endpoints. In some cases, one or more recipient endpoints may be identified for each user, e.g., a personal computer, a mobile device, a tablet, a smart television, etc. Identifying a recipient endpoint may include identifying a device type for the endpoint (e.g., mobile device, personal computer, tablet computer, etc.), a display type for the endpoint (e.g., monitor, television, touch enabled display, graphical display, alphanumeric display, etc.), applications registered with the endpoint (e.g., enterprise or third party email messaging applications, SMS messaging applications, social networking applications, instant messaging applications, voicemail applications, calendaring applications, etc.), and the like.


At decision operation 510, it is determined whether a recipient endpoint is registered with the unified messaging application. In aspects, whereas a list object may have been created at an endpoint registered with the unified messaging application (e.g., by an accessing user), the list object may be sent to recipients on endpoints that are not registered with the unified messaging application. If a recipient endpoint is registered with the unified messaging application, the method proceeds to send operation 514. Alternatively, if a recipient endpoint is not registered with the unified messaging application, the method proceeds to transform operation 512.


At transform operation 512, the message including the list object (hereinafter “object embedded message”) may be transformed such that it is readable and/or renderable by one or more receiving applications registered with the one or more recipient endpoints. In some aspects, for applications other than the unified messaging application, the object embedded message may be altered (i.e., transformed) such that it can be provided to a team member who is not registered with the unified messaging application. That is, transforming the object embedded message may involve translating the object embedded message into a representation readable by a receiving application and may also include reformatting the object embedded message such that it is renderable by a receiving application registered with the recipient endpoint.


In some cases, aspects of the object embedded message may not be renderable by a particular receiving application and may be altered or removed from the message, e.g., an interactive control provided as a button object may be reformatted as a link or as a check box, etc. Alternatively, an interactive control may not be renderable at all by a receiving application. In this case, input fields may be provided for manually entering one or more values into the list object. In addition to reformatting a structure of the object embedded message, the object embedded message may be translated into different representations (e.g., languages) readable by different messaging applications, e.g., a first representation readable by an enterprise messaging application and a second representation readable by a third party email messaging application.


Transform operation 512 may also consider additional factors, such as a device type and display type, when transforming the object embedded message. For instance, transform operation may include reformatting the object embedded message such that it is renderable by a particular device type having a particular display type. For instance, while a personal computer may be capable of rendering the object embedded message, a mobile device may not have such capability. In this case, the object embedded message may be transformed into an electronic image (e.g., .jpeg) for rendering by the mobile device and the interactive control may be transformed into a link, input field, or other form renderable by the mobile device.


At send operation 514, the object embedded message is sent to one or more recipient endpoints. In some aspects, e.g., when the one or more recipient endpoints are registered with the unified messaging application, the object embedded message may not require transformation. That is, as described above, the list object embedded in the message may be presented within a conversation tab, an activity tab, and/or a lists tab in a center pane of a user interface of the unified messaging platform. Moreover, the list object may be represented as a single synchronized version such that updates received to the list object in any view (e.g., tab) are automatically synchronized across all views.


Alternatively, when a recipient endpoint is not registered with the unified messaging application, send operation 514 may send a copy of the object embedded message to a receiving application outside of the unified messaging platform, such as a third party email messaging application or an enterprise messaging application. The receiving application may then render or present the copy of the object embedded message to a user at the recipient endpoint. In this case, when a recipient endpoint is not registered with the unified messaging application, while the object embedded message may include an interactive control for updating the list object and while the user may benefit from receiving a copy of the list object, the user may not interact with a single synchronized version of the list object but with a copy, as described above.


As should be appreciated, operations 502-514 are described for purposes of illustrating the present methods and systems and are not intended to limit the disclosure to a particular sequence of steps, e.g., steps may be performed in differing order, additional steps may be performed, and disclosed steps may be excluded without departing from the present disclosure.



FIG. 6 illustrates an exemplary method for receiving an update to a list object, according to an example embodiment.


Method 600 begins with receive operation 602, where an object embedded message is received by one or more receiving applications, such as a unified messaging application, a third party email messaging application, an enterprise messaging application, and the like. In aspects, the object embedded message includes a list object with one or more items associated with one or more parameters. For instance, the list object may be related to a topic, such as “launch workstream,” and may include one or more tasks (e.g., items), where each task is assigned to an owner (e.g., first parameter) and has a deadline (e.g., second parameter) and a status (e.g., third parameter). In further aspects, one or more items and/or parameters may be linked to interactive controls for receiving updates.


At receive update operation 604, an update to an item or a parameter may be received. An update may include any change, e.g., revision, addition, deletion, and the like, to any topic, item, parameter, etc., associated with the list object. For example, an interactive control may be selected for updating an item or parameter. The interactive control may include a click button, hyperlink, drop down list box, option button, check box, date picker, or other active object. For instance, an interactive control linked to a status parameter may be in the form of a drop down menu (e.g., providing options for selection such as “on hold,” “in progress,” “completed,” and the like), a click box (e.g., providing for clicking a box next to selections such as “on hold,” “in progress,” “completed,” and the like), etc. Alternatively, an interactive control linked to a deadline parameter may be in the form of a date picker (e.g., allowing a user to change a date of the deadline). Additionally or alternatively, a user may manually update one or more items or parameters, e.g., by adding an item to the list object, by changing a task from “code launch file” to “review code for launch file,” and the like.


Updates may be received from endpoints registered with the unified messaging application (e.g., registered users). Alternatively, updates may be received from endpoints not registered with the unified messaging application (e.g., external users). In this case, an update may need to be transformed prior to applying the update to the list object. For instance, in some cases, as external users do not have access to the single version of the list object, an update made to the list object may be converted into computer-readable instructions and may be forwarded in a message or otherwise to the unified messaging application. The unified messaging application may then transform (if necessary) and execute the computer-readable instructions from the external application and apply the update to the list object.


At synchronize operation 606, the list object may be updated across all views within the unified messaging platform. That is, if the list object is embedded in a communication shared between users in a conversation, the list object may be viewable in a conversation tab of the unified messaging platform. Additionally, the list object may be stored in a lists tab and/or in activity tab. In this case, synchronizing the list object across all views (or tabs) includes applying the update to the list object displayed in each view. In some aspects, applying the update in all views may be accomplished using identifiers for each field of a list object. When a particular field with a particular identifier is updated in one view, the update may be applied to each field having the particular identifier across all views of the unified messaging platform.


Traditionally, when collaborating or coordinating regarding a project, users may send numerous communications back and forth regarding tasks, deadlines, status, etc., which creates confusion, lack of consensus, and distraction among the users. In aspects disclosed herein, a list object may be provided in a single version such that as updates are received, the single version of the list object may be updated in real time and provided on the unified messaging platform, as described above. For instance, team members are able to view progress of various tasks, assignments, polling queries, etc., as updates are received and synchronized in a single version of the list object. Furthermore, as the list object is provided in a single version within a conversation tab, an updated list object need not be resent in a communication or message to registered users. That is, the list object may be displayed one time in a conversation, e.g., within the original communication in which it was created, and may reflect each update as it is received.


At identify endpoint operation 608, a recipient endpoint registered with a receiving application may be identified. In aspects, in response to receiving an update to a list object embedded a message or communication, the message with the updated list object may be sent to one or more users at one or more recipient endpoints. In some cases, one or more recipient endpoints may be identified for each user, e.g., a personal computer, a mobile device, a tablet, a smart television, etc. Identifying a recipient endpoint may include identifying a device type for the endpoint (e.g., mobile device, personal computer, tablet computer, etc.), a display type for the endpoint (e.g., monitor, television, touch enabled display, graphical display, alphanumeric display, etc.), applications registered with the endpoint (e.g., enterprise or third party email messaging applications, SMS messaging applications, social networking applications, instant messaging applications, voicemail applications, calendaring applications, etc.), and the like.


At decision operation 610, it is determined whether a recipient endpoint is registered with the unified messaging application. In aspects, whereas the list object may have been updated at an endpoint registered with the unified messaging application, the updated list object may be sent to recipients on endpoints that are not registered with the unified messaging application. If a recipient endpoint is registered with the unified messaging application, the method proceeds to send operation 614. Alternatively, if a recipient endpoint is not registered with the unified messaging application, the method proceeds to transform operation 612.


At transform operation 612, the message including the updated list object (hereinafter “object embedded message”) may be transformed such that it is readable and/or renderable by one or more receiving applications registered with the one or more recipient endpoints. In some aspects, for applications other than the unified messaging application, the object embedded message may be altered (i.e., transformed) such that it can be provided to a team member who is not registered with the unified messaging application. That is, transforming the object embedded message may involve translating the object embedded message into a representation readable by a receiving application and may also include reformatting the object embedded message such that it is renderable by a receiving application registered with the recipient endpoint. Transform operation 612 may also consider additional factors, such as a device type and display type, when transforming the object embedded message, as described above.


In some aspects, rather than transforming the object embedded message including the updated list object, transform operation 612 may merely transform the update. In this case, the update may be provided in a communication to the recipient, e.g., “deadline updated to Jun. 20, 2016,” “David added as owner for review launch code task,” and the like. Alternatively, the update may be converted into computer-readable instructions for applying the update to the list object, which computer-readable instructions may be transformed (if necessary) such that they are readable by the receiving application for applying the update.


At send operation 614, the update may be sent to one or more recipient endpoints. In some aspects, e.g., when the one or more recipient endpoints are registered with the unified messaging application, the update may be automatically applied to the list object in a conversation tab, lists tab and/or activity tab. In this case, neither the updated list object nor the update itself needs be “sent” to registered users. However, in some cases, when a list object is updated within a conversation, a notification may be sent to registered users. In other cases, when an update is received and applied to the list object, the original communication including the updated list object may be promoted to a new display position for recent communications within the conversation (e.g., displayed at a top or a bottom of the conversation).


Alternatively, when a recipient endpoint is not registered with the unified messaging application, send operation 614 may involve sending a copy of the object embedded message with the updated list object to a receiving application outside of the unified messaging platform, such as a third party email messaging application or an enterprise messaging application. The receiving application may then render or present the copy of the object embedded message with the updated list object to a user at the recipient endpoint. In other aspects, send operation 614 may send an indication of the update rather than a copy of the updated list object. In this case, a communication such as “The deadline for reviewing code has been extended to Jun. 20, 2016.” When a recipient endpoint is not registered with the unified messaging application, while the user may benefit from receiving a copy of the updated list object or from a message regarding an update, the user may not view a single synchronized version of the list object as updates are applied in real time, as described above.


As should be appreciated, operations 602-614 are described for purposes of illustrating the present methods and systems and are not intended to limit the disclosure to a particular sequence of steps, e.g., steps may be performed in differing order, additional steps may be performed, and disclosed steps may be excluded without departing from the present disclosure.



FIG. 7 illustrates an exemplary interface for creating a list object, according to an example embodiment.


As described above, the unified messaging platform may provide an interface 700 for creating a list object 702. In aspects, the interface 700 for creating a list object 702 may be displayed in response to selection of a control within an email interface object, within a lists tab of the unified messaging platform, or otherwise. The interface 700 may allow for entering a topic (e.g., topic 704, entitled “LT Workstreams”). Additionally, the interface 700 may provide for entering one or more items (e.g., items 706) of the list object 702. An item may be related to any aspect of the topic 704, e.g., a need, a task, a goal, a file, an assignment, a query, etc. In examples, a row may be added to the list object for each item, e.g., item 706a (“Text A”), item 706b (“Text B”), item 706c (“Text C”) and item 706d (“Text D”).


Moreover, the interface 700 may provide for entering one or more columns of parameters for each item 706 within a list object 702. A parameter may relate to any attribute of an item, e.g., owner, deadline, status, communications, and the like. For example, owner 708a corresponds to item 706a, owner 708b corresponds to item 706b, and owner 708c corresponds to item 706c. In some cases, an item may be assigned to multiple owners, see, e.g., owners 706b, 706c, and 706d. As illustrated by FIG. 7, an owner 708d corresponding to item 706d is partially entered into an input field 710. In aspects, when creating a list object 702, in response to partially entering a parameter (e.g., owner(s) 708d), a drop down menu 712 of selections corresponding to the partial entry may be displayed. In response to clicking or otherwise selecting from the drop down menu 712, an owner may be added to input field 710.


In further aspects, the list object 702 may include additional columns of parameters, such as a status 714, communications 716, poll 718, and deadline 720. The list object 702 may be provided in a condensed format such that at least some information regarding a parameter is viewable in the condensed format but additional information regarding the parameter may be available in an expanded format. For instance, status 714 for an item 706 may be provided via different colored icons in a condensed format, e.g., red indicating “Not Started,” yellow indicating “In Progress,” and green indicating “Complete.” Additionally, in a condensed format, communications 716 may be provided via icons displaying different counts to indicate a number of communications 716 available for each item 706, see, e.g., icons displaying “1”, displaying “2”, and displaying “6”. Similarly, poll 718 may be provided via icons displaying different counts to indicate a number of “votes” or “likes” for each item 706. In response to hovering over or clicking within a condensed format for the list object 702, additional information may be displayed, as illustrated by FIG. 8 below.


In aspects, in response to creating list object 702, the list object may be embedded in a communication and displayed in a conversation tab, or may be stored in a lists tab, an activity tab, or otherwise. In further aspects, list object 702 may be provided in a single version whether displayed in the conversation tab, lists tab, and/or activity tab.


As should be appreciated, the various features and functionalities of interface 700 described with respect to FIG. 7 are not intended to limit associated systems and methods to the particular features and functionalities described. Accordingly, additional features and functionalities may be associated with the systems and methods described herein and/or some features and functionalities described may be excluded without departing from the systems and methods described herein.



FIG. 8 illustrates an exemplary interface for updating a list object, according to an example embodiment.


As described above, the unified messaging platform may provide an interface 800 for updating a list object 802. In aspects, list object 802 may include a topic 804, entitled “LT Workstreams.” Additionally, list object 802 may include a number of items 806 related to topic 804, e.g., item 806a (“Text A”), item 806b (“Text B”), item 806c (“Text C”) and item 806d (“Text D”). Additionally, list object 802 may include a number of parameter columns, e.g., owners 808 and status 810 related to items 806.


As illustrated by FIG. 8, a status 810d corresponding to item 806d may be selected or hovered over to display an interactive control 812. As illustrated, interactive control 812 is a drop down list for updating a status for item 806d. That is, while status 810d for item 806d is currently identified with a red icon (e.g., “Not Started”), an update for item 806d may be selected from interactive control 812 (e.g., “In Progress” or “Complete”) and applied to status 810d. For example, in response to applying a selected status of “In Progress,” updated status 810d may be identified with a yellow icon in list object 802.


In aspects, in response to updating list object 802, the updated list object may be embedded in a communication and displayed in a conversation tab, or may be stored in a lists tab, an activity tab, or otherwise. In some aspects, one or more notifications regarding the updated list object may be sent. In further aspects, updated list object 802 may be provided as a single synchronized version whether provided in the conversation tab, lists tab, and/or activity tab.


As illustrated by FIG. 8, an additional pane (e.g., pane 814) may display recent comments 816 regarding list object 802. In some aspects, recent comments 816 may include communications regarding list object 802, and the communications may further be displayed in a conversations tab (not shown). For instance, as illustrated, a first comment 816a from Rachel Morrison and a second comment 816b from Rachel Morrison are displayed in pane 814. In further examples, comments (or communications) are displayed for a period of time (e.g., 1 day, 3 days, 1 week, etc.), or a number of the most recent one or more comments are displayed (e.g., most recent comment, most recent two comments, most recent five comments, etc.), or other policy for display of recent comments.


As should be appreciated, the various features and functionalities of interface 800 described with respect to FIG. 8 are not intended to limit associated systems and methods to the particular features and functionalities described. Accordingly, additional features and functionalities may be associated with the systems and methods described herein and/or some features and functionalities described may be excluded without departing from the systems and methods described herein.



FIG. 9 illustrates an exemplary interface for updating a list object, according to a second example embodiment.


As described above, the unified messaging platform may provide an interface 900 for updating a list object 902. In aspects, list object 902 may include a topic 904, entitled “LT Workstreams.” Additionally, list object 902 may include a number of items 906 related to topic 904, e.g., item 906a (“Text A”), item 906b (“Text B”), item 906c (“Text C”) and item 906d (“Text D”). Additionally, list object 902 may include a number of parameter columns, e.g., owners 908 and communications 910 related to items 906.


As illustrated by FIG. 9, communications 910d corresponding to item 906d may be selected or hovered over to display an interactive control 912. As illustrated, interactive control 912 is an interface for viewing additional information regarding communications 910d. For instance, interactive control 912 may display text of one or more communications (or comments) regarding interactive control 902, e.g., communication 916a and communication 916b. That is, in a condensed format, communications 910d is provided via an icon displaying a number “2” to indicate that two communications 910d are available for item 906d. Interactive control 912 further includes an input field 914 for adding a communication regarding item 906d and updating communications 910d. That is, while communications 910d for item 906d is currently associated with an icon displaying a number “2”, in response to receiving an additional communication through interactive control 912, communications 910d for item 906d may be associated with an icon displaying a number “3”.


In further aspects, an additional pane (e.g., pane 918) may display recent comments 920 regarding list object 902. In some aspects, recent comments 920 may include communications regarding list object 902, and the communications may further be displayed in a conversations tab (not shown). For instance, as illustrated, a first comment 920a from Rachel Morrison and a second comment 920b from Rachel Morrison are displayed in pane 918. In further examples, recent comments 920a and 920b may correspond to the communications 916a and 916b displayed by interactive control 912.


In aspects, in response to updating list object 902, the updated list object may be embedded in a communication and displayed in a conversation tab, or may be stored in a lists tab, an activity tab, or otherwise. In some aspects, one or more notifications regarding the updated list object may be sent. In further aspects, updated list object 902 may be provided as a single synchronized version whether provided in the conversation tab, lists tab, and/or activity tab.


As should be appreciated, the various features and functionalities of interface 900 described with respect to FIG. 9 are not intended to limit associated systems and methods to the particular features and functionalities described. Accordingly, additional features and functionalities may be associated with the systems and methods described herein and/or some features and functionalities described may be excluded without departing from the systems and methods described herein.



FIG. 10 illustrates an exemplary interface for updating a list object embedded in a message, according to an example embodiment.


As described above, the unified messaging platform may provide a user interface 1000 including three panes, e.g., a left rail 1002, a center pane 1004, and a right rail 1006. In aspects, as described above, in response to selecting a category (e.g., category 1008) in the left rail 1002, a conversation related to category 1008 may be displayed in a conversation tab 1010 of center pane 1004.


As illustrated by FIG. 10, a communication 1012 was received from Rachel Morrison. The communication 1012 includes textual content 1014 followed by a list object 1016. The list object embedded in communication 1012 may be described similarly to list object 702, list object 802, and list object 902 above. That is, various interactive controls for updating list object 1016 may be displayed by clicking or hovering over items or parameters associated with list object 1016.


Additionally, an interface 1018 may be displayed for updating list object 1016. In some aspects, interface 1018 may be displayed in response to selection of a “+” control 1020 within or near list object 1016. In aspects, interface 1018 is a pop up list of selections for adding or updating items and/or parameters in list object 1016. For instance, selection 1018a may allow for adding or updating an item, selection 1018b may allow for adding a checkbox parameter, selection 1018c may allow for adding or updating an owner parameter, selection 1018d may allow for adding a time parameter, and selection 1018e may allow for adding a deadline parameter.


As should be appreciated, the various features and functionalities of user interface 1000 described with respect to FIG. 10 are not intended to limit associated systems and methods to the particular features and functionalities described. Accordingly, additional features and functionalities may be associated with the systems and methods described herein and/or some features and functionalities described may be excluded without departing from the systems and methods described herein.



FIGS. 11-14 and the associated descriptions provide a discussion of a variety of operating environments in which aspects of the disclosure may be practiced. However, the devices and systems illustrated and discussed with respect to FIGS. 11-14 are for purposes of example and illustration and are not limiting of a vast number of computing device configurations that may be utilized for practicing aspects of the disclosure, described herein



FIG. 11 is a block diagram illustrating physical components (e.g., hardware) of a computing device 1100 with which aspects of the 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 unified messaging application 1120 that can 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 computing device, the system memory 1104 may comprise, but is not limited to, volatile storage (e.g., random access memory), non-volatile storage (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 suitable for running unified messaging application 1120, such as one or more components in regards to FIG. 3 and, in particular, create component 1111, link component 1113, transform component 1115, or synchronize component 1117. The operating system 1105, for example, may be suitable for controlling the operation of the computing device 1100. Furthermore, embodiments of the disclosure may be practiced in conjunction with a graphics library, other operating systems, or any other application program and is not limited to any particular application or system. This basic configuration is illustrated in FIG. 11 by those components within a dashed line 1108. The computing device 1100 may have additional features or functionality. For example, the computing device 1100 may also include additional data storage devices (removable and/or non-removable) such as, for example, magnetic disks, optical disks, or tape. Such additional storage is illustrated in FIG. 11 by a removable storage device 1109 and a non-removable storage device 1110.


As stated above, a number of program modules and data files may be stored in the system memory 1104. While executing on the processing unit 1102, the program modules 1106 (e.g., unified messaging application 1120) may perform processes including, but not limited to, the aspects, as described herein. Other program modules that may be used in accordance with aspects of the present disclosure, and in particular for providing a unified messaging platform, may include create component 1111, link component 1113, transform component 1115, or synchronize component 1117, etc.


Furthermore, embodiments of the disclosure may be practiced in an electrical circuit comprising discrete electronic elements, packaged or integrated electronic chips containing logic gates, a circuit utilizing a microprocessor, or on a single chip containing electronic elements or microprocessors. For example, embodiments of the disclosure may be practiced via a system-on-a-chip (SOC) where each or many of the components illustrated in FIG. 11 may be integrated onto a single integrated circuit. Such an SOC device may include one or more processing units, graphics units, communications units, system virtualization units and various application functionality all of which are integrated (or “burned”) onto the chip substrate as a single integrated circuit. When operating via an SOC, the functionality, described herein, with respect to the capability of client to switch protocols may be operated via application-specific logic integrated with other components of the computing device 1100 on the single integrated circuit (chip). Embodiments of the disclosure may also be practiced using other technologies capable of performing logical operations such as, for example, AND, OR, and NOT, including but not limited to mechanical, optical, fluidic, and quantum technologies. In addition, embodiments of the disclosure may be practiced within a general purpose computer or in any other circuits or systems.


The computing device 1100 may also have one or more input device(s) 1112 such as a keyboard, a mouse, a pen, a sound or voice input device, a touch or swipe input device, etc. The output device(s) 1114 such as a display, speakers, a printer, etc. may also be included. The aforementioned devices are examples and others may be used. The computing device 1100 may include one or more communication connections 1116 allowing communications with other computing devices 1150. Examples of suitable communication connections 1116 include, but are not limited to, radio frequency (RF) transmitter, receiver, and/or transceiver circuitry; universal serial bus (USB), parallel, and/or serial ports.


The term computer readable media as used herein may include computer storage media. Computer storage media may include volatile and nonvolatile, removable and non-removable media implemented in any method or technology for storage of information, such as computer readable instructions, data structures, or program modules. The system memory 1104, the removable storage device 1109, and the non-removable storage device 1110 are all computer storage media examples (e.g., memory storage). Computer storage media may include RAM, ROM, electrically erasable read-only memory (EEPROM), flash memory or other memory technology, CD-ROM, digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other article of manufacture which can be used to store information and which can be accessed by the computing device 1100. Any such computer storage media may be part of the computing device 1100. Computer storage media does not include a carrier wave or other propagated or modulated data signal.


Communication media may be embodied by computer readable instructions, data structures, program modules, or other data in a modulated data signal, such as a carrier wave or other transport mechanism, and includes any information delivery media. The term “modulated data signal” may describe a signal that has one or more characteristics set or changed in such a manner as to encode information in the signal. By way of example, and not limitation, communication media may include wired media such as a wired network or direct-wired connection, and wireless media such as acoustic, radio frequency (RF), infrared, and other wireless media.



FIGS. 12A and 12B illustrate a mobile computing device 1200, for example, a mobile telephone, a smart phone, wearable computer (such as a smart watch), a tablet computer, a laptop computer, and the like, with which embodiments of the disclosure may be practiced. In some aspects, the client may be a mobile computing device. With reference to FIG. 12A, one aspect of a mobile computing device 1200 for implementing the aspects is illustrated. 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 the user to enter information into the mobile computing device 1200. The display 1205 of the mobile computing device 1200 may also function 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 may be a rotary switch, a button, or any other type of manual input element. In alternative aspects, mobile computing device 1200 may incorporate more or less input elements. For example, the display 1205 may not be a touch screen in some embodiments. In yet another alternative embodiment, the mobile computing device 1200 is a portable phone system, such as a cellular phone. The mobile computing device 1200 may also include an optional keypad 1235. Optional keypad 1235 may be a physical keypad or a “soft” keypad generated on the touch screen display. In various embodiments, the output elements include the 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 incorporates a vibration transducer for providing the user with tactile feedback. In yet another aspect, the mobile computing device 1200 incorporates input and/or output ports, such as an audio input (e.g., a microphone jack), an audio output (e.g., a headphone jack), and a video output (e.g., a HDMI port) for sending signals to or receiving signals from an external device.



FIG. 12B is a block diagram illustrating the architecture of one aspect of a mobile computing device. That is, the mobile computing device 1200 can incorporate a system (e.g., an architecture) 1202 to implement some aspects. In one embodiment, the system 1202 is implemented as a “smart phone” capable of running one or more applications (e.g., browser, e-mail, calendaring, 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.


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 the application programs include phone dialer programs, e-mail programs, personal information management (PIM) programs, word processing programs, spreadsheet programs, Internet browser programs, messaging programs, and so forth. 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 is powered down. The application programs 1266 may use and store information in the non-volatile storage area 1268, such as e-mail or other messages used by an e-mail 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 resident on a host computer to keep the information stored in the non-volatile storage area 1268 synchronized with corresponding information stored at the host computer. As should be appreciated, other applications may be loaded into the memory 1262 and run on the mobile computing device 1200, including the instructions for providing a unified messaging platform as described herein (e.g., search engine, extractor module, relevancy ranking module, answer scoring module, etc.).


The system 1202 has a power supply 1270, which may be implemented as one or more batteries. The power supply 1270 might further include an external power source, such as an AC adapter or a powered docking cradle that supplements or recharges the batteries.


The system 1202 may also include a radio interface layer 1272 that performs the function of transmitting and receiving radio frequency communications. The radio interface layer 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 interface layer 1272 are conducted under control of the operating system 1264. In other words, communications received by the radio interface layer 1272 may be disseminated to the application programs 1266 via the operating system 1264, and vice versa.


The visual indicator 1220 may be used to provide visual notifications, and/or an audio interface 1274 may be used for producing 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 may be directly coupled to the power supply 1270 so that when activated, they remain on for a duration dictated by the notification mechanism even though the processor 1260 and other components might shut down for conserving battery power. The LED may be programmed to remain on indefinitely until the user takes action to indicate the powered-on status of the device. The audio interface 1274 is used to provide audible signals to and receive audible signals from the user. For example, in addition to being coupled to the audio transducer 1225, the audio interface 1274 may also be coupled to a microphone to receive audible input, such as to facilitate a telephone conversation. In accordance with embodiments of the present disclosure, the microphone may also serve as an audio sensor to facilitate control of notifications, as will be described below. The system 1202 may further include a video interface 1276 that enables an operation of an on-board camera 1230 to record still images, video stream, and the like.


A 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 tape. Such additional storage is illustrated in FIG. 12B by the non-volatile storage area 1268.


Data/information generated or captured by the mobile computing device 1200 and stored via the system 1202 may be stored locally on the mobile computing device 1200, as described above, or the data may be stored on any number of storage media that may be accessed by the device via the radio interface layer 1272 or via a wired connection between the mobile computing device 1200 and a separate computing device associated with the mobile computing device 1200, for example, a server computer in a distributed computing network, such as the Internet. As should be appreciated such data/information may be accessed via the mobile computing device 1200 via the radio interface layer 1272 or via a distributed computing network. Similarly, such data/information may be readily transferred between computing devices for storage and use according to well-known data/information transfer and storage means, including electronic mail and collaborative data/information sharing systems.



FIG. 13 illustrates one aspect of the architecture of a system for processing data received at a computing system from a remote source, such as a personal computer 1304, tablet computing device 1306, or mobile computing device 1308, as described above. Content displayed at server device 1302 may be stored in different communication channels or other storage types. For example, various documents may be stored using a directory service 1322, a web portal 1324, a mailbox service 1326, an instant messaging store 1328, or a social networking site 1330. The unified messaging application 1320 may be employed by a client that communicates with server device 1302, and/or the unified messaging application 1320 may be employed by server device 1302. The server device 1302 may provide data to and from a client computing device such as a personal computer 1304, a tablet computing device 1306 and/or a mobile computing device 1308 (e.g., a smart phone) through a network 1315. By way of example, the computer system described above with respect to FIGS. 1-12 may be embodied 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 devices may obtain content from the store 1316, in addition to receiving graphical data useable to be either pre-processed at a graphic-originating system, or post-processed at a receiving computing system.



FIG. 14 illustrates an exemplary tablet computing device 1400 that may execute one or more aspects disclosed herein. In addition, the aspects and functionalities described herein may operate over distributed systems (e.g., cloud-based computing systems), where application functionality, memory, data storage and retrieval and various processing functions may be operated remotely from each other over a distributed computing network, such as the Internet or an intranet. User interfaces and information of various types may be displayed via on-board computing device displays or via remote display units associated with one or more computing devices. For example user interfaces and information of various types may be displayed and interacted with on a wall surface onto which user interfaces and information of various types are projected. Interaction with the multitude of computing systems with which embodiments of the invention may be practiced include, keystroke entry, touch screen entry, voice or other audio entry, gesture entry where an associated computing device is equipped with detection (e.g., camera) functionality for capturing and interpreting user gestures for controlling the functionality of the computing device, and the like.


Aspects of the present disclosure, for example, are described above with reference to block diagrams and/or operational illustrations of methods, systems, and computer program products according to aspects of the disclosure. The functions/acts noted in the blocks may occur out of the order as shown in any flowchart. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved.


The description and illustration of one or more aspects provided in this application are not intended to limit or restrict the scope of the disclosure as claimed in any way. The aspects, examples, and details provided in this application are considered sufficient to convey possession and enable others to make and use the best mode of claimed disclosure. The claimed disclosure should not be construed as being limited to any aspect, example, or detail provided in this application. Regardless of whether shown and described in combination or separately, the various features (both structural and methodological) are intended to be selectively included or omitted to produce an embodiment with a particular set of features. Having been provided with the description and illustration of the present application, one skilled in the art may envision variations, modifications, and alternate aspects falling within the spirit of the broader aspects of the general inventive concept embodied in this application that do not depart from the broader scope of the claimed disclosure.

Claims
  • 1. A system comprising: at least one processing unit; andat least one memory storing computer executable instructions that, when executed by the at least one processing unit, cause the system to perform a method of creating a list object, the method comprising: creating a list object comprising: receiving at least one item;receiving at least one parameter related to the at least one item; andlinking an interactive control to the at least one parameter;embedding the list object in a message to form an object embedded message; andsending the object embedded message to one or more endpoints.
  • 2. The system of claim 1, further comprising: determining that at least one of the one or more endpoints is not registered with a unified messaging application; andtransforming the object embedded message into a format that is readable at the at least one endpoint.
  • 3. The system of claim 1, further comprising: in response to a selection of the interactive control, receiving an update to the at least one parameter in the list object.
  • 4. The system of claim 3, wherein the update is received from an endpoint that is not registered with a unified messaging application, the method further comprising: transforming the update into computer-readable instructions for applying the update to the at least one parameter in the list object.
  • 5. The system of claim 3, wherein the update is received from an endpoint that is registered with a unified messaging application, the method further comprising: applying the update to the at least one parameter in the list object.
  • 6. The system of claim 5, further comprising: applying the update to the list object in a plurality of views associated with the unified messaging application, wherein the list object is provided as a single version by the unified messaging application.
  • 7. The system of claim 6, wherein the single version of the list object is viewable at a plurality of endpoints registered with the unified messaging application.
  • 8. The system of claim 3, further comprising: applying the update to the list object to form an updated list object;sending the updated list object to one or more endpoints, wherein at least one of the one or more endpoints is not registered with a unified messaging application; andtransforming the updated list object into a format that is readable at the at least one endpoint.
  • 9. A system comprising: at least one processing unit; andat least one memory storing computer executable instructions that, when executed by the at least one processing unit, cause the system to perform a method, the method comprising: receiving a message including a list object, the list object comprising: at least one item;at least one parameter relating to the at least one item; andan interactive control for updating the list object;in response to a selection of the interactive control, receiving an update to the list object within the message; andapplying the update to the list object to form an updated list object within the message.
  • 10. The system of claim 9, wherein the update is received from an endpoint that is not registered with a unified messaging application, the method further comprising: transforming the update into computer-readable instructions for applying the update to the list object.
  • 11. The system of claim 9, wherein the update is received from an endpoint that is registered with a unified messaging application, the method further comprising: applying the update to the list object in a plurality of views associated with the unified messaging application, wherein the updated list object is provided as a single version by the unified messaging application.
  • 12. The system of claim 11, wherein the single version of the updated list object is viewable at a plurality of endpoints registered with the unified messaging application.
  • 13. The system of claim 9, further comprising: sending the updated list object to one or more endpoints, wherein at least one of the one or more endpoints is not registered with a unified messaging application; andtransforming the updated list object into a format that is readable at the at least one endpoint.
  • 14. The system of claim 9, further comprising: sending a notification regarding the updated list object to one or more endpoints registered with a unified messaging application.
  • 15. A method of receiving an update to a list object, the method comprising: receiving a list object, the list object comprising: at least one item;at least one parameter relating to the at least one item; andan interactive control for updating the list object;in response to a selection of the interactive control, receiving an update to the list object; andapplying the update to the list object.
  • 16. The method of claim 15, wherein the update is received from an endpoint that is not registered with a unified messaging application, the method further comprising: transforming the update into computer-readable instructions for applying the update to the list object.
  • 17. The method of claim 15, wherein the update is received from an endpoint that is registered with a unified messaging application, the method further comprising: applying the update to the list object in a plurality of views associated with the unified messaging application, wherein the updated list object is provided as a single version by the unified messaging application.
  • 18. The method of claim 17, wherein the single version of the updated list object is viewable at a plurality of endpoints registered with the unified messaging application.
  • 19. The method of claim 15, further comprising: sending the updated list object to one or more endpoints, wherein at least one of the one or more endpoints is not registered with a unified messaging application; andtransforming the updated list object into a format that is readable at the at least one endpoint.
  • 20. The method of claim 15, further comprising: sending a notification regarding the updated list object to one or more endpoints registered with a unified messaging application.
CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority to U.S. Provisional Application Ser. No. 62/165,856, entitled “SYSTEM AND METHODS FOR IMPLEMENTING UNIFIED MESSAGING PLATFORM,” filed on May 22, 2015, the entire disclosure of which is hereby incorporated herein by reference.

Provisional Applications (1)
Number Date Country
62165856 May 2015 US