Many work activities require collaboration and interaction. Unfortunately, existing online collaboration tools, though adequate for conferencing, lecturing and meeting, are not designed as an interactive workspace tool.
A collaboration system enables developers living and working in geographically diverse areas to work together by improving communication between the developers. Within a parallel processing design environment, this model of audio and video interaction is called “collaboration”. Video conferencing methods are enhanced to simultaneously allow independent collaborations for different parts of the same work environment. A developer is automatically switched from one collaboration to another as they move between working locations of the workspace. Collaboration includes the following modalities: privilege-based collaboration participation, automatic workspace collaboration switching (individual and group), collaboration observer modes (observer status and ghosting), automatic transport to another developer's location, whisper modes (audio and audio/video), simultaneous workspace object manipulation (visible and invisible objects), multi-linguistic audio automatic language translation, adjacent-workspace developer-presence indicator, and text object collaboration.
In one embodiment, a system allows collaboration between a plurality of developers having simultaneous access to a hierarchical workspace. The system includes a management server with a non-transitory memory and a processor. A collaborator, having machine readable instructions stored the memory and executable by the processor, capable of facilitating: a first collaboration between a first two of the plurality of developers working at a first location of the hierarchical workspace; and a second collaboration between a second two of the plurality of developers working at a second location of the hierarchical workspace, wherein the first two and the second two developers are each different from one another.
In another embodiment, a method implements a first collaboration between a first group of developers accessing a first location within a hierarchical workspace and a second collaboration between a second group of developers accessing a second location within the hierarchical workspace. The first collaboration is generated in association with the first location, and for each of the first group of developers, a first collaboration screen in communication with the first collaboration is generated. Information is conveyed between each of the first collaboration screens. The second collaboration is generated in association with the second location, and for each of the second group of developers, a second collaboration screen in communication with the second collaboration is generated. Information is conveyed between each of the second collaboration screens.
In another embodiment, a software product has instructions, stored on non-transitory computer-readable media, wherein the instructions, when executed by a computer, perform steps for implementing a first collaboration between a first group of developers working at a first location within a hierarchical workspace and a second collaboration between a second group of developers working at a second location within the hierarchical workspace. The software product includes instructions for generating the first collaboration in association with the first location; instructions for generating, for each of the first group of developers, a first collaboration screen in communication with the first collaboration; instructions for conveying information between each of the first collaboration screens; instructions for generating the second collaboration in association with the second location; instructions for generating, for each of the second group of developers, a second collaboration screen in communication with the second collaboration; and instructions for conveying information between each of the second collaboration screens.
Similarly, a second developer 128(2) uses a developer computer 120(2) to access (e.g., via the Internet and/or other networking system) management server 101, wherein developer 128(2) is provided a developer interface 126(2) on developer computer 120(2). Developer interface 126(2) is for example implemented using a display 122(2) and an input device 124(2) of developer computer 120(2).
The first and second developers 128 interact with developer interface 126 to access and manipulate a hierarchical workspace 110 within management server 101. For example, each of the first and second developers 128 may develop software within hierarchical workspace 110. Management server 101 includes a collaborator 108 having machine readable instructions that are executed by processor 106 to implement at least one collaboration 112 between the developers 128.
Collaborator 108 generates one collaboration 112 for each different location (e.g., a development location) within hierarchical workspace 110 that is accessed by one or more developer interfaces 126. Collaborator 108 generates a collaboration screen 130 for each developer interface 126 joining collaboration 112. In one example of operation, collaborator 108 may generate collaboration 112(1) for a first location within hierarchical workspace 110 that is accessed by (e.g., viewed, created, and/or modified by) developer interface 126(1) of first developer 128(1) using computer 120(1). Collaborator 108 generates collaboration screen 130(1) on developer computer 120(1) that allows the first developer 128(1) to interact with collaboration 112(1). Where developer interface 126(2) also accesses the first location of hierarchical workspace 110, collaborator 108 generates collaboration screen 130(2) on developer computer 120(2) that allows the second developer 128(2) to interact with collaboration 112(1). Thereby, the first and second developer 128 may communicate with each other through collaboration 112(1).
Collaborator 108 may simultaneously generate other collaborations 112 for each different location within hierarchical workspace 110 that is accessed by other developers. For example, wherein developer interface 126(2) accesses a second location within hierarchical workspace 110, collaborator generates collaboration 112(2) in association with the second location and generates collaboration screen 130(2) such that the second developer 128(2) may interact with collaboration 112(2).
As each developer moves to different locations (e.g., different hierarchical levels and/or different locations within the same hierarchical level) within workspace 110, collaboration screen 130 is automatically disconnected from, and connected to, the appropriate collaboration 112.
A developer may not have full access to the certain processes and decomposition levels (which represent workspaces). Access to various workspaces may be controlled using access privileges. Access privileges are of three kinds: no access or no privileges, read-only access, and read-write access or edit privileges. A developer with a “no access” privilege to some workspace will not be able to enter that area and, thus, cannot participate in any collaboration occurring there. A developer with a “read-only” privilege is not allowed to modify items within that workspace but is able to see the video transmissions and hear the audio but does not have audio-video output capability, nor do they have access to a collaborative pointer 312. That developer may, however, use instant messaging to communicate with anyone they wish. Developers with “edit” privileges have audio/video feeds, whisper-mode access, instant messaging, and access to their own collaborative pointers 312.
In the example of
For developers with edit privileges, it is possible to move multiple members of one collaboration to a different part of system 100. A developer requests that others move with him by selecting the Follow the Leader button 316 associated with their video feeds 318. Selecting the Follow the Leader button316 is a request to follow, causing these buttons of the same name on the selected video feeds to indicate the request to developers associated with the feeds. Each developer then selects his own Follow the Leader button 316, putting the developer in a follow-the-leader mode. Collaboration screen 300 indicates that the request is accepted by changing the button 316. A developer may leave follow-the-leader mode by de-selecting the Follow the Leader button 316. Double clicking a requesting Follow the Leader button 316 denies the request.
Once in follow-the-leader mode, any place within system 100 that the requester goes causes each developer within that group to follow to that collaborative location within hierarchical workspace 110. This allows a development team to remain cohesive while traversing multiple locations within system 100.
A developer with a read-only privilege wishing to join the collaboration may only do so in observer mode. An administrator who would like to observe without being observed can select ghost mode.
The purpose of observer mode is to allow the observer to witness the development activities without participation. Developers in observer mode may see all collaboration video and hear all collaboration audio. However, they cannot initiate their own audio or video. An observer may communicate only through instant messaging. The observer's name 320 is shown on the workspace.
Ghost mode allows management to observe development activities without being observed. This ensures that the work is not disrupted while giving management the information required to manage.
In larger systems, it can be difficult to determine the location of other developers.
Having open communication within a collaboration at all times may be disruptive to the collaboration. Whisper mode allows communication among a subset of the collaboration attendees. Non-whisperers do not share in whispered communication. Essentially, a temporary sub-collaboration is created. Whisper mode can be audio only or audio and video.
True collaboration implies that multiple developers may simultaneously access different objects within hierarchical workspace 110. Objects may be processes, data storage, terminators or connectors. The first developer to access a particular object retains that object until they release it.
In order to access an object such that others in the collaboration can see the manipulation, the developer selects the collaborative pointer by clicking on a blank part of the workspace which changes the pointer to the same color as that surrounding the developer's own video feed. All collaborators can now see the initiating developer's collaborative pointer. Any action taken while using the collaborative pointer will be visible to all collaborators. To return to standard-pointer mode, the developer again selects a blank part of the workspace.
If the pointer is in standard mode but the developer is in collaboration mode then manipulating an object is invisible to the collaboration until the Submit button is selected. Once the Submit button has been selected, the object changes become visible to the collaboration. When in invisible-object manipulation mode, the collaborative activity performed by the other developers is not visible. This allows for complex manipulation of objects without such manipulations crowding the collaboration workspace with multiple, complex information.
Collaboration with Text Activities
Frequently, text-based activities require collaboration. Examples are source code and requirements-document writing. Text is typically flat, that is non-hierarchical, and therefore, the collaboration methods are different.
Collaboration may take place using a type of network including but not limited to star, ring, bus, frame-relay, local area, wide area, cell-phone, internet, centralized, decentralized, distributed, tree, botnet, etc.
The systems and method for collaboration described above provide a collaborative work environment among people across the globe. New collaboration modalities discussed were: privilege-based collaboration participation, automatic workspace collaboration switching (individual and group), collaboration observer modes (observer status and ghosting), automatic transport to another developer's location, whisper modes (audio and audio/video), simultaneous workspace object manipulation (visible and invisible objects), multi-linguistic automatic language translation, adjacent-workspace developer-presence indicator, and text-object collaboration.
In step 1308, method 1300 generates a second collaboration in association with a second location accessed by a second group of developers. In one example of step 1308, collaborator 108 generates collaboration 112(2) in association with a first location of hierarchical workspace 110 and developer 128(2). In step 1310, method 1300 generates a second collaboration screen in communication with the second collaboration for each developer in the second group. In one example of step 1310, collaborator 108 generates collaboration screen 130(2) in communication with collaboration 112(2) for developer 128(2). In step 1312, method 1300 conveys information between each of the second collaboration screens. In one example of step 1312, collaborator 108 and collaboration 112(2) convey information between collaboration screen 130(2) and collaboration screen 130(1).
Changes may be made in the above methods and systems without departing from the scope hereof. It should thus be noted that the matter contained in the above description or shown in the accompanying drawings should be interpreted as illustrative and not in a limiting sense. The following claims are intended to cover all generic and specific features described herein, as well as all statements of the scope of the present method and system, which, as a matter of language, might be said to fall therebetween.
This application claims priority to U.S. Patent Application Ser. No. 61/812,138, titled “System and Method for Collaboration”, filed Apr. 15, 2013, and incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
61812138 | Apr 2013 | US |