Yesterday was the first day of Microsoft's Connect event, and not long into the first keynote, they decided not to pull any punches, and dropped an immediate bombshell on us. It's called Visual Studio Live Share, and it's going to change the way remote work is done. Seriously, go the preceding link and watch the Channel 9 video. I'll wait.
Done? Okay, so Chris Dias and Amanda Silver show off some highly impressive features. First of all, they aren't using the same operating system or even the same IDE. Chris is working inside of Visual Studio Code on a Mac, he clicks a share link, and sends it over to Amanda. Amanda is working inside of Visual Studio proper on a PC, and she's able to grab that link and connect her IDE to Chris' running instance. Two completely separate IDEs; one unified experience of collaboration. Amanda received Chris' full multi-file project, and was able to step into methods, peaking at code definitions. Each person can work independently, navigating through files as necessary. Although not explicitly stated in the video or on the web site, the Live Share web site does seem to imply that multiple people can be connected together in a single Live Share session (the graphics and language use give this away). If true, that's a phenomenal feature.
Everybody loves eye candy, so Chris and Amanda also show off how one person highlighting a chunk of code is automatically highlighted in the other person's IDE with a label to identify who is highlighting it. Both people can also edit the code, with the changes showing up in the other person's IDE (the demo showed this as extremely fast, so I wonder how the real world lag stacks up). More importantly, Chris started a debugging session, and Amanda not only could follow along, but also was able to control the debugger herself, stepping over items. This is not a trivial accomplishment or feature.
Unfortunately, this isn't available just yet, and you have to sign up to be a part of the preview, but Microsoft is changing the game when it comes to remote working. Although most people are capable of working remotely, collaboration can be an issue. We have a lot of tools to collaborate in real time, but most are communication tools: Skype, screen-sharing, remote repositories, web servers. Despite these advancements, they still haven't equaled the ability to sit next to someone, and work through code together. Live Share changes all that thanks to Microsoft, once again, leveraging the power of the cloud. I have a co-worker in Nepal, and usually when he's having an issue, he'll check in his code, and let me know what the issue is, so that I can work on it. The other option is a Skype screen share in which I am an observer, and less active. With Live Share, we can work together on the same code, as if we were sitting right next to each other. Other than network connectivity issues, there are no more barriers to remote working. With Live Share, remote working is just work, and all the tools are there to be as effective as if you were in the same room with the other person.
I patiently await the official release.