 On today's Visual Studio Toolbox, very exciting, Leslie Richardson makes her debut as co-host of the show. Hey everybody, welcome to Visual Studio Toolbox. I am your new host, Leslie Richardson, joining Robert Green. Today, we're going to be talking about Live Share with the lovely Felicia Shah, who's one of my colleagues in the Visual Studio Universe. Welcome Felicia. Hi, Leslie. Thank you for having me. Awesome. So in today's crazy times, I'm sure a lot of us are just working in their small apartments or wherever they're at, and trying to collaborate on code can be really challenging when your teammates aren't in the room with you. So I'm pretty sure Live Share can help out with that, right? Yes, absolutely. I think everybody understands the value of remote collaboration in this time, and for good or bad, we're in this situation. I'm very glad to be working on a tool that can help developers with this situation. So we've actually seen an unprecedented amount of growth for Live Share in the last few months, which is not surprising. It's become a lifeline for a lot of developers as your teams become completely geographically distributed. It's the first time for very many of these people to not have co-located teams, and we're seeing a real paradigm shift in the way we view collaboration in the developer space. Live Share is obviously for those who don't know, a remote developer collaboration tool that you can use from Visual Studio Code and Visual Studio. It actually helps you share not just your screen but your entire context. So there's a lot of beauty in the actual extension that is Live Share. It's going to be very useful. Awesome. So yeah, can you just give a brief overview of what exactly Live Share is within Visual Studio? Yeah. So Live Share is an extension on both Visual Studio and Visual Studio Code. In Visual Studio, it comes in built in VS Code, it comes as an any extension, you have to like go and download it from the marketplace. What Live Share does is it helps you as a host share your code base. So for instance, if you're in a repository and you're developing something and you need to ask a quick question or need help with debugging something, what you would ideally do is if you're working in the same space, you would pop over to your co-worker's desk and say, hey, Leslie, can you help me with XYZ? I'm stuck here. Oftentimes, you do these like micro-collaborations before you do a pull request, or you send this question over chat and have this back and forth with like screenshots of what's happening, what's going on, extremely cumbersome, not good at all. So Live Share came in over here and decided to do something better. So what we do is, as a host, in our Live Share session, you create a session, you share a link with the guest. What that does is it remotes your entire repository or code base over to the guest without making a copy on their machine. Now, the guest is actually in your repo, is able to co-edit with you using all the language services that our modern IDs have to offer, which is brilliant, all your syntax highlighting, auto-completes, et cetera. You can share your terminal, so you're able to execute and run code together. You're able to, because of that, also like debug together, which is awesome. Yep, co-debugging, that's right, Leslie. You can also share a server, which means that if you're developing a web app, you can launch an application on a local host and have that actually shared to your guest. So we really do try to recreate the entire looking over your shoulder experience for the developer. That's great. Yeah, because in the past, when I've collaborated on code, one of the issues I've had is, my friend will send me a list of other things that I need to download to even use the code first. Do I have to do that in LiveShare? Yeah. So setup is actually such a big problem when it comes to developers. I think it's one of the biggest barriers to entry. Yeah. I personally hate it. So no, you don't actually. That's the awesome thing about LiveShare is, I often compare it to word online, or when you share a link to an online document, it's as simple as that. So the host is just sharing a link to their repository, their entire context, and the guest doesn't have to download any dependencies. The project just works. Yes. That's so great. Just a real pain. It's like you want to help your friend out, but at the same time, just knowing all the roadblocks, you're going to have to go through to figure out one tiny bug. That's the amount of packages you got to download, and I hate, I don't know about you, but I'm a controversial topic, but I hate the NPM package manager. It's great, but listen, I hate when I get out of sync, and. Yes. Are you going to update? No. No, I thought it would do it for me. Great. Well, can you demo some of this? Because this sounds really cool. Yeah, sure. So actually, I wanted to show something very fascinating that's new for LiveShare and that's beyond just the capability that I just mentioned. Everybody was super excited about LiveShare. It is very unparalleled in the industry. There's not very many products which can do the level of collaboration that's comprehensive in the developer tool chain that LiveShare can do, but we wanted to push more, especially during remote work time, and we wanted it to be possible for developers to communicate without distractions from within the IDE. Now, we had got a lot of feedback from developers that it would be very useful for them if we had chat or audio calling, and because a lot of them use LiveShare for interviews or they use them for teaching. Or even when they're having long pair programming sessions for like five, six hours at a time, they would like to have like a constant call going. So LiveShare now has integrated chat available and audio available. So I'm going to actually show you a video on how that works and I'll like talk over it. So what we're actually going to see is a live session between a host in Visual Studio Code and a guest in the browser. Now, that's another fascinating thing which I'm happy to elaborate on after this video, but let's get started. So over here you see the host is starting a live session with their in the VS Code instance. They shared this link over and the guest has pasted this in their browser. They're getting authenticated through GitHub as you can see, and this is like the super powerful experience where they're already having their VS Code instance in the browser. You'll see the click on the chat during a session and it pops up on the host side and the guest side, and they're saying hi to each other. Let's get started. The guest over here is a new employee and the host over here is trying to onboard them to the Extensibility API of LiveShare actually. So it's really great for like even walk-throughs and stuff like that. Because oftentimes you want to be able to do this without having to spend hours in the office together. So if the guest has a question, they can quickly be like, hey, do you want to ask me a share a LiveShare session, and I can walk you through this. Anyway, so what you're also seeing over here is a comment. So just like super cool because you can have also async communication within the LiveShare session, and the host sees the comment and says, hey, I want to explain it further. Can we get onto an audio call? So the host gets on an audio call with the guest, and that's a little workflow for you. So what you saw there were three different things. I know the video was pretty quick. You saw a comprehensive integrated communications package that we're trying to build with LiveShare. Now this is a preview feature, so I just want to point that out to all the users. But what we wanted to do was enable integrated chat, where there were two types of chat options. You had the ability to directly message users when you're not in a LiveShare session to get you into a session because a lot of times you're not free. And a lot of times users will have suppressed their chatting companion, whether that's Slack, Teams, et cetera, that they use in their companies, Skype. And we expect this chat to be something that accompanies you when you're in your productive time space. So people will only message you in here when they're actually trying to collaborate with you on code. So I can say, hey, Leslie, are you free for a LiveShare session? And then I have a quick question. So I use that direct message and you say, sure. And then we get into a session. And then we have a session chat where you saw in the video that I shared, we were talking about different parts of the code and questions that they had. Now what's cool about the session chat is obviously the context that's driving the session beyond just whatever you're sharing. So let's say I wanted to add somebody else to the session, I can go back to direct chats for people who are not in the session. I can add Robert, for instance, and say, hey, Robert, are you free? Add them to the LiveShare session now. He's in the session chat, which is like a group chat, essentially. So how many people can I add, ultimately? Yeah, so there is, we have up to 30 people. What? Yeah, so there's a lot of people you can add. I think we've had people use it for up to that, for like classrooms. Oh, yeah. Yeah, so professors or like people streaming, like they're like coding sessions or something like that. That's a lot of cooks in the kitchen. Yep, it gets pretty messy at that point, I would say. Especially if you're trying to do like a group pairing session for 30 people. Usually at that level, we see people doing this read-only LiveShare session, which is a type of LiveShare session. We have read-write and read-only, where you can actually limit access to your, as a host, you can limit access to your repository. So you have less people watching more than jumping in. Yeah, yeah. Neat. I also noticed that you mentioned at the start of the video that one user was using the browser and the other was using the VS Code that exists just on your desktop as usual. So on top of not having to have the same environment set up as the other person, I can also just be in a completely different VS ID. Yeah, yeah. I think that's absolutely. This is actually a brand new, again, it's a preview feature that we launched in March and we did that in response to COVID and we saw a lot of people in the world and not just professional developers, but students and teachers and people who don't rely on enterprise-level tooling and cannot often buy those packages or subscriptions, rather, we had to support them and we realized that the community really wanted something that could help out. And one of the key drivers for that also was technical interviews because suddenly we saw that everybody needed a tool that was reliable that students could use. So this is primarily meant for those people with the lowest barrier of entry. You don't need to know how to download an IDE, you don't need to know what IDE to download, you don't need to set any of that up. If you wanna collaborate and learn, the host is able to share a link out just like any live share session and just for the users, you could always join with VS Code and Visual Studio and either or be a host and guest, but now you can add another dimension of web and now you can be in Visual Studio as a host and join from the browser, you can be at Visual Studio Code as a host and join from the browser and yeah, so it just really opens up a lot of use cases. That is fantastic. I can't imagine, especially as a student during this time, like even pre-COVID when I was in school, still like we tried to collaborate all in the same environment and would just be a real pain in the butt, so. Yeah, yep. Yeah. I think I spend every semester or every quarter wherever you went, like at least a week setting up my project for every class. Exactly, oh my gosh, you'd be in office hours and just in the poor TA would be like, okay, you do this, this and this, this doesn't work because there's a bug, so here's this workaround. Oh, and then think about the different OSes, right? Like the cool thing about this is you don't care if you're in Mac or Windows or Linux, you can cross OS. Oh my gosh, yeah, that is so wonderful. Yeah, so just given all this and the changing world these days, what's next for Live Share? Like what can we see in the future? That's actually a great question. We're very excited that we were able to pull off the web join and integrated comms. We are trying to now increase our parity and integrated comms so soon. So audio is available on Visual Studio, Visual Studio Code and the Web Join. Chat is right now only available for Web Join and Visual Studio Code, so next we wanna have chat available in Visual Studio, so that's going to be big. So we wanna increase our parity with comms and the other thing is we have seen as Live Share is trying to support more and more platforms. So Code Spaces, as you may know, was like a big hot topic at Build this year. Yeah, for those who may not know, can you briefly sum up what Code Spaces is? Yeah, well, Code Spaces is a way for you to have an environment, like a cloud environment, but it is actually an environment that you are cloning from a repository. So imagine you had an instance of your project or your code base stuck in time somewhere in the cloud that you could access at any point in time and other people could actually collaborate in that cloud. It's actually a pretty powerful concept because now you don't even have to rely on an IDE or you can actually have an IDE in the cloud. So it's pretty cool. And we have Code Spaces for GitHub and Visual Studio. So I mean, I think Leslie also, you can talk more about the Visual Studio Code Spaces too. Oh, definitely, yeah. And I think a really cool thing, especially nowadays is a lot of people are away from their main work computer or environment. So people are either working it like via remotely or just some other work around, which may not be that great or there might just be times both pre and post COVID where you'll come home from work, but you still have to like fix one tiny bug and you can just pull up that same environment remotely with Code Spaces, which is really nice. Yeah, so the cool thing about that is that Code Spaces come built in with LiveShare. So not only can you have an environment that you can access from like different machines, you can also collaborate on that environment with different people. So GitHub Code Spaces and Visual Studio Code Spaces both come in with LiveShare. And so that makes our parity to five. So we have VS Code, Visual Studio, GitHub Code Spaces, Visual Studio Code Spaces and WebJoin. So it's very exciting because I think it's really allowing a lot more users to come into the LiveShare space. So we're really looking forward to that. Another thing we're trying to help is enterprises onboard the LiveShare at a larger scale. So we've seen LiveShare has always been a developer's best friend and we've seen a lot of like bottom-ups adoption of LiveShare. We've had individual developers love the product and want to use it, but sometimes like organizations have extremely stringent security requirements and we want to help these developers have their companies allow a company-wide onboarding of LiveShare. So we're looking to actually help them do that, especially as we move more and more towards integrating with GitHub and allowing those kind of policies to take place. Yeah. That's great. So yeah, with that, you got any other awesome nuggets to share about LiveShare before you wrap up? Let's see. I think LiveShare, another thing that I think we've been looking at which is in like the research phase is how do we enable students and teachers and this is something that as we say, WebJoin obviously helped with that, but we want to take it a step further. We want to make it easier for distributed learning to become a thing. And I think as education guests more democratized across especially computer science education, we've seen a trend towards boot camps and informal learnings and like learning from the community and LiveShare wants to really be a part of that because we have the unique ability to have an interactive platform. We have a way in which you don't have to just sit and watch, but you have the ability to, for instance, copy paste that piece of code that a professor is writing and make your own notes in the parallel or like walk through a debugger when you're a professor, you can actually see all the outputs and what's happening. So you have this like industry, like this brilliant IDE that is industry renowned and you're learning in that. So as a student, you are at an unseemly advantage over others who are learning from just like a PowerPoint deck or something like that. So we really want to move further in that direction and like perhaps make it easier for a professor and students to learn using LiveShare and that would require some additional feature work. But yeah, I'm hoping that something along early, end of next year, this year and early next year, we'll see something cool in that space. All right, well, I am sold on this. So if you're like me and you're, and you also want to check out LiveShare, where do people need to go in order to get started with it? Yeah, so obviously, like I said, you can go to the VS Code marketplace and type LiveShare and you'll have it or Visual Studio comes in built with it. So if you had the latest build of Visual Studio above 16.4, you will have LiveShare in the top red corner. You'll see a thing called LiveShare. You should be able to click and actually get started with it. And obviously you can go to a trustee search engine and type in Visual Studio LiveShare and access our docs to learn more about use cases, how you can get started and how to use WebJoin, et cetera. That is awesome. Oh, by the way, it's all free. FYI. Oh my gosh, yeah, that's part. Yeah, that's part. All of it's free, including the extension, right? Yeah, everything's free. Even on Visual Studio, it's free, yeah. The best part of any feature when it has free. Yeah. Gosh, well, thank you so much, Belisha. This has been- Thank you for having me. Yeah. Yeah, this is such a useful feature, especially nowadays. Everybody tried out. I've used it a couple of times. It's fantastic. And yeah, it really makes the world feel a lot smaller than it actually seems at times. Yeah, yeah. And as always, we're very open. Leave us feedback on our GitHub repository or tweet at me. We love hearing from customers. So yeah, if you try it, like it, don't like it, have suggestions, let me know. Great. Well, thanks, everybody, and happy coding and collaborating.