# Visual Basic > Universal Windows Platform and Modern Windows Experience >  How does Metro work?

## esposito

Hello, I've read something very fragmentary about the new Metro applications that will work on Windows 8 for ARM.

What I have understood is that "legacy" applications designed for Intel-based Windows 7/8 will not work on ARM tablets.

What I still have to understand is whether a Metro application designed for the new WinRT will also work on Intel-based Windows 8.

Do you know how Metro apps will work?

Thanks in advance.

----------


## dilettante

As far as I can determine there are three kinds of Metro applications:
Native C++A modified form of .NetHTML5 with JavaScript
Since only the first is native code (the others being basically JITted script) only C++ Metro applets need to be compiled in different editions for x86, x64, or ARM.  I'm not even sure WinRT applets can target x64 so maybe there are only two editions to be created.

No native x86 or x64 code is going to run on the ARM platforms.  However scripted WinRT applets created for x86 (at least) should run on the ARM machines in most cases.  The exception might be a few APIs that don't exist on ARM.


It gets confusing since Microsoft has chosen to call Windows-On-ARM "WinRT" because of course there is a WinRT on x86/x64 machines as well.

----------


## dilettante

BTW: In theory the WinRT APIs and requirements are all "open" in the sense of documented.  This means somebody could come along and create another native code or script-based language to run there (e.g. a native code Delphi, or XAML with VBScript).

How likely this is might be another question though.

----------


## esposito

Thanks.

Is there a version of C++ specifically optimized for the development of Metro applications?

----------


## dilettante

As far as I know the only one you can use is the one Microsoft had provided with the Developer Preview Tools version of the Dev Preview Win8 ISO.

I'm not sure what the final, released compiler will be part of or whether any "Express" edition will ever support Metro.

Ahh:




> You can use the tools in Visual Studio 2012 Express RC for Windows 8 to create Metro style apps for Windows 8. The tools include a fully featured code editor, a powerful debugger, a focused profiler, and rich language support that you can use to build apps written in HTML5, JavaScript, C++, C# or Visual Basic. Visual Studio 2012 Express RC for Windows 8 also includes a device simulator that you can use to test Metro style apps on multiple form factors.


Link: http://msdn.microsoft.com/en-us/wind.../br229516.aspx

----------


## esposito

If I understand correctly, there will be two types of Metro applications: those for x86 (and probably x64) and those for ARM. And there may be incompatibility between these two types.

Is it true that the only way to distribute Metro apps (including freeware) will be through the Microsoft App Store? If this is true, will it apply to x86 apps as well?

----------


## Milk

I believe C++/CX is the language extension designed to support the WinRT API. 

http://blogs.msdn.com/b/vcblog/archi.../10228473.aspx

----------


## dilettante

The main source of incompatibility would be the actual compiled binary for native code (right now only C++) programs.  There may also be WinRT APIs that will not be available on ARM, and WinRT applications can also use many regular Win32 APIs, some of which may not be available on ARM.

As far as I know the "app store" is the only distribution option except for a mechansim being talked about for enterprise customers.

Have you worked your way through the blogs yet?

http://blogs.msdn.com/b/b8/

----------


## esposito

> As far as I know the "app store" is the only distribution option except for a mechansim being talked about for enterprise customers.http://blogs.msdn.com/b/b8/


How sad Microsoft is drawing inspiration from one of the worst (from the developer's point of view) business strategies adopted by Apple.

The Apple's App Store is not considered a case of monopoly abuse simply because Apple does not have the monopoly of operating systems. I'm not sure the European Commission will not intervene if Microsoft adopts the same distribution system, which obliges developers to give MS a certain fee out of each application sold.

I have recently started developing software for the Mac using Lazarus and, with some other developers, have decided to inform the EC about a presumed monopoly abuse perpetrated by Apple:

http://www.lazarus.freepascal.org/in...c,16799.0.html

Particularly, the next version of the OS for the Mac (Mountain Lion) will be shipped with the default option which prevents unsigned apps from being installed.

In my opinion, this is unfair competition against independent software developers and the App Store does not differ much.

It breaks my heart to hear that MS is following Apple's money-hungry policy.

----------


## kleinma

WinRT (short for Windows RunTime) is the new framework that is part of Windows that runs 'Metro' apps.

To target WinRT, you have several options depending on what you are familiar with already as a developer, or possibly, what you are looking to accomplish.

If you currently write .NET, then you will be able to write Metro apps. If you have done any WPF, Silverlight or WindowsPhone 7 development, you will be in better shape, because you will know a bit about XAML which is the XML/HTML looking markup that makes up the UI now. The old top/left location/anchor system of WinForms is gone. But in reality, it has been gone for a long time, as WinForms stopped being developed some time ago.

Microsoft basically built .NET classes to consume the WinRT API, to allow you to program for it using what you already know about .NET, and to also use lots of (but not all of) the existing classes in the framework.

They also did the same thing for Javascript and HTML5, so web developers who are more comfortable there, or perhaps want to write something that can be brought to various platforms with little retooling, can write Metro apps that target WinRT because Javascript/HTML5 is a first class supported language there.

If you wanted to make a 3D app (most likely a game), then you can target Direct3D via C++. There is no way to use C# or VB to make Direct3D based games, and there is nothing like XNA right now. There are some 3D effects you can do using VB or C#, but nothing on the scale of what you can do with Direct3D.

When it comes to ARM versus non ARM Windows 8, the reality is when it comes to Metro apps, it does not matter, because they WinRT API is the same across both. If you write an app for Metro, it can run on ARM or x86/x64.

Metro is a little more sandboxed than what you would be used to with WPF or WinForms. There are certain requirements, and permission restrictions, more inline with the set of permissions you would see a "standard user" having in Windows XP or Windows 7. Limited access to the file system and limited abilities to control other system wide settings.

You can of course also still write WinForms or WPF apps that run on the desktop. These apps however will not run on ARM based versions of Windows 8, because that version will only support the desktop for running desktop versions of Microsoft Office and Internet Explorer. 3rd party desktop programs can not be run on ARM based Windows 8.

I also believe Metro apps must be approved through the AppStore process. I am not sure if x86 versions of Win8 will allow you to install metro apps from other locations, but I know the ARM version is set to be tightly controlled to avoid poor performance from badly written apps.

I hope to get a few articles about metro up soon in VB, showing how you can get some stuff done. Right now I have been working on programming live tiles.

----------


## dilettante

> When it comes to ARM versus non ARM Windows 8, the reality is when it comes to Metro apps, it does not matter, because they WinRT API is the same across both. If you write an app for Metro, it can run on ARM or x86/x64.


If you leave out C++ this is certainly true.

But native code needs recompilation for the three instruction sets.  At least I haven't heard of any plan and compiler toolchain the would compile code for x86, x64, and ARM into a single multi-targeted program file.




> WinRT (short for Windows RunTime) is the new framework that is part of Windows that runs 'Metro' apps.


I was pretty sure Microsoft marketing wants to call Windows-on-ARM "WinRT" too now, adding some confusion.

----------


## kleinma

Yes they do want to call WOA WinRT but that sort of makes sense since WOA devices can ONLY run 3rd party apps on the WinRT platform.

As far as C++ and D3D, I have not heard anything to state it will not work on ARM. The fact that the whole metro UI and even the composite windows desktop since vista is hardware accelerated, I have to think D3D will be on ARM and ANY metro app you write will work across the platforms. Well as long as they are able to be certified for the App store anyway. I would imagine if you make use of Win32 API calls and what not in side loaded metro apps, those will not work on ARM.

----------


## dilettante

I didn't mean to suggest WOA will not support Direct3D.  I was merely saying the compiled code isn't portable.  If you have alternative info on this (e.g. multi-targeted compiler output) I'd be interested in hearing about it.

----------


## kleinma

I will have to look into it, but it was my understanding that it was, since it all targets WinRT under the hood, and the hooks for WinRT are the same between ARM and x86.

I will try to get more info and post back.

----------


## brad jones

Admin comment - 

Guys - we have an entire forum here for Metro / Win 8 discussions. I suggest different topics be talked about in different threads. That way, it will be easier to follow the discussions! 

Thanks!

Brad!

----------


## dilettante

Hmm, I thought we were sticking fairly close to one topic here:  Metro app portability between Win8 on Intel and Win8 on ARM

----------


## brad jones

> Hmm, I thought we were sticking fairly close to one topic here:  Metro app portability between Win8 on Intel and Win8 on ARM


Ah. okay - if you agree that is a single topic, then I'll stop my off topics posting and let you carry on  :Smilie: 

My apologies.

----------


## dilettante

No problem.  But the good news is we're close to a final answer that will resolve this thread.

----------


## dilettante

I suspect where we're at is that when you write a Metro applet in a .Net language or in "HTML5+JavaScript" (you have to use another VS tool for this) they should be portable between Intel and ARM.

When you use C++ you have to compile separately targeted object programs.


See C++ Applications for ARM based devices, which suggests the same thing.  The dearth of specific statements by Microsoft on this suggests to me that it's a bit of a "dirty little secret" they'd rather not talk about right now.

Are WinRT Metro apps cross-compatible (x86/64 and ARM)? leaves us in the same place, but see Larry Osterman's reply there.  This should be considered authoritative:



> A JS app should work on ARM unmodified. I'm not 100&#37; sure about C#, an app written for "any CPU" should just work on ARM (but I've not confirmed). C++ applications will work, but will need to be recompiled specially for ARM.


Comments there also touch on some issues with C#/VB.Net applets that may not be portable.

----------


## kleinma

C#/VB.NET apps definitely are, because in the compile options, there is AnyCPU, x86, x64, and ARM in the drop down menus. Compiling for AnyCPU to me means it is good to go on any of those 3, since you are just making IL, and the .NET framework will JIT and run the IL on any CPU type it supports. Metro is walled in enough to not have to worry about things not compatible. Any Metro development in VB/C# is simply targetting .NET wrappers that target WinRT. WinRT was made to be compatible between the different CPU types. C++ may be the exception due to its low level non IL nature.

----------


## kleinma

This is from a Microsoft employee:




> That is correct. In general the move from x86 to ARM is just changing the target and recompiling. So long as your app gracefully handles lower end hardware you should be fine.
> 
> Once ARM systems are available you will want to test on them, but I wouldn't expect significant problems.


Sounds like a recompile is needed for C++, but if the app is coded correctly, it really should be as simple as a compiler switch and recompile. Something that could even be autmated with MSBuild.

----------


## dilettante

I didn't expect anything difficult about recomplation, the only snags being the use of any platform-specific API calls and that should be avoidable in most cases.

What I was wondering about was a possible option to create a "multitarget" binary containing separate codefile resources with code for each of x86 and ARM for example.

Sounds like a C++ Metro applet would be "posted" to the app store in two editions.

----------


## kleinma

There are no platform specific APIs though. Your metro app targets WinRT, and WinRT is the same on both platforms. The only exception I see here would be for side loaded non store certified apps, and I expect those to be few and far between, certainly not available for commercial purchase.

I would imagine the app gets listed once, and when you download it, it gives you whatever payload you need based on the system you are on. After all, if you buy it on your ARM tablet, you can then go home and install it on your desktop.

----------


## brad jones

Can a C++ app be compiled down to IL code like C# and VB rather than all the way native? I should know this, but I don't....  :Smilie:

----------


## dilettante

You might peruse C++/CLI:



> C++/CLI should be thought of as a language of its own (with a new set of keywords, for example), instead of the C++ superset-oriented Managed C++ (MC++) (whose non-standard keywords were styled like __gc or __value). Because of this, there are some major syntactic changes, especially related to the elimination of ambiguous identifiers and the addition of .NET-specific features.


So yes, but no.

----------


## esposito

If you are targeting Intel-based Windows 8, is there any reason why you should prefer developing a Metro app to creating a "legacy" program which also works on Windows 7?

----------


## brad jones

> If you are targeting Intel-based Windows 8, is there any reason why you should prefer developing a Metro app to creating a "legacy" program which also works on Windows 7?


I think this is a short-term versus long-term type of decision and is also impacted by who your target audience is.

I think if you are targeting a consumer type application, you need to consider whether you are looking for short gains/sales or long term sales. If the answer is 'short term' then I think it is valid to consider the legacy approach. If you are looking to make inroads in the long run, then I think the metro look and feel will eventually win out.

shifting from your question a bit...
The other unknown is whether the Windows RT (arm) market will grow fast enough to offset the legacy market. If it does, then that is another reason to consider the Metro approach over a legacy approach.  

In the short term, it seems to me that the legacy approach has the best chance of success since that is where most people in the market currently are.  Having said that, we've been talking to companies like DevExpress that are creating templates that let you create apps that look "Metro" without being Metro. That seems like a great transitional approach.

Brad!
(this response of course is just one opinion)

----------


## esposito

I have a feeling that it may be too early for me to shift my attention to Metro. I think it might be wiser to wait for the reaction of the market and, if the sales are promising, take Metro into consideration.

----------


## kleinma

This is really a case where right now, the market has little choice but to embrace it. It will be on Windows PC's, Tablets, Laptops, and phones. The only other real option is Apple, and many people won't pay the insane premiums to get those products. Even if metro gets some feedback that changes it's course a little (like making apps windowed), it will still be good to have an understanding of the technology and be able to work in it a little. While WinRT is new, VB and XAML are not, and those are what you would be working with.

----------


## dilettante

Actually the move sounds a lot _like_ Apple: "You must use our tools, sell through our store.  Resistance is futile."

While this worked for Apple they rely a lot on herd mentality/boutique sales among a relative minority of computer users.  Microsoft tried this before with Phone 7.  _Dismal_ sales, dwindling mindshare.

It may be interesting to see how it all plays out and what serious new alternatives arise for the desktop, as in the Post-WinMo phone market.  Only time will tell.

----------


## SJWhiteley

> Actually the move sounds a lot _like_ Apple: "You must use our tools, sell through our store.  Resistance is futile."
> 
> While this worked for Apple they rely a lot on herd mentality/boutique sales among a relative minority of computer users.  Microsoft tried this before with Phone 7.  _Dismal_ sales, dwindling mindshare.
> 
> It may be interesting to see how it all plays out and what serious new alternatives arise for the desktop, as in the Post-WinMo phone market.  Only time will tell.


As someone who is moving to Apple development, this is certainly an interesting turn of affairs with Win8/Metro. Specifically, as you note, the Apple model works quite well because the whole Apple Machine was built with a strict distribution model.

Windows, on the other hand, is a much more open model. But the 'App Store' for the desktop, which potentially restricts the distribution channel, may turn off a lot of people. The 'classic' desktop is still there, but if a lot of people go back to the desktop, what is the advantage of upgrading to windows 8? (Microsoft's forced obsolescence not withstanding). The phone/tablet market is obviously booming, but MS is a notorious failure, here.

With Apple, it feels like each upgrade is supplying a new feature; with Windows it - from experience - feels like we need to always ask 'what are we losing?'. The Metro interface is obviously an addition, but are they selling us an SUV instead of a Compact just to get around town?

Microsoft are serious latecomers to the market, but the Juggernaut will not obviously be stopped, even if Windows 8 does turn out to be a Vista/ME rehash. People have grown accustomed to 'Windows: it just breaks." :/ The expectation for a $300 desktop of $500 laptop is astonishingly low. If Metro/8 turns out to be less-than-reliable will people tolerate such failures in a $500 phone or tablet?

----------


## brad jones

> Microsoft are serious latecomers to the market, but the Juggernaut will not obviously be stopped,



They might be late, but the market has changed. How many tablets and netbooks don't even have CD or disk drives anymore? How are people install software on their phones and these diskless devices? Expectations have changed.  

The abilty to use cloud services (whether we know it or not) has also entered the market. How many people have installed an app on a smart phone (iPhone, Android, WP, or otherwise)? Lots. People have already been installing apps without going to the store to by disks. 

This is all a change from the last few years. It is a different paradigm now. Microsoft might be late, but they really aren't late by much. And, when you look at Microsoft's history, it is when they are a little late that they do their best.





> If Metro/8 turns out to be less-than-reliable will people tolerate such failures in a $500 phone or tablet?


You'll need to define "less than reliable".  Win8 seems to be quite capable at what it does. I don't think the issue will be reliable, but rather a level of frustration with the learning curve. 




> even if Windows 8 does turn out to be a Vista/ME rehash.


You say this as if Vista/Me were failures. I don't believe Microsoft considers them a failure. I'm guessing that what is defined as a failure would be based on sales and not on reviews. In this case, both OSes sold, which would imply success.

----------


## dilettante

The Vista/Me negativity seems to come from a herd mentality more than anything.  People don't realize that they are standing alone and naked when they make these comments, rather than safe throwing stones from within a crowd.

Personally I prefer Vista to Windows 7 in many ways, and two of my machines are still running Vista.  I have a retail Win7 Ultimate just sitting in a box here, and only run Win7 on a tablet that has no Vista drivers available.

----------


## kleinma

> Windows, on the other hand, is a much more open model. But the 'App Store' for the desktop, which potentially restricts the distribution channel, may turn off a lot of people. The 'classic' desktop is still there, but if a lot of people go back to the desktop, what is the advantage of upgrading to windows 8? (Microsoft's forced obsolescence not withstanding). The phone/tablet market is obviously booming, but MS is a notorious failure, here.


I think people have many misconceptions about metro and the start screen. The "app store" is really mostly for metro apps. Metro apps must be installed through the app store, and that is a good thing. Desktop apps can be installed through the app store or any of the traditional ways we have always installed apps. people think of "metro" and "desktop" as these 2 different modes on windows 8, and in some ways they are, but the more you use windows 8, the more that the desktop just becomes a "metro" app. I find it pretty easy to navigate around and get to what I need to get to. It did take a little time to get used to it, but everything they have done makes pretty good sense once you start using it.

I also wouldn't call MS a failure in the phone/tablet market. Windows Mobile did pretty well for a long time, and had tons of features prior to things all going touch screen. WinPhone7 clearly doesn't put up the numbers that android and iPhone do, but I don't think MS expected to spearhead into the market and grab an instant lead in market share. I think Windows Phone 8 is probably going to be the start of their marketshare gains there. The problem is going to be getting people away from the iPhone or Android, not just winning over some of the people who haven't moved to smartphones yet.

In the tablet space, I am not sure how MS is considered a failure when they have never really launched a tablet OS/device yet. If surface bombs, then we can call it a failure, but it hasn't even launched yet. With BB going down the crapper, we could see the enterprise really embrace WinPhone8, Surface, etc. because of its superior management and policy capabilities. iPhones and Android are a free for all in that department.

----------


## SJWhiteley

> The Vista/Me negativity seems to come from a herd mentality more than anything.  People don't realize that they are standing alone and naked when they make these comments, rather than safe throwing stones from within a crowd.
> 
> Personally I prefer Vista to Windows 7 in many ways, and two of my machines are still running Vista.  I have a retail Win7 Ultimate just sitting in a box here, and only run Win7 on a tablet that has no Vista drivers available.


You need to think about it from the 99.9% of the market that are not developers or 'computer geeks'. Vista was an atrocity. The underlying reality that XP/windows 7 is based on the same technology as Vista is irrelevant. This is like concluding that a Trabant is based on the same technology as a Mercedes, so people who knock the Trabant really are 'throwing stones'. The technology may be similar but the 'experience' is different: which comes to...




> I think people have many misconceptions about metro and the start screen. The "app store" is really mostly for metro apps. Metro apps must be installed through the app store, and that is a good thing. Desktop apps can be installed through the app store or any of the traditional ways we have always installed apps. people think of "metro" and "desktop" as these 2 different modes on windows 8, and in some ways they are, but the more you use windows 8, the more that the desktop just becomes a "metro" app. I find it pretty easy to navigate around and get to what I need to get to. It did take a little time to get used to it, but everything they have done makes pretty good sense once you start using it.


That is my understanding: the desktop is 'within' the Metro environment (if I can draw a childish and old parallel: early versions of Windows was an application 'in' the DOS environment). I don't really know, and honestly - as a a user - don't care about inconsequential elements. I don't disagree that the App store will be a good thing - if it can bring some discipline to application developers. But critically, how will the experience hold for the majority of users?

Maybe I'm being too cynical, but it seems the tablet Metro interface - the desktop PC doesn't appear to be the real market for Metro - does appear to be presented for the user 'lowest common denominator'. Ironically, perhaps that truly is the average user.

Microsoft have tried tablets, previously - perhaps before it was ready, true - by trying to 'miniaturize' the laptop and add a touch screen. They were rubbish. Really, really, rubbish.

Likewise with the windows CE variants, windows mobile, Windows 6 point whatever, and so on. A developers nightmare - each incarnation was a big middle finger to developers for these devices - and an appalling 'user experience'. It wasn't surprising that blackberry took the baton with a smaller screen, but a more productive interface. Microsofts foray into such a market is not a recent one. Of course, technology has changed, hardware has changed: the capability to truly put a 'f888ing computer in your hand' is here and now, and have been for a couple of years (actually more than that).

Developers need to step out of 'developer' mode and think about what people want from a device: for example, the difference between the Zune and iPod. Both with similar technology, and while Zune didn't have an extensive market share, and in dollar terms, wasn't necessarily a 'failure' or loss leader (although I'm not so sure about that since it was kiboshed), it really, overall, didn't succeed. The question is, why? I was seriously in the market a few years ago for a music player - Zune, iPod or other. The Zune did, actually, work reasonably well with few flaws. But it didn't have....something (I'm a UI designer, and am constantly evaluating good and bad interfaces, and what makes people do the things they do with device/machine interfaces - I couldn't pin-point what was wrong, if anything).

Honestly, the bottom line, I think, is that the Windows moniker comes with too much baggage and has been typecast to a specific role.

Can Microsoft pull of the Metro Experience? Personally, I'm doubtful from a user experience standpoint, but from a Juggernaut perspective it is possible by ramming it through the desktop. It will be an uphill struggle, with an extensive marketing campaign to convince people why they want Windows on their phone. Will the Metro interface bring the [Microsoft] mobile market up, or will is drag the desktop market down?

As an engineer, I'd like to see it stick around for a bit - the Microsoft mobile development 'platform' is haphazard BS which constantly gives developers the shaft (well, I gave up during windows mobile). I don't have time to spend 110% of my time learning new development tools and platforms - I like to get things done in my primary field: developing is a tool to get a job done.

[Sorry if this rant went off-topic].

----------


## FunkyDexter

> You say this as if Vista/Me were failures. I don't believe Microsoft considers them a failure. I'm guessing that what is defined as a failure would be based on sales and not on reviews. In this case, both OSes sold, which would imply success.


I think this somewhat misses the point.  In the desktop OS market, at least, Microsoft has such a level of dominance that any new OS they release is pretty much guaranteed to be a success in terms of its immediate sales.  The question is whether each iteration increases or erodes their level of good will in the market.  If they released too many weak OS's in a row that good will would start to erode quite quickly and their market share would follow.

In the case of ME and Vista, I believe both were weak releases.  I never tried ME and had a pretty good experience with Vista (I'm still using it in fact) so I can't really call them technically weak but neither can I deny the resounding raspberry that very large sections of the market greeted them with. They're still held up as yardsticks for bad OSs to this day.  But in both cases Microsofts continued market share was rescued by subsequent, stronger releases, XP and 7 respectively.  I've always felt that it would take at least 3 bad releases in a row to really hurt MS and they always seemed to manage a strong release at least one in two so they've never really been hurt by the weaker releases.

In terms of 8, I've got to be honest, I'm predicting a weak release.  Whether it's technically weak or not I'm really not positioned to say as I haven't tried it, but the response from the market is already sounding pretty flatulent so you can expect it to breed a simailar sort of resentment that ME and Vista did.  Will that mean the collapse of Microsoft?  No.  It'll be Windows 9 and 10 that govern that.  And if there's one thing Microsoft prove again and again it's that they're not afraid of a weak release and are actually very, VERY good at learning from the experience.  On that basis you can probably expect 9 to be an excellent piece of work.

----------


## kleinma

I think Windows 8 will be a pretty strong release actually. It has a lot of things going for it to make that so.

1) Anyone buying Windows 7 right now gets an upgrade to Windows 8 (i think either free or 15 dollars)
2) Anyone with Windows XP or higher can get the upgrade version for 40 bucks
3) It will be released on 3 form factors of tablet, laptop, and desktop
4) Metro aside, there have been many improvements to the desktop experience and underlying archetecture of Windows (task manager, file copy, drive storage pools, acct sync across devices, etc..)
5) It boots faster, runs faster, and uses less memory than Win7
6) Any hardware that was compatible with Vista should work fine, and most stuff from the XP era will also work assuming 64 bit drivers were made at some point for Vista/Win7
7) For the first time ever, Microsoft is making their own hardware PC device that will come without a bunch of bloatware like your standard Dell and HP system
8) The only real alternative is to get a Mac, and for compatibility or price reasons, that might not be a valid option.
9) most of the criticism I have read is based on bad or just wrong information. Some of the criticism is valid and I agree with a few statements that have been made, but I have been using Win8 on a regular basis now for 2 months while working with Metro development, on a non touch device, and I don't find myself feeling like the mouse and keyboard are not good input devices even in metro apps. On my home PC with dual monitors, I have the start screen come up on my secondard monitor, which means my desktop is always there.

----------


## esposito

A technical question: what happens when you install a legacy application under Windows 8? Since the classic desktop is not there anymore by default, do you get an icon (if it is still called that way) on the Metro desktop or is your application's icon only visible when you activate the classic desktop?

Thanks in advance.

----------


## kleinma

Metro doesn't have a desktop so to speak, the Metro start screen is the replacement for the old start menu. So if the desktop app installed entries into the old start menu (most do) then those icons will show up on the metro start screen. If the desktop app also created a desktop shortcut (some do) then it will still make one on the windows desktop like it always did.

----------


## esposito

> Metro doesn't have a desktop so to speak, the Metro start screen is the replacement for the old start menu. So if the desktop app installed entries into the old start menu (most do) then those icons will show up on the metro start screen. If the desktop app also created a desktop shortcut (some do) then it will still make one on the windows desktop like it always did.


The desktop shortcut created after the installation of a legacy application is usually represented by a typical icon the size of which may be only 32x32 pixels (766 bytes).

When I see the tiles on the Metro Start screen, they look quite big. So, will the tiny icons be stretched in order to occupy the entire area of the tiles? If this is the case, since their definition is very low, the resulting tile would be an eyesore. Is it the way it works?

Thanks.

----------


## kleinma

It uses the smaller sized tiles and it places the icon for the app in the tile, along with text of the program name.

Here is an example on one of my dev boxes, I grouped my Office apps and my Visual Studio apps into named groups in the metro start screen.

----------


## esposito

I see. I have to say those tiles don't look too bad.

Thanks a lot.

----------


## dilettante

From about post #31 onward we've sort of drifted.  Might it make sense to trim those to make a separate thread?

----------


## esposito

> From about post #31 onward we've sort of drifted.  Might it make sense to trim those to make a separate thread?


Isn't the installation of legacy apps on Metro connected with how Metro works?

----------


## kleinma

I think the posts in here still are related to the original topic.

----------


## FunkyDexter

> 1) Anyone buying Windows 7 right now gets an upgrade to Windows 8 (i think either free or 15 dollars)
> 2) Anyone with Windows XP or higher can get the upgrade version for 40 bucks
> 3) It will be released on 3 form factors of tablet, laptop, and desktop
> 4) Metro aside, there have been many improvements to the desktop experience and underlying archetecture of Windows (task manager, file copy, drive storage pools, acct sync across devices, etc..)
> 5) It boots faster, runs faster, and uses less memory than Win7
> 6) Any hardware that was compatible with Vista should work fine, and most stuff from the XP era will also work assuming 64 bit drivers were made at some point for Vista/Win7
> 7) For the first time ever, Microsoft is making their own hardware PC device that will come without a bunch of bloatware like your standard Dell and HP system
> 8) The only real alternative is to get a Mac, and for compatibility or price reasons, that might not be a valid option.


These are all good arguments, particularly 1,2 and 3 because they focus on the marketting aspect of the release rather than the technical, but this



> most of the criticism I have read is based on bad or just wrong information


is irrelevant.  The market isn't rational and won't behave as such.  If the bad press builds up enough of a head of steam (which it seems like it has) then the market will relish the failure of W8.  And if W8 doesn't give a good cause for that failure the market will simply invent one.  That's why I was quite careful to distinguish between a weak release and a product that was technically weak.  It won't matter if the product is the best thing since sliced bread technically, if the market wants it to fail then it will fail.

That failure doesn't mean poor sales for MS (as I said, that would take 2 or 3 weak releases), it just means enough bad press so that the linux and/or apple communities can fold their arms and smugly declare "I told you so".

----------


## kleinma

Well the criticism I have read has really been from people in the tech community (who again, I feel are misinformed or making judgements without actually trying it) and not the "market" itself.

The sad reality is a huge chunk of the computer buying population has 0 clue about versions of anything. They think Windows and Office are the same thing. You ask them what OS they run and they say "Microsoft Word 2005". So they will just go out and buy a PC or a Mac, and get whatever OS comes on it. After Oct 26th, that will all be Windows 8 on the PC side of things.

So I don't think the market wants it to fail. I think the anti-Microsoft people want it to fail. Just like the pro microsoft people want to see Apple and Google make missteps along the way. You have to remember there are almost NO people using OSX or Linux because they HAVE to. The market share is such that those people are using it because they WANT to. However with Windows and its monster maketshare, there are plenty of people who are using windows because they HAVE to, and those are the people I see complaining the most, but they always did.

I think once it comes out, many of the fears these people had will be found to be baseless. Windows 8 in the consumer preview certainly has a few rough edges, and I don't expect them ALL to be ironed out by RTM, as this is a somewhat major change to the UI and underlying OS, but each iteration that came out in beta format had so many pain points tweaked for the better, that I do have some faith that the RTM will be even better than the current build I am running. The rest will come in service packs, or I am sure for certain major things, Windows 9.

I know MS is planning some sort of tutorial for users when they first load up windows 8 to try to avoid confusion with how the start screen works and what you can do with it.

----------


## dilettante

I and others I know and work with have tried each release from the Dev Preview onward on both desktops and touch-screen tablets.  Saying our opinions are uninformed is less than a straw man argument.

You may have part of the picture pegged when you talk about the anti-Microsoft crowd.  But assuming that's the full story is a little naive.

You can find a few Windows Phone fans too if you look hard enough.  Windows 8 on the other hand might have the advantage of no serious desktop competition, leaving people stuck with trying to sqeeze lemonade when it becomes the only game in town.  That may be the best hope for the Win8 boosters whistling in the dark.

I'm still hoping it dies, but at the same time I'm preparing in case it doesn't.

----------


## kleinma

Windows Phone might not have the numbers of iPhone and Android, but I have not yet met someone with a windows phone that didn't like it.

Interestingly enough, here are some figures about the release of devices and their uptake:
http://gadgetix.com/2012/07/20/nokia...ines-together/

Granted that more people than ever are buying smart phones now than a few years back, but the numbers are there none the less.

I am not sure as to what you are hoping 'dies' though. You are hoping metro/WinRT dies? That isn't going to happen. Perhaps some refinements with regards to switching between destop and metro mode and other ways to ease you around to the various apps, but this stuff is not going to "go away".

I also wasn't saying you were uninformed. I don't recall you posting any arguments in here against Win8 did you? What specifically do you not like?

----------


## brad jones

> I'm still hoping it dies, but at the same time I'm preparing in case it doesn't.


Windows 8 won't die and I am willing to bet that there will be substantially less negative consumer press about it than there was for Windows Vista. Windows 8 is too much like Windows 7 to fail. 

I'm sure that last sentence will get hammered, but let me just say that for the *consumer* the statement is very true.  Yes, you start by seeing a Metro interface first (much faster than you see the desktop in WIndow 7). If you then click on the desktop icon you are back to being very close to a consumer experience in Windows 7. 

Ahh.. but no star menu you say.... True, but how many consumers use the start menu versus an icon on their desktop? If you put the icon on the desktop it works just like... an icon on the Windows 7 desktop.

I won't say that Windows 8 is perfect. It's not. I will say that I get where it is going. I see what is happening to the underlying platform. I see the context in which people are using their computers.  When you look at the overall picture of the industry, you see that there is a paradigm shift happening. Windows 8 is getting closer to that shift than other platforms. 

I'd also say that I think it is Android and Google that have more to gain in the long run with a Windows 8 failure than Apple or Linux.  While the Apple and Linux people might jump for joy, I don't think they will gain any marketshare that Microsoft might lose.

----------


## brad jones

> Windows Phone might not have the numbers of iPhone and Android, but I have not yet met someone with a windows phone that didn't like it.


I've met one. Only one. I don't remember what the issue was.

I've met dozens who have griped about their iPhones, and a few who gripe about Android.

----------


## kleinma

> I've met one. Only one. I don't remember what the issue was.
> 
> I've met dozens who have griped about their iPhones, and a few who gripe about Android.


I honestly haven't gotten to play with it a ton because I am on verizon and they never got a WinPhone worth getting. I am sure that will change with Win8, and I will get rid of my iPhone 4s and get a Windows 8 phone to go with my galaxy S3 (I have work and personal phones).

Once nice moment was when I was at the MVP summit this year and during a "lunch in your session room" Anders (the guy who created TurboPascal, Delphi, and C# for anyone who doesn't know him) decided to sit at my table and when we were talking about WinPhone, he tossed his across the table for me to play around with. I was tempted to see if there was any top secret info coming into his mailbox, but refrained from snooping  :Smilie:

----------


## dilettante

No, I'm being careful to refrain from saying anything anti-Metro in this forum.

For one thing the waters here are pre-chummed (look at the reaction!), for another this forum needs to help developers cope with Metro.  So such discussions here are just as off-point as so many inflammatory issues in software development and will merely get in the way of the mission.

Sorry I rose to the bait, unintentional as it may have been.  But it is hard to let some statements go unchallenged.

----------


## brad jones

I would prefer you to say anti-Metro comments if you have a basis for saying them. Metro is not perfect by any means and the way we learn to make it work better is to better know how it works. Stating issues or even opinions will help. It might be that we should create a few threads to discuss various aspects. 

Regardless, we'll all better understand what we can do with Metro if we look at it from all angles - both good and bad.

----------


## FunkyDexter

> Well the criticism I have read has really been from people in the tech community (who again, I feel are misinformed or making judgements without actually trying it) and not the "market" itself


I think you're right that it's _coming_  from the tech community and your probably right that much of it is missinformed too... but the market does listen to to the tech community and, even if they don't understand whet the tech community is actually saying they do tend to pick up on the vibe.




> The sad reality is a huge chunk of the computer buying population has 0 clue about versions of anything. They think Windows and Office are the same thing. You ask them what OS they run and they say "Microsoft Word 2005". So they will just go out and buy a PC or a Mac, and get whatever OS comes on it. After Oct 26th, that will all be Windows 8 on the PC side of things.


  I laughed at this because it's absolutely true and describes my family to a tee.  But it's also the reason that the market listen to the tech community.  They know they don't know what they're buying so they just go with what's easy to buy.  That's why MS can afford 2 or 3 "bad" releases.  But after 2 or 3 the drip, drip effect of the tech community bad mouthing MS would start to become enough to convince the market at large to start loking at the alternatives.




> I think the anti-Microsoft people want it to fail.


Yes but I don't think it's just limited to them.  We all like to see the big boy's get taken down a peg or two from time to time.  I've got to admit, I do harbour a secret desire to see W8 be a disaster and will gleefully gossip at the water cooler if it does.  It's not a rational desire and I will freely admit it's an uninformed one.  And it doesn't come from hating microsoft either, I'm far more pro-microsoft than I am linux (which I view as being for pompus techies who aren't in touch with the real world) or apple (which I view as a fisher-price my-first-computer operating system for people with no technical understanding).  And that last sentence should reveal how schizophrenically irrational I actually am.  Google Chrome never even made it on to my radar.  In fact, I revel in my own ignorance - it helps me empathise with the market.

No, for me the desire to see W8 be a disaster comes purely from that dark and ugly side of the human psyche that like to see bubbles burst and egos popped.  I just like to see the big guys fail every so often.  And I'm not alone in that.




> I am willing to bet that there will be substantially less negative consumer press about it than there was for Windows Vista


Now _that's_ a brave statement.  Mind you, Vista set the bar pretty high so perhaps you're right.




> Ahh.. but no star menu you say.... True, but how many consumers use the start menu versus an icon on their desktop? If you put the icon on the desktop it works just like... an icon on the Windows 7 desktop.


I think my fear of this is that I like to keep my desktop fairly clear.  I'm the same with my _actual_ desktop too.  I hate having piles of paper floating around it so I file everything away, it helps me feel organised.  A cluttered desk, a cluttered mind and all that. The removal of the start menu sounds to me like the bolshy office manager just walked into my office, announced loudly that I'm not allowed to used the filing cabinet anymore and just dumped 6 years of paperwork onto my desk.  I struggle to see how the desktop is an alternative to the start menu but, as I'm happy to admit, I haven't tried it so maybe there's a great alternative built in.




> It might be that we should create a few threads to discuss various aspects.


I agree.  A couple sprung up in chit chat and were pretty healthy but this would be a much better home for some serious discussion.

----------


## kleinma

> No, I'm being careful to refrain from saying anything anti-Metro in this forum.
> 
> For one thing the waters here are pre-chummed (look at the reaction!), for another this forum needs to help developers cope with Metro.  So such discussions here are just as off-point as so many inflammatory issues in software development and will merely get in the way of the mission.
> 
> Sorry I rose to the bait, unintentional as it may have been.  But it is hard to let some statements go unchallenged.


I might rebuke some statements if they are factually incorrect, however opinions don't fall into that category, and there won't be any sort of flame war starting up here. At the end of the day, I just like Windows 8 and the direction it is going, so if I seem to defend it, it is really just against the inaccurate information I have seen talked about. If criticism is something along the lines of "they should allow you to boot to the desktop" then that would be something I would look at as valid criticism, and probably something I agree with. It is really just the "Win8 will fail because its horrible" comments, which have 0 context to be valid, or "there is no start button" which I guess is true, but such a ridiculous argument that it is just silly. Things like "I don't want a tablet OS on my desktop" is unfounded because it is not a tablet OS, it is just an OS that supports both desktop and tablet.

----------


## Shaggy Hiker

My opinion is that there is a generally negative expectation on the part of consumers. What I have read in this thread makes me considerably more positively disposed towards Win8, though I'm in no position to do anything about it either way. In my case, the work system isn't one I can change, while the home system....could run anything that can run .NET, for the most part. 

Still, it does make me want to try it. Perhaps I will get around to picking up a copy when I set up a new system, but that will not be for months, at this rate. Sounds much more promising, though.

----------


## brad jones

> Still, it does make me want to try it. Perhaps I will get around to picking up a copy when I set up a new system, but that will not be for months, at this rate. Sounds much more promising, though.


Get a copy on a USB stick in a "Windows To Go" format.  That is going to the be the slick way to try it out without doing all the work of installing and upgrading. Stick in a USB stick, boot to it, and yowzer it runs.  It is a little self contained system on a thumbdrive.   

http://www.codeguru.com/blog/categor...-of-fries.html

----------


## kleinma

> Get a copy on a USB stick in a "Windows To Go" format.  That is going to the be the slick way to try it out without doing all the work of installing and upgrading. Stick in a USB stick, boot to it, and yowzer it runs.  It is a little self contained system on a thumbdrive.   
> 
> http://www.codeguru.com/blog/categor...-of-fries.html


Hopefully a USB3 thumb drive in a USB3 port  :wave: 

This is actually similar to my home setup. Currently I run Win7 x64 for my core development and other things that don't yet work in Win8 in the beta. So I had an extra 80GB SSD sitting around, and got a eSATA external USB powered case for it, and I plug that in when I want to boot to Win8 for metro development and beta testing.

----------


## dilettante

Windows (at least before Win8 "To Go") doesn't install as a flash-memory safe configuration.

Do you know whether Win8 To Go deals with this?  Does it kill paging, indexing, background defragging, etc. that tend to tear up a default Windows install's system drive (when on flash media)?  Or does it ask for space on the host system's hard drive for such things and relocate the I/Os there?

Or perhaps it relies on the same sort of "SSD Detection" heuristics that Win7 uses?  Win7 auto-tweaks many of those things when it decides the system drive is "SSD" (basically random I/O tests show a certain speed I guess).  Part of the tweaking is the Trim vs. delete setting that saves on flash/SSD wear.  I'm not sure that had been added yet in Vista, and I'm pretty sure XP never got it.

In other words how safe is it and what does it require of the host hardware?  Anyone have real expereince with it yet?


It's also an Enterprise feature, so I'm not sure what that means for post-preview Win8 for a lot of people.

----------


## brad jones

> Do you know whether Win8 To Go deals with this?


I snipped a lot of what you asked.

I know that Win2Go requires a USB 3.0 drive and that there were only 2 such drives that were certified to be good enough to actually work. I would assume that Microsoft has taken care of some of the thrashing and such to reduce wear on the drive. Even so, the average USB drive would still get chewed to bits by running a system off of it. That is why only certain USB drives will be certified. 

I also know that the device will use the computer's processors, peripherials, and such, but will not use the hard drive. From a booted Win2Go system, you can see that a harddrive exists on teh main system, but you have absolutely no access to it. There is a bit of an expectation that if you are using Win2Go, then you are likely to be storing all your data in the Cloud.  

I made a few comments in my blog post on the topic (link in previous post).  I can try to find out more if there is interest. 

Brad!

----------


## IanS

Really strange that these 'metro' threads just don't get any input ?

I've never really looked at it yet but think it's about time that I did. Would somebody tell me if I've grasped the 'gist' of it.

1. We can use VS2012 to develop metro style apps.
2. All metro style apps must be signed and deployed via the MS App Store.
3. Companies who develop their own internal metro style apps can deploy them internally to their own employees without using the MS Appstore using some process called Side Loading ? (SideWinding or something like that that)
4. In order to run unsigned metro apps (presumably a developer who needs to test his app before deployment) can register for a FREE developer license which allows the user to run unsigned metro style apps without going through the app store.


My conclusion - if all of the above is true - is that everyone, and his dog, will simply register for the above mentioned 'free' developer license allowing them to run unsigned metro apps. Of course they won't be 'protected' by MS and we'll have to use our own judgement just like we do now when downloading apps from the internet. So, basically, I can simply start selling metro apps from my website because everyone will be able to run unsigned apps anyway.

Or - if MS notice that everyone - and his dog - are registering for free developer licenses will they do something to prevent everyone - especially dogs, from registering for a free developer license. ?

----------


## brad jones

If you wanted to start selling an application, then expecting people to have a developers license obtained via Visual Studio, would be expecting a lot. Someone isn't going to jump through that type of hoop to play a simple game or run a simple application. 

Besides - why not go through the store and make distribution easier? Yes, there is a small fee, but you also get your application reviewed (call it free testing). 

This model of distribution is quickly becoming standard. Think about history -- you used to distribute by making copies and install programs onto 5-1/4 floppies. Eventually this gave way to 3-1/2" disks. Later these were replaced by CDs and finally DVDs for larger apps.  As is obvious, all of these mediums are fading into history with digital downloads being next. 

Granted, it seems like it would be easier to let people download from your; however, I don't know you. As such, I'm less likely to trust you. I do trust Google Play, iTunes, and the Microsoft Store, so if your app is there, I'm going to assume it is virus free and vetted for my use. As such, I'm going to download the app, but I'm going to download it from a safe location. As a consumer of other people's apps, I'm going to want to use trusted sources. As a developer, I want people to know my apps can be trusted.

Thus the new model replaces the old. CDs replaced diskettes. .NET replaced a lot of native apps. Evolution continues. You can embrace it or fight it.   :Smilie: 

These are, of course, just my opinions at the moment!

----------


## port12345

I  also believe C++/CX is the language extension designed to support the WinRT API.

----------

