Developing For Metro – WinRT: The Metro API

So far we’ve talked about Metro from the end-user perspective where indeed it is a style and a UI. But Metro isn’t a way to display existing Windows application, it’s what results from a new development model for writing applications. Metro, as the user sees it, is the result of the APIs and design guidelines developers follow in creating Metro applications.

With Windows 8 Microsoft will be introducing a new API: Windows RunTime (WinRT). Over the years much has been said about replacing Microsoft’s long-lived Win32 API, with some success. The .Net Framework supersedes Win32 to some extent, but at the end of the day Win32 is still significantly used in one way or another by many developers. WinRT is the API that will replace Win32 for application developers, and is the API developers will need to use to develop for Metro.

WinRT in a nutshell is a combination of the elements needed to make Metro work, along with subsets of features from Win32, COM, .Net, and HTML5/CSS3. As with pure .Net applications, WinRT applications are meant to be architecture agnostic, and ideally Microsoft would like developers writing applications in runtime or interpreted languages such as C#, VB, HTML5/CSS/JavaScript, and even Silverlight. C and C++ will be able to access Metro too, although there’s still some ambiguity about under which conditions those will be architecture agnostic. In any case WinRT – and thereby Metro – will be accessible from virtually every language Microsoft supports today in their Visual Studio IDE. And regardless of the underlying language, all Metro applications will behave like first-class applications.

With all of this talk about WinRT, Microsoft went through great lengths to reiterate that developers will continue to have access to older APIs for new applications and that Windows 8 will run everything that Windows 7 can run. This is both because traditional/desktop styled applications will not be going away any time soon, and because WinRT as it stands is for user-facing applications, not device drivers, services, or other backend code. In fact desktop applications will be supported indefinitely (look at how long support for 16bit Windows applications has continued to last), but Microsoft clearly wants developers developing for Metro whenever possible, and not for the desktop. For a great many applications this makes sense, but I’m not sure anyone really understands what this means for specialty applications like 3dsMax, Adobe Photoshop, and other workhorses that not only have large legacy codebases, but whose usage model doesn’t easily flow with Metro.

 To entice application developers to use WinRT and Metro, Microsoft will be using a carrot and a stick. The carrot will be the Windows Store, the stick is that non-Metro APIs will not be available for ARM. ARM is Metro-only from day one, and the Windows Store will be the enforcer (more on that later). So if developers wish to target both ARM and x86/x64 users, they will need to develop Metro applications.

Developers working with Metro will be using Microsoft Visual Studio 2011, which like Windows 8 is in development and will be the first version of Visual Studio to support Metro. We won’t spend too much time on Visual Studio, but it will provide development facilities for all of the languages Metro supports, including HTML/CSS/JavaScript. For UI programming Microsoft’s Expression Blend 5 will play a big part, as XAML will be the UI markup language for most of the languages excluding HTML5/CSS.

The hard sell for Microsoft will begin tomorrow when the developers arrive. It’s clear that Microsoft has attempted to structure WinRT to be familiar to existing Windows programmers, but developers are just as sheepish (if not more) than end-users when it comes to change. It will also be the beginning of the process where the development community figures out where desktop applications fit in amongst the new Metro order. Even if Microsoft can sell developers on Metro from day one, there’s still a massive army of legacy machines – everything currently running Windows – that need to be factored in.

Mobile Experience, IE10, Live Cloud, Samsung Developer Preview PC The Windows Store
Comments Locked

235 Comments

View All Comments

  • cldudley - Thursday, September 15, 2011 - link

    I see these arguments all the time about the application that use the ribbon-based UI, but I don't really see the problem... The most common features are located obviously and are easy to find, what are you using that is inconvenient? Mail-merge maybe, or something less obvious?

    I put together plenty of spreadsheets and documents using Excel/Word 2010, and I have used AutoCAD 2011 pretty extensively too, and I have no problem with the ribbon.

    Maybe I am not doing the tasks you are doing, I write software for specialized controllers, produce drawings and layouts for industrial electrical control equipment, plus write documentation, memos, various tables and schedules, etc. At home I write letters, do the budget, different types of software development, game, etc, and I do not have any of these complaints.

    I think the reality for 99.9999% of people is just the curmudgeon factor. "It's not what I am used to, so I don't like it."
  • gmknobl - Tuesday, September 13, 2011 - link

    It appears MS is going for a real sea change here. What's hidden may not be either evolutionary or revolutionary but the GUI appears revolutionary, and that's not necessarily good.

    If they keep this to tablets only, they'll have to have a big hardware push at the same time and NO issues. In other words, a system that works as well or better than iOS from the start or they are in trouble in the tablet space. However, I think this is their best bet.

    But as it stands now, if this isn't an easily disabled option for business and home non-tablet, non-phone computing it will fail in that area completely. One thing Apple got right with their OSes has been usability. (I think Amiga did too back in the day, and Android has now too.) MS has taken around three tries before it got a truly usable OS each time, including Win 7 which is essentially Vista SP2. They can't afford that this time. I cannot see this succeeding with desktops or laptops in the least. It's just too jarring, now matter how innovative it may be.

    And I think the whole solid color flat 2d look is dead anyway but that's personal preference.
  • avddreamr - Tuesday, September 13, 2011 - link

    While this format can and does work adequately in a mobile or rather hand held format the compromises that are made for this sort of functionality are simply unacceptable.

    I hope that this is obvious, because if that's the UI I have to deal with day to day... I will either not upgrade, switch to penguineware, or go fruity.

    I would hope that with the vast collection of talent that works for microsoft have to know that the ui should be tailored for its specific use. Give me a 3d-taskbar, with scalable icons, and I'll be happy with the progress in my desktop.

    I tell myself that they can't honestly be this stupid... but then I remember windows millennium.
  • CrapONez - Tuesday, September 13, 2011 - link

    I'm at a loss to see how/why Microsoft would abandon a legion of business customers and introduce a new interface requiring retraining, from a mobile device paradigm that it owns a scant few percentage points of. As Kelly Bundy would say: "It wobbles the mind!"
  • alent1234 - Tuesday, September 13, 2011 - link

    do companies really spend a lot of money on OS training?
  • damianrobertjones - Tuesday, September 13, 2011 - link

    No they don't.

    Here is the training for Metro

    "Do you see the massive Window for Icon there in purple... click it"

    Opens Excel in the standard fashion.

    "Do you see the saved excel spreadsheet there, right click and attach to the desktop/ui"

    User scrolls tyo his/her Excel files.

    User... "Ohh that's shiny"
  • cldudley - Thursday, September 15, 2011 - link

    This. I have never had any computer "training" other than sitting down in front of the machine and using it.

    I may consult the online help quite a lot at first, but after I get used to how things work it all kind of comes together on it's own.

    Certainly no employer has ever given me a training class for applications, in 2011 it is just assumed you know how to operate a Windows-based computer and basic Office applications. I don't think there is anything wrong with this assumption.
  • jecs - Tuesday, September 13, 2011 - link

    Ok, tablets, I can see and understand.

    But do I have to pay full price for a tablet shell on a desktop or a workstation? And if W8 is mostly an interface would MS consider W8 a service pack for desktop use?

    I want to skip W8 shell on my desktop, but I may like or need W8 other upgrades at a "fair" reduced price.

    If MS does not understand this I wont pay for W8. Lets hope the best for W9.
  • damianrobertjones - Tuesday, September 13, 2011 - link

    They offered Windows 7 at a reduced price
  • dgingeri - Tuesday, September 13, 2011 - link

    It looks a lot like the old Star Trek LCARS system. Sure, LCARS was imaginary for the most part, but the guys who came up with it back when Star Trek: The Next Generation was in pre-production had the same basic ideas behind their design. I'm thinking Paramount might have an nice IP case against Microsoft for this one.

Log in

Don't have an account? Sign up now