When Windows 10 for Phones launches later in the year, you'll be able to run Android apps on phones and small tablets (but not on a Surface, notebook or desktop PC). They'll run on an Android subsystem that's likely to be based on KitKat (using the same hooks once used to put a POSIX subsystem in Windows NT). "We believe we'll have decent compatibility because this is AOSP," Microsoft's Kevin Gallo told TechRadar Pro.
But this doesn't mean any Android app will run and there are things they won't be able to do. "We replace the Android services with our own," said Gallo. "We are running them in our own container – conceptually we are running them as a universal app so we use a middleware layer for translating APIs across but they still run in the Windows app security model."
That will improve performance and battery life over Android, he suggests. "Apps are not running in the background and there are some changes made so they behave like a well-behaved app." Standard platform capabilities will be redirected to the Windows equivalents – that's the file system, contact and photo integration, camera, sensors and network connections.
Microsoft not Google services
You'll get apps from the Windows Store rather than from Google Play, and they won't use Google services – instead developers will be able to switch to using Microsoft Ads and App Insights instead of Google Ads and Google Analytics, the Windows notification service instead of Android push notifications, Bing Maps and the Windows location services instead of Google Maps, Xbox Live services instead of Google Play services (and any other services Microsoft is able to add to Project Astoria before launch), with "zero or very little modification" by developers. If they want to add features like live tiles, they'll need to do more work though.
Not all Android apps will work well this way. "Messaging apps and those that have deep integration into background tasks will probably have issues running," Gallo told us, "and it also comes down to [where they have good] performance". But then, he pointed out, "not every app works in every Android distribution."
Gallo and other Microsoft executives are keen to emphasise that bringing Android apps to Windows 10 for Phones isn't the only way they're trying to bring developers and their apps to Windows 10. There's also the ability to wrap Win32 and Silverlight apps in the App-V container or to bundle up a website as an app (complete with API calls to add Windows 10 features) and distribute those through the Windows Store – and iOS developers can bring an Xcode project into Visual Studio and share source code between an iOS and Windows app.
Power of Project Islandwood
The Project Islandwood SDK for iOS developers is actually more powerful than the Project Astoria option for Android developers (even though Microsoft says Android developers get to reuse more of their code than iOS developers), since they get full access to the Windows 10 APIs, and what developers will be creating are universal Windows apps that can run on phones, tablets, desktops – and potentially Xbox and HoloLens.
Apps that start out as Android code run in the universal app container for security but they stay as Android APK packages and will only run on phones and small tablets, because it's only Windows 10 for Phones that has the Android subsystem (at least this year).
When we asked why Microsoft hadn't taken the same approach for both projects, we were told that the iOS approach would have had technical challenges for Android, and that this avoided potential legal concerns about the runtime. (As to why Microsoft is targeting Objective-C rather than Swift, "there's a whole lot of code written in Objective-C," Gallo told us, "but we'll look at Swift.")
And of course there are the billion Windows 10 users Microsoft is hoping to get.
"Reach is a fundamental piece," Gallo told us. "Then we've got to make sure we have a rich customer target for developers. We think we are on target to have a rich ecosystem where developers will have their apps used and monetised, and that we will have experiences that are unique to Windows. We think we will have engaged customers, which is something they can't get elsewhere – an engaged customer you can market to and you can reason over is the customer everyone wants."