It's official. Microsoft has surrendered the mobile space to Apple and Google. All hail Android! All hail iOS!
Seriously what else can you make of Microsoft attempting to bring both Android and iOS applcations to Windows? First, there's no question that Microsoft can make it easy, if not trivial, to bring some of these apps to Windows Mobile.
Note, I say "Windows Mobile," not Windows. While Microsoft is working its rump off to make Windows, with its Universal Windows App Platform, appear as one platform for all developers, these apps are still going to be ARM architecture specific. So, if you want to run Androids apps on desktop Windows, you'll still want a third-party solution such as BlueStacks. If any desktop will do you, Google is making it easier to run Android apps on Chrome OS with Android App Runtime for Chrome (ARC).
What is happening with Project Astoria, Microsoft's Universal Windows Platform Bridge toolkit, is that Android developers can build "Windows" apps for phones by reusing their Android code. I say "Windows," because Microsoft is doing this by running Android Open Source Project (AOSP) to run as a subsystem. In short, these apps will be running on Android, which will be running in emulation on Windows.
Okay programmers, what do you get when you run something in emulation? That's right. You get slow performance.
Microsoft tried to dodge this fundamental programming fact at Build. "Some people might call this emulation," said Operating Systems Group President Terry Myerson, in a Build interview. "But it's really about subsystems (although) there are aspects of emulation in here."
Another problem is that applications that are written to the AOSP don't give you access to all the goodies that users think of as "Android." For example, YouTube, Google Maps, and Gmail are all Google properties with separate licenses. If your app uses them, chances are you're not going to be able to use them on a Windows 10 mobile device.
In addition, many apps use Google Mobile Services (GMS). Applications use GMS for such services as geolocation, in-app purchasing, and authentication.
To make up for this lack of functionality, Microsoft will replace some of them with Windows services. Microsoft had previously announced that it was working with the Android vendor Cyanogen to integrate and distribute Microsoft services such as messaging, utilities and cloud services into Cyanogen's Android-based Open OS. We know, for example, that Microsoft has promised that these apps will be integrated with Cortana, Microsoft's personal digital assistant.
So, sure, in theory Android developers will be able to take their APK files and move them without any fuss or muss to Windows 10 Mobile. In practice, it won't be that easy.
For iOS programmers, it's even more complicated. In Project Islandwood, Microsoft is introducing a Universal Windows Platform Bridge toolkit that promises to enable you to develop Windows apps using Objective-C. This includes the following features.
Import Xcode projects into Visual Studio
Make minimal changes to your iOS/Objective-C code to build a Windows app
Build and debug your Objective-C code from Visual Studio
Take advantage of Windows services
Extend your app to take advantage of Universal Windows Platform features
Objective C compiler
Get the picture? With your iOS programs you're going to need to actually port them to Windows Mobile. The plus side is these apps should run faster on Windows Mobile than Android. The minus is that Apple iPhone and iPad developers will need to spend more time reworking their applications to run on Windows Mobile.
Can it be done? Sure, King's Candy Crush Saga for Windows runs just fine. But, iOS programmers will need to work harder than their Android cousins to bring their apps over to Windows.
Put this together and here's what I see. First, if you're a Windows Phone or RT developer, may I ask why? By IDC's February 2015 count, Google and Apple's respective mobile operating systems together come to 96.3 percent all smartphone shipments worldwide. Windows? It came to a pathetic 4.2 percent.
And, now Microsoft is making it easier than ever for your more well-heeled Android and iOS rivals to make apps for "your" platform. I simply see no reason to bother with building Windows Mobile specific apps.
Microsoft has handed the keys to the Windows Mobile kingdom to Android and iOS programmers. Whether those developers will bother with it is another question. After the first flush of excitement, they too will face considerable technical and market problems getting their apps profitably on Windows.
I think Microsoft is making a desperate play to stay relevant in the mobile space with its own operating system and it's one that's destined to fail. Microsoft would be better off continuing to focus its effort on porting its applications to Android and iOS.