Collaborative hacking with Visual Studio Live Share

TOHacks
5 min readDec 3, 2021

--

When hacking in a team, there are always some problem that devolves into peer programming. In a physical Hackathon, this is but a chair roll away. When virtual, your options become more limited. Either one person shares their screen at 5 frames per second over Zoom, or git is involved in ways it definitely should not be.

Collaborative hacking with Visual Studio Live Share blog header image

Introduced as an extension in 2018, Microsoft Visual Studio Live Share allows individuals to share a collaborative, live integrated development environment (IDE) like a Google doc. It also facilitates sharing of terminal sessions, web servers, and has integrated voice calling. All of this is available at no extra charge, irrespective of Visual Studio license, and works across both Visual Studio and Visual Studio Code.

You will encounter many peer-programming scenarios in your Hackathon journey — especially when virtual. Let us explore some common ones and how Live Share can help your team work as effectively and efficiently as possible — after all, the clock’s ticking.

Code Reviews and Judging

Picture this: It is currently mid-Hackathon and your team needs to make an important go or no-go development decision, or perhaps you need to delve into why a particular feature is broken. Team members are busy with their own thing, so whatever the reason is to bridge it needs to be resolved and fast.

To kick things off, a live collaboration session is created and shared — members then pool into the session and begin following the presenter to discuss and edit code.

This is significantly more beneficial than traditional virtual and on-premise collaboration techniques. The former lacks the control and editing capability of Live Share, a fact instilled by those that share code snippets over Zoom chat. The latter lacks the freedom of consumption, since you want to follow along with your teammate beside you, but with the tools and familiarity of your own IDE.

There is also value in using Live Share as a Hackathon judge to learn more about the code and execution of a team’s solution. It’s not always easy to understand why something is the way it is, unless you developed it yourself (and even then…).

By having teams initiate a Live Share session, judges can join and observe as they do a technical walk-through of their project. There is also the added bonus of being able to execute and debug live — something very difficult for judges to do when a team may package and submit a project without steps or requirements to running it.

Workshops and Conferences

Collaborative hacking with Visual Studio Live Share, workshops and conferences section header image

While screen-sharing live coding workshops introduces a personal touch, it can never foster the level of engagement that a Live Share session can.

Using read-only sessions, a presenter can create an explorative experience for participants to consume at their own pace, while also following along, from the location in a code project down to the selected characters in a line.

I have seen really effective studying done this way — where an audience suggests an approach, it is done live and breaks something, eventually leading to live debugging and lessons learned. A practical example I encountered was with git and source control practices; a lecturer would force a merge conflict or broken remote reference and students would attempt to fix it in both code and via the shared terminal using the git command-line interface.

Live Share also comes with the added benefit of working straight from a web browser using Visual Studio Code for the Web, minimizing device compatibility issues with participants and eliminating the need to persist anything on a participants machine — something Zoom could really learn from.

Decentralized Development

Collaborative hacking with Visual Studio Live Share, decentralized development section header image

Carrying around a hefty laptop sucks. Hence, the ever increasing growth of cloud-hosted and software-as-a-service (SaaS) applications. Take Microsoft Office 365 for example, a powerful suite that launches directly in the browser.

Benefits of decentralizing software like this include:

  1. Operating system/device agnostic — does not matter what you are accessing this application from.
  2. Less resource requirement from clients since some work can be offloaded to cloud compute.
  3. Improved resiliency since state of work relies less on client machine uptime, and more on server uptime — servers love working long hours without coffee.

With Live Share, one can essentially setup their own decentralized IDE on a high performance machine with stable uptime. They can then access their IDE anywhere providing they have an internet connection.
This is great for hackathons, where a team can code together in the same project at the same time from their laptops while the Visual Studio live collaboration server runs off a powerful PC off-site.

There are few emerging technologies that can compare to the feature set and cost of Live Share. For a subscription fee, CodeTogether is an alternative that supports cross-compatibility with non-Visual Studio software such as IntelliJ. There is also Eclipse Che, a completely open-source and decentralized IDE, but lacking in live collaboration (for now, looks like there’s some interest in leveraging teletype).

Whether you’re a Hackathon team, a conference lead or a lecturer, Live Share for Visual Studio and Visual Studio Code can help you reach a level of collaboration that is unheard of both from on-premise and virtual software development interaction.

Alvin Ramoutar, Content Writer @ TOHacks.ca

--

--

TOHacks

TOHacks is an organization dedicated to connecting talented youth with industry professionals through numerous events and a yearly hackathon!