Wednesday, May 14, 2014

Research Project Cider Makes Running iOS Apps on Android Possible

A bunch of PhD students at Columbia University have managed to get iOS apps running on an Android tablet, and they have a video to prove it. The team of computer science students are using an OS compatibility architecture called Cider to accomplish this, which runs multiple binaries on one device, rather than utilizing a traditional virtual machine.


The full abstract from their recently-released research paper:



We present Cider, an operating system compatibility architecture that can run applications built for different mobile ecosystems, iOS or Android, together on the same smartphone or tablet. Cider enhances the domestic operating system, Android, of a device with kernel-managed, per-thread personas to mimic the application binary interface of a foreign operating system, iOS, enabling it to run unmodi?ed foreign binaries.


This is accomplished using a novel combination of binary compatibility techniques including two new mechanisms: compile-time code adaptation, and diplomatic functions. Compile-time code adaptation enables existing unmodi?ed foreign source code to be reused in the domestic kernel, reducing implementation effort required to support multiple binary interfaces for executing domestic and foreign applications.


Diplomatic functions leverage per-thread personas, and allow foreign applications to use domestic libraries to access proprietary software and hardware interfaces. We have built a Cider prototype, and demonstrate that it imposes modest performance overhead and runs unmodi?ed iOS and Android applications together on a Google Nexus tablet running the latest version of Android.


Basically, to achieve this amazing feat, the team had to use many different binary compatibility techniques including diplomatic functions, which enable the iOS apps running on the device to access and interact with Android hardware and software. Check out the team’s official demo video of Cider below:


 



In the video, the team demoes a host of well-known iOS apps running directly on a 2012 model Nexus 7 tablet. Using Cider running on top of the Android OS, apps like Yelp, Apple iBooks, and Apple iTunes Remote all perform fairly well considering they were built to run on a completely different kernel. As you might expect, though, not everything works perfectly; apps that rely on certain hardware such as the camera and GPS won’t work completely.


One of the main goals of this project was to reduce lag and make running iOS apps on Android a feasible and smooth possibility, but Cider still doesn’t work perfectly. Apps still suffer from a decent amount of lag, but probably less than they would if they were being emulated. The research paper says that this is due to an incomplete implementation of OpenGL ES. 


While there aren’t any known plans for Cider to ever be released as a full-fledged product, the team says that it plans to continue development and it’s definitely interesting to see that something like this is possible. You can read the full research paper here: Cider: Native Execution of iOS Apps on Android.


[TheNextWeb]


This post was made using the Auto Blogging Software from WebMagnates.org This line will not appear when posts are made after activating the software to full version.

0 Comment

Post a Comment