Facilitating collaboration in work environment

By introducing virtual rooms and collaboration models into existing Internet-based communication tools, the problem that existing tools cannot replace face-to-face communication is solved, and higher user engagement and collaboration efficiency are achieved.

CN119422354APending Publication Date: 2025-02-11FACE CUTE CO LTD
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202380033454.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2022-06-02
Filing Date
2023-05-29
Publication Date
2025-02-11

AI Technical Summary

Technical Problem

Existing Internet-based communication tools cannot adequately replace face-to-face communication and collaboration, especially users in the same physical space cannot frequently communicate in real-time, resulting in limited collaboration, productivity, efficiency and community awareness.

Method used

An improved Internet-based communication tool is designed to provide virtual room functionality through a combination of cloud networks and multiple user devices, allowing users to communicate in real time and simulate face-to-face communication through collaborative modes to enhance user engagement.

Benefits of technology

The tool can increase the time for users to participate in real-time communication, simulate face-to-face communication, promote collaboration, productivity, efficiency and community awareness among colleagues, and make up for the shortcomings of existing tools that cannot replace face-to-face communication.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119422354A_ABST
    Figure CN119422354A_ABST
Patent Text Reader

Abstract

This disclosure describes techniques for facilitating collaboration in a workspace. The technique may include automatically displaying an image of the user in a representation corresponding to the first virtual room in response to an application starting running on a computing device associated with the user. Display of the image in the representation may indicate that the user is in the first virtual room. A collaboration mode may be entered based on user input from a user. Visual elements may be added to the image in response to entering the collaboration mode. The visual element added to the avatar may indicate that the user may perform real-time communications with other users of the plurality of users.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS

[0002] This application claims priority to U.S. Patent Application No. 17 / 527,078 filed on November 15, 2021 and U.S. Patent Application No. 17 / 831,346 filed on June 2, 2022, both of which are incorporated herein by reference in their entirety. Background Art

[0003] People are increasingly using Internet-based tools to communicate. Internet-based tools can be any software or platform. Existing communication platforms enable users to communicate with each other by sharing text, images, videos, and other information via applications or web pages. People are constantly eager to gain new ways to communicate via Internet-based tools. BRIEF DESCRIPTION OF THE DRAWINGS

[0004] The following detailed description will be better understood when read in conjunction with the accompanying drawings.For purposes of illustration, exemplary embodiments of various aspects of the disclosure are shown in the drawings; however, the invention is not limited to the specific methods and instrumentalities disclosed.

[0005] Figure 1 An exemplary system for facilitating communications according to the present disclosure is shown.

[0006] Figure 2 An exemplary system for facilitating communications according to the present disclosure is shown.

[0007] Figure 3 An exemplary method that may be performed by a communication system for facilitating communications according to the present disclosure is shown.

[0008] Figure 4 An exemplary method that may be performed by a communication system for facilitating communications according to the present disclosure is shown.

[0009] Figure 5 An exemplary method that may be performed by a communication system for facilitating communications according to the present disclosure is shown.

[0010] Figure 6 An exemplary method that may be performed by a communication system for facilitating communications according to the present disclosure is shown.

[0011] Figure 7 An exemplary method that may be performed by a communication system for facilitating communications according to the present disclosure is shown.

[0012] Figure 8 An exemplary user interface for facilitating communications in accordance with the present disclosure is shown.

[0013] Fig. 9Another exemplary user interface for facilitating communications according to the present disclosure is shown.

[0014] Fig.10 Another exemplary user interface for facilitating communications according to the present disclosure is shown.

[0015] Fig.11 Another exemplary user interface for facilitating communications according to the present disclosure is shown.

[0016] Fig.12 Another exemplary user interface for facilitating communications according to the present disclosure is shown.

[0017] Fig.13 Another exemplary user interface for facilitating communications according to the present disclosure is shown.

[0018] Fig.14 Another exemplary user interface for facilitating communications according to the present disclosure is shown.

[0019] Fig.15 Another exemplary user interface for facilitating communications according to the present disclosure is shown.

[0020] Fig.16 An exemplary computing device that can be used to perform any of the techniques disclosed herein is shown. DETAILED DESCRIPTION

[0021] Existing Internet-based communication tools can facilitate communication between two or more individuals, such as communication between two or more colleagues. For example, existing Internet-based communication tools can facilitate video conferencing between two or more individuals. Similarly, existing Internet-based communication tools can facilitate text message and / or instant message exchanges between two or more individuals.

[0022] However, such existing Internet-based communication tools do not adequately replace face-to-face communication and collaboration. For example, when two or more people are in the same physical building or room, they do not need to schedule meetings, wait for responses to chats or emails, or wait for each other to log on online to communicate with each other. Instead, they can frequently have instant (e.g., spontaneously, unplanned, etc.) conversations with each other. In the workplace, such instant, real-time communication can promote collaboration, productivity, efficiency, and a sense of community among colleagues. In contrast, existing Internet-based communication tools require users to schedule meetings, wait for responses to chats or emails, or wait for other users to log on online to communicate with them. In this way, Internet-based communication tools do not foster a sense of collaboration, productivity, efficiency, or a sense of community among colleagues as face-to-face communication does.

[0023] Despite the benefits of face-to-face communication, people may sometimes need to communicate with each other from remote locations. For example, colleagues may live in different geographic locations from each other, or may work from their homes rather than from a central office. Therefore, there is a need for improved Internet-based communication tools that provide the benefits of face-to-face communication and collaboration.

[0024] An improved Internet-based communication tool is described herein. This improved Internet-based communication tool addresses the shortcomings of existing Internet-based communication tools and more closely simulates face-to-face communication. For example, the Internet-based communication tool described herein can increase the amount of time a user can engage in instant, real-time communication. This improved Internet-based communication tool can be used as Figure 1 A portion of an exemplary system 100 is shown in FIG. The system 100 may include a cloud network 102 and a plurality of user devices 104a to 104d. The cloud network 102 and the plurality of user devices 104a to 104d may communicate with each other via one or more networks 120.

[0025] The cloud network 102 may be located in a data center, such as a single site, or distributed in different geographic locations (e.g., at several sites). The cloud network 102 may provide services via one or more networks 120. The network 120 may include various network devices, such as routers, switches, multiplexers, hubs, modems, bridges, repeaters, firewalls, proxy devices, etc. The network 120 may include physical links, such as coaxial cable links, twisted pair cable links, optical fiber links, combinations thereof, etc. The network 120 may include wireless links, such as cellular links, satellite links, Wi-Fi links, etc.

[0026] The cloud network 102 may include a plurality of computing nodes 118 that host various services. In an embodiment, the nodes 118 host the communication service 112. The plurality of computing nodes 118 may process tasks associated with the communication service 112.

[0027] The plurality of computing nodes 118 may be implemented as one or more computing devices, one or more processors, one or more virtual computing instances, combinations thereof, and the like. The plurality of computing nodes 118 may be implemented by one or more computing devices. The one or more computing devices may include virtualized computing instances. The virtualized computing instances may include virtual machines, such as simulations of computer systems, operating systems, servers, and the like. The computing device may load the virtual machine based on a virtual image and / or other data defining specific software (e.g., operating systems, dedicated applications, servers) for simulation. As the demand for different types of processing services changes, different virtual machines may be loaded and / or terminated on one or more computing devices. A hypervisor may be implemented to manage the use of different virtual machines on the same computing device.

[0028] In an embodiment, the communication service 112 facilitates communications (eg, synchronous communications and asynchronous communications) between users associated with the plurality of user devices 104a to 104d. Figure 2 Communication services 112 are discussed in more detail.

[0029] In an embodiment, a plurality of user devices 104 are configured to access a communication service 112. For example, one or more user devices 104 may send a connection request to the communication service 112. The connection request may include a request to connect to the communication service 112 from user devices 104a-104d.

[0030] The user devices 104a-104d may include an application 106. The application 106 outputs (e.g., displays, renders, presents) one or more user interfaces of the communication service 112 via interfaces 108a-108d. Users associated with the user devices 104a-104d may interact with the user interface of the communication service 112 to communicate and / or establish relationships with other users of the communication service 112. For example, a user associated with the user device 104a may interact with the user interface of the communication service 112 to communicate and / or establish relationships with one or more users associated with the user devices 104b-104d.

[0031] The plurality of user devices 104 may include any type of computing device, such as a mobile device, a tablet device, a laptop computer, a desktop computer, a smart TV or other smart device (e.g., a smart watch, a smart speaker, smart glasses, a smart helmet), a gaming device, a set-top box, a digital streaming device, a robot, etc.

[0032] Multiple user devices 104 may be associated with one or more users. For example, one or more users may be colleagues or peers. As another example, one or more users may be friends, students, or any other group of people who wish or need to communicate with each other. A single user may access cloud network 102 using one or more of user devices 104. Multiple user devices 104 may travel to various locations and use different networks to access cloud network 102.

[0033] The communication service 112 may be configured to store data associated with the communication service 112, such as in one or more databases 113. The one or more databases 113 may be configured to store data associated with users of the communication service 112, information associated with virtual rooms (e.g., spaces) used for communications provided by the communication service 112, and / or data associated with past communications, current communications, or future planned communications between users of the communication service 112. Figure 2The one or more databases 113 and the data stored within the one or more databases 113 are discussed in more detail.

[0034] Figure 2 An exemplary system 200 for communication is shown. The system 200 includes the above Figure 1 As an example and not limitation, the communication service 112 may be provided at Figure 1 The communication service 112 may include a combination of cloud network devices and local devices. The communication service 112 may facilitate communication between users 210a to 210n. The user 210 may be a user of a communication application 240 operating on a user device 242.

[0035] The communication service 112 may include an authentication service 226. The authentication service 226 may authorize and verify access to other services provided by the communication service 112. The authentication service 226 may grant a user access to the communication service 112. For example, the authentication service 226 may receive a connection request from a user 210a to 210n. The connection request may be a request to connect to the communication service 226. The authentication service 226 may grant or deny access to the user in response to such a connection request.

[0036] The communication service 112 may include a management service 223. The management service 223 may manage communications between users 210a to 210n that have been connected to the communication service 112. For example, the management service 223 may manage communications between users 210a to 210n that have been granted access to the communication service 112 by the authentication service 226. The management service 223 may include a connection management service 224, a user management service 225, and / or a communication management service 226.

[0037] In an embodiment, the communication service 112 provides multiple virtual rooms (e.g., spaces) in a workspace to users 210a to 210n. Each of the multiple virtual rooms can be a virtual object that users 210a to 210n can associate with to exchange information stored in association with the virtual room. Each virtual room enables users associated with the virtual room to communicate in real time, in non-real time, etc. with other users associated with the virtual room. One or more of the virtual rooms can also enable certain communications from non-associated users to communicate with internal users. Users 210a to 210n can appear in one virtual room at a time, or in multiple virtual rooms at a time. At any given time, zero, one, or more users can appear in any given virtual room.

[0038] Each virtual room may be implemented as a data structure and one or more software functions that track users, permissions, any data exchanged between users 210a to 210n, and time associations of when users 210a to 210n associate (join the virtual room) and disassociate (leave the virtual room). In some embodiments, each virtual room is associated with a calendar indicating events or meetings associated with the virtual room.

[0039] In an embodiment, any user who has joined a virtual room will have the ability to view the history of communications that occurred in the virtual room. For example, a user who joins a virtual room at time A can peruse the history of communications that occurred in the virtual room prior to time A, and thereby understand the development of communications within the virtual room over time without having to view archives that lack context. In that sense, the virtual room becomes a way to organize information exchange while retaining historical context about a particular communication item.

[0040] In an embodiment, each of the virtual rooms may be associated with a particular topic. Users 210a to 210n may associate themselves with (e.g., join, enter) a virtual room associated with a topic of interest. Within each virtual room, users 210a to 210n that have joined the virtual room may communicate with each other, e.g., about a topic associated with the virtual room. In some embodiments, each virtual room may be associated with a particular work project or team of colleagues.

[0041] In an embodiment, users 210a to 210n may need permission to join one or more virtual rooms from a plurality of virtual rooms. For example, users 210a to 210n may need access rights to join a particular virtual room, such as by an administrator associated with the virtual room. Users 210a to 210n may need permission to join some of the plurality of virtual rooms, while other virtual rooms in the plurality of spaces may be open to any user 210a to 210n to join (without requiring permission or authentication). In some embodiments, users 210a to 210n do not need permission to join any of the virtual rooms from the plurality of spaces. Instead, users 210a to 210n may freely join and leave virtual rooms.

[0042] In an embodiment, in response to an application 240 associated with the communication service 112 starting to run on a computing device (e.g., client device 104a to 104d) associated with users 210a to 210n, users 210a to 210n may be automatically located in a default virtual room. In some instances, the default virtual room may be selected by the users 210a to 210n themselves. For example, user 210a may select a virtual room in which he or she spends most of his or her time or a virtual room that indicates the user's work background as the user's default virtual room. As another example, user 210b may select a virtual room associated with a topic that the user is most interested in as the user's default room. In some instances, the default virtual room for a particular user may be selected by the communication service 112. For example, the communication service 112 may automatically select a virtual room for a particular user based on the behavior, work background, or preferences of the particular user, such as which virtual rooms the user visits, how long the user visits these rooms, and the items or topics that the user is interested in. In some embodiments, the default virtual room for a particular user may be selected by a peer of the user, such as the user's boss or superior.

[0043] In some embodiments, a user 210a-210n may want to enter a different virtual room after opening an application 240 associated with a communication service 112 and being placed in the user's default virtual room. For example, a user 210a-210n may want to communicate with other users in a virtual room that is different from the user's default virtual room. As another example, a user 210a-210n may want to communicate about a topic or item associated with a virtual room that is different from the user's default virtual room. If a user 210a-210n wants to be in a different virtual room after opening an application 240 associated with a communication service 112 and being placed in the user's default virtual room, the user may join (e.g., enter) the different virtual room. If a user joins a different virtual room, the user may no longer be in the user's default virtual room.

[0044] In an embodiment, the communication service 112 may display an avatar associated with each user 210a to 210n on the interface of the application 240. For example, an avatar associated with a particular user may be displayed in a representation corresponding to the virtual room that the user is currently in. In this way, users of the communication service 112 are able to see which virtual rooms other users are in. For example, when a user opens an application 240 associated with the communication service 112 and is placed in the user's default virtual room, an avatar associated with the user may be displayed in a representation corresponding to the user's default virtual room. If the user later enters a different room, the user's avatar will no longer be displayed in the representation corresponding to the user's default virtual room. Instead, the user's avatar will be displayed in a representation corresponding to the newly entered virtual room.

[0045] In an embodiment, the connection management service 224 may connect one or more users 210a to 210n to a particular virtual room. For example, when a user 210a to 210n connects to the communication service 112 (e.g., in response to an application 240 associated with the communication service 112 starting to run on a computing device), the connection management service 224 may automatically connect the user 210a to 210n to his or her default virtual room. For example, the connection management service 224 may retrieve data indicating an identification number (ID) associated with a default virtual room associated with the user 210a to 210n from the database 113. For example, the connection management service 224 may retrieve data indicating an identification number (ID) associated with a default virtual room associated with the user 210a to 210n from the room database 232. The connection management service 224 may use the data to connect the user 210a to 210n to the user's default virtual room. After connecting a user to a default virtual room, the connection management service 224 may store data in a database 113, such as the room database 232, indicating that the particular user has joined the default virtual room and / or when the particular user joined the default virtual room.

[0046] In an embodiment, if a user wants to enter a virtual room that is different from his or her virtual room, the connection management service 224 may receive data from the user 210a-210n indicating a request to join a different virtual room. The connection management service 224 may retrieve data indicating an identification number (ID) associated with the virtual room that the user 210a-210n wants to be associated with from a database 113, such as a room database 232. The connection management service 224 may use the data to connect the user 210a-210n to the virtual room that the user has requested to be connected to. After connecting the user to the different virtual room, the connection management service 224 may store data in a database 113, such as a room database 232, indicating that the particular user has joined the different virtual room and / or at what time the particular user joined the particular virtual room.

[0047] If the user has requested to join a virtual room that the user needs permission to join, the connection management service 224 may retrieve data indicating whether the user has permission to join the particular virtual room from a database 113, such as the room database 232. If the user does have permission, the connection management service 224 may connect the user 210a-210n to the virtual room to which the user has requested to be connected. Conversely, if the user does not have permission, the connection management service 224 may not connect the user 210a-210n to the virtual room to which the user has requested to be connected.

[0048] In an embodiment, all users located in a particular virtual room can communicate with each other asynchronously via the communication service 112. For example, users 210a to 210n can send text messages and / or instant messages to each other, and / or can post comments related to content previously shared by other users. The communication management service 226 facilitates such asynchronous communication between users 210a to 210n. For example, the communication management service 226 can initiate a communication channel between two users via the chat service 222 so that they can participate in asynchronous communication with each other. For example, the communication channel can be initiated in the virtual room where the two users are located. For example, the communication management service 226 can initiate a communication channel between the two users via the chat service 222 in response to receiving a request to start a chat. The chat service 222 can be a device and / or program running on a device of the communication service 112.

[0049] The chat service 222 may be configured to receive input from the user 210. The user input may include text messages and / or instant messages. The participants of the asynchronous communication may include any user 210a to 210n that is allowed to participate in the asynchronous communication in any manner. The chat service 222 may manage the asynchronous communication. For example, the chat service 222 may classify the conversation. The chat service 222 may store the conversation, any association with the conversation, and / or the conversation metadata in a database 113, such as in a chat database 256. When a new asynchronous communication occurs between the users 210a to 210n, the chat service 222 may update the data in the database 113.

[0050] In an embodiment, any or all users located in a particular virtual room can synchronously communicate with each other via the communication service 112. For example, users 210a to 210n can conduct video and / or audio conferences with each other. The communication management service 226 facilitates such synchronous communication between users 210a to 210n. For example, the communication management service 226 can initiate a communication channel between two users via the video / audio conferencing service 253 so that they can participate in synchronous communication with each other. For example, the communication channel can be initiated in the virtual room where the two users are located. For example, the communication management service 226 can initiate a communication channel between the two users via the video / audio conferencing service 253 in response to receiving a request to start the video / audio conference 253. The video / audio conferencing service 253 can be a device and / or program running on a device of the communication service 112.

[0051] The video / audio conferencing service 253 may be configured to receive input from the user 210. The user input may include real-time video and / or audio feeds. The participants in the synchronous communication may include any user 210a to 210n that is allowed to participate in the synchronous communication in any manner. The video / audio conferencing service 253 may manage the synchronous communication. For example, the video / audio conferencing service 253 may classify the conversation. The video / audio conferencing service 253 may store the conversation, any association with the conversation, and / or the conversation metadata in a database 113, such as in a database 236. When a new synchronous communication occurs between the users 210a to 210n, the video / audio conferencing service 253 may update the data in the database 113.

[0052] In an embodiment, users who have joined a specific virtual room may all want to participate in real-time synchronous communication with each other. However, in some cases, only a portion (e.g., a subset) of users who have been connected to a specific virtual room may want to participate in real-time synchronous communication with each other. For example, if three people are in a virtual room, two of the three users may want to communicate with each other in real time without a third user. These two users can do this by participating in a real-time bubble chat. Two users can participate in real-time communication inside the bubble. The bubble may include a communication channel that is inaccessible to a third user who is not in the bubble. However, although only two users are in the bubble, they are still in the same virtual room with the third user. Therefore, all three users can still communicate via a communication channel associated with the virtual room. The communication channel associated with the bubble chat may be a subchannel of a communication channel associated with the virtual room.

[0053] In an embodiment, users 210a to 210n can turn on collaboration mode in a particular virtual room in order to participate in instant real-time communications with other users in the same virtual room. If a user turns on collaboration mode, this can indicate that the user is interested in participating in an instant video and / or audio conference with other users in the virtual room. All users in the virtual room that have collaboration mode enabled can be automatically added to each other's real-time video and / or audio conference. In some embodiments, only a subset of users in a particular virtual room will enable collaboration mode. In such instances, those users who have not yet enabled collaboration mode will not be added to real-time video and / or audio chats with users who have enabled collaboration mode.

[0054] In an embodiment, each time a user 210a to 210n enters a new room, the collaboration mode may be disabled or turned off by default. For example, when a user 210a to 210n is automatically placed in his or her default room when he or she opens the application 240, the collaboration mode for that user may be disabled by default. If the user 210a to 210n wants to enable the collaboration mode in his or her default room, the user 210a to 210n may need to manually toggle the interface element indicating that the collaboration mode should be enabled. Similarly, each time the user 210a to 210n enters a different virtual room, the collaboration mode may be disabled or turned off by default in each new virtual room, regardless of whether the user 210a to 210n enabled the collaboration mode in the previous virtual room. If the user 210a to 210n wants to enable the collaboration mode in a virtual room other than his or her default room, the user 210a to 210n may need to manually toggle the interface element indicating that the collaboration mode should be enabled.

[0055] In an embodiment, if collaboration mode is enabled, such as by users 210a to 210n, the microphone and / or camera of the computing device may be automatically muted / turned off. If the microphone is muted, other users who are also in collaboration mode in the same virtual room may not be able to hear the user speaking to them. However, the user may still be able to hear other users who are in collaboration mode and have their microphones unmuted. Likewise, if the camera is turned off, other users who are also in collaboration mode in the same virtual room may not be able to see the user. However, the user may still be able to see other users who are in collaboration mode and have their cameras turned on.

[0056] In an embodiment, user 210a-210n can manually toggle an interface element to unmute his or her microphone and / or turn on his or her camera. If the user manually toggles an interface element to unmute his or her microphone, other users in the same virtual room who are also in collaboration mode may be able to hear the user speaking to them. If the user manually toggles an interface element to turn on his or her camera, other users in the same virtual room who are also in collaboration mode may also be able to see the user. The user can unmute his or her microphone and / or turn off the camera at any time.

[0057] Figure 8 An exemplary UI 800 of an application (e.g., application 240) depicting multiple representations of virtual rooms 808a-808e provided by a communication service (e.g., communication service 112) is shown. For example, UI 800 can be displayed on a user device belonging to a user 210a-210n associated with user information 802. User information 802 indicates one or more of the user's name, status / availability, and image (e.g., icon, avatar).

[0058] In an embodiment, representations of virtual rooms 808a to 808e are displayed on UI 800. For example, virtual rooms can each be represented by a specific card. The representations of virtual rooms 808a to 808e can each correspond to a single workspace. For example, the virtual rooms corresponding to representations 808a to 808e can all belong to workspace 804. A user can select any one of the representations of virtual rooms 808a to 808e to join or become associated with the corresponding virtual room. For example, a user can see that one of the representations of virtual rooms 808a to 808e corresponds to a virtual room with a name that the user is interested in, and / or a user can see that a person of interest is in one of the virtual rooms via the representations of virtual rooms 808a to 808e. A user can select the representation 808a to 808e, for example, by clicking on the representation. For example, a user can select representation 808a to enter the virtual room corresponding to representation 808a. The virtual room corresponding to representation 808a may be of interest to the user for a variety of reasons. For example, the virtual room may be associated with a topic that the user is interested in, or other users that the user is interested in may already be in the virtual room. If the user selects representation 808a, the user may join or become associated with the virtual room corresponding to representation 808a.

[0059] As described above, in some embodiments, users 210a to 210n do not need permission to join any of the virtual rooms. On the contrary, users 210a to 210n can freely join and leave virtual rooms. In some embodiments, the virtual rooms corresponding to representations 808a to 808e can be all public virtual rooms, which means that users 210a to 210n do not need permission to join any of the virtual rooms corresponding to representations 808a to 808e. However, it should be understood that in other embodiments, one or more of the virtual rooms can be private virtual rooms. A private virtual room can be a virtual room with restrictions on which users can view and / or join the virtual room. For example, a private virtual room can be limited to users who are participating in a specific meeting. A public virtual room can be changed to a private virtual room, and vice versa.

[0060] In an embodiment, each of the users 210a to 210n of the communication service may be associated with an avatar (e.g., an icon, a personal image, etc.). When a user opens an application associated with the communication service, the avatar of the user may appear in the virtual room where the user is located. For example, the virtual room corresponding to representation 808a may be the default virtual room of the user corresponding to user information 802. Therefore, when the user corresponding to user information 802 opens the application for the first time, the avatar 807 of the user corresponding to user information 802 may be automatically placed in representation 808a. If the user corresponding to user information 802 later switches virtual rooms, the avatar 807 may disappear from representation 808a and may instead be located in different representations 808b to 808e corresponding to the user's current virtual room. Similarly, the avatars of other users who are currently using the application may be located in representations corresponding to appropriate virtual rooms. Figure 8 As shown in the example in , when the user corresponding to the user information 802 enters the virtual room for the first time (default or otherwise), the user can automatically disable the collaboration mode. For example, the interface element 810 is in the first (e.g., unswitched) position, indicating that the collaboration mode is disabled.

[0061] As described above, if the user 210a - 210n wants to enable the collaborative mode, the user 210a - 210n may need to manually toggle the interface element 810 indicating that the collaborative mode should be enabled. Fig. 9 An exemplary UI 900 of an application depicting interface element 810 in a second (e.g., switched) position is shown. To switch interface element 810, a user may simply click or select interface element 810, such as with a mouse, keyboard, stylus, or finger. If interface element 810 is switched, a visual element may be added to the user's avatar 807. The visual element may be visible to other users of the communication service. For example, in Fig. 9 In the example of , a ring has been added around avatar 807. However, it should be understood that in other embodiments, the visual element can be a shape other than a ring. The visual element can have a predetermined shape and / or a predetermined color. Adding a visual element to the user's avatar 807 can indicate to other users that the user corresponding to user information 802 is available for real-time communication with other users, such as instant audio or video conferencing. In response to switching interface element 810, the user can click or select interface element 810 again to return interface element 810 to its first, unswitched position.

[0062] If the collaboration mode is enabled, such as enabled by the user corresponding to the user information 802, the microphone and / or camera of the computing device may be automatically muted / turned off. The UI 900 of the application depicts an interface element 913 in a first (e.g., unswitched) position, which indicates that the user's microphone is muted and / or the camera is turned off. If the microphone is muted, other users who are also in the collaboration mode in the virtual room corresponding to the representation 808a may not be able to hear the user corresponding to the user information 802 speaking to them. However, the user corresponding to the user information 802 may still be able to hear the voices of other users whose microphones are unmuted in the collaboration mode. Similarly, if the camera is turned off, other users who are also in the collaboration mode in the virtual room corresponding to the representation 808a may not be able to view the user corresponding to the user information 802. However, the user corresponding to the user information 802 may still be able to see other users who have their cameras turned on in the collaboration mode.

[0063] As described above, if the user corresponding to the user information 802 wants to enable the collaboration mode, the users 210a to 210n may need to manually toggle the interface element 913 indicating that the microphone should be unmuted and / or the camera should be turned on. Fig.10 An exemplary UI 1000 of an application depicting an interface element 913 in a second (e.g., switched) position is shown. To switch interface element 913, a user may simply click or select interface element 913, such as with a mouse, keyboard, stylus, or finger. If interface element 913 is switched, visual element 913 may change, such as from muting a microphone to unmuting a microphone. If a user corresponding to user information 802 manually switches interface element 913 to unmute his or her microphone, other users who are also in collaboration mode in the same virtual room may be able to hear the user corresponding to user information 802 speaking to them. If a user corresponding to user information 802 manually switches interface element 913 to turn on his or her camera, other users who are also in collaboration mode in the same virtual room may also be able to see the user corresponding to user information 802. The user corresponding to user information 802 may re-mute his or her microphone and / or re-turn off the camera at any time, such as by re-switching interface element 913.

[0064] As described above, existing Internet-based communication tools do not adequately replace face-to-face communication and collaboration. For example, when two or more people are in the same physical building or room, they can frequently engage in instant (e.g., spontaneously, unplanned, etc.) conversations. In the workplace, such instant, real-time communication can promote collaboration, productivity, efficiency, and a sense of community among colleagues. By allowing users to turn on and off collaboration mode within a virtual room, the communication service 112 described herein more closely simulates face-to-face communication, and thus provides the benefits of face-to-face communication and collaboration.

[0065] Return to reference Figure 2 In an embodiment, a user may want to participate in a real-time bubble chat before or after enabling a collaboration mode in a particular virtual room. If the user wants to participate in a real-time bubble chat (e.g., wants to communicate in a sub-channel of a communication channel associated with the virtual room), the user may enter the real-time bubble chat. If the user has collaboration mode enabled when the user enters the real-time bubble chat, the collaboration mode for the user may be automatically disabled or turned off. If the user does not have collaboration mode enabled when entering the real-time bubble chat, the collaboration mode state of the user may not be changed (i.e., the writing mode will remain disabled).

[0066] Fig.11 An exemplary UI 1100 of an application depicting a user entering a bubble chat in a virtual room is shown. The virtual room corresponding to representation 808a includes three bubble chats 1102a to 1102c. However, in other embodiments, it should be understood that fewer than three or more than three bubble chats may occur in a single virtual room. A user, such as the user corresponding to user information 802, may want to enter a private bubble chat. For example, the user corresponding to user information 802 may want to participate in real-time synchronous communications with a subset of users in the virtual room.

[0067] In an embodiment, in order to enter a bubble chat in a virtual room, a user may hover a mouse over a representation corresponding to the virtual room. For example, a user corresponding to user information 802 may hover a mouse over representation 808a to join one of bubble chats 1102a to 1102c. The user may select an "enter" or "join" button next to the bubble chat that the user wants to join. For example, in order to join bubble chat 1102c, the user may select a "join" button next to bubble chat 1102c. In an embodiment, if the user corresponding to user information 802 has enabled collaboration mode when the user enters bubble chat 1102c, the collaboration mode may be automatically disabled or turned off when the user enters bubble chat 1102c. If the user does not enable collaboration mode when the user enters bubble chat 1102c, the collaboration mode state of the user may not be changed (i.e., collaboration mode will remain disabled).

[0068] The bubble chat 1102c may include a communication channel that is not accessible to users not in the same virtual room in the bubble chat 1102c. The communication channel associated with the bubble chat 1102c may be a sub-channel of a channel associated with the virtual room. Fig.12 An exemplary UI 1200 of an application depicting a bubble chat such as bubble chat 1102c is shown. Each user appearing in the bubble chat can be represented by icons 1202a to 1202d. For example, the user corresponding to user information 802 can correspond to icon 1202a. Each user in the bubble chat can mute or unmute his or her microphone. Those users whose microphones are unmuted can be able to speak and be heard by other users in the bubble chat in real time. Similarly, each user in the bubble chat can turn his or her camera on or off. Those users who turn on their cameras can be seen in real time by other users in the bubble chat. For example, icons 1202a to 1202d of those users who have turned on their cameras can display the real-time video feed of the corresponding user. Icons 1202a to 1202d of those users who have not turned on their cameras can display the image of the corresponding user. In order to exit the bubble chat, the user can select button 1213.

[0069] Return to reference Figure 2 In some embodiments, a virtual room is not merely a mechanism for facilitating real-time communications such as video conferencing, but rather can act as a repository for information and communications related to a particular topic and provide a history of how ideas developed. For example, a virtual room can store the entire history of all forms of communication that occurred in the virtual room, including text messages, videos, documents, uniform resource locator exchanges, and the like.

[0070] In an embodiment, the user management service 225 may store data indicating bubble chats in the database 113. For example, the user management service 225 may store data indicating currently ongoing and / or previous real-time bubble chats in the bubble chat database 237. The data may indicate the users participating in each bubble chat, the duration of each bubble chat, the virtual room in which each bubble chat occurred, and / or any other relevant data related to the bubble chats. If / when a new real-time bubble chat is created, the user management service 225 may update / modify such data.

[0071] In an embodiment, the user management service 225 may store data indicating the collaborative mode state of each user 210a to 210n in the database 113. For example, the user management service 225 may store data indicating the collaborative mode state of each user 210a to 210n in the database 234. The user management service 225 may update / modify such data if / when a user changes his or her collaborative mode state. Additionally, or alternatively, the user management service 225 may update / modify such data if / when the user management service 225 automatically updates the collaborative mode state of a user, such as when a user enters a bubble chat and the collaborative mode is automatically disabled. Similarly, the user management service 225 may store data indicating a time period associated with the collaborative mode state of each user 210a to 210n in the user state database 234.

[0072] In an embodiment, the user management service 225 may store data indicating the location of the users (e.g., which virtual room each user 210a to 210n is currently in and / or which virtual room each user 210a to 210n was previously in) in the database 113. For example, the user management service 225 may store data indicating the location of each user 210a to 210n in a user location database 252. The user management service 225 may update / modify the user location database 252 when the location of the user changes (e.g., the user leaves a virtual room such as a default virtual room, and / or joins a different virtual room, etc.).

[0073] In an embodiment, a user may be able to participate in non-real-time communications (but not real-time communications) within a virtual room without entering the virtual room. For example, when a user is in a first virtual room, the user may be able to view an asynchronous text chat located in a different virtual room. In some embodiments, a user may be able to send messages in an asynchronous text chat located in a different virtual room without entering the different virtual room. However, if the user wants to participate in real-time communications, such as bubble chats or instant audio or video conferences in different virtual rooms, the user may need to enter a different virtual room.

[0074] Fig.13An exemplary UI 1300 of an application is shown, which depicts a user located in a first virtual room participating in an asynchronous text chat associated with different virtual rooms. For example, a user may be located in a virtual room corresponding to representation 808a. An image 807 of the user may be located in representation 808a. For various reasons, a user corresponding to user information 802 may want to participate in an asynchronous text chat 1302 occurring in a different virtual room, such as a virtual room corresponding to representation 808b. In order to view the asynchronous text chat 1302 occurring in the virtual room corresponding to representation 808b, the user may click on representation 808b without entering the virtual room corresponding to representation 808b. In some embodiments, in addition to being able to view the asynchronous text chat 1302, the user may also be able to send a new message to the asynchronous text chat 1302 without entering the virtual room corresponding to representation 808b.

[0075] Return to reference Figure 2 As described above, in some instances, the user's default virtual room can be selected by the users 210a to 210n themselves. For example, the user 210a can select the virtual room in which he or she spends most of her time as the user's default virtual room. As another example, the user 210b can select the virtual room associated with the topic that the user is most interested in as the user's default room. Fig.14 An exemplary UI 1400 is shown in which a user selects his or her own default virtual room. The UI 1400 shows a user selecting his or her own default virtual room during an onboarding process associated with the application 240. For example, before the user actually begins using the application 240 to communicate with others, the user may select his or her own default virtual room. Fig.15 Another exemplary UI 1500 is shown in which a user selects his or her own default virtual room. UI 1500 shows a user selecting his or her own default virtual room from a settings screen associated with application 240. For example, after the user has begun communicating with others using application 240, the user may select or change his or her own default virtual room.

[0076] It should be understood that Figure 2 The communication service 112 in the embodiment is merely illustrative, and other specific implementations may be utilized. It should also be understood that the functions disclosed herein may be implemented by one or more servers or computing devices. In addition, it should be understood that the functions disclosed herein may be implemented by software, hardware, or a combination of software and hardware.

[0077] Figure 3An exemplary process 300 that may be performed by a communication service (e.g., communication service 112) for facilitating communication according to the present disclosure is shown. For example, process 300 may be used to facilitate collaboration in a work environment. Figure 3 Although depicted as a sequence of operations, one of ordinary skill in the art will understand that various embodiments may add, remove, reorder, or modify the operations depicted.

[0078] As described above, in response to an application associated with a communication service (e.g., Figure 2 240) starts running on a computing device associated with the user, the user of the communication service can be automatically placed in a default virtual room. In some cases, the default virtual room can be selected by the user. For example, a user can select the virtual room in which he or she spends most of his or her time as the user's default virtual room. As another example, the user can select the virtual room associated with the topic that the user is most interested in as the user's default room. In some instances, the default virtual room for a particular user can be selected by the communication service. For example, the communication service can automatically select a virtual room for a particular user based on the behavior or preferences of the particular user, such as which virtual rooms the user visits, how long the user visits those rooms, and the items or topics that the user is interested in. In some embodiments, the default virtual room for a particular user can be selected by the user's peers, such as the user's boss or superior.

[0079] In one or more embodiments, a user of a communication service may open an application associated with the communication service and may be automatically placed in a default virtual room (e.g., a first virtual room) for the user. At 302, in response to the application starting to run on a computing device associated with the user, an avatar of the user may be automatically displayed in a representation corresponding to the first virtual room. The display of the avatar in the representation may indicate that the user is in the first virtual room. For example, as described above with respect to Figure 8 As described, the user corresponding to the user information 802 can be associated with the avatar 807. In response to the application starting to run on the computing device associated with the user, the avatar 807 can be displayed in the default virtual room of the user corresponding to the user information 802.

[0080] The user can turn on the collaboration mode in the first virtual room to participate in instant real-time communications with other users in the first virtual room. At 304, the collaboration mode can be entered based on user input from the user. If the user turns on the collaboration mode, this can indicate that the user is interested in participating in an instant video and / or audio conference with other users in the virtual room. All users in the virtual room that have enabled the collaboration mode can be automatically added to each other's real-time video and / or audio conference. In some embodiments, only a subset of users in a specific virtual room will enable the collaboration mode. In such instances, those users who have not yet enabled the collaboration mode will not be added to the real-time video and / or audio chat with the users who have enabled the collaboration mode.

[0081] If the user enters the collaborative mode, a visual element may be automatically added to the user's avatar. At 306, the visual element may be added to the avatar in response to entering the collaborative mode. The visual element added to the avatar may indicate that the user is available for real-time communications with other users of the plurality of users. The visual element may be visible to other users of the communication service. The visual element may have a predetermined shape and / or a predetermined color. Adding the visual element to the user's avatar may indicate to other users that the user is available for real-time communications with other users, such as instant audio or video conferencing.

[0082] Figure 4 An exemplary process 400 that may be performed by a communication service (e.g., communication service 112) for facilitating communication according to the present disclosure is shown. For example, process 400 may be used to facilitate collaboration in a work environment. Figure 4 Although depicted as a sequence of operations, one of ordinary skill in the art will understand that various embodiments may add, remove, reorder, or modify the operations depicted.

[0083] As described above, in response to an application associated with a communication service (e.g., Figure 2 240) starts running on a computing device associated with the user, the user of the communication service can be automatically placed in a default virtual room. In some cases, the default virtual room can be selected by the user. For example, a user can select the virtual room in which he or she spends most of his or her time as the user's default virtual room. As another example, the user can select the virtual room associated with the topic that the user is most interested in as the user's default room. In some instances, the default virtual room for a particular user can be selected by the communication service. For example, the communication service can automatically select a virtual room for a particular user based on the behavior or preferences of the particular user, such as which virtual rooms the user visits, how long the user visits those rooms, and the items or topics that the user is interested in. In some embodiments, the default virtual room for a particular user can be selected by the user's peers, such as the user's boss or superior.

[0084] In one or more embodiments, a user of a communication service may open an application associated with the communication service and may be automatically placed in a default virtual room (e.g., a first virtual room) for the user. At 402, in response to the application starting to run on a computing device associated with the user, an avatar of the user may be automatically displayed in a representation corresponding to the first virtual room. The display of the avatar in the representation may indicate that the user is in the first virtual room. For example, as described above with respect to Figure 8 As described, the user corresponding to the user information 802 can be associated with the avatar 807. In response to the application starting to run on the computing device associated with the user, the avatar 807 can be displayed in the default virtual room of the user corresponding to the user information 802.

[0085] The user can turn on the collaboration mode in the first virtual room to participate in instant real-time communication with other users in the first virtual room. At 404, the collaboration mode can be entered via an interface element based on a user input from the user. If the user turns on the collaboration mode, this can indicate that the user is interested in participating in an instant video and / or audio conference with other users in the virtual room. All users in the virtual room that have enabled the collaboration mode can be automatically added to each other's real-time video and / or audio conference. In some embodiments, only a subset of users in a specific virtual room will enable the collaboration mode. In such instances, those users who have not yet enabled the collaboration mode will not be added to the real-time video and / or audio chat with the users who have enabled the collaboration mode.

[0086] In an embodiment, whenever the user enters the first virtual room, the collaboration mode may be disabled or turned off by default. If the user wants to enable the collaboration mode in the first virtual room, the user may need to manually switch the interface element indicating that the collaboration mode should be enabled. For example, the user may switch the interface element described above regarding Figures 8 to 9 Interface element 810 is depicted to enter collaboration mode.

[0087] If the user toggles an interface element indicating that the collaborative mode should be enabled, a visual element may be automatically added to the user's avatar. At 406, the visual element may be added to the avatar in response to entering the collaborative mode. The visual element added to the avatar may indicate that the user is available for real-time communications with other users of the plurality of users. The visual element may be visible to other users of the communication service. The visual element may have a predetermined shape and / or a predetermined color. Adding the visual element to the user's avatar may indicate to other users that the user is available for real-time communications with other users, such as instant audio or video conferencing.

[0088] If the user has entered collaboration mode, this may indicate that the user is interested in participating in an instant video and / or audio conference with other users in the first virtual room. All users in the first virtual room that have collaboration mode enabled may be automatically added to each other's real-time video and / or audio conference. At 408, real-time communication may be initiated with any other user of the plurality of users, the image of which indicates that the other user is available for real-time communication. In some embodiments, only a subset of users in the first virtual room may enable collaboration mode. In such instances, those users that have not yet enabled collaboration mode will not be added to real-time video and / or audio chats with users that have enabled collaboration mode.

[0089] Figure 5 An exemplary process 500 that may be performed by a communication service (e.g., communication service 112) for facilitating communication according to the present disclosure is shown. For example, process 500 may be used to facilitate collaboration in a work environment. Figure 5 Although depicted as a sequence of operations, one of ordinary skill in the art will understand that various embodiments may add, remove, reorder, or modify the operations depicted.

[0090] As described above, in response to an application associated with a communication service (e.g., Figure 2 240) starts running on a computing device associated with the user, the user of the communication service can be automatically placed in a default virtual room. In some cases, the default virtual room can be selected by the user. For example, a user can select the virtual room in which he or she spends most of his or her time as the user's default virtual room. As another example, the user can select the virtual room associated with the topic that the user is most interested in as the user's default room. In some instances, the default virtual room for a particular user can be selected by the communication service. For example, the communication service can automatically select a virtual room for a particular user based on the behavior or preferences of the particular user, such as which virtual rooms the user visits, how long the user visits those rooms, and the items or topics that the user is interested in. In some embodiments, the default virtual room for a particular user can be selected by the user's peers, such as the user's boss or superior.

[0091] In one or more embodiments, a user of a communication service may open an application associated with the communication service and may be automatically placed in a default virtual room (e.g., a first virtual room) for the user. At 502, in response to the application starting to run on a computing device associated with the user, an avatar of the user may be automatically displayed in a representation corresponding to the first virtual room. The display of the avatar in the representation may indicate that the user is in the first virtual room. For example, as described above with respect to Figure 8As described, the user corresponding to the user information 802 can be associated with the avatar 807. In response to the application starting to run on the computing device associated with the user, the avatar 807 can be displayed in the default virtual room of the user corresponding to the user information 802.

[0092] The user can turn on the collaboration mode in the first virtual room to participate in instant real-time communication with other users in the first virtual room. At 504, the collaboration mode can be entered via an interface element based on a user input from the user. If the user turns on the collaboration mode, this can indicate that the user is interested in participating in an instant video and / or audio conference with other users in the virtual room. All users in the virtual room that have enabled the collaboration mode can be automatically added to each other's real-time video and / or audio conference. In some embodiments, only a subset of users in a specific virtual room will enable the collaboration mode. In such instances, those users who have not yet enabled the collaboration mode will not be added to the real-time video and / or audio chat with the users who have enabled the collaboration mode.

[0093] In an embodiment, whenever the user enters the first virtual room, the collaboration mode may be disabled or turned off by default. If the user wants to enable the collaboration mode in the first virtual room, the user may need to manually switch the interface element indicating that the collaboration mode should be enabled. For example, the user may switch the interface element described above regarding Figures 8 to 9 Interface element 810 is depicted to enter collaboration mode.

[0094] If the user toggles an interface element indicating that the collaborative mode should be enabled, a visual element may be automatically added to the user's avatar. At 506, the visual element may be added to the avatar in response to entering the collaborative mode. The visual element added to the avatar may indicate that the user is available for real-time communications with other users of the plurality of users. The visual element may be visible to other users of the communication service. The visual element may have a predetermined shape and / or a predetermined color. Adding the visual element to the user's avatar may indicate to other users that the user is available for real-time communications with other users, such as instant audio or video conferencing.

[0095] If the user has entered the collaboration mode, this may indicate that the user is interested in participating in an instant video and / or audio conference with other users in the first virtual room. All users in the first virtual room that have enabled the collaboration mode may be automatically added to each other's real-time video and / or audio conference. At 508, a real-time communication may be initiated with any other user of the plurality of users whose image is also in the first virtual room and whose image indicates that the other user is available for real-time communication. In some embodiments, only a subset of the users in the first virtual room will enable the collaboration mode. In such instances, those users that have not yet enabled the collaboration mode will not be added to the real-time video and / or audio chat with the users that have enabled the collaboration mode.

[0096] Figure 6 An exemplary process 600 that may be performed by a communication service (e.g., communication service 112) for facilitating communication according to the present disclosure is shown. For example, process 600 may be used to facilitate collaboration in a work environment. Figure 6 Although depicted as a sequence of operations, one of ordinary skill in the art will understand that various embodiments may add, remove, reorder, or modify the operations depicted.

[0097] As described above, in response to an application associated with a communication service (e.g., Figure 2 240) starts running on a computing device associated with the user, the user of the communication service can be automatically placed in a default virtual room. In some cases, the default virtual room can be selected by the user. For example, a user can select the virtual room in which he or she spends most of his or her time as the user's default virtual room. As another example, the user can select the virtual room associated with the topic that the user is most interested in as the user's default room. In some instances, the default virtual room for a particular user can be selected by the communication service. For example, the communication service can automatically select a virtual room for a particular user based on the behavior or preferences of the particular user, such as which virtual rooms the user visits, how long the user visits those rooms, and the items or topics that the user is interested in. In some embodiments, the default virtual room for a particular user can be selected by the user's peers, such as the user's boss or superior.

[0098] In one or more embodiments, a user of a communication service may open an application associated with the communication service and may be automatically placed in a default virtual room (e.g., a first virtual room) for the user. At 602, in response to the application starting to run on a computing device associated with the user, an avatar of the user may be automatically displayed in a representation corresponding to the first virtual room. The display of the avatar in the representation may indicate that the user is in the first virtual room. For example, as described above with respect to Figure 8As described, the user corresponding to the user information 802 can be associated with the avatar 807. In response to the application starting to run on the computing device associated with the user, the avatar 807 can be displayed in the default virtual room of the user corresponding to the user information 802.

[0099] The user can turn on the collaboration mode in the first virtual room to participate in instant real-time communications with other users in the first virtual room. At 604, the collaboration mode can be entered via an interface element based on a user input from the user. If the user turns on the collaboration mode, this can indicate that the user is interested in participating in an instant video and / or audio conference with other users in the virtual room. All users in the virtual room that have enabled the collaboration mode can be automatically added to each other's real-time video and / or audio conference. In some embodiments, only a subset of users in a specific virtual room will enable the collaboration mode. In such instances, those users who have not yet enabled the collaboration mode will not be added to the real-time video and / or audio chat with the users who have enabled the collaboration mode.

[0100] In an embodiment, whenever the user enters the first virtual room, the collaboration mode may be disabled or turned off by default. If the user wants to enable the collaboration mode in the first virtual room, the user may need to manually switch the interface element indicating that the collaboration mode should be enabled. For example, the user may switch the interface element described above regarding Figures 8 to 9 Interface element 810 is depicted to enter collaboration mode.

[0101] If the user toggles an interface element indicating that the collaborative mode should be enabled, a visual element may be automatically added to the user's avatar. At 606, a visual element may be added to the avatar in response to entering the collaborative mode. The visual element added to the avatar may indicate that the user is available for real-time communications with other users of the plurality of users. The visual element may be visible to other users of the communication service. The visual element may have a predetermined shape and / or a predetermined color. Adding the visual element to the user's avatar may indicate to other users that the user is available for real-time communications with other users, such as instant audio or video conferencing.

[0102] After opening the application and being placed in a first virtual room, the user may want to enter a different virtual room. For example, the user may want to communicate with other users in a virtual room different from the first virtual room. As another example, the user may want to communicate about a topic or item associated with a virtual room different from the first virtual room.

[0103] If the user wants to be in a different virtual room, the user can join (e.g., enter) the different virtual room, such as by selecting a selectable interface element corresponding to the second virtual room. At 608, it can be detected that the user has entered the second virtual room where any other users are located. If the user joins the second virtual room, the user may no longer be in the first virtual room. At 610, in response to detecting that the user has entered the second virtual room by selecting the selectable interface element, the user's avatar can be automatically displayed in a representation corresponding to the second virtual room. The display of the avatar in the representation can, for example, indicate to other users that the user is in the second virtual room. The user's avatar may no longer be displayed in the representation corresponding to the first virtual room.

[0104] If the user enters collaboration mode in the second virtual room, this may indicate that the user is interested in participating in an instant video and / or audio conference with other users in the second virtual room. All users in the second virtual room that have collaboration mode enabled may be automatically added to each other's real-time video and / or audio conference. At 612, real-time communication with another user may be initiated in response to detecting that the user has entered the second virtual room and detecting that an interface element is enabled (e.g., collaboration mode is enabled). In some embodiments, only a subset of users located in the second virtual room will enable collaboration mode. In such instances, those users that have not yet enabled collaboration mode will not be added to a real-time video and / or audio chat with users that have enabled collaboration mode.

[0105] Figure 7 An exemplary process 700 that may be performed by a communication service (e.g., communication service 112) for facilitating communication according to the present disclosure is shown. For example, process 700 may be used to facilitate collaboration in a work environment. Figure 7 Although depicted as a sequence of operations, one of ordinary skill in the art will understand that various embodiments may add, remove, reorder, or modify the operations depicted.

[0106] As described above, in response to an application associated with a communication service (e.g., Figure 2240) starts running on a computing device associated with the user, the user of the communication service can be automatically placed in a default virtual room. In some cases, the default virtual room can be selected by the user. For example, a user can select the virtual room in which he or she spends most of his or her time as the user's default virtual room. As another example, the user can select the virtual room associated with the topic that the user is most interested in as the user's default room. In some instances, the default virtual room for a particular user can be selected by the communication service. For example, the communication service can automatically select a virtual room for a particular user based on the behavior or preferences of the particular user, such as which virtual rooms the user visits, how long the user visits those rooms, and the items or topics that the user is interested in. In some embodiments, the default virtual room for a particular user can be selected by the user's peers, such as the user's boss or superior.

[0107] In one or more embodiments, a user of a communication service may open an application associated with the communication service and may be automatically placed in a default virtual room (e.g., a first virtual room) for the user. At 702, in response to the application starting to run on a computing device associated with the user, an avatar of the user may be automatically displayed in a representation corresponding to the first virtual room. The display of the avatar in the representation may indicate that the user is in the first virtual room. For example, as described above with respect to Figure 8 As described, the user corresponding to the user information 802 can be associated with the avatar 807. In response to the application starting to run on the computing device associated with the user, the avatar 807 can be displayed in the default virtual room of the user corresponding to the user information 802.

[0108] The user can turn on the collaboration mode in the first virtual room to participate in instant real-time communications with other users in the first virtual room. At 704, the collaboration mode can be entered based on user input from the user. If the user turns on the collaboration mode, this can indicate that the user is interested in participating in an instant video and / or audio conference with other users in the virtual room. All users in the virtual room that have enabled the collaboration mode can be automatically added to each other's real-time video and / or audio conference. In some embodiments, only a subset of users in a specific virtual room will enable the collaboration mode. In such instances, those users who have not yet enabled the collaboration mode will not be added to the real-time video and / or audio chat with the users who have enabled the collaboration mode.

[0109] If the user enters the collaborative mode, a visual element may be automatically added to the user's avatar. At 706, the visual element may be added to the avatar in response to entering the collaborative mode. The visual element added to the avatar may indicate that the user is available for real-time communications with other users of the plurality of users. The visual element may be visible to other users of the communication service. The visual element may have a predetermined shape and / or a predetermined color. Adding the visual element to the user's avatar may indicate to other users that the user is available for real-time communications, such as instant audio or video conferencing, with other users in the first virtual room.

[0110] For various reasons, a user may want to participate in real-time synchronous communication with only a portion (e.g., a subset) of other users in the first virtual room. For example, if three other people are in the first virtual room, the user may want to communicate in real time with only one or two other users in the virtual room. To this end, the first user may request to establish a private bubble chat with those other users with whom the user wants to communicate. At 708, a request from the user to communicate with a subset of users in the first virtual room may be received. A real-time bubble chat may be established in response to the request. At 710, a sub-communication channel may be established between the user in the first virtual room and the subset of users while exiting the collaborative mode. For example, a communication channel associated with the bubble chat may be a sub-channel of a channel associated with the virtual room. Two users may participate in real-time communication inside the bubble chat. Those users in the first virtual room but not in the bubble chat may not have access to the sub-channel.

[0111] Fig.13 A computing device that can be used in various aspects such as Figure 1 The services, networks, modules and / or devices described in. Figure 1 In the exemplary architecture, the cloud network 102, the user devices 104a to 104d (collectively referred to as user devices 104), the communication service 112, the database 113 and / or the network 120 can each be Fig.13 Similarly, regarding Figure 2 226, management service 223 (and any components thereof), chat service 222, and / or video conferencing service 253 may each be Fig.13 The system may be implemented by one or more instances of computing device 1300.

[0112] Fig.13 The computer architecture shown illustrates a conventional server computer, workstation, desktop computer, laptop computer, tablet computer, network appliance, PDA, e-reader, digital cellular telephone or other computing node and can be used to perform any aspects of the computer described herein, such as to implement the methods described herein.

[0113] The computing device 1300 may include a baseboard or "motherboard," which is a printed circuit board to which a number of components or devices may be connected via a system bus or other electrical communication paths. One or more central processing units (CPUs) 1304 may operate in conjunction with a chipset 1306. The CPU 1304 may be a standard programmable processor that performs the arithmetic and logic operations required for the operation of the computing device 1300.

[0114] The CPU 1304 can perform necessary operations by switching from one discrete physical state to the next by manipulating switch elements that distinguish and change these states. Switch elements can typically include electronic circuits that maintain one of two binary states (such as flip-flops), and electronic circuits that provide output states based on logical combinations of the states of one or more other switch elements (such as logic gates). These basic switch elements can be combined to create more complex logic circuits, including registers, adders, subtractors, arithmetic logic units, floating point units, etc.

[0115] CPU 1304 may be enhanced or replaced with other processing units, such as GPU 1305. GPU 1305 may include a processing unit specialized for, but not necessarily limited to, highly parallel computations, such as graphics and other visualization-related processing.

[0116] Chipset 1306 may provide an interface between CPU 1304 and the rest of the components and devices on the baseboard. Chipset 1306 may provide an interface to random access memory (RAM) 1308 used as main memory in computing device 1300. Chipset 1306 may also provide an interface to a computer-readable storage medium such as read-only memory (ROM) 1320 or non-volatile RAM (NVRAM) (not shown) for storing basic routines that may help boot computing device 1300 and transfer information between various components and devices. ROM 1320 or NVRAM may also store other software components required for operation of computing device 1300 according to aspects described herein.

[0117] The computing device 1300 may operate in a network environment using logical connections to remote computing nodes and computer systems through a local area network (LAN). Chipset 1306 may include functionality for providing network connectivity through a network interface controller (NIC) 1322, such as a Gigabit Ethernet adapter. NIC 1322 may be capable of connecting computing device 1300 to other computing nodes through network 1316. It should be understood that multiple NICs 1322 may be present in computing device 1300 to connect the computing device to other types of networks and remote computer systems.

[0118] The computing device 1300 may be connected to a mass storage device 1328 that provides non-volatile storage for the computer. The mass storage device 1328 may store system programs, application programs, other program modules, and data that have been described in detail herein. The mass storage device 1328 may be connected to the computing device 1300 via a storage controller 1324 connected to the chipset 1306. The mass storage device 1328 may be composed of one or more physical storage units. The mass storage device 1328 may include a management component 1310. The storage controller 1324 may interface with the physical storage unit via a serial attached SCSI (SAS) interface, a serial advanced technology connection (SATA) interface, a fiber channel (FC) interface, or other types of interfaces for physically connecting and transmitting data between a computer and a physical storage unit.

[0119] The computing device 1300 can store data on the mass storage device 1328 by transforming the physical state of the physical storage unit to reflect the stored information. The specific transformation of the physical state may depend on various factors and different implementations of the specification. Examples of these factors may include, but are not limited to, the technology used to implement the physical storage unit and whether the mass storage device 1328 is characterized as primary storage or secondary storage, etc.

[0120] For example, computing device 1300 may store information to mass storage device 1328 by issuing instructions through storage controller 1324 to change the magnetic properties of a specific location within a disk drive unit, the reflective or refractive properties of a specific location in an optical storage unit, or the electrical properties of a specific capacitor, transistor, or other discrete component in a solid-state storage unit. Other transformations of the physical medium are possible without departing from the scope and spirit of the present specification, and the above examples are provided only for the convenience of the present specification. Computing device 1300 may also read information from mass storage device 1328 by detecting the physical state or properties of one or more specific locations within the physical storage unit.

[0121] In addition to the mass storage device 1328 described above, the computing device 1300 may also access other computer-readable storage media to store and retrieve information, such as program modules, data structures, or other data. It should be understood by those skilled in the art that computer-readable storage media may be any available media that provides storage of non-transitory data and can be accessed by the computing device 1300.

[0122] By way of example and not limitation, computer-readable storage media may include volatile and nonvolatile, transient computer-readable storage media and non-transient computer-readable storage media, and removable and non-removable media implemented in any method or technology. Computer-readable storage media include, but are not limited to, RAM, ROM, erasable programmable ROM ("EPROM"), electrically erasable programmable ROM ("EEPROM"), flash memory or other solid-state storage technology, compact disk ROM ("CD-ROM"), digital versatile disk ("DVD"), high-definition DVD ("HD-DVD"), BLU-RAY or other optical storage, cassettes, magnetic tape, disk storage, other magnetic storage devices, or any other medium that can be used to store the desired information in a non-transitory manner.

[0123] Mass storage devices such as Fig.13 The mass storage device 1328 depicted in the figure can store an operating system for controlling the operation of the computing device 1300. The operating system may include a version of the LINUX operating system. The operating system may include a version of the WINDOWS SERVER operating system from MICROSOFT. According to a further aspect, the operating system may include a version of the UNIX operating system. Various mobile phone operating systems, such as IOS and ANDROID, may also be used. It should be understood that other operating systems may also be used. The mass storage device 1328 may store other systems or applications and data used by the computing device 1300.

[0124] The mass storage device 1328 or other computer-readable storage medium may also be encoded with computer-executable instructions that, when loaded into the computing device 1300, transform the computing device from a general-purpose computing system into a special-purpose computer capable of implementing the aspects described herein. As described above, these computer-executable instructions transform the computing device 1300 by specifying how the CPU 1304 switches between states. The computing device 1300 may access a computer-readable storage medium storing computer-executable instructions that, when executed by the computing device 1300, may perform the methods described herein.

[0125] Computing devices such as Fig.13 The computing device 1300 depicted in FIG. 1300 may also include an input / output controller 1332 for receiving and processing input from a plurality of input devices, such as a keyboard, a mouse, a touch pad, a touch screen, an electronic stylus, or other types of input devices. Similarly, the input / output controller 1332 may provide output to a display, such as a computer monitor, a flat panel display, a digital projector, a printer, a plotter, or other types of output devices. It should be understood that the computing device 1300 may not include Fig.13 All components shown may include those not shown in Fig.13 Other components explicitly shown in the Fig.13 Completely different architecture as shown.

[0126] As described herein, a computing device may be a physical computing device such as Fig.13 The computing device 1300 of the present invention may further include a virtual machine host process and one or more virtual machine instances. The computer executable instructions may be indirectly executed by the physical hardware of the computing device by interpreting and / or executing instructions stored and executed in the context of the virtual machine.

[0127] It should be understood that the methods and systems are not limited to specific methods, specific components or specific implementations. It should also be understood that the terminology used herein is only for the purpose of describing specific embodiments and is not intended to be limiting.

[0128] As used in the specification and the appended claims, the singular forms "a", "an", and "the" include plural referents unless the context clearly dictates otherwise. Ranges may be expressed herein as from "about" one particular value and / or to "about" another particular value. When such a range is expressed, another embodiment includes from the one particular value and / or to the other particular value. Similarly, when a value is expressed as an approximation by using the antecedent "about", it should be understood that the particular value forms another embodiment. It should be further understood that the endpoints of each range in the range are significant relative to the other endpoint, and independent of the other endpoint.

[0129] "Optional" or "optionally" means that the subsequently described event or circumstance may or may not occur, and that the description includes instances where said event or circumstance occurs and instances where it does not occur.

[0130] Throughout the description and claims of this specification, the word "comprise" and variations of the word, such as "comprising / comprises" means "including but not limited to", and is not intended to exclude, for example, other components, integers or steps. "Exemplary" means "an example of..." and is not intended to convey an indication of a preferred or ideal embodiment. "Such as" is not used in a limiting sense, but is used for explanation purposes.

[0131] Components that can be used to perform the described methods and systems are described. When describing combinations, subsets, interactions, groups, etc. of these components, it should be understood that although specific references to each of the various individual and collective combinations and arrangements of these components may not be explicitly described, for all methods and systems, each is specifically contemplated and described herein. This applies to all aspects of the application, including but not limited to the operations in the described methods. Therefore, if there are various additional operations that can be performed, it should be understood that each of these additional operations can be performed with any specific embodiment or combination of embodiments of the described methods.

[0132] The present method and system may be understood more readily by reference to the following detailed description of the preferred embodiment and examples included therein and to the accompanying drawings and their description.

[0133] As will be appreciated by those skilled in the art, the methods and systems may take the form of a complete hardware embodiment, a complete software embodiment, or an embodiment combining software and hardware aspects. In addition, the methods and systems may take the form of a computer program product on a computer-readable storage medium, the computer program product having computer-readable program instructions (e.g., computer software) embodied in the storage medium. More specifically, the methods and systems of the present invention may take the form of network-implemented computer software. Any suitable computer-readable storage medium may be used, including a hard disk, a CD-ROM, an optical storage device, or a magnetic storage device.

[0134] Embodiments of the method and system will be described below with reference to block diagrams and flow charts of the method, system, apparatus, and computer program product. It should be understood that each block of the block diagram and flow chart, and the combination of blocks in the block diagram and flow chart, can be implemented by computer program instructions, respectively. These computer program instructions can be loaded on a general-purpose computer, a special-purpose computer, or other programmable data processing device to produce a machine, so that the instructions executed on the computer or other programmable data processing device create means for implementing the functions specified in the flow chart blocks.

[0135] These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing device to work in a specific manner so that the instructions stored in the computer-readable memory produce a manufactured product that includes computer-readable instructions for implementing the functions specified in the flowchart blocks. The computer program instructions may also be loaded onto a computer or other programmable data processing device so that a series of operating steps are performed on the computer or other programmable device to produce a computer-implemented process so that the instructions executed on the computer or other programmable device provide steps for implementing the functions performed in the flowchart blocks.

[0136] The various features and processes described above can be used independently of each other or in combination in various ways. All possible combinations and sub-combinations are intended to fall within the scope of the present disclosure. In addition, in some specific implementations, certain method or process boxes may be omitted. The methods and processes described herein are also not limited to any particular sequence, and the boxes or states associated therewith may be executed in other appropriate sequences. For example, the boxes or states described may be executed in an order different from that specifically described, or multiple boxes or states may be combined in a single box or state. The example boxes or states may be executed serially, in parallel, or in some other manner. Boxes or states may be added to or removed from the described exemplary embodiments. The exemplary systems and components described herein may be configured differently from those described. For example, elements may be added, removed, or rearranged compared to the described exemplary embodiments.

[0137] It should also be understood that the items are shown as being stored in or on the memory when in use, and that for the purpose of memory management and data integrity, these items or portions thereof may be transferred between the memory and other storage devices. Alternatively, in other embodiments, some or all of the software modules and / or systems may be executed in memory on another device and communicate with the illustrated computing system via inter-computer communication. In addition, in some embodiments, some or all of the systems and / or modules may be implemented or provided in other ways, such as at least partially implemented or provided in firmware and / or hardware, including but not limited to one or more application specific integrated circuits (“ASICs”), standard integrated circuits, controllers (e.g., by executing appropriate instructions, and including microcontrollers and / or embedded controllers), field programmable gate arrays (“FPGAs”), complex programmable logic devices (“CPLDs”), etc. Some or all of the modules, systems, and data structures may also be stored (e.g., as software instructions or structured data) on a computer-readable medium, such as a hard disk, memory, network, or portable media item, to be read by an appropriate device or via an appropriate connection. Systems, modules, and data structures may also be transmitted as generated data signals (e.g., as part of a carrier wave or other analog or digital propagation signal) on various computer-readable transmission media, including wireless-based and wire / cable-based media, and may take various forms (e.g., as part of a single or multiplexed analog signal, or as multiple discrete digital packets or frames). In other embodiments, such computer program products may also take other forms. Therefore, the present invention may be practiced with other computer system configurations.

[0138] Although the method and system have been described in conjunction with preferred embodiments and specific examples, the scope thereof is not limited to the specific embodiments set forth, as the embodiments herein are intended in all respects to be illustrative rather than restrictive.

[0139] Unless expressly stated otherwise, any method set forth herein should not be construed as requiring that its operations be performed in a specific order. Therefore, in the event that a method claim does not actually list the order in which its operations are to be performed, or in the event that the claims or description do not otherwise expressly state that the operations are to be limited to a specific order, no order is intended to be inferred in any respect. This applies to any possible non-express basis for interpretation, including: matters of logic regarding arrangement of steps or flow of operations; ordinary meaning derived from grammatical organization or punctuation; and the number or type of embodiments described in the specification.

[0140] It will be apparent to those skilled in the art that various modifications and variations may be made without departing from the scope or spirit of the present disclosure. Other embodiments will be apparent to those skilled in the art by considering the specification and practice described herein. It is intended that the specification and example drawings be considered merely exemplary, with the true scope and spirit being indicated by the appended claims.

Claims

1. A method for promoting collaboration in a workspace, comprising: In response to an application program commencing execution on a computing device associated with a user, automatically displaying an avatar of the user in a representation corresponding to a first virtual room, wherein display of the avatar in the representation indicates that the user is in the first virtual room, the user is any user of a plurality of users in the workspace, and the first virtual room is among a plurality of virtual rooms in the workspace; entering a collaborative mode based on a user input from the user; as well as In response to entering the collaborative mode, a visual element is added to the avatar, wherein the visual element added to the avatar indicates that the user is available for real-time communications with other users of the plurality of users.

2. The method of claim 1, wherein the real-time communication comprises an instant audio or video conference.

3. The method according to claim 1, further comprising: A real-time communication is initiated with any other user of the plurality of users, the avatar of the any other user indicating that the other user is available for real-time communication.

4. The method according to claim 3, further comprising: In response to detecting that the interface element is enabled, the real-time communication with the other user is initiated, wherein the other user is also in the first virtual room.

5. The method according to claim 3, further comprising: In response to detecting that the user enters the second virtual room where the other user is located and detecting that an interface element is enabled, initiating the real-time communication with the other user.

6. The method according to claim 5, further comprising: In response to detecting that the user enters the second virtual room by selecting a selectable interface element, displaying the avatar in a further representation corresponding to the second virtual room. The method of claim 1 , wherein the first virtual room is pre-selected and indicates a working context of the user.

8. The method according to claim 1, further comprising: In response to receiving the user input via a further interface element, the collaborative mode is entered.

9. The method according to claim 1, wherein the visual element has a predetermined shape or a predetermined color.

10. The method according to claim 1, further comprising: receiving a request from the user to communicate with a subset of users in the first virtual room; as well as A sub-communication channel is established between the user and the subset of users in the first virtual room while exiting the collaboration mode.

11. A system for promoting a collaborative work environment, the system comprising: at least one memory; as well as at least one processor in communication with the at least one memory, wherein instructions stored in the at least one memory, when executed by the at least one processor, cause the system to perform operations comprising: In response to an application program starting to run on a computing device associated with a user, automatically displaying an avatar of the user in a representation corresponding to a first virtual room, wherein display of the avatar in the representation indicates that the user is in the first virtual room, the user is any user of a plurality of users in the workspace, the first virtual room is in a plurality of virtual rooms in the workspace, and the plurality of virtual rooms are asynchronously accessible to the plurality of users; entering a collaborative mode based on user input from the user; and In response to entering the collaborative mode, a visual element is added to the avatar, wherein the visual element added to the avatar indicates that the user is available for real-time communications with other users of the plurality of users.

12. The system of claim 11, the operations further comprising: A real-time communication is initiated with any other user of the plurality of users, the avatar of the any other user indicating that the other user is available for real-time communication.

13. The system of claim 12, the operations further comprising: In response to detecting that the interface element is enabled, the real-time communication with the other user is initiated, wherein the other user is also in the first virtual room.

14. The system of claim 12, the operations further comprising: In response to detecting that the user enters a second virtual room where the other user is located and detecting that an interface element is enabled, initiating real-time communication with the other user.

15. The system of claim 14, the operations further comprising: In response to detecting that the user enters the second virtual room by selecting a selectable interface element, displaying the avatar in a further representation corresponding to the second virtual room.

16. A non-transitory computer-readable storage medium storing computer-readable instructions that, when executed by a computing device, cause the computing device to perform operations comprising: In response to an application program starting to run on a computing device associated with a user, automatically displaying an avatar of the user in a representation corresponding to a first virtual room, wherein displaying of the avatar in the representation indicates that the user is in the first virtual room, the user is any user of a plurality of users in the workspace, and the first virtual room is in a plurality of virtual rooms in the workspace, and the plurality of virtual rooms are asynchronously accessible by the plurality of users; entering a collaborative mode based on a user input from the user; as well as In response to entering the collaborative mode, a visual element is added to the avatar, wherein the visual element added to the avatar indicates that the user is available for real-time communications with other users of the plurality of users.

17. The non-transitory computer readable storage medium of claim 16, the operations further comprising: A real-time communication is initiated with any other user of the plurality of users, the avatar of the any other user indicating that the other user is available for real-time communication.

18. The non-transitory computer readable storage medium of claim 16, the operations further comprising: The collaborative mode is entered in response to receiving the user input via a further interface element. 19 . The non-transitory computer-readable storage medium of claim 16 , wherein the visual element has a predetermined shape or a predetermined color.

20. The non-transitory computer readable storage medium of claim 16, the operations further comprising: receiving a request from the user to communicate with a subset of users in the first virtual room; as well as A sub-communication channel is established between the user and the subset of users in the first virtual room while exiting the collaboration mode.

Citation Information

Patent Citations

  • Methods and systems for facilitating a collaborative work environment

    US20230156155A1