, Blue Ink wrote

*snip*

But Microsoft doesn't want the code to run everywhere, they want it to run on Windows

I think you will see Microsoft become a cross-platform software company.  Clearly Office and Bing are already doing it.  Microsoft wants their software to run everywhere.  The problem is crafty people keep coming up with popular new platforms, which makes it hard to build software that runs everywhere... :)

But Microsoft is helping Xamarin, and checkout the open source version of winjs:  https://github.com/winjs/winjs