Friday, August 03, 2012
« CSLA 4 version 4.5 gets a new logo | Main | VS Live Windows 8 SkyDrive talk »

With all the new terminology and conceptual surface area that comes with Windows 8, I think it is important to have some clarity and consistency around the terms and concepts.

Here are some of the basic terms:

  • Windows 8 – the new operating system that runs in a “dual mode”: Desktop (Win32) and WinRT (Windows Runtime)
  • Desktop – the Win32 OS API that supports today’s applications in Win8 (basically Windows 7)
  • WinRT – Windows Runtime: the new OS API that supports “modern” applications
  • Windows RT – Windows 8 on ARM devices (note: Windows RT and WinRT are not the same thing)
  • Windows 8 UI style – a user experience design language often used when building WinRT applications

Windows 8 basically includes two different operating systems.

One is the “old” Win32 OS we think of today as Windows 7. This is now called Windows 8 Desktop, and is available on Windows 8 Intel tablets, laptops, and desktops. This is only partially available on ARM devices, and you should not expect to build or deploy Win32 Desktop apps to ARM devices.

The other is the new Windows Runtime (WinRT) “operating system”. This is a whole new platform for apps, and is available on all Windows 8 machines (ARM, Intel, tablet, laptop, desktop). If you want the widest reach for your apps going forward, you should be building your apps for WinRT.

Confusingly enough, “Windows 8” runs on Intel devices/computers. “Windows RT” is Windows 8 for ARM devices. The only real difference is that Windows RT won’t allow you to deploy Win32 Desktop apps. Windows RT does have a Desktop mode, but only Microsoft apps can run there. Again, if you want to build a Windows 8 app that works on all devices/computers, build the app for WinRT, because it is consistently available.

Windows 8 UI style describes a user experience design language for the look and feel of WinRT apps. This isn’t a technology, it is a set of design principles, concepts, and guidelines.

Another source of confusion is that to build a WinRT app in Visual Studio you need to create a “Windows 8 UI style” app. What makes this odd, is that this type of app is targeting WinRT, and it is entirely up to you to conform to the Windows 8 UI style guidelines as you build the app.

“Windows 8 UI style” was called “Metro style”, but Microsoft has dropped the use of the term “Metro”. I am skeptical that this new “Windows 8 UI style” term will last long-term, because it obviously makes little sense for Windows Phone 8, Xbox, Windows 9, and other future platforms that may use the same UI style. But for now, this appears to be the term Microsoft is using.

Thinking about app development now, there are several options on the Microsoft platforms.

  Technologies Platforms
Full .NET 4.5 ASP.NET, WPF, Windows Forms, WCF, WF Windows 7, Windows 8 Desktop, Windows Server 2008, Windows Server 2012
WinRT .NET 4.5 Windows 8 UI style apps Windows 8 WinRT, Windows Phone 8, rumored for next-gen Xbox
Full .NET 4 ASP.NET, WPF, Windows Forms, WCF, WF Windows 7, Windows Server 2008, Azure PaaS
Silverlight Silverlight Windows 7, Windows 8 Desktop, Windows Phone 7, Windows Phone 8
Friday, August 03, 2012 10:48:37 AM (Central Standard Time, UTC-06:00)
I think adding more confusion by saying there are two operating systems isn't warranted. There are two user app experiences, but one operating system. Windows Runtime isn't an OS, but represents a set of platform APIs. Desktop apps can use Windows Runtime APIs (not all of them) as well. Additionally apps that run in the new user experience can use Win32 APIs as well. Again, *one* operating system, but different app experience options.
Friday, August 03, 2012 11:07:36 AM (Central Standard Time, UTC-06:00)
Wouldn't it make more sense to call the UI "WinRT style" rather than "Windows 8 UI style" since Windows 8 has multiple UI styles?
Anthony
Friday, August 03, 2012 11:21:37 AM (Central Standard Time, UTC-06:00)
@tim, I appreciate that they might not technically be "two operating systems". But conceptually I think it makes things a lot _less_ confusing.

The reason is that there's a big wall between Desktop applications and WinRT apps. Witness Outlook 2013, which doesn't even have a live tile - thus forcing me to run two email and calendar programs at all times. I have to run a WinRT email app to get a useful live tile, and a Desktop application to get full functionality from Exchange/Lync.

If Windows 8 was "one operating system" it seems reasonable to think that I could have one email program that provided WinRT functionality, and perhaps also ran on the Desktop.

Or to put it another way, I must choose to build for WinRT or Desktop. I can't create a hybrid, or anything that spans the two. It is two entirely separate worlds running in parallel on one computer. From a developer or end user perspective how is this NOT two different operating systems?
Monday, August 06, 2012 8:06:56 AM (Central Standard Time, UTC-06:00)
Remember that nice green and blue chart you made that divided the technologies between Desktop and WinRT? Is that still correct?

What confused me know is "WinRT" and "Windows RT". So, Windows RT is really the OS for ARM devices and WinRT is a replacement/alternative to Win32? Also meaning that I can develop Desktop apps or Windows RT apps in both WinRT?
brad rem
Monday, August 06, 2012 11:53:06 AM (Central Standard Time, UTC-06:00)
@brad, the "blue/green" diagram remains entirely valid, yes.

And yes, Windows RT is the Windows 8 OS for ARM. WinRT is short for Windows Runtime, the new programming platform for Windows 8 (on Intel and ARM).
Monday, August 20, 2012 1:50:10 PM (Central Standard Time, UTC-06:00)
I didn't realize how confusing this was until I had it explained. Thanks.
Comments are closed.