DEV Community

Jonathan Carter
Jonathan Carter

Posted on • Updated on

I'm a Visual Studio PM at Microsoft, working on developer services like Live Share. Ask Me Anything!

Hey all! I've been at Microsoft for >11 years, and have had the pleasure of working on everything from ASP.NET, the JavaScript/debugger editor in Visual Studio, the IE developer tools (performance/memory profilers), OData (aka GraphQL before it was cool), our Node.js support in Azure, and CodePush. So I've spent a lot of time caring about web development, DevOps, cloud and productivity. My current passion/focus is developer collaboration and how it can be fundamentally improved to better meet the diverse needs of teams.

I've recently joined the DEV.to community (which I love!), to share my thoughts on why our team built Visual Studio Live Share, and what makes it potentially interesting (only you can really judge that):

While Live Share provides an experience for real-time collaboration, my team is also working on services to make async collaboration more efficient as well. So we're interested in trying to enhance collaboration holistically.

I'm curious to hear how teams are collaborating, and what about your current tools/processes are good and bad. That said, feel free to ask me anything about Live Share, my career, my development preferences, being a PM, or anything else! I can’t guarantee I’ll have an answer for everything, but at a minimum, I’ll try to be interesting and transparent 🤗

Latest comments (76)

Collapse
 
thanhlephd profile image
Thanh Le

Hi,
I have a minor problem with Live share when sharing a folder on my remote Linux server. On the host instance, the current working directory is set to the share folder which is fine. But, on all guest instances, the current folder is always set to my home folder on that server. Can you please help me to fix this problem? Thanks,

Collapse
 
mohammad_makeen profile image
Mohammad Makeen

Hi Jonathan,

I am new to live share. During the day, my colleague asked me to download live share on VS Code. I download it, then asked me to sign in via Ms or github. Normally, I chose github. After that some prossessing, it shows an pop-up that indicate to open VS code. I clicked it and VS code it did not open, then I open it myself to see that it keeps signing in endlessly like some sort of endless loop. Can you help me in my problem? Is there a problem with the firewall that I should open up a port or I should download something else? Do you have something better or smiliar to live share extension ?

Collapse
 
ajhdcsg profile image
Aaron Jay Henteleff

I was wondering if there is a timeline to get Live Share working on Visual Studio for Mac? Especially as right now we're having an upswing in working from home and remote collaboration.

Collapse
 
lostintangent profile image
Jonathan Carter

FYI, in case folks are interested, we just shipped a couple of cool Live Share extensions:

  1. The ability to browse web pages collaboratively

  2. A shared pomodoro timer for helping manage time during collaboration sessions

Would be interested to hear folks thoughts/feedback on these 👍

Collapse
 
narshe1412 profile image
Manuel

What it's the expectation at Microsoft for VStudio vs VSCode usage for professional web developers?
I just started working as a junior and I see myself spending 95% of my day in VSCode and only launching VStudio for the TFS (branching, merging, commit...) and VSTS (starting tasks, pausing work, creating shelvesets...) integrations.

Collapse
 
dwd profile image
Dave Cridland

Hi Jonathan. I'm so old I remember when Google was good and Microsoft was evil. These days, I'm always amazed at how Microsoft is pushing out tools that used to cost big bucks as a free download - and Visual Studio is a perfect example of that.

As part of the development team for such tools, how has this strategy shift of Microsoft changed the way you guys approach building the software?

Collapse
 
lostintangent profile image
Jonathan Carter • Edited

It allows the individual product teams (such as myself!) to focus entirely on developer value, and understanding how to address real pain points. I'm personally very passionate about improving developer productivity and team cohesion, and so it's great to be able to build tools (such as Live Share) that can reach a broad audience, and allow me to engage the community, like I'm doing right now :)

Collapse
 
dwd profile image
Dave Cridland

Right, that makes sense - it gives you, in effect, a much shorter feedback loop. Is there any pressure on what features end up as "premium" - Professional or Enterprise in Microsoft terms?

Thread Thread
 
lostintangent profile image
Jonathan Carter

Not really. For each release, there are discussions about the different SKUs, and what might make sense where. But in general, the trend is to move more capabilities into all SKUs (e.g. CodeLens just moved down to community+).

Collapse
 
davru profile image
˙˙˙ɹǝʌo ǝɯ dılɟ ʎǝɥ

Here's an out of the box idea - Live Share with a bot that can suggest snippets and do code review in real time - what do you think?

Collapse
 
lostintangent profile image
Jonathan Carter

That’s a great idea! My team also builds IntellICode, which is focused on applying AI to your dev cycle. One of the areas we’re exploring is being able to detect coding recommendations automatically while you type, which would act almost like a virtual pair programmer.

Collapse
 
jrc86 profile image
Jonas

Thank you for VS!

Collapse
 
pmihailovs profile image
Pavels Mihailovs

Hi, which port is used for Live Share?

Collapse
 
lostintangent profile image
Jonathan Carter • Edited

Live Share uses a port in the 5990-5999 range, in order to allow direct incoming connections. This is a requirement on the host-side, not the guest.

You can see more details about the connectivity requirements of Live Share here. Let me know if this doesn’t any of your questions and I’ll make sure we update it. 👍

Collapse
 
_hs_ profile image
HS

Live Share looks good to me but I was wondering will there be any focus on not sharing stuff but working on remote machines? As remote desktop tools tend to be slow via network and Live Share can be used to avoid remote desktop in a way will there be some focus on developing VS/VS Code in a way to just connect to remote machine VS and develop then compile and run on remote machine but through GUI of your own VS on your own machine?

I had a job where I used remote desktop in order to avoid having code on my machine (company rules). Now it was frustrating as graphics was lagging. I wanted to test live share but client was again like don't do that just keep it on virtual one. Although some clients will still refuse to have that maybe some will agree to have all the code on remote machines and jet be able to just connect GUI to that code while debug/deploy/run would be still executed on remote machine.

Collapse
 
lostintangent profile image
Jonathan Carter • Edited

Hey! Yes, this is definitely something we’re looking into. Being able to have a “headless” Live Share session is currently our most upvoted GitHub issue, and we hear this request very frequently 😁

In the meantime, if you used Live Share as a solution, all of the code, build, run, etc. would already happen on the remote machine. So I’d be curious to know whether that would work as a near-term option.

Collapse
 
_hs_ profile image
HS

Yes of course and thus I was wondering about option just to fire up VS localy and connect without having to run remote desktop to allow myself and run VS remotely.

Thread Thread
 
lostintangent profile image
Jonathan Carter

Got it. We’re using the GitHub issue I mentioned to track this, and we’ll keep everyone posted. This is definitely a high-priority area for us.

Just to confirm: is the main reason for you wanting to work from a remote machine due to a client policy (is this for freelance/contract work?) that doesn’t allow you to have the source code on your private machine?

Thread Thread
 
_hs_ profile image
HS

Correct. Main reason WAS client policy. Currently I have no such problems but I guess it's not the "one of a kind" client.

Collapse
 
turnerj profile image
James Turner

Haven't had a chance to use Live Share (you kinda need to have someone else to Live Share with haha) but hands down, Visual Studio is my jam - such a sweet piece of software. VS Code is alright (I used it previously for PHP/JS development) and has one or two features I would like in Visual Studio like committing individual lines of code in Git via a UI.

I do think there is room to improve with Visual Studio, little things like basically having the functionality of BuildVision built-into Visual Studio as it surpasses the current built-in functionality or having Code Coverage support like what can be achieved from CodeRush but otherwise, I am a very happy dev.

My question for you though, besides probably Live Share, what is your favourite project you have worked on?

Collapse
 
lostintangent profile image
Jonathan Carter • Edited

I’m not too familiar with BuildVision, but it looks really cool! Out of curiosity: what are the primary capabilities it provides that you’d like to see in VS? Breaking down the build time by project? Something else?

As a total aside, I might reach out to the BuildVision folks and discuss Live Share integration, since it would be cool to ensure that all guests could see the build info within a collaboration session. So thanks for the heads up here 😁

Regarding my favorite non-Live Share project: it would have to be CodePush. I loved working closely with the React Native ecosystem after it had just formed, and I really really enjoyed working with companies to help them increase their mobile release velocity. I would get “thank you!” e-mails nearly every day, due to folks being able to hot fix critical bugs in seconds, as opposed to hours or days. It feels really good to enable devs to be “heroes” for their team and customers.

Collapse
 
turnerj profile image
James Turner

So this is what a typical/default build output would look like in Visual Studio for a solution of mine:

Now here is BuildVision of the same solution:

Like it isn't really telling anything terribly new besides the time to build individual projects, it is just representing the information differently. The current "Build Output" in Visual Studio is very console-esque in a program that is designed to provide us UI ways to handle many other situations. BuildVision is like the natural progression by grouping information better, showing the building configurations more easily, how long projects are building for, simple view over the build order (as you can see which builds are waiting for what) etc.

Even little things like cancelling a build, for the life of me I don't actually know how to do it without the nice obvious button in the BuildVision dialog.

Really, it is the UX of it more than any specific feature. It feels like the more "IDE" way to have the information displayed rather than a raw output.

Collapse
 
lexepox profile image
LexEPoX

Hi there!
Not Live Share related one :)
Many guys are missing ToolBox's searching functionality (the last version where it works is 2015). We still have high hopes for VS2019. Please share this with your team :)

Collapse
 
vnjogani profile image
Vinit Jogani

What would it take for someone to definitively convince you to hire them?

Collapse
 
lostintangent profile image
Jonathan Carter

Creating a product/OSS project (regardless if it’s “successful” or not) and demonstrating the passion to drive awareness, create community engagement, focus on the details like documentation, iterating on feedback to increase retention, prioritizing work based on key use cases and adoption blockers, etc.

The last person I hired to my team was actually someone I had the pleasure of working with on an open source project. It made it really easy to see their skill set not only naturally, but also holistically (since running an OSS project is like product management).

Collapse
 
mattchatterley profile image
Matt Chatterley

When can we expect live share in VS for Mac? It’s the main thing we miss!

Collapse
 
acohenot profile image
Alan Cohen

Lack of native SVN support in Visual Studio Code is making it hard to adopt it. Thoughts on adding Subversion as a first class version control system?

Collapse
 
lostintangent profile image
Jonathan Carter

In general, we try to keep the “core” of VS Code as light as possible, and rely on extensions to contribute additional capabilities. Out of curiosity: have you already tried the SVN extension? If so, did it not provide the support you need?

Collapse
 
acohenot profile image
Alan Cohen

I'll check it out. Thanks.