On The Viability Of Porting iOS And Android Apps To Windows 10 Mobile

At BUILD this year, Microsoft unveiled two similar projects, Astoria and Islandwood, which will help Android and iOS developers, respectively, to port their apps to the Windows mobile app store. The projects are meant to bring Android and iOS developers into the Windows 10 Mobile ecosystem and thus ostensibly make Windows phones more relevant than they currently are.

Microsoft's strategy here is either brilliant or bone-headed, depending on the execution. On the one hand, if one can port apps to Windows 10 Mobile as easily as the company makes it seem, it solves an enormous problem that Windows Phone has faced, which is a relative dearth of available apps. It's a compounding problem: There aren't enough native apps on Windows Phone, which negatively impacts its market share, which discourages developers from creating native Windows Phone apps, which negatively impacts market share, and further down the spiral it goes. Giving devs an easy way to stick their apps on Windows 10 for mobile goes a long way towards encouraging users to buy into the ecosystem.

On the other hand, if the porting process is problematic, or if the end user experience is anything but optimal, devs will have a problem on their hands and will likely bail.

We're Tom's Hardware, not Tom's Software, so in order to gain better insight into how this porting business might actually work, we asked some experts from Nascent Digital, a company that designs and develops applications for iOS, Android, Windows and the Web. We spoke with Shawn Konopinsky, Nascent Digital's co-founder and CEO, and Andrew Fryer, one of its developers.

Project Islandwood (iOS)

Fryer believes that iOS apps are going to be the easiest to port to the Windows 10 platform. "I think the iOS ports would have high performance because they are written in Objective-C and C++, and Microsoft has plenty of experience dealing with C++ modified languages such as C++/CX -- which it actually created itself."

He added that this should result in higher-quality tools for Project Islandwood than for Project Astoria. At BUILD, Microsoft promised that iOS developers can import their Xcode projects into Visual Studio, Microsoft's own integrated development environment (IDE). The company also said that only minimal changes and tweaks will be required for iOS apps to work on Windows 10.

Another reason for why Fryer expects iOS ports to Windows should be more successful is because the iOS ecosystem still has the larger mindshare when it comes to developers and new mobile applications. Many popular apps arrive on iOS first and then come to Android second. That means the developers have more experience with the iOS app and can port it faster to Windows than they can port the Android app.

Project Astoria (Android)

Although most popular mobile apps may appear on iOS first, there are still many Android apps that launch on Android before they do on iOS. That happens because these apps are either built by developers who aren't invested in the Apple ecosystem (usually from countries other than the U.S.) or because they can only build a certain type of application on Android. A good example of this were third party keyboards, which couldn't be built on iOS for a long time.

Those developers may still want to port their apps to Windows if it only takes a fraction of the time it would take to build an app from scratch for a different platform.

Fryer said that although the iOS ports should generally have high performance, things may be a little different on the Android side.

"The concern I have is particularly with Java and Android, because Microsoft said on stage that Android apps would be running in a container. That tells me that there's an extra layer between the apps and the operating system that could create more latency."

Andrew added that "it probably won't even be noticeable at the general app standpoint, but it may become noticeable porting a game or a heavily animated app that has many complex transitions and animations."

Also, although most apps could work just fine on a high-end Windows 10 Mobile device, they may not work as well on sub-$100 smartphones. Because they require more performance (and therefore more CPU and GPU processing time), the Android ports could also demand slightly more battery life than the iOS ports.

One advantage Android ports should have over iOS ports, though, is that the navigation should be handled by the Windows platform, without any changes from the developers.

"One of the nice things about Android is that its navigation and controls are relatively similar to Windows Phone. The majority of Android devices have three hardware buttons just like Windows phones do. The primary navigation consists of tapping a UI element to move forward and tapping the back button to move backwards. You wouldn't have to do any specific change to the navigation because Android and Windows phone are similar," said Fryer.

Windows 10 Universal Apps

Although Microsoft will ultimately want developers to build native Windows 10 applications that work on phones, desktops, Xbox and so on, the company seems to recognize that it can't get there directly. Most mobile developers still remain on the fence about building apps for Windows Phone, and it's not yet clear how Windows 10 Mobile will change that.

For instance, Windows 10 might become very popular on the desktop, but not necessarily on phones. If that's the case then it may not be worth it for most iOS and Android developers to start building Windows 10 apps from scratch that are mainly targeted at the smartphone platform.

However, Fryer believes that developers could still port tablet applications to Windows 10 for desktop, and then go from there. "An iPad app could be ported to Windows 10 for PC for general desktop use. If you're taking advantage of the responsive UI idea, then your app could run on the phone as well."

Fryer assumes that it could take anywhere from three to six months to build an app from scratch. By comparison, porting an app from iOS or Android could take only a couple of weeks (testing included). This short development time could be worth it for developers who otherwise wouldn't consider building their apps for any platform other than Android and iOS.

Shawn Konopinsky, Nascent Digital's CEO, added that "it obviously takes a lot of effort to make a new application, and I think there's a lot of hope that Windows 10 will have much greater impact on the market when it comes out. For those who might be a little bit shy when it comes to making a significant investment, it does provide an opportunity for the application to exist on the platform using existing code base with some minimal set up integration."

Although iOS and Android ports could "work well" on Windows 10 devices, though, it doesn't necessarily mean they'll be as good as native Windows applications.

"You have a UI that is designed to really complement a platform such as iOS or Android, and then you take that app and transition it to another platform without making any changes to the UI. This could become a problem for Windows Phone users," said Fryer.

Microsoft is not the first company to push porting from another platform on a large scale. BlackBerry has also tried something similar by making Android apps work in a VM on top of the BlackBerry 10 OS. Although this method has provided BlackBerry with the bulk of its applications, it hasn't exactly translated into success for the company. Therefore, it's not clear to what extent, if at all, the porting of Android and iOS apps will help the Windows 10 for Mobile platform.

Microsoft hasn't released the SDK for the Projects Astoria and Islandwood yet, but it promised to deliver it sometime shortly after Windows 10 is released.

Follow us @tomshardware, on Facebook and on Google+.

Lucian Armasu
Lucian Armasu is a Contributing Writer for Tom's Hardware US. He covers software news and the issues surrounding privacy and security.
  • Shad0wguy
    If it means more apps for Windows Phone I'll take ported apps over no apps any day. And hopefully if it does well enough the devs will invest in native apps.
  • Blinken
    What about platform specific API's, those most certainly will need to be reworked. For instance, apps that have integrated Google Play services won't have that on Windows I would think?
  • GraniteStHacker
    I actually suspect performance will be about the same for Android and IOS apps as for native. For Android, there's an abstraction layer involved even on "native" Android devices to smooth out hardware differences. That layer is open source, so Microsoft has full visibility into it to create a "native" abstraction layer for Windows 10. For IOS, Microsoft has long been the compiler king. They have compilers for everything, it's no surprise they'd have a compiler for Objective-C. Regarding any containers they may be talking about, these are likely virtualization containers, and since the Windows 10 Mobile platform is based around virtualization as a security measure, it's a native mechanism in the platform. I'm reasonably sure it's hardware supported.
  • back_by_demand
    Very well written article, well done. If this actually works MS could snare, by default, the biggest app collection anywhere forever. No matter how many new apps get added by Apple or Android, Microsoft would always be able to use more.
  • Bloob
    The "container" might just refer to the sandbox all WP apps run in, or it could be something else. Converting code is all well and good, but what about binary libraries? (that's another possibility for the "container")
  • RedJaron
    16202012 said:
    Very well written article, well done. If this actually works MS could snare, by default, the biggest app collection anywhere forever. No matter how many new apps get added by Apple or Android, Microsoft would always be able to use more.
    It won't be automatic. Again, the devs have to choose to port their apps over.
  • Alec Mowat
    Good idea, but if you are emulating a iphone, your Windows device will need significantly more power.
  • Bloob
    Good idea, but if you are emulating a iphone, your Windows device will need significantly more power.
    It's not emulating, it's converting.