Have you been a proud owner of Nokia Lumia? Do you love its apparent build quality, design aesthetics, and killer camera? You very well be but all of these bells and whistles don’t seem to matter when your friends with an Android device or iPhone can flaunt an awesome game or a useful application that just isn’t available on Windows Store yet. If you think that way, you’re not alone. App selection is a major problem faced by manufacturers wanting to enter the mobile world. Though, Android has arguably taken over the world of mobile OS with over 80% of market share, iOS still holds its ground in the global market. Both of these ecosystems have a combined market share of over 93%. That doesn’t leave much for other players in this game, including Microsoft.
For Windows Mobile, it goes something like this:
This is why Microsoft was largely unable to get more developers on board for its platform. Sure, you’d find almost all top-tier apps on Windows Mobile, but below that level, it’s a different story altogether. Many apps either don’t have a presence on Windows Mobile or they don’t update it as much as their Android and iOS counterparts.
How has Microsoft tried to solve it? Quite intelligently, by announcing that apps from Android and iOS will work on Windows 10 with little to no rework. In an ideal world, it would make Microsoft compatible with millions of apps that already exist on Android and iOS.
We aim to bring Windows 10 on 1 billion devices within the next two to three years
says Terry Myerson, Executive Vice President of Operating Systems.
Islandwood and Astoria
With Project Islandwood, Microsoft entices iOS developers to port their apps on Windows Mobile using an Objective C middleware layer to provide the operating system APIs that iOS apps expect. The project’s already been handed over to a select group of third parties with Candy Crush Saga for Windows Phone being one of the first apps built this way.
Android apps on Windows Mobile isn’t an announcement, it’s been rumored that Microsoft will be adding support to run Android apps on Windows Mobile for some time now. But we have a definitive answer now: Project Astoria which includes an Android runtime layer that’ll let Windows Mobile run existing Android apps (developed in both Java and C++) unmodified. Unlike Islandwood, developers won’t have to recompile the app or make any sort of changes to their current code. There is, however, a problem with porting apps that run on Google Mobile Services (GMS). GMS is Google’s closed-source set of APIs that is shipped with Google-compatible devices of Android. So, say your app uses Google Maps API, which is part of GMS, it won’t be able to run on Windows Mobile. Not completely anyway.
On the bright side, Astoria will offer some integration with Windows Mobile so that Android developers can, with minor alterations, support features like Cortana and Bing Maps in their apps.
There are several downsides to this approach. Unless 100% integration with GMS is included, many apps that simply use GMS’ location-based APIs, for example, won’t be able to run on Windows Mobile. That would mean more work for developers with little to no return on their efforts. Remember that chart at the beginning of this article? Yup. That.
There’s a design consideration, too. Both Android and iOS have dedicated design languages and guidelines that apps follow. What would happen should you decide to port an iOS app on Windows Mobile using Islandwood? If you just modified the code and leave the design be, the app wouldn’t really belong in Windows Mobile ecosystem. This is a bigger issue than Microsoft thought and so far there isn’t any way around it.
It’s too early to call it either a success story or count it in another attempt by Microsoft to have some share in a lucrative mobile world. I guess we’ll find out soon enough.
Passionately a software developer, Basit Saeed considers himself a person who believes in software and social media being the change agents of 21st century. He is a techy, a gadgets freak, and loves playing with code whenever he can. He tweets at @basit_saeed.