Anatomy of a CyanogenMod OTA
The CyanogenMod team explains how over-the-air (OTA) updates work and why it can take a lot of time to patch bugs on CM devices.
Starting from an issue with the O-Click not pairing with the CyanogenMod edition of the Oppo N1, community manager Abhisek Devkota explains in a blog post how the team fixed the bug, put it through quality assurance, obtained Google’s approval, and finally rolled out the fix to anxious users.
While the bug required just a “simple fix”, as Abhisek put it, the process of validating and rolling out the fix was lengthy, even with the help of the “incremental OTA” update that the team built into the CM Installer app and the CM Oppo N1. This system allows developers to update just the parts of the software that need changes, saving time and reducing the size of OTA packages.
Code > QA > CTS > OEM > OTA
After the fix was applied to the CM code, the QA team took over to ensure the problem was solved and that no new bugs made it to the build. After the QA green light, the patched build went through Google’s Compatibility Test Suite, which is a set of automatic tests that determine if the build is compatible with the Play Store and offers a quality user experience. Because the test suit takes nine hours to complete and is quite “fickle”, it can take days for a given build to pass CTS. As a reminder, the Oppo N1 was the first CM device to pass the CTS and obtain Google’s official approval to run its package of licensed apps.
After QA and CTS, the OEM (in this case Oppo) and sometime Google need to green light the update, following which the OTA can finally roll out to users. According to Abhisek, the patch took three weeks to move from code to devices, which may seem a lot, until you consider all the complex and time-consuming procedures that need to be completed.
Even so, Abhisek Devkota says that managing support and updates for the Oppo N1 is a challenge that the team “enjoys”. The experience and new skills should come in handy once that pure CM smartphone from OnePlus launches later this year.