IP Library Granted Patent US 11,513,793
Granted Patent B2
US 11,513,793 · App. 16/965,983 · Granted Nov 29, 2022

Systems and methods for providing an instant communication channel within integrated development environments

Inventor: Peter Pezaris (New York, NY)
Assignee: CodeStream, Inc.
G06F8/73G06F3/04817G06F8/30G06F8/33G06F8/71G06F40/14G06F40/166H04L51/216G06F9/44526
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,513,793
App. No.
16/965,983
Granted
Nov 29, 2022
Kind
B2
Abstract

A method and system may be provided for recording discussions about computer code in an integrated development environment (IDE). In some aspects, a communication channel is integrated with an IDE. Communications and discussions may be tracked and linked with specific code sections. In some aspects, a predefined graphical interface may be used in forming the communications for the communication channel.

Claims (74)

1. A method for augmenting a software development environment, the method comprising:

managing access to a code repository and version control application;

generating a communication interface integrated into a code editor and code navigation display, wherein the communication interface is configured to display a message stream of user based communication associated with code displayed in the code editor;

receiving, via the code navigation display, a request to generate a message associated with code being edited in the code editor, the request identifying a type of the message to generate;

generating a predefined form for generating the message, wherein the predefined form comprises one or more fields associated with the type of the message, a system posting field indicating a channel of a communication system to transmit to, the message generated by the predefined form, and a field indicating a marker selection for the message;

displaying the predefined form in the communication interface including displaying, via the predefined form, a portion of the code being edited in the code editor;

receiving, via the predefined form, data to be included in the message;

generating the message based on the data received in the predefined form based on a selection received in the predefined form, wherein the message is associated with a codeblock and a reference to the codeblock is embedded into the message;

providing the message to the channel of the communication system identified in the system posting field;

monitoring one or more message streams;

determining whether the one or more message streams relate to the codeblock;

identifying the codeblock based on text of a message in the one or more message streams; and

visually distinguishing the one or more message streams in the communication interface to indicate a relationship to the user.

2. The method of claim 1 , the method further comprising:

displaying, in the code navigation display, an icon associated with a codeblock that is a subject of the message, wherein the icon identifies the type of the message and provides an active link to access the message.

3. The method of claim 2 , the method further comprising:

displaying a pop-up window in response to a pointing device selecting the icon, wherein the pop-up window includes a summary of the message.

4. The method of claim 2 , wherein generating the message further comprises:

analyzing the codeblock to determine one or more authors or editors for said codeblock; and

including the codeblock and one or more authors or editors of the codeblock in the message.

5. The method of claim 2 , wherein the type of message comprises a code trap and the method further comprises:

generating an access control rule for the portion of the code that is the subject of the message.

6. The method of claim 1 , wherein the type of the message comprises a comment, a question, an issue, and a code trap.

7. The method of claim 1 , the method further comprising:

exporting the message to a remote software program.

8. A communication system for augmenting a software development environment, the system comprising:

at least one processor operatively connected to a memory;

a development engine, executed by the at least one processor, configured to manage access to a code repository and version control application;

a communication engine, executed by the at least one processor, configured to execute a method comprising:

generating a communication interface integrated into a code editor and code navigation display, wherein the communication interface is configured to display a message stream of user based communication associated with code displayed in the code editor,

receiving, via the code navigation display, a request to generate a message associated with code being edited in the code editor, the request identifying a type of the message to generate,

generating a predefined form for generating the message, wherein the predefined form comprises one or more fields associated with the type of the message, a system posting field indicating a channel of a communication system to transmit to, the message generated by the predefined form, and a field indicating a marker selection for the message,

displaying the predefined form in the communication interface including displaying, via the predefined form, a portion of the code being edited in the code editor,

receiving, via the predefined form, data to be included in the message,

generating the message based on the data received in the predefined form based on a selection received in the predefined form, wherein the message is associated with a codeblock and a reference to the codeblock is embedded into the message, and

providing the message to the channel of the communication system identified in the system posting field; and

wherein the communication engine is further configured for:

receiving a modification of the code in the code editor; and

storing metadata for preserving communication thread linkage between modified code and the message stream associated with the code in the code editor; and

a tracking engine, executed by the at least one processor, configured to store user based communications with associations to code line or code file to respective user based communication.

9. The system of claim 8 , wherein the communication engine is further configured to execute the method comprising:

displaying, in the code navigation display, an icon associated with a codeblock that is a subject of the message, wherein the icon identifies the type of the message and provides an active link to access the message.

10. The system of claim 9 , the method further comprising:

displaying a pop-up window in response to a pointing device selecting the icon, wherein the pop-up window includes a summary of the message.

11. The system of claim 9 , wherein generating the message further comprises:

analyzing the codeblock to determine one or more authors or editors for said codeblock; and

including the codeblock and one or more authors or editors of the codeblock in the message.

12. The system of claim 9 , wherein the type of message comprises a code trap and the method further comprises:

generating an access control rule for the portion of the code that is the subject of the message.

13. The system of claim 8 , wherein the communication engine is further configured to execute the method comprising:

exporting the message to a remote software program.

14. A non-transitory computer readable medium storing instructions for causing one or more processors to perform a method for augmenting a software development environment, the method comprising:

managing access to a code repository and version control application;

generating a communication interface integrated into a code editor and code navigation display, wherein the communication interface is configured to display a message stream of user based communication associated with code displayed in the code editor;

receiving, via the code navigation display, a request to generate a message associated with code being edited in the code editor, the request identifying a type of the message to generate;

generating a predefined form for generating the message, wherein the predefined form comprises one or more fields associated with the type of the message, a system posting field indicating a channel of a communication system to transmit to, the message generated by the predefined form, and a field indicating a marker selection for the message;

displaying the predefined form in the communication interface including displaying, via the predefined form, a portion of the code being edited in the code editor;

receiving, via the predefined form, data to be included in the message;

generating the message based on the data received in the predefined form based on a selection received in the predefined form, wherein the message is associated with a codeblock and a reference to the codeblock is embedded into the message; and

providing the message to the channel of the communication system identified in the system posting field, wherein the communication system is further configured for:

dynamically monitoring the message stream for code; and

determining corresponding code in the code editor based in response to detecting code in the message stream.

15. The non-transitory computer readable medium of claim 14 , the method further comprising:

displaying, in the code navigation display, an icon associated with a codeblock that is a subject of the message, wherein the icon identifies the type of the message and provides an active link to access the message.

16. The non-transitory computer readable medium of claim 15 , the method further comprising:

displaying a pop-up window in response to a pointing device selecting the icon, wherein the pop-up window includes a summary of the message.

17. The non-transitory computer readable medium of claim 15 , wherein generating the message further comprises:

analyzing the codeblock to determine one or more authors or editors for said codeblock; and

including the codeblock and one or more authors or editors of the codeblock in the message.

18. The non-transitory computer readable medium of claim 15 , wherein the type of message comprises a code trap and the method further comprises:

generating an access control rule for the portion of the code that is the subject of the message.

19. The non-transitory computer readable medium of claim 15 , wherein the type of the message comprises a comment, a question, an issue, and a code trap.

20. The non-transitory computer readable medium of claim 15 , the method further comprising:

exporting the message to a remote software program.

Assignments (4)
SECURITY INTEREST Recorded Nov 16, 2023
From: NEW RELIC, INC.
To: BLUE OWL CAPITAL CORPORATION, AS COLLATERAL AGENT
Reel/Frame 065579/0877 →
MERGER Recorded Nov 2, 2023
From: CODESTREAM, INC.
To: CODESTREAM, LLC
Reel/Frame 065431/0928 →
MERGER Recorded Nov 2, 2023
From: CODESTREAM, LLC
To: NEW RELIC, INC.
Reel/Frame 065432/0235 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2020
From: PEZARIS, PETER
To: CODESTREAM, INC.
Reel/Frame 054217/0857 →
Continuity (3)
Provisional Application 62659346 · Apr 18, 2018
Provisional Application 62626575 · Feb 5, 2018
Related Publication 20200356365A1 · Nov 12, 2020