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.
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.
“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,”
What's the tactical strategy behind Astoria being vaporware?
Microsoft's strategy since it's early days is based on vaporware, even Windows 1: https://en.wikipedia.org/wiki/Vaporware
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.
but what is truly impressive from Microsoft is there Xbox 360 Emulation on the Xbox One go check it out you will be surprised
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.
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.
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.
On that note, I'd like to try making a windows phone app. Is there anything sorely missing from the platform?
When Instagram did make a native Windows Phone app, it was feature incomplete and stuck in permanent beta. I don't think they ever released a final version.
Most other top 10 apps never did ports. At the same time, Microsoft was also spending quite extravagantly to get small indie devs making Windows apps through initiatives like "App Campus". Those didn't make a dent either.
Paying their way to a mobile ecosystem was a complete failure for Microsoft. Even with its deficiencies, I'm sad that Windows Bridge for Android ("Project Astoria") is dead. The iOS bridge is nowhere close in practical use. Windows 10 universal apps don't have developer mindshare in the mobile space. Windows 10 Mobile is pretty much dead.
The problem was that "apps" have become the default mobile delivery platform for a lot of things that should be websites, and the creators of those apps always target two platforms: Android and iOS.
So you were just continually left out of the party.
Pizza chain has a mobile app for online ordering? Not on WP.
Smaller-scale sports network or league has a streaming app? Not on WP.
Niche social network? Not on WP.
>Is there anything sorely missing from the platform?
without trolling : the users. It is possible to have some success on the windows mobile platform, but there just isn't a critical mass of users.
Other than that, even though it has its problems (like Android or iOS), it has most of the things you would expect.
HOWEVER! I once met a guy when I was travelling in the UAE, and he built/sold a Twitter app for Palm OS smartphones (their next gen OS they launched some years ago). At the time, he was making close to $40k a month. So there's definitely money on those platforms if you can deliver a good product.
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".
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.
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?
Like Amazon have done.
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-...
Microsoft calls end to Android Nokia X smartphones
Maybe Microsoft's scope was too big?
Had Microsoft taken the approach of running a separate runtime for Android apps instead of trying to map frameworks, they might have something by now.
They would still have to map the semantics of the behavior of an app being foreground or not, connect the clipboard, etc. So it's not like dropping-in a runtime that's meant to be portable, but it's a lot closer.
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.
Maybe this project doesn't cost much or maybe Microsoft sees it as eseential for their business' future and worth the risk.
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?
Also, they could use a VM and give up providing a 'Windowized' interface to the apps.
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.