Not Applicable.
Social and collaboration networks have become an important part of everyday life for many people. Many use social networks to communicate with friends and family members. Some businesses have also begun using social or collaboration networks to interconnect their employees. Such social and collaboration networks facilitate quick communication among many employees regardless of their physical location. For example, using social or collaboration networks, an employee can post a question, comment, or other information that can be immediately viewed by many different employees thus increasing the ease of collaboration within the business.
The present invention extends to methods, systems, and computer program products for implementing a collaboration network platform that provides virtual rooms with an indication of the number and/or the identity of users of the collaboration network that are working within the virtual rooms. A virtual room comprises an organizational unit for grouping users of a collaboration network with respect to a particular subject. For each virtual room within the collaboration network, a count of the number of users and/or a representation of each of the users that are currently working in the virtual room can be maintained and displayed as appropriate.
In one embodiment, a user interface of a collaboration network is generated. The user interface includes a list of virtual rooms, each virtual room representing a subject with respect to which a number of users of the collaboration network can collaborate. For at least one of the virtual rooms, an indication of the number of users of the collaboration network that are currently working in the virtual room is generated. The user interface can then be displayed.
This summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the invention. The features and advantages of the invention may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. These and other features of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth hereinafter.
In order to describe the manner in which the above-recited and other advantages and features of the invention can be obtained, a more particular description of the invention briefly described above will be rendered by reference to specific embodiments thereof which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments of the invention and are not therefore to be considered to be limiting of its scope, the invention will be described and explained with additional specificity and detail through the use of the accompanying drawings in which:
The present invention extends to methods, systems, and computer program products for implementing a collaboration network platform that provides virtual rooms with an indication of the number and/or the identity of users of the collaboration network that are working within the virtual rooms. A virtual room comprises an organizational unit for grouping users of a collaboration network with respect to a particular subject. For each virtual room within the collaboration network, a count of the number of users and/or a representation of each of the users that are currently working in the virtual room can be maintained and displayed as appropriate.
In one embodiment, a user interface of a collaboration network is generated. The user interface includes a list of virtual rooms, each virtual room representing a subject with respect to which a number of users of the collaboration network can collaborate. For at least one of the virtual rooms, an indication of the number of users of the collaboration network that are currently working in the virtual room is generated. The user interface can then be displayed.
Embodiments of the present invention may comprise or utilize special purpose or general-purpose computers including computer hardware, such as, for example, one or more processors and system memory, as discussed in greater detail below. Embodiments within the scope of the present invention also include physical and other computer-readable media for carrying or storing computer-executable instructions and/or data structures. Such computer-readable media can be any available media that can be accessed by a general purpose or special purpose computer system.
Computer-readable media is categorized into two disjoint categories: computer storage media and transmission media. Computer storage media (devices) include RAM, ROM, EEPROM, CD-ROM, solid state drives (“SSDs”) (e.g., based on RAM), Flash memory, phase-change memory (“PCM”), other types of memory, other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other similarly storage medium which can be used to store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general purpose or special purpose computer. Transmission media include signals and carrier waves.
Computer-executable instructions comprise, for example, instructions and data which, when executed by a processor, cause a general purpose computer, special purpose computer, or special purpose processing device to perform a certain function or group of functions. The computer executable instructions may be, for example, binaries, intermediate format instructions such as assembly language or P-Code, or even source code.
Those skilled in the art will appreciate that the invention may be practiced in network computing environments with many types of computer system configurations, including, personal computers, desktop computers, laptop computers, message processors, hand-held devices, multi-processor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, PDAs, tablets, pagers, routers, switches, and the like.
The invention may also be practiced in distributed system environments where local and remote computer systems, which are linked (either by hardwired data links, wireless data links, or by a combination of hardwired and wireless data links) through a network, both perform tasks. In a distributed system environment, program modules may be located in both local and remote memory storage devices. An example of a distributed system environment is a cloud of networked servers or server resources. Accordingly, the present invention can be hosted in a cloud environment.
Server computing system 101 provides a collaboration network that a business or other organization can use to facilitate collaboration among its employees or members. A collaboration network can include a social network, an instant messaging network, or any other type of network that allows users to intercommunicate. Server computing system 101 can comprise any number of computer systems or resources. For example, server computing system 101 can be a single server computing system, or can be a cloud of computer resources. Server computing system 101 can provide the collaboration network in any appropriate format such as a website, an application (whether local or web-based), a service, etc.
Client computing devices 102a-102n can represent any type of computing device capable of communicating with server computing system 101 over network 104. Examples of client computing devices 102a-102n include desktop computers, laptop computers, tablets, mobile phones, other smart electronic devices, etc. Client computing devices 102a-102n can access the collaboration network provided by server computing system 101 using a browser (such as when the collaboration network is accessible as a website or web-based application), a dedicated application hosted locally that receives data from server computing system 101, or any other type of configuration known in the art.
Rooms section 201 provides a list of available rooms. In exemplary user interface 200, the user is User 9 as indicated by user indication 203. A user can “enter” and “work in” any room listed in rooms section 201. Each room in rooms section 201 can be associated with a particular topic or grouping. For example, a room can be maintained for a department, a project, a subject, or any other grouping or topic.
As shown, rooms section 201 lists rooms having subjects or topics of DEV, iPhone app, Bugs, to many test rooms here, Doc Review, Web-app design, DD test, audio and video, News Deck, UI UX, etc. At least some of the users of the collaboration network can be allowed to create new rooms including defining the scope of newly created rooms. For example, a room can be created having a company-wide scope thus allowing anyone in the company (e.g. anyone having a specified domain name in their email address) to enter the room. A room can also be created having a more restricted scope such as being limited only to specified users or groups of users.
In user interface 200, User 9 has entered the DEV room as indicated by current room section 202 displaying the content of the DEV room (if no room is selected in rooms section 201, current room section 202 could be blank or display content that is not specific to any particular room). The content that can be displayed within current room section 202 includes a list of topics 202a that have been created as well as a list of comments 202b for a selected topic. Current room section 202 can also display other content such as documents, links, controls, etc.
In
The collaboration network of the present invention provides an indication of who is working where by listing the number of users that are currently in a particular room. For example, the list of rooms in rooms section 201 includes indicators 210a-210d which represent the number of users that are currently working in the corresponding room. In
In some embodiments, a user is working in a room when the user has clicked on the room in the rooms section 201 thereby causing the room to be displayed within current room section 202.
In some embodiments, additional indicators 211b can be provided within the list of topics 202a indicating which users are viewing which topics. In
Indicators 210 and 211 provide a quick means for identifying where people are working within a business or organization. For example, by viewing indicators 210 within the list of rooms 201, a user can quickly identify any rooms in which a large number of users are currently working (e.g. to identify rooms of current importance or rooms having large activity). Once within a room (or prior to entering a room in some embodiments), a user can quickly identify the specific users that are in the room (and in some embodiments, within a particular topic in a room) via indicators 211.
These indicators increase the likelihood of serendipitous connections (i.e. the ability to bump into a colleague located anywhere around the world within the context of a particular project, subject, or topic). For example, if a user has a question or comment for another user regarding a particular topic, the user can easily identify an opportune moment to present the question or comment by identifying when the other user is working within the room or even the topic to which the question or comment relates.
The use of rooms also facilitates collaboration and cooperation within a group by grouping questions and comments within the appropriate context. For example, a question regarding a particular topic can be presented within the topic in an appropriate room. By posing questions within a specific context in this manner, other users can more quickly and easily identify how to respond to such questions thereby increasing the efficiency of a group.
In cases where a larger number of users are within a particular room, indicator 211a can display a subset of current users in the room along with a control for scrolling through, expanding, or otherwise changing the photos that are displayed. For example, if indicator 211a is configured to display a maximum of six photos at any given time, indicator 211a can also include one or more controls for scrolling through a list of the photos of all users in the room. Alternatively, indicator 211a can be expandable (e.g. when clicked on or hovered over) to display additional photos of users in the room. Indicator 211b can also be configured in a similar manner to allow a user to view additional photos beyond those initially shown.
As stated above, a user can be considered as working within a room when the user has selected the room from the list of rooms 201 thereby causing the contents of the room to be displayed within current room section 202. In some embodiments, the collaboration network of the present invention can contain additional logic for determining the presence of a user within a room. For example, presence in a room can also be based on activity within the room. In such cases, a user may not be deemed present in a room until the user has interacted in some way with the content of the room (e.g. by selecting, adding, removing, or otherwise interacting with some content within current room section 202).
Further, in some embodiments, presence in a room can also be based on the duration of time since the user last interacted with content in the room. For example, if a user, after entering a room, has not interacted with the content of the room for a specified time period, the user can be deemed as having left the room.
Also, in some embodiments, different levels of presence within a room can be presented for each user. For example, indicators 211 can also include an identification of the current status of the users within a room. Such status can include the duration of time since the user last interacted with the computer, with the software in general (i.e. status may be based on interaction with software whether the interaction is with content within the room or not), or with content of the room (e.g. a duration of time since entering the room, a duration of time since entering the topic, a duration of time since posting a comment, etc.). This status can be represented in various ways as is known in the art (e.g. by including with the photo a count of the number of minutes since last activity, by applying a shading or color to the photo or an indicator associated with the photo that identifies status).
In this manner, the collaboration network of the present invention, in addition to showing who is present in a room/topic, can show who is currently most active within the room/topic. In some embodiments, different status indicators can be maintained for the user's status within a room and within a topic in the room. For example, referring to
In some embodiments, user interface 200 can also include functionality for allowing a user that is working within a room or topic to transmit an audio and/or video communication to some or all of the users that are currently working within the room or topic. For example, a button or other control can be displayed within user interface 200 or a related user interface that, when selected, commences the capture and streaming of audio and/or video data from one client computing device to the client computing devices of other users currently working in the room or topic.
Such audio and/or video content can be displayed immediately upon receipt by the client computing devices of the other users currently working in the room, or can be stored until the user selects to view and/or listen to the content. In this manner, a user can quickly communicate verbally and/or visually with each user working within the room or topic. When one user receives an audio and/or video message from another user, the user can immediately respond with his own audio and/or video message that can be transmitted to one or more users in the virtual room. In this manner, user interface 200 facilitates the initiation of group communications.
User interface 200 can include an indication of the users and/or number of users that are participating within a group communication. For example, when less than all users within a room are participating in a group communication, an indication of which users are participating can be provided that is separate from the indication of all users that are within the room and/or topic. This indication can also identify who is currently speaking or otherwise providing content for the group communication as well as who is receiving the content (e.g. listening to or watching the content of the group communication).
In some embodiments, user interface 200 can also provide functionality to allow a user to select the representation (e.g. 211a or 211b) of another user to commence communicating with the other user. For example, when a representation 211a of a user is selected, user interface 200 can provide a user interface element in which the user and the selected user can communicate one on one. Because the selection of the user is made in the context of a room or topic, this functionality simulates pulling someone aside in a physical room to privately discuss a topic being discussed by all participants in the room.
Method 500 includes an act 501 of generating a user interface of a collaboration network, the user interface including a list of virtual rooms. Each virtual room represents a subject with respect to which a number of users of the collaboration network can collaborate. For example, server computing system 101 and/or one or more of client computing devices 102a-102n can generate a user interface, similar to user interface 200 shown in
Method 500 includes an act 502 of, for at least one virtual room, generating an indication of the number of users of the collaboration network that are currently working in the virtual room. For example, the indication of the number of users can comprise indicator 210a or indicator 211a. As such, the indication, in some embodiments, can comprise a count of the number of users in a room as well as an identifier for each of the users in the room.
Method 500 can be implemented by server computing system 101 by generating instructions for rendering the user interface, and sending the instructions to one or more client computing devices to allow the client computing devices to display the user interface to users. Method 500 can also be implemented by one or more of client computing devices 102a-102n by generating (e.g. using information received from server computing system 101 or another of client computing devices 102a-102n) or receiving instructions for rendering the user interface, and rendering the instructions to display the user interface. Accordingly, method 500 should not be limited to any particular computer architecture, protocol, or location.
Method 600 includes an act 601 of receiving input, at a client computing device, from a first user that is currently working within a virtual room of a collaboration network, the input requesting the real-time transmission of an audio and/or video message to at least one other user that is currently working within the virtual room. For example, user interface 200 can include an option that a user can select to send an audio and/or video communication to some or all of the other users in a virtual room.
Method 600 includes an act 602 of capturing an audio and/or video message from the first user. For example, the client computing device on which the user is working can capture audio (e.g. via a microphone) and/or video (e.g. via a webcam) from the user.
Method 600 includes an act 603 of determining which users, from among a plurality of users, are currently working within the virtual room. For example, the same or similar mechanism used to determine indicators 210, 211 can also be used to identify which users are currently in the virtual room.
Method 600 includes an act 604 of transmitting the captured audio and/or video message in real-time to each user that is currently working within the virtual room. For example, the captured audio and/or video message can be immediately transmitted for display on a client computing device being used by each of the other users in the virtual room.
The present invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.