A swarm in May is worth a load of hay, is it? JetBrains Code With Me collaborative programming tool released

Swarm programming with audio, video, and everyone editing at once – what could go wrong?

JetBrains today pushed out Code With Me, formerly in preview, a plugin to support remote collaborative coding, as well as updates to its Java and Ruby IDEs.

All the JetBrains IDEs are based on IDEA, a Java IDE, but the range is extensive and includes adaptions for Android (Java and Kotlin), Python, JavaScript, PHP, C#, C/C++, Ruby, and more. Google's Android Studio is based on the free Community Edition of IDEA.

Code With Me lets two or more developers work in the same IDE using a remote connection. JetBrains competes with Microsoft's free Visual Studio Code, as well as Visual Studio, and the new feature is somewhat similar to Microsoft's Live Share, which supports collaborative coding, debugging and audio calls, with a web client in preparation.

Setting permissions for a Code With Me invitation

Setting permissions for a Code With Me invitation

Asked how the IDEA feature is different from Microsoft’s Live Share, JetBrains told us that “the advantages of Code With Me are the built-in support for video calls, the availability of the on-premises solution for customers who need it and potentially the refactoring functionality.”

The JetBrains feature is a plugin for IDEA which has three editions. The free Community version allows 30-minute sessions with up to three guests, while subscribers to a JetBrains IDE can have unlimited sessions – though technical limitations mean a maximum of 20 participants with up to 5 actively editing code. The Enterprise version runs on-premises for security.

Currently the company says "the majority" of JetBrains IDEs are supported, but the feature for Android Studio and for the C# development tool Rider is still work in progress.

Code With Me has built-in chat, audio and video

Code With Me has built-in chat, audio and video

How it works

A Code With Me session is initiated by a developer with IDEA and the plugin installed. A dialog gives various options, including read-only, file editing for remote developers, full access, and custom permissions. The additional permissions cover terminal access and the ability to run applications. There are also options for joining an audio and video conference as part of the session.

The tool generates an invitation link, which a developer then sends to participants. Those receiving the link will be prompted to download the Code With Me Guest client; no previously installed JetBrains IDE is required.

The recipient of a Code With Me invitation is prompted to download and run a client, following which a code is generated as an optional safety check.

The recipient of a Code With Me invitation is prompted to download and run a client, following which a code is generated as an optional safety check

Running the client generates a security code and the host developer is prompted for confirmation including this code, which makes it possible to confirm who is connecting. The guest does not have to sign in, unlike in Microsoft's Live Share.

The use cases for Code With Me include pair programming, "swarm" programming where the company said you can "fix code simultaneously with your whole team", guiding and mentoring, and technical interviews.

The features include simultaneous editing, tracking where another participant is editing code, synchronization so that the host's code navigation is replicated to guests, and video/audio calls.

In its FAQ the company answers the question "How and what data is going through JetBrains' servers?" The answer appears to be: all of the data that is shared. "Local IP addresses, project name, and username are shared without encryption as they are used for letting JetBrains establish a session between a host and a guest."

Once connected, a new "open source distributed protocol" is used to encrypt communications with TLS 1.3. "If you don't want your data to go via JetBrains servers, you can configure the on-premises servers," the FAQ says. That said, the company says it does not access data such as source code because it is "flowing through [our] servers end-to-end encrypted."

Log files include all activities created by both hosts and guest. In addition, the company says that "there are no restrictions in accessing different parts of the host’s project, executing code, or working in the terminal tool window during an active session."

Platforms supported are the same as for the IntelliJ IDEs: Windows, Mac, and Linux.

Fresh IDEA

JetBrains has also released a 2021.1 update to IDEA, which now has better integration with Space, a team development platform including Git-based source code management, CI/CD automation and project management. There is also support for WSL 2 (Windows Subsystem for Linux) for Java projects. RubyMine, the Ruby IDE, has added support for RBS (Ruby Type Signature Language), which lets developers add static type definitions even though Ruby is a dynamically typed language. RBS came out with Ruby 3, but JetBrains said that the improved code completion it offers works even with older versions of Ruby. This is a big release for RubyMine, which also has test improvements and built-in HTML preview.

Pair programming, where two developers figure out the code together, is part of agile development methodology, but has only "patchy adoption," according to consultant Birgitta Böckeler from ThoughtWorks – because "its benefits are not immediately obvious." She nevertheless considers it "vital for collaborative teamwork."

Even those who disagree may find a feature like Code With Me or Live Share handy for getting a second opinion on tricky development problems. ®

Similar topics

Other stories you might like

  • All change at JetBrains: Remote development now, new IDE previewed
    Security, collaboration, flexible working: Fleet does it all apparently

    JetBrains has introduced remote development for its range of IDEs as well as previewing a new IDE called Fleet, which will form the basis for fresh tools covering all major programming languages.

    JetBrains has a core IDE used for the IntelliJ IDEA Java tool as well other IDEs such as Android Studio, the official programming environment for Google Android, PyCharm for Python, Rider for C#, and so on. The IDEs run on the Java virtual machine (JVM) and are coded using Java and Kotlin, the latter being primarily a JVM language but with options for compiling to JavaScript or native code.

    Fleet is "both an IDE and a lightweight code editor," said the company in its product announcement, suggesting perhaps that it is feeling some pressure from the success of Microsoft's Visual Studio Code, which is an extensible code editor. Initial language support is for Java, Kotlin, Go, Python, Rust, and JavaScript, though other languages such as C# will follow. Again like VS Code, Fleet can run on a local machine or on a remote server. The new IDE uses technology developed for IntelliJ such as its code-processing engine for features such as code completion and refactoring.

    Continue reading
  • We've only gone and got our hands on an early preview of Fleet, the forthcoming JetBrains IDE
    Rough edges, but ground-up design makes sense

    First look Our first look at Fleet, the new JetBrains core editor and IDE, shows the promise of a minimalist design and an architecture that has collaboration and remote development in mind – but there are plenty of rough edges in the preview.

    Continue reading
  • Cloud darling Hashicorp's IPO raises $1.22bn amid modest gains from a $80 start
    Not great, not terrible

    Cloud software biz Hashicorp hit the markets this week with an initial public offering priced at $80 per share after which its stock enjoyed a modest rise as investors cracked open their wallets.

    The Nasdaq debut went ahead on Thursday, and the offer price valued the company at approximately $14bn. The 15.3 million shares of its Class A common stock were expected to result in gross proceeds of $1.22bn. At close yesterday, the stock was priced at just over $85, a bit below highs of $88 but comfortably above the IPO price.

    2021 has had its fair share of tech IPOs. GitLab finally went public in September, attracting a price of $77, per share. It soared above $130 before dropping during November when investors took a bit of a reality check on the loss-making source shack.

    Continue reading

Biting the hand that feeds IT © 1998–2022