Now I am not aware of Microsoft's plans or actions here so if they are already doing this, great. If they aren't they need to start today!!
The basic idea is "fund and completely manage the development of all leading apps on competing platforms and, for a period of time, identify new popular titles and port those as well".
The main difference in my idea here is that MS needs to actually completely handle the port and support of the apps. Simply providing the money for the port is not enough because you may be dealing with dev shops that don't have the experience needed or, more likely, don't have the bandwidth. But how would this work? Here are some thoughts.
- Microsoft could put contractors under NDA so they can share code and assets from the publisher
- Microsoft would make the app free in the marketplace for a period of time. The publisher didn't do the app in the first place so they aren't missing something they didn't have in the first place.
- Microsoft would handle all reported bugs and issuing updates to the program.
- The publisher obviously has control over whether the port is done -- it is their property. Some publishers may have philosophical reasons why they don't want to support the platform.
- The app would still be published under the publisher name. To the outside world it would appear that the publisher did the port.
I don't know how much of this Microsoft is already doing but this is one approach that would help provide some of the missing apps for the platform.