
Microsoft's plan to port Android apps to Windows proves too complex - stevep2007
http://www.networkworld.com/article/3005670/microsoft-subnet/microsofts-plan-to-port-android-apps-to-windows-proves-too-complex.html
======
seibelj
As someone who has spent years building software on top of compiled android
binaries, as in, adding features to apps with nothing more than the APK (no
source code), I can say that what they are building is not only difficult but
quite fragile. I have the benefit of customers who agree to certain OS
versions and specific app versions. MS wants it to work universally with every
app. It's possible to get it close enough that getting any single app to work
is a few tweaks, but very hard to get it to the last mile, where every app
"just works".

~~~
kelvin0
Why don't you have access to your customer's source code? Is this done through
decompiling Java Bytecode? What kind of modifications are we talking about
(cosmetic, functionality)? Really really curious about your feedback!

~~~
seibelj
My current company, Apperian, is the industry leader in a technology called
"App Wrapping", for which we have several patents pending (I'm only there for
another week, I'm leaving after nearly 6 years for a new adventure). Read more
here: [https://www.apperian.com/mobile-application-
management/mobil...](https://www.apperian.com/mobile-application-
management/mobile-app-wrapping/)

iOS is different, but on Android we run the decompiled binaries through
software making heavy use of finite state machines to alter the Dalvik VM
code. These alterations allow us to automatically add features like SSO,
analytics, security, self-updating apps, etc. to native apps without the
customers making any code changes.

Because the binaries are provided to us by customers, and distributed 100%
outside of the official App Stores, the risk of app-breaking updates is much
reduced.

Over the years the technology has matured a great amount, and most apps "just
work", but we still get apps that have some edge case we didn't think of, that
requires manual intervention by engineering to update the wrapping software.

Now, the use-case that MS has is different from Apperian's, but similar enough
that I can imagine what they are going through, especially trying to re-map
the UI elements to native MS widgets. This is a hard problem that is difficult
to nail seamlessly, and it is infeasible for them to tweak their code for
every app. Even worse, the apps people want most (FB / Messenger, Google Maps,
etc.) are the most complex of all, so their tech needs to be super advanced to
get value out of it.

~~~
pavlov
I don't think Microsoft's Astoria even tried to map Android UI elements to
native Windows widgets. In my experience, the look and feel is more like a
Windows-styled theme for Android. (That sounds pretty bad, but actually
Windows 10 Mobile has pretty much broken the tight Windows Phone 7/8 look&feel
anyway, so it's not such a big deal for the bridged Android apps.)

They do map some of the Google Play services to their MS equivalents, and
that's certainly a big can of worms on its own.

~~~
hackuser
From the article, quoting Microsoft's director of OSG John Justice:

 _“We are windowizing all the most important experiences…we recreated
controls, interactions, and user experiences to match the Windows user
experience (UX) to eliminate any clashes of interface concepts,”_

------
stevep2007
The Astoria project at Microsoft failed because a breakthrough was needed to
overcome the complexity of the software development challenge. Microsoft tried
to automate mapping the Android UI into the Windows 10 UI and to map Google
services within the app such as maps, payments and notifications into
Microsoft equivalents. Automated conversion of a UI from one platform to
another has never been successfully demonstrated.

When I first saw Microsoft's Android bridge at Build 15, I thought it was
achievable. But project Astoria as it is called is much too complex. Drawing
on my architectural knowledge of the underlying Microsoft/Lumia hardware that
is very similar to Android phones.I concluded that in the context of
partitioning the device or running a VM Microsoft would succeed. But Microsoft
tried something much more ambitious. ﻿

~~~
bingobob
Google Play Services are also updated every few month, Microsoft would always
behind the eightball when trying to remap services.

but what is truly impressive from Microsoft is there Xbox 360 Emulation on the
Xbox One go check it out you will be surprised

~~~
rasz_pl
for truly impressive look up Bleemcast!, Playstation emulator running on
Dreamcast.

[https://www.youtube.com/watch?v=5-tQX-
XZhX0](https://www.youtube.com/watch?v=5-tQX-XZhX0)

~~~
Grazester
This was impressive indeed. It was written entirely in assembly(not using the
DC katana library or directX) to get the most out of the Dreamcast. Also it
was years and years before they were able to crack it to be able to copy the
discs and by which time both the Dreamcast and Bleem were long dead. The
author has a post on a gaming forums about a few years back. Pretty cool stuff
given the tiny size of the team that worked on this and the financial
resources available to them. Sony eventually sued them into the ground.

------
drzaiusapelord
A good reason why google play services exists is to stop things like this. Its
a complex moving target that gets updated monthly. Sure, you can do this with
apps that don't use play services, but a lot do, especially popular ones. MS
would have a hard time keeping up with changes. Blackberry tried this and it
didn't save the Blackberry product. They pretty much gave up recently and now
have an excellent android phone on the market.

The real question is how many competitive app stores can we have at once?
We're probably looking at some level of natural duopoly here. It took years
for Android to get the attention it did and that's with it being a worldwide
leader in sales. The market settled on a product that's perceived as premium
(iOS) and the workhorse do-anything, install-anywhere, sell cheap, etc
Android. A third app store and the developer time/cost commitments needed
might not be feasible. MS should know a thing or two about how hard it is for
outsiders to break natural monopolies.

~~~
Zigurd
Amazon does without Google Play Services, and app developers are able to
publish their apps on Amazon. It's not a very high bar for app developers, and
moving to a Microsoft runtime would be little different than being portable
across Google and Amazon devices.

~~~
s73v3r
Still requires effort and testing, which might not be worthwhile.

------
Maarten88
This is very disappointing to me, as a Windows Phone fan in exile (I'm on
Android, for the Apps).

I'll now hope they will do something less ambitious, such as creating an
Android VM on WP that would run unmodified APK's (and install the Play Store).
I'm not sure if they'll strategically want to do this, but they have to do
something.

~~~
xlm1717
I'm sure they can do it if they wanted to. This will just take users
completely out of WP and into Android, though. At that point, they're better
off developing their launcher, apps, and other services on Android and simply
releasing another Android phone.

------
Zigurd
Jolla, Blackberry, and Tizen (did that one ever get shipped?) have Android
runtime ports that can run many Android apps really well. Not surprising
because the apps are touching the same bits they touch in "real" Android. But
that hasn't made a lot of difference to the popularity of those OSs. App users
who _want_ Android apps are unlikely to _want_ an OS other than Android.
Windows probably had the strongest case for using Android compatibility
effectively. I can think of plausible cases where a customer _needs_ to use
Windows but _wants_ Android apps.

Here is my prediction for what comes next: Microdroid, an OS that, like Fire
OS, is based on AOSP, but uses the Microsoft ecosystem. That will happen
because the ecosystem and apps are more important than the OS.

------
jbob2000
Would it have been cheaper to pay the top 100 Android apps to make a Windows
version? Perhaps they do it on a continual basis to keep their marketplace up
to date?

On that note, I'd like to try making a windows phone app. Is there anything
sorely missing from the platform?

~~~
josefresco
I remember a strategy similar to this earlier in the Windows Phone lifecycle -
maybe they weren't outright _funding_ the dev teams, but they were offering
large incentives. I'll paste a link here if I can dig it up.

~~~
corin_
Here's one example I remember, though only $100 offered per app:
[http://www.theverge.com/2013/3/19/4124548/microsoft-
paying-d...](http://www.theverge.com/2013/3/19/4124548/microsoft-paying-
developers-cash-for-windows-apps)

------
Zarathustra30
No mention of Islandwood (the iOS bridge), which is probably more important,
if less ambitious. The missing apps preventing Windows Phone adoption are not
Android-only.

~~~
NicoJuicy
Islandwood was het project name, i had to search ( according to my standards )
a long time. Here is more infromation : [https://dev.windows.com/en-
us/bridges/ios](https://dev.windows.com/en-us/bridges/ios)

~~~
c1sc0
I did a deep evaluation at work of project Islandwood & my conclusion was that
there's just enough framework support to make Candy Crush run, but that's
about it.

~~~
pavlov
That's exactly it. It's fine for a game that makes minimal use of UIKit and
doesn't have high performance requirements.

Any complex non-game app will require a UI rewrite using the Windows UI
framework bridge. That means many months of work, compared to the 1-day effort
of bringing an Android app over using "Project Astoria".

------
tkinom
There is another potential approach.

I used to run Ubuntu for ARM on the same development phone/tablet as Android
for the sole reason that I can use the Ubuntu/debian tools to debug some
Android OS related issue.

It is very easy to setup with chroot.

MS can probably get linux kernel VM running inside WM ARM cpu. With that, one
can probably quickly run Ubuntu or Android unmodified on WM.

Pro: probably just work. Google did most of the works already. Android VM runs
in x86 Windows/Linux today.

Con: Might need more memory. 2+GB for MVP. Not a low end phone anymore

Not sure why MS doesn't start with this approach and extend from that.

------
ocdtrekkie
What's weird to me, is everyone's acting like this is a technical issue but...
Astoria worked fantastically on all the apps I tested it with.

------
dharma1
Would be great to be able to run Android apps on other platforms, even if they
don't replicate the native host UX or have access to all the platform APIs.

The only solutions I've seen are

-Myriad Alien Dalvik (which isn't free)

-Google's ARC Welder (which is very fast but only works inside Chrome/Chromium, doesn't work with all apps, only runs one app at a time and quite clunky to use)

And emulators like Bluestacks or Genymotion, which are generally quite slow.

Any other alternatives - especially for Linux?

~~~
Maarten88
Not Linux, but fitting the context of the article: the Visual Studio Emulator
for Android works very well, and is free. On Windows, it uses Hyper-V.

[https://www.visualstudio.com/en-us/features/msft-android-
emu...](https://www.visualstudio.com/en-us/features/msft-android-emulator-
vs.aspx)

~~~
EwanG
But requires that you have Windows Pro as MS has "helpfully" set Windows Home
and Windows basic to not allow Hyper-V to run on a core i7 unless you have the
Pro version. Which I sadly discovered when I bought a new high-end desktop and
didn't realize (because very few specify) which version of Windows came with
it. Of course I can load Ubuntu on the same machine and use Hypervisors all
day long, but then we're back to Linux aren't we :-)

------
jenscow
Wouldn't it have been easier to just fork Android and slap a Windows logo on
it?

Like Amazon have done.

~~~
scholia
Yes, it would have been easier, but that's not the (current) strategy.

The idea of Windows 10 is to have a converged OS that runs on PCs, phones,
tablets, games consoles and everything else. "Universal" apps can run anywhere
(not necessarily with the same UI).

It's an ecosystem play.

Devs creating apps now have a potential market of more than 100m Windows 10
users, and that will keep growing. (Microsoft's stated target is a billion
users.) Apps are not just for Windows phones.

Otherwise, in a few places, Windows Phones are actually more popular than most
people think. In France, for example, Windows Phone (12.3%) is not far behind
iOS (14.6%). In Italy, Windows Phone (12.4%) actually outsells iOS (10.0%).
See [http://www.kantarworldpanel.com/global/smartphone-os-
market-...](http://www.kantarworldpanel.com/global/smartphone-os-market-
share/)

------
andridk
Jolla achieved this. My Jolla phone can run most Android apps without
problems.

Maybe Microsoft's scope was too big?

~~~
chappi42
But not (officially) Google Play apps. And the Android environment is old.
(Nevertheless I wouldn't switch my Jolla to anything else...)

------
rtl49
I understand Microsoft's business interest in entering this space, but at this
point there seems to be quite little incentive for consumers to switch from
Apple and Android phones.

The success of this project seemed dubious for several reasons, not the least
of which is the dependence of so many apps on specific functionality of the
Google Play Services API, which is subject to change. But even if Windows
phones could run all Android apps perfectly, this only solves the issue of
Android's entrenchment. What feature could a Windows phone offer that
competing phones do not? There is the questionable justification of
"integration" with Microsoft's desktop offerings, but honestly much of this
functionality is already available. If there is some great boon to this that
justifies the cost of the switch for users, it isn't obvious.

------
hackuser
If I owned Microsoft stock I would question this investment of resources. How
much is this costing the organization, and what is the likely return? For
return on investment they not only have to pull off a techical feat that
nobody else has achieved, but also the availability of 'Windowized' Android
apps will have to spur a massive increase in Windows Mobile sales, another
unlikely event.

Maybe this project doesn't cost much or maybe Microsoft sees it as eseential
for their business' future and worth the risk.

~~~
proksoup
The lack of apps for windows mobile is a killer feature it's missing.

I think they have tried other avenues, like incentivizing developers ... but
they are so far behind, what other options could they pursue to solve that
problem?

~~~
hackuser
If you have a product that is highly unlikely to succeed, the solution isn't
to invest money in highly unlikely remedies. If that's your best option (maybe
Microsoft has better ones; I don't know) kill the product.

Also, they could use a VM and give up providing a 'Windowized' interface to
the apps.

------
ck2
If they pull this off though, it guarantees Windows Mobile survival.

~~~
Grazester
No! You could run Android apps in some fashion on Blackberry devices. Is their
survival guaranteed? Not even close. This made no difference

~~~
ck2
Yes but this would add a million apps to Windows Mobile which is really
suffering in that department.

Was it seamless on Blackberry? I doubt it.

Windows Mobile runs on the same hardware as android, it doesn't even need a VM
layer.

~~~
Grazester
Buddy all three platforms mentioned here run on the same arm based Qualcomm
SOC. If by vm layer you are implying that there needs to be any translation
done for differing underlying processor architecture then you are mistaken.

