Sharing collaborative documents with users via instant messaging

The system enables real-time collaboration and document sharing via instant messaging, addressing workflow inefficiencies in existing systems by allowing users to create, modify, and edit documents while integrating instant messaging for enhanced communication and access control.

JP7851290B2Active Publication Date: 2026-04-24SALESFORCE INC
View PDF 8 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
SALESFORCE INC
Filing Date
2021-01-29
Publication Date
2026-04-24

AI Technical Summary

Technical Problem

Existing collaboration systems impede fast-paced workflows by not enabling seamless and real-time sharing and collaboration on cloud-based projects and documents.

Method used

A system and method for sharing collaborative documents via instant messaging using cloud-based applications, allowing users to create, modify, and edit documents in real-time, with integrated instant messaging for discussion, and enabling access control and chat history management.

Benefits of technology

Facilitates effortless, real-time collaboration and document sharing among users, enhancing workflow efficiency by providing seamless communication and document management through instant messaging.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007851290000001
    Figure 0007851290000001
  • Figure 0007851290000002
    Figure 0007851290000002
  • Figure 0007851290000003
    Figure 0007851290000003
Patent Text Reader

Abstract

Disclosed herein are embodiments of a system, method, and computer program product for sharing collaborative documents with users via instant messaging. In one aspect, a collaboration application is configured to display one or more user interfaces associated with the collaboration application that enable a user to participate in a real-time chat between one or more users. The collaboration application may also present one or more user interfaces that enable a user to select one or more references to collaborative documents stored in a remote document data store and then share these references to the collaborative documents with one or more users in the real-time chat. In one example, these references may be represented in the real-time chat as user interface elements that visually present the collaborative document title and an associated collaborative document pictogram or icon.
Need to check novelty before this filing date? Find Prior Art

Description

Background Art

[0001] Business operations often require collaboration among various users through sharing of various electronic and / or cloud-based projects, records, and documents. Existing collaboration systems may enable users to share or collaborate on these projects, records, and / or documents via conventional electronic communication methods such as email, but such conventional communication methods often impede typical fast-paced workflows. Therefore, there is a need for improvement to enable users to easily share and collaborate on various cloud-based projects, records, and / or documents with persistence and nearly in real time.

Brief Description of the Drawings

[0002] The accompanying drawings are incorporated herein and form a part of this specification. [Figure 1] An exemplary embodiment of a system for sharing collaborative documents with a user via instant messaging is shown. [Figure 2] An exemplary logic flow in a system for sharing collaborative documents using instant messaging is shown. [Figure 3] An exemplary chat user interface (UI) view of a mobile collaboration application visually presented on a display device coupled to a mobile device for instant messaging and sharing of collaborative documents is shown. [Figure 4] An exemplary chat user interface (UI) view of a desktop collaboration application on a computing device having a display device for instant messaging and sharing of collaborative documents is shown. [Figure 5A-5B] Figures 5A - 5C show exemplary chat UI views of a mobile collaboration application on a mobile device having a display device for selecting and sending references to collaborative documents. [Figure 5C] Figures 5A to 5C show exemplary chat UI views of a mobile collaborative application on a mobile device with a display device for selecting and sending references to collaborative documents. [Figure 6A] Figures 6A–6C show exemplary chat UI views of a desktop collaborative application on a computing device coupled to a display device for selecting and sending references to collaborative documents. [Figure 6B] Figures 6A–6C show exemplary chat UI views of a desktop collaborative application on a computing device coupled to a display device for selecting and sending references to collaborative documents. [Figure 6C] Figures 6A–6C show exemplary chat UI views of a desktop collaborative application on a computing device coupled to a display device for selecting and sending references to collaborative documents. [Figure 7A] Figures 7A to 7C show an exemplary logic flow 700 for sending a collaborative document reference from a source user to at least one target user via a collaborative communication system. [Figure 7B] Figures 7A to 7C show an exemplary logic flow 700 for sending a collaborative document reference from a source user to at least one target user via a collaborative communication system. [Figure 7C] Figures 7A to 7C show an exemplary logic flow 700 for sending a collaborative document reference from a source user to at least one target user via a collaborative communication system. [Figure 8] This shows an exemplary mobile device configured to run a mobile collaborative application. [Figure 9] An exemplary computer system useful for implementing various embodiments is shown.

[0003] In drawings, similar reference numbers generally indicate identical or similar elements. Furthermore, the leftmost digit(s) of a reference number generally identify the drawing in which that reference number first appears. Additionally, one or more specifiers to the right of a reference number, such as "a", "b", and "c", and other similar specifiers, are intended to be variables representing any positive integer. Therefore, for example, if one implementation sets a to the value a=4, the element set 104-a may contain elements 114-1, 114-2, 114-3, and 114-4. [Modes for carrying out the invention]

[0004] This specification provides embodiments of systems, devices, products, methods, and / or computer program products, and / or combinations and subcombinations thereof, for sharing various collaborative documents with one or more users via instant messaging.

[0005] Furthermore, to provide a new, effortless, and seamless way to share and collaborate on one or more cloud-based collaborative documents, various embodiments directed toward sharing collaborative documents among one or more users via instant messaging are disclosed herein. Moreover, these embodiments provide virtually effortless ways to share collaborative documents and allow one or more users to easily follow the conversations surrounding the discussions within these documents. In this way, users can discuss and share various collaborative documents. Further features and advantages of these embodiments, as well as their structure and operation, are described in detail below with reference to the accompanying drawings.

[0006] Figure 1 is a block diagram of system 100 for sharing collaborative documents with users via instant messaging. System 100 may include one or more mobile devices 102-b and one or more computing devices 104-a, wherein one or more mobile devices 102-b and one or more computing devices 104-a may be operationally and / or communically coupled to a cloud collaborative system 170. For example, one or more computing devices 104-a, one or more mobile devices 102-b, and / or the cloud collaborative system 170 of system 100 may all be communically and / or operationally coupled together as part of one or more communication networks via wired connections, wireless connections, or a combination of wired and wireless connections.

[0007] In one exemplary embodiment, one or more communication networks may include, but are not limited to, ad hoc networks, intranets, extranets, virtual private networks (VPNs), local area networks (LANs), wireless LANs (WLANs), wide area networks (WANs), wireless wide area networks (WWANs), metropolitan area networks (MANs), parts of the Internet, parts of the Public Switched Telephone Network (PSTN), cellular telephone networks, wireless networks, WiFi networks, WiMAX networks, any other type of network, or a combination of two or more such networks.

[0008] In one embodiment, one or more computing devices 104-a can generally be configured to run one or more applications, which may include, but are not limited to, desktop collaborative applications 110. For example, one or more computing devices 104-a may represent desktop computing devices, server devices, virtual machines running on desktop computing devices and / or server devices, and / or similar. An exemplary implementation of computing device 104-a is further illustrated and discussed with reference to Figure 9.

[0009] In one embodiment, one or more mobile devices 102-b can generally be configured to run one or more mobile applications, which may include, but are not limited to, mobile collaborative applications 112. For example, one or more mobile devices 102-b may represent mobile phones, personal digital assistants, tablet computing devices, portable media players, and / or similar devices. An exemplary implementation of mobile device 102-b is further illustrated and discussed with reference to Figure 8.

[0010] In one embodiment, a desktop collaborative application 110 (e.g., a web browser, a native application, etc.) can be configured to visually present (or otherwise display) one or more user interface (UI) views on a display device operationally coupled to each computing device 110-a. The one or more UI views can generally be configured to allow users of the desktop collaborative application 110 to create, modify, and / or edit one or more collaborative documents managed by the cloud collaborative system 170. Furthermore, the one or more UI views can also be configured to allow users to chat in real time with other users via their respective computing devices 102-a and / or one or more mobile devices 102-b using one or more chat UI views, as shown in at least Figures 4 and 6A-6C.

[0011] In one embodiment, a mobile collaborative application 112 (e.g., a mobile web browser, a native mobile application, etc.) is configured to visually present (or otherwise display) one or more user interface (UI) views. One or more UI views may be configured to allow users of the mobile collaborative application 112 to create, modify, and / or edit one or more collaborative documents managed by the cloud collaborative system 170. Furthermore, one or more UI views may also be configured to allow users to chat in real time with other users via their respective computing devices 102-a and / or one or more mobile devices 102-b using one or more chat UI views, as shown in at least Figures 3 and 5A to 5C.

[0012] In one embodiment, the cloud collaborative system 170 may include, but is not limited to, a management application program interface (API) gateway 122, a collaborative management system 126, a collaborative communication system 128, a document data store 134, an account data store 136, and a communication data store 138. Furthermore, the cloud collaborative system 170 may further include, but is not limited to, a record data store (not shown). All of these systems, gateways, and data stores can be coupled together in communication and / or operation via one or more wired connections, wireless connections, or a combination of wired and wireless connections as part of one or more communication networks, as shown in Figure 1.

[0013] In one embodiment, the collaborative management system 126 can generally be configured to provide one or more cloud computing services. These one or more cloud computing services may include, but are not limited to, Infrastructure as a Service (IaaS), Software as a Service (SaaS), Platform as a Service (PaaS), Storage as a Service (StaaS), Mobile “backend” as a service (MBaaS), Function as a Service (FaaS), and / or any other cloud computing services. In one embodiment, the one or more cloud computing services may generally be implemented by one or more virtual machines running on one or more server devices, as will be further discussed with respect to Figure 9.

[0014] In one embodiment, one or more cloud computing services of the collaborative management system 126 can generally be configured to run one or more distributed applications, which may include, but are not limited to, a collaborative management application 140. In one embodiment, the collaborative management application 140 can generally be configured to communicate with and operate a desktop collaborative application 110 and a mobile collaborative application 112 in order to provide real-time collaborative content.

[0015] In one embodiment, the collaborative management application 140 can enable multiple users to collaborate in real time or near real time to design, write, implement, edit, and complete various forms of collaborative content, such as one or more collaborative documents, projects, database records, and / or similar. One or more collaborative documents may include, but are not limited to, word processing documents, spreadsheet documents, presentation documents, source code documents, and / or similar. An exemplary collaborative management application 140 may include, but are not limited to, GOOGLE® DOCS, MICROSOFT® OFFICE 365, SALESFORCE® QUIP, SALESFORCE LIGHTNING with SALESFORCE RECORDS, SALESFORCE PROJECTS, and / or similar.

[0016] For example, the collaborative management application 140 can be configured to receive one or more requests from the desktop collaborative application 110 and / or the mobile collaborative application 112 to create and / or delete one or more collaborative documents stored in the document data store 134. Furthermore, the collaborative management application 140 can also be configured to receive one or more requests from the desktop collaborative application 110 and / or the mobile collaborative application 112 to modify, revise, edit, update, or delete at least a portion of one or more collaborative documents. Examples are not limited to this context.

[0017] Similarly, the collaboration management application 140 can also be configured to receive from the desktop collaboration application 110 and / or the mobile collaboration application 112 one or more requests to create and / or delete one or more projects and / or database records stored in a record data store (not shown). Further, the collaboration management application 140 can further be configured to receive from the desktop collaboration application 110 and / or the mobile collaboration application 112 one or more requests to modify, revise, edit, update, and delete at least a portion of one or more projects and / or database records. The example is not limited in this context

[0018] In one embodiment, the collaboration communication system 128 can generally be configured to provide one or more cloud computing services similar to those discussed with respect to the collaboration management system 128. In one embodiment, the one or more cloud computing services can generally be implemented by one or more virtual machines running on one or more server devices as further discussed with respect to FIG. 9.

[0019] In one embodiment, the one or more cloud computing services of the collaboration communication system 128 can generally be configured to execute one or more distributed applications, which can include, but are not limited to, the collaboration communication application 142. In one embodiment, the collaboration communication application 142 can generally be configured to communicate with and operate with the desktop collaboration application 110 and the mobile collaboration application 112 to provide real-time instant messaging as further discussed herein.

[0020] Although the collaboration management system 126 and the collaboration communication system 128 are shown as separate systems, it can be understood that these two systems may be combined into a combined system. Further, the combined system can then be configured to provide one or more cloud computing services and execute one or more distributed applications including, but not limited to, the collaboration management application 140 and the collaboration communication application 142.

[0021] In one embodiment, the document data store 134 can generally be configured to store one or more collaboration documents and collaboration document information associated with each of the one or more collaboration documents. In one embodiment, the collaboration document information of each collaboration document may include, but is not limited to, a collaboration document title identifying the title of the corresponding collaboration document, and / or a collaboration document identifier uniquely identifying the corresponding collaboration document.

[0022] In one embodiment, the collaboration document information may further include, but is not limited to, a collaboration document type (e.g., word processor document, spreadsheet document, presentation document, source code document, etc.) identifying the type of the corresponding collaboration document, a collaboration document pictogram identifier identifying a pictogram representing the corresponding collaboration document, a collaboration document access control list identifying an access type (e.g., read, write, view, full control, etc.) associated with one or more user identifiers that have access, and / or any other information that may be associated with the collaboration document.

[0023] Although not explicitly illustrated, it can be understood that the collaborative management application 140 may be operationally coupled to a record data store. In one embodiment, the record data store can generally be configured to store database records. For example, the dataset records may be sales account records. The sales account records may include the name of the sales account, potential sales price, past sales price, target end date, current clients, past clients, potential clients, and / or similar.

[0024] In one embodiment, the account data store 136 can generally be configured to manage user account information associated with each user of the collaborative management system 126 and the collaborative communication system 142. Each user's user account information may include, but is not limited to, a user identifier (e.g., the user's email address, unique name, etc.), a user's full name (e.g., first and last name, etc.), a user password (e.g., a hashed and salted version of an alphanumeric text), a user image (e.g., an image or reference to a time associated with the user), a cached list of permitted collaborative documents identifying one or more collaborative documents that the user may access, and / or any other information associated with the user.

[0025] In one embodiment, the cached authorized collaborative document list may generally include a list of authorized collaborative documents that a user can access in accordance with each collaborative document access control list associated with each collaborative document, as discussed herein. In one embodiment, the cached authorized collaborative document list may include, but are not limited to, a cached version of the collaborative document information (i.e., cached collaborative document information) for each collaborative document that a user can access, as discussed herein. Furthermore, the cached collaborative document information may further include, but are not limited to, a collaborative document access frequency that identifies the number of times a collaborative document has been accessed by a user and the time and date of each access.

[0026] For security purposes, and in some embodiments, it is understood that cached collaborative document information may not include all information available in or associated with the collaborative document. For example, cached collaborative document information may exclude collaborative document access control lists. In other examples, cached collaborative document information may include collaborative document access control lists to indicate which users may have access to the collaborative document.

[0027] To ensure that the cached collaborative document information in the cached authorized collaborative document list is up-to-date with respect to the underlying collaborative document information for each collaborative document, the collaborative management application 140 and / or the collaborative communication application 142 may be configured to periodically synchronize or update the cached collaborative document information in the cached authorized collaborative document list (e.g., every hour, every 12 hours, every day, every 7 days, etc.). Furthermore, the collaborative management application 140 and / or the collaborative communication application 142 may be configured to synchronize or update the cached collaborative document information in the cached authorized collaborative document list for one or more users using the corresponding underlying collaborative document information for each collaborative document.

[0028] Furthermore, or alternatively, the collaborative management application 140 and / or the collaborative communication application 142 may asynchronously synchronize or update cached collaborative document information in the cached authorized collaborative document list of one or more users using the corresponding underlying collaborative document information for each collaborative document. For example, the collaborative management application 140 and / or the collaborative communication application 142 may update cached collaborative document information in the cached authorized collaborative document list of one or more users when the corresponding underlying collaborative document information for a particular collaborative document is further updated.

[0029] In one embodiment, the communication data store 138 can generally be configured to store chat history information relating to chat (or instant message) history between one or more users. In one embodiment, the chat history may include information about all chat sessions and / or conversations between a set of users. In one embodiment, the chat history information for each chat history between a set of users may include, but is not limited to, a chat user list identifying user identifiers of users participating in an instant message conversation, a chat history identifier uniquely identifying the chat history between the set of users, and / or a collaborative communication message list between the set of users.

[0030] In one embodiment, the collaborative communication message list may include, but is not limited to, one or more collaborative communication messages between sets of users. Each of the one or more collaborative communication messages may include, but is not limited to, a set of communication message attributes and communication message content. In one embodiment, the set of communication message attributes may include, but is not limited to, a communication message time attribute that identifies the time the communication message was sent, a communication message author attribute that identifies a user in the set of users who sent the communication message, and / or any other communication message attributes. In one embodiment, the communication message content may include, but is not limited to, alphanumeric text associated with the actual communication message stored in one or more text encodings and / or interpretable languages ​​(e.g., hyper or a subset thereof).

[0031] In one embodiment, the management API gateway 122 can generally be configured to provide one or more APIs so that one or more applications (e.g., a collaborative management application 140, a collaborative communication application 142, etc.) can communicate with the desktop collaborative application 110 and the mobile collaborative application 112. For example, the management API gateway 122 may be configured to manage any incoming requests and provide corresponding responses between one or more applications and the collaborative management system 126 and / or the collaborative communication system 128 according to one or more communication protocols.

[0032] Figure 2 shows an exemplary logic flow 200 in system 100 for sharing a collaborative document collaborative communication system using instant messaging. Depending on the implementation, it will be understood that not all steps need to be performed. Nor do all steps need to be performed in the order illustrated or otherwise discussed. Furthermore, one or more steps can be combined with other disclosures discussed herein (e.g., discussions in Figures 1 and 3-7).

[0033] In one embodiment, the first exemplary logic flow may generally be directed to retrieve a cached list of authorized collaborative documents associated with a user of the mobile collaborative application 112. Furthermore, the first exemplary logic flow may begin in step 208-1, in which the mobile collaborative application 112 on mobile device 102-1 may generate an available collaborative document request and send it to the collaborative communication system 128 in response to receiving input from a user of mobile device 102-1 (e.g., a source user associated with mobile device 102-1). For example, the available collaborative document request may be generated and sent in response to receiving input from a user of mobile device 102-1 requesting the mobile collaborative application 112 to start a chat session with another user (e.g., a target user computing device 104-1).

[0034] Continuing from step 208-1, in another example, an available collaborative document request may be generated and sent in response to receiving input from the user of mobile device 102-1 to open the mobile collaborative application 112 (e.g., target user computing device 104-1). The collaborative document request may include, but is not limited to, a source user identifier, which can identify the user of mobile device 102-1. In response, the collaborative communication application 142 may receive an available collaborative document request from mobile device 102-1.

[0035] In step 208-2, the collaborative communication application 142 can retrieve cached collaborative document information from the account data store 136 for the user identified by the source user identifier. The collaborative communication application 142 can generate an available collaborative document response, which may include, but is not limited to, a list of cached authorized collaborative documents.

[0036] In step 208-3, the collaborative communication application 142 can send an available collaborative document response to the mobile collaborative application 112. The mobile collaborative application 112 can then receive the available collaborative document response, which can then be cached in memory by the mobile device 102-1 (for example, in the device data store 850 of memory 870). The mobile collaborative application 112 can then use the cached collaborative document information, as will be discussed further in at least Figures 5A to 5C.

[0037] In one embodiment, the second exemplary logic flow may generally be directed to retrieve chat history from a collaborative communication application 142 between a source user and at least one target user. Furthermore, the second exemplary logic flow can be initiated in step 210-1, in which the mobile collaborative application 112 of the mobile device 102-1 can generate a chat history request and send it to the collaborative communication application 142 in response to receiving input from a user of the mobile device 102-1 (e.g., a source user associated with the mobile device 102-1). For example, an available collaborative document request may be sent in response to receiving input from a user of the mobile device 102-1 requesting the mobile collaborative application 112 to start a chat session with another user (e.g., a target user computing device 104-1).

[0038] Continuing with step 210-1, the chat history request may include, but is not limited to, a chat history identifier that identifies the chat history between the source user and at least one target user, a source user identifier that identifies the user of the device, and / or a target user identifier that identifies the recipient of the message sent by the source user. In response, the collaborative communication application 142 may receive an available collaborative document request from the mobile device 102-1.

[0039] In step 210-2, the collaborative communication application 142 can retrieve the chat history from the communication data store 138 in response to a chat history request. Furthermore, the collaborative communication application 142 can retrieve the chat history based on at least the chat history identifier, source user identifier, and / or target user identifier. The collaborative communication application 142 can generate a chat history response based on at least the chat history, the chat history response including the chat history retrieved from the communication data store 138.

[0040] Continuing with step 210-2, the chat history may also include at least one collaborative document reference that identifies at least one collaborative document previously sent from the source user to at least one target user and / or received by the source user and sent by at least one target user. Furthermore, each collaborative document reference of at least one collaborative document reference may include, but is not limited to, a collaborative document address that identifies at least the collaborative document title, collaborative document identifier, collaborative document pictogram identifier, collaborative document type, and / or the collaborative document's Uniform Resource Locator (URL) and / or Uniform Resource Identifier (URI).

[0041] Continuing with step 210-2, optionally, the collaborative communication application 142 may also update at least one collaborative document reference in the chat history between the source user and at least one target user to be consistent with the document data store 134 managed by the collaborative management system 126.

[0042] For example, the collaborative communication application 142 can be configured to request at least a portion of the collaborative document information from the collaborative management application 140 for at least one collaborative document reference in the chat history. To reduce the number of requests sent from the collaborative communication application 142, the requests may be based at least on whether the underlying collaborative document information corresponding to the collaborative document reference in the chat history has been updated since the collaborative document reference was last updated in the chat history. Furthermore, or alternatively, the requests may be based at least on whether a portion of the collaborative document reference (e.g., the collaborative document title) is inconsistent with or out of sync with at least a portion of the collaborative document information (e.g., the collaborative document title).

[0043] Continuing the above example, the collaborative communication application 142 can then update the retrieved chat history and / or at least one collaborative document reference in the chat history stored in the communication data store 138. The update can be based on at least the received collaborative document information (or a portion thereof) corresponding to at least one collaborative document reference in the chat history. In this way, one or more updates to at least a portion of the collaborative document information (e.g., collaborative document title) for a particular collaborative document stored in the document data store 134 can be reflected in the chat history regardless of when the collaborative document reference corresponding to that particular collaborative document was sent and / or received between the source user and at least one target user.

[0044] In step 210-3, the collaborative communication application 142 can send the chat history response to the mobile collaborative application 112 on the mobile device 102-1. The mobile collaborative application 112 can receive the chat history response, which can then be cached by the mobile device 102-1 in memory (for example, in the device data store 850 of memory 870). The mobile collaborative application 112 can then use the chat history response, as will be discussed further in at least Figures 5A-C.

[0045] In one embodiment, the third exemplary logic flow may generally be directed to send at least one collaborative communication message containing a collaborative document reference to at least one target user. Furthermore, the third exemplary logic flow can be initiated in step 214-1, in which the mobile collaborative application 112 of the mobile device 102-1 can generate a message transmission request and send it to the collaborative communication application 140. The message transmission request may include, but is not limited to, a chat history identifier, at least one target user identifier, and / or a source user identifier. Furthermore, the message transmission request may further include, but is not limited to, a collaborative communication message, as further discussed in at least Figures 5A-5C and Figures 6A-6C.

[0046] Continuing from step 214-1, the collaborative communication message may include at least one collaborative document reference associated with a collaborative document, but is not limited to these. In response, the collaborative communication application 142 may receive a message transmission request from the mobile device 102-1. Furthermore, the mobile collaborative application 112 may also use the collaborative communication message to update a cached version of the chat history identified by the chat history identifier.

[0047] In step 214-2, the collaborative communication application 142 can identify the chat history stored in the communication data store 138 based on at least a chat history identifier, at least one target user identifier, and / or a source user identifier. The collaborative communication application 142 can then update the identified chat history with collaborative communication messages received from the mobile collaborative application 112 of the mobile device 102-1.

[0048] In step 214-3, the collaborative communication application 142 may send a document access request to the collaborative management application 140 to request access to the collaborative document for a target user. The document access request may include, but is not limited to, at least a portion of the collaborative document reference in the collaborative communication message, at least one target user identifier, and / or a source user identifier. In response, the collaborative management application 140 may determine whether there is at least one target user who does not yet have access to the collaborative document identified by the collaborative document reference. Furthermore, the collaborative management application 140 may also determine whether a source user identified by the source user identifier also has access.

[0049] If the source user identified by the corresponding source user identifier has access to the collaborative document, but there is at least one target user who does not yet have access, the collaborative management application 140 can grant access to the collaborative document to that at least one target user who does not yet have access. For example, to grant access to at least one target user, the collaborative management application 140 can add at least one target user identifier of that at least one target user who does not yet have access to the collaborative document to the collaborative document access control list of the collaborative document. Thus, any collaborative document reference sent to at least one target user may automatically grant access to the underlying collaborative document.

[0050] In step 214-4, the collaborative communication application 142 can send a message notification request to the desktop collaborative application 110 running on the computing device 104-1, and the desktop collaborative application 110 may be associated with a user identified by a target user identifier. In response, the desktop collaborative application 110 receives the collaborative communication message and can visually present (or otherwise display) the collaborative communication message in at least one chat UI view, as further discussed in Figures 6A-6C.

[0051] In step 214-5, the desktop collaborative application 110 running on the computing device 104-1 can send a message notification response indicating proper receipt of the collaborative communication message. In response, the collaborative communication application 142 can receive the message notification response from the desktop collaborative application 110.

[0052] In step 214-6, the collaborative communication application 142 can send a message sending response to the mobile collaborative application 112, which may include, but is not limited to, a message notification status indicating whether the collaborative communication message has been successfully delivered to one or more users identified by at least one target user identifier. In response, the mobile collaborative application 112 may also update its cached chat history to indicate that at least one user having the corresponding at least one target user identifier has successfully received the previously sent collaborative communication message.

[0053] Although not shown, it can be understood that at this stage, users of the desktop collaborative application 110 and users of the mobile collaborative application 112 may request to open a collaborative document identified by a collaborative document reference received in a collaborative communication message. For example, a user of the mobile collaborative application 112 may select a collaborative document reference that is visually presented as one or more selectable UI elements on the touch-sensitive display of their mobile device 102-1. In response to that selection, the mobile collaborative application 112 may then request the collaborative management system 126 to provide the collaborative document corresponding to the collaborative document reference to the mobile collaborative application 112. Alternatively, in response to the selection, the mobile collaborative application 112 may request the execution, launch, or opening of a separate mobile application (not shown) configured to manage collaborative documents stored in the document data store 134 (e.g., open, update, revise, modify, delete, etc.). Next, a separate mobile application can request the collaborative management system 126 to provide the separate mobile application with the collaborative document corresponding to the collaborative document reference for management purposes.

[0054] In one embodiment, the fourth exemplary logic flow may generally be directed to a target user requesting to open a collaborative document received by the target user in a collaborative communication message having a collaborative document reference corresponding to the collaborative document. The fourth exemplary logic flow can begin in step 218-1, in which the collaborative communication application 142 can generate a collaborative document request to access the collaborative document and send it to the collaborative management application 140 in response to receiving input from a user of the desktop collaborative application 110 (e.g., a target user associated with computing device 104-1). For example, the collaborative document request may be generated and sent in response to receiving input from a user of the desktop collaborative application 110 requesting the desktop collaborative application 110 to open a collaborative document reference received in a collaborative communication message.

[0055] Continuing from step 218-1, the collaborative document request may include, but is not limited to, collaborative document references. In response, the collaborative management application 140 can receive the collaborative document request.

[0056] In step 218-2, the collaborative management application 140 can retrieve the corresponding collaborative document from the document data store 134, at least based on the collaborative document reference.

[0057] In step 218-3, the collaborative management application 140 can generate a collaborative document response and send it to the desktop collaborative application 110, which may include, but is not limited to, collaborative documents. In response, the desktop collaborative application 110 receives the collaborative document response and can visually present (or otherwise display) the collaborative documents received in the collaborative document response. Subsequently, users of the desktop collaborative application 110 can send one or more requests via their mobile desktop collaborative applications 110 to update, revise, modify, and / or delete at least a portion of the collaborative documents.

[0058] While some of the above exemplary logic flows (e.g., the first, second, and third exemplary logic flows) are described between at least the mobile collaborative application 112 and the collaborative communication application 142, it can be understood that similar logic flows may also be executed between the computing device 104-1 and the collaborative communication application 142 using at least a similar chat UI view as shown in Figures 6A to 6C. Similarly, while some of the above exemplary logic flows (e.g., the fourth exemplary logic flow) are described between the computing device 104-1 and the collaborative management application 140, similar logic flows may also be executed between the mobile collaborative application 112 and the collaborative communication application 142.

[0059] Furthermore, it can be understood that in some cases, such as when a user of mobile device 102-1 requests mobile device 102-1 to run mobile collaborative application 112, or requests mobile collaborative application 112 that is already running to send a collaborative communication message to at least one target user, stages 208-1, 208-2, and 208-3 may occur substantially simultaneously with stages 210-1, 210-2, and 208-3.

[0060] Figure 3 shows an exemplary chat UI view 300 of a mobile collaborative application 112 visually presented on the display device of a mobile device 102-1 for instant messaging and sharing of collaborative documents.

[0061] As shown in Figure 3, the chat UI view 300 displays a chat user interface that a user may use to participate in a real-time chat. In one embodiment, the chat UI view 300 may include a target user UI element 310 configured to visually present at least a portion of user account information associated with at least one target user, such as the full name of at least one target user and a user image of at least one target user.

[0062] In one embodiment, the chat UI view 300 may also include a chat history UI element 312 configured to visually present at least a portion of the chat history received from the collaborative communication application 142, but is not limited to these. Furthermore, or alternatively, the chat history UI element may be configured to visually present a cached version of the chat history received from the collaborative communication application 142 (i.e., cached chat history) that is stored locally on the mobile device 102-1.

[0063] In one embodiment, the chat history UI element 312 may include one or more collaborative communication message UI elements 324-c, but is not limited to these. Each collaborative communication message UI element (for example, collaborative communication message UI elements 312-1, 312-2) may correspond to a specific collaborative communication message in the chat history and may visually present the corresponding collaborative communication message.

[0064] In one embodiment, the chat history UI element 312 can visually present each of one or more collaborative communication message UI elements 324-c in reverse chronological order. For example, collaborative communication messages sent earlier in time and date, identified by their corresponding communication message time attribute, are displayed first. Thus, collaborative communication messages sent last in time and date, identified by their corresponding communication message time attribute (e.g., collaborative communication messages corresponding to collaborative communication message UI elements 312-1 and 312-2), are displayed last. In one embodiment, the chat history UI element 312 can also be configured to be scrollable, allowing the user to view one or more collaborative communication message UI elements 324-c that are earlier or later in time and date.

[0065] In one embodiment, the chat UI view 300 may also include, but is not limited to, a message composer UI element 314. The message composer UI element 314 can generally be configured to visually present various user inputs (e.g., alphanumeric inputs) received from the user of the mobile device 102-1. These various user inputs can form at least part of a collaborative communication message that can be generated and sent to a target user identified by the target user UI element 310. Furthermore, the message composer UI element 314 may also be configured to allow the user to insert various collaborative content into the collaborative communication message.

[0066] In one embodiment, the chat UI view 300 may also include a virtual keyboard UI element 316, which is generally configured to receive user input, such as haptic user input on a touch-sensitive display device, but is not limited to these. Furthermore, the virtual keyboard UI element 316 may include a plurality of selectable UI elements, each of which one or more selectable UI elements corresponds to a specific alphanumeric input and / or modification to an alphanumeric input.

[0067] In one embodiment, to allow users to insert various types of content into collaborative communication messages, the message composer UI element 314 may include, but is not limited to, toolbar UI elements 336. The toolbar UI element 336 may include one or more selectable UI elements that allow users to insert various types of content, as will be discussed further herein.

[0068] In one embodiment, the toolbar UI element 336 may include, but is not limited to, an input token UI element 322. Furthermore, the token input UI element 322 may also be a selectable UI element that allows the user of the mobile device 102-1 to select one or more collaborative content items for insertion into a collaborative communication message, as discussed with respect to at least Figures 5A to 5C.

[0069] In one embodiment, to enable the user to insert various non-alphanumeric text into collaborative communication messages, the toolbar UI element 336 may further include, but is not limited to, a custom content insert UI element 330 and an insert preset content insert UI element 332. In one embodiment, the custom content insert UI element 330 may also be a selectable UI element that enables the user of the mobile device 102-1 to select and insert various types of content, such as one or more images and / or videos typically stored on the user's mobile device 102-1.

[0070] For example, after a user selects a custom content insertion UI element 330, the mobile collaborative application 112 may be configured to provide one or more UI elements that allow the user to select custom content in various forms, such as images and / or videos, typically stored on the user's mobile device 102-1. The mobile collaborative application 112 can then send the selected custom content to at least one target user in a collaborative communication message via the collaborative communication system 128.

[0071] Unlike the transmission of various collaborative content discussed herein, it should be understood that when selected custom content is transmitted, the actual underlying data of the selected custom content (i.e., actual images, actual videos, actual files, etc.) is transmitted from the user's device (e.g., mobile device 102-1) to at least one target user's device. Thus, upon receipt by the target user's device (e.g., computing device, mobile device, etc.), the target user can modify, edit, update, and / or delete the custom data without having to request access to the collaborative management application 140 using at least a portion of the collaborative document reference.

[0072] In one embodiment, the preset content insertion UI element 332 may also be a selectable UI element that allows the user of mobile device 102-1 to select and insert one or more references to preset or predetermined content, such as a set of static and / or animated images (e.g., animated GIFs), expressive pictograms (e.g., stickers, emoticons), and / or videos (e.g., MPEG videos, H.264 / H.265 encoded videos), which are cached on various user devices (e.g., mobile device 102-1, computing device 104-1, etc.).

[0073] For example, after a user selects a preset content insertion UI element 332, the mobile collaborative application 112 can visually present one or more of these predetermined sets of static and / or animated visual content, which may include, but are not limited to, one or more images, expressive pictograms, and / or videos in one or more UI elements (not shown). The user can then search through the various visual content presented in one or more UI elements (not shown) and select one or more images, expressive pictograms, and / or videos to be sent to at least one target user. After receiving the user's selection of at least one preset image, the mobile collaborative application 112 can visually present the actual selected preset content (e.g., static and / or animated images, expressive pictograms, and / or videos, etc.) or a reference to the selected preset content to be sent to the target user within the message input UI element 320. The mobile collaborative application 112 can then send the selected reference to the preset content in a collaborative communication message to at least one target user via the collaborative communication system 128. Depending on the implementation, collaborative communication messages sent to at least one target user may include references to preset content and / or data that forms the actual basis of the preset content.

[0074] In one embodiment, the toolbar UI element 336 may further include, but are not limited to, an insert records UI element 334, to enable the user to search for various database records stored in a record data store 140 (not shown) operationally coupled to the collaborative management application 140. After the user selects an insert records UI element 334, the mobile collaborative application 112 may visually present one or more database records stored in the record data store (not shown), as discussed herein. The user can then search for one or more database records and select one or more database records to be sent to at least one target user. After receiving the user selection of at least one database record, the mobile collaborative application 112 may visually present a reference to the selected database record to be sent to at least one target user in the message input UI element 320. The mobile collaborative application 112 may then send the selected reference corresponding to the selection to at least one target user via the collaborative communication system 128.

[0075] In one embodiment, the message composer UI element 314 may include, but is not limited to, a message input UI element 320 in order to visually present various user inputs (e.g., alphanumeric input) that the user may provide via the virtual keyboard UI element 316, the token input UI element 322, or other UI elements. Furthermore, the message input UI element 320 may generally be configured to visually present one or more alphanumeric characters entered in real time by the user of the mobile device 102-1. Furthermore, the message input UI element 320 may be configured to visually present one or more selected collaborative document UI elements, as will be discussed further with respect to at least Figures 5A to 5C.

[0076] In one embodiment, to send a collaborative communication message in a message transmission request, the message composer UI element 314 may further include a send message UI element 318. Furthermore, the send message UI element 318 may also be an optional UI element that allows a user of the mobile device 102-1 to generate a message transmission request containing a collaborative communication message and to request the mobile device 102-1 to send the message transmission request, as discussed at least with respect to Figures 5A to 5C.

[0077] Figure 4 shows an exemplary desktop collaborative application UI view 400 of a desktop collaborative application 110 visually presented on a display device coupled to computing device 104-1, for at least instant messaging and sharing of collaborative documents. It can be seen that the functions and operations associated with the desktop collaborative application 110 discussed herein may be similar to those of the mobile collaborative application 112 discussed in Figure 3.

[0078] As shown in Figure 4, the desktop collaborative application UI view 400 can be configured to visually present a UI for accessing various types of collaborative content. In one embodiment, the desktop collaborative application UI view 400 may include a chat UI view 402. In one embodiment, the chat UI view 400 shows a chat UI that a user can use to participate in a real-time chat with at least one target user.

[0079] In one embodiment, the chat UI view 402 may include, but is not limited to, a target user UI element 410, which may be configured similarly to the target user UI element 310. For example, similar to the target user UI element 310, the target user UI element 410 may also be configured to visually present at least a portion of user account information associated with at least one target user.

[0080] In one embodiment, the chat UI view 402 may also include, but is not limited to, a chat history UI element 412, which may be configured similarly to the chat history UI element 412. For example, like the chat history UI element 312, the chat history UI element 412 may also be configured to visually present at least a portion of the chat history received from the collaborative communication application 142.

[0081] In one embodiment, the chat UI view 402 may further include, but is not limited to, a message composer UI element 414, which may be configured similarly to the message composer UI element 314. For example, like the message composer UI element 314, the message composer UI element 414 can also generally be configured to visually present various user inputs (e.g., alphanumeric inputs, etc.) received from a user of the computing device 104-1. These various user inputs can form at least a portion of a collaborative communication message that can be generated and sent to a target user identified by the target user UI element 410. Furthermore, the message composer UI element 414 may also be configured to allow a user to insert various content (e.g., collaborative documents, database records, etc.) into the collaborative communication message via an input token (e.g., "@", etc.), as will be discussed further herein.

[0082] In one embodiment, the message composer UI element 414 may include, but is not limited to, a toolbar UI element 436. The toolbar UI elements may include, but is not limited to, an insert custom content UI element 430, an insert preset content UI element 432, and an insert records UI element 434, which may be configured similarly to the insert custom content UI element 330, the insert preset content UI element 332, and the insert records UI element 334, respectively.

[0083] For example, the desktop collaborative application 110 may be configured to provide one or more UI elements that allow the user to select and insert custom content (e.g., one or more images, videos, etc.) typically stored on the user's computing device 102-1, in response to the user selecting a custom content insertion UI element 430. The desktop collaborative application 110 can then send the selected custom content to at least one target user in a collaborative communication message, as similarly discussed with respect to the mobile collaborative application 112.

[0084] In another example, the desktop collaborative application 110 may also be configured to provide one or more UI elements that allow the user to select and insert one or more references to a predetermined set of static and / or animated visual content that can be cached on various user devices (e.g., mobile device 102-1, computing device 104-1, etc.) in response to the user selecting a preset content insertion UI element 432. The desktop collaborative application 110 can then send the selected preset content to at least one target user in a collaborative communication message, as similarly discussed with respect to the mobile collaborative application 112.

[0085] In a further example, the desktop collaborative application 110 may be configured to provide one or more UI elements that allow the user to search and select various database records stored in a record data store (not shown) operationally coupled to the collaborative management application 140, in response to the user selecting a record insertion UI element 434. The desktop collaborative application 110 can then send the selected database records to at least one target user in a collaborative communication message, as similarly discussed with respect to the mobile collaborative application 112.

[0086] In one embodiment, the chat UI view 402 may also further include, but is not limited to, a message input UI element 420, which may be configured similarly to the message input UI element 320. For example, like the message input UI element 320, the message input UI element 420 may be configured to visually present in real time various user inputs (e.g., alphanumeric input) that the user may provide via an input device operationally coupled to the computing device 104-1 (e.g., a keyboard, on-screen auxiliary input, etc.). Furthermore, the message input UI element 420 may also be configured to visually present one or more selected collaborative document UI elements, as will be discussed further with respect to at least Figures 6A-6C.

[0087] In one embodiment, the chat UI view 402 may also include, but is not limited to, a send message UI element 418, which may be configured similarly to the send message UI element 318. For example, similar to the send message UI element 318, the send message UI element 418 may also be an optional UI element that allows a user of computing device 104-1 to generate a message send request containing a collaborative communication message and to request computing device 104-1 to send the message send request, as discussed at least with respect to Figures 6A to 6C.

[0088] The chat UI view 402 does not include a token input UI element (e.g., token input UI element 322) like that of the chat UI view 300 in Figure 3, but it is understood that the user can nevertheless provide an input token (e.g., "@") via an input device (e.g., a keyboard, on-screen auxiliary input, etc.) operationally coupled to the computing device 104-1. The provided input token can be configured similarly to the token input UI element 322 of the chat UI view 3000 in Figure 3, or can operate in other ways.

[0089] Figures 5A to 5C show exemplary sequences of chat UI views 500 visually presented by a mobile collaborative application 112 on the display device of a mobile device 102-1 for selecting and sending collaborative communication messages, which may include, but are not limited to, collaborative document references.

[0090] As shown in Figure 5A, the user can input one or more alphanumeric characters (e.g., "Check out") using the virtual keyboard UI element 316, which may be visually presented to the message composer UI element 314, more specifically to the message input UI element 320. Furthermore, as shown in Figure 5A, the user can also input an input token 516 using the virtual keyboard UI element 316 and / or the token input UI element 322.

[0091] In one embodiment, as shown in Figure 5A, a user can enter an input token (e.g., "@") to request the insertion of collaborative content, such as one or more collaborative documents. In response, the mobile collaborative application 112 can visually present a collaborative document selection UI element 512 which may contain one or more collaborative document option UI elements 514-d (e.g., collaborative document option UI elements 514-1, 514-2, 514-3, etc.). Furthermore, the collaborative document selection UI element 512 can be configured to visually present a set number of collaborative document option UI elements at once (e.g., three, four, five, etc.), but the document selection UI element 512 may also be scrollable so that the user can see further collaborative document option UI elements 514-d.

[0092] In one embodiment, each of the one or more collaborative document option UI elements 514-d may correspond to cached collaborative document information for collaborative documents that users of the mobile collaborative application 112 are permitted to access. In other words, each collaborative document option UI element may correspond to cached collaborative document information in the cached permitted collaborative document list. Thus, each of the one or more collaborative document option UI elements 514-d may also visually present at least some of the cached collaborative document information for each collaborative document (e.g., collaborative document pictogram identifier, collaborative document type, collaborative document title, etc.).

[0093] For example, as shown in Figure 5A, each collaborative document option UI element 514-1, 514-2, and 514-3 is configured to visually present at least a portion of the cached collaborative document information, which may include, but are not limited to, collaborative document pictogram identifiers as pictograms (e.g., icons) representing common document types (e.g., word processor documents). Furthermore, each of the collaborative document option UI elements 514-1, 514-2, and 514-3 may also be configured to visually present the collaborative document title (e.g., "Ohana Deployment Plan," "Ohana, Inc. Account Plan," "Ohana Mutual Success Plan," etc.). The examples are not limited to this context.

[0094] In one embodiment, each of one or more collaborative document option UI elements 514-d may be selectable by the user of the mobile collaborative application 112 for sending to a target user, which is visually presented by the target user UI element 310. The selected collaborative document UI element 520 can then be visually presented to the message composer UI element 314, as further shown with respect to Figure 5B, and then sent to the target user.

[0095] In one embodiment, each of the one or more collaborative document option UI elements 514-d visually presented in the collaborative document selection UI element 512 may be ranked at least on the frequency of collaborative document access associated with each of the one or more collaborative document option UI elements 514-d. For example, collaborative document option UI elements 512-d corresponding to collaborative documents frequently accessed by the user may be ranked first and visually presented in the collaborative document selection UI element 512, while those that are not frequently accessed may be ranked last and therefore visually presented last.

[0096] Furthermore, or alternatively, the ranking of collaborative document options UI elements 512-d can be based at least on the frequency of access to each collaborative document for one or more collaborative document options UI elements 514-d, and a time decay window that specifies the period over which the collaborative document access frequency should be considered. For example, collaborative document options UI elements 512-d corresponding to collaborative documents that were most frequently accessed within a time decay window (e.g., last week, last month) may be ranked first and visually presented in the collaborative document selection UI element 512. Thus, as time progresses, the collaborative document access frequency of one or more collaborative documents may decrease if they have not been accessed within the time decay window. Consequently, the ranking of these documents may also decrease.

[0097] In one embodiment, after a user enters an input token (e.g., "@") to request the insertion of collaborative content, subsequent alphanumeric inputs received from the user can be further filtered of the collaborative document options UI elements 512-d. For example, subsequent alphanumeric text inputs (e.g., "Ohana") that are proximity to and later visually presented with an input token 516 (e.g., "@") can be filtered out or removed if zero or more collaborative document options UI elements 512-d do not have a collaborative document whose title at least partially matches the subsequent alphanumeric text input. Filtering may be applied to each subsequent alphanumeric text input while the collaborative document selection UI element 512 remains visually presented. Furthermore, the filtered collaborative document options UI elements 512-d may also be further ranked as previously discussed above.

[0098] Furthermore, or alternatively, in some implementations, the mobile collaborative application 112 may visually present the collaborative document selection UI element 512 in response to receiving both an input token and at least one additional alphanumeric input. In these implementations, the mobile collaborative application 112 may filter the collaborative document options UI element 512-d using at least one alphanumeric input, as discussed herein.

[0099] As shown in Figure 5B, after the user selects a specific collaborative document option UI element 512-d, the selected collaborative document UI element 520 can be visually presented to the message composer UI element 314, more specifically, the message input UI element 320. In one embodiment, the selected collaborative document UI element 520 can visually present at least some of the cached collaborative document information of the selected collaborative document (e.g., collaborative document type, collaborative document title, etc.). Furthermore, the user can be provided with additional alphanumeric text input (e.g., "let me know") along with the selected collaborative document UI element 520.

[0100] As shown in Figure 5C, after the user selects the message sending UI element 318 to send a collaborative document reference and associated text corresponding to the selected collaborative document UI element 520, the collaborative communication message can be visually presented as collaborative communication message UI elements 324-4. The collaborative communication message UI elements 324-4 may include, but are not limited to, a collaborative document reference UI element 522, accompanying alphanumeric text (e.g., "...check and let me know"), and / or optional collaborative content. The collaborative document reference UI element 522 may correspond to a collaborative document reference (e.g., "Ohana Co., Ltd. Account Plan").

[0101] In one exemplary implementation of collaborative communication messages, alphanumeric text may be encoded using one or more descriptive languages ​​(e.g., HTML or a subset thereof). Furthermore, collaborative document references may be encoded as collaborative document addresses, such as URIs / URLs. However, it is understood that collaborative document addresses may not be visually presented depending on the implementation. Therefore, as shown in Figure 5C, in some embodiments, collaborative communication message UI elements 324-4 can be configured to at least visually present the pictogram and collaborative document title associated with the collaborative document reference.

[0102] Although not shown, it can be understood that a user of the mobile collaborative application 112 may select a collaborative document reference UI element 522 that has a corresponding collaborative document reference. In response to the selection, the mobile collaborative application 112 may request the collaborative management system 126 to provide the collaborative document corresponding to the collaborative document reference to the mobile collaborative application 112. Alternatively, in response to the selection, the mobile collaborative application 112 may request to run or open a separate mobile application (not shown) configured to manage collaborative documents stored in the document data store 134 (e.g., open, update, revise, modify, delete, etc.). The separate mobile application may then request the collaborative management system 126 to provide the collaborative document corresponding to the collaborative document reference to the separate mobile application for management (e.g., open, update, revise, modify, delete, etc.).

[0103] Figures 6A to 6C show exemplary sequences of desktop collaborative application UI views 600, visually presented by the desktop collaborative application 112 on a display device coupled to computing device 104-1, for selecting and sending collaborative communication messages, including collaborative document references. It can be seen that the functions and operations associated with the chat UI view 402 of the desktop collaborative application 110 discussed herein may be similar to the exemplary sequences of the chat UI view 500, visually presented by the mobile collaborative application 112, discussed in Figures 5A to 5C. Therefore, the following discussion of Figures 6A to 6C is primarily directed towards one or more differences between the desktop collaborative application 110 and the mobile collaborative application 112.

[0104] As shown in Figure 6A, and similarly discussed in Figure 5A, the user can input one or more alphanumeric characters (e.g., "check"), which may be visually presented to the message composer UI element 414, more specifically the message input UI element 420. Furthermore, the user can also input an input token 616 via an input device operationally coupled to the computing device 104-1 (e.g., a keyboard, on-screen auxiliary input, etc.).

[0105] In one embodiment, and as similarly discussed in 5A, a user may enter an input token (e.g., "@") to request the insertion of collaborative content, such as one or more collaborative documents. In response, the desktop collaborative application 110 may visually present a collaborative document selection UI element 612, which may be scrollable and may contain one or more collaborative document option UI elements 614-d (e.g., collaborative document option UI elements 614-1, 614-2, 614-3, etc.).

[0106] In one embodiment, and as similarly discussed in Figure 5A, each of one or more collaborative document option UI elements 614-d may correspond to cached collaborative document information of a collaborative document that a user of the desktop collaborative application 110 is permitted to access.

[0107] Furthermore, as shown in Figure 6A, each of the one or more collaborative document option UI elements 614-d can also be configured to visually display at least a portion of the collaborative document access control list of cached collaborative document information for each collaborative document that the user is permitted to access. Thus, each of the one or more collaborative document option UI elements 614-d can also visually display at least a portion of each user's full name (e.g., first name only, last name only, first name and last name, etc.) of other users who may have further access to the same collaborative document.

[0108] In one embodiment, as similarly discussed in Figure 5A, each of one or more collaborative document option UI elements 614-d may be selectable by the user of the desktop collaborative application 110 for sending to a target user, which is visually presented by the target user UI element 410. The selected collaborative document UI element 620 can then be visually presented to the message composer UI element 414, as further shown with respect to Figure 6B, and then sent to the target user.

[0109] In one embodiment, and as similarly discussed in Figure 5A, each of the one or more collaborative document option UI elements 614-d visually presented in the collaborative document selection UI element 612 may be ranked based at least on the collaborative document access frequency and / or time decay window associated with each of the one or more collaborative document option UI elements 614-d.

[0110] In one embodiment, and as similarly discussed in Figure 5A, after the user enters an input token (e.g., "@") to request the insertion of collaborative content, subsequent alphanumeric inputs received from the user can be further filtered into collaborative document options UI element 614-d.

[0111] As shown in Figure 6B and similarly discussed in Figure 5B, after the user selects a specific collaborative document option UI element 614-d, the selected collaborative document UI element 620 can be visually presented to the message composer UI element 414, more specifically to the message input UI element 320. In one embodiment, the selected collaborative document UI element 520 can visually present at least some of the cached collaborative document information of the selected collaborative document (e.g., collaborative document type, collaborative document title, etc.). Furthermore, the user can provide additional alphanumeric text input (e.g., "Let me know," etc.).

[0112] As shown in Figure 6C and similarly discussed in Figure 5C, after the user selects a message sending UI element 418 to send a collaborative document reference and associated text corresponding to the selected collaborative document UI element 620, the collaborative communication message can be visually presented as a collaborative communication message UI element 624. The collaborative communication message UI element 624 may include, but is not limited to, a collaborative document reference UI element 622, alphanumeric text (e.g., "...check and let me know"), and / or optional collaborative content. The collaborative document reference UI element 622 may correspond to a collaborative document reference (e.g., "Ohana Co., Ltd. Account Plan").

[0113] As similarly discussed in Figure 5C, alphanumeric text may be encoded using one or more descriptive languages, and collaborative document references may be encoded as collaborative document addresses, such as URIs / URLs. However, it can be understood that collaborative document addresses may not be visually presented depending on the implementation. Therefore, as shown in Figure 6C, in some embodiments, the collaborative document reference UI element 622 can be configured to visually present the pictogram and collaborative document title associated with the collaborative document reference.

[0114] While Figures 6A to 6C illustrate and discuss only a single chat UI view 402, it can be understood that one or more additional chat UI views may be visually presented by the desktop collaborative application 110. For example, when a user of the desktop collaborative application 110 starts chats individually with multiple target users, the desktop collaborative application 110 can visually present multiple chat UI views 402, each chat UI view 402 may be directed to real-time messaging to a specific target user. Each chat UI view 402 may be configured and displayed in a manner at least similar to that discussed in Figures 6A to 6C.

[0115] Figures 7A–7C show an exemplary logic flow 700 for sending a collaborative document reference from a source user to at least one target user via a collaborative communication system. It should be understood that, depending on the implementation, not all steps need to be performed. Nor do all steps need to be performed in the order illustrated. Furthermore, one or more steps can be combined with other disclosures discussed herein.

[0116] As shown in Figure 7A, the logic flow can be initiated at step 710, in which a collaborative application (e.g., desktop collaborative application 110, mobile collaborative application 112, etc.) can send an available collaborative document request to the collaborative communication system 128 (e.g., collaborative communication application 142, etc.) in response to a request from a source user (e.g., a user of mobile collaborative application 112, a user of desktop collaborative application 110, etc.) to initiate a real-time instant messaging session with at least one target user.

[0117] In step 712, the collaborative application can receive an available collaborative document response from the collaborative communication system 128 in response to an available collaborative document request. The available collaborative document response may include, but is not limited to, a cached list of authorized collaborative documents that identify at least one collaborative document that the source user may have access to.

[0118] In stage 714, the collaborative application may receive a first source user input from the source user, which includes at least one character (for example, at least one alphanumeric character). The first source user input may form at least a portion of a collaborative communication message that is sent to at least one target user.

[0119] In step 716, the collaborative application can detect whether the first source user input contains an input token (e.g., "@"), which may indicate a request from the source user to insert collaborative content to be sent to at least one target user. The collaborative content may include, but is not limited to, collaborative document references to collaborative communication messages.

[0120] In step 718, the collaborative application can generate a collaborative document selection UI element that includes at least one collaborative document options UI element based on at least a cached list of permitted collaborative documents. Each collaborative document options UI element of the collaborative document selection UI element can correspond to cached collaborative document information for collaborative documents that the source user is permitted to access.

[0121] In step 720, the collaborative application can rank at least one collaborative document option UI element based on at least the frequency of collaborative document access associated with each of the at least one collaborative document option UI elements.

[0122] In step 722, the collaborative application may, in response to the detection of at least one input token, display a collaborative document selection UI element that includes at least one collaborative document options UI element.

[0123] As shown in Figure 7B, the logic flow can continue to step 730, in which the collaborative application can receive a second or additional source user input after the detection of the input token. The second source user input may contain, but is not limited to, one or more alphanumeric characters.

[0124] In step 732, the collaborative application may remove zero or more collaborative document option UI elements from the collaborative document selection UI element in response to detecting a second or additional user input received after the input token. Furthermore, the filtering operation may remove zero or more collaborative document option UI elements from the collaborative document selection UI element based at least on one or more alphanumeric characters of the second or additional source user input and at least the collaborative document title associated with each collaborative document option UI element.

[0125] In step 734, the collaborative application can update the collaborative document selection UI element at least based on the filtering operation. It is understood that steps 732 and 734 may be repeated for each additional user input, while the collaborative document selection UI element remains visually presented, so that further user input may be used to further remove zero or more document option UI elements that do not at least partially match the additional user input.

[0126] In stage 736, the collaborative application can receive a user selection from the source user for a collaborative document option UI element that has corresponding collaborative document information.

[0127] In step 738, the collaborative application can display the selected collaborative document UI element in the message input UI element in response to the user's selection of a collaborative document option UI element. The selected collaborative document UI element can correspond to the collaborative document option UI element selected by the source user.

[0128] As shown in Figure 7C, the logic flow can continue to step 740, in which the collaborative application can receive a user request to send a selected collaborative document UI element having the corresponding collaborative document information to at least one target user.

[0129] In step 740, the collaborative application can generate a message sending request in response to a user request to send selected collaborative document UI elements. The message sending request may include, but is not limited to, collaborative communication messages. The collaborative communication messages may include, but are not limited to, collaborative document references.

[0130] In stage 744, the collaborative application can send a message transmission request to at least one target user via the collaborative communication application 142.

[0131] In step 746, the collaborative application can display collaborative communication messages in a chat history UI element on a display connected to a mobile device or computing device, and the logic flow may terminate.

[0132] Figure 8 shows an exemplary block diagram 800 of one exemplary embodiment of a mobile device 102 running a mobile collaborative application 112. The mobile device 102 (e.g., a mobile phone, tablet, laptop, etc.) can generally be configured to enable or allow a user to access various collaborative content and participate in real-time instant messaging with one or more target users. While Figure 8 shows one exemplary embodiment of the mobile device 102, it should be understood that exemplary embodiments are not limited to this context.

[0133] In one embodiment, the mobile device 102 may generally be arranged to provide mobile computing and / or mobile communications, and may include, but is not limited to, a memory 870, a communications component 874, a motion component 876, and an orientation component 878, an acoustic input / output component 880, a haptic component 882, a mobile processor component 884, a touch-sensitive display component 886, a position component 888, an internal power component 890, and an image acquisition component 894, each of which may be operationally connected to the memory 870 via the interconnect 892.

[0134] In one embodiment, the memory 870 may generally be arranged to store information in volatile and / or non-volatile memory, which may include, but is not limited to, read-only memory (ROM), random access memory (RAM), dynamic RAM (DRAM), double data rate DRAM (DDRAM), synchronous DRAM (SDRAM), static RAM (SRAM), programmable ROM (PROM), erasable programmable ROM (EPROM), electrically erasable programmable ROM (EEPROM) flash memory, ferroelectric polymer memory, ovonic memory, polymer memory such as phase-change or ferroelectric memory, SONOS (silicon-oxide-nitride-oxide-silicon) memory, solid-state memory devices (e.g., USB memory, solid-state drive SSD, etc.), and / or any other type of storage medium configured to store information.

[0135] In one embodiment, the memory 870 may include instruction information arranged for execution by the mobile processor component 884. In that embodiment, the instruction information may represent at least one operating system 872, one or more applications, the applications may include, but are not limited to, a mobile collaborative application 112. In one embodiment, the memory 970 may further include a device data store 950 which may be configured to store information associated with the mobile collaborative application 112 (e.g., a cached list of authorized collaborative documents, a cached chat history, etc.).

[0136] In one embodiment, the mobile operating system 872 may include, but is not limited to, mobile operating systems generally arranged to manage hardware resources (e.g., one or more components of the mobile device 102) and / or software resources (e.g., one or more applications of the mobile device 102) (e.g., Apple® iOS®, Google® Android®, Microsoft® Windows Phone®, Microsoft® Windows®, etc.).

[0137] In one embodiment, the communication component 874 may generally be arranged to enable the mobile device 102 to communicate directly and / or indirectly with various devices and systems (e.g., a collaborative communication system 128). Among other elements, the communication component 874 may include a radio frequency circuit (not shown) configured to encode and / or decode information and receive and / or transmit the encoded information as a radio signal at a frequency consistent with one or more wireless communication standards (e.g., Bluetooth®, Wireless IEEE 802.11, WiMAX IEEE 802.16, GSM (Global Systems for Mobile Communications), EDGE (Enhanced Data Rates for GSM Evolution), Long Term Evolution (LTE), Bluetooth standard, Near Field Communications (NFC) standard, etc.).

[0138] In one embodiment, the motion component 876 may generally be arranged to detect the motion of the mobile device 102 in one or more axes. Among other elements, the motion component 876 may include motion sensors (e.g., accelerometers, microgyroscopes, etc.) that convert physical motion applied to or affected by the mobile device 102 into motion information.

[0139] In one embodiment, the orientation component 878 may generally be arranged to detect a magnetic field to measure the strength of the magnetic field around the mobile device 102. The orientation component 878 may include, among other elements, a magnetic sensor (e.g., a magnetometer, a magnetoresistive permalloy sensor, etc.) that converts a magnetic field applied to or exerted on the mobile device 102 into orientation information, which can identify the degree to which the mobile device 102 is oriented or otherwise directed from a reference orientation.

[0140] In one embodiment, the acoustic input / output (I / O) component 880 may generally be arranged to convert sound, vibration, or any other mechanical wave received by the mobile device 102 into digital or electronic signals representing acoustic input information using one or more acoustic sensors (e.g., microphones), the acoustic sensors may be located or positioned on or inside the housing, case, or enclosure of the mobile device 102 to form a microphone array. Furthermore, the acoustic I / O component 880 may further be arranged to receive acoustic output information, convert the received acoustic output information into electronic signals, and output sound, vibration, or any other mechanical wave using one or more electroacoustic transducers (e.g., speakers), the electroacoustic transducers may be located or positioned on or inside the housing, case, or enclosure of the mobile device 102. Furthermore, or alternatively, the acoustic output information and / or the converted electronic signals may be provided to one or more electroacoustic transducers (e.g., speakers) operationally coupled to the mobile device 102 via wired and / or wireless connections.

[0141] In one embodiment, the haptic component 882 may generally be arranged to provide haptic feedback with time-varying intensity and / or frequency through the housing, case, or enclosure of the mobile device 102. Furthermore, the haptic component 882 may include, among other elements, a vibration circuit (e.g., a rocking motor, a vibrating motor, etc.) arranged to receive haptic output information and convert the received haptic output information into mechanical vibrations representing haptic feedback.

[0142] In one embodiment, the mobile processor component 884 may be arranged to execute instruction information which may generally include one or more executable and / or interpretable instructions. In one embodiment, the processor component 884 may be a mobile processor component or a system-on-a-chip (SoC) processor component. Among other elements, the processor component 884 may include processor circuitry, which may further include at least one set of electronic circuits arranged to execute one or more instructions. Examples of the mobile processor component 884 include, but are not limited to, Qualcomm® Snapdragon®, NVidia® Tegra®, Intel® Atom®, Samsung® Exynos, Apple® A7®-A13®, or any other type of mobile processor arranged to execute instruction information which may include one or more instructions stored in memory 870.

[0143] In one embodiment, the touch-sensitive display component 886 may generally be arranged to receive and present visual display information and to provide touch input information based on detected touch-based or contact-based input. Furthermore, the touch-sensitive display component 286 may include, among other elements, a display device that presents visual display information (e.g., a liquid crystal display, a light-emitting diode display, an organic light-emitting diode display, etc.) and a touch sensor associated with the display device 268 (e.g., a resistive touch sensor, a capacitive touch sensor, etc.) to detect and / or receive touch or contact-based input information associated with the display device of the mobile device 102. Furthermore, the touch sensor may be integrated with the surface of the display device so that the user's touch or contact input can substantially correspond to visual display information presented on the display device, such as one or more user interface (UI) views and elements discussed and illustrated herein.

[0144] In one embodiment, the position component 888 may generally be arranged to receive a positioning signal representing positioning information and to provide positioning information (e.g., the approximate physical location of the mobile device 102) determined at least in part based on the received positioning information. Furthermore, the position component 888 may include, among other elements, a positioning circuit (e.g., a Global Positioning System (GPS) receiver) arranged to determine the physical location of the mobile device 102. In some embodiments, the position component 888 may further be arranged to communicate and / or interface with a communication component 874 to provide higher accuracy and / or faster determination of positioning information.

[0145] In one embodiment, the internal power component 890 may generally be arranged to provide power to various components and memory of the mobile device 102. In one embodiment, the internal power component 890 may include and / or be operationally coupled to an internal and / or external battery configured to provide power to various components (e.g., a communication component 874, a motion component 876, a memory 870, etc.). The internal power component 890 may also be operationally coupled to an external charger to charge the battery.

[0146] In one embodiment, the image acquisition component 894 may generally be arranged to generate digital image information using an image acquisition device such as a charge-coupled device (CCD) image sensor (not shown). Furthermore, the image acquisition component 894 may be arranged to provide the digital image information captured by the CCD image sensor to the touch-sensitive display component 886 for visual presentation via the interconnect 892, mobile operating system 872, and mobile processor component 884, or to stream it in other ways.

[0147] Figure 9 shows an exemplary computer system 900 useful for carrying out various embodiments. Furthermore, various embodiments can be carried out using one or more well-known computer systems, such as the computer system 900 shown in Figure 9. One or more computer systems 900 can be used, for example, to carry out any of the embodiments discussed herein, as well as combinations and subcombinations thereof. For example, computer system 900 can carry out one or more computing devices 104-a. In another example, one or more computing systems 900 may be connected to one or more computing systems 900 via communications, each configured to run one or more virtual machines (not shown). One or more virtual machines can be managed by one or more virtual machine managers (not shown) configured to supply and / or configure one or more virtual machines to one or more computing systems 900, or otherwise orchestrated. One or more virtual machines may further be configured as Software-as-a-Service (SaaS), Platform-as-a-Service (PaaS), and / or Infrastructure-as-a-Service (IaaS) providers configured to host or otherwise run one or more applications associated with one or more gateways, systems, and / or datastores in Figure 1.

[0148] The computer system 900 may include one or more processors (also called a central processing unit or CPU), such as a processor 904. The processor 904 may be connected to a communication infrastructure or bus 906.

[0149] The computer system 900 may also include customer input / output devices 903 such as a monitor, keyboard, and pointing device, which can communicate with the communication infrastructure 906 through a customer input / output interface 902.

[0150] One or more of the processors 904 may be graphics processing units (GPUs). In one embodiment, the GPU may be a processor which is a specialized electronic circuit designed to process mathematically demanding applications. The GPU may have a parallel architecture that is efficient for parallel processing of large data blocks, such as mathematically demanding data common to computer graphics applications, images, videos, etc.

[0151] The computer system 900 may also include main or primary memory 908, such as random access memory (RAM). The main memory 908 may include one or more levels of cache. The main memory 908 may store control logic (i.e., computer software) and / or data therein.

[0152] The computer system 900 may also include one or more secondary storage devices or memories 910. The secondary memory 910 may include, for example, a hard disk drive 912 and / or a removable storage device or drive 914. The removable storage drive 914 may be a floppy disk drive, a magnetic tape drive, a compact disk drive, an optical storage device, a tape backup device, and / or any other storage device / drive.

[0153] The removable storage drive 914 can interact with the removable storage unit 918. The removable storage unit 918 may include a computer-usable or readable storage device that stores computer software (control logic) and / or data. The removable storage unit 918 may include floppy disks, magnetic tapes, compact disks, DVDs, optical storage disks, and / or any other computer data storage devices. The removable storage drive 914 can read from and / or write to the removable storage unit 918.

[0154] The secondary memory 910 may include other means, devices, components, tools, or other approaches to enable computer programs and / or other instructions and / or data to be accessed by the computer system 900. Such means, devices, components, tools, or other approaches may include, for example, a removable storage unit 922 and an interface 920. Examples of the removable storage unit 922 and interface 920 may include a program cartridge and cartridge interface (such as those found in video game devices), a removable memory chip (such as an EPROM or PROM) and associated socket, a memory stick and USB port, a memory card and associated memory card slot, and / or any other removable storage unit and associated interface.

[0155] The computer system 900 may further include a communication or network interface 924. The communication interface 924 can enable the computer system 900 to communicate and interact with any combination of external devices, external networks, external entities, etc. (referenced individually and collectively by reference numeral 928). For example, the communication interface 924 may enable the computer system 900 to communicate with an external or remote device 928 through a communication path 926, which may be wired and / or wireless (or a combination thereof) and may include any combination of LAN, WAN, internet, etc. Control logic and / or data may be transmitted to and from the computer system 900 via the communication path 926.

[0156] Computer system 900 may be, to give some non-limiting examples, a personal digital assistant (PDA), a desktop workstation, a laptop or notebook computer, a netbook, a tablet, a smartphone, a smartwatch or other wearable, an appliance, part of the Internet of Things, and / or an embedded system, or any combination thereof.

[0157] Computer System 900 includes, but is not limited to, remote or distributed cloud computing solutions; local or on-premises software ("on-premises" cloud-based solutions); "as a service" models (e.g., Content as a Service (CaaS), Digital Content as a Service (DCaaS), Software as a Service (SaaS), Managed Software as a Service (MSaaS), Platform as a Service (PaaS), Desktop as a Service (DaaS), Framework as a Service (FaaS), Backend as a Service (a This may include services (such as BaaS), mobile backend as a service (MBaaS), infrastructure as a service (IaaS), etc.); and / or clients or servers that access or host any application and / or data through any delivery paradigm, including hybrid models that include any combination of the aforementioned examples or other service or delivery paradigms.

[0158] Any applicable data structures, file formats, and schemas in computer system 900 may be derived from standards including, but are not limited to, JavaScript® Object Notation (JSON), Extensible Markup Language (XML), Yet Another Markup Language (YAML), Extensible Hypertext Markup Language (XHTML), Wireless Markup Language (WML), MessagePack, XML User Interface Language (XUL), or any other functionally similar expression, either alone or in combination. Alternatively, proprietary data structures, formats, or schemas may be used exclusively or in combination with known or open standards.

[0159] In some embodiments, tangible non-temporary devices or products including tangible non-temporary computer-usable or readable media storing control logic (software) may be referred to herein as computer program products or program storage devices. This includes, but is not limited to, computer system 900, main memory 908, secondary memory 910, and removable storage units 918 and 922, and tangible products embodying any combination thereof. Such control logic, when executed by one or more data processing devices (such as computer system 900), can be made to operate such data processing devices as described herein.

[0160] Based on the teachings contained herein, it will be apparent to those skilled in the art how to create and use embodiments of the disclosure using data processing devices, computer systems, and / or computer architectures other than those shown in Figure 9. In particular, embodiments may operate with software, hardware, and / or operating system implementations other than those described herein.

[0161] It should be understood that the section of detailed description, rather than any other section, is intended to be used to interpret the claims. Other sections may describe one, but not all, exemplary embodiments conceived by the inventor and are therefore not intended to limit the scope of the claims in any way.

[0162] While this disclosure describes exemplary embodiments for exemplary fields and applications, it should be understood that this disclosure is not limited thereto. Other embodiments and modifications thereof are possible and within the scope and spirit of this disclosure. For example, without limiting the generality of this paragraph, embodiments are not limited to the software, hardware, firmware, and / or entities illustrated in the figures and / or described herein. Furthermore, embodiments (whether expressly described herein or not) may have significant utility to fields and applications beyond the examples described herein.

[0163] In this specification, embodiments are described with the help of functional building blocks that demonstrate the implementation of specified functions and their relationships. The boundaries of these functional building blocks are arbitrarily defined in this specification for the convenience of explanation. Alternative boundaries can be defined as long as the specified functions and relationships (or their equivalents) are adequately performed. Furthermore, alternative embodiments may perform functional blocks, steps, operations, methods, etc., using a different ordering than that described herein.

[0164] References in this specification to “one embodiment,” “one embodiment,” “one exemplary embodiment,” or similar phrases indicate that the described embodiments may include certain features, structures, or characteristics, but not all embodiments may necessarily include those particular features, structures, or characteristics. Furthermore, such phrases do not necessarily refer to the same embodiment. Moreover, when certain features, structures, or characteristics are described in relation to one embodiment, incorporating such features, structures, or characteristics into other embodiments is within the scope of the knowledge of those skilled in the art, whether or not they are expressly mentioned or described herein. Furthermore, some embodiments may be described using the expressions “combined” and “connected” together with their derivatives. These terms are not necessarily intended to be synonymous with each other. For example, some embodiments may be described using the terms “connected” and / or “combined” to indicate that two or more elements are in direct physical or electrical contact with each other. However, the term “combined” may also mean that two or more elements are not in direct contact with each other but still cooperate or interact with each other.

[0165] The scope and breadth of this disclosure should not be limited by any of the exemplary embodiments described above, but should be defined solely in accordance with the following claims and their equivalents.

Claims

1. A mobile device, A touch-sensitive display configured to display at least one user interface (UI) of a mobile collaborative application, At least one processor operationally coupled to the touch-sensitive display, Includes memory operationally coupled to at least one processor, The aforementioned at least one processor is The at least one UI is displayed on the touch-sensitive display, and the at least one UI includes a virtual toolbar having multiple displayed options, a message input area, a virtual keyboard, and a chat history area. While displaying the at least one UI of the mobile collaborative application, the application receives user input corresponding to the multiple displayed options. In response to detecting at least user input, including an input token and text input, on the touch-sensitive display, a list of one or more collaborative document options identified using the text input is displayed on the chat history area, wherein the text input is associated with a first displayed option among the plurality of displayed options, the one or more collaborative document options correspond to cached collaborative document information of collaborative documents that the user of the mobile collaborative application is permitted to access, and the one or more collaborative document options include at least a portion of the collaborative document access control list that identifies a collaborative document pictogram, a collaborative document title, and an access type associated with each collaborative document, which is associated with one or more user identifiers that can access it. The system receives user input corresponding to the selection of one or more collaborative document options, The selected collaborative document option is displayed in the message input area on the touch-sensitive display, and the selected collaborative document option corresponds to a collaborative document stored outside the mobile device. Sending a message to the target user based at least on the selected collaborative document option, On the touch-sensitive display, at least a representation of the selected collaborative document option is displayed in the chat history area, wherein the representation of the selected collaborative document option includes the collaborative document title and the collaborative document pictogram associated with the selected collaborative document option. A mobile device configured to perform operations including those mentioned above.

2. The aforementioned processor further, When it is determined that the user input corresponds to the first displayed option among the plurality of displayed options, the input token is displayed in the message input area of ​​the mobile collaborative application on the touch-sensitive display, In response to receiving additional user input via the virtual keyboard, the touch-sensitive display displays one or more characters in the message input area, wherein the one or more characters are displayed in close proximity to the input token. It is configured to perform actions including, The mobile device according to claim 1, wherein the actions of displaying the input token, displaying one or more collaborative document options, and displaying one or more characters are performed in response to receiving at least the user input corresponding to the plurality of displayed options.

3. The mobile device according to claim 2, wherein the collaborative document is associated with a list of users authorized to access the collaborative document.

4. The aforementioned processor further, When it is determined that the user input corresponds to a second displayed option among the multiple displayed options, and in response to receiving the user input corresponding to the multiple displayed options, multiple representations of the animated visual content are displayed. The mobile device according to claim 2, configured to perform an operation including the operation.

5. The aforementioned processor further, When it is determined that the user input corresponds to a third displayed option among the multiple displayed options, and in response to receiving the user input corresponding to the multiple displayed options, one or more representations of records stored in the external database are displayed. The mobile device according to claim 2, configured to perform an operation including the operation.

6. The mobile device according to claim 2, wherein the input token is displayed in the message input area in response to a user selection of a specific key on the virtual keyboard, and the specific key is different from the user input corresponding to the first displayed option.

7. The aforementioned processor further, To detect the selection of the expression for the selected collaborative document option in the chat history area, Launching a separate application different from the aforementioned mobile collaborative application, In response to detecting the selection of the expression of the selected collaborative document option, the separate application displays the content of the collaborative document corresponding to the selected collaborative document option. The mobile device according to claim 2, configured to perform an operation including the operation.

8. The aforementioned processor further, A step of generating a message transmission request, wherein the message transmission request includes a source user identifier that identifies a source user associated with user input and a mobile device, and a target user identifier that identifies a target user targeted by the user input. The mobile device according to claim 1, configured to perform an operation including the operation.

9. The aforementioned processor further, If the source user identifier is associated with access to the collaborative document, but the target user identifier is not associated with access to the collaborative document, the step is to add the target user identifier to the collaborative document access control list corresponding to the selected collaborative document option. The mobile device according to claim 8, configured to perform an operation including the operation.

10. A mobile collaborative application includes the steps of receiving source user input from a source user via at least one user interface (UI) element displayed on the touch-sensitive display of a mobile device, The mobile collaborative application includes the step of detecting whether the source user input includes an input token and text input, Steps of displaying a list of collaborative document selection UI elements on a chat history UI element on the touch-sensitive display by the mobile collaborative application in response to the detection of at least the input token, wherein the at least one collaborative document option UI element corresponds to cached collaborative document information of a collaborative document that the user of the mobile collaborative application is permitted to access, and the at least one collaborative document option UI element includes at least a portion of the collaborative document access control list which identifies a collaborative document pictogram, a collaborative document title, and an access type associated with each collaborative document, each collaborative document access control list, and which is associated with one or more user identifiers that can access it. The steps include: displaying the selected collaborative document UI element in a message input UI element on the touch-sensitive display by the mobile collaborative application in response to a user selection of a collaborative document option UI element having associated cached collaborative document information; The steps include: generating a message transmission request using the mobile collaborative application based at least on the cached collaborative document information, wherein the message transmission request includes a collaborative communication message including a collaborative document reference, and the collaborative document reference corresponds to a collaborative document stored in the document data store; The steps include sending the message transmission request to the target user via a collaborative communication system using the aforementioned mobile collaborative application, The steps include: displaying the collaborative communication message as a collaborative communication message UI element in the chat history UI element on the touch-sensitive display using the mobile collaborative application, wherein the displayed collaborative communication message UI element includes the collaborative document title and the collaborative document pictogram associated with the collaborative document; A method performed by a computer, including the above.

11. The steps include: sending an available collaborative document request to the collaborative communication system using the mobile collaborative application, wherein the available collaborative document request includes a source user identifier that identifies the source user associated with the mobile device; The steps include: the mobile collaborative application receiving an available collaborative document response from the collaborative communication system in response to the source user identifier being identified in the collaborative document access control list of authorized collaborative documents, wherein the available collaborative document response includes a cached authorized collaborative document list containing cached collaborative document information for each collaborative document that the source user is permitted to access based on the source user identifier; A computer-based method according to claim 10, further comprising:

12. The mobile collaborative application further includes the step of displaying a chat UI view including the at least one UI element on the touch-sensitive display, The at least one user interface (UI) element includes a message composer UI element and a chat history UI element. The message composer UI element includes at least a message input UI element, The chat history UI element is configured to display the chat history received from the collaborative communication system. The computer-based method described in claim 10.

13. The steps include generating the collaborative document selection UI element, which includes at least one collaborative document option UI element, using the aforementioned mobile collaborative application, The steps include: ranking the at least one collaborative document option UI element based at least on the frequency of collaborative document access associated with the at least one collaborative document option UI element using the mobile collaborative application; A computer-based method according to claim 10, further comprising:

14. The steps include: the mobile collaborative application detecting the input token and then receiving the text input, wherein the text input includes at least one additional character; In response to the detection of the text input received after the input token, the mobile collaborative application filters at least one collaborative document option UI element based at least on the text input; The computer-based method according to claim 13, further comprising:

15. The aforementioned collaborative communication message includes a set of communication message attributes and communication message content. The set of communication message attributes includes a communication message creator attribute that identifies the source user who sent the collaborative communication message, The aforementioned collaborative document reference includes the collaborative document title associated with the collaborative document, a collaborative document identifier that uniquely identifies the collaborative document, and a collaborative document pictogram identifier associated with the collaborative document. The computer-based method described in claim 14.

16. The aforementioned collaborative communication system is Upon receiving the aforementioned collaborative communication message sent by the collaborative communication application, Based at least the aforementioned collaborative communication message, update the chat history stored in the communication data store associated with the source user and the target user. A document access request is sent to the collaborative management system requesting the target user to consent to access the collaborative document. Send the collaborative communication message to the target device associated with the aforementioned target user. A computer-based method according to claim 12, configured as described above.

17. The method implemented by a computer according to claim 10, wherein the collaborative management system is configured to receive at least one request from a device associated with the target user to modify at least a portion of the collaborative document stored in at least one data store operationally coupled to the collaborative management system.

18. The step is to receive a user selection to insert preset content via a preset content insertion UI element in the mobile collaborative application, wherein the user selection to insert preset content is a request to insert a reference to an animated pictogram into a collaborative communication message. A computer-based method according to claim 10, further comprising:

19. A non-temporary computer-readable storage device that stores instructions, wherein when an instruction is executed by a mobile device, the mobile device stores the instructions. The mobile device's touch-sensitive display is used to display at least one user interface (UI) of a mobile collaborative application, the at least one UI including a virtual toolbar with multiple displayed options, a message input area, a virtual keyboard, and a chat history area. While displaying the UI of the mobile collaborative application, the application receives user input corresponding to the multiple displayed options. In response to detecting user input, including an input token and text input, on the touch-sensitive display, a list of one or more collaborative document options identified using the text input is displayed on the chat history area, wherein the text input is associated with a first displayed option among the plurality of displayed options, the one or more collaborative document options correspond to cached collaborative document information of collaborative documents that the user of the mobile collaborative application is permitted to access, and the one or more collaborative document options include at least a portion of the collaborative document access control list that identifies a collaborative document pictogram, a collaborative document title, and an access type associated with each collaborative document, which is associated with one or more user identifiers that can access it. The system receives user input corresponding to the selection of one or more collaborative document options, The selected collaborative document option is displayed in the message input area on the touch-sensitive display, and the selected collaborative document option corresponds to a collaborative document stored outside the mobile device. Sending a message to the target user based at least on the selected collaborative document option, On the touch-sensitive display, at least a representation of the selected collaborative document option is displayed in the chat history area, wherein the representation of the selected collaborative document option includes the collaborative document title and the collaborative document pictogram associated with the selected collaborative document option. A non-temporary computer-readable storage device that performs operations including [specific actions].

20. When the aforementioned instruction is executed by the mobile device, the mobile device further: When it is determined that the user input corresponds to the first displayed option among the plurality of displayed options, the input token is displayed in the message input area of ​​the mobile collaborative application on the touch-sensitive display, In response to receiving additional user input via the virtual keyboard, the touch-sensitive display displays one or more characters in the message input area, wherein the one or more characters are displayed in close proximity to the input token. Perform an action that includes this, The non-temporary computer-readable storage device according to claim 19, wherein the actions of displaying the input token, displaying one or more collaborative document options, and displaying one or more characters are performed in response to receiving at least the user input corresponding to the plurality of displayed options.

21. The aforementioned collaborative document is associated with a list of users who are permitted to access the collaborative document. The target user is automatically granted permission to access the collaborative document in response to the message being sent to the target user. The non-temporary computer-readable storage device according to claim 20.

22. When the aforementioned instruction is executed by the mobile device, the mobile device further: In response to detecting the selection of the expression for the selected collaborative document option, request at least a portion of the content of the collaborative document corresponding to the selected collaborative document option from the collaborative management application, After receiving at least a portion of the content from the collaborative management application, the system displays at least a portion of the content of the collaborative document on the touch-sensitive display. A non-temporary computer-readable storage device according to claim 20, which causes the device to perform an operation including the following:

Citation Information

Patent Citations

  • Giving permission to an object when adding people to a conversation

    JP2016540325A

  • System and method for linking attachment to chat message, program, and apparatus

    JP2018181295A

  • Technologies for sharing and remixing media via messaging systems

    JP2018514025A

  • Apparatus, method and graphical user interface for messaging

    JP2019514083A

  • Interactive message editing system and method

    US20100153376A1