How OmniROM Pulled Off Multi-Window
Over the years, we’ve seen a few attempts at multi-window on the Android platform, with varying levels of success. We first saw Cornerstone a few years back, and it was even slated to be integrated into the popular CyanogenMod ROM, but that didn’t go so well. We then saw Samsung’s proprietary implementation, but this only worked with a few whitelisted applications. Although rooted users could modify that whitelist, this wasn’t an ideal solution for people who wanted a truly multi-purpose multi-window solution.
Paranoid Android then took a stab at this with Halo. But while that solution worked beautifully for the supported use-cases, it was a bit limited in terms of what things could be done. Then came OmniROM, and thanks to much work by Senior Recognized Developer Xplodwild and others, a truly versatile multi-window was now available.
What constraints were they facing? For starters, the OmniROM team wanted to make sure that the requisite code changes would be minimal. Aside from lowering complexity and the possibility of things breaking, they wanted to ensure that future updates would be delivered at a fast pace. Furthermore, they wanted to make sure that despite adding this functionality, few apps would face incompatibility issues. Then came the question of how this would be implemented from a UI perspective, and as can be seen in the screenshot to your right, multi-window looked very different in the development stages.
So how did they end up doing it? Grab a cup of coffee or your favorite caffeinated beverage, and head over to the official OmniROM blog to read the whole story.