Boffins from Columbia University have shown off a tool called “Cider” that runs iOS apps inside Android.
Detailed in this paper (PDF), Cider is complex enough that your correspondent probably can't do much better than to quote the authors' explanation of how it works. So let's get into that:
"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.”
The authors say they adopted this approach because it requires fewer resources than virtualisation, which they feel would have harmed the user experience on mobile devices.
The team behind Cider has also posted a demo of the tool at work.
The authors pitch Cider as an enabler of choice, arguing that Android users miss out on the iTunes ecosystem and Apple users miss out on the chance to access content using Adobe Flash. Cider therefore lets punters buy one gadget and enjoy everything the mobile world has to offer.
It's doubtful Apple will ever see things that way and, should Cider ever pour out into wide use, one imagines Cupertino would find a way to take it off the menu. ®