Cyanogen Inc. have come a long way in the past 18 months. It was barely 18 months ago when the first phone shipped with their OS pre-installed on it (the Oppo N1). Since then they have made waves for many reasons, some of them good. Now they have taken another step forwards in releasing the alpha version of their software development kit.
One of the best things about the CyanogenMod operating system is the added tweaks and features over and above AOSP. These tweaks often complete a tweak that Google began but fell short in their implementation. An example of this is the Quick Settings. Now, with the Cyanogen developer SDK, developers can build their apps with the added functionality of hooking into the Cyanogen APIs already built into the framework. For example, a developer could build in a quick setting tile for toggling a functionality in their app with the tile showing up when the phone is running Cyanogen (or a CyanogenMod build/ROM).
An example of this in use can be seen in the pictures below, which show an app called Bike O’Clock (which was incidentally whipped up in short time during a hackathon) that turns the device running CyanogenMod into a bike computer. The app uses the new sdk and creates a quick settings tile to toggle the app’s recording of your biking.
The Platform SDK is an “open source SDK that allows developers to either use existing APIs newly presented in CyanogenMod’s own framework, or contribute their own APIs to be leveraged by any other application”. At this stage the SDK is launching with the Quick Settings Tile API seeded in and the Cyanogen team are hoping that this inspires other developers to discover new possibilities and APIs that can be added to CyanogenMod.
Before everyone starts commenting that this is Cyanogen attempting to take Android from Google, it is not unusual at all for manufacturers to provide SDKs for developers to hook into the features of their devices. A quick look at the Samsung developer page shows how many are available for just their Galaxy phones. I think that this is Cyanogen maturing as a company and beginning to realise that they are not going to be able to continue to do all their developing of features etc in-house. It is a clever way for Cyanogen to get other developers to add value to their ROM/OS without having to lift a finger themselves. It also presents a unique way for app developers to build power features in to their apps which can hook into the OS.
It is expected to work on both the Cyanogen OS and CyanogenMod without breaking functionality upstream with AOSP. How difficult it will be for plain AOSP ROMs to build this in is unknown but I suspect with it being low level framework code it may not be possible unless the ROMs are CyanogenMod based. If you are interested you can head over to their platform SDK github page and check it out.
Does anyone else see this as a positive or is it yet another negative in the saga of Cyanogen Inc.?