The disclosure relates to electronic communications and workflow management, and more specifically to workflow and collaboration using a message thread architecture.
Current message threading services enable users to communicate in virtual conversations by visually grouping messages with their replies, creating message threads. Message threading is extremely popular in a wide variety of products, applications and services, such as email, text messaging, and chat applications. Messaging threading is used in, e.g., Facebook, Inc.'s Messenger, Slack Technologies, Inc.'s Slack®, Cisco Systems, Inc.'s Spark™, Altassian Corporation PLC's HipChat® and RingCentral, Inc.'s Glip® offerings. Message threading services are increasingly being used, not only in social but, in business, contexts.
While messaging threading is a popular way to discuss topics, the aforementioned applications offer no sufficient way to reflect how conversations happen in the real world. Message threading platforms are particularly deficient in effecting productive, real world conversations directed to workflow. Business teams are increasingly using message threading to collaborate on their work. Businesses need to be able to integrate messaging as real-time, interactive, ‘conversation’ in their workflow to achieve enhanced productivity. When teams meet to discuss projects, the team members do more than exchange messages or statements. Team members share annotated notes, schedule follow-up meetings, assign tasks and track assignments, place documents on a table and refer to specific pages, sign necessary documents, agree to action plans, give direct feedback to specific remarks or proposed documents, among other things. The disclosed invention brings these workflow management and collaboration capabilities to message threading services and within the message thread itself. All this work can be done within a message thread.
Heretofore, message threading services have prevented users from, inter alia, responding to a specific message by structured and/or unstructured data formats; attaching to-dos; signing required documents; annotating documents; setting due dates; requesting receipts; keeping track of responses in rich media fashion; getting quick review and feedback; obtaining fast approvals; assigning tasks based on particular comments; quickly bringing in a document and making it a part of the conversation. Furthermore, existing messaging platforms offer no good way to keep audit trails, or to bookmark threads for future reference.
For example, the disclosed invention allows users to share annotated notes, schedule a meeting, assign tasks and to track activities—all without leaving the message threading service. The invention allows users to conduct these tasks efficiently and within the operative message thread.
Technology is disclosed for managing workflow and collaboration in message threads (“the technology”). In various embodiments, the technology provides a message thread workflow service that creates, manages and presents message threads to users. The message threads consist of thread objects of various types, including message objects, data file objects, document page objects, page comment objects, document signature objects, meeting objects and to-do objects. The thread objects may be used to initiate a message thread, post to a message thread, and/or to post a reply in a message thread, consistent with various embodiments.
In various embodiments, the technology provides for object actions that are associated with a thread object, and that facilitate related workflow and collaboration. The object actions may be presented, consistent with various embodiments, in a message thread and in conjunction with the previously-posted thread object identifier. For example, actions may relate to annotations, attachments, bookmarks, checklists, clips (audio and video clips), comments, due dates, meetings, signatures and to-dos. In various embodiments, checklists are made more efficient through check list templates. Existing check lists may be saved as a checklist template. New check lists may be created from a checklist template.
In various embodiments, the technology creates, manages and presents tracking lists for individual users of an embodiment of the message threading service. Tracking lists provide a list of a user's active thread objects. For example, active thread objects may be objects wherein the user is referenced (e.g., “@username”), wherein the user's signature is required, wherein the user is assigned a to-do, or wherein thread objects bookmarked by users are shown. The user may also be sent push notifications and/or other relevant alerts associated with the user's active thread objects. In some embodiments, a user's tracking list are presented as a side bar, along one side of the user's currently-viewed message thread.
The drawings described herein are for illustrative purposes only of selected embodiments and not all possible implementations and are not intended to limit the scope of the present disclosure.
Message Thread: a grouping of related thread objects and their object layers.
Thread Object: an item of information that a user may post to a message thread. A thread object is one of the following types: message object, data file object, document page object, page comment object, document signature object, meeting object, or to-do object. Thread objects have attributes, including attributes which may be set and/or modified by users.
Reply: a thread object of any type posted to a message thread in association as a reply to any previously-posted thread object of any type.
Object Action: an action that a user may request to be performed with respect to any previously-posted thread object. An object action is one of the following types: annotate object actions, attachment object actions, bookmark object actions, checklist object actions, clip object actions, comment object actions, due data object actions, meeting object actions, signature object actions, or to-do object actions. Object actions have attributes, including attributes which may be set and/or modified by users.
Object Layer: the set of replies and object actions associated with a posted thread object.
Requesting User: an attribute that identifies the user who requested a thread object to be created, or an object action to be performed.
Mentioned User: an attribute that identifies which users are associated with a thread object or an object action.
Data File Object: a type of thread object which has one or more of the following attributes: thread object identifier, request timestamp, requesting user, one or more mentioned users, previously-posted thread object identifier, message (text or voice), data file identifier, data file location and data file format.
Document Page Object: a type of thread object which has one or more of the following attributes: thread object identifier, request timestamp, requesting user, one or more mentioned users, previously-posted thread object identifier, message (text or voice), one or more page numbers, document file identifier, document file location, and document file format.
Document Signature Object: a type of thread object which has one or more of the following attributes: thread object identifier, request timestamp, requesting user, one or more mentioned users, previously-posted thread object identifier, message (text or voice), one or more signers, one or more signer statuses, signing order, document status, document file identifier, document file location, and document file format.
Meeting Object: a type of thread object which has one or more of the following attributes: thread object identifier, request timestamp, requesting user, one or more mentioned users, previously-posted thread object identifier, message (text or voice), host, one or more invitees, date, time, duration, agenda, meeting identifier, phone number, URL, record setting, document file identifier, document file location, and document file format.
Message Object: a type of thread object which has one or more of the following attributes: thread object identifier, request timestamp, requesting user, one or more mentioned users, previously-posted thread object identifier, message (text or voice).
Page Comment Object: a type of thread object which has one or more of the following attributes: thread object identifier, request timestamp, requesting user, one or more mentioned users, previously-posted thread object identifier, message (text or voice), comment, page position, page number, document file identifier, document file location, and document file format.
To-Do Object: a type of thread object which has one or more of the following attributes: thread object identifier, request timestamp, requesting user, one or more mentioned users, previously-posted thread object identifier, message (text or voice), description, one or more assignees, due date, reminder schedule, status, data file identifier, data file location and data file format.
Annotate Object Action: a type of object action associated with document page objects, which has one or more of the following attributes: object action identifier, request timestamp, requesting user, one or more mentioned users, previously-posted thread object identifier, document file identifier, document file location, page, page position, annotation type and annotation. An annotate object action is one of the following types: create, delete, edit and view.
Attachment Object Action: a type of object action associated with data file, document page, document signature, meeting, message and to-do objects, which has one or more of the following attributes: object action identifier, request timestamp, requesting user, one or more mentioned users, previously-posted thread object identifier, data file identifier, data file location and data file format. Data files of multiple formats can be attached to (associated with) a thread object. An attachment object action is one of the following types: attach, detach and open.
Bookmark Object Action: a type of object action associated with data file, document page, document signature and message objects, which has one or more of the following attributes: object action identifier, request timestamp, requesting user, one or more mentioned users, previously-posted thread object identifier and bookmark location. A bookmark object action is one of the following types: bookmark and remove bookmark.
Checklist Object Action: a type of object action associated with data file, document page, document signature, message and to-do objects, which has one or more of the following attributes: object action identifier, request timestamp, requesting user, one or more mentioned users, previously-posted thread object identifier, one or more subtasks, one or more subtasks' statuses, and title. A checklist object action is one of the following types: create, create from template, delete, edit, save as template, and view.
Clip Object Action: a type of object action associated with document page objects, which has one or more of the following attributes: object action identifier, request timestamp, requesting user, one or more mentioned users, previously-posted thread object identifier, audio or video data file identifier, audio or video data file location, and audio or video data file format. Audio and video data files may be of multiple formats. A clip object action is one of the following types: attach, detach and open.
Comment Object Action: a type of object action associated with data file, document page, page comment, document signature, meeting and to-do objects, which has one or more of the following attributes: object action identifier, request timestamp, requesting user, one or more mentioned users, previously-posted thread object identifier, and comment. A comment object action is one of the following types: create, delete, edit and view.
Due Date Object Action: a type of object action associated with thread objects of any type, which has one or more of the following attributes: object action identifier, request timestamp, requesting user, one or more mentioned users, previously-posted thread object identifier, message (text or voice), due date, status and one or more notification settings. A due date object action is one of the following types: create, delete, edit and view.
Meeting Object Action: a type of object action associated with meeting objects, which has one or more of the following attributes: object action identifier, request timestamp, requesting user, one or more mentioned users, previously-posted thread object identifier, message (text or voice), and one or more access methods. A meeting object action is one of the following types: delete, edit, join, record, start and view.
Signature Object Action: a type of object action associated with document signature objects, which has one or more of the following attributes: object action identifier, request timestamp, requesting user, one or more mentioned users, previously-posted thread object identifier, one of one or more signers and one of one or more signer responses. A signature object action is one of the following types: accept, decline and execute.
To-Do Object Action: a type of object action associated with to-do objects, which has one or more of the following attributes: object action identifier, request timestamp, requesting user, one or more mentioned users, previously-posted thread object identifier, one or more to-do object attributes, and one or more to-do object attribute values. A to-do object action is one of the following types: delete, edit and view.
Technology is disclosed for managing workflow and collaboration within message threads (“the technology”). Several embodiments of the technology are described in more detail in reference to the figures. Turning to
In various embodiments, the message thread workflow service 125 creates, updates, stores and presents one or more message threads to a set of users, such as users 105, 110 and 115. A message thread consists of one or more thread objects of multiple types, any actions performed with respect to any of the one or more thread objects, and any thread objects of multiple types posted as replies to any of the one or more thread objects. Message threads may be presented or accessed using a variety of devises regardless of a platform of the devices. In some embodiments, the set of users may access the message thread workflow service 125 using a web browser installed on a device. Further details regarding creating, managing and presenting a message thread are described with reference to at least
Referring back to
The disclosed invention's ability to post these new and diverse types of thread objects to a message thread is critical to enabling its novel functionality directed to workflow and collaboration. The invention's ability to post these new and diverse types of thread objects as replies to any previously-posted thread object in a message thread is also a key, enabling feature. Replies in a message thread are no longer necessarily appended chronologically to the end of a message thread, and are no longer necessarily a text message.
Referring back to
The disclosed invention's ability to perform these new and diverse types of object actions associated with any previously-posted thread object in a message thread is critical to enabling its novel functionality directed to workflow and collaboration. These object actions allow for enhanced, flexible, real-time workflow management.
Referring back to
Message thread service 140 presents message threads, which include thread objects with their associated object layers consisting of user replies and actions, and tracking lists. Tracking lists provide a list of a user's active message thread objects. For example, an active message thread object may be an object where the user is mentioned (e.g., “@username”), the user's signature is required, the user is assigned a to-do, or where the user created bookmarks. The user may also be sent push notifications and/or other relevant alerts associated with the user's active thread objects. In some embodiments, a user's tracking list may be presented as a side bar, along one side of the user's currently-viewed message thread. Further details regarding message thread service 140 are described with reference to at least
Message thread workflow service 125 may be implemented in a variety of configurations. One typical configuration may include an online configuration in which message thread workflow service 125 is implemented in a distributed network, for example, LAN, WAN, or Internet. The users access message thread workflow service 125 over a communication network such as network 120. In various embodiments, message thread workflow service 125 may also be implemented in server client configuration in which an application corresponding to the client portion may be installed on the device of the user. The users may access message thread workflow service 125 using a web browser or a message thread workflow service application (also referred to as “message thread workflow app” or “app”) installed on the device of the user.
Turning now to
Users, such as user 205, user 210 and user 215, may create, consistent with various embodiments, multiple thread objects 220 in multiple types, using the thread object service 240. The types may include, for example: (a) message objects (“Obj. 1”), (b) data file objects (“Obj. 2”), (c) document page objects (“Obj. 3”), (d) page comment objects (“Obj. 4”), (e) document signature objects (Obj. 5”), (f) meeting objects (“Obj. 6”) and (g) to-do objects (“Obj. 7”). Users can, for example, create: (i) message objects to post a typed or voice-recorded message to a message thread; (ii) data file objects to post a data file of multiple formats, such as, e.g., Microsoft Corporation's Word format, Microsoft Corporation's Excel® format, Microsoft Corporation's PowerPoint® format, Joint Photographic Experts Group (.jpg) format, Adobe Systems Incorporated's portable document (.pdf) format, Apple Inc.'s QuickTime® (.mov) format, Apple Inc.'s Keynote® format, graphics interchange (.gif) format, bitmap (.bpm) format, and Microsoft Corporation's text (.txt) format; (iii) document page objects to post one or more pages of a document; (iv) page comment objects to place a comment on a particular position of a particular page of a document; (v) document signature objects to post a document that require signature(s) and initiate an approval process; (vi) meeting objects to post a meeting notification and to initiate a meeting process (e.g., scheduling, joining, declining, etc.); (vii) and to-do objects for posting to-dos and initiating a tracking process; and (viii) thread objects of any type for replying to any previously-posted thread object in a message thread.
Referring back to
Message threads, such as message thread 230, may be accessed using a variety of devices, including a desktop, a laptop, a smart phone, or a tablet PC. Message threads, such as thread 230, may be accessed using a web browser installed on the device. In some embodiments, the web browser may include a script for rendering message thread 230 on the device. Further, message workflow service 235 is platform agnostic, that is, the users make access the message threads, such as message thread 230, from devices running on operating systems, such as Microsoft Corporation's Windows, Apple Inc.'s macOS® and iOS®, and Google Inc.'s Chrome OS™ operating systems.
In various embodiments, users, such as user 205, user 210 and user 215, may create more than one thread object, such as one of the created thread objects 220, and may post those thread objects 220 to more than one message thread, such as message thread 230.
Turning now to
Turning now to
Turning now to
Message thread 500 also contains document signature object 530 with a document requiring multiple signatures (“Document.pdf”), consistent with various embodiments. Document signature object 530 may be similar to one of the thread objects 220 in
Turning now to
Turning now to
Users, such as user 705, user 710 and user 715, may request performance of multiple object actions 725, consistent with various embodiments, associated with any previously-posted thread object 720 in any message thread, such as message thread 730, using the object action service 745. The object actions available to be requested, performed and associated with thread objects may relate to, for example: (a) annotations, (b) attachments, (c) bookmarks, (d) checklists, (e) clips (audio and video), (f) comments, (g) due dates, (h) meetings, (i) signatures, and (k) to-dos, consistent with various embodiments.
Users can, for example: (i) create, delete, edit and view annotations associated with page objects; (ii) attach, detach and open data files of multiple types associated with data file, document page, document signature, message, meeting and to-do objects; (iii) bookmark and remove bookmarks associated with data file, document page, document signature and message objects; (iv) create, delete, edit and view checklists (and subtasks of those checklists) associated with data file, document page, document signature, message and to-do objects; (v) attach, detach and open audio or video clips associated with a document page object; (vi) create, delete, edit and view comments associated with data file, document page, page comment, document signature, meeting and to-do objects; (vii) create, delete, edit and view due dates associated with data file, document page, document signature, message and to-do objects; (viii) delete, edit, join, record, start and view meetings associated with meeting objects; (ix) accept, decline and execute signatures associated with document signature objects; and (x) delete, edit (e.g., assignment, description, due date, notifications, priority and status) and view to-dos associated with to-do objects; consistent with various embodiments.
In some embodiments, object actions for checklists may be made more efficient through checklist templates. Existing checklists may be saved as a checklist template. New checklists may be created from a checklist template.
Referring back to
Message threads, such as message thread 730, may be accessed using a variety of devices, including a desktop, a laptop, a smart phone, or a tablet PC. Message threads, such as message thread 730, may be accessed using a web browser installed on the device. In some embodiments, the web browser may include a script for rendering a message thread 730 on the device. Further, message workflow service 735 is platform agnostic, that is, users may access message threads, such as message thread 730, from devices running on operating systems, such as Microsoft Corporation's Windows, Apple Inc.'s macOS® and iOS®, and Google Inc.'s Chrome OS™ operating systems.
In various embodiments users, such as user 705, user 710 and user 715, may request performance of more than one object action 725 and associate those object actions to more than one thread object 720, which may be in more than one message thread, such as message thread 730.
Turning now to
Turning now to
Returning back to
Turning now to
Turning now to
Returning back to
Turning now to
Consistent with various embodiments, message thread service 1250 stores and presents message threads, such as thread 1230, and tracking lists, such as tracking list 1255, to users, such as user 1205, user 1210 and user 1215. Message thread service 1250 presents message threads, which include thread objects with their associated object layers consisting of object actions and replies, such as thread objects 1220. Message thread service 1250 also presents individual, user tracking lists, such as tracking list 1255 to each user. A user's tracking list provides a list of that user's active thread objects. For example, tracking list 1255 may be a tracking list for user 1205. User 1205 may be mentioned in page comment object “Obj. 4” of message thread 1220, may have an assigned to-do in to-do object “Obj. 7” of message thread 1220, and may have created a bookmark associated with data file object “Obj. 2” of message thread 1220. In this example, “Obj. 4”, “Obj. 7” and “Obj. 2” of message thread 1220 would be the active thread objects of user 1205. Message thread service 1250 would present “Obj. 4”, “Obj. 7” and “Obj. 2” of message thread 1220 to user 1205 in tracking list 1255 for user 1205. A user may also be sent push notifications and/or other relevant alerts associated with the user's active thread objects. A user's tracking list may be presented as a side bar, along one side of that user's currently-viewed message thread, consistent with various embodiments.
Message threads, such as message thread 1230, and tracking lists, such as tracking list 1255, may be presented on a variety of devices, including a desktop, a laptop, a smart phone, or a tablet PC. Message threads and tracking lists may be presented using a web browser installed on the device. In some embodiments, the web browser may include a script for rendering a message thread 1230 and/or a user's tracking list 1255 on the device. In various embodiments, users, such as user 1205, user 1210 and user 1215, may be presented with more than one message thread 1230. Each user's tracking list, such as tracking list 1255, may include that user's active thread objects 1220 from more than one message thread, such as message thread 1230.
Turning now to
Presentation 1300 includes view 1335 of object layers 13401345135013551360 associated with data file object 1320. Data file object 1320, as presented in 1335, may be similar to thread object 600 of
Turning now to
Turning now to
Message thread workflow service 1505 includes thread object service module 1510, object action service module 1520 and message thread service module 1530. In various embodiments, thread object service module 1510 may be similar to thread object service 125. Thread object service module 1510 includes create module 1540 that facilitates the user to create thread objects of multiple types, including message objects, data file objects, document page objects, page comment objects, document signature objects, meeting objects, and to-do objects. Post module 1545 facilitates the user to post thread objects and object actions to message threads. Users may post a thread object of multiple types unassociated with other thread objects in a message thread, or associated as a reply to a previously-posted thread object in a message thread.
In various embodiments, object action service module 1520 may be similar to object action service 135 of
In various embodiments, message thread service module 1530 may be similar to the message thread service 140 of
Tracking list module 1580, consistent with various embodiments, creates, manages, and presents tracking lists for each user. Tracking lists, which may be presented along-side a message thread, provide a list of the user's active threads objects. The user may access the tracking list from a device regardless of the operating system (or platform) of the device. The user may access the tracking list using a web browser or the message thread workflow app installed on the device. Tracking list module 1580 stores tracking lists in storage system 1575. In various embodiments, tracking list module 1580 sends push notifications and/or other relevant alerts associated with each user's active thread objects.
Turning now to
At block 1615, post module 1545 posts the to-do object to the message thread. Post module 1545 may post the to-do object unassociated with any other thread object in the message thread, consistent with various embodiments. Or, as indicated by the user, post module 1545 may post the to-do object associated as a reply to any previously-posted thread object in the message thread. Store module 1575 stores the to-do object and updated message thread. Present module 1570 presents the updated message thread to users.
At block 1620, message thread service module 1530 initiates a process whereby present module 1570 dynamically presents the subsequent activities related to the to-do object. In various embodiments, subsequent activities related to the to-do object may include changes to due date, reassignment to a different assignee, and updates to status (e.g., incomplete, complete, complete or past due). At block 1625, tracking list module 1580 sends notifications and/or alerts to, as indicated by the thread object's attributes, the requesting user, any assignees and any mentioned users (e.g., “@username”), consistent with various embodiments.
Turning now to
At block 1715, post module 1545 posts the page comment object to the message thread. Post module 1545 may post the page comment object unassociated with any other thread object in the message thread, consistent with various embodiments. Or, as indicated by the user, post module 1545 may post the page comment object associated as a reply to any previously-posted thread object in the message thread. Store module 1575 stores the page comment object and updated message thread. Present module 1570 presents the updated message thread to users.
At block 1720, message thread service module 1530 initiates a process whereby present module 1570 dynamically presents the subsequent activities related to the page comment object. In various embodiments, subsequent activities to the page comment object may include assigned due date, and/or the due date's related status (e.g., resolved). At block 1725, tracking list module 1580 sends notifications and/or alerts to, as indicated by the thread object's attributes, the requesting user, any assignees and any mentioned users (e.g., “@username”), consistent with various embodiments.
Turning now to
At block 1815, post module 1545 posts the meeting object to the message thread. Post module 1545 may post the meeting object independent of any other thread object in the message thread, consistent with various embodiments. Or, as indicated by the user, the post module 1545 may post the meeting object associated as a reply to any previously-posted thread object in the message thread. Store module 1575 stores the meeting object and updated message thread. Present module 1570 presents the updated message thread to users.
At block 1820, message thread service module 1530 initiates a process whereby present module 1570 dynamically presents the subsequent activities related to the meeting object. In various embodiments, subsequent activities to the meeting object may include rescheduling, attaching files, starting and recording. At block 1825, tracking list module 1580 sends notifications and/or alerts to, as indicated by the thread object's attributes, the requesting user, any invitees and any mentioned users (e.g., “@username”), consistent with various embodiments.
Turning now to
At block 1915, post module 1545 posts the document signature object to the message thread. Post module 1545 may post the document signature object unassociated with any other thread object in the message thread, consistent with various embodiments. Or, as indicated by the user, the post module 1545 may post the document signature object associated as a reply to any previously-posted thread object in the message thread. Store module 1575 stores the document signature object and updated message thread. Present module 1570 presents the updated message thread to users.
At block 1920, message thread service module 1530 initiates a process whereby present module 1570 dynamically presents the subsequent activities related to the document signature object. In various embodiments, subsequent activities to the document signature object may include the signers' acceptances, declinations and signatures, and the completion of the signature process. At block 1925, tracking list module 1580 sends notifications and/or alerts to, as indicated by the thread object's attributes, the requesting user, any signers and any mentioned users (e.g., “@username”), consistent with various embodiments.
Those skilled in the art will appreciate that the flow diagrams of a process of presenting other types of thread objects, such as message objects, data file objects and document page objects, in a message thread may be similar to the processes illustrated in
In some embodiments, thread object service module 1510 receives a request from the user to create a message object. Create module 1540 initializes a new message object, and assigns values to attributes of a message object, such as the thread object's identifier, request timestamp, requesting user and one or more mentioned users. Create module 1540 receives input from the user in the form of values for attributes associated with the thread object. In various embodiments, the message object attributes may include text data, voice data and previously-posted thread object identifier.
Post module 1545 posts the message object to the message thread either unassociated with any other thread object in the message thread, or (as indicated by the user), associated as a reply to any previously-posted thread object in the message thread, consistent with various embodiments. Store module 1575 stores the message object and updated message thread. Present module 1570 presents the updated message thread to users.
Message thread service module 1530 initiates a process whereby present module 1570 dynamically presents the subsequent activities related to the message object. In various embodiments, subsequent activities to the meeting object may include due dates. The tracking list module 1580 sends notifications and/or alerts to, as indicated by the thread object's attributes, the requesting user and any mentioned users (e.g., “@username”), consistent with various embodiments.
In some embodiments, thread object service module 1510 receives a request from the user to create a data file object. Create module 1540 initializes a new data file object, and assigns values to attributes of a data file object, such as the thread object's identifier, request timestamp, requesting user and one or more mentioned users. Create module 1540 receives input from the user in the form of values for attributes associated with the thread object. In various embodiments, the data file object attributes may include previously-posted thread object identifier, message (text or voice), data file identifier, data file location and data file format. Data file formats may include, e.g., Microsoft Corporation's Word format, Microsoft Corporation's Excel® format, Microsoft Corporation's PowerPoint® format, Joint Photographic Experts Group (.jpg) format, Adobe Systems Incorporated's portable document (.pdf) format, Apple Inc.'s QuickTime® (.mov) format, Apple Inc.'s Keynote® format, graphics interchange (.gif) format, bitmap (.bmp) format, and Microsoft Corporation's text (.txt) format.
Post module 1545 posts the data file object to the message thread either unassociated with any other thread object in the message thread, or (as indicated by the user), associated as a reply to any previously-posted thread object in the message thread, consistent with various embodiments. Store module 1575 stores the data file object and updated message thread. Present module 1570 presents the updated message thread to users.
Message thread service module 1530 initiates a process whereby present module 1570 dynamically presents the subsequent activities related to the data file object. In various embodiments, subsequent activities to the data file object may include due dates. The tracking list module 1580 sends notifications and/or alerts to, as indicated by the thread object's attributes, the requesting user and any mentioned users (e.g., “@username”), consistent with various embodiments.
In some embodiments, thread object service module 1510 receives a request from the user to create a document page object. Create module 1540 initializes a new document page object, and assigns values to attributes of a document page object, such as thread object identifier, request timestamp, requesting user and one or more mentioned users. Create module 1540 receives input from the user in the form of values for attributes associated with the thread object. In various embodiments, the document page object attributes may include previously-posted thread object identifier, message (text or voice), one or more page numbers, document file identifier, document file location, and document file format. Document file formats may include, e.g., Microsoft Corporation's Word format, Microsoft Corporation's Excel® format, Microsoft Corporation's PowerPoint® format, Adobe Systems Incorporated's portable document (.pdf) format, Apple Inc.'s Keynote® format, and Microsoft Corporation's text (.txt) format.
Post module 1545 posts the document page object to the message thread either unassociated with any other thread object in the message thread, or (as indicated by the user), associated as a reply to any previously-posted thread object in the message thread, consistent with various embodiments. Store module 1575 stores the document page object and updated message thread. Present module 1570 presents the updated message thread to users.
Message thread service module 1530 initiates a process whereby present module 1570 dynamically presents the subsequent activities related to the document page object. In various embodiments, subsequent activities to the document page object may include due dates, annotations and comments. The tracking list module 1580 sends notifications and/or alerts to, as indicated by the thread object's attributes, the requesting user and any mentioned users (e.g., “@username”), consistent with various embodiments.
Turning now to
At block 2010, due date module 1556 receives input from the user in the form of values for attributes associated with the due date object action, create. In various embodiments, the due date object action attributes for create may include due date, message (text or voice), one or more notification settings (e.g., on, off, frequency, users), status (e.g., incomplete, complete, past due).
At block 2015, due date module 1556 associates the attributes due date, mentioned users, and one or more notification settings with the requested thread object.
At block 2020, post module 1545 posts the due date object action (create) in conjunction with the previously-posted thread object identifier to the message thread, consistent with various embodiments. Store module 1575 stores the due date object action (create), the previously-posted thread object identifier, and updated message thread. Present module 1570 presents the updated message thread to users.
At block 2025, tracking list module 1580 sends notifications and/or alerts to, as indicated by the object action's attributes and the previously-posted thread object identifier's attributes, the requesting users and any mentioned users (e.g., “@username”), consistent with various embodiments.
Those skilled in the art will appreciate that the flow diagrams of a process of performing other due date object actions, such as delete, edit and view, in a message thread may be similar to the process illustrated in
Turning now to
At block 2110, as requested by user and as indicated in the associated meeting object, meeting module 1557 notifies the one or more invitees that the meeting is starting. In those notifications, meeting module 1557 provides invitees modes of access to the meeting. Modes may be of various types, e.g., a URL link, an app button, a phone number or a meeting id, consistent with various embodiment.
At block 2115, as requested by the host and invitees and as indicated in the associated meeting object, meeting module 1557 connects the host and invitees to the meeting. Connection to the meeting may be of various types, e.g., audio and/video. Meeting module 1557 records the meeting, as indicated by the relevant attributes.
At block 2120, post module 1545 posts the meeting object action (start) in conjunction with the previously-posted thread object identifier to the message thread, consistent with various embodiments. Store module 1575 stores the meeting object action (start), the previously-posted thread object identifier, and updated message thread. Present module 1570 presents the updated message thread to users.
At block 2125, tracking list module 1580 sends notifications and/or alerts to, as indicated by the object action's attributes and the previously-posted thread object identifier's attributes, the requesting users and any mentioned users (e.g., “@username”), consistent with various embodiments.
Those skilled in the art will appreciate that the flow diagrams of a process of performing other meeting object actions, such as delete, edit, join, record and view, in a message thread may be similar to the process illustrated in
Those skilled in the art will appreciate that the flow diagrams of a process of performing annotate object actions in a message thread may be similar to the processes illustrated in
Annotate module 1550 receives input from the user in the form of values for attributes associated with the annotate object action, e.g., create. In various embodiments, the annotate object action attributes for create may include document file identifier, document file location, page, page position, annotation type (e.g., predefined symbol (e.g., line, arrow, circle) and free-hand mark (e.g., pencil, highlighter)), and annotation.
Annotate module 1550 associates the object action attributes document file identifier, document file location, page, page position, annotation type and annotation with the requested thread object.
Post module 1545 posts the annotate object action (create) in conjunction with the previously-posted thread object identifier to the message thread, consistent with various embodiments. Store module 1575 stores the annotate object action (create), the previously-posted thread object identifier, and updated message thread. Present module 1570 presents the updated message thread to users.
Tracking list module 1580 sends notifications and/or alerts to, as indicated by the object action's attributes and the previously-posted thread object identifier's attributes, the requesting users and any mentioned users (e.g., “@username”), consistent with various embodiments.
Those skilled in the art will appreciate that the flow diagrams of a process of performing other annotate object actions, such as delete, edit and view, in a message thread may be similar to the process illustrated in
Those skilled in the art will appreciate that the flow diagrams of a process of performing attachment object actions in a message thread may be similar to the processes illustrated in
Attachment module 1551 receives input from the user in the form of values for attributes associated with the attachment object action, attach. In various embodiments, the attachment object action attributes for attach may include data file identifier, data file location and data file format. Data files of multiple formats can be attached to (associated with) a thread object, including, e.g., Microsoft Corporation's Word format, Microsoft Corporation's Excel® format, Microsoft Corporation's PowerPoint® format, Joint Photographic Experts Group (.jpg) format, Adobe Systems Incorporated's portable document (.pdf) format, Apple Inc.'s QuickTime® (.mov) format, Apple Inc.'s Keynote® format, graphics interchange (.gif) format, bitmap (.bpm) format, and Microsoft Corporation's text (.txt) format.
Attachment module 1551 associates the object action attributes data file identifier, data file location and data file format with the requested thread object.
Post module 1545 posts the attachment object action (attach) in conjunction with the previously-posted thread object identifier to the message thread, consistent with various embodiments. Store module 1575 stores the attachment object action (attach), the previously-posted thread object identifier, and updated message thread. Present module 1570 presents the updated message thread to users.
Tracking list module 1580 sends notifications and/or alerts to, as indicated by the object action's attributes and the previously-posted thread object identifier's attributes, the requesting users and any mentioned users (e.g., “@username”), consistent with various embodiments.
Those skilled in the art will appreciate that the flow diagrams of a process of performing other attachment object actions, such as detach and open, in a message thread may be similar to the process illustrated in
Those skilled in the art will appreciate that the flow diagrams of a process of performing bookmark object actions in a message thread may be similar to the processes illustrated in
Bookmark module 1552 receives input from the user in the form of values for attributes associated with the bookmark object action, bookmark. In various embodiments, the bookmark object action attributes for attach may include bookmark location.
Bookmark module 1552 associates the object action attribute bookmark location with the requested thread object.
Post module 1545 posts the bookmark object action (bookmark) in conjunction with the previously-posted thread object identifier to the message thread, consistent with various embodiments. Store module 1575 stores the bookmark object action (bookmark), the previously-posted thread object identifier, and updated message thread. Present module 1570 presents the updated message thread to users.
Tracking list module 1580 sends notifications and/or alerts to, as indicated by the object action's attributes and the previously-posted thread object identifier's attributes, the requesting users and any mentioned users (e.g., “@username”), consistent with various embodiments.
Those skilled in the art will appreciate that the flow diagrams of a process of performing other bookmark object actions, such as remove bookmark, in a message thread may be similar to the process illustrated in
Those skilled in the art will appreciate that the flow diagrams of a process of performing checklist object actions in a message thread may be similar to the processes illustrated in
Checklist module 1553 receives input from the user in the form of values for attributes associated with the checklist object action, create. In various embodiments, the checklist object action attributes for create may include checklist title, one or more subtask descriptions, and one or more subtasks' status.
Checklist module 1553 associates the object action's attributes checklist title, subtask description(s), and subtask status(es) with the requested thread object.
Post module 1545 posts the checklist object action (create) in conjunction with the previously-posted thread object identifier to the message thread, consistent with various embodiments. Store module 1575 stores the checklist object action (create), the previously-posted thread object identifier, and updated message thread. Present module 1570 presents the updated message thread to users.
Tracking list module 1580 sends notifications and/or alerts to, as indicated by the object action's attributes and the previously-posted thread object identifier's attributes, the requesting users and any mentioned users (e.g., “@username”), consistent with various embodiments.
Those skilled in the art will appreciate that the flow diagrams of a process of performing other checklist object actions, such as create, create from template, delete, edit, save as template and view, in a message thread may be similar to the process illustrated in
Those skilled in the art will appreciate that the flow diagrams of a process of performing clip object actions in a message thread may be similar to the processes illustrated in
Clip module 1554 receives input from the user in the form of values for attributes associated with the clip object action, attach. In various embodiments, the clip object action attributes for attach may include audio or video data file identifier, audio or video data file location, and audio or video data file format. Audio and video data files may be of multiple formats.
Clip module 1554 associates the object action's attributes audio or video data file identifier, audio or video data file location and audio or video data file format with the requested thread object.
Post module 1545 posts the clip object action (attach) in conjunction with the previously-posted thread object identifier to the message thread, consistent with various embodiments. Store module 1575 stores the clip object action (attach), the previously-posted thread object identifier, and updated message thread. Present module 1570 presents the updated message thread to users.
Tracking list module 1580 sends notifications and/or alerts to, as indicated by the object action's attributes and the previously-posted thread object identifier's attributes, the requesting users and any mentioned users (e.g., “@username”), consistent with various embodiments.
Those skilled in the art will appreciate that the flow diagrams of a process of performing other clip object actions, such as detach and open, in a message thread may be similar to the process illustrated in
Those skilled in the art will appreciate that the flow diagrams of a process of performing comment object actions in a message thread may be similar to the processes illustrated in
Comment module 1555 receives input from the user in the form of values for attributes associated with the comment object action, create. In various embodiments, the comment object action attributes for create may include text data.
Comment module 1555 associates the object action's attribute comment with the requested thread object.
Post module 1545 posts the comment object action (create) in conjunction with the previously-posted thread object identifier to the message thread, consistent with various embodiments. Store module 1575 stores the comment object action (create), the previously-posted thread object identifier, and updated message thread. Present module 1570 presents the updated message thread to users.
Tracking list module 1580 sends notifications and/or alerts to, as indicated by the object action's attributes and the previously-posted thread object identifier's attributes, the requesting users and any mentioned users (e.g., “@username”), consistent with various embodiments.
Those skilled in the art will appreciate that the flow diagrams of a process of performing other comment object actions, such as delete, edit and view, in a message thread may be similar to the process illustrated in
Those skilled in the art will appreciate that the flow diagrams of a process of performing signature object actions in a message thread may be similar to the processes illustrated in
Signature module 1558 receives input from the user in the form of values for attributes associated with the signature object action, execute. In various embodiments, the signature object action attributes for execute may include one of one or more signers and one of one or more signer responses.
Signature module 1558 associates the object action's attributes signer and signer response with the requested thread object.
Post module 1545 posts the signature object action (execute) in conjunction with the previously-posted thread object identifier to the message thread, consistent with various embodiments. Store module 1575 stores the signature object action (execute), the previously-posted thread object identifier, and updated message thread. Present module 1570 presents the updated message thread to users.
Tracking list module 1580 sends notifications and/or alerts to, as indicated by the object action's attributes and the previously-posted thread object identifier's attributes, the requesting users and any mentioned users (e.g., “@username”), consistent with various embodiments.
Those skilled in the art will appreciate that the flow diagrams of a process of performing other signature object actions, such as accept and decline, in a message thread may be similar to the process illustrated in
Those skilled in the art will appreciate that the flow diagrams of a process of performing to-do object actions in a message thread may be similar to the processes illustrated in
To-do module 1559 receives input from the user in the form of values for attributes associated with the to-do object action, edit (due date). In various embodiments, the to-do object action attributes for execute may include attribute (due date) and attribute value (new due date).
To-do module 1559 associates the object action's attributes attribute (due date) and attribute value (new due date) with the requested thread object.
Post module 1545 posts the to-do object action (edit (due date)) in conjunction with the previously-posted thread object identifier to the message thread, consistent with various embodiments. Store module 1575 stores the to-do object action (edit (due date)), the previously-posted thread object identifier, and updated message thread. Present module 1570 presents the updated message thread to users.
Tracking list module 1580 sends notifications and/or alerts to, as indicated by the object action's attributes and the previously-posted thread object identifier's attributes, the requesting users and any mentioned users (e.g., “@username”), consistent with various embodiments.
Those skilled in the art will appreciate that the flow diagrams of a process of performing other to-do object actions, such as delete and view, in a message thread may be similar to the process illustrated in
Turning now to
At block 2210, tracking list module 1570 retrieves all thread objects and object actions related to the user in the indicated message thread(s). In various embodiments, thread objects and object actions are related to the user wherein the user is, e.g., a requesting user, a mentioned user or an invitee. At block 2215, tracking list module 1570 presents the related thread objects in the user's tracking list. The user's tracking list is presented to the user on the user's device. In some embodiments, the tracking list is presented in a sidebar displayed along one side of a displayed message thread on the user's device.
At block 2215, tracking list module 1570 initiates a process to dynamically accept the user's input regarding modifying the display of the tracking list, consistent with various embodiments. For example, the user may dismiss one of the active thread objects displayed in the tracking list by clicking on an ‘x’ icon associated with that object.
Turning now to
The memory 2310 and storage devices 2320 are computer-readable storage media that may store instructions that implement at least portions of the described technology. In addition, the data structures and message structures may be stored or transmitted via a data transmission medium, such as a signal on a communications link. Various communications links may be used, such as the Internet, a local area network, a wide area network, or a point-to-point dial-up connection. Thus, computer-readable media may include computer-readable media (e.g., “non-transitory” media) and computer-readable transmission media. The instructions stored in memory 2310 may be implemented as software and/or firmware to program the processor(s) 2305 to carry out actions described above. In some embodiments, such software or firmware may be initially provided to the processing system 2300 by downloading it from a remote system through the computing system 2300 (e.g., via network adapter 2330).
The technology introduced herein may be implemented by, for example, programmable circuitry (e.g., one or more microprocessors) programmed with software and/or firmware, or entirely in special-purpose hardwired (non-program-mable) circuitry, or in a combination of such forms. Special-purpose hardwired circuitry may be in the form of, for example, one or more ASICs, PLDs, FPGAs, etc.
The above description and drawings are illustrative and are not to be construed as limiting. Numerous specific details are described to provide a thorough understanding of the disclosure. However, in certain instances, well-known details are not described in order to avoid obscuring the description. Further, various modifications may be made without deviating from the scope of the invention. Accordingly, the invention is not limited except as by the appended claims.
Reference in this specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the disclosure. The appearances of the phrase “in one embodiment” in various places in the specification are not necessarily all referring to the same embodiment, nor are separate or alternative embodiments mutually exclusive of other embodiments. Moreover, various features are described which may be exhibited by some embodiments and not by others. Similarly, various requirements are described which may be requirements for some embodiments but not for other embodiments.
The terms used in this specification generally have their ordinary meanings in the art, within the context of the disclosure, and in the specific context where each term is used. Certain terms that are used to describe the disclosure in this specification are used to provide additional guidance to the practitioner regarding the description of the disclosure. For convenience, certain terms may be highlighted, for example using italics and/or quotation marks. The use of highlighting has no influence on the scope and meaning of a term; the scope and meaning of a term is the same, in the same context, whether or not it is highlighted. It will be appreciated that the same thing may be said in more than one way. One will recognize that “memory” is one form of a “storage” and that the terms may on occasion be used interchangeably.
Consequently, alternative language and synonyms may be used for any one or more of the terms discussed herein, nor is any special significance to be placed upon whether or not a term is elaborated or discussed herein. Synonyms for certain terms are provided. A recital of one or more synonyms does not exclude the use of other synonyms. The use of examples anywhere in this specification including examples of any term discussed herein is illustrative only, and is not intended to further limit the scope and meaning of the disclosure or of any exemplified term. Likewise, the disclosure is not limited to various embodiments given in this specification.
Those skilled in the art will appreciate that the logic illustrated in each of the flow diagrams discussed above, may be altered in various ways. For example, the order of the logic may be rearranged, sub-steps may be performed in parallel, illustrated logic may be omitted, other logic may be included, etc.
Without intent to further limit the scope of the disclosure, examples of instruments, apparatus, methods and their related results according to the embodiments of the present disclosure are given above. Note that titles or subtitles may be used in the examples for convenience of a reader, which in no way should limit the scope of the disclosure. Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure pertains. In the case of conflict, the present document, including definitions will control.
Furthermore, in the specification, figures and claims, reference is made to particular features (including method steps) of the invention. It is to be understood that the disclosure of the invention includes all possible combinations of such particular features. For example, where a particular feature is disclosed in the context of a particular aspect or embodiment of the invention, or a particular claim, that feature may also be used, to the extent possible, in combination with and/or in the context of other particular aspects and embodiments of the invention.
Certain terminology and derivations thereof may be used in the following description for convenience in reference only, and will not be limiting. For example, words such as “upward,” “downward,” “left,” and “right” would refer to directions in the drawings to which reference is made unless otherwise stated. Similarly, words such as “inward” and “outward” would refer to directions toward and away from, respectively, the geometric center of a device or area and designated parts thereof. References in the singular tense include the plural, and vice versa, unless otherwise noted.
The term “comprises” and grammatical equivalents thereof are used herein to mean that other components, ingredients, steps, among others, are optionally present. For example, an article “comprising” (or “which comprises”) components A, B and C may consist of (i.e., contain only) components A, B and C, or may contain not only components A, B, and C but also contain one or more other components.
Where reference is made herein to a method comprising two or more defined steps, the defined steps may be carried out in any order or simultaneously (except where the context excludes that possibility), and the method may include one or more other steps which are carried out before any of the defined steps, between two of the defined steps, or after all the defined steps (except where the context excludes that possibility).
The term “at least” followed by a number is used herein to denote the start of a range beginning with that number (which may be a range having an upper limit or no upper limit, depending on the variable being defined). For example, “at least 1” means 1 or more than 1. The term “at most” followed by a number (which may be a range having 1 or 0 as its lower limit, or a range having no lower limit, depending upon the variable being defined). For example, “at most 4” means 4 or less than 4, and “at most 40%” means 40% or less than 40%. When, in this specification, a range is given as “(a first number) to (a second number)” or “(a first number)-(a second number),” this means a range whose limit is the second number. For example, 25 to 100 mm means a range whose lower limit is 25 mm and upper limit is 100 mm.
Aspects of the disclosed invention may be embodied as a system, method or process, or computer program product. Accordingly, aspects of the disclosed invention may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a “circuit,” “module,” “program,” “device,” or “system.” Furthermore, aspects of the disclosed invention may take the form of a computer program product embodied in one or more computer readable media having computer readable program code embodied thereon.
Any element in a claim that does not explicitly state “means for” performing a specified function, or “step for” performing a specific function is not to be interpreted as a “means” or “step” clause as specified in 35. U.S.C. § 112 ¶6. Specifically, the use of “step of” in the claims herein is not intended to invoke the provisions of U.S.C. § 112 ¶6.