Microsoft to developers: Metro is your future

By | September 13, 2011, 9:13am PDT

Summary: Silverlight and .Net are not dead (yet). But Metro is really the future for Windows 8, Microsoft is telling developers on the opening day of Build.

Here’s the good news for Microsoft developers attending Build: Silverlight and .Net are not dead. Here’s the not-so-good news: They are mainly a means to write classic/Desktop apps, and not the new, “Metro-style” apps that Microsoft will be playing up in Windows 8.

Some of us press and analysts who agreed to a day-long non-disclosure agreement on September 12 — the day before the Build conference started — received some background on Microsoft’s planned messaging for the confab. To me, there was one slide we saw that said it all, from a presentation by Ales Holecek, a Distinguished Engineer working on Windows. It’s the Windows 8 architectural slide:

(image courtesy of @longzheng)

According to here are two classes of applications that can be built and run on Windows 8 PCs and tablets. One is “Metro Style” applications. These are the modern, immersive applications that are going to get front-and-center billing. (“Metro” is the name of the design language that Microsoft pioneered with Windows Phone 7.) Developers writing Metro Style apps can code them in C, C++, C#, Visual Basic, HTML5/JavaScript and/or using XAML. The inclusion of XAML here implies “Jupiter,” I’d say, even though Microsoft officials never used that codename during our prebrief yesterday. Jupiter is the XAML/UI layer on top of Windows 8 that enables Silverlight and Windows Presentation Foundation (WPF) apps to work on the platform.

The second class of applications that can be built and run on Windows 8 PCs and tablets is called “Desktop” applications. These are applications that users can access by clicking on the Desktop tile in Windows 8. They don’t have to be immersive; they can look and feel like classic Windows applications that don’t assume that users will want/need to rely on touch as the primary way that they interact with them. Examples of existing Desktop apps that will work on Windows 8 are things like Photoshop or Intuit.

Microsoft’s execs are emphasizing that Windows 8 is a no-compromise platform. They are positioning it as an operating system that can be all things to all people. But make no mistake: Microsoft sees Metro Style apps as the future. If you don’t believe me, browse through the just-released list of sessions for Build.

At Build, there are lots and lots of sessions aimed at educating developers about the new app model for Windows 8, and how developers can use HTML5 and JavaScript to write the new, immersive, “Metro style” applications for the platform. There are very few about .Net, Visual Basic and C#. And there are none that I noticed on how/when/if developers can use non-Microsoft tools and frameworks (PHP, Ruby, etc.) to write Windows 8 apps. And there are none on Silverlight.

Another interesting tidbit from the diagram above has to do with the “system services” layer — the new app model plus the three boxes known as WinRT (Windows runtime). Readers of my blog will recall that some of the folks who dissected leaked Windows 8 builds already discovered the existence of WinRT. It does, indeed, look as seem to me that  WinRT is the core set of services — communications, graphics and devices/printing — that replaces the Windows Communication Foundation (WCF), Windows Presentation Foundation (WPF), etc. layer in Windows today. (Note: the replacement of WCF/WPF is just a guess on my part, and something I’ll try to flesh out this week.)

Developers: What else do you want to know about Windows 8?

Kick off your day with ZDNet's daily e-mail newsletter. It's the freshest tech news and opinion, served hot. Get it.

Topics

Mary Jo has covered the tech industry for more than 25 years for a variety of publications and Web sites, and is a frequent guest on radio, TV and podcasts, speaking about all things Microsoft-related. She is the author of Microsoft 2.0: How Microsoft plans to stay relevant in the post-Gates era (John Wiley & Sons, 2008).

Disclosure

Mary-Jo Foley

Freelance journalist/blogger Mary Jo Foley has nothing to disclose. WYSIWYG (what you see is what you get). I do not own Microsoft stock or stock in any of its partners or competitors. I have no business ventures that are sponsored by/funded by Microsoft or any of its partners or competitors.

Biography

Mary-Jo Foley

Mary Jo Foley has covered the tech industry for 25 years for a variety of publications, including ZDNet, eWeek and Baseline. She has kept close tabs on Microsoft strategy, products and technologies for the past 10 years. In the late 1990s, she penned the award-winning "At The Evil Empire" column for ZDNet, and more recently the Microsoft Watch blog for Ziff Davis.

Got a tip? Send her an email with your rants, rumors, tips and tattles. Confidentiality guaranteed.

118
Comments

Join the conversation!

Just In

who cares?
typhoonking77 11th Mar
Who cares the .net still survive or not, we could pick up other tools in a few of weeks, it is not so hard to get familiar with them.Besides, we could port our programs to every pplatform with Qt and C++--except of windows phone 7.
The great news for Silverlight/WPF developers is that the skills we acquired in the past few years are going to be fully valuable in the future. This is all I need to know to go home from Build very happy! XAML rules happy
0 Votes
+ -
@lbugnion Exactly. The left slide says XAML + C# (VB, C, C++), SL is XAML and C#, so is WPF. I don't think there is much to worry about at all... MS marketing may change the name to "Jupiter" but is just some new APIs and markup in the end...
0 Votes
+ -
RE: Microsoft to developers: Metro is your future
djcarter2326 Updated - 13th Sep
@peterbjorkmarker i'm not so sure that is correct. Yes you will write apps using the syntax you're familiar with (XAML / C#) but it seems to me that in order to write metro style apps, you will be targeting the WinRT framework and not the .NET Framework (the same would apply to silverlight). I wouldn't call these metro style apps as WPF or Silverlight apps either.
@peterbjorkmarker

who cares if you need to change your namespace to use winRT instead of winFX. a button in xaml is a button as long as it behaves like a button. xaml was the best idea msft has had evah, accidentally or not.
0 Votes
+ -
@peterbjorkmarker, XAML is not Silverlight nor is it WPF, XAML is a declarative language with slightly different XAML flavors used by Silverlight and WPF. Crazy enough, but there's suttle differences between the flavors - it looks like the whole thing is being unified, and no-doubt this will be an improvement.

XAML may be in, but there's more than just XAML, including the code behind and all the stuff that makes an application interact with its component parts - the whole that makes it Silverlight, and not just XAML. HOWEVER, given it's the XAML team thats involved with this, the spirit (and good parts) of SL and WPF will probably remain. I'm looking forward to the full details over the next few days.
0 Votes
+ -
All good then;-)
Richard Flude 13th Sep
I see C continues to be supported. Unix developers from the 70s will be able to use the new frameworks with ease;-)

The language is the easiest part; Development tools, APIs & Frameworks are what counts. WIN32, .NET, SL now Metro (in a decade). Each offering a different, but not obviously superior direction. Four targets being actively supported in Win8 (WIN32, .NET, HTML & WinRT), 5 if we split out HTML5.

The promise of each at introduction was to unify future developments. To think we thought WIN32 APIs were inconsistent:-)
0 Votes
+ -
@lbugnion I hope Microsoft sees it your way. They have an army of people who know the .NET and WPF classes and namespaces, and the rich Windows API. What experienced Windows developer is going to regularly scale down to the non-typed, messy, and chaotic Javascript language? Only those porting apps from phones, far as I can tell.

I hope Microsoft understands that.
@rbethell

Exactly.
@rbethell
The problem is how these apps will support other platforms: iOS and Android.
People forget that until Windows 8 will be officially out, iPad and maybe also Android tablets will be impossible to ignore.

Nope. My intuition is telling me Html5 is the way to go forward in order to simplify the cross platform work later on.
http://mobilefever.clicksoftware.com/mobilefever/bid/65053/The-Truth-About-HTML5-Part-2
0 Votes
+ -
@lbugnion When Microsoft switched to 32 bit from 16 bit they promised not too many changes. In fact what they did is created a set of library headers that were supposed to be able to compile both to 16 bit and 32 bit.

In the betas, etc it worked out pretty well. But then in release mode all of it collapsed. You had to create two different apps.

Did you already see the idea of using conditional compilation definitions to compile your code? They showed that and said, "oh only a few lines..." RIGHT....
@lbugnion
I actually think WPF is already dead, and Silverlight will be soon...

HTML5 is the future, and Microsoft's demos were all about HTML5 apps / Metro style.

Bold move by Microsoft... I just hope they know what they are doing...
http://www.mobilespoon.net/2011/09/windows-8-metro-ui-bold-move-by.html
0 Votes
+ -
contradiction in the article
teeboy75 13th Sep
MJ,
In the first paragraph, you write "Here???s the not-so-good news: They are mainly a means to write classic/Desktop apps, and not the new, ???Metro-style??? apps that Microsoft will be playing up in Windows 8."
In the second para, you write "Developers writing Metro Style apps can code them in C, C++, C#, Visual Basic, HTML5/JavaScript and/or using XAML.".
Isn't that contradictory?
0 Votes
+ -
Contributr
contradictory
Mary Jo Foley 13th Sep
This is what happens trying to make everyone happy, I think. The reason I said "mainly a means" was to cover this seeming discrepancy. Metro is definitely the focus... and SL is definitely being deemphasized, imho. We'll know more though as we go to sessions this week. MJ
@Mary Jo Foley Mary, you're not making much sense pitting Metro and SL against each other. It's like saying "The black is out - the tetrahedrons are in"
0 Votes
+ -
@Mary Jo Foley
But your slide talks something different. Metro style apps look under XAML, you have C#/VB and they are talking to WinRT. The WinRT is going to be a replacement to both .NET Framework and Platform API. I think it will be the merger of all the managed and unmanaged API. The .NET Framework will become part of Windows Platform or integrated. The .NET Framework you are seeing on the right side of the slide under Desktop Apps is to support the legacy apps, IMHO. I don't think it is bad as you think.

Edit: Also about your headline. You are not making sense there either. SL is merely a tool to develop Metro. SL uses XAML and code behind/code beside to get Metro working. I thought you know about these all these days. Metro is the Abstract layer to define and design UX, whereas SL is the runtime/medium to host Metro and C#/VB or other .NET language with XAML is the implementation layer of that Metro and .NET is the final host of medium (SL, WPF etc.).
@Mary Jo Foley
The word 'Silverlight' may be DE-emphasized, but XAML is not. Being a developer, I call tell you that XAML + C# is Silverlight [or WPF]. This photo explains it all [http://www.flickr.com/photos/longzheng/6143963169/in/photostream]. So, to answer your conundrum, xaml [silverlight] are not going anywhere.
@Mary Jo Foley

"Metro is definitely the focus... and SL is definitely being deemphasized"

This statement makes no sense. Metro and SL are not mutually exclusive. Our first introduction to "Metro" was via Silverlight on the phone.

They demoed creating a "Metro Style" application using Silverlight. So, not only is Silverlight not dead, it's even more integrated. Did we even watch the same keynote?
@Mary Jo Foley The question is: Shall we really differenciate Metro with Silverlight? We know that, in WP7, we develop using XAML/C# to build a Metro style interface. And we(Including Microsoft) call it Silverlight.
@Mary Jo Foley
I'd really like to know where your insight comes from regarding Silverlight. In most articles in the past you seem to regard it much like Flash, in which case you appear to be woefully lacking information. MS has put a ton of work into Silverlight, practically forgetting WPF. By the time MS releases Windows 8 RTM they'll probably be mid way to Silverlight 6 release which should have just about everything that WPF has to offer. Aside from Zune and Media Center the only offerings that used the Metro style were made using Silverlight, including Windows Phone apps. IMHO they are deemphasizing WPF in favor of Silverlight until Visual Studio has a toolset that resembles WPF/Silverlight/WinForms and it's further along in the standards body.
@Mary Jo Foley Then they best be careful. De-emphasize it too far, and Adobe will happily step into the breach. I don't think Microsoft would be too pleased if Adobe Flex became one of the dominant ways one writes apps for Windows.

And make no mistake - too many missteps in alienating developers, and Adobe WILL step in.
0 Votes
+ -
Performance and how WINRT effects it.
ChicagoBob123 13th Sep
I have written a multi HD video input software. I manipulate and blast pixels to the screen at over 500MB/sec. Can an application written in WinRT keep up with these kind of beastly requirements? Does a multi threaded application perform as well or better when it comes to contention?
In general besides good looks what does Metro give you?
0 Votes
+ -
M$ is doomed
The Linux Geek 13th Sep
with M$ abandoning its dev tools, Linux is closing in for the kill.
@The Linux Geek

Oh look.. another Microsoft is doomed post. Only been reading those for 10 - 15 years.
0 Votes
+ -
@bobiroc
This time is for real.
Take it from me!
@The Linux Geek Yeah because we're all so eager to abandon Visual Studio for Cygwin (rolleyes.)
@The Linux Geek - wonderful, its self evident that what Microsoft is doing is anything but abandoning its dev tools. One might, concievably, make an argument about dev platforms... except that if that is true (and I don't believe it is) its doing so by going in a direction that makes windows the best place to run html5 based applications... (or equally, with the server announcements, to host services developed however including on node). Be nice to actually be able to discuss this stuff rationally, but sadly that that doesn't seem possible here.
0 Votes
+ -
Silverlight evolved!
jk_10 13th Sep
To developer, there is almost no change. Writing apps the same way, just called different name. Underline tech changed from .Net to WinRT, why would we care?

For devs, all the same!
Hey Mary J. any info on any of the WinRt components becoming cross platform. for example Netflix uses sliverlight for pc and mac. What will be the way in future for this?
You should change this article a little. For all intents and purposes, .NET is still there as a premiere set of languages (C# and VB), only this time these languages have native support for WinRT, the modern redesign of Win32. So C# and VB are given first-rate support in Win8.

However, Silverlight / WPF looks finished. MS even showed how to convert Silverlight apps to the new XAML frameworks in Win8.
0 Votes
+ -
THANK-YOU...
serpentmage 13th Sep
@amberite The fact they used XAML does not mean they used XAML as in WPF, or as in Silverlight. Just like a WPF XAML app != Silverlight app.
Oh good grief! This does look like the Windows of today is now "legacy". Never mind that people actually NEED non-touch interfaces (don't get me wrong, I use the iPad and think it's a great product... but it can't do EVERYTHING, at least not well).

This looks a mess, far better if they'd kept Windows 8 as an evolution of Windows 7, and "grown" WP7 onto (finger) tablets. Sure we'd probably have had Windows 8 Tablet Edition (though "Pen Edition" would describe it better)...

Throttling "classic" Windows doesn't feel like a good idea, I think it is taking too long, I think it doesn't fit all customers, I think going "head to head" with the iPad isn't a smart strategy.

So we getting "Touch Word", "Touch Excel" and "Touch PowerPoint"? What about Visual Studio? Is there to be a "Touch Visual Studio"?!
@Jeremy-UK
Have you used Win7 with a stylus? Works *very* well. Win8 slates will have styli, too. I wouldn't worry.
@jdakula Used earlier versions that way. It "works" but doesn't offer much advantage over a mouse. I'd say Microsoft OneNote is the exception here, as this is very useful with a pen (and not very useful without). For some OneNote is enough to justify the whole thing.

Usually though Windows with a pen is meh. Not bad, but not significantly different either. Of course, traditional Windows with "finger input" is utterly hopeless.

My worry is there are a significant number of use cases where the keyboard/mouse combination (with resizable and moveable windows) is clearly superior. I'd concede there are plenty of use cases for an "iPad-like" device too. What seems a worry is too much emphasis on touch (and I mean "finger" not "pen"). I think Microsoft are making quite a miscalculation here.

What I don't really understand is why these two very different approached are co-existing in one product. "Legacy" mouse applications are hopeless with multitouch, so there is no advantage of backward compatibility here. What would seem to have made far more sense is to scale up Windows Phone 7 (perhaps calling it "Windows Touch 8") for the "iPad-like" tablet. While keeping a more traditional pointer based UI for Windows 8, even one with extensions for "pen computing" (and OneNote). I don't see the advantage of this hybrid device. I'd also be surprised if Microsoft couldn't have gotten something based off the WP7 to market significantly faster.

It seems this is the worst of all worlds.
@jdakula
nonsense; I switch my right hand at least 100 times a day, between mouse & keyboard, mostly numeric keys. Now you are saying I can preform the same with a stylus?
Let see: stylus, leaving stylus on desk, keyboard, grabbing stylus, pointing to the screen, leaving in the desk, keyboard. No, thanks...
0 Votes
+ -
There are a couple of issues raised by that slide that could do with some clarification happy ...

1) Silverlight is a way to run 'rich' .NET applications in the browser on other OS's (as long as you have the plugin installed of course). Does this continue or is Silverlight now restricted to running on IE9 on windows ?

2) What exactly are the differences between "WinRT API's" and classic '.Net' In other words, if I write an application in C# do I have to make a fundamental design decision to target one or the other or is WinRT just an extended version of .Net ?
How is that "Jupiter is the XAML/UI layer on top of Windows 8 that enables Silverlight and Windows Presentation Foundation (WPF) apps to work on the platform." but it is also stated that Silverlight & .Net are "mainly a means to write classic/Desktop apps, and not the new, ???Metro-style??? apps that Microsoft will be playing up in Windows 8."???
@rjdwa111 It is damn confusing. The only way to write Metro apps today (for the phone) is with Silverlight and .NET... what the heck is going on?
0 Votes
+ -
.net is dead
kfkfkf Updated - 13th Sep
Not just "underline tech changed", but most apis surely underwent some changes as well, so you won't be able to just recompile and run your non-silverlight app.
But who knows, since they are breaking backwards compatibility anyway, maybe they'll use this opportunity to remove some pre generic vestiges from the language, and add some features to the core language.
0 Votes
+ -
You forgot about the app store
facebook@... 13th Sep
Microsoft is taking 0%. Huge driver for developers.

Choice: Brought to you by Microsoft.
@facebook@... Where / when did Microsoft say that?
Win 8 release date?
Well, I'm someone who arrived late for the WPF party. I don't see c# being sidelined. I'm happy to use another UI API as long as its powerful enough. The question for me is can MS finally give us a powerful and fast 3D graphics API? I went WPF rather than XNA because its 64 bit. XNA is something that doesn't seem to have been mentioned at all in the whole WPF / Silverlight rebellion. Will there be a 64 bit XNA, how will all this integrate with the next XBox?
0 Votes
+ -
A real Question
RayInLV 13th Sep
What does "immersive" Mean
@RayInLV
"chromeless", no window decoration and excess stuff like that.
0 Votes
+ -
Again...????
RayInLV 13th Sep
Seems like every 2 years My friends at Microsoft Revolutionize the environment, leaving all of us who have jobs in the current environment sucking for wind again....
0 Votes
+ -
@RayInLV
At least, that's what I keep telling myself.
0 Votes
+ -
For the fairly large number of software shops that still have VB6 legacy code, will they able to run their apps on Windows 8, and if so, what hoops will they have to jump through? Previous reports have said Windows 8 will not have the VB6 runtime. So will it work to simply install the VB6 runtime with a VB6 application? Will even that "bridge" allow running on ARM-based systems?

I have been doing .NET development (C# and VB.NET) since the betas back in 2000/2001. But I also have to maintain and update my employer's VB6 code. I wrote COM DLLs and OCXs in C# (.NET 2.0) so we can migrate as time goes on. However, budgets do not exist in any sensible private business to completely rewrite VB6 code until there is a good business case for doing so. And a good business case means 1) increased revenue (more that it costs to rewrite), or 2) avoiding the loss of revenue greater than than it costs to rewrite.

So MS, if this week doesn't yield a clear solution to this (not as in "Here is what MS wants you to do", but "what is the most cost-effective way for me to run my app on Windows 8"), then there will be a huge problem for a lot of small to medium-sized softare shops that will result in persistent, bad press for MS that will be perceived as legitimate issues.

If VB6 apps are not going to run on Win8, or won't without some trouble, software shops need to know now so they have sufficient lead time. If they will run OK (x86 and/or ARM), then the same software shops need to know now so they can plan.

If MS wants to avoid a significant publicity nightmare, they need to be clear on this issue this week, and make it so software shops with VB6 legacy code have access to Win8 and VS2012 betas starting next week and those same shops have a feedback loop directly to MS.
0 Votes
+ -
Relax
rbethell 14th Sep
@MSBassSinger VB6 apps will work fine. There's a Win32 subsystem. Yes, you might have to include Msvbvm60.dll (I always did that anyway, by packing it in an install, which tools like Installshield did automatically.) But there you are.

Incidentally, when Vista first came out, Visual Studio 98 was the only IDE Microsoft had that was rated fully compatible. There really is no need to fear.
0 Votes
+ -
@MSBassSinger why you would like to use VB6 app in Windows 8 ?? it is about time MS should give up to old stuff like this witch include WinForms too
If you are using C++ and WinRT does the code have to be managed? Or can I have real memory and real performance?
0 Votes
+ -
who cares?
typhoonking77 11th Mar
Who cares the .net still survive or not, we could pick up other tools in a few of weeks, it is not so hard to get familiar with them.Besides, we could port our programs to every pplatform with Qt and C++--except of windows phone 7.

Join the conversation!

Formatting +
BB Codes - Note: HTML is not supported in forums
  • [b] Bold [/b]
  • [i] Italic [/i]
  • [u] Underline [/u]
  • [s] Strikethrough [/s]
  • [q] "Quote" [/q]
  • [ol][*] 1. Ordered List [/ol]
  • [ul][*] · Unordered List [/ul]
  • [pre] Preformat [/pre]
  • [quote] "Blockquote" [/quote]
ie8 fix

The best of ZDNet, delivered

ZDNet Newsletters

Get the best of ZDNet delivered straight to your inbox

Facebook Activity

White Papers, Webcasts, & Resources
ie8 fix