Stories
Slash Boxes
Comments

SoylentNews is people

posted by martyb on Tuesday December 08 2015, @05:41PM   Printer-friendly
from the emulate-this! dept.

Microsoft may have sidelined its effort to allow Android apps to run unmodified on Windows 10. But Windows users have been able to do this on PCs for over a year at very low cost - thanks to a cunning virtualization project.

DuOS, or AmiDuOS, is an emulator that provides excellent compatibility for Android apps on the desktop. And perhaps unsurprisingly it survived an interesting history of tussles with Google before staking its claim.

[...] If this is the shape of things to come, it poses some intriguing strategic questions for Microsoft. Microsoft risks losing the developer client base that it has been able to take for granted for two decades. Windows has a huge app gap, and is marginal in mobile and tablets. Ideally, Microsoft wants developers to write to a Universal API that is compatible across Windows PCs and ARM-based mobile devices such as tablets and phones. But the apps have already been written, in Java, for Android.

Credit: Posted by RS Wood on comp.misc

Related: Steve Balmer: Use Android to Save Windows Phone


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 5, Insightful) by LoRdTAW on Tuesday December 08 2015, @07:44PM

    by LoRdTAW (3755) on Tuesday December 08 2015, @07:44PM (#273588) Journal

    But the apps have already been written, in Java, for Android.

    Problem is a lot of cross platform frameworks and apps needing high performance (some 3D games) use native code to sidestep the whole Java thing. The idea being is the bulk of the logic code is done is native using C++ and the UI uses Java. This is why I think Androids idea of using a JVM to promote platform independance, e.g. app can run on Android x86, ARM, PPC, MIPS, etc., was a total failure. And let's be honest, in 2008 when Android was first released the write once run anywhere idea behind Java was pretty much a failure.

    If they wanted true cross platform they should have gone the Inferno route and made it wholly impossible to use native code without compiling and statically linking it into the kernel binary. User Space in its entirety should have been virtual, even libraries. Even then, you could use other languages if they could run in your VM. I think Sun got Java working in Inferno on top of Dis alongside the native Limbo language. Im sure other languages such as C#, Python, etc. could also be ran. Though, I think that is more rube goldberg than necessary.

    Android should have been more of a true Linux OS (meaning Unix-like) with a custom GUI, simple package management, and stuck with C/C++, GNU libc and offer the developer their choice of language as long as someone made the bindings. So have fun with C/C++, Java, Python, C# etc. That would have made it more parallel with Linux and development from each OS could spill over into the other benefiting both projects. But no, we get stuck with a crappy tablet OS with an outdated JVM concept.

    Starting Score:    1  point
    Moderation   +3  
       Insightful=3, Total=3
    Extra 'Insightful' Modifier   0  
    Karma-Bonus Modifier   +1  

    Total Score:   5  
  • (Score: 2) by Nerdfest on Tuesday December 08 2015, @08:34PM

    by Nerdfest (80) on Tuesday December 08 2015, @08:34PM (#273607)

    For me, the Java "write once, run anywhere" has worked pretty well, with the same code working on Linux, Android, and IBM lameframe, so it's far from a complete failure. Another than that, yeah, a real Linux mobile OS would be nice. Of course, there's not really that much stopping it from actually being done. With some of the changes to Android lately, it might be a good time as well.

    • (Score: 2) by LoRdTAW on Tuesday December 08 2015, @09:03PM

      by LoRdTAW (3755) on Tuesday December 08 2015, @09:03PM (#273621) Journal

      Do you mean code or the application itself? If you mean code then yea, code is portable. Same could be said about C++ and Python. But an entire application is a whole other thing. Android can't run jar files without an emulator.

    • (Score: 0) by Anonymous Coward on Tuesday December 08 2015, @09:05PM

      by Anonymous Coward on Tuesday December 08 2015, @09:05PM (#273622)

      I have never, not even once, seen a useful java program compiled and run on more than one machine. I have seen a lot of java programs written for midrange and mainframe.

      • (Score: 3, Insightful) by Nerdfest on Tuesday December 08 2015, @10:25PM

        by Nerdfest (80) on Tuesday December 08 2015, @10:25PM (#273663)

        Those jar files that run on a mainframe are almost definitely developed, compiled, and tested on Windows or Linux hardware.

  • (Score: 3, Interesting) by RamiK on Tuesday December 08 2015, @09:48PM

    by RamiK (1813) on Tuesday December 08 2015, @09:48PM (#273649)

    Android should have been more of a true Linux OS...But no, we get stuck with a crappy tablet OS with an outdated JVM concept.

    I was up there with you on the Inferno points right up until you started championing a broken 1970s UNIX kernel design over the broken 1990s Jvm.

    Google did nothing wrong with Android. They set out to write a commercial OS for throwaway cellular phones and they did just that. They never tried to design a good general purpose OS that solves any particular problems other then the market demands for a familiar, free OS that OEMs can use without getting in bed with MS or Apple and newbee programmers can write silly games and GUIs to without any investments in skill-sets others then the ones they already picked up in collage.

    As for what Google could be doing... Well, they can't make EE engineers start using anything but C to write kernel drivers. They can't make coders use anything but Javascript to write GUIs for*. So, the best they can do now is fill-in the gaps by making sure Golang is gluing the two together in a cross-platform, back/front end model. Once there, they could transition a whole user-land across different kernels and systems without upsetting anyone except Microsoft's share holders... But that's a concern for another day ;)

    * Fun trivia: the GUIs in Fallout 4 are written in Actionscript. And they're written in that familiar Javascript quality assurance. Whereby, key-bindings are hard-coded and you can crush the engine by doing certain actions out-of-order or just hitting the buttons too fast. There's even exploits for buying and selling items in a specific order that provide the players with unlimited game currency...

    --
    compiling...
    • (Score: 3, Informative) by LoRdTAW on Wednesday December 09 2015, @12:04AM

      by LoRdTAW (3755) on Wednesday December 09 2015, @12:04AM (#273716) Journal

      I'm sure it was an honest mistake on your part but if you see that I'm advocating Inferno, I damn well know Unix is broken. You are forgiven ;-)

      I was up there with you on the Inferno points right up until you started championing a broken 1970s UNIX kernel design over the broken 1990s Jvm.

      Wait... By saying broken 1970's Unix kernel design, do you mean the POSIX standard/Unix architecture or something else pertaining to the Linux kernel design itself? And the JVM is not a kernel so you can't really compare the two other than they both kinda suck. I'm not calling you ignorant. I'm just missing your point.

      The reason I wished for a GNU/Linux OS was to allow the GNU/Linux & Android projects to be developed in parallel. I suppose my original point was why can't we have our cake and eat it too? Meaning, why can't we have a simple to use phone OS with the underpinnings of a commonly used, hackable OS? Then we can develop applications on a much more common ground with the only difference being CPU arch and GUI. The rest could be standard OSS libs and tools. Running Android apps On linux would be much easier and the two could form a new Desktop/mobile ecosystem(buzzword alert!). I know, I know. Wishful thinking. right? Is it too much to ask for a proper sshfs client or shell for that matter? Unix might suck but we are bloody stuck with it.

      My only wish is Google opens an operating system research laboratory, puts Rob Pike in charge of it and they reexamine the ideas behind Plan 9 and Inferno and make something that will save us from the Apple, MS and Red Hat OS kludges.

      • (Score: 2) by RamiK on Wednesday December 09 2015, @03:23AM

        by RamiK (1813) on Wednesday December 09 2015, @03:23AM (#273774)

        Wait... By saying broken 1970's Unix kernel design, do you mean the POSIX standard/Unix architecture or something else pertaining to the Linux kernel design itself?

        I'm referring to the laundry list of what Plan 9 is that Linux isn't. It's an outdated, broken design and I'm personally not comfortable advocating it over an equally broken design such as the Jvm.

        And the JVM is not a kernel so you can't really compare the two

        As far as I'm concerned, any layer of abstraction aiming at isolating the next layer \ it's users from the previous layer \ hardware is comparable. The Jvm is comparable to the linux kernel since they both manage memory and aim to abstract hardware using their own metaphor. Some programming language could even fit this classification provided their memory management model was designed isolated from the OS rather than a part of it. So, C won't fit since it's runtime largely depends on what the OS and architecture is doing but Go and Java do.

        The reason I wished for a GNU/Linux OS was to allow the GNU/Linux & Android projects to be developed in parallel.

        So, like, Windows 8? Look, we have Qt, Gnome and EFL on linux just to name a few... A dozen more specialty libraries times a dozen more cases. "developed in parallel" would just have meant more libraries not the same libraries.

        My only wish is Google opens an operating system research laboratory, puts Rob Pike in charge of it and they reexamine the ideas behind Plan 9 and Inferno and make something that will save us from the Apple, MS and Red Hat OS kludges.

        Plan 9 was pretty much the end all to be all OS. It's only flaw was the overbearing weight of 9P. It's one thing to decide internally on keeping all your kernel and network interfaces exposed to the user-land in a uniform, network-transparent protocol. But, it's a whole other thing to start weaving it into the user-land to the point your text editor has it's windows and menus mountable in the file system and it was the only way to customize it.

        Sometimes, I dare say, It was nearly as bad as Java: My joke of the day was that I'll need to write a ./ctl/in, a ./out and a ./err in an "hello world" for it to be a proper Plan 9 software :D

        Regardless, Go fits the bills here. It's it's own little OS. Complete with it's own concurrency and memory management. I don't care if my runtime targets hardware or software defined logics nowadays anyhow considering Intel has Micro-controllers embedded in the motherboard and secret magic sauce firmwares ROMs burned right in the CPU.
        Why, even our x86 assembly is broken apart into machine code and not in a 1:1 fashion since there are thousands of possible machine instruction. And later, it's further broken apart into even lower level RISC like microcode... So, Go's on-top of the OS's drivers but still native code seems quite minimal and reasonable when compared to all of that and the Jvm.

        --
        compiling...
        • (Score: 2) by LoRdTAW on Wednesday December 09 2015, @05:44PM

          by LoRdTAW (3755) on Wednesday December 09 2015, @05:44PM (#274025) Journal

          I like your thinking. Believe me, I know we have a software bloat problem. A really big one. My suggesting Linux was merely one of practicality, something that would be taken seriously by the current industry.

          As for plan9, someone needs to make it happen. The only second system that did the inverse of second system effect, it was actually much, much simpler and fixed the broken unix model.

          Ever read up on the styx on a brick project? Really neat stuff right there. 9p really can do it all. Wish my phone exposed its file system via 9p so I can view my pictures via phone/camera/pictures/ instead of the idiotic MTP protocol, another fuking brain dead protocol that masquerades as a storage device but isnt. FFS, How many file protocols do we need? Then my phone connects via USB to my car radio but I can't control the music player unless it's the app that comes with the dumb radio. Why? yet another fucking protocol. Just expose the audio and player controls as files via 9p and your done. At that point everything can be controlled by shell scripts if need be. What is the current song playing: cat phone/musicplayer/playing. Skip to next track: echo next_track > phone/musicplayer/control. Need the audio stream: mediaplayer phone/audio/audio_stream. Want to adjust the 3 band EQ: echo "3, -1, 4" > phone/musicplayer/eq. Want to save the eq setting: cat phone/musicplayer/eq > fav_eq.txt. Bought an IP security camera and want to see the video: vlc ipcamera1/video. And the list of what it can solve goes on and on and on. Might not cover every case. But can certainly cover a vast majority of little day to day things that drive me up the wall needing a plethora of mutually incompatible libraries that need linking and software to use them. The computing world would be a much better place. Sorry for the rant but I'm tired of the shitty software world.