When Microsoft first started talking about the next versions of Windows, the key terms to know were "Windows 8" and a new programming model called "Windows Runtime" or "WinRT."
Since then, things have gotten a little more confusing. Not only are there Windows 8, Windows 8 Pro and Windows 8 Enterprise -- not to mention Windows Server 2012, formerly known as Windows Server 8 -- but Microsoft also announced that its ARM-based tablet operating system would be known as ... Windows RT. So, developers will now build something called "Metro-style" applications using WinRT, which can be deployed to both Windows 8 and Windows RT devices. Simple, right?
The naming probably isn't that important -- techies are good at inferring meaning from context and living in a sea of jargon. What's more important is what effect Metro-style apps will have on the systems administrator's workflow. Let's try to sort this out.
WinRT -- designed to replace the aging Win32 application programming interface (API) -- is a based on the Component Object Model (COM) and is designed to work either by interoperating with .NET or by being accessed directly from a new variant of C++ called C++/CX. WinRT will be available only in Windows 8 and future OSes, and it will not be available on Windows 7, Windows Server 2008 or earlier operating systems. WinRT happens to be coming along at the same time as Windows 8 and Windows RT, but the time scales are incidental. WinRT would happen regardless of those other product plays.
Developers will use WinRT to build "Metro-style" apps. This refers to the new user interface and process model that will run on Windows. Metro-style apps are touch-optimized and always run full-screen. They are also "micro-hibernated" (they stop running completely when not in focus), and Metro apps are sandboxed away from other Metro-style and "regular-style" processes. Sandboxing is one reason why iOS is such a trustworthy platform.
Metro-style apps are built using one of three "UI tracks." They are "a bit like Silverlight" (which is known as the XAML/C# track), they are HTML5 apps that are packaged to run without a Web server, or there is a special "gaming track" based on DirectX/C++.
By "a bit like Silverlight," I mean that the XAML/C# track borrows heavily from Silverlight, but it definitely isn't Silverlight. Silverlight uses a .NET component called Windows Presentation Foundation (WPF). XAML in WinRT is entirely COM-based and doesn't use .NET at all.
Most enterprises will be looking at mix of in-house and off-the-shelf applications. Off-the-shelf software will be distributed through the Microsoft Store, which Microsoft hopes will emulate Apple's success with its App Store. There is supposedly no malware on the Apple App Store because of these tight controls. Metro-style will have the same inspection, control and distribution of apps.
This distribution process will be achieved with "side-loading," a process that involves either Group Policy or registry hacking depending on whether you own the device or it's a BYOD scenario.
Experts expect that Windows RT devices -- which aren't capable of joining domains and less enterprise-oriented than Windows 8 -- will always be managed through a central service, likely Windows Intune.
Metro-style apps will be packaged into AppX files, and these will be a single point of initial deployment and update. PowerShell scripts will be provided to install, update and remove these apps from Windows 8 machines.
Metro-style apps only have three dependencies: WinRT (a standard part of Windows 8), .NET Framework v4.5 (also standard) and IE10 (guess what -- installed as standard). Any other dependencies over and above this have to be in the package. The use of other system features not within this set will break application validation, although you can fudge and get around this in the case of in-house apps. Silverlight in particular is not needed, even if you're using the XAML/C# track. Everything is self-contained.
The upshot is that it's all much easier than before. There's no sprawling mass of hacky installers, MSIs or dependencies. All the management and control is done centrally through established, if evolving, tools.
All of this should turn out to be fantastic. Of course, sysadmins are going to need to manage legacy stuff from now until retirement, but at least the tide is turning to something far more manageable.
You can play with a lot of this stuff today -- download the Windows 8 beta and ask a developer to put together some sample apps. Or better yet, grab a copy of Visual Studio 11, and try for yourself.
ABOUT THE AUTHOR:
Matthew Baxter-Reynolds is an independent software development consultant, trainer and author based in the U.K. His next book, Programming Metro-style Apps with C#, will be published by O'Reilly in November. His favorite way to communicate with like-minded technical people is Twitter: @mbrit.
This was first published in June 2012