Welcome to Pair Programming with CodeTogether. So, let’s say you can’t get a bug fixed
and need some help. All you need to do, is fire up a CodeTogether
session, and you can do this in Eclipse, or Visual Studio Code. Use your existing team collaboration tools
like Slack to send the link over to your colleague, he opens it, and boom – he’s in your workspace. He follows your selections, the files you
open, and, almost instantaneously, any changes that you’re making in the editor. All he needs is a browser and he can be immediately
productive without checking out a single line of code – no registration, downloads or installations
required. Now all you did at your end is install the
plugin or extension and you can host a session, right from the comfort of your preferred IDE. Your colleague doesn’t need to follow you
around as you work, and can set off on his own investigation while you could continue
coding independently. With access to your shared projects, and awesome
code navigation capabilities, like quick open and hyperlink navigation, he can conveniently
navigate the code base. Some of these features, like peek references,
are very handy, and in the case of an Eclipse host, they’re not even available in the
IDE! Shouldn’t we all just use a cloud IDE? Nah – you don’t need to experience coding
in a browser all day, the overhead of moving your entire team to a cloud IDE, or be a slave
to your Internet connection, just so you can have a shared coding session. And CodeTogether’s usefulness extends far
beyond pair programming – mentor your team, have code reviews, help with a quick bug fix,
or screen potential new hires and then help get them cracking. You could even host an online coding tutorial,
or maybe a mob programming session, with dozens of participants following along on their own
systems. Participants are all free to set off on their
own independent investigations, or, follow other participants instead of the host. If a participant requests control, if nobody
is actively editing, he gets it immediately. There’s intentionally no “grant” stage,
and the host can regain control by explicitly revoking access, or simply editing a file. We found that allowing multiple people to
edit simultaneously made it really difficult to keep track of project modifications. Everyone was confused and the flexibility
just wasn’t worth it. This is why, instead of multi cursor support,
we focussed on seamless control flow, which goes a long way towards making a coding session
truly collaborative. What about Screen Sharing – if you’ve ever
used screen sharing on a remote machine, you’ll know typing is sluggish, it looks terrible,
struggles on slow connections, and the host can’t use any other applications without
disrupting the session. With CodeTogether, we use IDE tech in the
browser, so edits are local and are reflected instantaneously. Because we’re literally relaying only the
changes made, these edits appear in almost real-time for everyone else, no matter where
in the world they are. And, the host can still use other apps on
his machine – even when someone else is editing. You’ll notice advanced content assist being
available in the browser – we do this by relaying the suggestions from the host’s environment. Ditto for validation, you’ll see errors
for the file being edited, and in the case of an Eclipse host, errors from other files
across the shared projects too. So whatever language or framework support
the host has, the participants benefit from it as well. You can also run a file content search across
the workspace, and easily navigate to the match from the Search view. So the next time you need to code together,
say no to cloud IDEs and sub-optimal screen sharing solutions, and say yes … to CodeTogether. It’s easy to set up and free to try. If you have any questions, please, comment
below.


1 Comment

Genuitec · March 26, 2020 at 5:24 pm

What features do you find absolutely essential when pair programming remotely? Do you have any work-from-home tips you'd like to share? We'd love to hear from you, drop a comment below!

Leave a Reply

Your email address will not be published. Required fields are marked *