CN117501292A - Object interface for quick access to objects of a communication platform - Google Patents
Object interface for quick access to objects of a communication platform Download PDFInfo
- Publication number
- CN117501292A CN117501292A CN202280033434.4A CN202280033434A CN117501292A CN 117501292 A CN117501292 A CN 117501292A CN 202280033434 A CN202280033434 A CN 202280033434A CN 117501292 A CN117501292 A CN 117501292A
- Authority
- CN
- China
- Prior art keywords
- user interface
- user
- objects
- interface
- virtual space
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 213
- 230000007246 mechanism Effects 0.000 claims abstract description 69
- 230000004044 response Effects 0.000 claims abstract description 13
- 238000000034 method Methods 0.000 claims description 52
- 230000003993 interaction Effects 0.000 description 53
- 230000008520 organization Effects 0.000 description 28
- 230000009471 action Effects 0.000 description 23
- 230000008569 process Effects 0.000 description 19
- 230000004048 modification Effects 0.000 description 15
- 238000012986 modification Methods 0.000 description 15
- 238000012545 processing Methods 0.000 description 8
- 238000013507 mapping Methods 0.000 description 7
- 238000005516 engineering process Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 230000010354 integration Effects 0.000 description 4
- 239000003550 marker Substances 0.000 description 4
- 238000012546 transfer Methods 0.000 description 4
- 230000006870 function Effects 0.000 description 3
- 241000699670 Mus sp. Species 0.000 description 2
- 238000007792 addition Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000014759 maintenance of location Effects 0.000 description 2
- 238000005192 partition Methods 0.000 description 2
- 238000009877 rendering Methods 0.000 description 2
- 230000001052 transient effect Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 241000699666 Mus <mouse, genus> Species 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000013467 fragmentation Methods 0.000 description 1
- 238000006062 fragmentation reaction Methods 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 238000013179 statistical model Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Landscapes
- Information Transfer Between Computers (AREA)
Abstract
An object interface for quick access to communication platform objects is described. A server of the communication platform may receive, in association with a user interface of the communication platform, a request to associate an object with an object interface associated with a virtual space of the communication platform. The server may cause the one or more objects to be presented via the user interface and may receive a selection of a particular object of the one or more objects. In response to the selection, the server may associate a user interface element representing the particular object with the object interface, wherein the user interface element is associated with an actuation mechanism that, when actuated, causes the particular object to be presented via the user interface. Notifications associated with particular objects may be indicated by annotations to a user interface.
Description
RELATED APPLICATIONS
The present application claims priority from U.S. patent application Ser. No. 17/240,000, filed on Ser. No. 2021, 4/26, which claims priority from Indian patent application Ser. No. 202121010591, filed on Ser. No. 2021, 3/12, both of which are incorporated herein by reference in their entirety.
Technical Field
The communication platform may utilize a network-based computing system to enable users to exchange data for communication and/or collaboration. In some embodiments, users may exchange messages via a communication platform. In some embodiments, an application associated with a third party platform (e.g., a third party application) may be integrated into the communication platform and may be used by a user to communicate via the communication platform, perform actions associated with the communication platform, and/or otherwise provide data to the communication platform. In this way, the user and/or application may generate data that may be presented via a user interface of the communication platform.
In some embodiments, the user interface may present a data feed, direct message, etc. indicating messages posted to a particular channel and/or actions taken with respect to the particular channel. In the prior art, the user interface may be cluttered and awkward for the user. In the prior art, user interfaces may require a user to scroll and/or otherwise navigate data from a user, application, etc. to understand the context of a communication and to effectively utilize the communication platform. In some embodiments, the user may miss important messages due to the amount of data that needs to be scrolled and/or otherwise navigated. Moreover, such scrolling and/or other navigation may result in a poor user experience and may be inefficient.
Drawings
The detailed description will be described with reference to the accompanying drawings. In the drawings, the leftmost digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference symbols in different drawings indicates similar or identical items or features. The figures are not drawn to scale.
FIG. 1 illustrates an exemplary environment for performing the techniques described herein.
FIG. 2 illustrates an embodiment of a user interface presented via a communication platform as described herein.
Fig. 3A-3C illustrate embodiments of an object interface that may be presented via a user interface of a communication platform as described herein.
Fig. 4A-4I illustrate embodiments of a user interface and an object interface presented via the user interface of a communication platform as described herein.
Fig. 5A-5C illustrate other embodiments of user interfaces presented via a communication platform as described herein.
FIG. 6 illustrates an exemplary process for associating an object with an object interface as described herein.
FIG. 7 illustrates an exemplary process for annotating a user interface based at least in part on notifications associated with objects associated with the object interface as described herein.
FIG. 8 illustrates an exemplary process for providing an Application Programming Interface (API) to enable interaction between a communication platform and a third party platform and annotating a user interface based at least in part on notifications associated with objects received via the API as described herein.
FIG. 9 illustrates an exemplary process for generating an object interface template for a group of users associated with a communication platform as described herein.
Detailed Description
An object interface for quick access to communication platform objects is described. In some embodiments, the communication platform may be a group-based communication platform, a channel-based communication platform, a rights-based communication platform, a channel-based messaging platform, and/or any other platform for facilitating communication between and among users, which may enable users to exchange messages via the communication platform. Users may exchange messages or otherwise cooperate via channels, direct messages, and/or other virtual spaces. That is, such virtual spaces enable users to exchange messages (e.g., conversations), share other information or data (e.g., files, images, etc.), interact with and/or otherwise utilize applications and/or workflows, and/or otherwise cooperate with one another. In the prior art, data associated with such virtual spaces may be presented based on the recency of interaction. That is, the priority and hierarchy of such data may be determined based on the recency of interaction. However, not all data associated with such virtual spaces is equally important, and in some embodiments, the recency of interaction is insufficient to determine a priority, hierarchy, and/or other arrangement for presenting information to a user. The object interface described herein enables a user of a communication platform to prioritize information assets, applications, workflows, and/or other objects important to quick access. That is, the technology described herein relates to an object interface that enables a user to prioritize objects that are useful in collaboration such that the objects are ubiquitous on a user interface of a communication platform.
The technology described herein relates to "locking" or otherwise associating an object or quick link of an object to an object interface associated with a user interface of a communication platform. For purposes of this discussion, an object may be text, an image, a video, a piece of content, a user profile, a message, a file, a channel, a direct message, a board, a virtual space, an invitation, a login request, a workflow, an application, and/or any other data item. In some embodiments, the object may be a "first party object" that may be associated with the communication platform. That is, the communication platform may be a "first party platform". In some embodiments, the object may be a "third party object" such that the object is associated with a "third party platform". The third party platform may be external to the first party platform (e.g., a different entity or organization, outside of the control or rights of the first party platform, etc.). In at least one embodiment, the third party platform may host, store, manage, or own one or more objects. That is, an object created by a third party platform may be a "third party object" and may be hosted, stored, managed, or otherwise owned by the third party platform. In at least one embodiment, the third party object may be integrated in the communication platform such that the third party object may be accessed from within the communication platform. In at least one embodiment, a user may request access to a third party object from a user interface of a communication platform. The third party object may be retrieved from the third party platform and presented via a user interface such that a user may view, edit, or otherwise interact with the third party object via the user interface.
In at least one embodiment, the object interface may utilize a "quick link" or other mechanism to enable quick access to objects associated with the object interface. In some embodiments, the object interface may include one or more user interface elements, each user interface element representing one or more objects. In some embodiments, individual user interface elements may represent individual objects. In some embodiments, each user interface element may be associated with a separate actuation mechanism (e.g., a link). Based at least in part on determining that the link has been activated, a computing device associated with the communication platform may receive an indication that the link has been activated, retrieve the corresponding object, and cause the corresponding object to be presented via a user interface of the communication platform.
In some embodiments, user interface elements associated with an object interface may be associated with one or more objects. In such embodiments, actuation of or interaction with such user interface elements may cause one or more additional user interface elements, respectively representing one or more objects, to be presented via a user interface. In such embodiments, one or more user interface elements may be associated with one or more actuation mechanisms (one or more links) that may enable a user to access one or more objects via a computing device associated with the communication platform. That is, in some embodiments, objects associated with the same application, topic, user, date, time, or other common feature may be represented in some embodiments by a single object in the object user interface such that interactions with the single object (e.g., actuation mechanisms associated therewith) can access one or more objects.
The techniques described herein enable a user to quickly access recent objects (e.g., objects accessed within a threshold period of a current system time) and/or related objects (e.g., objects associated with a relevance metric above a threshold) associated with a communication platform, which may provide technical improvements over the prior art. As described above, in some embodiments, the user interface of the communication platform may present a data feed, direct message, etc. that indicates messages posted to a particular channel and/or actions taken with respect to the particular channel. In the prior art, the user interface may be cluttered and awkward for the user. In the prior art, user interfaces may require a user to scroll and/or otherwise navigate data from a user, application, etc. to understand the context of a communication and to effectively utilize the communication platform. In some embodiments, the user may miss important messages due to the amount of data the user needs to scroll and/or otherwise navigate. In the prior art, a user may miss an update to an object due to the amount of data associated with the communication platform and the rate at which new data is received. Moreover, such scrolling and/or other navigation may result in a poor user experience and may be inefficient.
The object interface described herein enables a user to prioritize objects that are useful in collaboration and that are ubiquitous on the user interface of the communication platform. In this way, the user can quickly access important objects without having to scroll or navigate the data as described above. In some embodiments, the objects associated with the object interface may change (e.g., dynamically) over time based on interactions with the virtual space of the communication and/or user interactions (e.g., what was last done/used and/or what is currently relevant), as described herein. This may enable prioritizing objects that are recent and/or related to quick access by the user. That is, the object interfaces described herein may provide an improved user experience and improved user efficiency when interacting with the user interfaces described herein.
Furthermore, as described herein, techniques may enable notifications related to modifications or other updates to an object to be presented via a user interface, e.g., in association with the object interface or in a feed of a virtual space associated with the object interface. In this way, updates to the user object may be quickly and efficiently alerted without having to leave the user interface and/or communication platform and/or otherwise scroll or navigate the data, as described herein. Thus, as described herein, the techniques described herein may provide an improved user experience and improved user efficiency when interacting with a user interface.
Further, in some embodiments, the techniques described herein may reduce the amount of input required to complete a task (e.g., when a single object in an object interface is associated with multiple objects and thus may initiate multiple actions), thereby improving the performance of the user computing devices described herein. That is, as described herein, the described techniques provide an improvement over the prior art.
FIG. 1 illustrates an exemplary environment 100 for performing the techniques described herein. In at least one embodiment, the exemplary environment 100 may include one or more server computing devices (or "servers") 102. In at least one embodiment, server 102 may comprise one or more servers or other types of computing devices that may be implemented in any number of ways. For example, in the case of a server, the functional components and data may be implemented on a single server, a server cluster, a server farm or data center, a cloud-hosted computing service, a cloud-hosted storage service, etc., although other computer architectures may additionally or alternatively be used.
In at least one embodiment, the server 102 can be associated with a communication platform that can utilize a network-based computing system to enable users of the communication platform to exchange data. In at least one embodiment, the communication platform may be "group-based" such that the platform and associated systems, channels, messages, and/or virtual space are secure (which may be defined by permissions) to restrict access to defined groups of users. In some embodiments, such a user group may be defined by an identifier, which may be associated with a public access credential, domain, or the like. In some embodiments, the communication platform may be a hub that provides a secure and private virtual space to enable users to chat, meet, call, cooperate, transfer files or other data, messages, or otherwise communicate with or among each other.
In some embodiments, each group may be associated with an organization, which may be associated with an organization identifier. Users associated with the organization identifier may chat, meet, call, cooperate, transfer files or other data, messages, or otherwise communicate with or among each other in a secure and private virtual space available via the communication platform. In some embodiments, each group may be associated with a workspace, which is associated with a workspace identifier. Users associated with the workspace identifier may chat, meet, call, cooperate, transfer files or other data, messages or otherwise communicate with each other in a secure and private virtual space available via the communication platform. In some embodiments, a group may be associated with multiple organizations and/or workspaces. In some embodiments, the workspace may be associated with a plurality of organizations. In some embodiments, an organization may be associated with multiple workspaces.
In at least one embodiment, the server 102 may communicate with the user computing devices 104 via one or more networks 106. That is, as described herein, the server 102 and the user computing device 104 can send, receive, and/or store data (e.g., content, information, etc.) using the network 106. The user computing device 104 may be any suitable type of computing device (e.g., portable, semi-stationary, or stationary). Some embodiments of user computing device 104 may include a tablet computing device, a smart phone, a mobile communication device, a laptop, a netbook, a desktop computing device, a terminal computing device, a wearable computing device, an augmented reality device, an internet of things (IOT) device, or any other computing device capable of sending information (communication) and performing functions in accordance with the techniques described herein. Although a single user computing device 104 is shown, in practice, the exemplary environment 100 may include multiple (e.g., tens, hundreds, thousands, millions) user computing devices. In at least one embodiment, a user computing device, such as user computing device 104, is operable by a user to access communication services and the like via a communication platform. The user may be a person, a group of people, an employer, an enterprise, an organization, or the like. In some embodiments, the user may be associated with a designated role (e.g., administrator, team leader, etc.) and/or type (e.g., verified, etc.).
Network 106 may include, but is not limited to, any type of network known in the art, such as a local or wide area network, the Internet, a wireless network, a cellular network, a local wireless network, wi-Fi, and/or near field wireless communication,Bluetooth Low Energy (BLE), near Field Communication (NFC), wired network, or any other such network, or any combination thereof. The means for such communication may depend at least in part on the type of network, the chosen environment, or both. Protocols for communicating over such a network 106 are well known and are not discussed in detail herein.
In at least one embodiment, the server 102 may include one or more processors 108, a computer-readable medium 110, one or more communication interfaces 112, and input/output devices 114.
In at least one embodiment, each of the processors 108 may be a single processing unit or multiple processing units, and may include a single or multiple computing units or multiple processing cores. The processor 108 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central Processing Units (CPUs), graphics Processing Units (GPUs), state machines, logic circuits, and/or any devices that manipulate signals based on operational instructions. For example, the processor 108 may be one or more hardware processors and/or any suitable type of logic circuitry specifically programmed or configured to perform the algorithms and processes described herein. The processor 108 may be configured to obtain and execute computer readable instructions stored in a computer readable medium that may program the processor to perform the functions described herein.
Computer-readable media 110 may include volatile, nonvolatile, removable and/or non-removable memory or other media implemented in any type of technology for storage of data, such as computer-readable instructions, data structures, program modules, or other data. Such computer-readable media 110 may include, but is not limited to, RAM, ROM, EEPROM, flash memory or other storage technology, optical storage, solid state storage, magnetic tape, magnetic disk storage, RAID storage systems, storage arrays, network attached storage, storage area networks, cloud storage, or any other medium that may be used to store the desired data and that may be accessed by a computing device. Depending on the configuration of the server 102, the computer-readable medium 110 may be one type of computer-readable storage medium and/or may be a tangible, non-transitory medium, which when mentioned, does not include media such as energy, carrier wave signals, electromagnetic waves, and signals themselves.
The computer-readable medium 110 may be used to store any number of functional components that may be executed by the processor 108. In many implementations, these functional components include instructions or programs that are executable by the processor 108, and when executed, configure the processor 108 specifically to perform the actions attributed above to the server 102. The functional components stored in the computer readable medium may optionally include an object interface management component 116, a channel management component 118, a direct message management component 119, an operating system 120, and a data store 122. In some embodiments, additional or alternative components may be stored in a computer-readable medium for managing additional or alternative objects associated with the communication platform. For example, an application management component can manage an application and/or integration thereof, a board management component can manage a board as described herein, and the like.
In at least one embodiment, the object interface management component 116 can manage the association of objects with object interfaces of the user interfaces described herein. In at least one embodiment, as described above, the object interface can include one or more other user interface elements that represent one or more objects associated with the communication platform. As described above, the object interface may enable a user to quickly access a particular object through interaction with the object interface. In at least one embodiment, the object interface management component 116 can receive a request to associate an object with an object interface that is associated with a virtual space of a communication platform. In some embodiments, the virtual space may include channels, direct messages, boards, and the like. As described above, the object may be text, an image, a video, a piece of content, a user profile, a message, a file, a channel, a direct message, a board, a virtual space, an invitation, a login request, an application, a workflow, and/or any other data item. In some embodiments, the object may be a first party object or a third party object. In some embodiments, a third party object may be associated with a communication platform by providing a resource locator associated with the third party object, a drag-and-drop action associated with the third party object (e.g., dragging the third party object from a third party resource to the communication platform), uploading the third party object from a repository, and so forth. In some embodiments, the third party object that may be associated with the communication may be determined by rights provided by an administrator or the like. Additional details associated with the integration of third party platforms with communication platforms are described in U.S. patent application Ser. No. 17/111,408, filed on even 3/12/2020, the entire contents of which are incorporated herein by reference.
In at least one embodiment, based at least in part on receiving a request to associate an object with an object interface, the object interface management component 116 can associate the object with the object interface and cause presentation of a user interface element representing the object in the object interface. In some embodiments, if no request is made to identify an object, the object interface management component 116 may cause one or more objects to be presented via the user interface for selection (e.g., object selection user interface). In some embodiments, one or more objects presented for selection may be determined to be relevant to a user, virtual space, or the like. Additional details are described below. Based at least in part on receiving a selection of one of the one or more objects, the object interface management component 116 can associate the object with an object interface and cause presentation of a user interface element representing the object in the object interface. In at least one embodiment, the object interface management component 116 can cause presentation of user interface elements representing objects via each instance of a user interface presented via a "user computing device" of a user associated with a virtual space. For example, if the virtual space is a channel, an instance of the user interface presented to each member of the channel may be updated to include user interface elements representing objects in the object interface associated with the channel. In some embodiments, such updates may be pushed to the user computing device in real-time or within a threshold amount of time of receiving a request to associate an object with the object interface.
In some embodiments, the communication platform may provide an Application Programming Interface (API) for a third party platform (e.g., associated with third party server 121) to integrate with the communication platform. As described above, the third party platform, which may be associated with the third party server 121, may be external to the communication platform and may provide additional or alternative services in addition to those provided by the communication platform. In one embodiment, the services of the third party platform may be accessed via a third party application, web browser, or the like. In at least one embodiment, the third party platform may host, store, manage, or own one or more objects. As described above, an object created by a third party platform may be a "third party object," and the object may be hosted, stored, managed, or otherwise owned by the third party platform. In some embodiments, an API provided by the communication platform may enable the third party platform to enable interaction between the third party platform and the communication platform, e.g., with respect to notifications.
In at least one embodiment, the object interface management component 116 can annotate the user interface based at least in part on receiving a notification associated with the object (e.g., via an API or other means). For example, in at least one embodiment, the object interface management component 116 can associate a new user interface element (e.g., a marker, etc.) with a user interface element that represents an object in the object interface. In at least one embodiment, the object interface management component 116 can cause a new message to be presented in a data feed associated with a virtual space associated with the object interface. In some embodiments, the object interface management component 116 may present a pop-up, overlay, or other user interface element via the user interface in response to receiving a notification or other indication of an object update. In some embodiments, such pop-up, overlay, or other user interface element may be transient (e.g., short-term or temporary).
In at least one embodiment, a user interface element representing an object associated with an object interface may be associated with an actuation mechanism, such as a link. In some embodiments, actuation of the actuation mechanism may cause the object to be presented via a user interface of the communication platform. In some embodiments, the object interface management component 116 may receive an indication of the selection and may retrieve the object (e.g., from within the communication platform or via an API connection to a third party platform). The object interface management component 116 can then cause the object to be presented via a user interface of the communication platform. In some embodiments, the object may be presented in a new user interface associated with the third party platform. More details are provided below.
In some embodiments, the object interface and the objects associated therewith may be shared with other users of the communication platform. As described below, in some embodiments, the object interface may be associated with an actuation mechanism that, when actuated, may enable the object interface and objects associated therewith to be shared by other virtual spaces, other groups of users, and the like. For example, a user in a first channel may share an object interface associated with the first channel with a second channel. Thus, the first channel and the second channel may be associated with the same object interface, and members of both channels may access the object interface and the objects associated therewith. However, in some embodiments, such access may be determined based at least in part on rights associated with such objects and/or users.
In some embodiments, an administrator may, for example, programmatically configure object interface templates for user groups and/or virtual space types, as described below. An administrator may be a user with rights that enable the user to perform operations and/or otherwise configure aspects of the communication platform for a user group for which the user is an administrator. In some embodiments, the object interface management component 116 may cause an administrator user interface to be presented via a user interface associated with the communication platform. In at least one embodiment, an administrator may interact with the administrator user interface to specify the type of object and/or virtual space (e.g., public channel, private channel, announcement channel, shared channel, direct message, board, etc.) to be associated with the object interface of a particular user group (e.g., workspace, organization, etc.). As described below, the object interface so configured may include a "template" and may be stored in the data store 122. Other embodiments are provided below.
In at least one embodiment, channel management component 118 can manage channels of a communication platform. In at least one embodiment, the communication platform may be "channel-based" such that the platform may be organized into channels with security (which may be defined by rights) to restrict access to defined groups of users (e.g., channel members). The channel or virtual space may be a data route for exchanging data between systems and devices associated with the communication platform. In some embodiments, a channel may be "public," which may allow any user within the group associated with the channel (e.g., associated with an organization identifier, associated with a workspace identifier, etc.) to join and participate in data sharing through the channel. In some embodiments, the channel may be "private," which may restrict data communications in the channel to certain users or users having a particular role (e.g., manager, administrator, etc.) and/or type (e.g., authenticated, etc.). The notification channel may include a channel in which a user may issue notifications.
In some embodiments, a channel may be "shared," which may allow users associated with two or more different groups (e.g., entities associated with two or more different organizations and/or workspace identifiers) to join and participate in data sharing through the channel. The shared channel may be common such that any user in the group associated with the shared channel may be accessed, or may be dedicated such that the shared channel is restricted to access by certain users or users having a particular role and/or type. A "shared channel" or "external shared channel" may enable two or more organizations (e.g., a first organization and a second organization) to share data, exchange communications, etc. In one embodiment, the first organization and the second organization may be associated with different organization identifiers, may be associated with different business entities, have different tax identifiers, and/or may be otherwise associated with different rights such that a user associated with the first organization and a user associated with the second organization cannot access data associated with other organizations without establishing an external shared channel. In some embodiments, the shared channel may be shared with one or more different workspaces and/or organizations that would not be able to access each other's data without shared communication due to the rights-based and/or group-based configured nature of the communication platform described herein.
In at least one embodiment, channel management component 118 can receive a request to generate a channel. In some embodiments, the request may include a name to be associated with the channel, one or more users to invite to join the channel, and/or permissions associated with the channel. In at least one embodiment, one or more user identifiers associated with one or more users and/or one or more user accounts may be mapped to or otherwise associated with a channel (e.g., a channel identifier associated therewith). The user associated with a channel may be a "member" of the channel. Members of a channel may communicate with other members through the channel. That is, in at least one embodiment, channel management component 118 can establish a channel between various user computing devices associated with a user identifier associated with the channel, allowing the user computing devices to communicate and share data with and among each other. As described herein, in some embodiments, such communication and/or data sharing may be via one or more messages, which may be exchanged via a channel. In at least one embodiment, channel management component 118 can manage such communications and/or data sharing. In some embodiments, data associated with a channel may be presented via a user interface.
As described above, in at least one embodiment, one or more permissions may be mapped to, or otherwise associated with, a channel and/or a member associated therewith. Such permissions may indicate which user(s) have access to the channel, actions and/or messages allowed in the channel, which user(s) and/or user type(s) are allowed to add or remove members, which user(s) and/or user type(s) are allowed to share the channel with other users, retention policies associated with data in the channel, whether the channel is public or private, etc.
In at least one embodiment, the direct message management component 119 can manage "direct messages," which can include communications with individual users or multiple designated users (e.g., in lieu of all or a subset of organization members). In at least one embodiment, a "direct message" may include a data route or virtual space for exchanging data between and among systems and devices associated with a communication platform. In some embodiments, the direct message may be a private message between two or more users of the communication platform. In some embodiments, the direct message may be "shared," which may allow users associated with two or more different groups (e.g., entities associated with two or more different organizations and/or workspace identifiers) to join and participate in data sharing through the direct message.
In at least one embodiment, the direct message management component 119 can receive a request to generate a direct message. In some embodiments, the request may include an identifier associated with one or more users that are intended recipients of the direct message. In at least one embodiment, one or more user identifiers associated with one or more users and/or one or more user accounts may be mapped to (or otherwise associated with) a direct message (e.g., or a direct message identifier associated therewith). Users associated with direct messages may communicate with each other and/or share data with each other via direct messages. As described herein, in some embodiments, such communication and/or data sharing may be via one or more messages, which may be exchanged via direct messages. In at least one embodiment, the direct message management component 119 can manage such communication and/or data sharing. In some embodiments, data associated with the direct message may be presented via a user interface.
In at least one embodiment, the operating system 120 may manage the processor 108, computer readable medium 110, hardware, software, etc., of the server 102.
In at least one embodiment, the data store 122 may be configured to store accessible, manageable, and updateable data. In some embodiments, the data store 122 may be integrated with the server 102, as shown in FIG. 1. In other embodiments, the data store 122 may be located remotely from the server 102 and may be accessible by the server 102 and/or user devices (e.g., the user device 104). The data store 122 may include one or more databases, which may include user data 124, object data 126, channel data 128, and Direct Message (DM) data 130. Additional or alternative data may be stored in the data store and/or one or more other data stores.
In at least one embodiment, the user data 124 may store data associated with a user of the communication platform. In at least one embodiment, the user data 124 may store data in a user profile (which may also be referred to as a "user account"), which may store data associated with the user, including, but not limited to, one or more user identifiers associated with a plurality of different organizations, groups, or entities associated with the user, one or more channel identifiers associated with channels to which the user has been authorized to access, one or more group identifiers of groups (or organizations, teams, entities, etc.) associated with the user, an indication of whether the user is the owner or manager of any channel, an indication of whether the user has any channel restrictions, a plurality of messages, a plurality of emoticons, a plurality of conversations, a plurality of conversational themes, an avatar, an email address, a real name (e.g., john Doe), a user name (e.g., j Doe), a password, a time zone, a status, a token, etc. In some embodiments, user data 124 may store an indication of subscriptions associated with the respective users.
In at least one embodiment, the user data 124 may include rights data indicating rights of individual users of the communication platform. In some embodiments, the permissions may be set automatically or by an administrator of the communication platform, employer, enterprise, organization or other entity utilizing the communication platform, team leader or other entity utilizing the communication platform to communicate with team members, etc., individual users, etc. In some embodiments, permissions associated with individual users may be mapped to or otherwise associated with profiles and/or accounts associated with user data 124. In some embodiments, the permissions may indicate which users may communicate directly with other users, which channels the users are allowed to access, restrictions on the various channels, which workspaces the users are allowed to access, restrictions on the various workspaces, restrictions on subscriptions, permission features of the subscriptions, and so on. In at least one embodiment, the rights may support the communication platform by maintaining security to restrict access to defined groups of users. In some embodiments, these users may be defined by public access credentials, group identifiers, and the like, as described above.
In some embodiments, data store 122 may store rights data associated with rights of groups associated with the communication platform. In some embodiments, the permissions may be set automatically or by an administrator of the communication platform, employer, enterprise, organization or other entity utilizing the communication platform, team leader or other entity utilizing the communication platform to communicate with team members, etc., individual users, etc. In some embodiments, the permissions associated with a group may be mapped to, or otherwise associated with, the data associated with the group. In some embodiments, the permissions may indicate restrictions on the respective groups, restrictions on channels associated with the respective groups, restrictions on users associated with the respective groups, and so on. In at least one embodiment, group permissions may be mapped to, or otherwise associated with, user profiles associated with such groups.
In at least one embodiment, object data 126 may store data associated with an object. In some embodiments, each object may be associated with an indication of the "owner" of the object (e.g., a platform and/or application storing and/or servicing notifications associated therewith), at least one of a user identifier, a group identifier, a channel identifier, a direct message identifier, a board identifier, etc. associated with the object, an object interface associated with the object (e.g., an object interface identifier associated therewith), a resource locator associated with the object, notification data (e.g., frequency, priority, presentation preferences, etc.), and so forth. In some embodiments, an authorization indicator (e.g., a flag, token, etc.) may be associated with an object, indicating that the object is authorized to be accessed by a particular user, group of users, virtual space, etc. In some embodiments, an authentication indicator (e.g., token, etc.) may be associated with the object, indicating authentication of a particular user and/or user computing device (e.g., via a third party platform) for receiving notifications associated with the object.
In some embodiments, the object data 126 may store an indication of which third party platforms may be integrated into the communication platform for a particular user, group (e.g., organization, workspace), channel, direct message, etc. In some embodiments, such object data 126 may be set by an administrator or other user having a particular role associated with the ability to set permissions.
In at least one embodiment, channel data 128 may store data associated with various channels. In at least one embodiment, channel management component 118 can establish channels between and among various user computing devices, allowing the user computing devices to communicate and share data between and among each other. In at least one embodiment, a channel identifier may be assigned to a channel indicating the physical address in the channel data 128 where the data associated with the channel is stored.
In some embodiments, channel data 128 may store data associated with the rights for the various channels. In some embodiments, the permissions may be set automatically or by an administrator of the communication platform, employer, enterprise, organization or other entity utilizing the communication platform, team leader or other entity utilizing the communication platform to communicate with team members, etc., individual users, etc. In some embodiments, the rights associated with a channel may be mapped to or otherwise associated with data associated with the channel in channel data 128. In some embodiments, the permissions may indicate restrictions on the respective channels, restrictions on users associated with the respective channels, and so on.
In some embodiments, channel data 128 may store an indication of an object associated with a particular channel and/or an object interface associated therewith.
In at least one embodiment, the DM data 130 may store data associated with each direct message. In at least one embodiment, the direct message management component 119 can establish direct messages between the various user computing devices, allowing the user computing devices to communicate and share data with and among each other via the direct messages. In at least one embodiment, a direct message identifier may be assigned to a direct message indicating a physical address in the DM data 130 where data associated with the direct message is stored. In some embodiments, the DM data 130 may store an indication of an object associated with a particular direct message and/or an object interface associated therewith.
In some embodiments, the data store 122 may be partitioned into discrete data items (e.g., data shards) that may be individually accessed and managed. The fragmentation of data may optimize the efficiency of performing technical tasks, such as data retention, accessing data, and integration settings. In some embodiments, the data shards may be associated with groups (e.g., organizations, workspaces), channels, direct messages, users, and the like.
In some embodiments, the groups may be associated with database shards within data store 122 that store data related to a particular group identification. For example, a database shard may store electronic communication data associated with members of a particular group, which enables members of the particular group to communicate and exchange data with other members of the same group in real-time or near real-time. In this embodiment, the group itself may be the owner of the database shard and may control the storage location and manner of storage of the associated data. In some embodiments, the database shard may store data related to two or more groups (e.g., as in a shared channel).
In some embodiments, a channel may be associated with a database shard within data store 122 that stores data related to a particular channel identification. For example, a database shard may store electronic communication data associated with the channel, which enables members of the particular channel to communicate and exchange data with other members of the same channel in real-time or near real-time. In this embodiment, the group or organization may be the owner of the database shard and may control the storage location and manner of storage of the relevant data.
In some embodiments, the direct message may be associated with a database shard within the data store 122 that stores data related to the particular direct message identification. For example, a database shard may store electronic communication data associated with a direct message, which enables users associated with a particular direct message to communicate and exchange data with other users associated with the same direct message in real-time or near real-time. In this embodiment, the group or organization may be the owner of the database shard and may control the storage location and manner of storage of the relevant data.
In some embodiments, individual users may be associated with database shards within data store 122 that store data related to a particular user account. For example, the database shards may store electronic communication data associated with individual users, which enables users to communicate and exchange data with other users of the communication platform in real-time or near real-time. In some embodiments, the user may be the owner of the database shard itself, and may control the storage location and manner of storage of the relevant data.
Communication interface 112 may include one or more interfaces and hardware components for enabling communication with various other devices (e.g., user computing device 104), such as through network 106 or directly. In some embodiments, the communication interface 112 may facilitate communication via Websocket, an Application Programming Interface (API) (e.g., using API calls), hypertext transfer protocol (HTTP), or the like. In some embodiments, the communication interface 112 may facilitate real-time text (RTT) such that text and/or other data may be transmitted instantaneously or substantially instantaneously upon entry or creation.
The server 102 can also be equipped with various input/output devices 114 (e.g., I/O devices). Such I/O devices 114 may include a display, various user interface controls (e.g., buttons, joysticks, keyboards, mice, touch screens, etc.), audio speakers, connection ports, and the like.
In at least one embodiment, the user computing device 104 may include one or more processors 132, a computer-readable medium 134, one or more communication interfaces 136, and input/output devices 138.
In at least one embodiment, each processor of the processor 132 may be a single processing unit or multiple processing units, and may include a single or multiple computing units or multiple processing cores. Processor 132 may comprise any of the types of processors described above with reference to processor 108, and may be the same as or different from processor 108.
Computer-readable media 134 may include any type of computer-readable media 134 described above with reference to computer-readable media 110 and may be the same or different than computer-readable media 110. The functional components stored in the computer readable medium can optionally include at least one application 140 and an operating system 142.
In at least one embodiment, the application 140 may be a mobile application, a web application, or a desktop application, which may be provided by a communication platform or may be other specialized applications. In at least one embodiment, the application 140 can be a native application associated with a communication platform. In some embodiments, the various user computing devices associated with environment 100 may have instances or versioned instances of applications 140 that may be downloaded from an application store, accessed via the internet, or executed by processor 132 to perform the operations described herein. That is, the application 140 may be an access point that enables the user computing device 104 to interact with the server 102 to access and/or use communication services available via the communication platform. In at least one embodiment, the application 140 may facilitate data exchange between and among various other user computing devices, e.g., via the server 102. In at least one embodiment, the application 140 can present a user interface, which, as described herein, can be presented based at least in part on instructions received from the server 102 in some embodiments. In at least one embodiment, the user may interact with the user interface via touch input, keyboard input, mouse input, verbal input, or any other type of input. As described herein, additional or alternative access points, such as web browsers, may be used to enable user computing device 104 to interact with server 102. That is, in embodiments where the application 140 is described as performing the following operations, in additional or alternative embodiments, such operations may be performed by another access point, e.g., a web browser or the like.
A non-limiting embodiment of a user interface 144 is shown in fig. 1. As shown in fig. 1, the user interface 144 may present data associated with one or more channels, direct messages, and/or other virtual spaces associated with a communication platform. In some embodiments, the user interface 144 may include a first portion 146 (e.g., which may be a portion of the user interface 144, a pane, or other partition unit) that includes user interface elements associated with a user (e.g., a user's account) that represent channels, direct messages, and/or other virtual spaces (e.g., boards, etc.). Additional details associated with the first portion 146 and associated indications are described below with reference to fig. 2.
In at least one embodiment, the user interface 144 can include a second portion 148 (which can be, for example, a portion of the user interface 144, a pane, or other partition unit), which second portion 148 can present data associated with a virtual space as described herein. In some embodiments, the second portion 148 may be associated with a data feed (or "feed") that indicates messages posted to and/or actions taken on one or more channels and/or other virtual spaces for facilitating communications (e.g., virtual spaces associated with direct messaging, virtual spaces associated with events and/or actions, etc.), as described herein. In at least one embodiment, the data associated with the second portion 148 can be associated with the same or different workspaces. That is, in some embodiments, the second portion 148 may present data associated with the same or different workspaces via an integrated feed. In some embodiments, data may be organized and/or categorized by date, time (e.g., when relevant data is published or otherwise performed), type of action and/or data, workspace, channel, user, topic, relevance metric, etc. In some embodiments, such data may be associated with an indication of which user (e.g., member of the channel) and/or application issued the message or otherwise caused the message to be issued and/or the action to be performed. In embodiments where the second portion 148 presents data associated with multiple workspaces, at least some of the data may be associated with an indication of which workspace the data is associated with.
In some embodiments, the second portion 148 may be associated with a virtual space, e.g., a board, which may present data in a different configuration than the feed. Additional details associated with the board and/or such data presentation are described below. That is, the second portion 148 may present additional or alternative data in additional or alternative configurations than those described with reference to FIG. 1.
In at least one embodiment, the combination of the first portion 146 and the second portion 148 can be associated with a "group-based communication user interface" through which a user can interact with the communication platform. Additional details associated with the user interface 144, the first portion 146, and the second portion 148 are described below with reference to fig. 2.
In at least one embodiment, the object interface 150 can be associated with the user interface 144. In some embodiments, the object interface 150 may include a "bar" that may be located near the header or top of the virtual space. In some embodiments, the object interface 150 may be disposed along one side of the user interface 144. In some embodiments, the object interface 150 may be associated with a virtual space, e.g., a channel, direct message, board, etc. In some embodiments, object interface 150 may be associated with a header of the virtual space, which may provide information associated with the virtual space, e.g., a name of the virtual space, a member associated with the virtual space, a description of the virtual space, details associated with the virtual space, etc. In at least one embodiment, the object interface 150 can include one or more user interface elements 152, which can represent one or more objects associated with the object interface 150. As described above, such an object may be a first party or a third party object. In some embodiments, the user interface elements 152 may be arranged in a sequence based at least in part on interaction data associated with the corresponding object. In some embodiments, the user interface elements 152 may be arranged in a sequence by the user.
In some embodiments, when an object is modified or otherwise interacted with, a new user interface element 154 may be presented in association with the user interface element representing the object. In some embodiments, the new user interface element 154 may be a tab or the like. In some embodiments, such new user interface elements 154 may provide real-time notification that an object has been modified or otherwise interacted with. In some embodiments, if a user interface element has been associated with the user interface element (e.g., in response to a previous modification or interaction), the count associated with the user interface element may be updated instead of associating a new user interface element with it. In some embodiments, the new message 156 may additionally or alternatively be presented in a data feed of the virtual space (e.g., a data feed of channel D), which may provide a real-time notification that the object has been modified and/or otherwise interacted with. Additional details associated with user interface 144 and object interface 150 are described below with reference to fig. 2-5C.
In at least one embodiment, the operating system 142 may manage the processor 132, computer-readable medium 134, hardware, software, etc. of the user computing device 104.
The communication interface 136 may include one or more interfaces and hardware components for enabling communication with various other devices (e.g., the user computing device 104), such as through the network 106 or directly. In some embodiments, the communication interface 136 may facilitate communication via Websocket, API (e.g., using API calls), HTTP, or the like. In some embodiments, the communication interface 136 may facilitate RTT such that text and/or other data may be transmitted instantaneously or substantially instantaneously upon entry or creation.
The user computing device 104 may also be equipped with various input/output devices 138 (e.g., I/O devices). Such I/O devices 138 may include displays, various user interface controls (e.g., buttons, joysticks, keyboards, mice, touch screens, etc.), audio speakers, connection ports, and the like.
Although the techniques described herein are described as being performed by object interface management component 116, channel management component 118, direct message management component 119, and application 140, the techniques described herein may be performed by any other component or combination of components that may be associated with server 102, user computing device 104, or a combination thereof.
FIG. 2 illustrates an embodiment user interface 200 presented via a communication platform as described herein. The user interface 200 may correspond to the user interface 144 described above with reference to fig. 1. As described above, in some embodiments, the user interface 200 presented via the communication platform may include a first portion 202 (which may correspond to the first portion 146 described above with reference to fig. 1) that includes user interface elements representing a virtual space associated with a user (e.g., a user's account). In at least one embodiment, the first portion 202 may include one or more sub-portions, which may include user interface elements representing different virtual spaces. For example, the first subsection 204 may include a user interface element that represents a virtual space that may aggregate data associated with multiple channels and/or workspaces. In at least one embodiment, each virtual space can be associated with a user interface element in the first subsection 204. In some embodiments, the user interface element may be associated with an actuation mechanism that, when actuated, may cause the application 140 to present data associated with a corresponding virtual space via a second portion 206 of the user interface 200 (which may correspond to the second portion 148 described above with reference to fig. 1).
In at least one embodiment, the virtual space may be associated with all unread data associated with one or more workspaces associated with a user. That is, in some embodiments, if the user requests access to the virtual space associated with "no read," all data that the user has not read (e.g., viewed) may be presented in the second portion 206, e.g., in a data feed or other configuration.
In another embodiment, the virtual space may be associated with a "board" associated with the user. In at least one embodiment, if a user requests access to a virtual space associated with a "board," one or more boards associated with the user may be presented via the user interface 200.
In at least one embodiment, boards may be associated with various groups and/or channels, as described herein, to enable users of a communication platform to create, interact with, and/or view data associated with such boards. That is, a board, which may be an "electronic board," may be a virtual space, canvas, page, etc. for collaborative communication and/or organization within a communication platform. In at least one embodiment, the boards may support editable text and/or objects that may be ordered, added, deleted, modified, etc. In some embodiments, the board may be associated with permissions defining which users of the communication platform may view and/or edit the board. In some embodiments, a board may be associated with a channel, and at least some members of the channel may view and/or edit the board. In some embodiments, the boards may be shareable such that data associated with the boards is accessible and/or interactable with members of a plurality of channels, workspaces, organizations, and the like.
In at least one embodiment, the plate may include portions and/or objects. In some embodiments, each portion may include one or more objects. In at least one embodiment, an object may be associated with an object type, which may include, but is not limited to, text (e.g., may be editable), a task, an event, an image, a graphic, a link to a local object, a link to a remote object, a file, and so forth. In some embodiments, the portions and/or objects may be reordered and/or rearranged, new portions and/or objects may be added or deleted, and/or data associated with the portions and/or objects may be edited and/or modified. That is, the board may be created and/or modified for various uses. That is, a user may customize and/or personalize the board to meet the various needs described herein. As one embodiment, portions and/or objects may be arranged to create a project board that may be used to generate and/or distribute tasks, track progress, and/or otherwise manage projects. Further, in some embodiments, the board may present corporate targets and also support access to corporate targets so that such information may be stored and/or accessed through a single location. In some embodiments, a board may be used to track work progress and/or professional progress, which a manager or supervisor may use to manage and/or oversee employees, agents, and/or other staff. In at least one embodiment, a board may be used to track incidents, incoming customer service requests, and the like. Additional details regarding the board are provided in U.S. patent application Ser. No. 16/993,859, filed 8/14/2020, the entire contents of which are incorporated herein by reference.
In at least one embodiment, an "application" may be associated with an application (e.g., based on rights data) that is integrated with the communication platform and accessible to the user. In some embodiments, if a user requests access to a virtual space associated with an "application," one or more indications of one or more applications integrated with and accessible by the user may be presented via the user interface 200.
In another embodiment, although not shown in fig. 2, the first subsection 204 may include user interface elements associated with "threads" that may be associated with messages, files, etc. that are posted in a thread into messages posted in a channel, and/or "mention and react" that may be associated with messages or threads that have been mentioned (e.g., via a tag) to a user (e.g., user F) or another user has reacted (e.g., via an emoticon, a reaction, etc.) to a message or thread posted by a user. In some embodiments, the first subsection 204 may be associated with a user interface element representing a "piece of content," which may be associated with a piece of audio and/or video content provided by a user associated with the communication platform.
In some embodiments, the data associated with the various virtual spaces described above may be organized and/or categorized by date, time (e.g., when the associated data is published or otherwise associated operations are performed), type of action and/or data, workspace, channel, user, topic, relevance metric, etc., when presented in the second portion 206. In some embodiments, such data may be associated with an indication of which user (e.g., member of the channel) and/or application issued the message, performed the action, and so forth. Additional details are described below.
In at least one embodiment, the first portion 202 of the user interface 200 can include a second sub-portion 208 that includes user interface elements representing channels. In some embodiments, the channels may include public channels, private channels, announcement channels, shared channels (e.g., between organizations), single workspace channels, cross-workspace channels, combinations of the foregoing, and so forth. In some embodiments, the represented channels may be associated with a single workspace. In some embodiments, the represented channels may be associated with different workspaces (e.g., across workspaces). In some embodiments, the represented channels may be associated with a combination of channels associated with a single workspace and channels associated with different workspaces.
In some embodiments, the second subsection 208 may depict all or a subset of all channels (e.g., determined by the user data 124) to which the user has access. In such embodiments, the channels may be arranged alphabetically in the user-specified portion based on recent interactions, based on the frequency of interactions, based on channel type (e.g., public, private, shared, cross-workspace, etc.), based on workspace. In some embodiments, the second subsection 208 may depict all or a subset of all channels of which the user is a member, and the user may interact with the user interface 200 to browse or view other channels of which the user is not a member but which are not currently displayed in the second subsection 208. In some embodiments, different types of channels (e.g., public, private, shared, etc.) may be in different portions of the second sub-portion 208, or may have their own sub-portions in the user interface 200. In some embodiments, channels associated with different workspaces may be in different portions of second subsection 208 or may have their own portions or subsections in user interface 200.
In some embodiments, user interface elements representing channels may be associated with additional or alternative user interface elements that visually distinguish channel types. For example, the user interface element representing channel B is associated with a double square user interface element, rather than a circular user interface element (similar to user interface elements representing other channels). As a non-limiting example, and for the purposes of this discussion, a double square user interface element may indicate that the associated channel (e.g., channel B) is an externally shared channel. In some embodiments, such user interface elements may be the same for all externally shared channels. In other embodiments, such user interface elements may be dedicated to other groups associated with external shared channels. In some embodiments, additional or alternative graphical user interface elements may be used to distinguish between public channels, private channels, shared channels, channels associated with different workspaces, and the like. In other embodiments, channels of which the user is not a current member may not be presented in the second subsection 208 of the user interface 200. In such an embodiment, the user may navigate to a different interface (not shown) to browse additional channels that the user may access but that the user is not currently a member of.
In some embodiments, various user interface elements representing a channel may be associated with one or more other user interface elements for conveying information to a user. For example, a user interface element (e.g., a lock) may be associated with a user interface element corresponding to channel D, which may indicate that the channel is a private channel. The user interface elements shown in FIG. 2 are non-limiting examples of user interface elements that may be associated with user interface 200 to convey information to a user.
In addition to the second subsection 208, the first subsection 202 may include a third subsection 210, which may include user interface elements that represent direct messages. That is, the third subsection 210 may include a user interface element that represents a virtual space associated with private messages between one or more users, as described above.
As described above, in at least one embodiment, the user interface 200 can include a second portion 206, which in some embodiments can be associated with a data feed that indicates messages posted to and/or actions taken with channels and/or other virtual spaces (e.g., virtual spaces associated with direct messaging, virtual spaces associated with events and/or actions, etc.) to facilitate communication. As described above, in at least one embodiment, the data associated with the second portion 206 may be associated with the same or different workspaces. That is, in some embodiments, the second portion 206 may present data associated with the same or different workspaces via an integrated data feed. In some embodiments, the data may be organized and/or ordered by date, time (e.g., when associated data is published or associated operations are performed), action, and/or type of data, workspace, channel, user, topic, relevance metric, etc. In some embodiments, such data may be associated with an indication of which user and/or application issued the message and/or performed the action. In some embodiments, the message issued by the application may indicate the status of the event (e.g., pending, under review, completed, etc.), as discussed further below.
For purposes of this discussion, a "message" may include an object provided by a user using the user computing device 104 and/or an application configured to be displayed within a channel, direct message, and/or other virtual space to facilitate communication. The message may include any text, image, video, audio, or combination thereof, or status of the event provided by the user (using the user computing device). For example, a user may provide a message including text, images, and/or video in a message as message content. In such embodiments, the text, images, and/or video may include a message. Each message sent or published to the channel of the communication platform may include metadata including a sending user identifier (e.g., identifying a sending user or an originating user), a receiving user identifier (e.g., identifying a receiving user or entity), a message identifier (e.g., identifying a message), a group identifier (e.g., identifying a group associated with the message), a channel identifier (e.g., identifying a channel associated with the message), a direct message identifier (e.g., identifying a direct message associated with the message), and so forth. In at least one embodiment, each of the aforementioned identifiers may include American Standard Code for Information Interchange (ASCII) text, pointers, memory addresses, and the like. In at least one embodiment, such metadata may include additional or alternative data including, but not limited to, message content, an originating source (e.g., a user and/or application from which the message originated and/or was sent), a message sending date, a timestamp associated with a message sending time, a priority (e.g., low, normal, high, etc.) associated with the message, an expiration date associated with the message, an on/off status associated with the message, a tag associated with the message, an assignee associated with the message, and so forth. In at least one embodiment, the message may be represented by a user interface element in the user interface 200.
In some embodiments, the user may comment on the message in the "thread". A thread may be a message associated with another message that is not published to the channel but is maintained in an object associated with the original message. The message and/or thread may be associated with a file, emoticon, application, etc., and may be viewed based on interactions with user interface elements representing the thread. In some embodiments, such user interface elements may be associated with an actuation mechanism that, when actuated, may cause the threaded message to be presented via the user interface 200. In some embodiments, the threaded message may be presented via a third portion of the user interface 200.
A channel, direct message, or other virtual space may be associated with data and/or content other than a message or associated with data and/or content associated with a message. For example, non-limiting examples of additional data that may be presented via the second portion 206 of the user interface 144 include members added to and/or removed from the channel, files uploaded to and/or removed from the channel (e.g., file attachments), applications added to and/or removed from the channel, posts added to and/or removed from the channel (data that may be cooperatively edited by one or more members of the channel in near real-time), descriptions added to the channel, modified and/or removed from the channel, modifications of the channel, attributes, and the like. Such additional data and/or indications of actions may be presented as messages and may be represented by user interface elements in user interface 200.
In some embodiments, applications and/or other services integrated into the communication platform may perform actions and/or otherwise provide data that may be presented via the second portion 206. In some embodiments, such actions and/or other data may be associated with an event. In some embodiments, such actions and/or other data may be presented as a message. That is, actions performed by the application and/or service may be represented by user interface elements in the user interface 200. For example, the update to the object may be associated with a message presented via the second portion 206. In another embodiment, completion of tasks performed via the application may be associated with a message that may be presented via the second portion 206. That is, the second portion 206 may present messages associated with the user and/or application. In some embodiments, such messages and associated metadata may be referred to as "events. In some embodiments, such applications and/or services may be third party applications and/or services.
As described above, individual messages (from users, applications, etc.) may be associated with metadata. Such metadata may include an identifier, an originating source (e.g., a user and/or application from which the message originated and/or was sent), a message sending date, a timestamp associated with a message sending time, a priority (e.g., low, normal, high, etc.) associated with the message, an expiration date associated with the message, an on/off status associated with the message, a tag associated with the message, an assignee associated with the message, and so forth. In at least one embodiment, such metadata may be appended to individual messages as the metadata is received by server 102. That is, in such embodiments, the originator may generate and/or associate metadata with the message prior to sending the message to the server 102. In at least one embodiment, the metadata may be generated by the server 102 and associated with the message by the server. In some embodiments, metadata associated with the message may be generated in part by the originating source and in part by the server 102. In some embodiments, metadata may be used to determine how to present the message in the user interface 200. For example, messages with different priorities indicated in the associated metadata may be presented with different presentation characteristics (e.g., size, font, color, animation, in a message digest (or not in a message digest, etc.), in some embodiments, metadata associated with the message may be used to annotate user interface 200, search, filter, and/or trigger a workflow.
In some embodiments, the second portion 206 may include a data feed associated with a single channel. In such an embodiment, data associated with the channel may be presented via a data feed. In at least one embodiment, the data associated with the channel is visible to at least some users in the group of users associated with the same group identifier. In some embodiments, for members of a channel, the content of the channel (e.g., messaging and/or objects) may be displayed to each member of the channel. For example, a common set of group-based messaging may be displayed to each member of the channel such that the content of the channel (e.g., messaging and/or objects) may not change with each member of the channel. In some embodiments, messaging associated with a channel may behave differently for different users (e.g., based on personal configuration, group membership, permissions, policies, etc.).
In at least one embodiment, the format of the individual channels or virtual spaces may appear different to different users. In some embodiments, the format of the various channels or virtual spaces may appear different based on which workspace or organization the user is currently interacting with or has recently interacted with. In some embodiments, the format of the individual channels or virtual spaces may appear different for different users (e.g., based on personal configuration, group membership, permissions, etc.). In some embodiments, the presentation characteristics may behave differently for different users (e.g., based on personal configuration, group membership, permissions, etc.).
In at least one embodiment, the user interface 200 can include a search mechanism 212, wherein a user can input search terms and the server 102 can perform searches associated with a communication platform. In some embodiments, the search may be performed across each group associated with the user, or the search may be limited to a particular group based on user specifications.
In fig. 2, a user may interact with a user interface element corresponding to channel D in the second subsection 208 such that a data feed associated with the channel may be presented via the second section 206 of the user interface. In some embodiments, the second portion 206 may be associated with a header that includes a user interface element 214 that represents information associated with channel D. Further, the second portion 206 may include user interface elements 216, 218, 219, 220, and 221, each representing a message published to a channel. As shown, user interface elements 216-221 may include an indication of a user and/or application that published the message, a time at which the message was published, content associated with the message, a reaction associated with the message, and so forth. In at least one embodiment, the second portion 206 can include an input mechanism 222 that can be associated with a message composition user interface to enable a user to compose a message to be published to a channel. Although described above as a private internal channel, in some embodiments, channel D may be a public channel, an external shared channel, a notification channel, or the like. Channel D is provided for illustration purposes only.
In at least one embodiment, the user interface 200 can be associated with an object interface 224. The object interface 224 is shown as a bar, located at the top of the second portion 206, proximate to the user interface element 214 representing information associated with channel D. That is, in fig. 2, object interface 224 is presented near or within a threshold distance of the preamble of channel D. In some embodiments, the object interface 224 may be associated with one or more user interface elements 226 that represent objects that have been "locked" to the object interface 224 or otherwise associated with the object interface. By associating objects with the object interface 224, a user can quickly access the objects without scrolling or otherwise navigating through other data associated with the channel. In some embodiments, the user interface element 226 may include an indication of the application, a name or title of the object, or the like. In some embodiments, such user interface elements 226 may be associated with an actuation mechanism that, when actuated, may cause the retrieval of the corresponding object for presentation. In some embodiments, the retrieved objects may be presented in the user interface 200, as described herein. In some embodiments, the retrieved object may be presented via a web browser or another user interface associated with another application. More details are provided below.
In at least one embodiment, the object interface 224 can include a user interface element 228, which can be associated with an actuation mechanism. The actuation mechanism, when actuated, enables additional objects to be associated with the object interface 224. The object may be associated with the object interface 224 via additional or alternative mechanisms. For example, the communication platform may annotate the user interface 200 with user interface elements to indicate when an object may be associated with the object interface 224. In some embodiments, an object that may be associated with the object interface 224 may be associated with a user interface element 230 that enables a user to add the object to the object interface 224. For example, the user interface element 230 may be associated with an actuation mechanism that, when actuated, may enable a user to add an object to the object interface 224. In some embodiments, a user may drag and drop an object in object interface 224 to "lock" the object or associate the object with object interface 224. Additional details associated with user interface 200 and object interface 224 are described below.
Fig. 3A, 3B, and 3C illustrate an embodiment of the object interface 224 of fig. 2. That is, fig. 3A-3C each illustrate different configurations of the object interface 224 that may be presented via the user interface 200. In some embodiments, as shown in fig. 3A, the object interface 224 may be aligned with the user interface element 214 that represents information associated with a virtual space (e.g., channel D). In some embodiments, as shown in fig. 3B and 3C, the object interface 224 may be located above or below the user interface element 214 that represents information associated with the virtual space (e.g., channel D). In each embodiment, the object interface 224 may be in the header of the virtual space, which enables a user to easily locate the object interface 224 and quickly access the objects associated therewith.
In some embodiments, the user interface elements 226 may be arranged based at least in part on the interaction data. That is, the object interface management component 116 can track interactions with objects associated with the object interface 224 and can rearrange the objects based at least in part on such interaction data. In some embodiments, the object interface management component 116 can arrange objects associated with the object interface 224 based at least in part on recency of interaction, frequency of interaction, length of interaction, and the like, which can be determined based at least in part on the interaction data. As such, in the object interface 224, objects that interact recently, more frequently, or longer with a user or other user associated with the virtual space may take precedence over other objects that interact recently, less frequently, or shorter with a user or other user associated with the virtual space. In some embodiments, the object interface management component 116 can automatically arrange objects based at least in part on the interaction data described above. That is, in some embodiments, the order or arrangement of objects may be determined by the object interface management component 116 based at least in part on the interaction data and may be presented via the object interface 224 based at least in part on the determined order or arrangement. In some embodiments, a user associated with the virtual space may manually arrange objects associated with the object interface 224 (e.g., via a drag-and-drop operation, etc.). That is, in some embodiments, the order or arrangement associated with the user interface elements 226 may be configurable by a user. In some embodiments, the arrangement of objects associated with object interface 224 may be the same for all users associated with the virtual space associated with object interface 224. In some embodiments, the arrangement of objects associated with object interface 224 may be different for each user associated with the virtual space.
In some embodiments, each of the user interface elements 226 may be associated with a plurality of objects, as described herein, such that actuation of an actuation mechanism associated with the user interface element may cause additional user interface elements to be presented via the user interface 200. Additional user interface elements may be associated with objects associated with object interface 224. In at least one embodiment, a user may interact with one of the additional user interface elements to access an object associated therewith. More details are provided below.
In some embodiments, more objects may be associated with the object interface 224 than may be presented via the object interface 224. In some embodiments, the object interface 224 may include a user interface element 302 that may be associated with an actuation mechanism. In at least one embodiment, based at least in part on receiving an indication of interaction with an actuation mechanism associated with user interface element 300 (e.g., from application 140), object interface management component 116 can cause additional or alternative user interface elements to be presented via object interface 224 and/or via another user interface presented via user interface 200.
In some embodiments, the object interface 224 may be associated with a user interface element 302 that enables the object interface 224 to be shared with other users, virtual spaces, etc. For example, the user interface element 302 may be associated with an actuation mechanism that, when actuated, may enable a user to specify another user, virtual space, etc. with which the object interface 224 is to be shared. In at least one embodiment, based at least in part on receiving an indication of a user, virtual space, etc. to share object interface 224, object interface management component 116 can associate object interface 224 with the indicated user, virtual space, etc., and can cause presentation of object interface 224 via an instance of user interface 200 on a user computing device associated therewith. For example, if the object interface 224 is shared with a new channel, the object interface 224 may be presented in association with the header of the new channel when presented via the user interface 200. Alternatively, if the object interface 224 is shared with a particular user, the object interface 224 may be presented in association with one or more virtual spaces accessible to the particular user (e.g., via an instance of the user interface 200 presented by the user's user computing device).
Although fig. 3A-3C illustrate embodiments in which the object interface 224 includes a "bar" configuration, in some embodiments, the object interface 224 may include additional or alternative configurations. For example, in at least one embodiment, the user interface elements 226 may be stacked or otherwise arranged. In some embodiments, the object interface 224 may be located in the first portion 202 of the user interface, in the second portion 206 of the user interface, in a header (e.g., as shown in fig. 3A-3C), proximate to the input mechanism 222, and so forth.
Fig. 4A-4I illustrate embodiments of a user interface and an object interface presented via the user interface of a communication platform as described herein. As described above, in at least one embodiment, the user interface 200 may be associated with an object interface 224, as shown in FIG. 4A. In at least one embodiment, the object interface 224 can include a user interface element 228 that can be associated with an actuation mechanism. As shown in fig. 4B, the actuation mechanism, when actuated, can associate additional objects with the object interface 224. That is, based at least in part on detecting actuation of an actuation mechanism associated with user interface element 228, application 140 may send an indication of such actuation to object interface management component 116. That is, the application 140 may receive a request to associate a new object with the object interface 224 and may send the request to the server 102.
In at least one embodiment, the object interface management component 116 can receive the request and, in some embodiments, can identify one or more objects related to the user and/or virtual space associated with the request. In some embodiments, the one or more identified objects may be objects associated with a virtual space, the request being associated with the virtual space. That is, such "dependencies" may be determined based at least in part on objects associated with the virtual space. In some embodiments, the one or more identified objects may be objects associated with a user with whom the request is associated. That is, such "relevance" may be determined based at least in part on the object associated with the user. In some embodiments, such "correlations" may be determined based at least in part on the interaction data. For example, one or more identified objects may be determined to be associated with interactions within a threshold period of time of receiving the request (e.g., objects with which the user and/or other users associated with the virtual space have recently interacted). In some embodiments, it may be determined that one or more identified objects are associated with a frequency above a threshold (e.g., an object with which the user or other user associated with the virtual space frequently interacts). In some embodiments, it may be determined that one or more identified objects are associated with an interaction length that exceeds a threshold (e.g., an object with which the user or other user associated with the virtual space has interacted for a significant amount of time).
In at least one embodiment, the object interface management component 116 can cause one or more identified objects to be presented via the user interface element 400, as shown in FIG. 4B. In at least one embodiment, the user interface element 400 may correspond to an object selection user interface. In at least one embodiment, the user interface element 400 may include a pop-up, overlay, new user interface portion of the user interface 200. In at least one embodiment, the user interface element 400 may include one or more additional user interface elements 402, which may represent one or more objects that may be associated with the object interface 224. In at least one embodiment, each of the additional user interface elements 402 may be associated with an actuation mechanism that, when actuated, may cause an associated object to be associated with the object interface 224. For example, if the user actuates an actuation mechanism associated with a user interface element corresponding to "file" associated with "application N," an object (i.e., a file associated with application N) may be associated with object interface 224. That is, the application 140 may detect actuation of the actuation mechanism and may send such an indication to the server 102. The object interface management component 116 can receive the indication and can associate the object with the object interface 224. In some embodiments, the object selection user interface may include an input mechanism to enable a user to name a selected object for presentation via the object interface 224.
In some embodiments, user interface element 400 may include an input mechanism to enable a user to input a link or other resource locator associated with an object to be associated with object interface 224. In some embodiments, user interface element 400 may include a search mechanism to search for objects, an indication of an application integrated with the communication platform and associated with the virtual space, a mechanism to generate new objects, and the like.
As described above, objects may be associated with the object interface 224 via additional or alternative mechanisms. For example, the communication platform may annotate the user interface 200 with user interface elements to indicate when an object may be associated with the object interface 224, as shown in fig. 4C. In some embodiments, such annotation may be accomplished by the object interface management component 116. In some embodiments, an object that may be associated with the object interface 224 may be associated with a user interface element 230 that enables a user to add the object to the object interface 224. For example, the user interface element 230 may be associated with an actuation mechanism that, when actuated, may enable a user to add an object to the object interface 224. That is, the application 140 may detect actuation of the actuation mechanism and may send such an indication to the server 102. The object interface management component 116 can receive the indication and can associate the object with the object interface 224. In some embodiments, as shown in fig. 4D, the object interface management component 116 may cause presentation of a user interface element 404 via the user interface 200, which may prompt the user to confirm the addition of an associated object (i.e., a file associated with application N). In some embodiments, user interface element 404 may correspond to a confirmation user interface. In at least one embodiment, the application 140 can receive an indication of an interaction with the user interface element 404 and can send the indication to the object interface management component 116. Based at least in part on receiving the indication, the object interface management component 116 can associate the object with the object interface 224. In some embodiments, the validation user interface may include an input mechanism to enable a user to name an object for presentation via the object interface 224.
As described above, objects may be added to the object interface 224 by additional or alternative mechanisms. In some embodiments, an object may be automatically added to the object interface 224 when a user shares or otherwise references the object in association with a channel, direct message, board, etc. associated with the object interface 224. That is, the object interface management component 116 can associate an object with the object interface 224 based at least in part upon detecting that the object has been shared or referenced in a channel, direct message, board, or the like. In some embodiments, the user may be prompted to confirm the association before the object interface management component 116 makes such association. In some embodiments, this association may be automated. In some embodiments, a workflow may be triggered to add an object to the object interface 224. For example, the object interface management component 116 can detect that a user is accessing a particular object at a particular frequency or for a period of time that exceeds a respective threshold, and can trigger a workflow to associate such object with the object interface 224.
In some embodiments, the object interface management component 116 may determine that a user is accessing a particular object at a particular frequency or over a period of time, and may recommend adding such an object to the object interface 224. In some embodiments, the object interface management component 116 can determine that a user associated with a channel, direct message, board, etc., is accessing a particular object at a particular frequency or over a period of time, and can recommend adding such an object to the object interface 224. In some embodiments, objects marked or referenced in channels, direct messages, boards, etc. may additionally trigger the object interface management component 116 to recommend adding such objects to the object interface 224. In some embodiments, as described above, the recommendation may be presented via an object selection user interface (e.g., user interface element 400) or via another user interface element that may include a pop-up, overlay, or the like. Based at least in part on receiving input indicating that the user desires to associate a recommended object with the object interface 224, the object interface management component 116 can associate the object with the object interface 224.
In at least one embodiment, based at least in part on associating the object with the object interface 224, this may include, for example, a mapping or other association of an indication of the object with an indication of the object interface 224 in the data store 122, the object interface management component 116 may then associate a user interface element 406 representing the object with the object interface 224. One embodiment of this aspect is shown in FIG. 4E, where the most recently added object is now represented by user interface element 406 associated with object interface 224. As shown, the user interface element 406 identifies an object (e.g., a "file," which may be a default or specified name) and an indication of a platform or application associated with the object. In some embodiments, user interface element 406 may include additional or alternative information associated with the object.
In at least one embodiment, the user interface element 406 may be associated with an actuation mechanism that, when actuated, may cause an object (i.e., a file associated with application N) to be presented via the user interface 200, as shown in fig. 4F and 4G. Alternatively, in embodiments where an object is associated with a workflow (e.g., the workflow is "locked" to the object interface 224), the workflow may be triggered via interaction with user interface elements associated therewith, and may be executed via the user interface 200. In embodiments where the object is a user profile (e.g., the user profile of the user is "locked" to the object interface 224), actuation of an actuation mechanism associated with such an object may enable the user to send a message (e.g., a direct message) to the associated user. In embodiments where the object is a user profile, actuation of an actuation mechanism associated with such an object may result in rendering an update (e.g., a status update) associated with the user, rendering a piece of content (e.g., a story) associated with the user, and so forth.
In at least one embodiment, based at least in part on detecting interaction with user interface element 406, application 140 may send an indication of the interaction to server 102. In at least one embodiment, the interaction may include actuation of an actuation mechanism. In at least one embodiment, the indication of interaction may include a request to access the object. In some embodiments, the request may include an object identifier associated with the object. The object identifier may include a resource locator or another identifier that may be used to access a resource locator associated with the object. In at least one embodiment, the object interface management component 116 can use the resource locator to retrieve an object and cause the object to be presented via the user interface 200. In some embodiments, if the object is associated with a third party platform, server 102 may retrieve the object via third party server 121. In some embodiments, such retrieval may enable integration between server 102 and third party server 121 via an API or other mechanism.
In at least one embodiment, the object interface management component 116 can cause objects to be presented via the user interface 200, as shown in FIG. 4F. In some embodiments, the object may be presented via a user interface element 408 integrated with the second portion 206. That is, the user interface element 408 may be embedded in the user interface 200 such that a user may access data associated with the group-based communication platform and the object via the same user interface. In some embodiments, the object may be presented via a new portion of the user interface 200. In some embodiments, the object may be presented via the user interface 200 (e.g., as a takeover). In some embodiments, as shown in FIG. 4G, the object may be presented via a pop-up 410, overlay, or new user interface. In some embodiments, the pop-up, overlay, or new user interface may be associated with a communication platform or a third party platform. In some embodiments, the pop-up, overlay, or new user interface may be presented via a web browser or an application associated with the communication platform or a third party platform. In at least one embodiment, a user may interact with an object via user interface 200, pop-up, overlay, new user interface, etc., to directly affect changes to the object.
FIG. 4H illustrates an embodiment of a user interface element 412 (e.g., a markup, etc.) that may be presented in association with one or more user interface elements 226 associated with the object interface 224. That is, in at least one embodiment, the object interface management component 116 can receive a notification indicating a modification or other interaction of an object associated with the object interface. In some embodiments, such notifications may be received via an API or other mechanism to facilitate communication between the object and the platform and/or application associated with such object. In at least one embodiment, the object interface management component 116 can annotate the user interface based at least in part on receiving a notification or other indication of an update to the object (e.g., via an API or other means). For example, in at least one embodiment, the object interface management component 116 can associate the user interface element 412 (e.g., a marker, etc.) with a user interface element that represents an object in the object interface 224. In some embodiments, the user interface element 412 may be removed from the object interface 224 in response to a user accessing the object or otherwise confirming the notification. In some embodiments, if additional notifications associated with the modification or other interactions are received before the first notification is removed, user interface element 412 may be associated with a count that is incremented based on the receipt of the new notification.
In some embodiments, in addition to or in lieu of causing presentation of user interface element 412 via object interface 224, object interface management component 116 may cause one or more messages associated with one or more notifications to be presented in a data feed of a channel (or other virtual space in which an object is associated with object interface 224). As one embodiment, user interface 200 includes user interface elements 219-221, which may represent each update represented by user interface element 412.
In some embodiments, user interface element 414 may be presented via user interface 200 based at least in part on detecting interactions associated with the user interface element of user interface element 226, e.g., scrolling or hovering. In at least one embodiment, the user interface element 414 may correspond to an object information user interface. In at least one embodiment, the user interface element 414 may be presented as a pop-up, overlay, new user interface, portion of the user interface 200, or the like. In at least one embodiment, the user interface element 414 can present information associated with the object, such as a number of updates (e.g., modifications or other interactions since the user last accessed the object), a last modification or other interaction, a timestamp associated with a last modification or other interaction, a number of users currently interacting with the object, a date and/or timestamp of the shared object (i.e., associated with the object interface 224), and so forth. That is, in at least one embodiment, the application 140 may detect interactions and send such indications to the server 102. The object interface management component 116 can retrieve data to be presented via the user interface element 414, which can be stored in the object data 126, and can cause the data to be presented via the user interface element 414.
FIG. 4I illustrates one embodiment of a user interface element of user interface element 226 representing more than one object. As described above, in some embodiments, the user interface elements of the user interface elements 226 may represent one or more objects. In at least one embodiment, the object interface management component 116 can cause presentation of the user interface element 416 via the user interface 200 based at least in part on detecting actuation of the actuation mechanism with the user interface element. In at least one embodiment, the user interface element 416 may include one or more other user interface elements that represent one or more objects. In some embodiments, each object may be associated with the same source (e.g., platform or application). In some embodiments, each object may be associated with the same author, user, group of users, topic, etc. In at least one embodiment, each object may be associated with an actuation mechanism that, when actuated, may cause the actuation mechanism to be presented via user interface 200, as described herein.
It should be noted that when the object interface 224 is associated with a virtual space, each user associated with the virtual space may add an object to the object interface 224. In embodiments where the virtual space is a shared space (e.g., associated with multiple workspaces, multiple organizations, etc.), a user from each of the multiple workspaces or organizations may add objects to the object interface 224. In some embodiments, objects may be removed from the object interface 224 based on interaction data, after a period of time has elapsed, after an event has occurred (e.g., an object is deleted or otherwise removed), or by an explicit action to remove an object from the object interface 224. Removing an object from the object interface 224 may terminate any mapping or other association between the object and the object interface 224.
Fig. 5A-5C illustrate other embodiments of user interfaces presented via a communication platform as described herein. In some embodiments, an administrator may configure object interface templates for user groups and/or virtual space types, as described below. That is, in some embodiments, an administrator may programmatically control which objects are associated with an object interface of a particular virtual space based at least in part on the type of such virtual space and/or the group of users associated therewith. In such embodiments, the object interface management component 116 can cause an administrator user interface to be presented via a user interface associated with the communication platform. In some embodiments, as shown in FIG. 5A, an administrator user interface is presented via the second portion 206 of the user interface 200. In some embodiments, the second portion 206 of the user interface 200 may present interactable user interface elements 500 to enable an administrator to design templates for users, groups (e.g., workspaces, organizations, etc.), types of virtual spaces (e.g., types of channels, direct messages, boards, etc.), and the like. That is, in at least one embodiment, an administrator may interact with the administrator user interface to specify the type of object and/or virtual space (e.g., public channel, private channel, announcement channel, shared channel, direct message, board, etc.) to be associated with the object interface of a particular user group (e.g., workspace, organization, etc.). As described below, the object interface so configured may include a "template" and may be stored in the data store 122.
As such, when a user requests access to a virtual space associated with a templated object interface, the object interface management component 116 can determine which template is associated with the virtual space (e.g., for the type of virtual space, the user, etc.) and can cause the corresponding object interface to be presented via the user interface 200. In some embodiments, the object interface management component 116 can access the user data 124, channel data 128, DM data 130, and the like to determine data associated with a user and/or virtual space. Such data may be used to determine whether and which templates are associated with the virtual space. For example, as shown in fig. 5B, if a user (e.g., user F) is accessing a communication platform associated with a first workspace (e.g., workspace 123), a first object interface 502 may be presented in association with user interface 200. Also, as shown in fig. 5C, if a user (e.g., user F) is accessing a communication platform associated with a second workspace (e.g., workspace 875), a second object interface 504 may be presented via user interface 200. The first object interface 502 and the second object interface 504 may be associated with different objects, which may be specific to each workspace, channel, direct message, user, etc.
Fig. 1-5C reference a "user interface element". The user interface element may be any element of a user interface representing an object, message, virtual space, etc. The user interface elements may be text elements, graphic elements, pictures, logos, symbols, etc. In at least one embodiment, individual ones of the user interface elements may be associated with an actuation mechanism. Such an actuation mechanism may make the corresponding user interface element selectable. That is, in some embodiments, actuation of an actuation mechanism as described herein may indicate selection of a corresponding user interface element. In at least one embodiment, the application 140 can receive an indication of interaction with the user interface element (e.g., an indication of selection and/or actuation of an actuation mechanism) and can send such an indication to the server 102. In some embodiments, server 102 may send data and/or instructions to application 140 to generate a new user interface and/or update user interface 200, as described herein.
The user interface 200 and variants described above are provided as non-limiting examples. Additional or alternative data may be presented via the user interface 200 and/or additional or alternative configurations of data presented via the user interface 200 are within the scope of the present disclosure.
Fig. 6-9 are flowcharts illustrating exemplary processes involving techniques described herein. For convenience and ease of understanding, the processes illustrated in fig. 6-9 are described above with reference to the components described above with reference to the environment 100 illustrated in fig. 1 and/or the user interface 200 described in fig. 2-5C. However, the processes illustrated in fig. 6-9 are not limited to being performed using the components described above with reference to environment 100 and/or user interface 200. Further, the components described above with reference to environment 100 and/or user interface 200 are not limited in the aspects described with respect to the processes shown in fig. 6-9.
The processes in fig. 6-9 are illustrated as a collection of blocks in a logic flow diagram, which represent a sequence of operations that may be implemented in hardware, software, or a combination thereof. In the context of software, the blocks represent computer-executable instructions stored on one or more computer-readable storage media that, when executed by a processor, perform the recited operations. Generally, computer-executable instructions include routines, programs, objects, components, data structures, etc. that perform particular functions or implement particular abstract data types. The order in which the operations are described is not intended to be construed as a limitation, and any number of the described blocks can be combined in any order and/or in parallel to implement the processes. In some embodiments, one or more blocks of the process may be omitted entirely. Furthermore, the processes in fig. 6-9 may be combined with each other or with other processes, in whole or in part.
FIG. 6 illustrates an exemplary process 600 for associating an object with an object interface, as described herein.
At operation 602, the object interface management component 116 may receive a request to associate an object with an object interface via the user interface 200 of the communication platform. In at least one embodiment, a user can interact with the user interface 200 of the communication platform to request that an object be added to the object interface, embodiments of which are described above as object interface 224. As described above, an object interface may be associated with one or more user interface elements that represent objects that have been "locked" to or otherwise associated with the object interface. By associating objects with the object interface, a user can quickly access the objects without scrolling or otherwise navigating through other data associated with the channel. In at least one embodiment, the object may be text, an image, a video, a piece of content, a user profile, a message, a file, a channel, a direct message, a board, a virtual space, an invitation, a login request, a workflow, an application, and/or any other data item. In some embodiments, the object may be a "first party object" that may be associated with the communication platform. In some embodiments, the object may be a "third party object" such that the object is associated with a "third party platform".
In at least one embodiment, the object interface can be associated with a virtual space of the communication platform. That is, the object interface may be presented in association with the virtual space via the user interface. In some embodiments, the object interface may be presented in association with a header of the virtual space, as described above with reference to fig. 2 and 3A-3C. In some embodiments, the virtual space may include channels, direct messages, boards, and the like. For example, the virtual space may be a public channel, a private channel, a shared channel, an announcement channel, a direct message, a board, etc. In some embodiments, the virtual space may be associated with one or more "members" (e.g., users having the right to access the virtual space and/or otherwise communicate or cooperate via the virtual space). In some embodiments, members may be associated with one or more groups (e.g., workspaces, organizations) such that virtual space is "shared" (i.e., externally shared).
In at least one embodiment, the object interface may be associated with a user interface element that enables a user to add an object to the object interface. That is, the user interface element may be associated with an actuation mechanism that, when actuated, enables selection of an object to be added to the object interface. One embodiment of such a user interface element (user interface element 228) is described above with reference to fig. 2-4I. In at least one embodiment, the user interface 200 may be annotated with user interface elements that enable a user to add objects to the object interface. In some embodiments, such annotations may include user interface elements that are proximate to objects presented in the virtual space. In some embodiments, the user interface element may be associated with an actuation mechanism that, when actuated, enables a corresponding object to be associated with the object interface. In some embodiments, such annotations may be based on permissions indicating which objects, applications, platforms, etc. may be associated with the object interface. One embodiment of such a user interface element (user interface element 230) is described above with reference to fig. 2-4I.
In at least one embodiment, the application 140 on the user computing device 104 of the user may detect interactions with user interface elements (e.g., user interface elements associated with an object interface and/or user interface elements proximate to an object presented in the virtual space), as described above. Thus, based at least in part on the user actuating the actuation mechanism, the application 140 may detect the actuation and send an indication of the actuation to the server 102. In some embodiments, such an indication may include a request (i.e., a request to add an object to the object interface). In some embodiments, the request may be associated with an identifier of the object (or not with an identifier of the object), a date of the request, a time of the request, an indication of the virtual space from which the request originated, and/or other context data associated with the request. In at least one embodiment, the object interface management component 116 can receive the request.
At operation 604, the object interface management component 116 may determine whether the object is identified in the request. In at least one embodiment, the object interface management component 116 can analyze the request to determine whether the request is associated with an object identifier.
If the object is not identified with the request at operation 606 (i.e., no at operation 604), the object interface management component 116 may identify the relevant object. In some embodiments, the object interface management component 116 can identify one or more objects related to the user and/or the virtual space associated with the request. In some embodiments, the one or more identified objects may be objects associated with a virtual space associated with the request. That is, such "dependencies" may be determined based at least in part on objects associated with the virtual space. In some embodiments, one or more identified objects may be associated with a user associated with a request. That is, such "relevance" may be determined based at least in part on the object associated with the user. In some embodiments, such "correlations" may be determined based at least in part on the interaction data. For example, one or more identified objects may be determined to be associated with interactions within a threshold period of time of receiving the request (e.g., objects with which the user and/or other users associated with the virtual space have recently interacted). In some embodiments, one or more identified objects may be determined to be associated with a frequency above a threshold (e.g., objects with which a user or other user associated with a virtual space frequently interacts). In some embodiments, one or more identified objects may be determined to be associated with an interaction length exceeding a threshold (e.g., objects with which a user or other user associated with a virtual space has interacted for a significant amount of time).
In some embodiments, the various objects may be associated with a relevance metric that indicates relevance to the user and/or to the virtual space associated with the request. In at least one embodiment, the relevance metric associated with the object may be determined by the object interface management component 116 based at least in part on object data (e.g., object type, virtual space associated with the object, subject matter, content, etc.) and/or interaction data associated with the object. In some embodiments, a machine training model, statistical model, or the like may be used to determine the correlation metric. In at least one embodiment, the object interface management component 116 can select one or more related object presentations for selection by a user. In some embodiments, there may be more relevant objects than there is space for these objects on the user interface 200. In such embodiments, the object interface management component 116 can select a set of related object presentations based at least in part on the associated relevance metrics.
At operation 608, the object interface management component 116 may cause the relevant objects to be presented via the user interface 200. In some embodiments, the related objects may be presented in association with a user interface element, as shown in fig. 4B. In some embodiments, the user interface element that presents the related object (e.g., the user interface element associated therewith) may be an object selection user interface for associating the object with the object interface. In at least one embodiment, the object selection user interface may be presented as part of a pop-up, overlay, new user interface of the user interface 200. In at least one embodiment, the object selection user interface may include one or more additional user interface elements, which may represent one or more objects that may be associated with the object interface. In some embodiments, user interface elements representing related objects may be presented in order of relevance, which may be determined based at least in part on a relevance metric associated therewith. In at least one embodiment, each additional user interface element may be associated with an actuation mechanism that, when actuated, may cause an associated object to be associated with an object interface.
At operation 610, the object interface management component 116 may receive a selection of one of the related objects. As described above, the object selection user interface may include an actuation mechanism that enables selection of an object to be associated with the object interface. In at least one embodiment, the application 140 may detect actuation of an actuation mechanism associated with a user interface element corresponding to a particular object and may send such an indication to the server 102. As shown in operation 612, the object interface management component 116 may receive the indication, which may include an identifier of the object, and may associate the object with the object interface. In at least one embodiment, the object interface management component 116 can associate an object with an object interface by mapping or otherwise associating an indication of the object (e.g., an object identifier) with an indication of the object interface (e.g., an object interface identifier). Such a mapping or other association may be stored in data store 122.
In some embodiments, a user may interact with an object selection user interface to provide a name associated with an object to appear in the object interface. In some embodiments, the object interface management component 116 may determine a default name for an object based at least in part on object data associated with the object. In some embodiments, the user may provide the name of the object via an object selection user interface.
At operation 614, based at least in part on the request including the object identifier (i.e., "yes" at operation 604), the object interface management component 116 may associate the object with the object interface. As described above, in some embodiments, the communication platform may annotate the user interface 200 with user interface elements to indicate when an object may be associated with the object interface. In some embodiments, an object that may be associated with an object interface may be associated with a user interface element that enables a user to add the object to the object interface. For example, such user interface elements may be associated with an actuation mechanism that, when actuated, may enable a user to add an object to the object interface. In such an embodiment, the request to associate the object with the object interface may include an identifier of the object. As such, based at least in part on the request including the object identifier, the object interface management component 116 can associate the object with the object interface, as illustrated by operation 614, without further prompting the user to select or otherwise identify the object for such association. In some embodiments, as described above with reference to fig. 4D, the object interface management component 116 may request that the user confirm the association of the object with the object interface. In some embodiments, the user may provide the name of the object associated with the confirmation.
In at least one embodiment, based at least in part on associating the object with the object interface, as shown in operations 612 and/or 614, the object interface management component 116 can cause a user interface element representing the object to be presented via an object interface associated with a virtual space associated with the object interface. In some embodiments, the object interface management component 116 may send updates to each user associated with the virtual space. That is, the object interface management component 116 can cause presentation of user interface elements representing objects via each instance of a user interface presented via a user computing device of a user associated with the virtual space. For example, if the virtual space is a channel, the instance of the user interface presented to each member of the channel may be updated to include user interface elements representing objects in the object interface associated with the channel. In some embodiments, such updates may be pushed to the user computing device in real-time or within a threshold amount of time when a request to associate an object with the object interface is received.
FIG. 7 illustrates an exemplary process 700 for annotating a user interface based at least in part on notifications associated with objects associated with the object interface, as described herein.
At operation 702, for an object associated with an object interface of a virtual space of a communication platform, the object interface management component 116 can receive a notification associated with the object. In some embodiments, the notification may indicate a modification to the object, where the modification may include editing of content associated with the document or the like. In some embodiments, the notification may indicate an interaction associated with the object, where the interaction may include rights to the change associated with the object, a change of a current user interacting with the object, and so on. In at least one embodiment, the object interface management component 116 can receive notifications associated with objects associated with an object interface. In some embodiments, the object interface management component 116 can pull notifications from objects such that the object interface management component 116 can send requests for object status and receive notifications in response to sending the requests. In some embodiments, the object interface management component 116 may receive notifications without first sending a request. That is, in some embodiments, the object may push the notification to the object interface management component 116.
In some embodiments, the object interface management component 116 may subscribe to notifications associated with the object. In such an embodiment, additional details associated with such subscriptions are provided in U.S. patent application Ser. No. 17/163,017 filed on 1/2021 and 29, the entire contents of which are incorporated herein by reference.
In some embodiments, the notification may be received via an API. For example, the communication platform may provide an API for a third party platform to integrate with the communication platform. In some embodiments, the API may enable third party platforms to communicate, e.g., notifications, and specify preferences regarding the type of modification and/or interaction that prompted the notification, the frequency at which the notification is sent, how such notification is presented via user interface 200, and so forth. As such, in some embodiments, notifications associated with objects may be received via an API.
At operation 704, the object interface management component 116 can cause a user interface element to be presented via a user interface of the communication platform, wherein the user interface element indicates the notification. In at least one embodiment, based at least in part on receiving the notification, the object interface management component 116 can cause presentation of the user interface element via the user interface 200. In some embodiments, a user interface element, which may be a marker or the like, may be associated with a user interface element that represents an object in the object interface. In some embodiments, the user interface element may be associated with a count indicating the number of notifications associated with the object that have been received within a period of time or since the user last viewed the object. An embodiment of such a user interface element is shown in fig. 4H above.
At operation 706, the object interface management component 116 can cause a message to be presented in association with the virtual space and via the user interface, wherein the message indicates the notification. In some embodiments, based at least in part on the indication of receipt of the notification, the object interface management component 116 can cause a message to be presented via the user interface 200, for example, in a feed associated with the virtual space. That is, in at least one embodiment, a message associated with the notification may be presented in the second portion 206 of the user interface 200. In some embodiments, a message (e.g., a user interface element associated therewith) may be presented via the user interface 200 in lieu of or in addition to presenting the user interface element as described above with reference to operation 704.
In at least one embodiment, operations 704 and/or 706 may include "annotating" the user interface in response to receiving the notification, as described below.
FIG. 8 illustrates an example process 800 for providing an Application Programming Interface (API) to enable third party control of communications between a communication platform and a third party platform and annotating a user interface based at least in part on modifications of objects received via the API, as described herein.
In operation 802, the communication platform may provide an Application Programming Interface (API) to the third party platform to allow control of communications between the third party platform and the communication platform. In some embodiments, as described above, the communication platform may provide an API for the third party platform to integrate with the communication platform. In some embodiments, the API may enable the third party platform to provide input regarding notifications and/or other communications, such as the type of modification and/or interaction that will prompt for notifications, the frequency at which notifications are sent, how such notifications are presented via the user interface 200, and so forth. In some embodiments, the API may define the kind of communication (e.g., call or request) that can be made, how the communication is made, the data format that should be used, the conventions to be followed, and so on.
At operation 804, the object interface management component 116 can receive, for an object associated with an object interface of a virtual space of the communication platform and via the API, a notification associated with the object, as described above with reference to operation 702 of fig. 7.
At operation 806, the object interface management component 116 can annotate the user interface 200 of the communication platform based at least in part on the receipt of the notification. As described above with reference to operations 704 and 706, in at least one embodiment, the object interface management component 116 may cause presentation of user interface elements representing modifications or interactions via the user interface 200. In some embodiments, the user interface element may be a marker or the like, which may be associated with a user interface element representing an object in the object interface. In some embodiments, the user interface element may be a message presented in a feed of a virtual space associated with the object interface. In some embodiments, the object interface management component 116 may present a pop-up, overlay, or other user interface element via the user interface in response to receiving a notification or other indication of an object update. In some embodiments, such pop-up, overlay, or other user interface element may be transient (e.g., short-term or temporary).
FIG. 9 illustrates an exemplary process 900 for generating an object interface template for a group of users associated with a communication platform as described herein.
In operation 902, the object interface management component 116 can receive a request to associate an object with an object interface for a virtual space of a user group associated with the communication platform via an administrator user interface of the communication platform. As described above with reference to fig. 5A, in some embodiments, an administrator may configure object interface templates for user groups and/or virtual space types. In such embodiments, the object interface management component 116 can cause an administrator user interface to be presented via the user interface 200 associated with the communication platform. In some embodiments, the second portion 206 of the user interface 200 may present interactable user interface elements 500 to enable an administrator to design templates for users, groups (e.g., workspaces, organizations, etc.), types of virtual spaces (e.g., types of channels, direct messages, boards, etc.), and the like. That is, in at least one embodiment, an administrator may interact with the administrator user interface to specify objects to be associated with the object interface of the virtual space of a particular user group (e.g., workspace, organization, etc.). In at least one embodiment, an administrator may request that an object be associated with an object interface of a virtual space, and may indicate a group of users to which such object and object interface are to be presented. In some embodiments, the object interface, and the user group may each be associated with an identifier.
In operation 904, the object interface management component 116 can store the object and an indication of the association of the object interface with the user group in the data store 122 of the communication platform. In at least one embodiment, based at least in part on receiving a request to associate an object with an object interface of a virtual space of a user group, the object interface management component 116 can map or otherwise associate the object and object user interface of the virtual space with the user group in the data store 122. In some embodiments, this mapping or other association may be achieved by mapping the object identifier to an object interface identifier (which may be mapped to an identifier of the virtual space) and mapping the object interface identifier to a group identifier of the user group.
At operation 906, the object interface management component 116 may receive a request to access the virtual space. In at least one embodiment, a user may request access to a virtual space. In some embodiments, such a request may be received via user interface 200. The application 140 may send an indication of the request to the server 102. In some embodiments, channel management component 118, direct message management component 119, board management component, etc. may receive the request and may forward the request to object interface management component 116 (e.g., as a query of whether a particular object interface is associated with the requesting user's virtual space). In some embodiments, the request may include an identifier associated with the user and/or the virtual space. Using the identifiers associated with the users, the object interface management component 116 can access user data associated with the users to determine whether the users are associated with one or more group identifiers. Based on this determination, the object interface management component 116 may determine whether the request is from a user in the user group, as shown in operation 908.
At operation 910, based at least in part on the request not being from a user in the user group (i.e., "no" at operation 908), the object interface management component 116 may cause the user interface 200 via the communication platform to present a virtual space without an object interface and/or object. In at least one embodiment, if the request is from a user not associated with a group identifier of a user group, the object interface management component 116 can cause the virtual space to be presented via the user interface 200 without an object interface and object. In some embodiments, another object interface and/or object may be associated with a group identifier with which the requesting user is associated.
At operation 912, based at least in part on the request from the user in the user group (i.e., "yes" at operation 912), the object interface management component 116 may cause the virtual space to be presented via the user interface 200 having the object interface and the communication platform of the object. In at least one embodiment, if the request is from a user associated with a group identifier of a user group, the object interface management component 116 can cause a virtual space to be presented via the user interface 200 having an object interface and an object. In such embodiments, the object interface may be various templates such that when each user associated with a user group accesses the virtual space, the object interface with the object may be presented in association with the virtual space.
As described above, an administrator may generate templates of object interfaces for different groups of users. Similarly, an administrator may generate templates of object interfaces for different types of virtual spaces of a user group. For example, a notification channel associated with an organization may be associated with a first object interface, while a privacy channel associated with an organization may be associated with a second object interface that includes additional or alternative objects in addition to the first object interface.
Conclusion(s)
Although one or more embodiments of the technology described herein have been described, various alterations, additions, permutations, and equivalents thereof are included within the scope of the technology described herein.
In the description of the embodiments, reference is made to the accompanying drawings which form a part hereof, and in which is shown by way of illustration specific embodiments of the claimed subject matter. It is to be understood that other embodiments may be utilized and that changes or modifications, e.g., structural changes, may be made. Such embodiments, changes, or variations do not necessarily depart from the scope of the claimed subject matter. Although the steps herein may be presented in a certain order, in some cases the order may be altered such that certain inputs are provided at different times or in a different order without altering the functionality of the described systems and methods. The disclosed processes may also be performed in a different order. Moreover, the various calculations herein need not be performed in the order disclosed, and other embodiments using alternative orders of calculations may be readily implemented. In addition to being reordered, the computation may also be broken down into sub-computations with the same result.
Exemplary clauses
A. A method, comprising: receiving a request to associate an object with an object interface associated with a virtual space of a group-based communication platform in association with a user interface of the group-based communication platform; causing one or more objects associated with the group-based communication platform to be presented via the user interface; receiving, via a user interface, a selection of a particular object of the one or more objects; in response to the selection, causing a first user interface element representing the particular object to be associated with the object interface, wherein the first user interface element is associated with an actuation mechanism that, when actuated, causes the particular object to be presented via the user interface; receiving a notification associated with a particular object; and causing, within a threshold period of time from receipt of the notification, a second user interface element to be presented via the user interface, wherein the second user interface element is associated with at least one of the first user interface element or the message presented via the virtual space.
B. The method of paragraph a, wherein the virtual space comprises a channel, a direct message, or a board.
C. The method of paragraph B, wherein the virtual space is associated with two or more different organizations.
D. The method of any of claims a-C, wherein at least one of the one or more objects is associated with a third party application in communication with a group-based communication platform.
E. The method of any of claims a-D, further comprising generating one or more objects based at least in part on identifying one or more objects that have been accessed in association with the virtual space within a threshold period of time.
F. The method of any of claims a-E, further comprising generating one or more objects based at least in part on determining that the one or more objects are related to at least one of a requesting user or a virtual space.
G. The method of any of claims a-F, the first user interface element being visible to each member associated with the virtual space.
H. The method of any of claims a-G, wherein the first user interface element is one of a plurality of user interface elements representing a plurality of objects associated with the object interface, and wherein an arrangement of the plurality of user interface elements is configurable by a user associated with the virtual space.
I. The method of any of claims a-H, wherein the object interface is associated with a header of the virtual space.
J. The method of any of claims a-I, wherein the object interface is associated with a third user interface element, and wherein the third user interface element is associated with an actuation mechanism that, when actuated, enables sharing of the object interface with one or more other virtual spaces of the group-based communication platform.
K. A system, comprising: one or more processors; and one or more non-transitory computer-readable media storing instructions that, when executed by the one or more processors, cause the system to perform operations comprising: receiving a request to associate an object with an object interface associated with a virtual space of a group-based communication platform in association with a user interface of the group-based communication platform; causing one or more objects associated with the group-based communication platform to be presented via the user interface; receiving, via a user interface, a selection of a particular object of the one or more objects; in response to the selection, causing a first user interface element representing the particular object to be associated with the object interface, wherein the first user interface element is associated with an actuation mechanism that, when actuated, causes the particular object to be presented via the user interface; receiving a notification associated with a particular object; and causing, within a threshold period of time from receipt of the notification, a second user interface element to be presented via the user interface, wherein the second user interface element is associated with at least one of the first user interface element or the message presented via the virtual space.
L. the system of paragraph K, the operations further comprising generating one or more objects based at least in part on identifying one or more objects that have been accessed in association with the virtual space within a threshold period of time.
The system of paragraph K or L, the operations further comprising generating one or more objects based at least in part on determining that the one or more objects are related to at least one of the requesting user or the virtual space.
The system of any of claims K-M, wherein the first user interface element is one of a plurality of user interface elements representing a plurality of objects associated with the object interface, and wherein the arrangement of the plurality of user interface elements is configurable by a user associated with the virtual space.
The system of any of claims K-N, wherein the object interface is associated with a third user interface element, and wherein the third user interface element is associated with an actuation mechanism that, when actuated, enables the object interface to be shared with one or more other virtual spaces of the group-based communication platform.
One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising: receiving a request to associate an object with an object interface associated with a virtual space of a group-based communication platform in association with a user interface of the group-based communication platform; causing one or more objects associated with the group-based communication platform to be presented via the user interface; receiving, via a user interface, a selection of a particular object of the one or more objects; in response to the selection, causing a first user interface element representing the particular object to be associated with the object interface, wherein the first user interface element is associated with an actuation mechanism that, when actuated, causes the particular object to be presented via the user interface; receiving a notification associated with a particular object; and causing, within a threshold period of time from receipt of the notification, a second user interface element to be presented via the user interface, wherein the second user interface element is associated with at least one of the first user interface element or the message presented via the virtual space.
One or more non-transitory computer-readable media according to paragraph P, the operations further comprising generating one or more objects based at least in part on identifying one or more objects that have been accessed in association with the virtual space within a threshold period of time.
The one or more non-transitory computer-readable media of paragraph P or Q, the operations further comprising generating one or more objects based at least in part on determining that the one or more objects are related to at least one of the requesting user or the virtual space.
The one or more non-transitory computer-readable media of any of claims P-R, wherein the object interface is associated with a header of the virtual space, and wherein the first user interface element is visible to each member associated with the virtual space.
The one or more non-transitory computer-readable media of any of claims P-S, wherein the object interface is associated with a third user interface element, and wherein the third user interface element is associated with an actuation mechanism that, when actuated, enables the object interface to be shared with one or more other virtual spaces of the group-based communication platform. While the paragraphs above are described with respect to one particular implementation, it should be appreciated that in the context of this document, the contents of the paragraphs above may also be implemented by a method, apparatus, system, computer readable medium, and/or another implementation. Furthermore, any of paragraphs A-T may be implemented alone or in combination with any other one or more of paragraphs A-T.
Claims (20)
1. A method, comprising:
receiving a request to associate an object with an object interface associated with a virtual space of a group-based communication platform in association with a user interface of the group-based communication platform;
causing one or more objects associated with the group-based communication platform to be presented via the user interface;
receiving, via the user interface, a selection of a particular object of the one or more objects;
in response to the selection, causing a first user interface element representing the particular object to be associated with the object interface, wherein the first user interface element is associated with an actuation mechanism that, when actuated, causes the particular object to be presented via the user interface;
receiving a notification associated with the particular object; and
a second user interface element is caused to be presented via the user interface for a threshold period of time from receipt of the notification, wherein the second user interface element is associated with at least one of the first user interface element or a message presented via the virtual space.
2. The method of claim 1, wherein the virtual space comprises a channel, a direct message, or a board.
3. The method of claim 2, wherein the virtual space is associated with two or more different organizations.
4. The method of claim 1, wherein at least one of the one or more objects is associated with a third party application in communication with the group-based communication platform.
5. The method of claim 1, further comprising: the one or more objects are generated based at least in part on identifying the one or more objects that have been accessed in association with the virtual space within a threshold period of time.
6. The method of claim 1, further comprising: the one or more objects are generated based at least in part on determining that the one or more objects are related to at least one of a requesting user or the virtual space.
7. The method of claim 1, wherein the first user interface element is visible to each member associated with the virtual space.
8. The method of claim 1, wherein the first user interface element is one of a plurality of user interface elements representing a plurality of objects associated with the object interface, and wherein an arrangement of the plurality of user interface elements is configurable by a user associated with the virtual space.
9. The method of claim 1, wherein the object interface is associated with a header of the virtual space.
10. The method of claim 1, wherein the object interface is associated with a third user interface element, and wherein the third user interface element is associated with an actuation mechanism that, when actuated, enables sharing of the object interface with one or more other virtual spaces of the group-based communication platform.
11. A system, comprising:
one or more processors; and
one or more non-transitory computer-readable media storing instructions that, when executed by the one or more processors, cause the system to perform operations comprising:
receiving a request to associate an object with an object interface associated with a virtual space of a group-based communication platform in association with a user interface of the group-based communication platform;
causing one or more objects associated with the group-based communication platform to be presented via the user interface;
receiving, via the user interface, a selection of a particular object of the one or more objects;
In response to the selection, causing a first user interface element representing the particular object to be associated with the object interface, wherein the first user interface element is associated with an actuation mechanism that, when actuated, causes the particular object to be presented via the user interface;
receiving a notification associated with the particular object; and
a second user interface element is caused to be presented via the user interface for a threshold period of time from receipt of the notification, wherein the second user interface element is associated with at least one of the first user interface element or a message presented via the virtual space.
12. The system of claim 11, wherein the operations further comprise: the one or more objects are generated based at least in part on identifying the one or more objects that have been accessed in association with the virtual space within a threshold period of time.
13. The system of claim 11, wherein the operations further comprise: the one or more objects are generated based at least in part on determining that the one or more objects are related to at least one of a requesting user or the virtual space.
14. The system of claim 11, wherein the first user interface element is one of a plurality of user interface elements representing a plurality of objects associated with the object interface, and wherein an arrangement of the plurality of user interface elements is configurable by a user associated with the virtual space.
15. The system of claim 11, wherein the object interface is associated with a third user interface element, and wherein the third user interface element is associated with an actuation mechanism that, when actuated, enables the object interface to be shared with one or more other virtual spaces of the group-based communication platform.
16. One or more non-transitory computer-readable media storing instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:
receiving a request to associate an object with an object interface associated with a virtual space of a group-based communication platform in association with a user interface of the group-based communication platform;
causing one or more objects associated with the group-based communication platform to be presented via the user interface;
Receiving, via the user interface, a selection of a particular object of the one or more objects;
in response to the selection, causing a first user interface element representing the particular object to be associated with the object interface, wherein the first user interface element is associated with an actuation mechanism that, when actuated, causes the particular object to be presented via the user interface;
receiving a notification associated with the particular object; and
a second user interface element is caused to be presented via the user interface for a threshold period of time from receipt of the notification, wherein the second user interface element is associated with at least one of the first user interface element or a message presented via the virtual space.
17. The one or more non-transitory computer-readable media of claim 16, the operations further comprising: the one or more objects are generated based at least in part on identifying the one or more objects that have been accessed in association with the virtual space within a threshold period of time.
18. The one or more non-transitory computer-readable media of claim 16, the operations further comprising: the one or more objects are generated based at least in part on determining that the one or more objects are related to at least one of a requesting user or the virtual space.
19. The one or more non-transitory computer-readable media of claim 16, wherein the object interface is associated with a header of the virtual space, and wherein the first user interface element is visible to each member associated with the virtual space.
20. The one or more non-transitory computer-readable media of claim 16, wherein the object interface is associated with a third user interface element, and wherein the third user interface element is associated with an actuation mechanism that, when actuated, enables the object interface to be shared with one or more other virtual spaces of the group-based communication platform.
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IN202121010591 | 2021-03-12 | ||
US17/240,000 US11522825B2 (en) | 2021-03-12 | 2021-04-26 | Object interface for quick access to objects of a communication platform |
US17/240,000 | 2021-04-26 | ||
PCT/US2022/019678 WO2022192491A1 (en) | 2021-03-12 | 2022-03-10 | Object interface for quick access to objects of a communication platform |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117501292A true CN117501292A (en) | 2024-02-02 |
Family
ID=89673096
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202280033434.4A Pending CN117501292A (en) | 2021-03-12 | 2022-03-10 | Object interface for quick access to objects of a communication platform |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117501292A (en) |
-
2022
- 2022-03-10 CN CN202280033434.4A patent/CN117501292A/en active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11652769B2 (en) | Snippet(s) of content associated with a communication platform | |
US12058185B2 (en) | Channel generation in a communication platform | |
US11470163B2 (en) | Multi-workspace shared communication channel | |
US11620598B2 (en) | Electronic board associated with a communication platform | |
US11522825B2 (en) | Object interface for quick access to objects of a communication platform | |
US11621936B2 (en) | Integrating a communication platform into a third-party platform | |
US11552813B2 (en) | Modifying direct message communication membership | |
US20230179562A1 (en) | Object interface for quick access to objects of a communication platform | |
US11875311B2 (en) | Communication platform document as a communication channel | |
US11822764B2 (en) | User interface for searching content of a communication platform using reaction icons | |
US11727131B2 (en) | Referencing a document in a virtual space | |
CN117501292A (en) | Object interface for quick access to objects of a communication platform | |
US12141100B2 (en) | Repository for quick retrieval of object(s) of a communication platform | |
US20220327097A1 (en) | Repository for quick retrieval of object(s) of a communication platform | |
US11848904B2 (en) | Sharing custom history in multi-party direct message | |
US12141303B2 (en) | Referencing a document in a virtual space | |
US12099770B1 (en) | Displaying predicted tasks based on changing devices | |
CN118120182A (en) | Converting private channels to public channels | |
CN117917064A (en) | Mobile generated desktop reminders |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |