Despite Android's commanding global lead over iOS, developers still flock to Apple's platform first when launching new apps—sometimes exclusively. And while there's no longer a noticeable disparity between ecosystems these days, Android apps typically come out later than their iOS counterparts, which is a frustrating trend given how powerful Android has become. But what if you could run those iOS apps on your Android device? It sounds like a fanboy nightmare, but some enterprising students at Columbia University have worked some Frankenstein magic.
Through an iOS compatibility layer known as Cider, iOS apps are finally able to run on Android hardware—with a catch. Things aren't perfect, and it takes plenty of know-how to even get Cider up and running. As of now, the software is pretty slow, as you can see in the unfortunately shot portrait video, so plenty of work is still ahead. But if the project does become smoother, can you imagine a combination Android-iOS phone? If you could make it happen, and things ran smoothly, which hardware would you pick?
Here is the full description of Cider, per the developers:
Cider is 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 unmodified 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 unmodified 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.
This probably won't make it past the experimental phase, but it's cool to see nonetheless. Who would have thought we'd see the day when the Nexus 7 was running iOS apps? I can already hear the angry fanboy mobs screaming blasphemy, when we should really be applauding the ingenuity on display.