Monday, May 11, 2015

Software : How will Android support work in Windows 10 for Phones?

Software : How will Android support work in Windows 10 for Phones?


How will Android support work in Windows 10 for Phones?

Posted:

How will Android support work in Windows 10 for Phones?

Introduction and Microsoft services

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.

Porting Android

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."

Limitations and reconnecting with devs

Port limitations

Microsoft calls all these options for porting code bridges, and they're meant to make it easier and cheaper for developers to bring apps to Windows 10. "We're making sure we can reduce the cost of coming to our platform, so you can build efficiently and reuse the code you've already built as much as possible instead of people porting the same code over and over again," says Gallo, but he freely admits there's no magic to making this easy. "None of this is a perfect solution. We're saying 'bring your code and we'll try and work through this as well as we can'. It's a starting point."

He doesn't think the Android and iOS support will be a disincentive to build native Windows apps, because of the limitations of the ported apps. "The user experience [of an app designed for a small device] will work on the desktop but it won't be decent across the spectrum," he pointed out; "it may not be an effective experience."

An Android or iOS app on a Windows 10 phone that's plugged into a screen and keyboard using the Continuum feature won't have a desktop interface to switch to. He believes developers will want to make a good app, using a shared core of code, rather than a sloppy port, and that developers who want to make an impression on those engaged customers will do the extra work required. Of course, that remains to be seen.

MS Android apps

Reconnecting with developers

What the Android support will enable are the simpler apps built by organisations that want to have apps but don't want to spend a lot on them. "Banks and hotels can be good enough everywhere," suggests Gallo. And of course it will help give Windows users access to the large number of Android apps in China, which use AOSP and don't have any Google services to be concerned about.

One big advantage Microsoft sees is a chance to get developers at least considering Windows 10. "We want to reconnect with developers. That's been our heritage and we think we lost our way," says Gallo. "We made several false starts and now we're trying to fix that."

No comments:

Post a Comment