Jerry Nixon on Windows

Tuesday, November 17, 2015

A Developer's guide to Visual Studio 2015 Update 1 and all the Connect() 2015 announcements


They dunked Visual Studio 2015 in a bucket of awesome-sauce and pulled out Update 1! This article will help step you through the update as well as the other details we announced @ Connect().
 
It’s Microsoft season! In July, we released our best Windows ever – fast, secure, and super-personal, Windows 10 has than 110M consumer and 14M enterprise installations in as much time. November is the first major update in this new Windows-as-a-service world; it coincides Visual Studio 2015 update, and in this article, we’ll try to make sense of the flurry of announcements and updates.

What’s new for everybody but developers?

We might as well get this out of the way. It’s good to be aware.

Consumer enhancements

Not every user of Windows is a developer in this bring-your-own-device world. There’s candy for everyone. Windows Insiders have already been enjoying the tweaks to the Start menu, integration with Windows phone, and other aesthetic tweaks. That being said, overall, Windows 10 update 1 doesn’t introduce many significant interface changes – mostly just fit and finish to Windows 10.

Azure Active Directory join

Conversely, ITPros have been treated to a myriad pined features – like Azure Active Directory join, the Windows Store for Business, and Mobile Device Management for online enrollment of desktop machines. These features enable group policy without VPN, volume license management for apps, private apps, and provisioning remote devices while securing corporate data. 

Windows Hello

Most notable is Windows Hello. This is a developer feature, you know, since it simplifies the complexities of access; let me explain. At the heart of authentication are security tokens granted to the user and safely stored in the Trusted Platform Module (TPM), the same hardware-based cryptography enabling BitLocker. For devices without a physical TPM, Windows will securely virtualize one.
In the recent past, we called the Microsoft Account the Microsoft Passport. We renamed it to simplify consumer understanding of our online properties. Windows Passport is not the same thing, though it shares its name, but we have completely run out of product names and had to re-provision this one. Just kidding.
Access to the TPM is enabled only by a suite of controlled APIs we call Passport. Working together, this is a big step to single-sign-on (SSO) nirvana – which, more practically, means I don’t have to keep signing-in to Office 365 every time I click a SharePoint Online link. Passport, however, is gated. Users must provide a personal pin, a personal pin that expires quite quickly; enter Windows Hello.

Windows Hello is a pin management subsystem of Windows 10. It includes support for passwords, numeric pins, picture passwords, and biometrics including fingerprint, face recognition, and iris scanning. It caches your pin, and conveniently prompts for transparent re-authentication when that variable cache expires. It is a seriously big step toward authenticated happiness.
It’s important to know that biometrics require special hardware. The Surface Pro 4 keyboard includes a fingerprint reader; it and the Surface Book both include Intel’s ImageSense cameras for infrared, facial recognitions. The Microsoft Lumia 950 and 950 XL both have iris scanners on board. Meanwhile, our partners are (or shortly will) shipping their own Windows Hello biometric devices.

Lumia 950 and 950XL

The Lumia 950 and 950 XL Windows Phones include liquid-cooled 6 and 8-core processors, respectively. No kidding. These little rocket use the new Microsoft phone dock to enable Continuum-for-phone. Continuum is a game-changer. With it, a phone physically or wirelessly connects to a keyboard, mouse, and monitor – treating it like a PC with full Windows capabilities, including apps like Office 2016 – features, add-ins, keyboard shortcuts – everything you expect in a PC experience.
Note: any phone that does NOT have a USB-C type connector (both the 950 and the 950 XL do) is not likely to support Continuum on Phone. Remember, it's a hardware feature not only with connectivity but also within the chipset. This is a new capability.

Microsoft Band SDK

Since we’re talking about Microsoft hardware, it’s worth pointing out that the Band SDK now supports Microsoft Band 2 with features like: streaming data from the band, connecting to multiple bands, creating interactive tiles, messaging, and personalizing the band – all off-band and across mobile platforms like Windows, iOS and Android.  Friends with the Band is the Microsoft Health Cloud where wearable data is centrally stored. Developers can use the Microsoft Health API to request access and use that wealth of telemetry data.

Visual Studio cloud subscriptions

In the past, purchasing Visual Studio meant a significant up-front investment. For Visual Studio Enterprise, businesses could easily drop $10k per developer for the MSDN subscription that includes it. Introducing Visual Studio cloud subscriptions. Now, developers and business can rent Visual Studio for lower, easier monthly payments ranging from $45 to $250 per month. For ad hoc teams, smaller businesses, and startups, this can reduce a barrier of entry to a premium developer experience.

What’s interesting about Visual Studio cloud subscriptions is the word “cloud” in the name. Why? It’s not just because you download from the cloud – we’ve always done that. It’s because the entire purchasing experience is accomplished through the emerging Azure Marketplace.

The Azure Marketplace

The Azure Marketplace started life as the Azure Data Marketplace, an easy place to purchase hosted data and services from premium providers, like Bing translator and third-party providers. Today, the Azure Marketplace is also a central place to purchase almost anything including Salesforce, Oracle, and (now) Visual Studio 2015. What does this mean? It means businesses get a single, simple bill for everything from development costs to virtual machines and SQL Server online.

Visual Studio dev essentials

With Visual Studio 2013, developers were treated to roaming settings for the very first time. It was a dream – jump from machine-to-machine and your preferences follow you around like a puppy. This were enabled, in part, by the Visual Studio profile. Using your Microsoft Account (MSA) sign-in to Visual Studio and you were good to go. To the developers on the Visual Studio team, thank you.

The evolving profile

In Visual Studio 2015, even more settings roam and a developer’s Visual Studio profile was even more important. It also allowed you to seamlessly access remote source repositories like GitHub and Visual Studio Online without having to monkey around with a litany of passwords. Plus, almost every setting roamed for an awesome multi-machine experience. Once snippets roam, I’m buying the whole team drinks. (Water, of course; with all they ice and lemon you want – free refills).

Dev essentials benefits

The Visual Studio profile is free – it doesn’t matter if you are using Enterprise, Professional, Community, or even Express. And now, every Visual Studio profile qualifies for Visual Studio dev essentials. This is a toolbox of awesome benefits you get just for using Visual Studio.

The list includes tools like Visual Studio, Code, and even Parallel for developers using a Mac. The list includes services like Visual Studio source control, Application Insights, HockeyApp (a 2014 Microsoft acquisition for cross-platform mobile applications), MacInCloud integration, and even a $25 monthly Azure credit – yep, you read that right. In addition to all that, Visual Studio developers get free access to subset of the training catalogs for PluralSight and Wintellect, HackHands consultation, and priority support through Microsoft.

Visual Studio Team Services

A rose by any other name is still a rose. Visual Studio Team Services is the new name of Visual Studio Online. And, I for one could not be happier. You know how you see some things happen and you think to yourself, “That won’t last long.” Such was Visual Studio Online. I weighed in, warning developers will think Visual Studio Online is a browser-based version of Visual Studio – you know, an online version of Visual Studio, as the name implies. Alas, I am but a small voice in a cacophonous crowd. And, so, here we are. Good riddance Visual Studio Online, hello Team Services – our terrific source control, project management, and automated build offering that was hidden behind a silly name.
Previously, we had Visual Studio Team System. Don’t confuse that old moniker for the desktop tool with the Visual Studio Team Services, its online compliment.

Test manager extension

This is important. Not because of the Test Manager extension a suite of testing features in Visual Studio and Team Services for a monthly fee of $52/developer; no. Because we are ushering in a new way to modify the premium capabilities of Visual Studio without introducing a new Visual Studio SKU. Remember Visual Studio Test Edition? Remember Visual Studio Online Advanced? No more. Starting this week, we see Visual Studio getting premium features simply by adding a Microsoft extension, like Test Manager.

Visual Studio Marketplace

Part of Visual Studio Team Services is the next generation of the Visual Studio Gallery called the Visual Studio Marketplace. The Visual Studio Gallery was (is) the go-to place for Visual Studio extensions – both free and paid. The Visual Studio Marketplace will ultimately replace the Visual Studio Gallery, enabling not only easy access to extensions, but an easy mechanism for extension authors to monetize their work. The old Visual Studio Gallery was, basically, just a download site.
It’s worth pointing out that third party, paid extensions will be supported soon.
Aside: as the author of Template 10, an extension for universal Windows apps on Windows 10, I can tell you that I welcome some love getting injected into the Visual Studio Gallery. The gallery is a pretty pleasant experience for the hundreds of thousands of developers consuming it, but the experience for extension authors is anything but streamlined. With the simplification of extension monetization, I am sure more third party authors will be tempted to leverage it as a resource.

Application Insights

I have a love/hate relationship with Application Insights. On one hand, I love having simple access to app metrics. I also love the new integration with Visual Studio and Power BI. That being said, I am hardly a fan of any tool that highlights how horribly wrong I can get my code. J No kidding.

Well, anyway, Application Insights is now available for every type of app, from WPF to web sites and mobile apps on every platform including iOS and Android. If you can write it, we can handle it. All that data is available for real-time analysis, as well as alerts, up on the Azure portal or in your inbox. With a little insight and some developer love, your app stability will be a feature, not a liability.

Team Foundation Server

It’s still 100% viable for an organization to have an on-premises source control and project management server.  Team Foundation Server update 1 RTM was also announced this week for download. It’s a long discussion to delineate the delta between online and on-premises Visual Studio Team Foundation Server, but at their hearts they are the same.

Visual Studio Code

Visual Studio Code is now open source on GitHub. If you follow Microsoft’s embrace open source software (OSS), this is probably something you saw coming. Open source means you can learn from our investment and even submit your own pull request for that new feature.

Open source

Microsoft’s open source agenda is complex. No question it’s a move motivated by the fact that open source is unswervingly popular, but it’s also a way of garnering good will in our business choices, good faith in our code quality, and nod to the thousands of developers who genuinely love Microsoft and want to contribute in some way – even if it’s just to brag to their colleagues that they did it.

With .NET, ASP.Net, and now Code open source, Microsoft also gets the advantage of unexpected innovation and transparency for security audits that might have otherwise prevented our technology from being selected by key partners, enterprises, and governments. We aren’t going to stop core contribution, and we aren’t going to give up our intellectual property, but we’re as open as a for-profit software company can be.  And, it’s awesome.

Extensions

Visual Studio Code now has long-awaited extension support. A gallery of extensions is available within Code or at visualstudio.com for developers wanting to make Code do more. Extensions can add additional features, but can also apply custom themes and language support. It’s easy to see that the developer community loves Code. With extensions, that’s only going to grow.

Visual Studio 2015 update 1

And now to Visual Studio 2015 update 1. This is the first update to Visual Studio 2015 since it went RTM back with Windows 10 in the summer.  But, let me set your expectations, Visual Studio 2015 update 1 is an incremental update that cleans up many things and only introduces a few. Nonetheless, let’s enumerate what’s new.

Universal Windows Platform

Last week, Windows 10 released update 1. Internally, we called that Threshold 2 – because the first release of Windows 10 was codenamed Threshold (the one is implied). And, since we can hardly bring ourselves to type out full words, we simply called it TH2, or sometimes “the November update”. To you, it’s just Windows 10 update 1.

With update 1, came an update to the Universal Windows Platform (UWP); the previous version was 10240, the new version is XXX. Windows apps can support both at the same time. Unlike the .NET framework, UWP is not a runtime; it is a guaranteed, single API surface across every device that runs Windows 10. This includes Windows Phone, Desktop, Surface Hub, IoT (Raspberry Pi), HoloLens, and whatever else the engineers dream up supporting.
This API surface is what enables universal Windows apps. With Windows 10 (before the update) Visual Studio 2015 (before the update) supported app development with the UWP SDK. With the update of both Windows 10 and Visual Studio 2015 comes the update to the UWP SDK for TH2 support.

So, what’s new?

Get it in your head that update 1 is a fit and finish release. The developer story was already good. Now it’s even faster and more stable. Although Windows 10 update 1 has several consumer-oriented user delight features, like Windows Hello, the UWP side of things is pretty stable. We’re basically leaving significant innovations to our next release, codenamed Redstone.

CSharp scripting

Every C# developer knows that while debugging an application, you can open Visual Studio’s Immediate Window to write and run arbitrary code within the context of the current application. It’s brilliant. Outside of that and a BizTalk feature called inline scripts, however, C# was trapped within the context of a compiled assembly. Until now.
Aside: it’s worth pointing out that this technology has been used internally for some time in Azure solutions, especially on the compute side of the house. It was mostly hidden from developers, but these solutions drove its development.

With Visual Studio 2015 update 1, developers can how choose File > New > File > CSharp Script. The resulting *.CSX file can be executed headless, without compilation, by the new stand-alone CSharp Interpreter (CSI.exe). It’s the CSharp you love, with type-safety and the .NET framework, but without the overhead and memory requirements of the .NET runtime.

The REPL tool

Visual Studio’s Immediate Window can now be executed stand-alone, too. The new REPL tool was demonstrated in 2009 and developers have been waiting anxiously ever since. It allows developers to hack out CSharp code without creating a project or compiling needing to it. This is useful for all types of developers wanting to iterate quickly. However, the real winner here is education. Students can write, learn and test code without having to be first taught about the structure of proper projects. Moreover, this is an obvious gateway to cross-platform coding.

What’s REPL stand for? Read-Eval-Print-Loop. And in Visual Studio’s REPL developers get all the candy that comes with Roslyn – like comprehensive Intellisense. It also allows a slightly expanded syntax of C# to enable important REPL-tasks like seeding and defining methods. NuGet support is coming soon.

XAML designer

For developers, the worst part of development is users. Everything works so much better until they get involved. Similarly, for the authors of developer tools, the worst part is developers. Everything works so much better until they get involved. And, so it is with the XAML designer.
The XAML designer enables developers to visually create stunning user experiences in a simple and productive way. One incredible feature of the designer is that it can execute project code (that’s the code written by the developer) within the designer, giving developer/designers a rich design-time experience with the data and behaviors they would expect to see at runtime.

Because developers can write some gnarly project code, the designer’s stability and memory footprint is subject to its quality and immensity of that code. XAML developers know, the designer can crash. You might say, “Just make it work.” But developers chanting that trite repost just highlight their own ignorance in the orthogonal complexities of the subject task.

To address this issue, many developers use the global setting disabling all project code in the designer. As a result, every design experience is degraded – even the ones that might not have needed to be. With Visual Studio 2015 update 1, you don’t need to use this setting. Now, developers can disable project code on a per-view basis. The all-or-nothing approach still exists, but that’s more like cracking nuts with a steamroller. The new per-XAML file setting is a better, precision instrument – and you can toggle it from within the designer.

Edit and continue

How great is edit and continue in c#? Similarly, XAML developers can use the Live Visual Tree feature of Visual Studio to select any element in the XAML tree of a running app. Developers can view and edit the in-memory property values, seeing what different property values do to the user experience. Soon, in a forthcoming CTP of Visual Studio 2015, runtime edits will be  persisted back to the actual XAML, much like edit and continue in C#. This workflow helps deliver incredible productivity to app development.

XAML Behaviors open source

Because developers can declare their user interface, XAML is incredibly productive, but because developers can declare the logic of their interface using Behaviors, XAML is amazing. Declaring an application through XAML means developers get a design-time experience, with visual checks and parsers to validate their intent as well as their implementation. Behaviors enable this and give us encapsulation and reuse on an epic scale.

Behaviors are now open source and available through NuGet. This is a huge improvement over being an Extension SDK in the Universal Windows Platform. Why? Well, for one, you can learn how to use behaviors by interrogating the open source repository. For two, you can contribute to the behaviors library. And, best of all, the Behaviors SDK will be compatible with UWP apps and no longer give us warnings when we build apps that reference it.

Pull requests hub

There is certainly more candy for developers in Visual Studio update 1. One worth mentioning is the Pull Request Hub. Interacting with git repositories prior to update 1 was, basically, a command-line task. But we’ve embraced git and realize how appropriate it is for certain types of project. With Pull Request Hub, within Visual Studio Team Explorer, developers can review, create, assign and reassign pull requests without leaving the comfort of their IDE. This is a huge and welcome improvement.  

Application Insights

You might notice Application Insights has made an appearance twice in this list. Take that to heart. Application Insights is a big deal in the Microsoft developer story. This time it’s because of new Visual Studio integration. Yes, developers can search, filter and share Application Insights data right from the IDE. We knew that was coming. But, with update 1, Application Insights events now appear in the Visual Studio Diagnostics Hub as they occur. This is a boon for developers leveraging these analytics to build better and more stable applications.

.NET Core 5 RC & ASP.Net 5 RC

Available on Linux, Windows, and OSX, .NET Core is an optimized implementation of .NET allowing managed languages, side-by-side, across platforms for modern apps. This week, we announced that .NET Core now includes networking and localization APIs. Meanwhile, ASP.Net includes localization, Entity Framework 7 and Lag helpers. All this with top notch tooling inside Visual Studio.

Aside: the .NET Framework 4.6 (typically called the full framework) on which hundreds of thousands of desktop applications are written, is the superset of the .NET Core and, together, are under the umbrella we call .NET 2015 and share compilers and tooling.

TypeScript

Bringing sense to JavaScript, TypeScript has received several new enhancements in this update. These include significantly better editor support, improvements with dynamic JavaScript code patterns, richer module support, an easier way to manage library definitions, and support for React/JSX and Angular2.

Microsoft Office

There are tons of announcements around office.

Microsoft Graph

The interconnected of social data is pretty astounding. Finding what relates to what is now easier with our cloud-compiled Microsoft Graph. With it you can access information about users, groups, files, messages, calendar, contacts, notes, tasks, and more, all under a single endpoint.

Office UI Fabric

We’ve all been copying the look-and-feel of Office for years. Now that Office is on the web, it would sure be handy if developers had some type of framework to enable that special Office experience. Introducing the Office UI Fabric.

Office Connectors

Want to get your data into Office 365? Developers can build against Office Connectors through webhooks to generate rich connector cards.  And web sites can add "Connect to Office 365" functionality to enable users to connect to Office 365 groups directly.

Outlook REST endpoints

Accessing Mail, Calendar, and Contact data for any Office 365 or outlook.com user just got a whole lot easier. In version 2, developers can leverage new capabilities around Webhooks, Photos, Reminders and Timezone.

Outlook in-client store

We’re now introducing a new in-client store for Outlook to purchase Office add-ins. This greatly simplifies the experience for users while blowing wide open the opportunity for add-in developers to get more exposure for their products.

Office 365 Task API

If collaboration is your game, then tasks are likely a central part of your workflow. With the new public preview of the Task API, developers can leverage tasks along with the Microsoft Graph to create compelling experiences to make your teams more effective.

Add-in commands

Building cross-platform add-ins for Office can extend capabilities directly into your enterprise. With add-in commands, you can extend office by adding buttons (commands) directly to the Office ribbon. This immersive approach makes your add-in feel like a natural part of the experience.

Conclusion

There are a lot of moving parts when it comes to the Microsoft developer story. This week’s announcements were exciting. As you start to dig in and learn more, you might want to check out some in-depth coverage from other evangelists across the country who are uncovering the candy that makes us more productive and happier campers.