I am writing this in the wake of the Windows 8 launch on October 26. It continues a blog entry I posted last week that discusses some of my early experience running and testing the new Windows 8 release. I want to focus here on discussing what Windows RT is, which seems to be generating a good deal of confusion. That is probably because Microsoft has not done great job in explaining what exactly Windows RT is. Windows RT itself is not as complete and as fully realized as it should be, and that, of course, is another source of some of the confusion.
If you go out to the Microsoft Store, you will see this description of Windows RT:
“Windows RT is a new version of Microsoft Windows that’s built to run on ARM-based tablets and PCs. It works exclusively with apps available in the Windows Store. Windows 8 Pro runs current Windows 7 desktop applications. It can also use the programs and apps available in the Windows Store.”
That first sentence is confusing because Windows RT is part of Windows 8, wherever it runs, including Windows Server 2012, if you decide to install the GUI. Windows 8 Pro can run “programs and apps available in the Windows Store” because Windows RT is in there, too. Win RT is part of Windows 8. Windows 8 Pro runs on Intel-based machines and includes all the pieces of Windows that provide backward compatibility with Windows 7 and Windows 7 applications.
In brief, Windows RT is a new API layer in the OS that ships with every version of Windows 8, including Windows Server 2012. “RT” stands for “Run-Time.” For the new Windows Store Apps, Windows RT encompasses the set of OS services that one of these Apps can expect to have always available. If you buy one of the new ARM-based tablets (or phones when Windows 8 phones start to ship), these devices come with RT installed, omitting many of the older pieces of Windows that Microsoft figures you won’t ever need on App designed specifically to run on a tablet or a phone. It is not going to have enough screen real estate where it would make sense to generate lots of child windows and support an MDI interface, for example. But it may want to access to high-res graphics or play an audio file or an HD video. Windows RT encompasses those kinds of services.
As Figure 1 illustrates, this new API layer sits atop the existing Win32 APIs, which I have heard Windows developers say encompasses some 300,000 different methods. As illustrated, Window RT does not come close to wrapping the full range of the OS and related services that are available to the Windows developer. Microsoft understood that it could not attempt to re-write 300,000 methods in the scope of a single release, so Windows RT should be considered a work in progress. What Microsoft tried to accomplish for Windows 8 was to provide enough coverage with the first release of Win RT that developers would be capable of quickly producing the kinds of apps that have proved popular on the iPhone and the iPad. If you think about what an app that streams movies and TV shows from NetFlix on a Win 8 ARM-based tablet, the APIs to accomplish that should all be in Win RT.
The implication is that WinRT, and all of its dependencies inside the OS, were ported to the ARM. But not everything that is in the full Intel-based OS is running on the ARM – yet. No doubt, the bloated OS needed to shed some pounds in the process.
Microsoft has documented some additional Win32 APIs that a Windows Store App running on ARM can use. See http://msdn.microsoft.com/en-US/library/windows/apps/br205757. In the Diagnostics area, for example, my area of expertise, Windows Store Apps can call the Win32 APIs associated with ETW. The ETW trace infrastructure used for diagnosing Windows performance problems was ported to ARM. COM was ported, too, for example. Many existing OS APIs use COM interfaces; Win RT APIs supersede many of these COM interfaces, but the existing COM interfaces are, no doubt, still being used under the covers.
Because the software I work on is aimed at performance monitoring across large scale Windows Server infrastructures, I had not been paying that much attention to the details about what Microsoft was planning to deliver for Windows 8 until it was ready to ship. When the final version of Windows 8 did become available to developers back in August, my immediate concern was to determine if our software was compatible with it.
From what I have seen so far, I don’t expect that Win 8 is not going to have a big impact on Demand Tech’s software, which initially is a big sign of relief. The Win 8 release is oriented around tablet PCs and phones. If you don’t have a new touch screen PC, you are probably better off staying with Windows 7 until you do. I don’t see the web portal, for example, that we build that provides data-rich visualizations of detailed Windows performance data being something you’d run on a device the size of a phone. The reporting and charting apps are http-based, though, so if you have access to a browser, you can run the app. If you want, you can access the app on an iPad today.
The desktop components we have developed in the company recently all use the Windows Presentation Foundation, or WPF, and Windows RT will not support WPF. That is a concern. Microsoft is no longer investing in WPF, so we need to look at Silverlight instead in the future, which overlaps reasonably well with the parts of WPF we are using today. It is hard to say what the future holds for Silverlight, though. Many Windows developers of desktop application have similar concerns. This spring I prototyped a new desktop app that was designed to run using multiple windows that could be arranged across multiple monitors using WPF. Frankly, I am not sure what to do as I look at the next steps getting that app ready for prime time. It is data-rich analysis application that benefits from having access to lots of screen real estate. I just wrote it, I don’t relish having to convert to Silverlight or anything else.
Back in 2010 when I was still at Microsoft, I attended a number of planning sessions that involved senior developers from Windows and the Developer Division, where I worked. So I was privy to a lot of the behind-the-scenes discussions going on in the early & middle stages of Win 8 development. At these briefings, the Windows organization also presented a great deal of the market research that supported the planning decisions they made. They talked about the competition from Apple, particularly with the iPhone because the iPad was still pretty new and exotic. They talked about pressure from their major OEM customers to get support for tablets out there quickly before Apple gained an insurmountable lead.
Inside the Developer Division, we were charged with delivering the next version of Visual Studio timed to ship when Windows 8 would ship and support Win 8 application development. The Windows 8 briefings I attended concentrated on those aspects of the Windows 8 development plan that were going to impact what needed to be done to support Windows 8 developers. Windows RT was one of the prime topics discussed because of its impact on the Developer Division’s workload. The Windows development organization under Steven Sinofsky’s leadership is very disciplined, and what they hoped to accomplish with Windows RT was spelled out very clearly.
Sinofsky is rapidly becoming the new public face of Microsoft. (See http://blogs.wsj.com/cio/2012/10/25/windows-8-launch-targets-consumers-not-business/?mod=wsjcio_hps_cioreportfor a photo of Sinofsky skateboarding using a new Surface with wheels attached to demonstrate its tensile strength. A much more interesting demo would be to show if it is capable of surviving being dropped on a concrete surface from a height of, say, ten feet. Many more customers will drop these devices from the height of their kitchen counters than will be skateboarding on them.) Sinofsky is in line to become the next CEO at Microsoft, when Steve Ballmer steps aside.
What was less clear was how much Windows would be able to actually accomplish in the time allotted for Win 8 development. Sinofsky’s organization is also very disciplined about cutting any feature that is not going to fit within the scope of the release or might jeopardize the product’s target delivery date. Windows 8 was going to ship in 2012 in time for Windows OEMs to get new tablets and touch screen PCs out in time for Christmas. Slipping the target delivery date was never a possibility.
Meanwhile, I am removed from Microsoft for almost two years now. Now that Windows 8 is shipping and all the documentation for Windows 8 developers is in place, it is relatively easy for me to assess how much of the plan the Windows development org was able to deliver.
In the next blog entry, I will go into more detail about what Windows RT is, what is in it, and, also, what it doesn’t cover. But the short answer to the question, “Is Windows RT in your future?” is, “Yes.” Win RT is a new application run-time layer built into all new versions of the Windows OS..