Is Windows RT in your future?

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.

Windows-8-archiecture-showing-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.

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..

An early look at Windows 8 and Server 2012

Windows 8 is about to become widely available to great fanfare, while Windows Server 2012 was quietly released recently “into the wild,” which is the discouraging way many Microsoft product development teams characterize the real world environments where their products run. Third-party developers have had access to the final RTM (Release-to-Manufacturing) versions of the Windows 8 release for several months now.

Here at DemandTech, we have been testing Windows 8 and Windows Server 2012 in the lab, making sure our software is compatible, etc. We have been running Windows 8 on virtual machines exclusively, not the dedicated hardware (tablets, mainy) it was designed to showcase.

The most noticeable change in Win 8 is the new UI. There is also a new kind of Win 8 app that when it runs, takes over the entire screen. Under the covers, the Windows OS is still multithreaded, but the interaction model is that, in any of the new apps, you are only working on one thing at a time. It is like — there aren’t “windows” anymore. The new apps run full screen, maximized all the time, although you can also snap them to a portion of the screen, once you get the hang of that gesture.

I happen to have a leg up on the new UI mainly because I’ve been using a Windows Phone, which Microsoft was nice enough to buy me when I was still working there back in 2010, and the UI is similar. On a device the size of a phone, the display is too small to view multiple application windows anyway – there just isn’t enough screen real estate to do that. On a traditional desktop machine, the new UI takes some getting used to, but on a phone or a tablet, it all makes sense.

The Windows 7 Phone actually has quite a good UI. My phone is one made by Samsung. I like the UI much better than the Android phone it replaced. The e-mail is excellent – well, it’s effectively Outlook for the Phone, so there is consistency across my devices, and it is synchronized with Exchange mail, calendar, and contacts. The word recognition app when you are typing — a text message, e-mail, or even a web search – is also very well executed. I had two earlier versions of Windows Phone, and this app is a distinct improvement, and miles better than a similar app on my Android phone. Getting a UI right is a lot of trial and error, and the Windows 7 Phone word recognition app was clearly improved from earlier versions.

The Windows 8 UI is very similar to Windows Phone 7.x, featuring the same large buttons that are like movable tiles on your primary screen. These tiles are big, and their size makes it easy to click on one, using a touch screen. Moving to a tablet that offers me the same functions and features as my old phone, but in a larger, but still convenient, format is an attractive option to me. I haven’t ordered my Microsoft Surface yet (see below), but there is definitely a device like that in my future.

Win8-Surface-tablet-2-

In Windows 8, this UI that was originally developed for Windows Phone version 7 – which very few people bought – is front and center, the foundation for supporting Windows 8 tablets and phones. The trade-off here is that a touch screen UI that is designed for a tablet PC is not necessarily the best choice for a machine that you access using a mouse and keyboard. In Windows 8, you can get to the traditional Windows desktop easily enough, run all your older apps, and navigate between them the way you are used to working. But the “Start” button is gone, to start a new app you have to revert to the new UI, and you find yourself switching back and forth a bit between the two “desktops” a little more than is probably optimal.

It takes a little getting used to. Reference Paul Allen’s blog for a better and more complete discussion of the new UI, based on his having an opprtunity to use it on one of the new touch screen tablet PCs.

Undoubtedly, Windows 8 is an important release to Microsoft. According to the market research I’ve looked at, the number of smartphones sold will exceed the number of PCs sold for the first time in 2012. Unfortunately, for Microsoft, only about 3% of the smartphones sold so far this year worldwide are Windows Phones. However, even more menacing to Microsoft’s software business over the long haul, the forecast is for PC sales to level off, as more capable tablets start to supplant portable PCs, IMHO, portable tablets replacing portable PCs is something that is as inevitable as portable PCs supplanting desktop models once they became capable enough. Tablets are not quite there yet, but it is still early in the evolution of the hardware.

Apple, with its iPhone, IPad, and even its iMac Intel-based PCs, is starting to penetrate Microsoft’s core business in desktop OS software, which would also put Microsoft’s Office franchise in some distinct peril. This is the first time since Windows emerged as the leading PC desktop OS in the late 1980s that there is a credible threat to Microsoft’s market dominance. Meanwhile, Apple has attracted software developers in droves to its iPhone-iPad platform, lured by the sheer number of devices that are in the hands of consumers, the potential size of the next “killer app” such as Angry Birds or Words with Friends.

The major Windows 8 UI changes were designed for tablets, an emerging market where Apple and Google Android devices have a head start, but hardly an insurmountable lead. Windows-based tablets have the potential to impact the emerging market for lightweight tablets. This is mainly due to the capability of current hardware. Tablet PCs can be configured as follows:

  • a powerful, multi-core processor,
  • can be docked to gain access to a wide variety of peripherals,
  • run for at least 8 hours on a single charge,
  • have a form factor that is approximately 8.5” x 11”, which means they slip easily into a briefcase or purse,
  • weighs only about 1.5 lbs, and
  • features a touch screen.

All in all, a very attractive alternative to portable PCs.

The scenario I envision is I plug my Windows tablet into a dock at the office, run Microsoft Office apps (or even Visual Studio) with an attached keyboard, mouse, plug in an extra video monitor (or maybe even two J), and do everything I can do today on my portable PC. At the end of the work day, I hit a key to save my work in progress incrementally to cloud storage, slide my tablet into my backpack and go. At home, I could duplicate my office setup, or just use the tablet “naked” to access e-mail, Skype, or the web. This is Microsoft’s vision for Windows 8, and it is a tempting one.

The reason that Microsoft is in a position to deliver on this vision of mobile computing without compromise comes down to two words – device drivers. Basically, Windows 8 enables connecting any input device – keyboard, mouse, Kinect, Bluetooth headset, graphics drawing pad, docking station, external monitor, camera, speakers, you name it – to your Windows 8 tablet PC. You should be able to plug in any device with a Windows 7 device driver, assuming you have the right plug. There are no breaking changes to the OS device driver model in Windows 8. (There is some minor new stuff necessary to re-package your driver software so that it is compatible with the new App Store.) There will be Windows 8 tablets available on Day One with USB ports.

Where tablets are today, this is big. If you look at the current tablets that are available, including  Apple’s iPad and a variety of devices that run Google’s Android OS (which was derived from Linux), including the Amazon Kindle, they all have limited capabilities. These are fun devices, but for people that use their PCs in their work – content creators of all kinds – these devices cannot substitute for their portable PCs. Just like me, these folks are good prospects for buying a Windows 8 tablet.

The new tablets will use ARM processors, as well as Intel comnpatible CPUs. One of the things that I will talk about it in the next blog entry is the ARM support in Win 8. On the Windows Server 2012 side, what’s happening with virtualization and with NUMA support is also quite interesting.

Of course, I also want to talk about some of the new performance counters that are available. And I don’t know if I can resist saying at least something about the new runtime, Windows RT, & what it means for the future of .NET development.

More on those topics next time..