Slashdot Mirror


Microsoft's Plan To Port Android Apps To Windows Proves Too Complex (networkworld.com)

An anonymous reader writes: The Astoria project at Microsoft has 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. Rather than "failed," The Next Web reports that for now the project may have only been delayed.

10 of 131 comments (clear)

  1. TFS is oversensational? Say it ain't so! by halivar · · Score: 3, Funny

    But kudos for pointing it out.

  2. Honestly ... by gstoddart · · Score: 4, Insightful

    Honestly now ... did anybody believe this could be achieved? I'm pretty sure lots of people looked at this and thought "yeah, right, never gonna happen".

    This is why people have been maintaining cross-platform libraries to solve this problem -- because it's a huge and difficult problem.

    Automagically converting apps from Android to use all the Windows stuff? That always sounded like a pipe dream. They'd be better off writing something like a reverse Mime to allow native Android apps to run on Windows.

    I am not in the least shocked Microsoft isn't going to create the magic path to putting Android apps on Windows phones. And, honestly, I'm not sure the Android users ever expected to care about this, this was all about trying to lure people to Microsoft's platform.

    As usual, Microsoft can only see the world through their own lens, and have yet to demonstrate they know what people are actually looking for.

    --
    Lost at C:>. Found at C.
    1. Re:Honestly ... by Anonymous Coward · · Score: 4, Interesting

      Of course it can be achieved!

      Ever heard of Jolla? They are a small Smartphone manufacturer created by former Nokia employees who were let go when Microsoft bought up the phone activities of Nokia.
      => jolla.com

      Ever heard of sailfish? It is an operating system based on Linux and Qt, with its origins in the next Linux OS developed by Nokia. It was suppose to replace the OS running on the N900 (which used GTK for the UI). That was before that smart guy Stephen Elop became CEO, if you know what I mean...
      => sailfishos.org

      So what, you ask? Jolla runs sailfish and sailfish contains an Android runtime (VM + glue code + libraries).

      In a sense, I just love the irony of the situation!

  3. Port? Really? by Anonymous Coward · · Score: 3, Funny

    I thought all Android apps were just written in Java, you know, that language that is supposed to compile and run on any platform?

    1. Re:Port? Really? by oakgrove · · Score: 4, Funny

      Your knowledge and experience is truly a credit to the Slashdot community and part of what makes this site so great.

      --
      The soylentnews experiment has been a dismal failure.
    2. Re:Port? Really? by abies · · Score: 4, Informative

      I think that you are confused about java-the-language, java-the-standard-library and java-the-platform. Android is java only as far as first one is concerned. And I don't think that this is giving any troubles with possible porting.

      Basic subset of C is quite portable, isn't it? Then according to your logic, game written for Xwindows+opengl should work against MSWindows+DirectX without any issues...

  4. "just" an implementation of what Android/Google by raymorris · · Score: 3, Insightful

    The Android API is some thousands of functions. Android and Google already implemented that API on top of Linux . I don't see any fundamental reason that a company with Microsoft's resources -couldn't- implement the same API as follows:

    Android.textbox.Draw(blah, x, y) {
            Winforms.textbox.Draw(x, y, blah);
    }

    Sure there are thousands of functions, but Microsoft can put hundreds or thousands of programmers to it. It's not an easy task, but mostly it seems -big-, lots of functions, not necessarily anything all -that- complicated.

    Looking at it another way, not only did Android and Google implement the Android API, Google also re-implemented the Java API from scratch, while the Mono project and Wine have re-implemented the Microsoft APIs. Given that they've done that, I don't see how it would be impossible for Microsoft re-implement the Android API, mostly with simple stub functions which call the corresponding Windows function.

    1. Re:"just" an implementation of what Android/Google by TheRaven64 · · Score: 3, Insightful

      It's really easy to reimplement it in that way if you want to - you can reuse all of the AOSP code directly and just plug in your own back ends for OpenGL, Skia, and so on. The problem is that you'll now have an Android app running on a Windows phone, looking and behaving like an Android app. If you've ever tried to use WINE for anything other than games (which try not to use the platform-native UI, as it breaks immersion) on OS X then you'll know how badly that sucks. You won't have an app that integrates nicely with the underlying system services (even things like copy and paste won't work correctly) and you'll have UI patterns that don't quite fit and feel weird and wrong, and a load of frustrated users. Even UI ports where a human is involved are very hard. Automated ones suck - remember Java's AWT?

      --
      I am TheRaven on Soylent News
    2. Re:"just" an implementation of what Android/Google by beelsebob · · Score: 4, Informative

      The Android API is some thousands of functions. Android and Google already implemented that API on top of Linux . I don't see any fundamental reason that a company with Microsoft's resources -couldn't- implement the same API as follows:

      Android.textbox.Draw(blah, x, y) {
                      Winforms.textbox.Draw(x, y, blah);
      }

      Simple... Android.textbox.Draw, and Winforms.textbox.Draw usually don't have the exact same semantics. In fact, usually the APIs are structurally different. Often there simply isn't analagous functionality on one or other platform.

      Furthermore, even if you somehow magically managed to make all of that work out properly, you'd still be stuck with a bunch of functionality that's subtly different. The behaviour of the controls is subtly different, and that can make or break the functionality of an application.

  5. Re:GenyMotion by fhage · · Score: 4, Insightful

    All they have to do is license GenyMotion.

    It's meant for Android developers, but could work for this with a new skin. It runs X86 Android in VirtualBox So, you build your project for X86.

    Microsoft would never do this because It's not in their interest to build something which connects a customer to Google's services.

    They want to replace the entire Google cloud services infrastructure with Microsoft services.