We are pushing the boundaries of what is possible through technology. Without it, I would not be able to speak to you today. He was down to about a word a minute. Every time he needed to access his machine, open files, surf the web, all of these actions were very, very tedious because he had to rely on a mouse, which was really very hard for someone who doesn't have an ability to move a mouse. We wanted to build a more open platform that allowed us to really quickly configure and change things so that we're constantly iterating and trying. Bring in different word predictors, bring in different sensors, change the UI, do all of these things by way of just maybe changing XML files rather than doing a lot of coding. The system is written using Visual Studio's C-Sharp. We use standard Windows Forms.NET 4.5. We also use some WPF and we use the standard Microsoft Plugable Framework paradigm to load all the DLLs at runtime. Everything was built around this one-actuation mechanism where he uses his cheek to trigger the system. The system responds.  What was the range of his motion? Did it change with the time of the day? When he was tired, you want the system to trigger, you want the software interface to work. We iterated a lot with him being as a key designer and the minute he started using it, he would find something and then he'll come back to us and, you know, he'll have this like huge smile on his face. His access to many of the common functions in his machine was about the 10x improvement. Steven was actually quite adamant about open sourcing the system. The nice thing about having such an open platform is that really people from different areas of research and development can really make a huge impact. So please help us. We can't wait to see what your contributions will bring to the world of disabilities.  Keep pushing and never give up. Welcome to Connect. Ladies and gentlemen, please welcome Executive Vice President of the Cloud and Enterprise Group, Scott Guthrie. Well, good morning, everyone, and welcome to our Microsoft Developer Connect event here in New York. I'd like to say a special thank you to Steven Hawking for that great introduction. Both he's inspiring and then, you know, also what you can do with technology is inspiring, and I think it's a great way to start out here today. We have some really great content here this morning, as well as some really awesome announcements that we're going to be making. And in addition to our in-person audience here in the room, we're actually joined by tens of thousands of people that are watching this event live, streamed all over the world. And I want to thank all of you for joining in this discussion here today. You know, we now live in a mobile-first, cloud-first world, and it's never been a better time than now to be a software developer. You know, developers are really the key differentiators that enable organizations to succeed in this new world. Developers are now what enables businesses to connect better with their customers, to build amazing new consumer experiences and drive new revenue streams. And using the cloud, literally every developer on the planet now can create and build solutions that can reach millions of users, that can require no upfront costs and can basically deliver their applications on a cloud infrastructure that delivers truly global scale. And the impact an individual developer can now have has never, ever been greater than it is right now. You know, our goal at Microsoft is to provide developers with a platform and tools that will make them incredibly successful. You know, it's a mission that we've had since the very beginning of our company. And at today's event, you're going to see us walk through and demo our latest development tools and technologies that we think really enable developers to be successful in this mobile-first, cloud-first world. You're going to see how we're delivering flexible, powerful solutions that can be used by any developer. You know, the great thing about the new Microsoft has been that we have everything that you need in order to build the next generation of software applications. This morning you're going to see us demo a lot of demos and really show off this sort of incredibly powerful combination that we think we're enabling with tools, with DevOps services, and with a cloud platform that really gives you unprecedented power and agility. And we're delivering all these services with a really open approach. You can use our development tools now to write apps in any language and to target any platform. And this morning's keynote, you're actually going to see us build apps that target iOS, Android, and Windows. And you're going to see us build and deploy backends for both Windows Server and Linux. And you'll see us showcase, as part of that, a lot of the great progress that we've made over the last 12 months since the last Developer Connect event we had here, also in New York, where we announced the open sourcing of .NET. You can also hear about some other great announcements around open source that we're going to be making here this morning as well. And throughout all the demos and announcements, you know, one of the things I think you'll also hopefully see is how we're looking to enable developers to build these great apps, you know, regardless of what language or what platform they target, in a productive, optimized, painless way. You know, the heritage of our developer business and our developer offerings has always been that we've kind of enabled developers to be successful, to move faster, and to achieve more. And you'll see today how we're enabling that across a very open spectrum of different technologies and really optimize for this mobile-first Cloud First world. The super important part of this developer story is the developer tools that we provide. And our mission with Visual Studio is to provide the best-in-class tools that can be used by any developer. And we now have tools for developers who want, for example, a lightweight code editor, optimized editor, as well as for those looking for a full-blown IDE. And with our Visual Studio Online service, you know, we now provide a full suite of developer services that enable a full application lifecycle management experience. From source control to bug and work item tracking, continuous integration, load testing, performance crash analytics, and a lot more. And we really think the combination of all three of these offerings really enable unparalleled productivity. And we're going to showcase a lot of that today as well as talk about some of the great enhancements that we're announcing and releasing for the first time this week. So let's start about talking about Visual Studio. You know, Visual Studio is the most popular developer IDE in the world, and really enables you now to build and run any type of application with it. We released VS 2015, as well as our .NET release that went with it, just four months ago. It's been a massive release for us in terms of new capabilities. And I'm really excited to say in the four months since it's been released, we've had more than 5 million downloads of it already. And just seeing some phenomenal feedback from it. And what I do is actually start off this event with some cool demos. And I'd like to invite Scott Hanselman on stage just to actually show off both what you can do with VS 2015, as well as highlight a whole bunch of new capabilities that we're really excited to bring to market for the first time as part of this week's announcement. So here's Scott. Cool. Thank you, sir. So today we're going to be showing a whole series of demos that are going to be based on a health clinic theme. So we're going to be using healthcare throughout. Everything will be based on this health clinic. So in this particular application is going to be the public-facing app for the health clinic. And this has been written in ASP.NET 5 using the .NET Core CLR. And this is kind of a Hello World demo that you've seen before. I'll go and run this app and you'll see what you've usually seen. This is the standard Hello World. Now, of course, ASP.NET 5 is open source. The .NET Core is open source. We use lots and lots of open source at Microsoft. And in fact, I can easily bring in additional open source from Visual Studio here. I'm just going to go and say Manage NuGet packages. NuGet is where .NET server-side libraries come from. And you can see a number of popular ones there. But I'm going to try to bring in a library called RequireJS. This is a JavaScript library. It's a client-side library that people use on other platforms. And you'll notice here that in Visual Studio Update 1, it's actually promoting that I use Bower instead. Bower is a package manager that's appropriate for client-side technologies. So now we've got tooling within VS for me to go and bring in that JavaScript library. And you'll notice here on the side, Bower and NPM are both available as package manager options. And now I brought RequireJS, that client-side loader. So we've got all that rich tooling for the technologies that people want to use. Now, I want this Hello World app to look a little bit prettier. So I'm just going to pick these up, some existing assets and drop them in and then replace. And then I'll come over here to Edge and hit refresh. And then the front end of my application looks nice. And that kind of make a change and hit refresh experience is what you would expect with static things like CSS and JavaScript. But I can also go back into Visual Studio and look for the home controller, for example. And I'll grab some actual C-sharp and I'll make a change to the code. Best Health Clinic ever. And then I'm just going to hit save, but I'm not going to do a build. I'm going to come back into Edge and then hit refresh. And when we go over to the About page, it's actually recompiled that app. So I can have that kind of make changes to code and hit refresh and make changes to code and hit refresh. The experience that you'd expect with a Ruby or a Node, but you're getting that with the power of C-sharp and the core CLR. That actually compiled the application itself. So Visual Studio didn't do the compilation. ASP.NET did the compilation. And that's going to enable us to do that cross-platform as well. So that's a really nice experience. Now this application is going to need diagnostics and telemetry. So I'm going to bring in application insights. And this is going to send all the performance and availability and diagnostics information and send that telemetry up into the cloud. So as I run this application, if errors occur, if exceptions happen, either in JavaScript or in .NET, that will be sent off to the cloud. So we'll right-click and hit publish. And we're going to send this to the East US. We've got data centers all over the world. In this case, we're going to send this one to the East US. And while that's happening, I'll run over into the Azure dashboard. And there's a thing called Traffic Manager that allows me to do geographically load balance systems. So we have this not just in East US, but also North Europe and Brazil all at the same time. So this public-facing website is now suddenly available everywhere. What I can do with that, and there it just got published. It just popped up. I'm going to switch back over to the dashboard and pick that website and click on tools here because I want to do some performance testing. Now that I have a scalable website that's been sent all over the world, I'm going to performance test it. And I'm going to do that using the power of the cloud to create that load. We're going to generate load from the East US. And with Azure and Visual Studio Online, we're going to collect a whole bunch of computers that are going to now start hitting that machine and generate load. That's going to take a few moments to start up. So I'll show you some load that I generated just a few minutes ago. You can see here we had 130,000 successful hits. I can see how many requests a second we're hitting that site. So already I know that I'm going to have a great experience no matter where in the world that we are. And all of that information is being sent into application insights. Now I can look at that application insights diagnostics and telemetry in Azure, but also I like spending time in Visual Studio and with Visual Studio Update 1, we have included the ability to look at that telemetry from within the IDE itself. So I'm going to come in here and bring up the application insights search and look at the time range of the last few hours to see that telemetry data. And here I've got all this information that I can query and see page views, what browser it used, where the data came from, look at time ranges. I can dig in on individual page views and see all the detail, both server side and client side, and query that richness of the telemetry, but I can do it from inside Visual Studio. So you can see that with ASP.NET, .NET Core, Azure, and application insights, I've got everything that I need in one place. Great. Thanks, Scott. So one of the cool things about what he showed here was the power of what you can do with Visual Studio today and then with a lot of the enhancements that we're releasing as part of what we call Visual Studio Update 1, which we'll ship later this month, the integration that you can do both in terms of client side technology as well as application insights. And we think, again, it makes our already great Visual Studio 2015 release even better. Excited to announce today, some of the things that Scott also showed there in terms of the ability to use the new ASP.NET 5, as well as based on top of the new .NET Core runtime that enables things a whole bunch of new capabilities, including that dynamic compilation, that we're releasing the release candidate of both of those technologies this morning, and they're now available for you to go ahead and take advantage of and use. And what's great about the release candidate is not only can you download them and build apps with them, but they also include a go live license and that enables you to also now start to go into production and start to deploy real apps to real customers using all those technologies. So last year's Connect event, we announced our intention to opensource.net and make it available on Windows, Mac, and Linux platforms. And over the last 12 months, we've worked hard at opening up our development process. We actually put all the code in a repository in GitHub so anyone could track it and contribute towards it. And we've been making daily changes and updates to it throughout this time. And I'd like to say a big thank you to the broader community for the extraordinary feedback and help and involvement that they've had as part of that process, and that's really enabled us to get to today's release candidate release. You know, one of the things that's cool about today's release is not only are we shipping the release candidate on Windows with a go live license, but we're also delivering the same bits, the same release candidate on Linux and Mac as well today, also with a go live license. And, you know, having now the flexibility that you can now build your .NET applications and use the world's best development tools and use the world's best framework and now deploy it on any type of operating system and build any type of solution. We think it really delivers tremendous flexibility and makes developing with .NET and Visual Studio even more powerful. And what I thought I'd do is actually turn it back over to Scott now. Now that you've seen deploying .NET applications on Windows, let's take a look at what you can do now with this new support that's cross-platform. So here's Scott. I'm going to pause there when we talked about how we can get this to run everywhere, so I hope that you enjoy this. So I'm going to go and right-click and say publish again. When we publish something to Windows, we can go to Azure, we can go to IAS. When we publish to Linux, you're not just going to necessarily FTP that up to Linux. You'll send it maybe up there to Docker and run it in a container. You can notice here when I hit publish in Visual Studio that Docker appears in the list there. It's first class inside of Visual Studio. So I've gone and said publish to take the exact same ASP.NET 5 application running on the .NET Core RC1. And I'm going to send this now up to Azure on a Linux VM with Docker inside. This is using the same Docker tools that you already know how to use. So just like we saw that integration with Bower, a tool that people know how to use at the command line. Here's an example of using Docker, another tool we know at the command line. I'm going to bring up the command line. In fact, I'm going to use the new SSH client that you may have heard we're going to be shipping with Windows. A little tiny clap for that, I appreciate that. So we're going to go and we're going to shush into this machine over here. This is now switching from the command line. Now we are looking at Ubuntu running in Azure. I'm going to hit top to prove it. You can see Docker right there using up some CPU as Visual Studio is sending that up to Docker and that build is being sent. And that Docker container is going to be one of these images. There's our Docker images. You can see here's my health coming in there. And I can say Docker PS-A. You see just, there you go, 14 seconds ago was created the image called my health. And then in the background in the bottom left, you can see Visual Studio trying to talk to Docker to get that fired up. That is going to be a version of this exact same website. So I can publish to the operating system of the choice that I have, publish to the container that makes me happy. And in this case, that's going to pop up. Now this again has been kind of a hello world demo. Sometimes when we see hello worlds, we're not really impressed. We're like, okay, there it is. Hello world. But we are not joking when we say this is ready today. This is a hello world demo. Let's see a more advanced one. Let's see the private section of this health clinic with authentication, with SQL and entity framework with Linux talking to SQL server. This is real data on a real app running in Docker. Now you could run one app on one VM in one Docker container, but in a real sophisticated production environment, you might start including things like many Docker containers on many virtual machines. This is in fact running in a cluster of virtual machines, running multiple Docker containers. And we managed all of that with the Azure Container Service that takes care of all of the complexities of creating all of those containers. And then I can go and layer on top of that and include technologies like mesos or marathon to manage them. So I'm getting to use the technologies that I want to use on the cloud that makes me happy. So hopefully that gets you excited. You can go and make this happen. You can start writing apps with ASP.net and C sharp and putting it on Docker containers and Linux today. Okay, start doing that now. This is some of the great stuff that we're doing today, but let's take a moment and talk about the potential for tomorrow. So I'm going to actually switch to another machine here. Here we go. So here I'm on an Ubuntu machine, and I'm going to look in this folder and see that I've got some C sharp code there. And wouldn't it be nice if at some point in the future I could do something like apt-get and ask Linux for .NET and be rest assured that .NET was there and ready for me? And wouldn't it be nice if I could say something like .NET compile and then compile a .NET application and run this on Linux? This is a preview of some of the work that we're going to see early next year where .NET and the .NET command line here is going to allow us to go and run an application, like this, with a .NET Core on Ubuntu. Now this example is the .NET that you know and love. This is the .NET where we've created a DLL and we have a jitter and we have a garbage collector and all of that. But wouldn't it be nice if I could do something like this and say dash dash native and use that .NET native technology that you're familiar with from Windows that makes Windows universal apps so nice? I'm going to go and add dash dash native there. I'm going to compile this application, same exact application, same exact compiler, same command line .NET compile. Here is the original one and there is to be clear a statically linked no dependency required native code application that was compiled from C sharp and when I run it, it's fast because it's native code running on Linux that was compiled with the open source .NET Core. And this is where you applaud. I know it takes a moment to absorb but that's a big deal. So I'm going to go ahead and just pull that applause from you. So this is some of the future work that we're doing but I want you to know that you can take .NET Core RC1 today and start building applications. You can deploy them in Docker, you can deploy them on Linux, on Ubuntu, on Red Hat, you can put them in Azure and I hope that you have as much fun working with this as we had fun building it. Great. Thanks, Scott. Thanks, sir. The thing we're really enabling with the .NET open source work is really just this flexibility now where you can go ahead and take C sharp, you can take .NET, you can take the skills that your developers already have and you can now use it to deploy it and basically build systems that can integrate and run on literally any operating system or platform out there which delivers kind of maximum flexibility for your development teams. Now, the other thing that we recognize in this new world of mobile first cloth first development is that increasingly developers not only want and need to be able to target every platform and device but they also increasingly want to be able to be polyglot in terms of the technologies that they use. And by polyglot I mean they want to be able to integrate multiple different technologies and languages within the systems they build. Large applications in particular are going to no longer just be written in a single language. You might, for example, use C sharp and .NET for all your core business logic, possibly everything if you wanted to. But you might want to be able to say, gosh, I want to be able to integrate technologies like R which is great for data science into my application as well and have parts of it be written in R. You might even use a microservice-based architecture container-based architecture where your application is composed into multiple pieces and you might end up having teams that want to be able to use and write some of the code in Go or Python or Node or any other language out there. We hear increasingly from customers that they want that flexibility and our strategy with Visual Studio is going to be basically to ensure that no matter what technology or what programming language you want to be able to use the Visual Studio provides the best development environment for you to take advantage of. And today one of the things we're excited to announce is that we're actually adding new languages of support to Visual Studio and also enabling the extensibility so that over time we can add even more ourselves as well as from our partners and be able to integrate that as well and be able to provide that same first-class experience for any type of technology. For example, today we're doing an update of our Node tooling for Visual Studio which already provides full intelligence and debugging support and adding a whole bunch of great new capabilities as part of it. We're also, we've got a great update of our Python tooling which also provides kind of a first-class Python experience directly inside Visual Studio. And then one of the things we're excited to announce for the first time today is that we're going to, in the next version of Visual Studio as well as making it available as an extension for the current version of Visual Studio that we're going to be integrating our based applications and enabling a first-class R development experience inside VS as well. And for people that know what R is it's one of the most popular open-source language for doing data science and machine learning. And increasingly, one of the things that we see that's happening in the industry is you want to be able to integrate that not just as something that your data science team or analytics team do, but something that you actually really integrate in a deep, fundamental way inside your applications. And just a few weeks ago, we announced, for example, that we're shipping R directly into part of SQL Server 2016 and enabling anyone to basically build our applications on top of our in-memory SQL database technology which enables streaming fast, real-time, analytics-based applications. The great thing is you can now take advantage of this R support inside Visual Studio to get IntelliSense, to get debugging and basically have a first-class deployment experience all directly inside VS that your development teams can use both with SQL Server or with any other R-based deployment host that you want to be able to take advantage of. And we think it's really going to enable you to build even richer applications than ever before. And this is just the beginning. We're already hard at work on the next release of Visual Studio. As I mentioned, we just shipped this 2015, four months ago, but time never stops and we've got a whole bunch of great updates and improvements coming as part of that Visual Studio vNext release. It's still very much a work in progress, but one of the things we wanted to do here this week was give you a sneak peek at some of the goodness that's coming. And what I'd like to do is invite Paulita, Paulus, who's one of the core engineers on the team, on stage to give you kind of a look at some of the great things that you can expect in the next release. Here's Paulita. Thanks, Scott. Good morning. As Scott just mentioned, one of the key areas of investment in Visual Studio vNext is the foundation and what could be more foundational to Visual Studio than the setup in install experience? So I want to give you a sneak preview of some of the things we're working on for that experience. Let's start by looking at the setup experience. One of the things you're going to notice right away is this new minimal install option. The minimal install is megabytes, not gigabytes, and minutes to install, not hours. It's much more lightweight. It's faster, and it'll get you up and running very quickly. And best of all, it's the IDE you know and love, just fast and later. So let's take a look at what you get in this minimal install. It's very common that you get code from somewhere other than a Visual Studio built source. So maybe it doesn't have a solution file or a project file. Maybe you got it off of GitHub, or maybe somebody just zipped it up and it didn't have a solution file. Regardless, you need to open it and browse it, understand that code, and do things with it. And with that in mind, we've taught Solution Explorer a new trick. You notice this open code folder button. Now I can open a folder of code no matter where it came from. And I'm going to try opening this PHP folder of code and take a look at what we get. This is the PHP and Visual Studio in the past. But let's take a look now. When I open this PHP file, you'll notice right away I get colorization. And this comes courtesy of TextMate bundle support, something we're debuting in Visual Studio 2015 Update 1. But it's not just colorization that you get. I can also navigate my code using Navigate 2. And you'll notice that I get all the files across my folder. This really helps me understand my code and browse it better. So with the minimal install, you get support for many new technologies and languages right here within Visual Studio. And because it's Visual Studio, you can always come back to install and add more pieces and grow it up for exactly what you need. Let's take a look at some of the other features. Right here, I can personalize my install by signing in. When I sign in, I get previously installed installations of Visual Studio right here that I've done in the past. For instance, my desktop and my laptop installs that I've done in the past. Now I can clone these installs and very quickly I can have a new machine or a new VM set up exactly the way that I did in the past. This really helps me get going quickly. You might also notice this available preview section. So take a look at our tech previews. You're really going to love this. Tech previews are a great way to get a sniff of some of the new stuff that we're working on. But sometimes you worry that when you install them, you're going to be messing with your base installation. And that's no good if you can't get your work done. These new previews now install into completely side-by-side isolated streams. So they won't affect each other and they won't affect your base install studio either. So you can take a look at your tech previews and then go back to your base install of Visual Studio and not worry that you can't get your work done. So it looks like the C-Sharp team is previewing some bits for us now. Let's take a look at what they've got cooking. It's common that you have to deal with code that is decoupled from the types and the patterns that actually define them. In these loosely coupled data types, which are common across cloud app patterns, you often need to understand your code separate from the data behind them. And C-Sharp doesn't really deal with this well today. Let's take a look at a quick example. We have a pretty simple hierarchy here today. Person and then a student and teacher type that are derived. And then separate from that, I have a small code that prints out a little bit of information about these data types. But this code looks a little cumbersome and hard to read. So we've taught it a new trick. We're overloading the is operator to understand pattern matching. And one of the patterns is variable declaration. So now we can change this code to say if p is student, that's easier to read. And now we can change all of this code to say if p is student pattern. And because we're declaring the variables exactly where we need them, we no longer need them at the method level. This is definitely looking a little bit better, easier to read. And it's concise. But I think we can do even better. We've also taught the switch statement some of these new pattern matching tricks. And now you can use a switch statement kind of like a type switcher. So let's give that a try. This is just the tip of the iceberg for pattern matching. We're doing far more things with the next version of C-Sharp. And this is just one of the things that you get from the functional programming style. We're also looking at things like records, tuples, initialization of immutables, and more themes for C-Sharp include compile time null checking and greater control over the memory that you use, which is super important if you're targeting low memory devices. The new version of C-Sharp will not require a new CLR, which means that you can target previous versions of the runtime with your new code. And best of all, we're developing C-Sharp in the open on the Roslyn GitHub repo. So you can come, take a look, join us, give your feedback, maybe contribute some code, or just watch us finish. Thank you. So we're at our build event in the spring. We announced the newest member of our Visual Studio family, which is Visual Studio Code. VS Code is a code-optimized editing experience. It's small, it's fast, provides both code and intelligence as well as debugging support. It also has built-in source control integration with things like Git. And the great thing about Visual Studio Code is that it works not just on Windows machines, as well, and it's available entirely for free. And we've had more than 1 million downloads of VS Code in just the last few months since we announced the preview of it. And what's cool is about half of those downloads are coming from non-Windows systems. And so the great thing about this is it's really enabling a much broader range of developers to take advantage of the Visual Studio family, regardless of what operating system their development machine runs. And what I'd like to do is invite to show off some of the what you can do with Visual Studio Code as well as highlight some of the cool features that we're announcing here this week. Here's Anders. Thank you. Thanks, Scott. I have to say I'm really, really excited about what Visual Studio Code is doing for .NET development on Mac and Linux. Here we have the same home controller app that Scott Hansenman was showing a little bit earlier, but now opened up Visual Studio Code on a Mac. And as you can see, we get a full fidelity experience in here with statement completion, colorization, highlighting, and so forth. Now, we already have a great debugging story in Visual Studio Code for Node.js and C-Sharp on Mono. And now we're adding debugging support for .NET Core as well on Mac and Linux. So let's take a look at what that looks like in action. What I'm going to do here is run the code. So I'm going to press F5 to start. And that's going to spin up the Kestrel web server that we're using. It's going to give me a debug console here. There we go. And now let's try to switch to the browser. And let's try to load our app. Let's try that again. We already hit the breakpoint, apparently. So, as you can see here, we can do watches. We can look at local variables. We can look at watches. We can single step through our code. So let's try to single step a little bit. Let's step over the code that creates a user object. And we can even evaluate expressions over here and drill in and see that the values we put in the object are there already. So, pretty cool .NET Core debugging on a Macintosh. Now I'm going to switch gears. Let me stop this. Closes window here. Let's switch gears and try to take a look at some TypeScript and Angular 2. I'm going to fire up Visual Studio code on this folder here. And what we have here is a to-do MVC open source example.  This one is written in TypeScript and uses Angular 2. We've also added a Node.js back end to it so we can play with Node. Now TypeScript in a nutshell is a statically typed superset of JavaScript that compiles two plain JavaScript and it delivers basically two important advantages. One is excellent tooling powered by static typing. The other is the ability to use modern ECMAScript app. TypeScript is written in itself. It's entirely cross-platform. It is entirely open source and hosted on GitHub where the team and myself work on TypeScript every day these days. So in here, you can see we have a modern ECMAScript app. We're using import statements and modules. We're using classes. We're even using features from the future decorators which is a proposed feature for ECMAScript 2016. Now, as I'm working in Visual Studio Code, we get static checking in the background constantly so if I make a mistake, we immediately get red squigglies that tell us that I mistyped a property name. Let's fix that. I can do code navigation based on static typing. For example, I can go to definition on to-do store that takes me to the import. I can go to the actual class definition of that. If I could get my keyboard to work. There we go. Over here, we see the definition of the class. I could also ask to see all references and scroll through here. For example, there are three references to this guy and I can navigate to all of those. Let's try to run this app. I'm going to fire up two commands here. One is to run the TypeScript compiler in watch mode in the background and the other is to start the node server part of our app. Let's try to switch to the browser. We go to this time localhost 3000. And here we see our little to-do app and we can enter items here. One, two, three, etc. We can check them off. We can clear the completed ones. Now, this toggle here is supposed to toggle the state of all of the to-dos we have in our list but it's obviously not working currently. Let's try to go back to the code and see if we can fix that. I know that that's wired to the method in here, in the app.ts. It's wired to the no, sorry, it's in store. Here we go, to the set all to method where I've actually just commented out the line but let's look at the experience that we get as we're entering code here, we say this dot and you see that we get statement completion on all of the dot and since that's an array, we get statement completion on all the members on array. If we pick for each, we here get told what all the parameters are and so forth so this is all powered by static typing. So let's finish the code here. Checked. There. Now, we might also decide to, for example, rename the class and I can just use the build in rename command and call it save remote storage like so and when we do that, again, this rename refactoring is powered by static typing and it changes all of the places that I'm using this class, including over here in the other file, you'll see that these now changed. Okay, so because I am running with autosave on in Visual Studio Code, my code continuously is saved to disk and because I started with my command line compiler in watch mode, it is continuously rebuilding the project. So I don't actually have to even press save in order to get my code updated. I simply just switch to the browser, refresh. There we go and now my button works. Thank you. Now my app has a server side written in note. Here you see a piece of that code. We actually wrote this part of the app using a new feature in TypeScript 1.7, which is asynchronous functions and async awake that you may know from C-sharp already. We now support that on note v4 and later and we can take a look at what that looks in action. So let's try to go to the debug pane and then let's simply attach to the already running server there. Let's switch back to the browser and then let's add a new to-do item and as we do that press enter we hit the break point and in here again you see we can look at local variables, we can look at a call stack, we can set watches, we in fact have a watch here on the message that got sent to the server and we can even see in here that here's the string that we just entered. So pretty cool experience here as you can see we have very solid support for note.js Angular 2 development in Visual Studio Code but even better we also have an extensibility model that allows you to add new features to your app. Now you may know that I have a background in Pascal going back quite a long ways. Let's look at some Pascal code here. It's a little hello world, it's a pretty plain experience, there's no statement complete, there's no highlighting, there's no colorization but in fact we now have available the ability to add extensions in Visual Studio Code so we can try to install an extension and indeed there are already in the gallery multiple extensions available for Pascal, we'll just pick a simple little one here restart the IDE and here we are now we can reminisce in color. So great extensibility story that allows you to add new capabilities and even support for new languages. Now in fact all of this stuff I've been showing you here, Angular TypeScript the Angular team at Google is actually using Visual Studio Code and TypeScript to develop Angular 2 but we have a little video about that so let's hear about that from them. To me Angular is important because it lets people be more productive and think about what they want to build rather than spending time worrying about the intricacies of the browser. Some of the largest companies in the world build their web presences using Angular companies like Morgan Stanley KLM, Hawaiian Airlines, JetBlue and Disney. Angular is a JavaScript development framework that is an open source project from Google built in collaboration with Microsoft. People are surprised when they hear that we built Angular with Microsoft. Angular is built with TypeScript which is a language Microsoft's provided to improve JavaScript. When we started actually going down the path of building our own language extension to JavaScript this is how we got started talking to Anders and the rest of the TypeScript team. It really became apparent that we share the same soul and we've been able to work really well together because of that. Now that we're collaborating with Microsoft on many different fronts we're able to have Angular really well and some really wonderful tools integrations. In working with the Visual Studio Code team we've been focused on making sure that it understands Angular templates and that you've got a really good experience both in refactoring code in your templates and in finding errors before you run the code. Actually many of the Google devs on the Angular core team use Visual Studio Code because it lets them work better together. The code readability and navigation features of the code editor help them be more productive and refactor code faster. As an open source framework Angular is contributed to by hundreds if not thousands of people around the world. Angular simply would not be what it is today without that collaboration especially with Microsoft. Thank you. So Visual Studio Code, TypeScript and Angular teams are really strong partners. The teams actually spend a lot of time together just improving our technologies and I think it truly speaks to the power of open source. In fact we actually have a team member from Angular in the audience today I'd like to welcome Jules Kramer up to the stage. Hi Jules. So Jules tell us a little bit about your experience using TypeScript on the Angular team. Great slide. So yeah the Angular team has been using TypeScript to write Angular 2 and we found it lets us find bugs and refactor our code faster which has given us a lot more time to actually make Angular 2 itself better. And we actually discovered not really alone we recently surveyed about 2,000 Angular developers and found a good portion of them about 45% are also using TypeScript for their Angular development. So there's a lot to love about Google and Microsoft working together on an open source project. It's just awesome. Is there anything else great coming in Angular 2? There's lots of great things coming in Angular 2 it's going to be blazingly fast and we made it a lot simpler so it's easier to learn. And one of the greatest things about it is it works not only on the desktop but also on mobile web and native mobile. So as a developer you can learn one framework and target multiple platforms. As well as a lot of other features and capabilities and our collaboration with the VS Code team makes it so that VS Code already understands all of those capabilities and is a great choice of editor for Angular developers. Thank you guys for being such strong partners. It's really a pleasure to work with you guys. It's been awesome. Thank you everyone. I think one of the things a lot of people talked about over the last 18 months is the new Microsoft that we're trying to build which is much more open, much more collaborative. And it's kind of a if you flash forward and kind of to where we are today versus where we've been in the past having Anders demo an open source language on a Mac with a Google engineer on stage collaborating on a project together that is sort of a very different world than we've been in the past and is really kind of indicative of the type of thing we're trying to really across the company with all of our products and I think at the end of the day everyone wins in that situation. Most importantly all the developers out there taking advantage of all this great technology. As Anders talked about and showed we've really built up VS Code iterating on a very, very fast pace and we're really excited about the support that's there today both for .NET for TypeScript, for Node for a whole bunch of other additional languages and we're ready to call Visual Studio Code now at the beta quality and we're really excited that today's release is officially now the Visual Studio Code Beta and is available for everyone to download on any platform and be able to use for any technology. One of the cool things about VS Code that we're really trying to embrace is how do we make it great for everything and really enable an ecosystem of components and tools to plug in for a wide variety of scenarios and as Anders kind of demonstrated with that Pascal extension you can now integrate extensions built from anyone find them very easily through our gallery and literally install them in seconds inside your ID and light up new functionality you know, for a wide variety of different languages as well as different scenarios if you want to linter or you want to have other source control tools you can plug in as well and as part of the beta release today it's the first time we're publicly exposing that extensibility and we've already got a wide variety of different extensions available in the gallery for people to use and you can obviously now also build your own extensions and plug it in and we're really excited to kind of see how that ecosystem blooms and the studio code from the very outset has been to be open it runs on any platform Windows, Mac and Linux it supports developing apps using any language or any technology as you saw and one of the things I'm really excited to announce today is we're going to take that open approach one step further by officially releasing the source code of Visual Studio code as open source as well and we really think as you saw already from some of the demos we have a much broader community of developers to be able to contribute to VS Code to be able to leverage VS Code and to be able to tune VS Code to work great for literally every community of developers and every developer ecosystem out there and what I'd like to do since now that we've announced our intent to officially open source it is actually invite Eric Gamma who's been led the engineering and architecture team from the beginning with VS Code to actually officially make it open source live on GitHub in front of your eyes here so here's Eric Thanks Scott I'm really happy to be here for this very special moment for our team so I'm here on the Microsoft VS Code GitHub repository page on the settings page I'll dive down into the dangerous zone and I make this repository public by just confirming it and understand what this means you can all view it and even more important you can all contribute it from now on so today we're not opening up just the core of VS Code we also opened up some extensions and you saw there are already some interesting ones in the gallery what I want to show you now is a sneak peak of what you can do with our extension API is an example of an extension for programming with Go programming language from Google let's quickly do that I switch to code I have here a Go application I navigate to some code here and I do and you can see we have the same for Go as we have for TypeScript for for Go what's behind that is the Go community has already many tools to analyze the Go language so what we did is we used our language extension API and integrated Go tools in code to give you that rich experience but we didn't stop at the editing experience what we did is we went further and also enabled debugging because the code extension API also includes debugging support so I said a break point at press F5 debugging start that's it I can step through code as Anders has shown before hover over values as you expect from a debugger okay so that's just a sneak peak I hope when you go home you try it out yourself write an extension it's fun happy coding I think one of the things that's cool about the Go support there was in just a matter of a couple weeks one person was able to build an extension I think now eventually VS Code has the richest both in tell sense and debugging support for Go of any tool out there and again just sort of hopefully as a testament to the extensibility power it brings and the way it's going to enable developers of all technologies to be able to leverage the Visual Studio family to become even more productive developers and really be able a whole bunch of new great applications to be built so we looked at Visual Studio we looked at Visual Studio Code and the third important member of our Visual Studio family is an online set of developer team services that enable rich software development lifecycle management and we provide as part of this version control agile planning continuous delivery application analytics that can be used with any developer IDE and with any programming language or platform we now have more than 3 million users and developers who are taking advantage of the service today and the feedback on its capabilities has really been awesome you know ironically I'd say the biggest complaint we often have from people that try out Visual Studio online is that when they hear Visual Studio online they immediately assume well this must be an IDE running inside a browser you didn't tell me all these other cool things are there and so one of the things we're actually going to announce today just to help clarify what Visual Studio online is we're renaming Visual Studio online to now we call Visual Studio Team Services and we're also then today this week releasing a whole bunch of great new enhancements to it that make the core services even better so let's talk a little bit about kind of what is in Visual Studio Team Services you know so the great thing about Visual Studio Team Services is it enables you to host an unlimited number of private code repositories for free using either Git or TFS you can easily check in code from any tool or language get you know for example you know full version history is part of that you also get integrated things like code diffing tools support and overall agile project management that you can use as part of your project Visual Studio Team Services enables you to easily build your code in the cloud as well as run functional unit tests against it and set up a complete continuous integration process without having to set up or manage any of your own virtual machines and using the new build service update that we shipped this past summer one of the things that's really great is it's easy now to set up your own build pipelines in a really really easy way you can see here is a canonical build pipeline for what you might do with .NET but what's great is there's a whole extension model and a whole rich set of extensions that allow you to build any other language or platform as well so this is an example of what a Java pipeline might look like where it's taking advantage of things like Maven and Ant as part of the build process here's an example of what an Android build pipeline would look like so you can actually build your mobile apps in the cloud and you'll notice not only can you compile your Android apps in the cloud using Visual Studio Team Services you can even do the code signing of your Android app and you'll see a little bit later on you can even actually deploy the app directly to your app store in a completely automated way you can even build pipelines not only for things that are cloud or mobile based but also for your online systems whether you're running VMware or Hyper-V to actually deploy apps on premises today whether you're using .NET, Java or any other technology you can take advantage of this build and test environment in the cloud in order to do it in a really secure way that makes you much more agile great thing about Visual Studio Team Services it does a whole bunch more than just using the existing support allowing you to simulate hundreds of thousands of users hitting your application before you actually go live into production this enables you to make sure you're ready to handle literally any level of load and deliver a great user experience all this can be done without having to manage or set up any virtual machines you can literally just kick off a load test you can even integrate it as part of your build pipeline so that you can't actually deploy into production if your latency performance doesn't meet some criteria that you set really enabling a very nice smooth DevOps experience and then our newest feature so this is actually the perf capabilities integrated directly into VS similar to also how you saw Scott show with App Insights is integrated there now as well and then our newest capability that we're adding to Visual Studio Team Services is support for release management and what this basically allows you to do is create policies for your dev teams that you can basically create environments whether it's release, staging, prod basically manage your overall lifecycle in terms of your releases all in an integrated way all tied into your overall development process and then once of course you go live the great thing with that application Insights capability that Scott showed earlier is you can now actually collect data about how your application is doing directly inside the Azure browser and you can actually now see your usage data, who's hitting it what devices are hitting it, what's the latency look like and have all that data feed directly to your dev team and then part of the Visual Studio 2015 update one release that's happening this month you'll be able to actually take advantage and look at all the same data directly inside the VS IDE so a lot of power, a lot of flexibility the end-to-end result is a really really smooth DevOps experience that works with any technology so what we do is invite Donovan Brown on stage to actually show us off a cool demo of it in action and really highlight just how easy it is to set this up and start taking advantage of it so here's Donovan You have no idea how excited I am to be here to show you the cool stuff that we've done with continuous integration and continuous deployment the improvements that we've made are going to empower our customers as they embark on this DevOps journey what we should have showing here now, voila is a build for the application that Scott Hanselman showed us earlier obviously we should be good at building .NET applications and we are matter of fact it's really easy to get started if you simply click this plus button you can get a template that already knows how to build your code, test your code and even index the source for you now we'd expect that from Microsoft but Anders also showed you an application called NodeJS application and just as easily I can do it for that application as well Visual Studio Team Services treats all code the same all code is created equal so I can just as easily use common tools like MPM and Gulp to build the NodeJS application just as easily as I built the .NET Java application as well now it's about fun to see things in action so I really want to do a demo let's go ahead and start our build one of the new improvements that we've made is a given you live updates of our logs so you can actually see the input or the output from our build as it's running so a long running build you know exactly what's going on let's go back while the build is running and look at some of the other improvements that we've made to our build system one of which is on the repository tab Visual Studio Team Services offers us TFVC and also Git repositories obviously we can build from those but we can also support external systems for example GitHub and even subversion so you no longer have to switch to source control that you're using to start taking advantage of our build system I've been coding for so long I remember when continuous integration was bleeding edge when it would be rocket science unbelievable that as soon as I check in code you're going to compile it and test it my mind was blown there's no way you're going to be able to do that but today it is so simple I checked this box and now I can have continuous integration for all of my builds immediately running my code and actually testing it it can use jasmine test junit test, mbunit, xunit whatever testing framework you want we can actually enable it for you and even collect code coverage so we've made it as easy as we possibly can for you to do continuous integration with all of your different types of projects now after the build is done there's things that we're going to want to do we want to be able to get our codes moving down that pipeline that we've defined in release management all I have to do is simply right click on a desired build and click on release what this is going to do is it's going to queue up a new release for me and I can go ahead and click on create now that my release is running if I move over to my release tab and simply refresh this you can see that we actually have a release running now through our dev environment and very easily from here I can see exactly what the different version is trying to make its way through dev now when I show you the editing experience of our release management system you should be immediately familiar with it and that's by design our release system and our build systems are designed to be similar so that you're immediately comfortable when you start using our release system after spending time with our build system the same rich library of tasks that Scott showed is available to you in build and in release there's a source code that we wrote to enable all of this power and you can use that as templates when you want to write your own and extend this list even further in addition what we've added in our release pipeline is the concept of an environment an environment is a logical grouping of the tasks that you want to perform as you promote your code from one environment to the next now before I move my code I'd like to be able to have people go in and kind of give their approval the approvals can actually be any combination of individuals or groups that I want to make sure that they give their blessing before I let code enter an environment and before I let code exit an environment another thing that we've done is made it extremely easy for you to be able to extend your pipeline should you need to so I can easily come here and just clone my QA repo maybe my QA environment I'll call it staging and now I can go back in and I can adjust all the information that I had in my other environment as well one other point I want to point out about our release system is the fact that there's a special little utility tab here I say this all the time anything that you can show me a command line for I can do from our build system and I can do from our release system anything that means the sky is the limit if you have a batch script an arbitrary command line you want to run a power shell on prem or in azure and even a shell script and put a shell script in there because our agent runs happily on linux mac and on windows so if you can dream it we can build it and because our build system and our release systems are so similar we can also release it for you as well now you might not be using our build system so what we've allowed you to do is when you define artifacts actually pull artifacts from different systems like Jenkins for example so if you're already using Jenkins you can stay there and you can come down our pipeline now this release I started manually from the context menu however if I should choose to I can actually easily enable continuous deployment by simply checking this box now this release will watch for the output of that build and as soon as it sees it pick that up and start running it down our pipeline for us so these are just a few of the examples of the enhancements that we've made to empower our customers on their DevOps journey as you saw Donovan sort of shows off just the power and the ease with which you can now set up these types of automated environments and really take advantage of it from a full DevOps life cycle I'm really excited to announce today that the release management support that you saw Donovan showed is available for the first time in public preview we're also making available for the first time in public preview our dev test lab support which will enable you to manage and stand up virtual machines inside Azure that have your own policies so you can automatically turn them off for example if your dev team isn't using them to save you money and be able to manage an entire dev test lab environment running in the cloud that you can use again to manage and build any type of application with it so we've taken a look now at all the core components of the Visual Studio family and kind of how they compose together to really deliver an incredibly powerful combination that enables you to build any type of application using any language on any platform now let's go ahead and double click and look at some of the specific work we're doing to enable great mobile and cloud first based applications and look at some of the application specific investments that we're rolling out and announcing this week as well dev teams now need to be able to build solutions that can target any device out there and with Visual Studio we're making it possible to build apps that work across any device, any form factor share and reuse as much code as possible you can use Visual Studio to build fantastic windows application experiences and using our new universal windows platform to build solutions that again can span and work across all these different form factors you can also use our HTML Cordova tooling inside Visual Studio to enable you to build native mobile applications using HTML and JavaScript with our partnership with Xamarin we enable you to create native iOS and Android experiences that you can write using C sharp and .NET and we also now enable C++ libraries to be created that work in a cross platform way that you can also go ahead now and write directly inside Visual Studio and we're going to take a look at all these examples over the next few minutes and what I'd like to do is invite Kevin Gallo here on stage to start off by showing some of the great work we're doing to enable you to build fantastic windows apps. Thanks Scott The first few months of windows 10 has seen great momentum not just for our users but for our developers as well my clicker we have now over 110 million windows devices and our users many of you are coming from windows 7 are loving our store they've actually visited the store in just these two months 1.25 billion times and they've downloaded on average about twice as many applications as they did but more importantly for our developers they've generated 4 times as much revenue that goes to our developer ecosystem. We've also continued to grow our strong partner ecosystem and today I'm proud to announce at Vungal one of the top video ad publishers is going to release their SDK for windows 10 developers so they can continue to monetize and promote their application using a high quality global video ad solution so all of this is powered by the universal windows platform that allows developers to build the most personal and engaging applications that are centered on the user they can also developers can build one app package from their one source code and hit all of their windows devices whether it's a phone, a pc a tablet or even unique devices like the xbox and hololens and they can do all this using the technology that they love they have their choice of programming language and ui tech they can be productive in whatever environment they feel they want to use so I'm going to go and drill a little bit more into detail about the universal windows platform and I'm going to continue with this health clinic scenario that Scott Hanselman showed and I'm going to talk about two different roles one is about a receptionist application they have a role where they store records and they manage appointments and assign clinic rooms and they're using a WPF application that they have and from that application I'm going to go and produce a universal windows application that they can give out to all of their patients so whether their patients are at home or they're mobile they'll have access to it from their windows devices and they'll have a great experience so let me hop on over here to my surface book which by the way since I've been using it I love it it's an absolutely great dev box and so I'm going to show you the application that we've built for the actual patients so it's fairly simple there's your home page it has a split view over here it shows in essence your treatments appointments maybe a health tip and we can go drill in here and look at you know appointments well I have a lot of appointments here and then you can look at treatment lists by the way I'm not on all these drugs this is just for the demo here it's a lot of drugs beyond so a very simple application and we've also built it using responsive design so XAML I was built with a single XAML file where I used adaptive triggers to go and do basically some great break points so as I shrink it I narrow it down and I can use touch here mouse keyboard touch and I can go look at it I also as I recommend for most developers I have a layout point here which mimics sort of what a phone would look so as I get smaller it's very similar to the look that I'll actually have on a phone and I'll show you later why I recommend that so I'm going to hop over into visual studio and tell you how we built this application so I have three solutions here on the right hand side here which is a WPF application that was for the receptionist so what we've done is we've taken all the common code that we want to share with the actual patient app and we've produced a portable class library this is a feature that visual studio has had for many years that allows you to share code common between two different projects so we factored that code out about 80% of the code is shared now between this desktop application and then the universal windows app that I am now producing for applications we also have this great new dropdown here that allows it to make it very easy so you can go look at what the layouts would actually be right here in the designer for different sizes you can go look at portrait versus landscape and go make it easy for them to go make sure it works and looks good here so I'm going to hop over to my phone and actually show you this running on my phone so here we go I'll just launch the application I'm actually able to give nice continuity between what they saw on the desktop and what they see here on the phone I can scroll and I can go back and look at appointments and just go back to the home screen but I want to highlight one of the things that really makes the universal platform unique is by having a single app package I can now put and use the desktop UI when I connect a monitor and a keyboard there's no PC connected here but basically right now I have a wire connected directly to the screen and I'm using bluetooth to connect a keyboard and a mouse and I can go and I will say run it on the larger screen by default it now makes my phone a touchpad and it's a feature that we call continuum for the phone and I can use a touchpad or I have a mouse over here that I can go and I just go to our familiar start menu and I can go launch the application and here is the app that I was running on my design that I was running on my surface book on my phone but because it was a single app package I can now run that from my phone to this larger screen so let me go back now and show you in many cases it's great to build a new sexy UI that everybody likes to go do with the universal platform but sometimes you just got to go diagnose some problems so receptionists have been complaining about the WPF application that it's slow when they create appointments so I'm going to go and check this out because a lot of times everybody complains about the WPF application so I'm going to run the application and so here I'm going to go create a new appointment I'm actually going to create one for my daughter Kara she always seems to be at the doctor so I select one one thousand two one thousand three one thousand four one thousand okay that's slow definitely making them unproductive so what I'm going to show you here is a feature that allows you to edit and continue but this is debugging and profiling together so normally you have to do start a profiling trace and look at it instead what I can do is do a break all and then when I continue everything between this break all and the next one it'll profile so I'll just continue very simply and I'll just do the same thing again I'll go back I'll create Kara yet another appointment I'll select her here one one thousand two one thousand three one thousand four one thousand five one thousand okay now let's go break let's hope we see something with big numbers it's easier to diagnose it so what I'll do is make this a little bit bigger so everybody can see it and yep there's ones using 80% of the time so let me expand that here's the function I'll just hop over to the code shrink this back down ah set blackout dates so this is just basically blacking out the weekend so they don't schedule an appointment on it so dates in the past oh someone commented which is nice oh they tried to make it fast and failed didn't have the tools we have now to go figure it out what they did here is they first will black out five years who needs to black out five years and two they change this from doing it by days to doing it by weeks but they left it as 365 okay so let's go make that one year update our comments gotta always update your comments and I don't have to save it or anything I'm just going to continue here and see if that fix worked and then if I like it I'll save it so I'll go back here this time I'll make one appointment for myself Kara doesn't need it anymore boom instantly fast fix the problem made everybody more productive so you can see just how easy it was for me with the new continue edit and continue functionality built into visual studio to go diagnose this problem on the fly without having to do a whole lot of work now I showed you this in code but one of the things we also want to do is enable this for XAML so we're going to be in the future releases we're going to be basically allowing you to edit continue with XAML as well so you've seen me show you a couple things with the universal windows platform the value that allows you to target all your devices so you can get some diagnostic tools coming in visual studio update one I also want to announce that coming on November 30 align with the visual studio update is also an update to the windows 10 SDK to get advantage of all new features coming in the windows update windows 10 update and all the associated tools if you want to learn more you go to dev.windows.com where you can explore learn and give us feedback with that back to you Scott Thanks Thanks Kevin Thanks for the great work we're doing to enable fantastic windows applications to be built I'd like to invite Amanda Silver now on stage to show off some of the great work we're also doing to enable developers to target iOS and Android devices as well Here's Amanda Thanks Scott So Kevin showed you how you can build Windows native applications using visual studio but the visual studio family also includes tools and services that allow you to build apps for iOS and Android in addition to windows now let me show you a couple of these apps really quickly right here if you come to this app here you can see that this is the patient app that we've created for the clinic this is targeted at the general public so the expectations for this app are based on other apps in the consumer store what that means is that users expect blazing performance and a native look and feel for each one of these apps if we look at the iOS app you can see that the navigation is along the bottom for the Android app we have the hamburger control right here and for the windows application we're using the panorama control now most of this application functionality that I'm showing you here is about coordinating meeting times between doctors and patients but wouldn't it be nice if the doctors can provide continuous care for the patients and it would be nice if the doctors can provide continuous care throughout the day mobility is more than just tablets and phones as you can see we've also created using visual studio apps for the Microsoft band 2 and the Apple watch that allows you to have pill reminders for continuous care throughout the day next I'm going to show you the apps that are targeted at the employees of the health clinic the doctors the doctors we still need to create an app that's available for iOS, Android and windows but to keep support and training costs down we actually want to make sure that we have the same exact look and feel across the three different devices and so this app we've built using the visual studio tools for Apache Cordova now as you can see I can go in here and I can do something like send a notification and select a reason and I can just go ahead and confirm that and as you can see I get a notification sent to the windows phone for the patient application so now let's talk about how we built these applications now many of you probably want to create native app experiences but you're basically dealing with constrained resources as you can see here we have a brand new template in the visual studio update one that allows you to create a portable class library that targets iOS, Android and windows and it's using this portable class library template that Kevin created the portable class library that powered his windows native applications now let's jump into that portable class library and what it contains if we expand this here what you can see is that we have defined the models, the service agents even the view models and the services for the application in this portable class library so a vast majority of the application code across iOS, Android and windows is defined in this portable class library that allows us to get about 80% code sharing using C sharp for iOS, Android and windows which is just fantastic so now let's go and look at the different types of apps that you can create using Xamarin and visual studio and as you can see here I have various application types for Android including an open GL game or even an Android Wear app and I have an iPad app I can again create something using OpenGL or a sprite kit and iPhone I can even create the Apple watch as I showed you with that app earlier but the Xamarin extension for visual studio isn't just about code focused productivity it also provides other types of developer and as you can see here I have the Android designer for my app right here and you can also see that we can have a storyboard based designer so I can do the entire storyboard based layout for my iOS application in the context of visual studio now one of the things that's new to the latest version of Xamarin is that they've really been working on improving the connectivity between the windows machine that I have here and the OS X box that's actually allowing me to do the build on OS X and render it locally here and as you can see they've introduced this new Xamarin Mac agent that basically allows there to be a much more reliable connection to that OS X machine that's running backstage in addition to it being more reliable it also means that all of the configuration can be done on the windows side all you need is to run up a remote SSH session and then you can do all of the configuration here additionally you can also connect multiple visual studio instances to that OS X machine backstage so I can actually go ahead and play with multiple visual studio instances as I'm working on my project now I just showed you how you can create very native experiences using C sharp and visual studio and as you can see we have the Ionic tabs we have onsen UI so there are a whole bunch of different types of app templates that can get you going fast one of the newest things that we're introduced is the Ionic tab that I've built using the hybrid mobile application now since the launch of visual studio 2015 we've been really working on making sure that these things that were introduced as support for the Fiori mobile client from SAP which is also an app platform based on top of Cordova so next thing I'm going to do is jump into how this Cordova app is built if we go ahead and expand the dependencies and look at what's in Bower you can see that this particular app is built using Ionic Angular and jQuery so we can use our most beloved web frameworks to build a mobile app that has a native experience now Apache Cordova apps allow you to use web technologies but it's not quite a web application the difference is that it actually doesn't run in a browser container and in addition to that you can also access native device capabilities using the Cordova plugins as you can see here there are a whole bunch of core plugins that allow you to access capabilities like the battery or device motion or device orientation or geolocation and other things like that I can also use custom plugins that I've designed and authored myself and in this case I'm going to use two plugins that Microsoft has provided I'm going to speak to those there's a wide variety of plugins that are available from the Cordova community now the first one I'm going to mention is a brand new today is an Intune Man SDK now what this allows you to do is to use once I include this plugin in my app it acts as a gate and I can use decoupled management that for example my IT administrator or my developer configure the app policy separately and then I can use policies such as requiring a pin or requiring that I can't do things like copy and paste or I even can do data encryption for this application now the next thing I'm going to show you is the code push plugin now using this plugin I can actually update my app with functional or minor tweaks for the application without having to go through the app store so let me go ahead and show you that here on the Android application I can respond to the notification that there's an update for my app in this way that I want to in this case I can go to the settings and check for it on start or what I can do is go ahead and check for updates now what you see is that it's actually checking the service and we can see that there is a new version available it's downloading and now it's actually downloaded and installing the update and you can see that it's actually reloading that app without actually going through the store in this case what it's done I'm excited to announce that today this is going to be made available as a public preview so everybody can start using this immediately now since the beginning of us working on the tools for Apache Cordova we've really tried to make sure that the project system follows the file system based project system that the open source project also follows what this means is that it's very easy to open it on a Mac and use Visual Studio Code now because I have great IntelliSense for JavaScript and TypeScript I can get IntelliSense for splash screens and native device capabilities that are in the Apache Cordova tooling right here now we all know that developer productivity isn't just about writing code once I write the code I actually need to be able to try it out see what it looks like in an app environment some of you guys might remember that we introduced a Visual Studio emulator for Android a couple of months ago that's a fast x86 Hyper-V based emulator that runs on Windows wouldn't it be nice if I could actually try it in this Mac environment well I'm excited to announce today that we're actually working on an emulator for Android on the Mac and so I can load that same Apache Cordova app on the Mac just think about that for a second I'm using Microsoft tools to build something using web technologies to build an app targeting Android on the Mac it's pretty awesome now if you're interested in trying out this emulator go ahead and check out the Visual Studio blog today and that'll give you instructions on how you can go and try it out for yourselves thank you very much, thanks Scott thanks Amanda so earlier we looked at how you can use Visual Studio team services to implement a DevOps workflow that you can use with any type of application and this week one of the things we're excited to announce is a bunch of improvements that we're adding that allow you to further optimize that workflow for mobile development scenarios we now enable you to build your native mobile applications in the cloud using Visual Studio team systems even if you don't have a Mac on your local presence we can actually now do continuous integration builds for both iOS and Android based applications as well as Windows applications running in the cloud and we actually have worked with a partner that delivers the Macs in the cloud to actually do the builds for you and with our Hockey app acquisition that we did earlier this year we're now basically enabling and integrating all of the Hockey app functionality in the Visual Studio team services as well this basically enables you to automatically distribute the testing of your mobile application as part of Visual Studio team services and allow you to distribute to your beta users that might be pushed out through a device store in a completely automated way with no manual intervention we also automate the feedback from user feedback crash analytics and usage data directly back into the Visual Studio team services experience and this really enables a fantastic mobile development workflow and I'd like to invite Donovan back on stage to show off how all this works Thanks everyone Amanda did a fantastic job showing how we can do cross-platform development with Cordova and Xamarin and we with our new build system can do continuous integration on those as well but a lot of you probably have already started down the path of native development using Android Studio or maybe doing Xcode deployments or development what you have behind us is a build that understands that I've already started down the path of native and we still want you to be able to use all the power that we have in Visual Studio team services so here we're able to actually run test with Xcode we're able to actually handle the certificates that you need to be able to sign your binaries we'll then even run the code for you and then send it to Hockey app the acquisition that we made earlier this year now if I go over to Hockey app what this is going to do for me is allow me to see exactly how many versions of my application I have running how many times it's been downloaded and if it's been crashing or not now if I go into a specific version of this application, let's pick version 3 here I'm able to see exactly what the minimum OS version is required to run this application I'm able to see what version of files are actually deployed with this version of our application and additionally I have the ability to see release notes not only can I see the release notes here but if I go to manage version I can actually come over here and actually add to the release notes this information gets pushed down through a notification to the individuals who have this application on their app and they'll be able to show you exactly what is in this new build and then you can decide if you want to take it or not so what I'm going to do here is I'm going to switch over to a piece of hardware and see if I can show you the experience that we have if I'm using a phone so we don't want to do the software update we'll install that later remind me so here we have an update being pushed to us from HockeyApp saying hey Donovan there's a new version of patient and I can go back in and I can show me what's new about it and those are the release notes that I just showed you in the HockeyApp portal and it also goes back and shows me the updates from previous versions of the application as well so maybe I want to go get one of those when I'm done I can actually choose to update it or not but for the demo we won't but I want to show you another really cool feature of this application moving around my application and there's something about my application I really like and I want to share that feedback to the developers so they continue to do stuff that I like directly from the app I can simply click on settings go to send feedback and then be able to send my developers a cool message about this application so I can tell them this is an awesome application if I want to I can even go back in and add a screenshot with the screenshot added I can even go back in there and annotate this and say I really think it's cool there's an urgent button there and then I can go back in and save this and then I can go ahead and send this to HockeyApp now after we acquired HockeyApp we've been working to make sure that there's a tight integration between HockeyApp and Visual Studio Team Services so if I were to go back and look at our patients again I should have some additional feedback now this feedback is the one that you just saw me send from the phone and because it's stored here inside of HockeyApp we can actually have a communication about this feedback that we've received from our end users but because it's integrated with Visual Studio Team Services if I click on this link here it's automatically been sent to Visual Studio Team Services for me so now I can actually link this to a bug or maybe link it to a new product backlog item so that I can go back and turn this idea that I got from our customers into a rich piece of code on our application so this is just a glimpse of some of the things that HockeyApp has done for us not just DevOps not just DevOps in general but specifically for your phone thanks so much Scott thanks Donovan I'm excited to announce that starting today we've integrated HockeyApp now into Visual Studio Team Services enabling you to take full advantage of all the functionalities you saw Donovan show HockeyApp will also continue to be available separately just like it was previously on an awesome mobile DevOps workflow again that works for Windows, iOS, Android and any other device so now we've linked some of the great things you can do with mobile development let's shift gears now a little bit and talk about the work we're doing to enable great cloud experiences as well and Microsoft now offers the most widely deployed portfolio of cloud solutions for businesses between Office 365, Dynamics and Power BI as well as a comprehensive set of SaaS applications for businesses and with our Enterprise Mobility Suite we now allow IT to easily manage those applications as well as deploy mobile-based applications to any device and manage those as well all in a safe secure way and then obviously with Azure Microsoft now has a comprehensive set of cloud infrastructure as well as higher level services that enable organizations to create applications that allow them to differentiate their business and all the company offers the breadth and depth of what the Microsoft Cloud Platform provides and combined we really think these capabilities enable organizations to be much more agile really deliver great solutions that delight partners and really transform businesses and best of all not only do we offer a lot of these capabilities and services but we do so all over the world and one of the things that we really focus on a lot is to provide a hyperscale cloud that allows you to deploy and run applications where you want them and be able to reach a global audience and these blue circles here on the map represent what are called Azure regions which are basically now regions where you can build and deploy your code just like you saw Scott Hanselman and others do throughout today and you know no other cloud vendor has as many regions with as much coverage around the world we now have 28 Azure regions that around the world in those blue dots but in perspective that's twice as many as AWS and Google combined this really enables you to kind of compete and build solutions at truly global scale that can change the world as we built out the features of Azure and as we've kind of enabled this global capacity we're seeing the momentum of Azure just grow tremendously as well we've got more than 90,000 new customer subscriptions signing up every single month we've got more than a million and a half databases now running inside our cloud more than 500 million users inside our Azure Active Directory system and we're now processing more than 1.5 trillion IoT messages per month using our new Azure IoT services that we just GA a few weeks ago and we're doing almost 800 trillion storage transactions per day now using the Azure storage system and the great thing is all this is being driven by a wide variety of different customers we have lots of enterprises but one of the things that's kind of interesting about Azure and I think speaks to kind of our openness is that 40% of the usage and revenue now is coming from startups and ISVs that are building solutions using a wide variety of different technology and this slide just speaks to some of the customers and some of the great customer stories that are now enabled on top of Azure and you can see we've got great customers that have been successful across a wide, wide variety of different businesses and industries and some of these applications are customer-facing solutions some of them are employee-facing solutions and all of them have basically been using the cloud to really transform their business and deliver it in a big way and what I'd like to do is actually show a quick video of one of these solutions that we're going to walk through in just a moment Each year in the United States about 75,000 people will die from what's called a hospital-acquired infection. Hands are one of the primary carriers of pathogens and hand hygiene compliance rates in the United States averaged less than 50%. Goju saw a need for a solution to increase hand hygiene compliance and help to save lives. The Goju Smart Link Engineering team was able to create a solution that could track and monitor hand hygiene compliance within a healthcare setting and provide real-time feedback. It's the Internet of Things meets big data analytics. We have two different types of sensors that we use in the operation. Our activity counter which gives the flow of traffic in and out of a given area and of dispensers themselves. All those events come up, they're aggregated and that's how we generate that compliance number. Once the data is aggregated it's consumed via the web or mobile devices. Azure's been really helpful for us because we've been able to consume some of those higher-level services, particularly around IoT. We're using things like event hubs and stream analytics, storage queues and SQL Azure as our database back-end. That has allowed us, in a lot of ways to avoid some of the overhead and maintenance of traditional infrastructure as a service. We're leveraging Azure websites for the portal front-end and that really gives a response of you and I to the users and then for those deeper insights we're using the BI tools in the background. The Azure IoT services have allowed our small development team to really get to a proof of concept initially in about six weeks along the way we've been able to incorporate additional architectural elements with a lot of speed. We used Visual Studio Online to make the transition between the traditional waterfall approach and through Agile and Scrum it has helped us immensely with sufficiency and effectiveness. We have tens of thousands of devices in the field generating today around two million events a day and that growth we expect to really continue as adoption is driven out through the market. The Gojo SmartLink solution has not only become the global leader in hand hygiene compliance monitoring but also delivers a higher standard of care through providing better insights as well as increasing patient safety. Sometimes it's the simplest things that can save a life. What I'd like to do is invite Jason Slater from Gojo on stage to talk a little bit about the experience and what they're doing here. So here's Jason. Thank you very much Scott. Great having you. So I understand we've been running an experiment here this morning. We have. Tell us a little bit about that. Certainly certainly so what we actually did you may have noticed or maybe didn't know that the CURL SmartLink Act enabled dispensers at the opening the doors for the keynote. So we've been really monitoring that usage and how to determine how we've been doing all day today. For all the attendees here. Absolutely. Awesome. So how did we do? Let's see. Alright. So for the big reveal looks like we're at about 15% compliance. So yeah it back to the video you know in the healthcare system it's below 50 so you know in a setting like this that's probably not surprising but it really just makes you open your eyes and think about a little bit every time you walk through those scenarios. That's awesome. Well thank you so much for joining us and giving it a try and you know I hope to shake some people's hands here about 15% of them. And you know it's great how the solution is not only is it great tech but you know I was just going to mention the video you know this is the type of you know little innovative solution that technology now enables that really saves lives and as goes mention you know can save tens of thousands of lives a year in a hospital setting. So thanks so much for building it and thanks again for joining us. Appreciate it. We've got some other great Azure announcements that we're going to be talking about in some of the other breakout sessions today. Two in particular I'd really like to highlight is the public preview of our new Azure service fabric service which makes it easy for developers to build and operate micro service based applications at tremendous scale. And you'll see some great demos of that in Scott Hanselman's talk a little bit later today. I really think it's transformative technology and it's going to enable you to build hyperscale applications in a truly differentiated way. The other great announcement we have today is that the Microsoft Graph API is now available in general availability form. People don't know the Microsoft Graph API basically provides one rest-based point that developers can use to basically interact with Office 365 all the Microsoft cloud applications and services and all the data that users store within them in an integrated secure way and it's great for building both ISV based applications that target businesses as well as great for building internal enterprise applications by making your application much richer and able to integrate with the apps that customers already show. So we've talked a lot about a lot of technology today and we have a lot more technology that we'll be talking about throughout the day. What I wanted to do in terms of closing this keynote though was talk about a few programs that we're also announcing which makes it even easier for you to get access to that technology and makes it really flexible. Millions of developers today use Visual Studio with MSDN as a solution that delivers everything they need to create applications and it includes all the members of the Visual Studio family that we talked about today as well as additional resources to kind of unlock the Microsoft platform as well as Azure Credits for DevTest training, support and a whole bunch of other programs as well. And today we're announcing an even more flexible way to get access to the benefits that are provided with Visual Studio with MSDN with something that we're calling our new Visual Studio cloud subscriptions and with the Visual Studio cloud subscription to Visual Studio on either an annual or now also a monthly basis in addition to obviously continuing to purchase it the way you do today on a perpetual license so you still have that same flexibility you have today but these are two new options that we're enabling and we think with these new options they basically enable developers to get started with Visual Studio for even more minimal upfront cost and our ideal in particular for people that only need access to Visual Studio for a project that lasts a few months in a really cost effective way that you can go ahead and take advantage of it. Also really excited to announce today a new free subscription that we're launching which we call our Visual Studio Dev Essentials subscription. This basically is a centralized program for everything you need from Microsoft to create applications that run on any device or OS. It includes all the free tools of Visual Studio that we've already released things like Visual Studio Community Edition and Visual Studio Code but it also includes access from a subscription basis to our Visual Studio Team Services that you saw today as well as includes some free Azure usage credits that enable you to use Azure at no cost and we're making this available it also includes some additional training and software including some great content from a bunch of our great partners and the great thing is this is available at no cost any developer can go ahead and sign up for it and start taking it immediately and you can get started and register for it for free today by going directly to visualstudio.com. So this year marks the 40th anniversary of Microsoft's founding. If you go back to when Bill and Paul started the company 40 years ago they created it as a company to build solutions for developers and developer focus remains very much at the core of our company DNA. I hope you really enjoyed the rest of today's content we got a lot more coming and we're really looking forward to seeing your feedback helps make us get a lot better and we're also really looking forward to seeing the great apps that you build with all this technology we really think in this mobile first cloud first world there's so much opportunity out there technology really can change the world in a profound way and we're looking to see you do it. Thanks again have a great day.