Build 2016 top 10 announcements

Sun, 03 Apr 2016 20:52:00 GMT

Once again I was able to make my way out to San Francisco for Microsoft’s \\build\ conference which highlights the latest advances in Microsoft development technologies. I use it as a judge to see what technologies are receiving focus and how well they are being received. there’s no way that I can cover everything that was shown due to the abundance of sessions. I did try to keep my ear open as to things that people were talking about outside of sessions on things that were buzzworthy (positively or negatively). If you want to dig into the sessions and judge for yourself, head on over to Channel 9 for the slides and videos or GitHub for the labs.

With that out of the way, here is my top 10 list. I’ve also posted a slide deck with some additional links for this list. If you don’t agree, fill free to Disqus below.

10 – HoloLens

While this wasn’t a new announcement, the start of the conference did mark the start of shipping development kits to people willing to shell out $3000 bucks. They did have a number of sessions and labs around the HoloLens, including bringing Mars to the exhibit floor for those with enough free time to wait in line to try it out. I choose to spend my time otherwise and passed on this one, but did hear from some that the limited field of vision continues to be a challenge. I’ve heard from some that have tried the devices outside of the dark test environments have indicated that they do work reasonably well in regular light situations, but have limited battery life. I’ll keep my eye on this space (pun intended), but will hold my money as well until the space settles down a bit.

9 – Xbox developer mode

While there was much less time spent on the new Xbox Developer Mode, I did find it noteworthy because it indicates a shift in philosophy from a closed/curated ecosystem, back to one that more openly embraces the hobbyist and indie game developers. In the past we’ve struggled to get access to platforms and frameworks to build apps for the Xbox, and now we may finally be able to start building some of those systems for customers again.

8 – Azure functions

While it’s been easy to create services for Azure, those solutions required full .Net or Node projects. With the new Azure Functions, Microsoft is directly attacking AWS Lambda and Google’s Functions by offering a light-weight mechanism to write small script components in C# or JavaScript that can respond to a number of system events, including messages on a message bus, adding items to blob storage, etc. With this, it should be even easier to use Azure for Micro services.

7 – Centennial

The Centennial project should be of interest to anyone still working on Windows client applications (Win32, Winform, WPF) that wants to simplify deployment and discovery through the store (public or private) and/or wants to light up windows 10 features like live tiles, notification services, etc inside of their existing application. The process can replace existing WIX or InstallShield installers with the store appx packaging system. When Windows 10 Anniversary edition arrives this summer, users will be able to open the appx just by double clicking it from the desktop. As an additional feature, the new packaging will enable a virtualized registry redirect to allow for storing registry settings in the local executable path rather making installation and removal easier and more reliable.

6 – C# 7

It wouldn’t be a Microsoft developer conference without some discussion of the future of C# and this year produced a number of oohs and aahs including support for binary literals, Digit separators, Tuples, Local functions, and pattern matching. In all honesty, the local functions feature had some scratching their heads trying to figure why Microsoft wanted to make your C# code look like JavaScript with nested functions. The others received a fair amount of love with the greatest applause coming from named tuples. Honestly, I find them to be a lazy way to enable multiple return values from a function, but acknowledge that they can reduce the amount of boilerplate code that would be required with return value classes otherwise. For a more comprehensive list of language features being considered, head over to the Github issue tracking them and provide your feedback.

5 – Visual Studio “15” beta

C#7 has a dependency on a new version of Visual Studio which is tentatively called Visual Studio “15” (not to be confused with Visual Studio 2015 which is version 14). The preview is available for download both as a full iso and with a smaller streamlined installer. In fact, several presenters demonstrated the ability to install the core of VS 15 on a virgin machine in less than 180 seconds. It will also allow for side by side installs with other copies of itself due to the virtualized registry management that’s used in the Centennial project. Among the many features demonstrated, the one that got the most attention (in several presentations) were the new “How do I …?” feature in code completion lists. With this you could search for code samples online to do standard tasks (like converting XML to JSON). After pasting the sample code into your project, you can resolve references not only to already referenced assemblies, but also to nuget assemblies and have them added to your project directly from nuget. Additionally, GoToReferences on selected nuget assemblies can dynamically load the source from GitHub and even allow you to set breakpoints and debug into the downloaded files.

4 – .Net core

.Net core is the re-written base class library which works on Windows, Linux and OSx. While we weren’t given ship dates yet, they did make an effort to show off the performance improvements that the revised core contains. ASP.Net Core is ~4x the speed of Node and EF Core is 70-80% (faster on bulk inserts over the wire) as compared to EF6. During the day 2 keynote, they demonstrated Age of Ascent running Azure App Fabric with ASP.Net Core to support a game of up to 50000 concurrent users and >2 million requests per second. Check out the Age of Ascent videos for some truly impressive performance examples.

3 – UBow - Bash via Ubuntu on Windows

Ok, so it’s not called UBow (yet) but with your help dear readers, maybe we can get this term coined as it’s surely better than Bash on Ubuntu on Windows. They made it clear that this is not Ubuntu (Linux) running in a VM on windows, but is true user mode Ubuntu bash running natively on Windows. This 20 minute video goes over some of the capabilities that this offers the Windows developer better than anything I could explain here. In addition to Ubuntu, Redhat was on stage with the .Net team to demonstrate .Net running via Mono on Redhat Linux and even has a developer page for RedhatLoves.net that you can sign up to get more information from.

2 – Conversations as a Platform

This item was somewhat confusing and took up 1/3 of the day one keynote, but is a bit clearer now. Essentially, this Microsoft’s attemt to let bots run wild across all devices and works in conjunction with their Bot framework, natural language processing(LUIS) and machine learning tools to enable you to build automated chat bots that can register for certain key phrases and facilitate a conversation including the ability to order a pizza or reserve a hotel room directly from chat (in Skype). Since this was relatively new, we’ll see how much love it gets going forward and if it is a fad or will simply fade away.

1 – Xamarin

Since Microsoft acquired Xamarin, everyone was expecting some announcement regarding the purchase and Microsoft did not disappoint. They lead off the day to keynote with the announcement that Xamarin would now be FREE for all users including support for the Visual Studio Community edition thereby eliminating the main hurdle to adoption. Xamarin was previously $1000/developer/platform which added up quickly. With this change, I see many more people getting involved in this option for mobile development. In addition, the Mono framework was relicensed to the more open MIT version allowing for reuse and open sourcing the remaining proprietary APIs. Beyond this announcement, the only new features that were demonstrated focused on the new Workbooks (markdown based documentation which can include debuggable code samples) and a visual inspector for debugging XAML UI layout issues. I suspect that they were holding off on other announcements for their Xamarin Evolve 2016 later this month.

0 – Helping the blind to see

Since I used Option Base 0 in this post, I reserve the right to include one more item which received the greatest applause for the entire conference, even bringing some of the attendees to tears. They ended the opening keynote with a video showing how one of their developers used the machine learning and cognative services capabilities to literally enable the blind to see the world around them. If you only watch one video, make sure to take 2 minutes and watch this video. Don’t forget to have a tissue handy in case the emotions get the best of you.