Imagine a world where you don’t have to choose between Android and iOS. That’s the goal behind Cider, an operating system compatibility architecture developed by computer science students at Columbia University. The project essentially makes iOS apps compatible with Android, regardless of the fact that apps from the two ecoystems are developed in entirely different coding platforms.
“There are lots of great iOS apps that Android users simply cannot run,” wrote Jeremy C. Andrus, a student working on the project, in an email interview. He notes that desktop applications have benefited from running in virtual machines whether you’re on a Mac or a PC, but the mobile sphere doesn’t currently have the same kind of tools.
A team of six students leveraged the fact that both Android and iOS primarily run on ARM-based hardware. “We don’t have to worry so much about coding languages used to write the software because we simply run the binaries from iOS,” said Andrus. He explained how the emulation works:
Blending the two OSes happens through a custom Android app we call the “CiderPress.” This is a standard Android app that receives events such as input, accelerometer, or app lifecycle start/stop notifications, and forwards those to the iOS app. We also convince the iOS app that the standard Android application window given to the CiderPress...is its device screen. This gives the iOS app Android facilities such as screen shots and recent app list entries for free.
The prototype, seen in the video below, runs on the Asus-manufactured Nexus 7 tablet running Android 4.3, with its libraries, services, and configuration files loaded from iOS 5.1. Andrus says that regardless of the OS iterations used, it doesn’t require any particular version of either platform to work.
Andrus added that he hopes the project helps spur more research into bringing cross-platform compatibility in the mobile world. “Mobile computing has become a huge part of our lives, and I think consumers deserve to be able to maximize the technological benefits without having to cart two or more devices around.”