At first I was quite enthusiastic about all the announcements that have been published during Microsoft's Build conference in the beginning of May. One of the biggest announcements was the possibility to compile iOS applications written in Objective-C to the Windows Phone (10) platform. Apparently Microsoft wrote an Objective-C compiler and wrapped all the (dynamic and static) dependencies. This is an amazing job!
The same is true for Android, however, here the experience is not as smooth (yet). Microsoft apparently focuses on iOS applications first, which makes sense in some way. Currently I guess that part of the reason is that iOS has the largest variety of (commercial) apps available. iOS users certainly spend more money on apps than the average Android user. Technically I believe that the solution from Microsoft is quite solid. Once they also come up with a Swift compiler they'll certainly convince some more developers to port their existing applications from iOS to Windows Phone.
Nevertheless, I still have my doubts about the potential success of this move. Since it is possible technically, I see no reason to exclude the option. But I have my doubts about convincing customers to switch from iOS to Windows Phone even if their favorite app has been ported. The potential problem I see can be summarized in a two words: Ownership Transfer. If a particular app has been bought in a platform dependent store (e.g., the AppStore from Apple), then I don't see how this information (who bought what) can be transferred to another store, which is in this case the Microsoft store.
Customers who spent money in a single store will be less likely to leave the ecosystem. They already committed too much. In a sense they are hooked. To free these customers one needs to put a lot of effort into liberating them. T-Mobile USA is showing this effort, but their success of gaining customers by releasing them from their former providers comes at a high cost. In fact they need to pay a lot and they can't hook new customers like these customers have been controlled before. Hence they acquire unreliable and inefficient new sources of income.
So what needs to be done? Providing the technical ability to port programs frictionless from one platform to another is a first step. But developers need more. Additionally part of the focus needs to be on customers. Customers need reasons for switching. They also shouldn't be required to re-pay for any of their existing applications. Finding solutions to these problems is certainly a task that needs to be done.