The present invention relates generally to digital communication, and more particularly, to systems and methods for providing spatialized locations and grouping of chat participants within a messaging platform.
Digital communication tools and platforms have been essential in providing the ability for people and organizations to communicate and collaborate remotely, e.g., over the internet. In particular, there has been massive adopted use of chat platforms allowing for remote communication sessions between multiple participants. One such modality for this remote communication may be colloquially referred to as a “chat” or “messaging” session, facilitated by a chat or messaging platform (hereinafter referred to as “chat” and “chat platform”, respectively). A chat platform is a tool configured to enabled internet users to remotely exchange messages. Such messages may be sent within, e.g., a chat room, a persistent chat channel, in a one-on-one conversation, or in some other configuration.
Chat interfaces within such platforms have generally laid out messages in a visually linear fashion, from top to bottom. For example, a first message from Participant 1 appears, then below it, a second message from Participant 2. A third message then appears from Participant 1, replying to Participant 2, and so on. A small avatar, such as a rounded image of the participant or simply a letter representing the participant's name, may appear next to the messages indicating whether Participant 1 or Participant 2 has sent a particular message.
The present invention relates generally to digital communication, and more particularly, to systems and methods providing for dynamic alteration of notification preferences within a chat platform.
The present disclosure will become better understood from the detailed description and the drawings, wherein:
In this specification, reference is made in detail to specific embodiments of the invention. Some of the embodiments or their aspects are illustrated in the drawings.
For clarity in explanation, the invention has been described with reference to specific embodiments, however it should be understood that the invention is not limited to the described embodiments. On the contrary, the invention covers alternatives, modifications, and equivalents as may be included within its scope as defined by any patent claims. The following embodiments of the invention are set forth without any loss of generality to, and without imposing limitations on, the claimed invention. In the following description, specific details are set forth in order to provide a thorough understanding of the present invention. The present invention may be practiced without some or all of these specific details. In addition, well known features may not have been described in detail to avoid unnecessarily obscuring the invention.
In addition, it should be understood that steps of the exemplary methods set forth in this exemplary patent can be performed in different orders than the order presented in this specification. Furthermore, some steps of the exemplary methods may be performed in parallel rather than being performed sequentially. Also, the steps of the exemplary methods may be performed in a network environment in which some steps are performed by different computers in the networked environment.
Some embodiments are implemented by a computer system. A computer system may include a processor, a memory, and a non-transitory computer-readable medium. The memory and non-transitory medium may store instructions for performing methods and steps described herein.
As users increasingly work from home and collaborate remotely, sometimes rarely or never meeting their colleagues in person, a sense of connection within chat platforms becomes more and more essential. One criticism levied against these typical chat experiences is that they are lacking a sense of connection. The typical chat experience enabled by a chat platform today can be seen as an endless stream of text, which can feel impersonal to many users. Since the only component binding the experience together is a text stream of messages, there is no sense of connectedness felt with one's team or collaborators, and a sense of community is lacking. A group that works together should feel connected, and that sense of connection is missing from the current chat experience.
Thus, there is a need in the field of digital communication tools and platforms to create new and useful systems and methods for providing spatialized locations and grouping of chat participants in order to humanize the chat experience, enhance live conversation, and provide a sense of place, connectedness, and community during the chat experience.
Such systems and methods can provide a visual representation of a chat session with spatialized avatars with spatialized locations and groupings, rather than the traditional linear chat view described above. A virtual background is either prespecified or selected, and avatars representing the participants are positioned spatially throughout the length and width of the background, appearing overlaid on top of the background. The avatars are positioned spatially according to one or more location criteria, and grouped such that they are closer or farther apart based on one or more grouping criteria. In various embodiments, location criteria can include one or more of, e.g., organizational department, seating location, geolocational data, assigned project, and organizational hierarchy, while grouping criteria can include one or more of, e.g., organizational department, geolocational data, message history, message recipients, assigned project, organizational title, and organizational hierarchy.
The invention overcomes the existing problems by creating a sense of place as well as positioning of participants within that place, with messages appearing in a non-linear fashion, tied to the spatialized avatars of the participants rather than a single timeline depicting messages from top to bottom. A deeper sense of connection and community can be established by, for example, the familiarity of a place the participants can return to for recurring meetings, and in some cases, the same positions or locations for participants within that place, such as in an office environment where team members are all seated in the same workspace arrangement each workday. Many other possibilities and configurations can exist. The spatial chat view can also enable a feeling of a live, informal chat conversation with other participants to a greater extent than traditional chat interface paradigms. In some embodiments, older chat messages fade away over time or as they are replaced by other messages, rather than appearing on-screen for a longer period, leading to a more active, in-the-moment chat experience.
In one embodiment, a method provides spatialized locations and groupings of chat participants within a messaging platform. First, the system displays, for each of a number of participants within a messaging session, a spatial chat user interface (hereinafter “UI”) consisting of a virtual background and one or more spatialized avatars, each being a representation of one of the participants overlaid on the virtual background, positioned in a spatialized location of the virtual background according to one or more location criteria, and positioned in a grouping according to one or more grouping criteria, where grouped spatialized avatars are positioned closer together than ungrouped spatialized avatars.
Further areas of applicability of the present disclosure will become apparent from the remainder of the detailed description, the claims, and the drawings. The detailed description and specific examples are intended for illustration only and are not intended to limit the scope of the disclosure.
The exemplary environment 100 is illustrated with only one client device, one processing engine, and one chat platform, though in practice there may be more or fewer additional client devices, processing engines, and/or chat platforms. In some embodiments, the client device(s), processing engine, and/or chat platform may be part of the same computer or device.
In an embodiment, the processing engine 102 may perform the exemplary method of
The user's client device 150 is a device with a display configured to present information to a user of the device. In some embodiments, the client device presents information in the form of a visual UI with multiple selectable UI elements or components. In some embodiments, the client device 150 is configured to send and receive signals and/or information to the processing engine 102 and/or chat platform 140. In some embodiments, the client device is a computing device capable of hosting and executing one or more applications or other programs capable of sending and/or receiving information. In some embodiments, the client device may be a computer desktop or laptop, mobile phone, virtual assistant, virtual reality or augmented reality device, wearable, or any other suitable device capable of sending and receiving information. In some embodiments, the processing engine 102 and/or chat platform 140 may be hosted in whole or in part as an application or web service executed on the client device 150. In some embodiments, one or more of the chat platform 140, processing engine 102, and client device 150 may be the same device. In some embodiments, the user's client device 150 is associated with a first user account within a chat platform, and one or more additional client device(s) may be associated with additional user account(s) within the chat platform.
In some embodiments, optional repositories can include one or more of an avatar repository 130, message repository 132, and/or background repository 134. The optional repositories function to store and/or maintain, respectively, spatialized avatars corresponding to participants of a chat session; messages sent by participants within the chat session; and virtual backgrounds to be used within chat sessions. The optional database(s) may also store and/or maintain any other suitable information for the processing engine 102 or chat platform 140 to perform elements of the methods and systems herein. In some embodiments, the optional database(s) can be queried by one or more components of system 100 (e.g., by the processing engine 102), and specific stored data in the database(s) can be retrieved.
Chat platform 140 is a platform configured to facilitate communication between two or more parties, such as within a real-time conversation. A chat session within the chat platform 140 may be, e.g., a one-time chat session that will be inaccessible once the participants leave or the session ends, or it may be a persistent chat channel that remains accessible for a set of participants regardless of any one participant leaving or entering. The communication session may be, e.g., one-to-many (e.g., a participant engaging in messaging with multiple attendees), one-to-one (e.g., two friends messaging with one another), or many-to-many (e.g., multiple participants messaging with each other in a group chat setting).
In some embodiments, the chat platform 140 may be connected to, integrated with, or part of a communication platform. In some embodiments, the communication platform is provided so that video, audio, or audiovisual communication may be configured to occur alongside chat within a single session. In some embodiments, there may be one or more separate chat sessions and one or more separate audio and/or video sessions, but some integration may occur between voice and chat sessions. For the sake of readability, if the chat platform 140 is part of or integrated with a communication platform in some way, this application will refer to this integration or combination as simply a chat platform.
User interface module 152 functions to display, for each of a number of participants within a chat session, a UI consisting of a virtual background, spatialized avatars, and a message composing component.
Virtual background module 154 functions to configure the virtual background to be displayed within the UI.
Avatar module 156 functions to configure the spatialized avatars to be displayed within the UI.
Optional composing module 158 functions to configure the messaging composing component to be displayed within the UI.
Location module 160 functions to position the spatialized avatars in spatialized locations according to one or more location criteria.
Grouping module 160 functions to group one or more of the spatialized avatars in a grouping according to one or more grouping criteria.
The above modules and their functions will be described in further detail in relation to an exemplary method below.
At step 210, the system displays a spatial chat user interface (“UP”) with a virtual background and spatialized avatars. The system displays this spatial chat UI for each of a number of participants within a messaging session (i.e., chat session). Each participant will be capable of viewing the spatial chat UI via a client device (e.g., client device 150 from
In some embodiments, a chat session is any form of participants communicating with one another, whether that communication takes the form of, e.g., a one-on-one chat between two participants or a chat with more than two participants. In some cases, a chat session may be a session which occurs through a chat channel, i.e., a virtual venue within the chat platform for persistent conversations between participants, wherein the venue and session are not confined to a set time after which they are terminated, but rather remain open for a longer period of time as participants enter and leave, or become active or inactive. In some cases, a chat session may be a session which occurs through an in-meeting chat. For example, a video meeting may take place between participants. As part of that video meeting, a chat session may be opened up alongside the video, and participants of the video meeting can chat with one another in a chat format during the video meeting. Other possibilities and configurations for chat sessions can be contemplated.
The system displays a virtual background as part of the spatial chat UI. The virtual background may consist of visual media, such e.g., an image, video, presentation document (e.g., presentation slides), word processor document, PDF document, animated image, web site, or interactive interface.
In some embodiments, the virtual background is prespecified. In some embodiments, the virtual background is prespecified as a default media background. For example, the system may automatically default to displaying a solid grey background, a default image of an office floor plan or classroom, or some other image or visual media. In some embodiments, the virtual background was previously selected by an administrator, host, or other designated individual for a previous instance of the chat session or similar chat session, such as when a recurring chat session is established. In some cases, the virtual background is dynamically generated in real time based on one or more factors. Factors may include, for example, the organizational hierarchy of a company the participants are associated with, a detected subject matter of the chat session, a context detected from chat content, and more.
In some embodiments, the virtual background is selected by an administrator, host, or other designated individual with permission to manage the chat session. In some embodiments, the media background is received as a selection from the first user or one of the additional users from a pre-defined set of media backgrounds. In some cases, a user may upload or otherwise retrieve a virtual background from the user's client device or an external source, or generate a virtual background themselves, then import it into the chat platform. An administrator may, for example, decide to upload an overhead floor plan or layout of an office space, and participants may all be able to position their avatars at their desks within this virtual office space.
In some embodiments, an administrator, host, or other designated individual with permission may change or alter the virtual background. For example, in the middle of a chat session, a host participant may decide to swap the virtual background for a different virtual background. This new virtual background can then be shown as a replacement, and participants can position their avatars within the new virtual background.
The system displays one or more spatialized avatars as part of the spatial chat UI. Each of the spatialized avatars is a visual UI component within the spatial chat UI. Each spatialized avatar is a representation of one of the participants, and appears overlaid on the virtual background. Each of the spatialized avatars is positioned in a spatialized fashion throughout the length and width of the virtual background. In this way, each of the avatars representing participants can be positioned in a space within the virtual background. For example, if the virtual background is an office plan for a group of coworkers, then the coworkers would all have avatars representing themselves, and these avatars can be positioned in their actual work locations within the office space. Similar, a classroom where students are all seated within a fixed seating arrangement can be represented, with spatialized avatars being positioned at their seats corresponding to the participant students, with the teacher positioned at the front of the classroom. In some embodiments, different positions of avatars may indicate that the participants are working from home or working within a particular office, for example, or some other split between or categorization of participants may be indicated based on the positioning. In some embodiments, avatars can be positioned within different virtual rooms within the virtual background, indicating different conversational spaces or breakout rooms for communicating with a subset of the participants. In some embodiments, different rooms within the virtual background can be assigned different meanings or assigned to different meetings, such that avatars may be automatically repositioned to those rooms based on participating in certain meetings or in other contexts.
In some embodiments, the spatial avatars may be represented as circles or rounded images, although any visual design for avatars may be contemplated. In some embodiments, users may upload a selected image of themselves, which is displayed as their avatar. For example, a rounded circle with the face of a participant may be appear within a spatial chat UI. In some embodiments, administrators or those with managing permissions for the chat session may be able to upload images of participants to appear within their avatars. In some embodiments, images of participants may be automatically retrieved from a company database or directory. In some embodiments, spatialized avatars may be three-dimensional avatars representing the participant in some way, e.g., either realistically or in some other way, such as via a cartoon depiction. In some embodiments, the avatar may be a two-dimensional or three-dimensional avatar the participant can design themselves from a set of options and/or slider components for selecting features and parameters (such as through an avatar building interface, where a participant can select, e.g., a hairstyle, hair color, facial shape, clothing, and more). Many other such possibilities may be contemplated for the visual design of the spatialized avatars.
In some embodiments, the system displays a message composing component as part of the spatial chat UI. The message composing component includes UI elements which allow a participant to submit a text-based message, and/or potentially other content to be sent as communications within the chat and displayed for participants within the chat session. In various embodiments, the message composing component can consist of one or more of, e.g., a message text field, a message submit button, a screenshot capturing component, a file uploading component (for uploading, e.g., a still image, an animated image, a PDF document, an audio file, or any other file), a component for recording an audio message to be sent within the chat session, and a component for sharing a non-text-based expression, such as an emoji or reaction. In some embodiments, the message composing component is a separate window or component within the spatial chat UI. An example of a message composing component will be discussed further below with respect to
In some embodiments, prior to displaying the UI, the system displays a non-spatial chat UI. For example, a linear, non-spatial chat where text messages are shown from top to bottom, without a virtual background or spatialized avatars, may be displayed. A participant may then opt, within this interface, to toggle to a spatial chat view with spatialized avatars. The UI is then replaced with a spatial chat UI as described herein. In some embodiments, participants may have the option to toggle back and forth between a spatial chat UI and a non-spatial chat UI at will, and the change is implemented in real-time, such as during a chat session.
At step 212, the system positions each spatialized avatar component in a spatialized location according to location criteria.
In some embodiments, each of the participants of the chat session may be allowed to position their corresponding spatialized avatar at a location within the frame of the virtual background, wherein the location criteria includes the user input and/or selection for positioning of their corresponding spatialized avatar. In some embodiments, administrators, hosts, or others with managing permissions for the chat session may additionally or alternatively be able to select positioning for the spatialized avatars of participants. For example, the interface may provide for a participant to click or hold their own representative avatar, then drag the avatar to a desired new location within the virtual background. In some embodiments, participants may not have permission to reposition their avatars, but an administrator, host, or other individual with managing permissions may be able to position or reposition avatars to locations within the virtual background (such as, for example, when a teacher is given permission to position students at desks within a classroom, but the students themselves cannot position or reposition themselves within the classroom). In some embodiments, one or more arrows or other indicating elements may be present within the UI to assist in participants moving their avatars around, or in navigating through the space of the virtual background.
In some embodiments, the location criteria includes organizational department(s) of the participants of the chat session. For example, team members of a company associated with a specific organizational department within the company may be organized within a particular space of the virtual background which is separate from other organizational departments. Thus, for example, an accounting department of a small company may have their spatialized avatars located at the top right of the virtual background at office seating locations, while avatars associated with other departments are spread out elsewhere throughout the virtual background based on their own organizational departments. In some embodiments, this organizational department data is determined based on organizational metadata associated with at least one of the participants. In some embodiments, a host or administrator may upload such organizational metadata or assign it to one or more of the participants. In some embodiments, individual participants may submit via text or upload their own organizational metadata.
In some embodiments, the location criteria includes seating location. As above, the seating location may be based on organizational metadata submitted or uploaded by one or more participants, administrators, hosts, or other individuals with managing permissions. For example, students in a classrooms with fixed, assigned seating may be automatically seated based on a teacher uploading a seating chart or manually entering seating information into the interface. Alternatively or additionally, a teacher or principal may manually select and drag avatars to appropriate seating locations. These seating locations may be configured to be persistent across multiple class sessions (i.e., multiple chat sessions with the same set of participants).
In some embodiments, the location criteria includes geolocational data. Thus, GPS or other forms of locational data may be retrieved and used to automatically, dynamically position avatars within set locations based on where the participants are currently located in physical space. In some embodiments, this GPS data or other geolocational data may be retrieved from one or more client devices associated with the participants.
In some embodiments, the location criteria includes assigned projects associated with participants. For example, within an organization, different employees may be assigned different projects or tasks which are submitted or uploaded to the platform. The platform can use these assigned projects to position avatars of participants spatially within the virtual background. For example, three participants working together on a marketing proposal can be positioned in a particular breakout room depicted within the virtual background, while other participants can be located in other rooms.
In some embodiments, the location criteria includes organizational hierarchy. In some embodiments, organizational metadata can include an organizational hierarchy, which may be, e.g., a tree or other organizational structure which shows a top-down hierarchy with managers and their managed individuals. Locations can then be automatically chosen based on this hierarchical data.
In some embodiments, a combination of multiple such criteria can be used in various weightings to determine the position of avatars. In various embodiments, these weightings can be prespecified, dynamically generated, or manually determined.
At step 214, the system positions one or more spatialized avatars in a grouping according to one or more grouping criteria. The grouping is such that grouped spatialized avatars are positioned closer together than ungrouped spatialized avatars. For example, participants who are engaged in a one-on-one conversation with one another can have their avatars moved such that they are grouped closer together than other participants, thus mirroring physical conversations where certain people talking with one another naturally move closer to one another within a room.
In various embodiments, such grouping criteria can include one or more of, e.g., organizational department, geolocational data, assigned project, organizational title, and organizational hierarchy, similar to the criteria described above in relation to the location criteria.
In some embodiments, grouping criteria can include message history and/or message recipients. In some embodiments, grouping criteria can include historical message data. This message data can help the system determine that some participants tend to talk to other participants within the chat session more than others. Thus, those who have historically been more inclined to chat with one another can be grouped closer together than other participants. Similarly, in some embodiments, data about recent message recipients may be used to group some message recipients closer to others for each spatialized avatar.
In some embodiments, participants can be repositioned and grouped closer or farther apart dynamically, in real-time, based on these and other grouping criteria. Thus, throughout the course of a chat session, some avatars may move around or inch closer or further away from others, indicating the natural flow of conversation, where participants are actually positioned in physical space, or other aspects described above.
In some embodiments, the system displays chat bubbles corresponding to messages sent by a subset of the participants. The chat bubbles are displayed such that they appear adjacent to the spatialized avatars representing those participants. In some embodiments, the messages are submitted by the participants through their interactions with the messaging composing component of the spatial chat UI seen by the participants.
In some embodiments, the chat bubbles appear as e.g., bounded rectangles with rounded edges to present the appearance of a “bubble” which encapsulates the message. In other embodiments, such a “bubble” appearance may not be necessary for a chat bubble, but rather any visual design to encapsulate a message within a bounded visual element or component is displayed. In some cases, for example, a chat bubble may not have rounded edges, may be a circle instead of a rectangle, may have no visual border or boundary, may be transparent or semi-transparent, or any of a number of other visual possibilities.
In some embodiments, the system receives a message from a participant, via the message composing component of the spatial chat UI that the participant is interacting with through their client device. The system displays the message within a chat bubble, which appears adjacent to the spatialized avatar corresponding to that participant. One example of a chat bubble is illustrated in
In some embodiments, chat may be audio-only between some or all of the participants. In some embodiments, for example, a voice channel may be enabled, and rather than chat bubbles appearing, an audio-based conversation can be provided between participants with no text messages present. In some embodiments, a link to join an ongoing call or meeting may be provided and upon engaging with the link, a participant is routed to that call or meeting to participate.
In some embodiments, a participant may reply to a message sent by another participant. In some embodiments, a participant using the spatial chat UI may hover over a chat bubble within the UI, and a submenu may appear allowing the user to choose between various elements, such as, e.g., a message reply element and an emoji reply element. If the participant selects the message reply element, a message reply field is displayed, allowing the user to submit a message. Upon submitting the message, it appears as a reply to the message within the chat bubble. In some embodiments, the reply appears as a message that is in response to the original message. In some embodiments, this may be a threaded reply, wherein the message branches into a set of one or more replies to the message. In some embodiments, a reply message may simply be displayed as any other message, but some indicator or notification that a particular participant is being responded to may appear (for example, an “@” symbol may appear in front of a participant's name, such as “@Hana Song”, representing that Hana Song has been replied to. The participant Hana Song may additionally get a notification, if such a notification is configured to be enabled within that participant's settings and preferences for the chat session.
In some embodiments, while a participant is typing a message into the message composing field within their spatial chat UI, the system will display a chat bubble adjacent to the spatialized avatar for that participant, indicating that the participant is currently typing a message. For example, a chat bubble displaying an animated, moving ellipses (“ . . . ”) may appear within a chat bubble, indicating that the participant is currently typing.
In some embodiments, the system receives a selection of an emoji, reaction, or some other non-text-based visual communication from a participant via the message composing component. In some cases, this emoji, reaction, or other communication appears within a chat bubble, as would any text-based message. In other cases, it may be displayed differently from a text-based message. For example, in some embodiments, a selected emoji may appear adjacent to the spatialized avatar in question, without being encapsulated within a chat bubble. In some embodiments, the emoji may be animated, have some sparkle or other animated effect in conjunction with the emoji itself, or otherwise be displayed in a way that calls attention to that participant reacting to something within the chat session, or expressing themselves in some way other than through text. In some embodiments, such emojis or reactions may also be sent as replies to other messages, and may appear within a threaded reply space a message in a special way (e.g., animated or with some accompanying effect). In some embodiments, rather than appearing adjacent to the avatar, the emoji may appear, for example, at the top, bottom, center, or side of the spatial chat UI, within a special frame or window, or otherwise in some way decoupled from the spatialized avatar.
In some embodiments, the system determines an availability status for each of the multiple participants. In some embodiments, this determination may occur concurrently to, prior to, or after one or more other steps. An availability status represents whether the participant in question is currently available or not within the chat session. In various embodiments, unavailability may mean one or more of, e.g., the participant self-identifying as busy or unavailable (such as selecting a UI component to indicate that they are busy or away from their client device), the system identifying that the participant is in a meeting or different chat session and unavailable, the system identifying that the participant is not present within the chat session, the system identifying that the participant has been idle and inactive within the chat session or at their client device for a period of time, the system identifying that the participant is on paid time off or sick leave for the day, the participant indicating that they are in “do not disturb” mode and should not be contacted within the chat session or receive notifications pertaining to it, or any other similar indication that the participant is unable to currently participate in the chat session or is not viewing messages or participating at the moment. In some embodiments, a participant can hover over or click on a participant's spatialized avatar to see a more detailed status regarding the availability of that participant, such as, e.g., the name of a meeting if the user is attending one.
In some embodiments, the availability status for each of the plurality of participants corresponds to at least the current activity level of the participant within the chat session. In some embodiments, both the current activity level and the availability of the participant within the messaging session are factors in determining an availability status.
In some embodiments, the availability status for each of the plurality of participants corresponds to some period of time of activity or inactivity. For example, the availability status may indicate that the participant was last active within the chat session 15 minutes ago. In some embodiments, the system may determine based on GPS or other locational detection on the participant's client device that the client is “out of office” for a specified location of a physical office space, for example, or other specified location, and determine unavailability based on this physical location detected for the participant.
In some embodiments, the system displays a visual indicator of availability status for each participant. In some embodiments, this displaying may occur concurrently to, prior to, or after one or more other steps. This visual indicator is displayed within or adjacent to each of the spatialized avatars. The visual indicators communicate, within the spatial chat UI, the availability status of the participants represented by the spatialized avatars.
In some embodiments, the visual indicators for availability are differentiated from one another based on different colors, different visual elements, or other visual distinguishing features. In some embodiments, the visual indicator may be an automatically generated text status, such as, e.g., “Last active 15 minutes ago”, or may be a text status submitted by the participant themselves, such as, for example, “be right back in a few minutes”. In some embodiments, the visual indicator may be presented as a solid circle around the border of the avatar for the participant being available, and a thatched, dashed, or semi-transparent circle around the border of the avatar for the participant being unavailable. One example of visual indicators for availability is illustrated in
In some embodiments, the spatial chat UI may present one or more actions which can be presented based on availability status. For example, the spatial UI may present participants with the option to send a message to, start a phone call with, or start a meeting with everyone who is currently indicated to be available. In some embodiments, a host may be allowed to reposition avatars in a certain room which may be designated as a meeting room, in order to discuss something with those participants but not other participants. In such a case, the messages between those participants may not be visible to participants outside of that room.
In some embodiments, a participant interacting with the spatial chat UI may interact with one of the spatial avatars within the interface by, e.g., clicking, touching, or tapping on the avatar, depending on the preferred control input being used by the participant. In some embodiments, upon interacting with the avatar, a summary window appears for that avatar. The summary window includes one or more pieces of information about the participant represented by the spatial avatar, including one or more of, e.g., name, username or pseudonym, availability status, organizational title, profile or biographical statement, meeting currently being attended by the participant, and more.
The participant who is viewing the spatial chat UI can see her own spatial avatar 304, which represents her as a participant. In the illustrated example, her spatial avatar is slightly larger than the others. In some embodiments, this may be indicating that the avatar has just recently sent a message or is about to send a message.
Message composing component 306 is displayed as a UI component at the bottom of the interface. This component as illustrated shows a text field where the participant can enter a message to be sent within the chat session. Components are also shown for capturing a screenshot, uploading a file to be accessed by the participants, and recording a message which can be played back by participants. On the right, a participant can select an emoji to be displayed adjacent to their avatar, or the three ellipses (“ . . . ”) can be selected for additional options, such as for sending other non-text-based expressions to be displayed in the spatial chat UI.
On the sidebar to the left, a chat session 308 is displayed with title, with a visual indicator that the participant is currently active and/or present in that room. Other recent chat rooms are displayed as well. The participant can select a different chat room to switch the spatial chat UI from displaying the current chat session to displaying a different one.
Additional spatial avatars are also displayed, representing the participant's coworkers within the chat session. Some of the avatars are shown with one visual indicator of availability status, indicating they are available and/or active, while other avatars have a different visual indicator, indicating they are busy and/or inactive for some time. In the illustrated example, the visual indicators shown are a solid circle around the border of the avatar for the participant being available, or a thatched circle around the border of the avatar for the participant being unavailable.
The example illustrates the same chat session and spatial chat UI as in
Here, the message from
In reply to the message shown in
Here, the participant viewing the submenu from
The participant from the previous examples has interacted with the message composing component to select a message type to be sent. The participant can select between a reply message, or a new message.
Here, the participant from
Processor 401 may perform computing functions such as running computer programs. The volatile memory 402 may provide temporary storage of data for the processor 401. RAM is one kind of volatile memory. Volatile memory typically requires power to maintain its stored information. Storage 403 provides computer storage for data, instructions, and/or arbitrary information. Non-volatile memory, which can preserve data even when not powered and including disks and flash memory, is an example of storage. Storage 403 may be organized as a file system, database, or in other ways. Data, instructions, and information may be loaded from storage 403 into volatile memory 402 for processing by the processor 401.
The computer 400 may include peripherals 405. Peripherals 405 may include input peripherals such as a keyboard, mouse, trackball, video camera, microphone, and other input devices. Peripherals 405 may also include output devices such as a display. Peripherals 405 may include removable media devices such as CD-R and DVD-R recorders/players. Communications device 406 may connect the computer 100 to an external medium. For example, communications device 406 may take the form of a network adapter that provides communications to a network. A computer 400 may also include a variety of other devices 404. The various components of the computer 400 may be connected by a connection medium such as a bus, crossbar, or network.
Some portions of the preceding detailed descriptions have been presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the ways used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of operations leading to a desired result. The operations are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.
It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the above discussion, it is appreciated that throughout the description, discussions utilizing terms such as “identifying” or “determining” or “executing” or “performing” or “collecting” or “creating” or “sending” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage devices.
The present disclosure also relates to an apparatus for performing the operations herein. This apparatus may be specially constructed for the intended purposes, or it may comprise a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a computer readable storage medium, such as, but not limited to, any type of disk including floppy disks, optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic or optical cards, or any type of media suitable for storing electronic instructions, each coupled to a computer system bus.
Various general purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the method. The structure for a variety of these systems will appear as set forth in the description above. In addition, the present disclosure is not described with reference to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the disclosure as described herein.
The present disclosure may be provided as a computer program product, or software, that may include a machine-readable medium having stored thereon instructions, which may be used to program a computer system (or other electronic devices) to perform a process according to the present disclosure. A machine-readable medium includes any mechanism for storing information in a form readable by a machine (e.g., a computer). For example, a machine-readable (e.g., computer-readable) medium includes a machine (e.g., a computer) readable storage medium such as a read only memory (“ROM”), random access memory (“RAM”), magnetic disk storage media, optical storage media, flash memory devices, etc.
In the foregoing disclosure, implementations of the disclosure have been described with reference to specific example implementations thereof. It will be evident that various modifications may be made thereto without departing from the broader spirit and scope of implementations of the disclosure as set forth in the following claims. The disclosure and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.