The big topics that were discussed at BUILD 2016 ( link ) were around these key topics which I thought were interesting:
- Project Centennial
- Windows Nano Server
- Xamarin and .NET
- Office 365
Project Centennial received a good amount of attention as it was not only the repackaging of traditional win32 into self contained virtualised environment that avoids a pristine Windows installation into a glorified mess. By isolating the installation from the rest of the system with limited access there is the ability to move the operating system forward by solving one of the largest single point of contact between the end user and the operating system which results much of the unhappiness that end users face. What it also provides is something that previous attempts at modernisation failed to do – a step by step incremental process where by developers could gradually update their code base over time rather than a situation of ‘all or nothing’ they can gradually migrate. Hopefully with the ability for programmers to make that gradual migration it’ll be an encouragement in the same way that Carbon worked as an incentive to Mac OS Classic developers and Cocoa being the long term aspiration. Hopefully with the bridge that is provided and the strength of the UWP framework that developers will see value in moving even if it means that the primary benefactor being the developer itself developing against a modern API without all the pitfalls of a low level API that is win32.
Windows Nano Server was discussed in an interview with Jeffrey Snover where they’ve done a lot of work to bring the best features of the *NIX whilst maintaining its Windows roots through the ‘on demand’ install of components, the ability to run it in GUI-less mode along with the introduction of ‘Windows Server Apps’ which amounts to ‘Project Centennial on the server’ which will mean that server applications will be able to do a lot of what they could do before (install services etc) whilst isolating them from the system so that they cannot messy up the system. The move to a more modular system should also mean that maintenance will be easier when it comes to Microsoft adding new features, providing fixes and security updates for starters. In other words, the the move to a rolling release that is modular where administrators can strip down a servers functionality to the absolute minimum, that only that functionality which is required to function is installed and configured – what does that sound like? sounds a bit like OpenBSD – a locked down system where the onus is on the administrator to only open up the services required and nothing more.
The big announcement along side the huge Visual Studio update along with announcements of future compiler and SDK improvements was that the Xamarin plugin was made available free of charge to all developers. It is interesting how .NET when it was first launched was promoted in the cheesy ‘multi-platform’ with multi-platform being defined as ‘working on different versions of Windows on different devices’ rather than what many would think as multi-platform ala Java. Part of keeping developers within the ecosystem isn’t just providing developers with the tool but going where the developers at – if that involves accepting that developers are going to target more than just your platform then it makes sense to ensure that they’re using your technology is being used even if it isn’t on your platform. The larger picture is ensuring that your technology is being used and that eventually in the long run they’ll use your services and software even if the target platform is Android or iOS – or as one executive said, going to where the balls is.
Office 365 appears to be the jewel in the crown for Microsoft with a lot of focus on turning Office into more than just an office suite but a platform on which third party software and services can be integrated in with Microsoft being at the hub of the wheel. The big focus I feel in the long run is very much what they’re attempting to do with Visual Studio – to provide a viable ecosystem on which developers can build their software on thus ‘a rising tide lifts all ships’.
UWP was developed further but I was disappointed that they didn’t provide some sort of top level broad long term plan – not detailed but at least some sort of macro-view of where the framework is heading so then at least developers get the sense that this is the future of the Windows platform. Microsoft really need to firstly give a better macro-view of where it is going, second the need to stop providing win32 support when they add new features or otherwise there is little incentive to actually move ones codebase to UWP and finally they need to start dog fooding their frameworks because at this stage there is no rumours as far as I see it towards getting Windows in a position where you have the ‘core’ and then all the bundled applications are XAML/UWP based that reside in the store and can be updated on a regular basis and outside of the usual Windows ‘core’ development cycle.
Regarding Edge, I was pretty excited about the fact that they’ve added extensions although I would have preferred to see a decoupling. Yes I understand that edgeHTML is a system component but there is the alternative which is to have a two tiered edgeHTML development where the rock solid stable version is bundled in the operating system where as the version that comes with the edge application itself which is updated through the store is actually bundled inside the application with newer features. It would simply require building two executables from the same source with the addd benefit that the Edge through the store can be upgraded at a faster pace. In other words it would be very much like who Android has Chrome the browser but there is the Android System WebView which forms the basis on which the rest of the system relies when it comes to the rest of the operating system. A good combination of always having the latest up to date browser whilst providing a stable base on which developers can write their applications against. The one thing I am happy to see is the inclusion of VP9, VP8 and Opus support although I haven’t been able to get a definitive response as to whether these CODEC’s are provided via Media Foundation thus open to third party developers or whether it is something that is baked into Edge thus third parties cannot tap into.
Over all the BUILD conference this year seemed a lot better than last year from the point of view that rather than just preaching to the converted there is an expansionary appetite of winning over admins and developers using Linux and OS X particularly when it came to Android and iOS development. The other interesting part is the Linux subsystem that although it didn’t interest me that greatly it was encouraging to hear the feedback from administrators who were pumped about the idea of having a Windows along with all the GNU user land tools that make life easier for administrators who have to work in a mixed environment. I have some screenshots from people getting some GUI applications to work but it is still very much buggy and early days but it’ll be interesting to see how far Microsoft plan to push the whole Linux subsystem long term.