To put it simply, Cider can be used to make iOS apps think that they are still running inside the iPhone. It is an operating system compatibility layer and it allows iOS applications to run on Android devices. The credit for this goes to computer science students of Columbia University.
Sider tricks iOS applications and makes them run on Android. Its quite remarkable because Android runs on the Linux kernel whereas Apple runs on the XNU kernel.
This is what the young team from Columbia University had to say in their research paper:
“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.”
They used different techniques to make the iOS apps run on Android. They tried using many binary compatibility techniques including diplomatic functions, which make domestic libraries available to iOS applications, and allow iOS apps to use an Android device’s hardware and software resources. They also tried compile-time code adaptation to run unmodified iOS code on an Android.
In this video we see a modified Nexus 7 (2012) which is running Cider on the Android operating system. It is able to run both Android and iOS apps, and the Android launcher treats iOS apps like Apple iBooks and Yelp as if they were native Android applications.
Cider does have some limitations though. As of now, iOS applications that depend on features like bluetooth, camera, or GPS have limited to no compatability. Another limitation is that Cider has a bit of lag when running iOS applications. There is still more work to be done on some things but it still looks impressive.
Cider is just a prototype made as a research project. There are no plans for more development on the app but cross-platform compatibility between Android and iOS is of huge interest right now. It is very likely that this could become funded and continue as a fully funded project in the near future.