Method, system and program product for annotating a development artifact
Summary by NHIP
Project artifact annotation
The method manages project data and an integrated development environment that displays development artifacts and collaborative sessions. The system stores a collaboration artifact linked separately from a development artifact and displays an indicator for previous sessions associated with the displayed artifact.
Claim Score by NHIP
Abstract
An improved solution for managing a project. In particular, one or more development artifacts for the project can be annotated based on a collaborative session regarding the development artifact(s). The collaborative session can be stored as a collaborative artifact, which also can be stored in the project. As a result, the collaborative session can be readily recalled and/or subsequently resumed by one or more users.

Term
0.8 yearsleft in the term
Expires 7 July 2027, including 1,075 days of term adjustment.
- Priority and filed
- Granted
- Today
- Expires
11 claims: 2 independent, 9 dependent
- 1Broadest claimClaim Score 37, narrow(NHIP)A method of managing a project, the method comprising:managing, using a computing device, data for the project, the data including a set of artifacts included in the project;managing, using the computing device, a set of development artifacts included in the set of artifacts for the project, each development artifact comprising data that is used in completing at least one goal for the project;and managing, using the computing device, an integrated development environment (IDE) that enables at least one user to develop the project, the IDE being configured to: open the project;display a listing of the set of development artifacts in the project;display the data for at least one of the set of development artifacts in response to a selection of the at least one of the set of development artifacts in the listing;manage a collaborative session between a plurality of users, the managing including storing collaborative data for the collaborative session in a collaboration artifact in the set of artifacts for the project and storing an association between the collaboration artifact and a development artifact in the set of artifacts for the project, wherein the association is stored separately from the development artifact;and display an indicator for a previous collaborative session that is associated with a development artifact that is displayed;wherein the IDE is further configured to maintain version control for each development artifact, collaboration artifact, and association in the set of artifacts for the project.
- 7A method of managing a software project, the method comprising:managing, using a computing device, data for the software project, the data including a set of artifacts included in the software project;managing, using the computing device, a set of source code files included in the set of artifacts for the software project;and managing, using the computing device, an integrated development environment (IDE) that enables at least one user to develop the software project, the IDE being configured to: open the project;display a listing of the set of source code files in the project;display data for at least one of the set of source code files in response to a selection of the at least one of the set of source code files in the listing;manage a collaborative session between a plurality of users for at least one of the set of source code files, the managing including storing collaborative data for the collaborative session in a collaboration artifact in the set of artifacts for the project and storing an association between the collaboration artifact and the at least one of the set of source code files in the set of artifacts for the project, wherein the association is stored separately from the at least one of the set of source code files;and display an indicator for a previous collaborative session that is associated with a source code file that is displayed;wherein the IDE is further configured to maintain version control for each artifact in the set of artifacts for the project.
Independent claims2
51 paragraphs in 4 sections, as filed
BACKGROUND OF THE INVENTION
p-00021. Technical Field
p-0003The invention relates generally to annotating a development artifact. Specifically, under the present invention, a development artifact can be annotated with information on one or more collaborative sessions regarding the development artifact.
p-00042. Background Art
p-0005Integrated Development Environments (IDEs), such as Websphere® Studio Application Developer offered by International Business Machines (IBM) Corp. of Armonk, N.Y., provide the primary workplace for completing a project, such as the development of a software product. To this extent, a typical IDE provides tools to manage and manipulate several types of development artifacts. For example, in software development, development artifacts can include models, source code files, function libraries, tasks, test cases, activities, etc.
p-0006Frequently, multiple individuals contribute to completing any given project. In this case, two or more individuals may collaborate regarding one or more of the development artifacts. For example, two software developers may discuss a particular section of source code. To date, in order to collaborate, individuals must use a collaborative approach that is provided apart from the IDE. Typical collaborative approaches include an in-person conversation, electronic mail, a telephone conversation, a discussion forum, instant messaging (e.g., text chat, voice chat), and the like.
p-0007Each of these collaborative approaches has several drawbacks. In particular, each approach requires that the individuals leave the context of the IDE environment. As a result, time is wasted in leaving and returning to the IDE environment, and project information managed by the IDE may not be fully exploited during the collaboration. Further, a record of the collaboration may not be saved and/or may not be readily linked with the development artifact that was discussed. As a result, knowledge that is obtained as a result of the collaboration may be forgotten and/or may not be efficiently disseminated to one or more other individuals contributing to the project.
p-0008Within existing IDE environments, several approaches can be used to incorporate some record of the collaboration into the project. For example, an activity tracking system, such as Rational® ClearQuest® offered by IBM Corp., can be used to manage various project-related activities. However, this approach requires an individual to spend additional time in entering a report, and may be overly formal and structured for many collaborations. Further, a textual comment can be added when a development artifact is “checked in” or “checked out” of an artifact management system, such as Rational® ClearCase® offered by IBM Corp. This approach is limited since the comment can only be entered when interacting with the artifact management system, which may occur at a time that is remote from a particular collaboration. Moreover, the collaboration can only be linked to one or more development artifacts, and not to a particular region of an artifact that was discussed during collaboration. Still further, the content of the collaboration can be included in the development artifact itself (e.g., as a comment in source code). However, in addition to being time consuming and occurring apart from the collaboration, this approach may not be desirable when the development artifact is to be provided to customers.
p-0009As a result, a need exists for a solution for annotating a development artifact. In particular, a need exists for a method, system and program product that can record a collaborative session between two or more individuals and associate the collaborative session with the corresponding development artifact. To this extent, there exists a need for an IDE that incorporates collaboration functionality, and a project that includes collaboration data that is associated with one or more corresponding development artifacts.
SUMMARY OF THE INVENTION
p-0010The invention provides a solution in which a development artifact can be annotated with collaboration data. Specifically, under the present invention, a collaborative session between a plurality of users can be recorded and stored as a collaboration artifact. The collaboration artifact can be associated with the corresponding development artifact(s) and/or one or more regions of the development artifact(s). When the development artifact is subsequently displayed, an indicator can be displayed to indicate that a collaboration artifact is associated with the region/development artifact. A user can then select to view and/or listen to the data in the collaboration artifact, resume the collaborative session, or the like. The collaboration artifact and the corresponding associations can be stored as part of a project along with the development artifact(s).
p-0011A first aspect of the invention provides a method of annotating a development artifact, the method comprising: obtaining the development artifact from a set of artifacts; initiating a collaborative session between at least two users; recording the collaborative session as a collaboration artifact; and associating the collaboration artifact with the development artifact.
p-0012A second aspect of the invention provides a method of annotating a region of a development artifact, the method comprising: obtaining a region of the development artifact; initiating a collaborative session between at least two users; assisting the collaborative session based on the region; recording the collaborative session as a collaboration artifact; and associating the collaboration artifact with the development artifact.
p-0013A third aspect of the invention provides a system for annotating a development artifact, the system comprising: a development system for managing the development artifact; a collaboration system for managing a collaborative session between at least two users; and an association system for associating the collaborative session with the development artifact.
p-0014A fourth aspect of the invention provides an integrated development environment (IDE) comprising: an artifact system for managing a set of artifacts, wherein the set of artifacts includes a set of development artifacts and a set of collaboration artifacts; a development system for managing the set of development artifacts; a collaboration system for managing the set of collaboration artifacts; and an association system for associating the set of collaboration artifacts with the set of development artifacts.
p-0015A fifth aspect of the invention provides a software project stored on a recordable medium, the software project comprising: a set of development artifacts that includes at least one source file; and a set of collaboration artifacts that includes at least one collaborative session that is associated with the at least one source file.
p-0016A sixth aspect of the invention provides a program product stored on a recordable medium for annotating a development artifact, which when executed comprises: program code for obtaining the development artifact from a set of artifacts; program code for initiating a collaborative session between at least two users; program code for recording the collaborative session as a collaboration artifact; and program code for associating the collaboration artifact with the development artifact.
p-0017A seventh aspect of the invention provides a system for deploying an application for annotating a development artifact, the system comprising: a computer infrastructure being operable to: obtain the development artifact from a set of artifacts; initiate a collaborative session between at least two users; record the collaborative session as a collaboration artifact; and associate the collaboration artifact with the development artifact.
p-0018An eighth aspect of the invention provides computer software embodied in a propagated signal for annotating a development artifact, the computer software comprising instructions to cause a computer system to perform the following functions: obtain the development artifact from a set of artifacts; initiate a collaborative session between at least two users; record the collaborative session as a collaboration artifact; and associate the collaboration artifact with the development artifact.
p-0019The illustrative aspects of the present invention are designed to solve the problems herein described and other problems not discussed, which are discoverable by a skilled artisan.
BRIEF DESCRIPTION OF THE DRAWINGS
p-0020These and other features of this invention will be more readily understood from the following detailed description of the various aspects of the invention taken in conjunction with the accompanying drawings that depict various embodiments of the invention, in which:
p-0021<figref idrefs="DRAWINGS">FIG. 1</figref> shows an illustrative system for managing a project;
p-0022<figref idrefs="DRAWINGS">FIG. 2</figref> shows an illustrative project according to one embodiment of the invention;
p-0023<figref idrefs="DRAWINGS">FIG. 3</figref> shows an illustrative interface for a collaborative session; and
p-0024<figref idrefs="DRAWINGS">FIG. 4</figref> shows an illustrative interface for displaying a project.
p-0025It is noted that the drawings of the invention are not to scale. The drawings are intended to depict only typical aspects of the invention, and therefore should not be considered as limiting the scope of the invention. In the drawings, like numbering represents like elements between the drawings.
DETAILED DESCRIPTION OF THE INVENTION
p-0026As indicated above, the invention provides a solution in which a development artifact can be annotated with collaboration data. Specifically, under the present invention, a collaborative session between a plurality of users can be recorded and stored as a collaboration artifact. The collaboration artifact can be associated with the corresponding development artifact(s) and/or one or more regions of the development artifact(s). When the development artifact is subsequently displayed, an indicator can be displayed to indicate that a collaboration artifact is associated with the region/development artifact. A user can then select to view and/or listen to the data in the collaboration artifact, resume the collaborative session, or the like. The collaboration artifact and the corresponding associations can be stored as part of a project along with the development artifact(s).
p-0027Turning to the drawings, <figref idrefs="DRAWINGS">FIG. 1</figref> shows an illustrative system <b>10</b> for managing a project <b>60</b>. In general, users <b>30</b>A-B can develop project <b>60</b> using computer <b>12</b>. For example, computer <b>12</b> can comprise an integrated development environment (IDE) <b>40</b> that allows users <b>30</b>A-B to manage various data related to project <b>60</b>. It is understood that project <b>60</b> can comprise any data that is created, developed, and/or managed by one or more users <b>30</b>A-B to complete a goal. For example, project <b>60</b> can comprise computer program code developed for a software product, computer aided design (CAD) drawing files for a structure or computing device, etc. Further, project <b>60</b> can comprise data for planning, scheduling, designing, documenting, etc., the goal(s) for project <b>60</b>.
p-0028When developing project <b>60</b>, users <b>30</b>A-B can collaborate with each other and/or interact with IDE <b>40</b>. In one embodiment, one or more users <b>30</b>A-B can use a computing device (not shown) that communicates with computer <b>12</b> and/or another computing device over one or more networks <b>26</b> to collaborate and/or access IDE <b>40</b>. In this case, each network <b>26</b> can comprise any type of communications link. For example, network <b>26</b> can comprise an addressable connection in a client-server (or server-server) environment that may utilize any combination of wireline and/or wireless transmission methods. To this extent, computer <b>12</b> and another computing device may utilize conventional network connectivity, such as Token Ring, Ethernet, WiFi or other conventional communications standards. Further, network <b>26</b> can comprise any combination of various types of networks, including the Internet, a wide area network (WAN), a local area network (LAN), a virtual private network (VPN), etc. Where users <b>30</b>A-B communicate with computer <b>12</b> via the Internet, connectivity could be provided by conventional TCP/IP sockets-based protocol, and users <b>30</b>A-B could utilize an Internet service provider to establish connectivity to computer <b>12</b>.
p-0029In any event, computer <b>12</b> comprises any type of computing device capable of communicating with one or more other computing devices and/or interacting with one or more users <b>30</b>A-B. For example, computer <b>12</b> can comprise a server, a desktop computer, a laptop, a handheld device, a mobile phone, a pager, a personal data assistant, etc. To this extent, computer <b>12</b> is shown including a processor <b>14</b>, a memory <b>16</b>, an input/output (I/O) interface <b>18</b>, a bus <b>20</b>, external I/O devices/resources <b>22</b>, and a storage system <b>24</b>. In general, processor <b>14</b> executes computer program code such as IDE <b>40</b>, that is stored in memory <b>16</b> and/or storage system <b>24</b>. While executing computer program code (e.g., IDE <b>40</b>), processor <b>14</b> can read and/or write data to/from memory <b>16</b>, storage system <b>24</b>, and/or I/O interface <b>18</b>. Bus <b>20</b> provides a communication link between each of the components in computer <b>12</b>.
p-0030It is understood that computer <b>12</b> is only illustrative of various possible combinations of hardware. For example, processor <b>14</b> may comprise a single processing unit, or be distributed across one or more processing units in one or more locations, e.g., on a client and server. Similarly, memory <b>16</b> and/or storage system <b>24</b> can comprise any combination of various types of data storage and/or transmission media that reside at one or more physical locations. I/O interface <b>18</b> can comprise any system for exchanging information with one or more I/O devices <b>22</b> that can provide an interface with one or more users <b>30</b>A-B and/or other computing devices. It is understood, however, that if computer <b>12</b> comprises a handheld device or the like, one or more I/O devices <b>22</b> (e.g., a display) could be contained within computer <b>12</b>, and not as an external I/O device <b>22</b> as shown.
p-0031As noted above, project <b>60</b> comprises any type of data for meeting one or more goals. <figref idrefs="DRAWINGS">FIG. 2</figref> shows an illustrative project <b>60</b> according to one embodiment of the invention. In particular, project <b>60</b> is shown including a set (one or more) of artifacts <b>62</b> that includes a set of development artifacts <b>64</b>. Each development artifact <b>64</b> can comprise any combination of data that is typically stored and used in completing one or more goal(s) for project <b>60</b>. For example, development artifact <b>64</b> can comprise a model, a source code file, a CAD diagram, function library, task, test case, activity, schedule, etc. To this extent, development artifact <b>64</b> can be stored on storage system <b>24</b> (<figref idrefs="DRAWINGS">FIG. 1</figref>) as one or more files, a database, one or more entries in a database, etc.
p-0032According to one embodiment of the invention, project <b>60</b> further includes collaboration data. For example, set of artifacts <b>62</b> is shown including a set of collaboration artifacts <b>66</b>. Each collaboration artifact <b>66</b> can comprise data that is generated and stored when multiple users <b>30</b>A-B (<figref idrefs="DRAWINGS">FIG. 1</figref>) collaborate regarding one or more development artifacts <b>64</b>. To this extent, each collaboration artifact <b>66</b> can comprise text, audio and/or video, etc. Further, each collaboration artifact <b>66</b> can be associated with the corresponding one or more development artifacts <b>62</b>. For example, project <b>60</b> can comprise a software project, and development artifact <b>64</b> can comprise a source code file. Collaboration artifact <b>66</b> can comprise data generated during a collaborative session between users <b>30</b>A-B that is associated with the source code file (development artifact <b>64</b>).
p-0033Returning to <figref idrefs="DRAWINGS">FIG. 1</figref>, in order to manage project <b>60</b>, IDE <b>40</b> is shown including an artifact system <b>42</b> for managing the set of artifacts <b>62</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>), a development system <b>44</b> for managing the set of development artifacts <b>64</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>), and an archive system <b>46</b> for archiving the set of artifacts <b>62</b>. Further, IDE <b>40</b> is shown including a collaboration system <b>48</b> for managing the set of collaboration artifacts <b>66</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>) and an association system <b>50</b> for managing the associations between the set of collaboration artifacts <b>66</b> and the set of development artifacts <b>62</b>. Operation of each of these systems is discussed further below.
p-0034However, it is understood that IDE <b>40</b> is only illustrative. As a result, some of the systems and/or functionality shown in IDE <b>40</b> may not be implemented and/or may be implemented separately. Further, additional systems and/or functionality may be included in IDE <b>40</b>. For example, users <b>30</b>A-B could each use a local IDE <b>40</b> that is implemented on a corresponding user device (not shown) for each user <b>30</b>A-B. In this case, each user device could also store a local copy of project <b>60</b>, and the user devices could communicate over a peer-to-peer network configuration to replicate development artifacts <b>64</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>) and/or collaboration artifacts <b>66</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>) as desired. Additionally, collaboration system <b>48</b> and/or association system <b>50</b> could be implemented apart from IDE <b>40</b> on another computer that is dedicated to managing collaborative artifacts and collaborative sessions but does not include IDE support capabilities.
p-0035As is known, IDE <b>40</b> is used to add, delete, modify, etc., artifacts <b>62</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>) of project <b>60</b>. To this extent, a user such as user <b>30</b>A can use artifact system <b>42</b> to open project <b>60</b>. Once project <b>60</b> is open, artifact system <b>42</b> can display a listing of some/all of the set of development artifacts <b>64</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>) for project <b>60</b>. User <b>30</b>A can select from the listing a particular development artifact <b>64</b> that he/she desires to view and/or modify. In response, artifact system <b>42</b> can launch an appropriate tool in development system <b>44</b> for displaying development artifact <b>64</b>. To this extent, development system <b>44</b> can comprise each tool necessary for displaying and/or editing development artifacts <b>64</b> such as a text editor, a drawing program, a database manager, planning software, etc. For example, when development artifact <b>64</b> comprises a source code file, a text editor in development system <b>44</b> can be used to display and/or modify the source code file.
p-0036Since development artifact <b>64</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>) may go through several iterations of revisions by users <b>30</b>A-B, archive system <b>46</b> can be used to maintain version control for the set of development artifacts <b>64</b>. As is known, archive system <b>46</b> can allow each user <b>30</b>A-B to “check out” a development artifact <b>64</b> that he/she desires to modify and “check in” a new version of the development artifact <b>64</b> after the modifications have been completed. Subsequently, other users <b>30</b>A-B can synchronize a local copy of the development artifact <b>64</b> to include the new modifications.
p-0037When viewing and/or editing development artifact <b>64</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>), user <b>30</b>A may desire to collaborate with another user <b>30</b>B regarding development artifact <b>64</b>. To this extent, artifact system <b>42</b> can enable user <b>30</b>A to initiate a collaborative session with user <b>30</b>B. The collaborative session can be implemented using any type of communication tool such as an in-person conversation, electronic mail, a telephone conversation, a discussion forum, an instant messaging conversation (e.g., text chat, voice chat), and the like. In any event, the collaborative session generates data such as textual communications, recorded conversation, etc., that can be saved as collaboration artifact <b>66</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>).
p-0038Collaboration system <b>48</b> can manage the collaborative session and the corresponding collaborative data. <figref idrefs="DRAWINGS">FIG. 3</figref> shows an illustrative interface <b>70</b> for the collaborative session. In this case, the collaborative session comprises an instant messaging conversation that is conducted using interface <b>70</b>. As is known, interface <b>70</b> includes a discussion display area <b>72</b> and a text editor <b>74</b>. Discussion display area <b>72</b> displays text entered by each collaborator (e.g., users <b>30</b>A-B shown in <figref idrefs="DRAWINGS">FIG. 1</figref>), and text editor <b>74</b> allows each collaborator to add his/her own text to the discussion. A collaborator can then select send button <b>76</b> to add the text from editor <b>74</b> to the discussion shown in discussion display area <b>72</b>.
p-0039As noted previously, the collaborative session may discuss one or more particular development artifacts <b>64</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>). To this extent, interface <b>70</b> can assist the collaborative session based on the corresponding one or more development artifacts <b>64</b>. For example, interface <b>70</b> is shown including an artifact display area <b>78</b> for displaying all or a region of a corresponding development artifact <b>64</b>. For example, user <b>30</b>A (<figref idrefs="DRAWINGS">FIG. 1</figref>) could select development artifact <b>64</b> and initiate a collaborative session with user <b>30</b>B (<figref idrefs="DRAWINGS">FIG. 1</figref>). In this case, development artifact <b>64</b> can be displayed in artifact display area <b>78</b>. This enables all collaborators (e.g., users <b>30</b>A-B) to easily refer to the development artifact <b>64</b> that is being discussed.
p-0040Additionally, context information available in IDE <b>40</b> (<figref idrefs="DRAWINGS">FIG. 1</figref>) also can be used to assist the collaborative session. For example, development system <b>44</b> (<figref idrefs="DRAWINGS">FIG. 1</figref>) can comprise a text editor to edit program code for a software product. The text editor can use context information to link to the definition of a function, auto-complete object, variable and/or function names, provide a tool tip that lists function variables, etc. In this case, editor <b>74</b> for interface <b>70</b> can include the same functionality. Additional functionality, such as auto-completing a line in the associated program code also can be included in editor <b>74</b>. Similar functionality can be incorporated for other types of projects. For example, when project <b>60</b> (<figref idrefs="DRAWINGS">FIG. 1</figref>) comprises a circuit diagram, display area <b>78</b> can display a region of the circuit diagram and editor <b>74</b> can auto-complete a name of a part in the circuit diagram, display a tooltip comprising a pin layout for the part, etc.
p-0041In one embodiment, users <b>30</b>A-B (<figref idrefs="DRAWINGS">FIG. 1</figref>) may collaborate regarding a region of development artifact <b>64</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>), rather than the entire development artifact <b>64</b>. In this case, artifact display area <b>78</b> can display only the appropriate region of development artifact <b>64</b>. For example, user <b>30</b>A could use an editor in development system <b>44</b> (<figref idrefs="DRAWINGS">FIG. 1</figref>) to select a region of development artifact <b>64</b>. Subsequently, user <b>30</b>A can initiate a collaborative session with user <b>30</b>B, and the selected region of development artifact <b>64</b> can be provided to collaboration system <b>48</b> (<figref idrefs="DRAWINGS">FIG. 1</figref>) for display in artifact display area <b>78</b>. It is understood that various approaches are possible for selecting a region of development artifact <b>64</b>. For example, a software function that is currently being displayed/edited can be provided as the region. Further, it is understood that multiple regions from one or more development artifacts <b>64</b> could be selected and displayed in artifact display area <b>78</b>. For example, a definition of a function referenced in a highlighted region could be provided and displayed in artifact display area <b>78</b>.
p-0042It is understood that one or more regions of development artifact(s) <b>64</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>) could be provided for display in artifact display area <b>78</b> after the collaborative session has started. To this extent, artifact display area <b>78</b> and/or discussion display area <b>72</b> can include functionality such as linking, etc., as discussed above with reference to editor <b>74</b> that would enable the ready selection of an additional region and/or development artifact <b>64</b>. Further, it is understood that while interface <b>70</b> is shown including a distinct discussion display area <b>72</b> and artifact display area <b>78</b>, interface <b>70</b> could include a single display area that displays both the development artifact <b>64</b> data and the collaboration discussion data.
p-0043In any event, collaboration system <b>48</b> (<figref idrefs="DRAWINGS">FIG. 1</figref>) can record the collaborative session. Once the collaborative session is complete, collaboration system <b>48</b> can store the recording of the collaborative session as collaboration artifact <b>66</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>). Subsequently, association system <b>50</b> (<figref idrefs="DRAWINGS">FIG. 1</figref>) can store and manage an association between collaboration artifact <b>66</b> and the corresponding development artifact(s) <b>64</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>). As shown in <figref idrefs="DRAWINGS">FIG. 2</figref>, collaboration artifact <b>66</b> and the corresponding associations with development artifact(s) <b>64</b> can be included in set of artifacts <b>62</b> for project <b>60</b>. When only one or more regions of development artifact(s) <b>64</b> are discussed during the collaborative session, collaboration artifact <b>66</b> can be associated with the particular region(s) rather than the development artifact(s) <b>64</b> as a whole. This allows users <b>30</b>A-B (<figref idrefs="DRAWINGS">FIG. 1</figref>) to more readily determine the relevancy of collaboration artifact <b>66</b>.
p-0044In one embodiment of the invention, development artifact <b>64</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>) is annotated with collaboration artifact <b>66</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>). For example, <figref idrefs="DRAWINGS">FIG. 4</figref> shows an illustrative interface <b>80</b> for displaying project <b>60</b> (<figref idrefs="DRAWINGS">FIG. 1</figref>). Interface <b>80</b> can be generated by artifact system <b>42</b> (<figref idrefs="DRAWINGS">FIG. 1</figref>) and can comprise a display area <b>82</b> for displaying some or all of set of artifacts <b>62</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>) for project <b>60</b>. User <b>30</b>A (<figref idrefs="DRAWINGS">FIG. 1</figref>) can select development artifact <b>64</b> using display area <b>82</b> and in response, development system <b>44</b> (<figref idrefs="DRAWINGS">FIG. 1</figref>) can display the selected development artifact <b>64</b> in an editor <b>84</b>.
p-0045When a collaborative session has previously been conducted regarding all or a region of development artifact <b>64</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>), editor <b>84</b> can display an indicator <b>86</b> for the collaboration artifact <b>66</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>) that is associated with development artifact <b>64</b>. To this extent, indicator <b>86</b> can comprise an indication of the region of development artifact <b>64</b> for which collaboration artifact <b>66</b> is relevant. It is understood that indicator <b>86</b> is only illustrative of various possible indicators. Further, it is understood that indicator <b>86</b> could be altered based on the type of collaborative session, based on the number of development artifacts <b>64</b>/regions that are relevant to collaboration artifact <b>66</b>, based on an age of collaboration artifact <b>66</b>, etc.
p-0046In any event, when user <b>30</b>A desires to view/listen to collaboration artifact <b>66</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>), user <b>30</b>A can select indicator <b>86</b>. In response, collaboration system <b>48</b> (<figref idrefs="DRAWINGS">FIG. 1</figref>) can generate a display area <b>88</b> that displays collaboration artifact <b>66</b>. Alternatively, collaboration system <b>48</b> could play an audio file, video file, etc., that corresponds to collaboration artifact <b>66</b>. As shown, display area <b>88</b> can display text that was generated during a collaborative session (e.g., instant messaging) to allow user <b>30</b>A to review the contents. Further, display area <b>88</b> could allow user <b>30</b>A to edit the text. For example, user <b>30</b>A could add clarifying text, remove text that is no longer relevant, etc. To this extent, display area <b>88</b> and/or editor <b>84</b> could comprise functionality that incorporates context information for project <b>60</b> (<figref idrefs="DRAWINGS">FIG. 1</figref>) as discussed above (e.g., auto-complete, linking, etc.). Access to various other operations can be provided to user <b>30</b>A using indicator <b>86</b>. For example, user <b>30</b>A could be allowed to delete the collaboration artifact <b>66</b> that corresponds to indicator <b>86</b>. In this case, indicator <b>86</b> would also be removed after collaboration artifact <b>66</b> has been deleted.
p-0047Further, display area <b>88</b> can allow user <b>30</b>A (<figref idrefs="DRAWINGS">FIG. 1</figref>) to perform one or more operations on collaboration artifact <b>66</b>. For example, user <b>30</b>A can use display area <b>88</b> to resume a previous collaborative session. In this case, a resume button <b>90</b> can be included in display area <b>88</b> that, when selected, can initiate a collaborative session between user <b>30</b>A and one or more other users. In response, the data in collaboration artifact <b>66</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>) can be displayed in display area <b>72</b> (<figref idrefs="DRAWINGS">FIG. 3</figref>) for the collaborative session, and newly added text can be concatenated on the end of the previous text. An ability to resume a previous collaborative session can be based on an availability each user <b>30</b>A-B that previously participated in the collaborative session. For example, collaboration system <b>48</b> (<figref idrefs="DRAWINGS">FIG. 1</figref>) can first determine if each user <b>30</b>A-B is currently available on a network <b>26</b> (<figref idrefs="DRAWINGS">FIG. 1</figref>) before displaying the resume button <b>90</b>. Further, since collaboration artifact <b>66</b> could undergo modification, archive system <b>46</b> (<figref idrefs="DRAWINGS">FIG. 1</figref>) could maintain version control for collaboration artifact <b>66</b>.
p-0048As discussed herein, the invention allows any user <b>30</b>A-B that has permission to access development artifact <b>64</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>) to readily access a corresponding collaboration artifact <b>66</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>). As a result, the results of the collaborative session can be efficiently propogated to other users <b>30</b>A-B that are viewing/modifying the same development artifact <b>64</b> but did not participate in the collaborative session. Further, any user <b>30</b>A-B could be allowed to revise, resume, etc., the collaborative session regardless of whether he/she participated in the original collaborative session. Still further, once a new collaborative artifact <b>66</b> has been generated, other users <b>30</b>A-B could be notified of its availability (e.g., when he/she opens the corresponding development artifact <b>64</b>) and could choose to access the new collaborative artifact <b>66</b>. It is understood that various alternatives are possible. For example, one or more of the original collaborators could adjust the permission to perform various operations such as viewing, editting, resuming, etc., that can be performed on the collaborative artifact <b>66</b>.
p-0049While the invention has been primarily shown and described as annotating a development artifact <b>64</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>) with collaboration data, it is understood that user <b>30</b>A (<figref idrefs="DRAWINGS">FIG. 1</figref>) could annotate development artifact <b>64</b> with a note. For example, user <b>30</b>A may want to add an informal note about the functionality implemented in a region of source code. In this case, user <b>30</b>A could select the region and use an editor such as editor <b>74</b> (<figref idrefs="DRAWINGS">FIG. 3</figref>) to generate the note and save it as a collaboration artifact <b>66</b> (<figref idrefs="DRAWINGS">FIG. 2</figref>) that is associated with the region of development artifact <b>64</b>.
p-0050Still yet, it should be appreciated that the teachings of the present invention could be offered as a business method on a subscription or fee basis. For example, IDE <b>40</b> (<figref idrefs="DRAWINGS">FIG. 1</figref>) could be created, maintained, supported, and/or deployed by a service provider that offers the functions described herein for customers. That is, a service provider could offer to manage project <b>60</b> (<figref idrefs="DRAWINGS">FIG. 1</figref>) as described above. It is understood that the present invention can be realized in hardware, software, a propagated signal, or any combination thereof. Any kind of computer/server system(s)—or other apparatus adapted for carrying out the methods described herein—is suited. A typical combination of hardware and software could be a general purpose computer system with a computer program that, when loaded and executed, carries out the respective methods described herein. Alternatively, a specific use computer, containing specialized hardware for carrying out one or more of the functional tasks of the invention, could be utilized.
p-0051The present invention also can be embedded in a computer program product or a propagated signal, which comprises all the respective features enabling the implementation of the methods described herein, and which—when loaded in a computer system—is able to carry out these methods. Computer program, propagated signal, software program, program, or software, in the present context mean any expression, in any language, code or notation, of a set of instructions intended to cause a system having an information processing capability to perform a particular function either directly or after either or both of the following: (a) conversion to another language, code or notation; and/or (b) reproduction in a different material form.
p-0052The foregoing description of various aspects of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and obviously, many modifications and variations are possible. Such modifications and variations that may be apparent to a person skilled in the art are intended to be included within the scope of the invention as defined by the accompanying claims. For example, while the invention has primarily been shown and described in conjunction with a software project and collaboration using instant messaging, it is understood that the teachings of the invention can be readily applied to other types of projects and collaboration tools.
Contents4
5 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5
Every citation, both ways
| Document | Relation | Office | Cited during |
|---|---|---|---|
| US2008091486A1 | Cited by | United States of America | Pre-grant |
| US9214090B2 | Cited by | United States of America | Applicant |
| US8561023B2 | Cited by | United States of America | Search report |
| US8943464B2 | Cited by | United States of America | Applicant |
| US11132181B1 | Cited by | United States of America | Search report |
| US10007722B2 | Cited by | United States of America | Applicant |
| US10318620B2 | Cited by | United States of America | Applicant |
| US10846203B2 | Cited by | United States of America | Applicant |
| US10678675B2 | Cited by | United States of America | Applicant |
| US10810109B2 | Cited by | United States of America | Search report |
| US2012174065A1 | Cited by | United States of America | Pre-grant |
| US8954921B2 | Cited by | United States of America | Applicant |
| US9495147B2 | Cited by | United States of America | Applicant |
| US10592236B2 | Cited by | United States of America | Applicant |
| US9478144B2 | Cited by | United States of America | Applicant |
| US2002002562A1 | Cites | United States of America | Search report |
| US2002065798A1 | Cites | United States of America | Search report |
| US2004068521A1 | Cites | United States of America | Search report |
| US2006080432A1 | Cites | United States of America | Search report |
| US7089278B1 | Cites | United States of America | Search report |
| Thomas Erickson et al., "Socially Translucent Systems: Social Proxies, Persistent Conversation, and the Design of 'Babble'", Proceedings of CHI 1999, printed from http://www.pliant.org/personal/Tom-Erickson/loops.chi99.paper.html, 1999, pp. 1-14. | Non-patent | – | Applicant |
| Mark Singley et al., "Algebra Jam: Supporting Teamwork and Managing Roles in a Collaborative Learning Environment", Proceedings of CSCW 2000, Dec. 2-6, 2000, pp. 145-154. | Non-patent | – | Applicant |
| Elizabeth Churchill et al., "Anchored Conversations: Chatting in the context of a document", CHI Letters, 2000, pp. 454-461 vol. 2, Issue 1. | Non-patent | – | Applicant |
| J.J. Cadiz et al., "Using Web Annotations for Asynchronous Collaboration Around Documents", Proceedings of CSCW 2000, Dec. 2-6, 2000,pp. 309-318. | Non-patent | – | Applicant |
| Chyng Yang Jang et al., "Supporting Awareness among Virtual Teams in a Web-Based Collaborative System: The TeamSCOPE System", ACM SIGGROUP Bulletin, Dec. 2000, pp. 28-34 (1-8), vol. 21, Issue 3. | Non-patent | – | Applicant |
| Jay Budzik et al., "Supporting Online Resource Discovery in the Context of Ongoing Tasks with Proactive Assistants", International Journal of Human-Computer Studies, 2002, pp. 47-74 (1-30), vol. 56, Issue 1. | Non-patent | – | Applicant |
| A.J. Bernheim Brush, "Annotating Digital Documents: Anchoring, Educational Use, and Notification", CHI' 02 extended abstracts on Human factors in computing systems, 2002, pp. 542-543. | Non-patent | – | Applicant |
2 members in 1 office; this record represents the family
Members2
| Document | Office | Kind | |
|---|---|---|---|
| US2006026251A1 | United States of America | A1 | |
| US7734685B2This record | United States of America | B2 |
65 transactions on the USPTO file
Allowed after 3 non-final rejections, 1 final rejection and 1 RCE.
- Non-final rejections
- 3
- Final rejections
- 1
- RCEs
- 1
- Appeals
- 0
Over time
Point at a mark for the transactionTransactions
| Event | Code | |
|---|---|---|
| Payment of Maintenance Fee, 12th Year, Large EntityM1553 | M1553 | |
| 7.5 yr surcharge - late pmt w/in 6 mo, Large EntityM1555 | M1555 | |
| Payment of Maintenance Fee, 8th Year, Large EntityM1552 | M1552 | |
| Maintenance Fee Reminder MailedREM. | REM. | |
| Recordation of Patent Grant MailedPGM/ | PGM/ | |
| Patent Issue Date Used in PTA CalculationAllowedPTAC | PTAC | |
| Email NotificationEML_NTR | EML_NTR | |
| Issue Notification MailedAllowedWPIR | WPIR | |
| Dispatch to FDCD1935 | D1935 | |
| Application Is Considered Ready for IssuePILS | PILS | |
| Correspondence Address ChangeC.AD | C.AD | |
| Issue Fee Payment VerifiedN084 | N084 | |
| Issue Fee Payment ReceivedIFEE | IFEE | |
| Email NotificationEML_NTR | EML_NTR | |
| Mail Miscellaneous Communication to ApplicantMM327 | MM327 | |
| Miscellaneous Communication to Applicant - No Action CountM327 | M327 | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Notice of AllowanceAllowedMN/=. | MN/=. | |
| Notice of Allowance Data Verification CompletedAllowedN/=. | N/=. | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Restart Response of actionRRESP | RRESP | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Electronic ReviewELC_RVW | ELC_RVW | |
| Email NotificationEML_NTF | EML_NTF | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Disposal for a RCE / CPA / R129AbandonedABN9 | ABN9 | |
| Request for Continued Examination (RCE)RCEX | RCEX | |
| Workflow - Request for RCE - BeginBRCE | BRCE | |
| Mail Final Rejection (PTOL - 326)Final rejectionMCTFR | MCTFR | |
| Final RejectionFinal rejectionCTFR | CTFR | |
| Date Forwarded to ExaminerFWDX | FWDX | |
| Response after Non-Final ActionA... | A... | |
| Mail Non-Final RejectionNon-final rejectionMCTNF | MCTNF | |
| Non-Final RejectionNon-final rejectionCTNF | CTNF | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Withdraw Flagged for 5/25W525 | W525 | |
| Flagged for 5/25F525 | F525 | |
| IFW TSS Processing by Tech Center CompleteTSSCOMP | TSSCOMP | |
| Case Docketed to Examiner in GAUDOCK | DOCK | |
| Application Return from OIPEWROIPE | WROIPE | |
| Application Is Now CompleteCOMP | COMP | |
| Application Return TO OIPEROIPE | ROIPE | |
| Application Return from OIPEWROIPE | WROIPE | |
| Application Is Now CompleteCOMP | COMP | |
| Application Return TO OIPEROIPE | ROIPE | |
| Application Dispatched from OIPEOIPE | OIPE | |
| Application Is Now CompleteCOMP | COMP | |
| Cleared by OIPE CSRL194 | L194 | |
| IFW Scan & PACR Auto Security ReviewSCAN | SCAN | |
| Information Disclosure Statement consideredIDSC | IDSC | |
| Information Disclosure Statement (IDS) FiledM844 | M844 | |
| Information Disclosure Statement (IDS) FiledWIDS | WIDS | |
| Initial Exam Team nnIEXX | IEXX |
20 legal events, as the office reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | |
|---|---|---|
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| AssignmentAS | AS | |
| Maintenance fee paymentMAFP | MAFP | |
| Fee payment procedure7.5 YR SURCHARGE - LATE PMT W/IN 6 MO, LARGE ENTITY (ORIGINAL EVENT CODE: M1555)FEPP | FEPP | |
| Maintenance fee paymentMAFP | MAFP | |
| Fee payment procedureMAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.)FEPP | FEPP | |
| Fee paymentFPAY | FPAY | |
| Surcharge for late paymentSULP | SULP | |
| Maintenance fee reminder mailedREMI | REMI | |
| AssignmentAS | AS | |
| Information on status: patent grantGrantedPATENTED CASESTCF | STCF | |
| Fee payment procedurePAYOR NUMBER ASSIGNED (ORIGINAL EVENT CODE: ASPN); ENTITY STATUS OF PATENT OWNER: LARGE ENTITYFEPP | FEPP | |
| AssignmentAS | AS | |
| AssignmentAS | AS |
Numbers
- Publication
- 07734685
- Application
- 89962704
Titles
- English
- Method, system and program product for annotating a development artifact
Patent term adjustment
- A delay
- +833 daysthe office missed an examination deadline
- B delay
- +403 dayspendency past three years
- Overlap
- −161 daysdelays counted once
- Net adjustment
- 1,075 days
Classification
- CPC, 1
- G06Q10/10
- IPC, 1
- G06F15 16