Collaborative Opportunity Injection Based on User Contribution Velocity

Managing contribution velocity of users on tasks is provided. A current contribution velocity of a user on a task is determined based on monitoring current activity metrics corresponding to the user. It is determined whether the current contribution velocity of the user is less than a minimum contribution velocity threshold level defined for the task. In response determining that the current contribution velocity of the user is less than the minimum contribution velocity threshold level defined for the task, currently active co-collaborating users are identified based on monitored activity metrics on client devices of a set of co-collaborating users corresponding to the task. A collaboration is initiated between the currently active co-collaborating users and the user to assist the user on the task.

BACKGROUND

The disclosure relates generally to task management and more specifically to managing contribution velocity of a user on a task by monitoring the contribution velocity of the user on the task and initiating a collaboration between active co-collaborating users corresponding to the task and the user to assist the user on the task when the contribution velocity falls below a defined minimum contribution velocity threshold level.

With the growing trend of working remotely, teams need to communicate, collaborate, and share work product and ideas quickly. A collaborative environment is where a task or project is worked on by multiple people regardless of their geographic location. As a result, a collaborative environment is often virtual and utilizes technologies, such as, for example, email, instant messaging, video conferencing, application sharing, collaborative workspaces, Wiki groups, blogging, and the like. In addition, working in a collaborative environment can facilitate completion of tasks in less time. For example, collaboration enables a group of people to constructively explore different ideas to discover solutions to tasks that are far more extensive than only one person's thought process.

SUMMARY

According to one illustrative embodiment, a computer-implemented method for managing contribution velocity of users on tasks is provided. A computer determines a current contribution velocity of a user on a task based on monitoring current activity metrics corresponding to the user. The computer determines whether the current contribution velocity of the user is less than a minimum contribution velocity threshold level defined for the task. In response to the computer determining that the current contribution velocity of the user is less than the minimum contribution velocity threshold level defined for the task, the computer identifies currently active co-collaborating users based on monitored activity metrics on client devices of a set of co-collaborating users corresponding to the task. The computer initiates a collaboration between the currently active co-collaborating users and the user to assist the user on the task. According to other illustrative embodiments, a computer system and computer program product for managing contribution velocity of users on tasks are provided.

DETAILED DESCRIPTION

With reference now to the figures, and in particular, with reference toFIG.1, a diagram of a computing environment is provided in which illustrative embodiments may be implemented. It should be appreciated thatFIG.1is only meant as an example and is not intended to assert or imply any limitation with regard to the computing environments in which different embodiments may be implemented. Many modifications to the depicted computing environment may be made.

Computing environment100contains an example of an environment for the execution of at least some of the computer code involved in performing the inventive methods, such as contribution velocity management code200. For example, contribution velocity management code200monitors the contribution velocity of a user on a task (e.g., project, assignment, job, or the like) and any currently active applications (e.g., open displays or windows) on the user's client device (e.g., desktop computer, laptop computer, tablet computer, smart phone, or the like) to gauge the current speed or rate of progress (i.e., contribution velocity) on the task by the user. In addition, contribution velocity management code200initiates a collaboration between other active co-collaborating users corresponding to that task and the user to assist the user on the task in response to contribution velocity management code200determining that the user's contribution velocity on that task has fallen below a minimum contribution velocity threshold level defined for that task. In other words, contribution velocity management code200determines whether or not the user is currently active and working on that task or at a low contribution velocity for that task based on the type of application the user is currently utilizing or viewing on the user's client device. For example, contribution velocity management code200determines whether the user is currently utilizing an application that corresponds to that task. Further, contribution velocity management code200can identify an alternate task for the user to start working on in response to contribution velocity management code200determining that no other co-collaborating user on that task is currently active and one or more other users who are collaborating on the alternate task, which also corresponds to the user, are currently active.

EUD103is any computer system that is used and controlled by an end user (for example, a user of the contribution velocity management services provided by computer101), and may take any of the forms discussed above in connection with computer101. EUD103typically receives helpful and useful data from the operations of computer101. For example, in a hypothetical case where computer101is designed to provide a contribution velocity acceleration recommendation to the end user, this contribution velocity acceleration recommendation would typically be communicated from network module115of computer101through WAN102to EUD103. In this way, EUD103can display, or otherwise present, the contribution velocity acceleration recommendation to the end user. In some embodiments, EUD103may be a client device, such as thin client, heavy client, mainframe computer, desktop computer, laptop computer, tablet computer, smart phone, and so on.

Remote server104is any computer system that serves at least some data and/or functionality to computer101. Remote server104may be controlled and used by the same entity that operates computer101. Remote server104represents the machine(s) that collect and store helpful and useful data for use by other computers, such as computer101. For example, in a hypothetical case where computer101is designed and programmed to provide a contribution velocity acceleration recommendation based on historical data, then this contribution velocity acceleration historical data may be provided to computer101from remote database130of remote server104.

As used herein, when used with reference to items, “a set of” means one or more of the items. For example, a set of clouds is one or more different types of cloud environments. Similarly, “a number of,” when used with reference to items, means one or more of the items. Moreover, “a group of” or “a plurality of” when used with reference to items, means two or more of the items.

One of the best ways for progress to be made on a task is to work on the task collaboratively with others. However, one issue with working on a task collaboratively is that each of the collaborating users may not know what other collaborating users are currently doing. In addition, one or more of the collaborating users on the task may become disinterested, distracted, diverted, detached, unfocused, or the like. Consequently, a solution is needed that can identify a decreased contribution velocity of a user on a task and notify other co-collaborating users to reach out to the user to assist the user on the task when needed. In other words, a solution is needed that can identify who to notify to collaborate with the user regarding the task to align the contribution velocity of co-collaborating users when the user's current level of contribution is low.

Illustrative embodiments dynamically inject a collaborative notification based on the contribution velocity of a user on a particular task. For example, illustrative embodiments monitor the contribution velocity of the user on that particular task and the currently active application on the user's computer to gauge the current rate of contribution of the user on that particular task. Illustrative embodiments notify other active co-collaborating users corresponding to that particular task in response to illustrative embodiments determining that the current contribution velocity of the user is less than or equal to a defined minimum contribution velocity threshold level for that particular task. For example, illustrative embodiments determine that the user's current rate of progress on writing a particular document (i.e., the current task) is slowing down based on illustrative embodiments monitoring the activity metrics corresponding to the user. Activity metrics are indicators that a collaborating user is currently working on a task. Activity metrics can include, for example, the currently active application that the user is utilizing on the user's computer (i.e., client device) to perform the task, current inputs (e.g., keystrokes on the keyboard, menu selects, and the like) on the user's computer related to the task, unrelated application interactions or other unrelated computer activity on the user's computer, and the like.

In response to illustrative embodiments determining that the contribution velocity of the user on the document has fallen below the defined minimum contribution velocity threshold level, illustrative embodiments determine whether one or more other co-collaborating users on the document are currently active. In response to illustrative embodiments determining that one or more of the other co-collaborating users on the document are currently active, illustrative embodiments initiate a collaboration between those other active co-collaborating users and the user to assist the user on the document. Illustrative embodiments also monitor the activity metrics of the other co-collaborating users to determine when any of the other co-collaborating users are currently active. Illustrative embodiments notify those currently active co-collaborating users when the user's contribution velocity is below the defined minimum contribution velocity threshold level so that those other currently active co-collaborating users can encourage and assist the user on the document. Activity metrics can also indicate when a particular co-collaborating user is currently available (e.g., currently online, not participating in a scheduled meeting, and the like).

Furthermore, in response to illustrative embodiments determining that none of the other co-collaborating users on the document are currently active when the contribution velocity of the user is below the defined minimum contribution velocity threshold level, illustrative embodiments direct the user to work on an alternate task, which also corresponds to the user, that has one or more currently active users who are collaborating with the user on the alternate task. In addition, illustrative embodiments take into account whether a particular co-collaborating user has historically communicated with other co-collaborating users when notified by illustrative embodiments and how effective that particular co-collaborating user has been with regard to assisting other co-collaborating users with tasks.

Moreover, illustrative embodiments take into account historic contribution velocity acceleration on a given task when the original co-collaborating users request one or more additional users to collaboratively work with the original co-collaborating users on that same task. As an illustrative example scenario, two co-collaborating users, User 1 and User 2, have reached a point where the two co-collaborating users are ready for additional input on a particular task. Thus, the two co-collaborating users invite another user, User 3, who is currently online and ready to assist with that particular task. User 3 wants to collaborate with User 1 and User 2, but User 3 also wants User 4, who is an expert on the topic of that particular task and who is currently online, to join the collaborative effort. It should be noted that a dynamic “chaining” effect exists when additional users are asked to collaborate with the original co-collaborating users on a task in real-time. This addition of other users reinforces the ability to accelerate movement toward completion of the task in real-time based on a set of specific parameters or criteria. For example, the set of specific parameters may include a maximum number of collaborating users and a specified time limit on the task, such as a maximum of eight collaborating users and a twenty-four-hour time limit on the task. As a result, this dynamic chaining effect yields higher contribution velocity on the task.

Thus, illustrative embodiments provide one or more technical solutions that overcome a technical problem with an inability of collaborating users to know whether other collaborating users need assistance on that task. As a result, these one or more technical solutions provide a technical effect and practical application in the field of task management.

With reference now toFIG.2, a diagram illustrating an example of a contribution velocity management process is depicted in accordance with an illustrative embodiment. Contribution velocity management process201may be implemented in a computer, such as, for example, computer101inFIG.1. For example, contribution velocity management process201may be implemented in contribution velocity management code200inFIG.1.

At202, the computer, which provides the contribution velocity management services of illustrative embodiments, receives a user registration to the contribution velocity management services granting access to activity metrics corresponding to the user from the user's computer via a network. It should be noted that the user's computer is a client device of the computer. At204, the computer detects active applications on the user's computer and identifies co-collaborating users corresponding to a task of the user.

At206, the computer monitors activity metrics of the co-collaborating users. At208, the computer retrieves historical contribution velocity acceleration data corresponding to the co-collaborating users from storage. At210, the computer iteratively monitors current activity metrics212of the user on a predetermined time interval basis (e.g., once every minute, five minutes, ten minutes, thirty minutes, sixty minutes, or any other interval of time) and determines the user's current contribution velocity on the task based on current activity metrics212of the user. Current activity metrics212include, for example, at least one of the computer identifying whether the application corresponding to the task is currently active on the user's computer, the computer identifying current inputs related to the task on the user's computer, the computer identifying any unrelated application interactions and unrelated computer activity on the user's computer, and the like. It should be noted that the computer increases the user's current contribution velocity for the task in response to the computer identifying that the application corresponding to the task is currently active on the user's computer. Conversely, the computer deceases the user's current contribution velocity for the task in response to the computer identifying that the application corresponding to the task is not currently active on the user's computer.

At214, the computer determines whether the user's current contribution velocity is less than a minimum contribution velocity threshold level defined for the task. In response to the computer determining that the user's current contribution velocity is not less than the minimum contribution velocity threshold level defined for the task, the computer, at210, continues to iteratively monitor current activity metrics212. In response to the computer determining that the user's current contribution velocity is less than the minimum contribution velocity threshold level defined for the task, the computer, at216, identifies currently active co-collaborating users based on the activity metrics of the co-collaborating users.

At218, the computer initiates a collaboration between the currently active co-collaborating users and the user to assist the user on the task. For example, the currently active co-collaborating users can engage the user in a collaborative session to assist the user on the task to increase the user's current contribution velocity. At220, the computer determines an amount of current contribution velocity acceleration by the user on the task based on continued monitoring of the user's activity metrics. In addition, the computer stores the amount of current contribution velocity acceleration in the historical contribution velocity acceleration data.

With reference now toFIGS.3A-3B, a flowchart illustrating a process for managing contribution velocity of users on tasks is shown in accordance with an illustrative embodiment. The process shown inFIGS.3A-3Bmay be implemented in a computer, such as, for example, computer101inFIG.1. For example, the process shown inFIGS.3A-3Bmay be implemented in contribution velocity management code200inFIG.1.

The process begins when the computer receives an indication via a network that a user is currently utilizing an application on a client device to perform a task (step302). In response to receiving the indication, the computer identifies a set of co-collaborating users corresponding to the task based on stored information associated with the task (step304). In addition, the computer monitors activity metrics on client devices of the set of co-collaborating users via the network (step306). The computer also retrieves historical contribution velocity acceleration data corresponding to the set of co-collaborating users from storage (step308).

Further, the computer monitors current activity metrics corresponding to the user on the client device of the user via the network (step310). Furthermore, the computer determines a current contribution velocity of the user on the task based on the monitoring of the current activity metrics corresponding to the user (step312). Afterward, the computer makes a determination as to whether the current contribution velocity of the user is less than or equal to a minimum contribution velocity threshold level defined for the task (step314).

If the computer determines that the current contribution velocity of the user is greater than the minimum contribution velocity threshold level defined for the task, no output of step314, then the computer makes a determination as to whether the task has been completed (step316). If the computer determines that the task has not been completed, no output of step316, then the process returns to step310where the computer continues to monitor the current activity metrics corresponding to the user. If the computer determines that the task has been completed, yes output of step316, then the process terminates thereafter.

Returning again to step314, if the computer determines that the current contribution velocity of the user is less than or equal to the minimum contribution velocity threshold level defined for the task, yes output of step314, then the computer identifies currently active co-collaborating users based on the monitored activity metrics on the client devices of the set of co-collaborating users corresponding to the task (step318). The computer performs an analysis of the historical contribution velocity acceleration data corresponding to the currently active co-collaborating users (step320). The computer identifies those currently active co-collaborating users having a positive historical contribution velocity acceleration impact based on the analysis of the historical contribution velocity acceleration data corresponding to the currently active co-collaborating users (step322). The positive historical contribution velocity acceleration impact indicates that those currently active co-collaborating users were previously able to assist one or more other users on one or more other tasks.

The computer initiates a collaboration between those currently active co-collaborating users having a positive historical contribution velocity acceleration impact and the user to assist the user on the task (step324). The computer continues the monitoring of the current activity metrics corresponding to the user on the client device (step326). The computer determines an amount of current contribution velocity acceleration by the user on the task based on the continued monitoring of the current activity metrics corresponding to the user on the client device (step328). Subsequently, the computer stores the amount of current contribution velocity acceleration by the user on the task in the historical contribution velocity acceleration data (step330). Thereafter, the process returns to step316where the computer determines whether the task has been completed or not.