Virtual collaboration workspaces for teams, classrooms, and communities
Tags: vscode, discuss, showdev, opensource
Published: 2019-09-25 17:22:30

The code that we write is the work of many other developers around us: it is shaped and influenced by the teammates who review it, the open source libraries we use, and Stack Overflow answers that we refer to. Code is not written in isolation—it is the result of our interactions with other developers around us.

GitHub, Stack Overflow and Slack (to pick a few) do an excellent job at connecting us to other developers. But they are disconnected from the process of writing code in an editor, which is where assistance is most needed. We wanted to reduce barriers in seeking and providing assistance, and enable collaboration without having to jump across multiple apps, or wade through distracting notifications. We wanted to build virtual workspaces for teams, classrooms and communities to collaborate.

To prototype these ideas, we built [Live Share Spaces](https://aka.ms/vsls-spaces), an extension for VS Code. Today, we’re excited to share it with you.

# Get started with Live Share Spaces 

Live Share Spaces can be installed through the [extensions marketplace](https://marketplace.visualstudio.com/items?itemName=vsls-contrib.spaces). Once you have the extension, you can discover and create spaces. A space is basically just a name that can represent anything: a team (`project-xyz`), a language ecosystem (`elixir`), or an event (`advent-of-code-2019`).

![Live Share Spaces](https://thepracticaldev.s3.amazonaws.com/i/m6s64vef9m4l050ep6zc.gif)

# Rich ways to connect, within the editor

Live Share Spaces is built on [VS Live Share](https://visualstudio.microsoft.com/services/live-share/), which enables rich real-time experiences for developers to collaborate. Developers in a Live Share session can co-edit, debug, and jump into shared servers and terminal sessions. Live Share Spaces builds on the features of VS Live Share: members in a space can share their presence status to show that they are available or busy. They can also invite members into Live Share sessions.

Live Share Spaces also adds more ways for members to collaborate. Each space has a **chat channel**, where members can message each other. Each space also has a **readme**, through which new members can get to know the space, and find useful links to get started. 

![Presence updates, chat, and readme](https://thepracticaldev.s3.amazonaws.com/i/aysexc62itxvreox78wa.gif)

# Seek and provide assistance

Live Share Spaces aims to make it super easy for members to express their intent to seek assistance. Members can create **help requests** to notify other members of their intent. Other members can join the request to provide assistance, which would put them in a Live Share session hosted by the first user.

![Help requests](https://thepracticaldev.s3.amazonaws.com/i/foje06lpl02q72jc5mw3.gif)

In addition to help requests, members can also create Live Share sessions for real-time **code reviews**. Reviewing code on Live Share is much faster than creating a pull request and then waiting for comments. Members can also create sessions for **broadcasts**, to live stream their work for team brown bags and community meetups. In all these sessions, users can use [existing Live Share features](https://dev.to/lostintangent/you-can-t-spell-collaboration-without-communication-2a3o), like audio calls and comments.

# Invite members and manage spaces

To invite new members to join your space, you can create and share deep-links to the space. These links can also be shared as a badge on your repo’s readme.

The first member in a space is called a founder. Founders are like admins that curate the experience for other members: for example, they can make a space private, block/unblock a member, and edit the space readme. A founder can also promote other members to founders, to share the responsibilities of managing the space.

![Managing the space](https://thepracticaldev.s3.amazonaws.com/i/cn4r2zjljzmvm6jje8cj.gif)

# Tell us what you think! 

We are excited to release this experiment in the wild, and eager to hear from you on whether this looks interesting. Create a space for your team/community or let us know of issues that block you from doing so.

You can find us and the code base on [GitHub](https://github.com/vsls-contrib/spaces). You can also connect with us in the `vsls` space. Use the [vsls.space](http://vsls.space) deep-link to join the space in VS Code (or [vsls.space?insiders](http://vsls.space?insiders), if you prefer Insiders). Look forward to seeing you there!