The developers behind Cyanogen OS and CyanogenMod have just announced a new SDK to allow 3rd party developers to integrate features into the custom ROM.
CyanogenMod has over 9,000 developers contributing to the project all around the world. This is huge and has created some really unique and interesting features for the mobile operating system. The employees behind the custom ROM sponsored a hackathon, called TreeHacks, a few months back that took place in Stanford University. This event was attended by over 500 participants and some even flew in from various countries just to be part of it. The whole point of this hackathon was to encourage students to learn and develop for the platform. They might have over 9,000 contributors but it never hurts to get more.
The team behind Cyanogen said the biggest thing they learned from this hackathon was about the ease of use and accessibility of an SDK. So instead of making developers build something into the entire Cyanogen OS platform, if the team could create an SDK, then the task would be much easier and more approachable for them. Not only does it allow the (sometimes new and learning) developers to focus on a few aspects of an SDK rather than look at the platform as a whole. . .but it also lowers the barrier of entry to get an app or service implemented into the OS. This is really what Google does for application developers to use various aspects of the software and hardware of Android devices.
As soon as the team behind Cyanogen discovered this, they immediately started to work on what would soon become the Platform SDK. The Cyanogen Platform SDK is an open source Software Development Kit that was made for developers to utilize. These developers can use existing APIs that are already built into the Android or CyanogenMod operating system, or they can create their own APIs so that other 3rd party applications can use them. A great example of what this can allow is one of the most recent updates to Action Launcher 3. Chris Lacy created a live wallpaper API that can be used by other developers for their own applications(like various wallpaper applications).
Quick Settings Tile
The Cyanogen Platform SDK is being launched in alpha form and the first API that the Cyanogen team is introducing is the Quick Settings Tile API. This is just the first in a line of new APIs that the Cyanogen team(and developers around the world) will be releasing in the future and the team is using it as an example so that others can start to think of new APIs that could be added into CyanogenMod. The idea is simple and it is something that users and developers alike have been wanting in the core Android OS for years.
You should already know what the Quick Settings panel is. It’s the area of Android that appears when you swipe down from the top of the screen. In KitKat you needed to swipe down from the top and then tap a button to switch to the Quick Settings tiles but in Lollipop it is accessible with two swipes from the top of the screen(or one swipe from the right side of the screen if you are using CyanogenMod and enabled the feature). This is where toggles for things like WiFi, Airplane Mode, the Flashlight and Bluetooth sits. So the idea is simple, say we have an application called Bike O’Clock that turns your CyanogenMod smartphone or tablet into a bike computer.
This application could use the Cyanogen Platform SDK, and the Quick Settings Tile API to inject a new tile into the Quick Settings panel of your smartphone or tablet. This tile, when toggled on and off, will communicate to the Bike O’Clock application and tell it when to start and when to stop recording your bicycling progress. When you want it to start monitoring your progress, simply toggle it on, when you want it to stop monitoring your progress then you can toggle it off. Before, this would be a huge undertaking as the developer would have to inject their code into the Quick Settings panel section of the code but with the Cyanogen Platform SDK, it’s easily accessible with the provided APIs.
Cyanogen OS & CyanogenMod
This Cyanogen Platform SDK and the Quick Settings Tile APIs are available to both Cyanogen OS and CyanogenMod. Since the introduction of Cyanogen OS, I have been worried about new features being exclusive to Cyanogen OS and left out of CyanogenMod but employees have confirmed with me that this is going to be available to both operating systems. The future APIs though, I think this is up for grabs. Cyanogen could end up releasing them for both the closed source and the open source platform or they could add it just to the closed source one. I don’t think anyone knows their plans for the future except for employees and those close to them.
I hope we continue to see the love being spread to both platforms as the OS and custom ROM matures but we’ll have to wait and see how things pan out. What do you think of this new SDK and the potential for all sorts of clever new APIs that developers can create?