 Hey friends, we're launching Visual Studio 2019 today and we wanted to try something different. Sure, there's going to be demos and code and lots of fun, but I think it's easy in today's internet to forget about people. And I drove up from Portland for this event to show you that there's hundreds of folks here in Washington and working remotely who are excited about making software for and with you. So I thought why don't we talk to them. But first, a few notes about what's happening today. We're going to have live stream sessions after the keynote. There's a virtual attendee party on Twitch and there's on demand sessions that are actually available right now. I also want you to go to Twitch because there's going to be all day interactions with the program managers and the programmers that built Visual Studio 2019. Remember that Visual Studio 2019 and VS 2019 for Mac is now available for download at visualstudio.com. Now if you're using Visual Studio today, you're probably using one of the many extensions available. Our amazing extension partners have already updated over a thousand extensions to be compatible with 2019 and you can get those in the marketplace. We're also releasing Visual Studio Live Share today, which is integrated with Visual Studio 2019 and can also be used in Visual Studio code. We're going to chat about Live Share a little bit later. Also DevOps is an important part of the developer lifecycle and Azure DevOps Server 2019 is generally available as of March 5th. We're going to cover Azure DevOps and GitHub in more detail both in this keynote and during the live stream after. Now let's go and find some of the people that made all this possible. I also want you to keep an eye out for some of the little gems and Easter eggs that we've hidden in this video and let us know online using the hashtag VS 2019 if you find them. This is a great room but it's a beautiful day outside so if you don't mind we could have our meeting on the deck. Get some chairs? Yeah, grab some chairs. Good. I'm glad we got such good weather. Yeah, it is gorgeous. It's better to be outside than to be in a conference room, even a nice conference room like the Treehouse. For sure. So Julia, you're in charge of all of DevDev but have you've worked here for a while? You've had basically every job in the developer division, haven't you? I sure did. And we've got a little gift for you here. The worst named Microsoft product ever. Did you work on this? I sure did. It's very useful. Yeah. Visual basic for the web. Really? It says you can make dynamic applications. It's quite nice. It is. Are we still using some of your code? I think it is in there indeed. That's awesome. We're on also Visual Studio, right? Because we're now doing Visual Studio 2019. That's 22 years ago. Yeah, that's right. And that's the first version of Visual Studio ever. So in two years ago, we celebrated 20 years of Visual Studio. That's fantastic. And it's kind of, I have something to do with every single version of Visual Studio. Yeah. So if you ever had any problem with it, I have something to be blamed. I also heard that it was important that everyone be able to develop. There was a huge push for accessibility. You want to make sure that it works for everyone, no matter what language that they speak. Having everyone to be able to be a developer was a priority as well. So we're looking at how we can make developers more productive. We're looking at developers sitting in every corner of the world. And their feedback, we also have 23% of our team located outside of Redmond. So that's another very important source of information. There's a huge amount of people that are remote, myself included. I would have guessed it was single digits, but it's over almost 25% of people who are remote. And now we get to use cool things like LiveShare to go and collaborate. Now, Amanda, you own, you hear this, turn it on. Yeah, I always find that so funny too. Why do we say that at Microsoft? You own Visual Studio. I don't know. I don't know. It's always been that way, hasn't it? Yeah, it has. Yeah. So you own that, right? Yeah, I work on Visual Studio. You're so modest that I work on Visual Studio. But you own that. So when that means ownership, that means the shipping, the getting it out the door, or they're making sure that it's focused on the right things, that it's doing the right thing. Yeah. Yeah. I mean, basically, my job is to make sure that we ship the right product at the right time. But I am told from people who know both of you that you still somehow find time to code. There's times when you'll say, this code doesn't do the way thing I wanted to do. And I've also heard people say when talking about you, Julia, that why did, how did she know that? And someone says, oh, well, she had your job before you. Julia was the engineering manager for that, or she was responsible for this. Like, you've both had basically every job as you've worked up to the places that you're at. Yeah. Yeah. I mean, I've been in the developer division at Microsoft since 2001. So almost 18 years, I guess. And I've worked on pretty much every product at Microsoft, but from the developer lens. So I've worked on Xbox at some point, and SQL, and Azure, and Office, pretty much everything. And to your point earlier around, do I actually still get to code? Yes, I actually do. It doesn't happen as often as I like it to. But pretty much everybody on my team, and we're the PM team, so the product manager team, everybody on my team codes. And we have to because our customers, our developers, and so for us to actually evaluate the product, we have to do it. It's surprising to see how many people are writing documentation. Someone was telling me that they saw some check-ins from Scott Guthrie that he may have been up late at night doing some documentation check-in. We have built a system to make it really easy. So one of the things we did is that we rebuilt a documentation engineering system to be based on GitHub. And then there's repos out there for every single language that we support. And people can just do a poor request if they find any issues with our documentation. And we really encourage everyone to work and help improve the documentation that our customers actually in the end read. That's interesting that you bring that up, because there's a series of systems that are making all the loops. We talk about the developer inner loop and the outer loop. All these loops are being tightened up, whether it be how we make software, how quickly we ship software, the quality bars, all of the things. Everything's continuous integration deployment. That's right. That's right. I mean, I think that the way we think about it is that even though people think about Visual Studio as a client software that installs on your machine, internally we really treat it very much as a service. We're continuously improving it. We're continuously looking at the feedback customers give us in every way that they do. And then our goals make the product better and better every day. That's pretty cool. And in the past, I would use Skype or Teams, and I would send a screenshot, like a moving picture of my Visual Studio, but that was really inefficient, especially when I was tethering my phone or I was overseas, I was really having a challenge. I never would have seen Live Share coming though. I didn't know I needed it, but then I needed it. Yeah, actually, so we did a lot of interviews over probably two or three different years of particularly focusing on development teams that are focused on time to market as their top concern when they choose their tools and their processes. And what we found was that a lot of teams were really struggling with collaboration. And they were especially struggling with collaboration with remote employees. And their definition of who was a remote employee was actually pretty static. It was even to the point that some people didn't want to hire any more engineers on their team, even though they had business demand, because dealing with somebody who actually was physically in a separate room, even if it was down the hall, was too much cost. It was clear that we had to do something that was pre-check-in time, because the check-in time is basically too late. At that point, you already have a pretty high cost to be able to get review feedback, and then you end up with iteration cycles, where you have to kind of hand it off. It's as efficient as email. But that's really where LiveShare came from. We kind of figured out if we could actually enable collaboration ahead of the check-in and make it possible for you to collaborate in real time, that that would be a lot more productive. We also have situations where people have different accessibility needs, and so they might have different kinds of settings on their developer desktop. They use narrator, or they might use a high contrast mode, which might make it very, very uncomfortable for you to actually share my screen. But with LiveShare, you can actually connect into my environment. You don't have to do anything to get your dev box to be set up other than have Visual Studio or VS Code on your machine. You can actually see my environment. You could even execute commands in the terminal if I give you that access. As you know, I'm a C-Sharp fan. I'm all about C-Sharp. I love C-Sharp, but I'm noticing, then I think Microsoft is noticing that hybrid solutions, multi-polyglot solutions, are the word of the day. Not everyone is going to use just.net. Visual Studio suddenly supports basically everything. Was that a conscious decision that it would support all of these languages? We want to build the best tool to support any customer, no matter what kind of application or service they want to develop on any operating system. So that is a core pivot of what we're doing from a strategy perspective. Now you see us really follow that up with our investment in Visual Studio Code, which is obviously open source and cross platform. We made .net open source and cross platform. And that become a common scene in how we do everything. I had a moment where I was literally in Visual Studio on Windows in C++ doing remote debugging to Linux. And it just worked. It was a joy. And I was in the middle of doing it. And before I did it, I'm doing remote debugging in Visual Studio on Linux. And it's just working just great. And I didn't feel like I was doing something I shouldn't have been. Yeah. I mean, that was, if I think back to 2001 when I came to Microsoft for the first time and used Visual Studio for the first time, because the first version was out then in the .net era. And I had come from an Emacs Unix background in college. I had, I experienced IntelliSense for the first time. It's this magical thing, right? And your productivity from kind of an Emacs environment into a Visual Studio environment where you have this assisted development experience is pretty dramatic. So I still remember that moment. But now thinking back on where Visual Studio was in that era and where it is today, it's, we continue to create more and more of those magical moments. I met, I was meeting with some kids at a college recently and they told me that their professor was forcing them to use Notepad without IntelliSense because they thought IntelliSense would rot your brain. And I didn't have the heart to tell them that IntelliCode was going to completely change the way that they wrote software. Now we've got AI assisted IntelliSense that's coming in IntelliCode that people can see with Visual Studio 2019. I'm assuming though that that's just the beginning of what we could do with AI from a pro-level perspective. Yeah, absolutely. I mean AI could really impact the entire software development life cycle from everything to obviously completing your statements. And we will get to the point where we cannot just complete what is the next IntelliSense thing, completion that you're going to pick, but actually the entire parameter. I mean the entire line of code that you're writing or even potentially an entire code snippet. But not just that, finding code defects, for example. We've found classes of issues that AI can uncover that your classic static analysis really could never discover before. But we will then be able to take it further into things like testing or encouraging you to follow certain practices in terms of who you seek code reviews from. So this is really just the beginning. That's exciting. So this is just the beginning of AI and what it could mean for a Visual Studio developer. Yeah, and I think the goal just like with IntelliSense is we should really be focused on making sure that every keystroke that you write is more efficient. We really want to make sure that you're writing the code that only you can write. And so there's anything that we can automate in this system that will actually allow you to become more productive and more expressive than that's the kinds of things. So you add value where you can add value and the boring parts. Yeah, I mean it's really we add value where the machine can add value, right? So if the machine in the cloud can add value and make you more productive as a developer, then that that seems like goodness. You can actually write more code for your business. How did you decide what is going to be in Visual Studio 2019? Like what are the principles and the priorities and the scope of this is this release and this is that release? Well, for VS 2019 we really plan on four core themes. The first one is performance. Making sure our product is faster and faster with each release is very important to us to our customers. The second one is to look at big industry trend. How do we make sure customers are developing cloud native applications in containers in easy way? That kind of common theme. The third thing we look at is really helping with the team collaboration and identifying issues as early as possible. And the fourth one we really look at are bunch of delighter features across the product where people find value with the upgrade. But how do you know what she's saying is correct and the customers really want that? Well, I mean, for every single one of these areas we actually go through an iterative process where we identify who are the potential customers for that particular feature set and we bring them into labs or do call downs with them and interview them. And those lab studies are where people can actually play with early prototypes of the product in an environment where we can actually watch how successful they are with the product. So I would definitely encourage you to go check out the UX lab. So I can go find real customers working on future versions of Visual Studio in a lab. Yes. I've had experiences with companies like Microsoft or maybe Microsoft in the long distance past where Microsoft was there to like validate assumptions and push agendas. Yeah. But you didn't even start with that. You were immediately like let's go and meet a customer and let them lead the discussion. Yeah, I like to use the term customer led inquiry because it's the idea that we don't know when we first start that conversation where it's going to lead to, right? And so we should be open to the idea that it'll lead to some places that we didn't expect. And if we can uncover a more urgent problem that the customer has that we could address, then that's much more valuable than getting validation that the idea that we thought was the biggest problem to solve is actually what we need to go solve. When we're bringing new people in though, I've noticed that in the past it has taken like months and months to ramp people up. You can't really just hire someone and have them sit around for six months. You really want to onboard them. Like how are you bringing people onto the team in an organized fashion and get them both into the culture and into the tooling as quickly as possible? Yeah. I mean actually one of the things that we've instituted in the last couple of years is this notion of a dev dev boot camp. So if you're a new employee either you know you're on another team and you join our team or if you're brand new to Microsoft entirely then you'll spend basically two weeks getting kind of a boot camp into what it's like to work in dev dev. How do you develop a sense of shared culture at in dev dev so that everyone is all feeling the same about the product and feeling the same about each other? Well for culture one of the key things we learned is that we really need to have shared goals, shared languages and make sure we're changing our actions to actually embrace the new cultural values. So for us customer obsession is a core key value that we're embracing. So we're looking at how we're developing a product in a different way to really embrace that particular value. It seems like there's been a real focus on on data. I've seen more dashboards, there's TVs and everywhere I turn there's a dashboard showing the build and the burn down chart all these kind of things. Are you really pushing to be data driven in your decisions? Absolutely not only from a developer internal engineering process perspective but most more importantly we want to look at data that our customer are giving us their particular feedbacks you know our crash rate reliability in the wild not only in the engineering internal environment. Those are critical data point to help us understand what is the customer experience with our product while they're using it every day. I was told that every release has to be better than the last release. Absolutely. That's an important goal. That's a very important metric that we track every day and then we have weekly meetings that we actually look at this metric in terms of is customers you know success in acquiring a product installing a product updating a product better today than last week. Is customers you know experience with reliability and crashes and performance better you know this week than last week and then how are we responding to the customer feedback they have provided. That's super cool but now I want to know who to go and visit. Who should I talk to first about Visual Studio? Well I mean in some ways you could really go to building 18 and just talk to anybody who's there and they could talk about what's going on with Visual Studio. But I'd also suggest that you go to the UX lab as well and see kind of what we're studying today. Okay cool I'm going to go wander around building 18. I'll check out the UX lab and try to find some more cool people that are working on Visual Studio 2019. Awesome. Thanks for talking to me. Thank you Scott have fun building 18. Thanks Scott it was fun. Hey Scott want to play? I don't really play Smash that much competitively. You guys ready? Hey everybody. Dude it's going to be great. We're going to see a Raspberry Pi. Well we've got it right here. Awesome. Talk about Visual Studio 2019. Let's do it. Yay! I'm very happy to be here I just came over from the tree house I saw Amanda and I saw Julia and she said that you all are the folks to talk to to show me some of the cool stuff in Visual Studio. Why don't we start with you Pratik. Awesome. So I remember when I started up Visual Studio 2019 I was surprised how fast it started it went right to the start window. Yeah so this is it's a small modal UI and it starts really fast faster than actual the whole Visual Studio IDE starts and what happens is when it loads it also asynchronously loads your most recently used project so this is the same recently used projects list that you had in VS 2017 so all of your pinned items your solutions folders remote repositories all show up in this recently projects list for you to access really fast with a single click and then get to your code really fast too. So the whole point is to get me to my code as fast as possible and I've got it I've pinned the ones that matter the most to me. Yep. And the thing that I find the most cool though is I click on clone or checkout code so I double click click on clone paste enter and then I've just brought something down from GitHub or wherever. Right right if you have the URL that's awesome you can just paste in your URL and then hit enter and then it clones the code if you don't if you don't remember the URL or you don't want to go to the web to get it you could also sign into your GitHub or Azure repos accounts and then you can see a list of all the repos that you or your organization has and then that you can just search for or click on and then clone it down as well without the URL. Very cool so auto complete for my repos in the cloud and then boom I'm there. Yep. Awesome. Exactly. So when I create a new project this is new like this is like a tagged new version of File New Project. Right yeah we totally revamped the create new project process instead of a single window that has a tree view that has been a little overwhelming to some of our users we decided to simplify and make it a search based view. So you can really easily and quickly search for the types of templates that you're looking for and you can if you don't remember exactly what you're searching for you can use the filters so there's language platform and project type drop downs and you can filter by them and get a smaller list and like narrow it down there and then you search maybe to even filter in further. So click on the template that you want that's one decision then we move you to the next decision which is configuring your project and that you enter in your name location and then you hit go and you have your project created. I love that when I was scrolling around in the window here and looking for what I wanted it got the impression that maybe I wasn't finding what I wanted and tried to offer like are you finding what you need are you are you able to get what you want here it's a much much smarter window. Yeah yeah yeah that's what we were that's what we were trying to do. One of the things that I was impressed with was how many choices there are when you pull down platform or when you pull down project type it's just so weird to be in Visual Studio 2019 and see Linux and Android and TVOS all these things are tagged. Yeah and Visual Studio has all those things to offer so even if you haven't installed them and you haven't used them say you're a C++ developer and you're doing C++ and you don't know and that Visual Studio does Python development as well but this this thing offers it to you this tool offers support for Python as well and you can quickly say oh wait I don't have any templates for Python let me install them and then it installs it for you takes you to the installer it installs them and then you get Python templates as well and you can get started with Python. There it goes so I see all the things that I could potentially build and if I don't have that workload it'll go and get it for me. Exactly yeah that's hot. On the left hand side here what is this a recent project template what's going on there? Yeah so whenever you create a project it is a long list of templates and so whenever you create a project the templates that you use most often and most frequently stay on the left side so if you want to quickly access like hey I always create console apps I always create class libraries you can easily go to the left and just click on a template from there and get started with that instead of going through the main list. That's cool there's a nice symmetry between the new start window and the new create new project window because on that left hand side it's the stuff I do regularly. Regular your recent stuff's on the left yeah and that was the start window in Visual Studio 2019. That's very cool. So I love the start window in Visual Studio 2019 as well. I love how easy it is to get started with a new get repository from either Azure Repos or from GitHub. I can uh I can just get started I can pull down a repository without you know starting up Visual Studio I can do it right from the beginning and these URLs are like just kind of baked into my muscle memory so I just type them out but yeah I can browse them as well. It's really interesting how Git is getting baked into our lives and into our workflows and into the product right now. Absolutely yeah I can stay in Visual Studio 2019 and manage my pull requests and Julia mentioned actually at the treehouse that she wants to bake quality in and they want to catch things you know before the commit but then once the commit has happened they want to make sure the quality gets through the entire process. Oh absolutely I think that's critical so you know I can of course you know write some code and run some tests inside BS 2019 but I also want to catch that as soon as somebody opens a pull request so if I have a project on GitHub like an open source project and I want to take contributions I want to make sure that their code is good I want to make sure it builds and I want to make sure the test is passed so I want continuous integration for my GitHub projects for my Azure repos projects and I use Azure Pipelines for that so Azure Pipelines has .NET Core 3 ready to go we've got hosted build agents in the cloud so we've got Mac we've got Windows and we've got Linux all of them are running the new .NET Core 3 the latest preview and it's ready to go so I can actually do my continuous integration right there. So we talked about how Git is getting incorporated into our lives and also being remote and remote collaboration is incorporated to our lives you're actually remotely collaborating with John right now John. Yeah I'm working with my colleague John then and he's actually working from home right now and we're actually trying to work on teams and he's trying to do a screen sharing with me to be able to work on his node app and instead of it being lockstep trying to negotiate control one person driving or not with live share we're able to independently collaborate while working at our own pace. So rather than pushing 4k pixels with teams from a remote location you're actually remoting the the context of the entire application? Yeah so it's a simple link and with that I can hop into his project and I get the full context of that so I can see on the side I can see all the files and folders that he's working with a terminal actually reopens with all the commands that he was running before this so I get full context into that and finally I am able to see the file that he's working in and we can see the highlights and cursors as we're going on. Now when I was peaking over here and seeing what he was doing before it looked like he was in VS code on a Mac but suddenly now I'm seeing the same node code in Visual Studio 2019 on Windows. Yeah so I'm working in Windows on Visual Studio 2019 and I don't even have the node workload or node.js actually installed on my computer but it's all working on my side because it's all being forwarded from his machine. And I'm noticing his cursor his name or appearing he's selecting code right here and showing you what to be looking at. So yeah so with his highlights he's able to give me some context on the issue that he's looking into. That's super cool. So what about debugging though? Um yeah so actually I'm able to set down break points and those break points are seen to John with his machine. I can even hit f5 and my debugger starts and it attaches to the running app on his machine. Okay but when you hit f5 and it runs on his machine do you still have to do a screen share to see what's going on? So with LiveShare the server for the front end is actually shared with me so I can pull that up in my browser to be able to see it on my side as well. So your local host 5000 is his local host 5000? Exactly. And then you can click around the website in order to hit the break point. Yeah and we can even negotiate control for debugging stepping over stepping into methods between the two of us. I'm impressed. That is very cool. Okay last question what about IntelliSense? So yeah so you're actually able to get all the IntelliSense completions forwarded from John's machine to mine. With this being a note app if I start typing I can hit dot and I get a full completion list of all the things that work for this app. So everything from his machine watches and all the context that is the app is being sent over to you? Yeah so I'm able to get that full context on my side and worked at my own pace. Interesting would even your feature be forwarded? I I do believe it would. So IntelliCode works on live share and you've got IntelliCode running on your machine right here? Yep. What's this demo that you've got? Yeah so first I'm just going to show you sort of our base cases we call it. So for years we heard from our users IntelliSense is wonderful. I love it. It helps me so much but you have to be able to do better than alphabetically. Like we're all computer scientists. We're smart right? We can make it better. So what we did is we took the wisdom of the community and what I mean by that is we took you know hundreds of open source repositories on GitHub. We scanned through them to try and find the most popular practices for you know APIs, for strings, for asserts and now when you use any of those within Visual Studio you know if I do some sort of string variable dot it will give me this list of recommended suggestions. So are you saying that you taught Visual Studio what I'm most likely to type based on what thousands and thousands of programmers that are better than I have already typed? Yes that's exactly what we did. So we took as you know as I said our tagline wisdom of the community. We took that whole community input and sort of infused intelligence with it so that you can get better recommendations. So now at the top of your intelligence list you get these starred recommendations that are most likely what you want. Okay so that's amazing that you brought me like the wisdom of the ancients up from these open source projects but my project is an open source I really want like my own custom model that's for me and my team but that's not for you. Yeah no so we've actually just built that feature so you can do that now. All you have to do is open the solution that you want a custom model for. Head to the IntelliCode page click train on my code and we create a custom model just for you it's private to you and whoever you choose to share it with. So if you think your team would benefit from these custom IntelliCode recommendations you can also share your wisdom with them. Okay and then you kind of union them so I get both the public wisdom and then the wisdom of my own team. Correct. Okay yeah and then those stars are gonna keep me from having to scroll and go down into the Z's and the Y's. Oh yes yes and what's really cool is that it changes depending on your context right so if you're just in the body of a method versus if you're in an if statement versus in a four or an else you could get different recommendations at each point there so ideally you just have to tab enter tab enter tab enter is what we always are you trying to say that programming for me is just gonna be two two things yeah that's cool and what language is going to do this work so right now in Visual Studio 2019 you can use IntelliCode for C sharp XAML and C++ and in Visual Studio code you have it for typescript JavaScript Python and Java. Well now you're just showing off. She brought a Raspberry Pi which I think is amazing thank you very much. Of course. Is this machine talking to the Raspberry Pi? It is so our Windows 10 application that we've built in Visual Studio 2019 has actually you know what let me deploy it so I will go ahead and deploy our Windows 10 app and now it is successfully on our Raspberry Pi because I've installed Windows 10 on it isn't that cool. That's overachieving. Yeah so this application will tell us if Visual Studio is ready to launch in fact it says is it time to launch do you want to try it? Let's find out. Touch screen. It is time to launch. Yeah. Very cool. I hope everyone tries it out. That's just fantastic. Well thank you so much for showing me this I'm going to go find a soda pop if I can get you anything. Oh good. All right. Yeah thanks. I'm gonna go find some more PM to talk about Visual Studio 2019. Awesome see you all. Bye. Now we can relax. Wasn't that cool? I know you're going to see a lot more of these features later on. I just love talking to all these passionate people behind the features and hearing about why we build them. You know what else I love here? Free soda. Free soda Microsoft. Now as I mentioned earlier you can download Visual Studio 2019 on PC and Mac right now. Visual Studio community users can head over to visualstudio.com but if you're a Visual Studio professional or enterprise subscriber there's even more goodness available to you to the my.visualstudio.com portal. Of course you can download Visual Studio but you'll also find Azure DevOps access that's up to $150 in monthly Azure credits, technical and professional training subscriptions and much more. Also speaking of technical training head over to launch.visualstudio.com to find links to all new Visual Studio 2019 technical training courses from both Pluralsight and LinkedIn Learning. Now let's head over to the UX lab that Amanda mentioned earlier to check out how we do customer research here in DevDiv. So I'm going over to the PM UX UI lab. I think it's in this building. I understand that they're actually doing some studies right now so I'm keeping my voice down because I don't want to interrupt anybody. Ah okay it's over here. We've got Dr. Rich. It looks like they're doing a study right now. Hi Scott. I'm so glad you could join us. How's it going? So what do we got going on here? Yeah come on in. This is our research lab. Okay. Right now we have a Python study happening and this is our entire product team so you're going to get team members that are from engineering, PM, design, docs and they're all actually watching the participant on the other side interact with the product. So this is real. Like these are real people like they're from we flew them in or where did they come from? Yeah so these are real people so in Redmond we have we run studies every day in our lab. Every day? Yeah so we have over 10,000 customer connections a year and what you see right here is just one of many studies that we run. So the entire product team joins us because basically what they're doing is understanding how the customer is using our product but it also they can see everything about the customer right? So they can see their facial expressions they can see if they lean back in the chair cross their arms if they're smiling in delight. This actually fosters empathy with our product team and inspires them to take action to to change the product if it doesn't fit our customer's needs. Well actually I recognize this guy I'm going to see if I can grab. Hey Jeffrey do you got a second? So what are you guys testing here? So we're trying out some new designs for our Azure storage SDK client libraries and we have a couple of different designs we bring the people into the usability study and we give them tasks to perform to try to download a blob and they try it with version one they try it with version two a couple minutes ago you just missed it but they high-fived each other because they were really successful in a short amount of time. Excellent and that's very reassuring for our team. That's great and this is the whole team is watching this and they're getting to see kind of in real time did we get it right or not? Yes exactly and what we can do better and so on yes. That's fantastic it's good to see you. Thanks for your patience. All right so we've got SDK, we've got Python, SVS for Mac, we've got the Azure developer platform can we peek in one of these? Yeah let's go ahead and take a look in lab one. So this is the Visual Studio Code Python study and what you're seeing here is people with developers that have experience in Python but are using Visual Studio Code for the first time with our Python extension. Can I open the door for that? Yeah absolutely. I don't want to like anger the beast see us. So what you're seeing here is that on the other side our participants they can't see us it's a one-way mirror so thank law and order so they can't see anyone on the product team but the product team can see exactly what they're doing on the other side and the beauty of these type of studies is that we can not only see every mouse click that they have on this screen but we can see their body language. So you're doing this every single day? Yes we have over 10,000 customer engagements every single year many of them come in the form of surveys one-on-one interviews or focus groups or site visits. So this is our culture room let me grab Travis he'll walk us through Travis. Hey so we're showing the culture room. So the culture room is a room that we walk teams through to help them understand about what we're trying to achieve and really becoming a customer obsessed or you know we know that Satya is walking us through every day trying to transform this company into being creating zero distance between us and the customer. So we spent a lot of time in this room thinking about how we can change our culture to better connect with our customers and really bring zero distance between us and engaging with our customers so we talk a lot about hacking our culture and we're spending a lot of time with our customers it's so important that our developer community gives us feedback every single day in terms of where we're headed with the product and what we're trying to do. It's so inspirational that there's so much more data driven there's so much more customer obsessed it's being baked in at every level I was surprised that you were saying you're doing these UX labs every single day right I hope people that are watching this are learning that this is happening and right these things are being thought about well and the important thing to remember too is that to engage with us you don't have to be in the UX lab so we have developer community and there's so many ways to be in contact with us to give us feedback about the product even within visual studio for instance fantastic so we need customers to understand that we're here we're listening and we're engaging we're trying to make the product better based on what they're giving us that's great I'm going to go find some more pms that are working on the product thank you so much Travis my pleasure Dr. Rich thank you so much thank you all right let's go find some more pms hey friends yeah how's it going I have just come from the UX lab it's amazing you got to go check it out but I hear that you have some fun demos for me yeah all right let's see them you know I was talking with Julia and Amanda about some of the things in visual studio 2019 that kind of like delight people just little features that just make you happy when you're debugging and you work on some of those things Leslie yeah one of the cool things that we added for visual studio 2019 are data breakpoints which if you're a c++ developer then chances are you already know about this feature but now C sharp and .NET core users can rejoice because yeah it is now in our managed code lives and so basically this is a feature that allows you to break when an object's value changes so if you want to hone in on a specific value of an object and not just the whole scope of an object this is the way to go cool so you say I want to know when that thing changes no matter where it changes and the breakpoint gets hit right that's awesome it's super cool so like sometimes when you have like a really big application you might have a big stateful object that's really really deep like a big dependency maybe if you're doing like a big game or something like that and then you could use managed data breakpoints yeah absolutely except the problem is if you have a large application like a game sometimes it can be near impossible to even debug it if you're using a previous iteration of visual studio so teams across microsoft for instance such as the office team and the edge team and xbox couple of those teams they've approached us like hey can you please let us actually debug our really really big apps that are usually written in c++ because right now we're just getting constant out of memory errors so now for 2019 we have made it we've made symbols out of proc for c++ applications so you're now able to debug those applications without constantly experiencing those memory errors i think i recognize this game is this what i think it is yes this is gears of war so that's obviously a really big game and as you can see it's being debugged in visual studio 2019 we've also uh just to compare it we've tried to debug it in 2017 if you look in the task manager at the memory consumption being used the amount of memory being consumed in 2019 is significantly lower than what it is in 2017 so no sweat there you should be able to do and also they gave you the source code to gears of war which is so awesome yeah they're so nice so if i've got an application that works great locally but maybe it's got a cloud service and put that up in the cloud what if it doesn't work well in production how do i debug that yeah so normally in the past what you'd have to do is you know either make a repro locally which can be really tricky or you'd have to try to garner what the issue is from a bunch of logs you may not even get all the relevant information that you need so uh visual studio 2017 introduced snapshot debugging which allows you to take a snapshot of your application and debug it while the code is still running in production without any impact on the end user's experience so what we've added for 2019 on top of that is time travel debugging which basically allows you to step through your code as you're using the snapshot debugger seriously like literally time travel debugging i'm moving forward and backward in time yep so you can move forward backward frontwards and you get all the context about everything that's happening in your application yes so yeah you still get the full functionality of the vs debugger so call stacks um watch window locals window uh that's awesome well i've got my application into production but if it's if it's got a bug and i need to debug i probably didn't pass my unit test what happened kenra well um live unit testing can actually help you make sure that everything you push into the cloud has actually had a test run so live unit testing can automatically rerun tests every time you make a code change seriously like every time you save it yeah so here i can make a quick code change and you can see the test is rerunning in the background as i'm typing as you're typing yeah and i can get feedback on the test result right in the editor okay wow so that was my bad to push the bug into production yeah it's on you for sure next time i will use live unit testing so whatever you're working on kenra so this is actually a little twitter sentiment analysis app that uh we cooked up so it gets all the recent tweets on visual studio and runs them through azure cognitive services to gauge sentiment so here i have a little emoji searching for emoji tests because emojis are super important well i gotta ask yeah how did you get the emojis to display like that in the editor because visual studio is awesome and recognizes you character i didn't do anything yeah so the refactoring that i just triggered um is all of our code fixes and refactorings you can access through control dot and that was one of the new refactorings one of many that we added in visual studio 2019 wrapping parameters so if you have super long parameters and it's difficult to see some people prefer the code style of wrapping every new parameter on a new line one of the things that they were mentioning was that in the old days i used to have to remember all of these different hotkeys but now they're like control t control dot control q what's like the is there like a ultimate refactoring yeah um so control dot when you're in the editor okay will open all the refactorings available where your cursor is so it's very contextually clever i guess um control t is our main navigation shortcut for anything inside your code and control q is anything within your menus and visual studio and tools options that kind of thing so i just have to remember those three hotkeys and i have the power visual studio and we have little icons that you can open to so a little screwdriver will appear a light bulb if you got a suggestion very cool and i'm now going to put emojis in all of my code excellent one of the first things you'll notice as soon as you open visual studio 2019 is the new colorization so methods local parameters all of your user members have new rosalyn syntax classifications so they get new colors so you can see for each is purple here uh parameters are this dark blue we tried to mimic the visual studio code colors as much as possible because those had already been super successful uh in the community and uh we got a lot of feedback that people love them that's cool so you gave visual studio a little pop so it'll be the colors that i'm used to with just more context yeah a refactoring we added to visual studio 2019 is for each to link it is the latest one to join the for loop refactoring family so we have uh link to for each we have for loop to for each and converting back many of them they're super fun to try out it makes me feel smart because i maybe can't write the link from scratch but i can totally write the triply nested for loop and they go and it turns into link yeah i'm like yeah i wrote that myself everyone's god you can use link what if i'm getting started with a a code base it can be a little crusty and i'd like to just kind of get a jump start i don't want to refactor like step by step yeah um a great way to apply all the refactorings you want to is code cleanup so you've probably see configured all of the rules and tools options what levels of refactoring suggestions warning or errors you want this to be triggered on you can export those to an editor config file that lives with your repository all of your team members can have the same editor config file and code cleanup will run the refactorings that you said in that very cool yeah it's a great way to clean up your code that was fantastic thank you so much thank you yeah all right what do you have for me oh my gosh i have so much to show you today i'm really excited so kendra was talking about those code fixes and refactorings that we have on visual studio 2019 for windows now we've actually brought the c sharp code editor from windows over to max so visual studio 2019 for mac has the same intelligence um code refactoring syntax highlighting that you get on windows now you're literally sharing code between the two we are yeah very cool yeah so here we are in a xamarin forums project so scott as you know xamarin is our dot net framework to run c sharp code on ios and android and watches and tvs all that great stuff and this project is xamarin forums so 100 of the front end is in xamal and it runs on both ios and android so you're sharing the ui across all of this yep we are and it's great uh and this is tailwind trader so it's an app we demoed at connect in the fall and it's 100 xamarin forums and it's using a new feature we have called shell that does all your navigation for you seriously yeah so coloring and changing the flyouts and the tabs is super easy very easy to customize that was visual studio 2019 from mac so let me flip over to windows here i have some more great stuff to show you for xamarin uh first off we have intelacode support for xamarin forum xamal right out of the box nice so you can go ahead and type out your controls and your attributes and it just pops up with suggestions it's really smart we also have a property panel so you can go in and change the colors of your controls the layout where they're positioned the text all that great stuff without actually having to write any xamal which is very helpful nice one of the things that kept me from using xamarin before was i thought it was really had a large install size but that's way smaller in 2019 right we dropped the install size from 23 gigs to seven gigs which is fantastic it makes it way quicker to get started we also did a lot of work on android build and deploy performance so it was previously all really slow and it took a long time to spin up the emulator and then you had to build your project deploy your project and that inner dev loop we call it was taking people a really long time i hear that the android build times are way faster and it's just a lot more fun yeah the build times are faster the deploy times are faster uh the emulator for android now supports hyper v we worked closely with the hyper v team on that that's great that means i can have android on an emulator on hyper v with docker and i can have my microservice talking to my xamarin oh yeah you can have it all working and it's so much faster and so much smoother and cleaner now so it's a lot of fun that's great you've got a phone right here running tailwind traders i do i also have this pair of pliers and using 100 xamarin forms and and xamarin we can actually take a photo of this pair of pliers right here okay and it will recommend to us what we can buy that looks like this using computer vision so it's hooked identified it and it's already talked at the back end it already has it says got this red multi-tool plier right here wow that's so cool yeah it's great so that he's using a back end that's written in in azure yeah it's all in azure yeah and we have some great tools in visual studio to enable you get started developing for azure so i can go and write it back in really quickly starting with visual studio 2019 that is correct so one of the easiest ways we have to get started is we have a lot of project templates built into visual studio for dedicated azure types like azure functions we also have ASP net core which is just a great general purpose back end that can be hosted in lots of places running in azure then when you're developing as a user we have all sorts of emulators to run things locally so you don't even necessarily need a cloud connection when you're developing and targeting azure so you don't need to be running up your bill you want to use storage databases all those things are available to run locally so you don't have to have a cloud connected developer environment every day i know you travel a lot scott you can actually do it on the airplane yeah i was really surprised how many things i was able to do developing for the cloud for azure on my local machine with emulators for cosmos db for storage and all those kind of things making cloud applications on an airplane disconnected yeah that is one of our goals we hear from a lot of people that they they like that tight loop of just being able to do everything locally without the cloud dependency you know on a day to day basis all right well i've landed the plane and i'm ready to go from offline to online i'm going to put this up into azure yeah we've worked really hard to make that easy from visual studio i have to do is right click the project choose publish and you'll see a list of azure targets available to run it if you don't have an opinion yet we recommend starting with azure app service as we think you'll find that the easiest place to get started and after you've published your application the core part of your code that's going to run we make it really easy to create other dependencies that the application may need to function correctly including sql server and azure storage directly from visual studio and actually once you've published it even if you don't need it initially one of the new things we've added in 2019 is we've made it easy to come back and add those at any point in the application development lifecycle so you're making that published dialogue kind of re-entrant i can go back in and say i want a little sequel and i want a little storage and add that to my existing publish absolutely yeah so if you decide that you need storage three months into development you just add that to the app service environment directly from visual studio without the need to go to the portal or some other tool that's cool i love everything that you just showed me except my boss won't get me access to create anything new in azure yeah we hear that a lot so one of the other things we offer in visual studio is the ability to choose existing resources so as long as you have permissions to publish to the resource you can through visual studio select an already created resource in azure and that same published summary tab will get populated just like you created everything yourself in fact we even are able to show you the sequel and storage dependencies fantastic you've solved all my problems this has been great absolutely all right well i'm going to take off to my next thing thank you so much for your time thanks all right bye bye everybody that was so much fun for me i hope you enjoyed getting to know some of the people who work on visual studio 2019 and taking a peek behind the scenes as i mentioned at the start there's a ton more content coming today with 11 live stream sessions starting right now at launch.visual studio dot com be sure to ask questions and let us know what you think either on twitter at hashtag vs 2019 or join us for live conversations on twitch at twitch.tv slash visual studio that was a lot good job scott you added some value well i hope we fix that in post cool that's very cool so who do you think i should go and see it's fake isn't it it sounds so weird it does sound weird because we don't know what you just said but whatever it was super excited i can actually do my continuous integration right there yeah i have it right here um and it's it's hooked up to the interwebs and running the back high five on that we can do high five try it again is that okay yeah kindre stop ruining the illusion that you're standing next to scott so i was able to sign in directly to github from the start window yeah right that's exactly right and then i'm gonna say something i