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.
Figure 1. Windows RT is a new API layer in Windows 8, not a separate version of the operating system, as the company’s marketing literature implies. The Win RT API covers only a small portion of the surface area of the existing Win32 APIs, targeting only the APIs that are needed to build a new Windows 8 App Store app.
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.
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.
Figure 1. Windows RT is a new API layer in Windows 8, not a separate version of the operating system, as the company’s marketing literature implies. The Win RT API covers only a small portion of the surface area of the existing Win32 APIs, targeting only the APIs that are needed to build a new Windows 8 App Store app.
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.
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 comnpany 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_cioreport
for 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.
Hi Mark,
ReplyDeleteThanks for explaining the architectural differences between Windows 8 and Windows RT.
So, is this a correct statment: Windows RT cannot run Windows legacy applications, but Windows 8 can run legacy applications as well as applications designed for Windows RT (from the Windows Store)?
You mention Windows 8 Pro, but I remembered reading something about Windows 8 'home' or 'base' edition and wondered about the feature differences. I found a nice chart buried in the Windows 8 site: http://windows.microsoft.com/en-US/windows/compare
It looks like the 'base' edition is only available pre-installed on select computers through February 1, 2013.
-Phil Henninge
That is correct. Only Windows 8 Apps (from the Windows App Store) will run on RT.
ReplyDeleteAccording to a recent article posted at Ars Technica, the new Surface is a 32-bit NVIDIA Tegra 3 Quad Core running at 1.3 GHZ, with 2 GB of RAM. See http://arstechnica.com/gadgets/2012/10/now-that-its-here-is-there-a-place-for-windows-rt/.
Some of the current limitations of the Surface running Windows RT is it cannot join a domain or be accessed using Remote Desktop. The Remote Desktop limitation is interesting because that may reflect underlying architectural with current ARM-based tablets.
I believe the Windows Home Edition is gone. It is just Windows 8 or Windows 8 Pro. There is a Windows 8 Pro Pack advertised that will take you from Windows 8 to Pro. It adds Bitlocker, Remote Desktop and Windows media Center.
I had seen earlier that Hyper-V would ship with the Windows 8 client OS, but I don't know where that shows up. Windows 8 Ultimate???