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
POST A COMMENT

235 Comments

View All Comments

  • yankeeDDL - Wednesday, September 14, 2011 - link

    I perfectly agree.
    Like with the security features of Vista, and with the Ribbon in Office, MS choose their way and are moving forward, thinking that they know what's best for you, despite having been proved wrong times and times again.
    From their dominant position, they can still afford it.
    Now they're pushing for the Metro UI, something interesting, but hardly revolutioning, like IOS and Android have been, an UI that will disappear from Samsung in 2012, because of its abysmal adoption.
    PCs is the last stronghold of Windows: it disappeared from TVs, cars, mobiles: maybe it's about time they follow suit.
    Reply
  • mlambert890 - Thursday, September 15, 2011 - link

    Your own arguments prove you are completely wrong except possibly in your own mind.

    The security features of Vista evolved into the security features of W7 and are the same security features in OSX and Linux. On an extreme niche of curmudgeons that fancy themselves "super power users" bitch about dual privelege levels and access control gates within the OS.

    Same with the ribbon. I was on the front lines of the most prepostrous bitching and moaning and DOOM calling over the ribbon. Today it is universally regarded as a good change or at the very least a neutral one.

    One thing for sure thoug is that even folks who self describe as "technophiles" and truly believe they are cutting edge will act like 90 year olds whose drug store has moved as soon as *anything* changes. Sad really.
    Reply
  • robinthakur - Wednesday, September 14, 2011 - link

    I agree, but that isn't when you would be using Metro is it? It's for touch devices, although I don't understand how they are going to get it to work with legacy apps in the slightest. You need special versions of Excel, Word etc, build from the ground up for touch as Apple has done with Pages, Numbers, iMovie et al or it's just going to be a flashy acelerated interface which lacks full functionality and this guarantees that end users will hate it.

    This seems similar to how on an HTPC, to play a Blu-ray, you need to launch a 3rd party player which has a different look and feel and you need to break out the keyboard to control it. Awful, and so counter intuitive to users.

    On the other hand, the fact that MS is involving developers at this stage, hopefully means that it's own first party products like Office/SharePoint etc. will work properly with it. They are doing alot right with Win 8, but seems like they are constantly playing catchup to Apple these days.
    Reply
  • realmike15 - Sunday, September 18, 2011 - link

    I think you're over simplifying the issue. Computing for toddlers? Last I checked toddlers aren't checking their stocks, the weather, rss feeds, and news. The simplified UI design is a good starting point, it makes navigating the computer interface easier those who find previous Windows releases daunting. Most old school techies aren't going to embrace this, but that's not because of poor design... it's because they're stuck in their ways. The old desktop system is clunky and archaic for everyday browsing. By no means is this a replacement for gaming, or other industries that require the tried and true keyboard/mouse setup. But that's why there's still a standard desktop.

    This IS a step in the right direction though, I have any delusions about this implementation being perfect. It will probably take many more versions of Windows to get this transition right, but it's a starting point. A starting point that your mother, grandmother, and all your non-tech savy friends will appreciate.
    Reply
  • Belard - Tuesday, September 13, 2011 - link

    Wait till it comes out on beta...

    Its still rough. I'll admit, I don't think of METRO much for a desktop and mouse... Why would I want to scroll through pages to get to some APPS when I can click on it from my task bar? But there is most likely something like that anyways. So think of Metro's arrangement switched around a bit to the side - which makes better use of todays STUPID 16:9 screens.

    Look at Mac and Amiga - their "MENU" is at the top - MS has been at the bottom since Win95. Now its being shoved to the side

    I bet MS has been studying user behavior quite a bit. And much of my work space is on the left side of the screen... tools on the right.

    This is also perhaps the ONLY way MS has a chance to take on Apple's iOS and that MAKES perfect sense. It can improve future versions of MS-OS...

    Windows7 tablets suck. WP7 is not made for tablets and is struggling to get market share. An MS-Tablet today will most likely go down in flames like WebOS, RIM and whatever... Android is not doing well against iPads.

    But... MS commands about 90% of the world market in PCs. (about 75% in the USA in new sales). So... imagine the new Win8 desktops that come out, people have to get, there won't be Vista or Win7 to fall back on... ALL Metro apps are going to work on ARM based CPUs. (intel cannot be thrilled on this) This means those apps are going to be smaller than normal Win32 bloatware.

    Now out comes the Win8 tablets and phones... in both types.
    Win8 = tablet... high end, can run desktop software... faster CPUs $$$
    Win8Mobile = Phones and tablets, they won't run legacy software (current game we see on desktops, Office 2010, etc) - but they'll RUN any Metro application and game.

    Microsoft ends up creating the eco-system that can go against Apple... this is something RIM or Android cannot DO. They don't own the desktop business.

    This is a brilliant move from MS, mark my words.

    In the end 2012, I bet iPads will still own at least 70% of the tablet business.
    By 2014, MS could flip it having 50~60% of the sales.

    The iPad will always be called iPads... and MS-Tablets will always be called, Tablet like Android and Blackberry. They will always be the SODA to Apple's Coke. What matters for the next year or so before Win8 launch is how much more Apple can sell iPads. They'll be launching a new iPad 4 just after Win8 hits the market. If Apple can sell 50+ million units a year - they'll do well against Win8 up to a point.

    Hopefully, MS will only have 3 versions PERIOD of Win8, all 64bit.
    Win8 starter/ARM
    Win8 Home
    Win8 Pro (with Ultimate features built in)

    If it goes well... then by the time Win10 comes out (7 years from now), the Win32 API an gone as well as any legacy 16bit, 32bit code...

    We'll check in then... :)
    Reply
  • Gimfred - Tuesday, September 13, 2011 - link

    The problem with (not that it shouldn't be looked at) looking at user behaviour is it is studying how users work around the current limitations of a UI rather than the task that is intended to be achieved. Unfortunately Microsoft seems to have this idea that using a computer is the task.

    For tablets, they should implement and refine OneNote. That is awesome software.
    Reply
  • robinthakur - Wednesday, September 14, 2011 - link

    No, you're looking at it wrong. MS is currently in a dominant position worldwide with Windows, especially in business, but things are changing. Apple phones are being issued in many companies an many executives, because they use iPad's and Macbook Airs are introducing them into business, and saying "Just make it work" I have seen this innumerable times in the past 3 years. For my last firm, an investment bank, the whole website had to be scrapped and redesigned close to launch because a senior exec noticed that it didn't render properly on her iPad.

    At the same time, the desktop business is under pressure like never before. Companies are scaling back the amount of power and flexibility that they are giving to individual employees. We use thin clients extensively running MS Terminal Serverfor virtually all employees. Those that want them are issued with company iPads instead and seem very happy with them, running a propriatery app which we designed here and the standard iPad functionality.

    All we used to hear were constant complaints about Windows from staff, and just because us, as techies, can divine how to use it doesn't mean that regular people will. They seem to prefer the iPads because they instinctively know how to use it. Training needs have gone from all encompassing to pretty non-existant apart from SharePoint (which I love) so cutting down functionality is actually not a bad idea if it's functionality which people rarely use.

    About the only reason to own a powerful desktop these days is if you are a power user/developer, you are a techie and like to play/brag or you play games (the latter being a nearly non-existant demographic these days) with the rest buying laptops/iPads, and I can only see that becoming more pronounced in the future.
    Reply
  • piiman - Wednesday, September 14, 2011 - link

    The fact that you think the the iPad is taking over business is simply laughable.
    If some exec is forcing it on a company because they personally use it then it should be grounds for firing them.
    Reply
  • mlambert890 - Thursday, September 15, 2011 - link

    Whats laughable is that you dont realize he is correct yet feel so confident making absolute statements like this.

    Your personal bias and/or emotions dont change the fact that what he is saying is absolutely correct.

    I dont care one way or the other what the client solution of choice is for my customers, but I can tell you now the shift is *massive* towards iPads in particular, to a lesser extent phones, and even Android tablets.
    Reply
  • nitenichiryu1 - Tuesday, September 13, 2011 - link

    At 8:18, he says that Windows 8 will be both METRO and TRADITIONAL desktop. Yay =D Reply

Log in

Don't have an account? Sign up now