When it comes to the custom ROM scene for Android, the one name that instantly comes to mind is CyanogenMod, and for good reason! This is where it all started, or at least where it all got real and big. When Steve Kondik (Cyanogen) started the project just to improve Android for himself and share the fruits of his labor with other users of the platform, he didn’t have the remotest of clues that it would one day get to this magnitude. Today, it’s undoubtedly THE biggest third-party Android customization project in the world, with support for hundreds of devices and counting, both in form of official ROMs and unofficial ports by third-party developers. Join us as we take an in-depth look at CyanogenMod 10.1 and all the features it offers that make it one of the best custom Android ROMs around.
Look and Feel
One of the key philosophies behind CyanogenMod is to focus on functionality rather than design, and that’s been a great thing since ICS when Android’s design got revamped to what it is now. That’s why on the surface, CyanogenMod 10.1 may look just like pure vanilla Android, and for good reason, since it is based on pure vanilla Android, meaning you wouldn’t find even the slightest traces of HTC Sense, Samsung TouchWiz, MOTOBLUR or any such manufacturer-customized version of Android in it, as you can see below in the home screen and the app drawer of CyanogenMod 10.1.
That said, there are a plethora of changes under the hood that set it apart from plain vanilla Android. The launcher itself may look like that of stock Android, but it’s actually CyanogenMod’s own custom version called Trebuchet. If you try dragging an icon somewhere, you’ll start seeing the extra options it offers, and that’s just the start.
As you can see above, you can not only remove the icon, but also edit it. Furthermore, CyanogenMod ships with a collection of wallpapers of its own (CM Wallpapers), in addition to Android’s default ones.
You must have noticed a few extra apps in the app drawer screenshot above. None of them have been added from the Play Store (that screenshot was taken immediately after installing the ROM), but rather ship with CyanogenMod itself. They include a media player, a file browser and a terminal emulator. The former two are CyanogenMod-exclusive while the terminal emulator is same as the Android Terminal Emulator app available on Play Store.
Also, while the messaging app may look exactly like the stock one, it is in fact heavily modified to deliver a much more powerful and customizable experience. Lastly, you’ll notice an icon for Sound Recorder in the app drawer. It is actually a system app that comes as a part of Android itself, it is hidden from the app drawer by default and is accessible as a recording feature within other components of the OS; CyanogenMod adds an icon for it to provide users direct access to it.
We have already written about CyanogenMod’s music player, file browser and messaging apps. You can learn more about them in our detailed reviews at the links below.
The inclusion of a media player and a file manager ensures that if you choose not to rely on Google’s ecosystem or just want to use the ROM on a device that you want to keep offline, you already start off with all the basic apps that you’re going to need.
There is also a DSP Manager app here, as well as the cLock app that doesn’t show up in the app drawer but can be seen as a widget right on the home screen as well as the lock screen, but we’ll be taking a look at both these in the Settings section, as they are both configurable from there.
CyanogenMod 10.1 Settings
What makes CyanogenMod truly powerful is the plethora of additional settings it offers for customizing the ROM and having a more complete control over Android’s features. All these settings can be found within the default Settings app, laid out in the same settings interface that you’re already familiar with. Let’s take a more detailed look at them in the order they appear. Note that we’ll only be reviewing the settings that have been added by CyanogenMod, and will therefore skip the unmodified sections.
For most part, the ‘Wireless & Networks’ section of the Settings remains close to stock, though you’ll notice one new option under the ‘More…’ option by the name of Cell Broadcasts. This basically lets you choose which cell broadcast messages you want to receive, and opt out of the ones you don’t want to bother you. These include alerts for extreme and severe threats, AMBER alerts, ETWS (Earthquake Tsuname Warning System) alerts and CMAS (Commercial Mobile Alert System) broadcasts. In addition to opting out of them, you can also choose change alert settings such as notifications, sound, vibration, sound duration, text-to-speech for speaking out alerts, and showing opt-out dialog after displaying the first CMAS alerts to be able to easily disable them (other than presidential alerts).
The next bunch of options are in the ‘Interface’ section of the Settings, and all relate to how you can change the user interface components of the ROM, add and modify different controls and toggles to quickly access your most used options, and overall enhance your user experience.
As mentioned above, CyanogenMod ships with Trebuchet as its home screen launcher, which looks identical to the stock Android launcher but is way more customizable, and this is where you can tweak it to your liking.
The General section is the most brief, so let’s start with that. Many Android users complain about the lack of landscape mode for their home screen. Trebuchet takes care of that by adding support for landscape mode and auto rotation, which you can enable here. And if you have just customized your home screen to your liking and fear messing it up by mistake, you can set everything to stay locked in place. You can also hide the status bar to extend the home screen further, though we’d suggest you read on and see what else is in store for you in the full screen department, and you’ll forget about this option altogether!
In the Home Screen section, you can tweak a lot of options pertaining to the way things are displayed on your home screens. Each option comes with a description to make sure you don’t feel lost.
Similarly, the Drawer section lets you customize how apps are displayed in your Apps and widgets drawer. You can choose between transition effects, join the sections together and even hide apps selectively.
Lastly, you can customize the dock by changing the number of apps it displays, adding more pages to it that you can then access by swiping on it sideways just like the home screens, and more.
CyanogenMod’s lock screen comes with a bunch of additional features, and the first one that you’ll notice is multiple shortcuts to directly launch the apps of your choice.
What’s more – these shortcuts are fully customizable! Just hit ‘Slider shortcuts’ under Lock screen, and you’ll be able to easily assign a different one to each slot and even select a custom icon for it.
In addition to these shortcuts, you can choose your lock screen security type, and tweak several options for the selected one such as making the pattern visible, choosing a 4×4, 5×5 or even 6×6 pattern in addition to the default 3×3 one, toggle visibility for pattern, errors and dots, and set separate custom delays for automatic screen lock after timeout and manual screen off, etc.
If you’re finding things to be a but too dull and completely stock so far in terms of looks, your patience is about to be rewarded. CyanogenMod ships with a powerful theme engine that can change the look of the entire UI based on the theme you choose. Some themes may change just the app icons on your home screens and in the app drawer, some change how the menus look, some apply to widgets as well, and then there are those that change pretty much everything. We like Android’s own stock looks but are big fans of transparency, and the awesome HOLO GLASS theme lets us apply that to the stock settings app as well as many other components of the OS, as you can see in the screenshots below.
Although no extra themes are shipped with CM by default, you can find countless options available in both free and paid variants on Google Play, XDA-Developers and many other Android modding communities – just Google for it and you’ll more options at your disposal than you’ll know what to do with. Before we move on to the next section, here’s how HOLO GLASS has changed our Dialer and Messaging apps. The background is actually our desktop wallpaper, not just a static background applied to these apps.
This is perhaps the most extensively customizable section of the entire ROM. Here, you can tweak major UI components such as the status bar, the quick settings panel, the notification drawer, the power menu and the navigation bar as well as toggle the expanded desktop (full screen) mode and Pie controls (yes, CyanogenMod 10.1 includes Paranoid Android’s famous controls), and customize LED notifications.
When it comes to the status bar, you can show/hide the clock as well as choose AM/PM display, and change the battery and signal icon styles from several available options. You can even set the status bar itself as a brightness control slider that will change brightness as you swipe your finger along it.
Quick Settings panel
Starting with Jelly Bean, Android ships with a section in the notification pull-down that acts as a quick settings panel. CyanogenMod basically supercharges it, letting you customize it to your liking.
You can add, remove and reposition toggles, and also specify how some of them behave. There are plenty of options available to add, pretty much for every feature you’d want. We have customized ours to add the features we need to quickly access most often, as you can see in the second screenshot below.
For quick and convenient access, you can even set this panel to always appear by default when you swipe down from the edge of your choice (left or right) on the status bar.
If you don’t fancy the above controls and would rather have a small list of toggles right in the regular notification shade, the Power widget can do just that for you.
You can select what buttons display in it, specify their order, and tweak some appearance & behavior settings for the widget.
Want to utilize your screen real estate to the fullest? Why not get rid of the status bar as well as the navigation bar? Just choose whether you’d want the status bar to remain visible or not in this mode, and you’ll then be able to go full-screen by selecting the option from the power button’s long-press menu.
Here is how the home screen and your apps will appear while expanded desktop is enabled. As you can see, I have set the status bar to be hidden in the first one and visible in the second one, while the navigation bar is hidden in both in this mode.
In case you thinking how to go about navigating between your apps and home screens while in full screen mode, that can also be taken care of with Pie navigation controls. This option can be found at the very end of the System section but we have briefly jumped to it early on because it is most relevant to the full-screen mode, as you’re about to see.
When enabled, Pie controls bring up navigation buttons as well as status bar info when you swipe from an edge of the screen. You can customize the size of the controls as well as choose the screen edge along which they are displayed. To use them, simply swipe inward from the selected edge, keeping your finger on the screen and bringing it to the button that you want to use, before releasing it.
Now let’s resume in the order and take a look at the option after Expanded desktop.
When you long-press the power key, you get more options in CyanogenMod than in stock Android, as you must have noticed in the screenshot shown in the Expanded desktop section above. A great thing about these options is that you can choose the ones you want to be displayed in the menu.
In the second screenshot, we have stripped down the power menu to the bare essentials, removing all the additional options except for ‘Reboot’ from it to get back to basics.
CyanogenMod ships with a clock widget of its own called cLock that works on both the home screen and the lock screen. It’s the same widget that you have seen on the home screen and lock screen images above. In addition to the time and date, it is capable of displaying weather conditions (from Yahoo! Weather) as well as your calendar events, and all this information is customizable from here.
For the clock, you can choose between analog and digital items, toggle the display of any alarms that you have set, and customize the clock’s display colors and font.
When it comes to weather conditions, you can toggle them on/off, choose weather source, set a custom location if you want (it uses your current location by default), and tweak several visual aspects of the weather display. For your calendar events, you can specify what calendars to display events from, how far into the future to look, what types of events to show and hide and what information to display for each event, along with visual tweaks for how the events are displayed. The settings will apply to the widget on both your home screen and lock screen.
Notification light & Battery light
These two sections let you specify how you want your phone’s notification LED to behave. Under notification light, you can set the default notification color, as well as choose it for missed calls and voicemail. In addition, you can add any of your installed apps to the list and specify custom colors for their notifications as well, so that you’ll get the idea of which app you have received a notification from by just glancing at your phone, even if its screen is off.
Similarly, the battery light section lets you toggle the LED notification for your battery status and choose colors for low, charging and charged states, as well as set it to pulse if the battery is low.
Buttons and layout (Navigation bar)
If you’re using a device that ships without hardware front buttons and instead uses the capacitive navigation bar, you can customize its buttons from this section. It is possible to add more buttons to the list from the available options, change their shortcuts (not possible for the home button) or rearrange their order (for the central buttons only). You can see the results in the second screenshot below.
Quick launch shortcuts
Just the way CyanogenMod offers you extra options for the unlock ring on the lock screen, you can similarly customize the Google Now ring that comes up when you swipe up from the bottom edge.
All you have to do is drag the dotted circle and you’ll be able to see a new slot on each side of the default Google Now one. Drag over to it, and you’ll be able to set an action for it from a long list of available options ranging from toggles for torch and ringer modes to taking a screenshot and killing the currently active app, just to name a few. The screenshots above displays the customized ring in action.
Phew, that concludes the System section of CM settings, but if you were thinking that’s all there is to this ROM’s customizations, think again! There’s plenty more, so let’s get straight to it.
To what extent can one customize sounds of an Android device, you ask? Just take a look at the Sounds section of CM settings – it spans three screens, and that’s excluding any sub-sections! As you can see below, there are options for everything ranging from volume controls, ring mode and volume panel style to music effects, quiet hours, ringtone choice, system sound toggles, headset-related tweaks and more!
As you can see above, it’s hard to think of a sound-related option that hasn’t been considered here. All options available here are self-explanatory, as you can see in case of the volume panel style below.
This section houses two great features namely Quiet hours and Music effects (DSP Manager). Let’s take a more detailed look at each of them.
The Quiet hours feature is pretty awesome; it lets you specify times when you don’t want to be disturbed, and even lets you choose the type of alerts you want to disable for notifications during these hours, including sound, haptic feedback, vibrations and notification LED.
Music effects (DSP Manager)
Remember the app icon for DSP Manager that we mentioned when taking a look at the CyanogenMod apps? It is a killer app that can tweak the sound output of your device in a way that you’ll find it hard to believe your ears!
You can enable features such as bass boost, dynamic range compression and a full graphic equalizer separately for your phone’s speaker, wired earphones and Bluetooth headsets.There are several equalizer presets available, and you can choose the strength level for any effects you apply.
Unlike the ‘Sound’ section, you wouldn’t see a plethora of options under Display, but that’s because the UI tweaks have already been covered to the extreme in the earlier sections and there’s little to do with the display beyond that. However, CM still manages to squeeze an extra option in here in form of customizable auto-rotate settings.
In addition to the default on/off, you can now specify the angles your device can rotate to, and even set the volume buttons to automatically swap when in landscape mode (volume-up becomes volume-down and vice versa) that can be more optimal on some devices (depending on the volume button position).
CyanogenMod 10.1 ships with a powerful profile system that allows you to set how your device behaves when different profiles are active. You can switch to a profile from the power menu (by long-pressing the power button) and then tapping Profile. Your currently active profile name is shown there by default.
These profiles aren’t limited to merely choosing the volume levels or screen brightness levels – you can specify settings ranging from features like mobile data, Bluetooth, GPS, Wi-Fi, syncing and hotspot mode to individual volume levels for alarms, media, ringtones and notifications, and choose your desired ringing and lock screen modes for each profile.
Not only that, but you can also manage how different applications behave for each profile, which is made easy with application groups.
You can create as many new profiles as you want, or edit the existing ones to your liking. Similarly, you can add or remove apps to the existing groups, or create new groups of your own, and specify settings you’d want for them for each profile under that profile.
As an example, you can have one profile where everything is silent except for incoming calls, and all app notifications are also silenced other than for an app group you’ve created by the name of VoIP, in which you have Viber, Tango and Skype etc. Or you could have a profile in which only notifications from your social media apps are ignored – whatever your requirements, you can create a profile tailored for them.
CyanogenMod offers enhanced security options for your lock screen, some of which we have looked at earlier in the Lock screen customization section. Under the Screen lock section in Security, you get more flexibility in certain options, specifically when it comes to the pattern lock. In addition to the regular 3×3, you can also set up to a 6×6 pattern for added security.
Also, you’ll notice a new option at the end of the Security section labeled SMS message limit. It lets you define how many messages can an app automatically send within a set time interval before it is deemed as suspicious activity and requires confirmation from you for any additional texts.
Other than these, this section offers pretty much the same options as stock Android.
Language & input
You’ll see mostly standard options over here as well, with the exception of two new ones: a Selector notification toggle, and Volume key cursor control.
In case have multiple input methods (like keyboards) installed, enabling Selector notifications will show you a persistent notification for selecting the input method to use whenever an input field is active. The volume key cursor control option, on the other hand, lets you control the on-screen cursor – where present – using the device’s volume keys.
Being Android 4.2,*-based, CyanogenMod 10.1 comes with the Developer options section hidden by default, so you’ll need to unhide it before you can tinker with the settings there. You’ll see a few options added by CyanogenMod here as well, in addition to the standard options found in stock Android. You can toggle the advanced reboot menu from here that lets you directly reboot into bootloader or recovery, in addition to the normal rebooting.
The Launch Tools section here is meant to provide developers with quick access to several tools that can come handy when developing or debugging their apps. These include a vast range of tools such as Accounts Tester, Bad Behavior, Cache Abuser, Configuration, Connectivity, GTalk Service Monitor, Holo Spiral, Instrumentation, Media Provider, Package Browser, Pointer Location, Running processes, Sync Tester and Water (Live wallpaper).
Getting back to the main Developer options menu, you can also choose the root access level between apps only, ADB only, both apps & ADB, or none, toggle displaying the USB debugging notification icon while debugging mode is enabled, and enter hostname of your choice for identification in ADB mode.
Lastly, by scrolling all the way to the bottom, you can set the back button to kill the currently active app upon long-press, in order to quickly terminate misbehaving apps.
Pretty much every custom ROM comes already rooted, and CyanogenMod is no exception. Though instead of the conventional Superuser app by ChainsDD or SuperSU app by Chainfire, CyanogenMod 10.1 comes with root management functionality built into the ROM’s settings interface itself, in form of Superuser by Koush (the guy behind ClockworkMod recovery and a senior CM developer). It works just like you’d expect – asking you for root permissions whenever an app requests them, and showing you a list of apps that you have granted or denied permissions.
From the list, you can tap an app’s entry to see its root permissions and make Superuser forget the remembered setting in case you want to change its access, which you can then do when prompted upon launching it next. In addition, you can see a log of all root access elevation attempts made by apps, and whether they were allowed or denied.
From Superuser’s settings, you can set if superuser access should be restricted to apps, ADB or both, toggle a setting that would show superuser requests from only those apps that declare that they require root access, choose the default automatic response to these requests, add a PIN protection so that no one else can grant apps root access, choose a timeout interval of your choice, toggle logging and tweak notification settings for the toasts that appear when apps are granted or denied superuser access.
If you’ve ever overclocked your Android device, you’re likely familiar with the SetCPU app. While many other ROMs would require you to use that or some other similar app to make the best of your custom kernel, CyanogenMod has everything taken care of in this department as well. Under ‘Performance’, you’ll find all the options you’ll ever need to tweak your processor, I/O scheduler and memory management exactly the way you want. You can also enable 16-bit transparency and choose a color dithering method of your choice for improving the graphics output.
For the processor, you can choose your CPU governor and set the minimum as well as maximum CPU frequency of your choice, though the options shown for these will depend on the kernel that you have installed. For our Nexus 4, the default CyanogenMod kernel provided a bunch of CPU governors and frequency options to choose from.
You can similarly choose your I/O scheduler, and zRam size. There are a few additional options available as well, like allowing purging of bitmap assets when freeing up RAM and setting your chosen CPU & I/O scheduler settings to apply each time you reboot your device.
Found under ‘About phone’, this section is basically what OTA updates are to stock ROMs. Every time a new version of CyanogenMod is out, you will be notified of it, and can download it from here. You can choose how frequently should the ROM check for updates.
You can specify whether you want updates for the stable version only, or for pre-release versions (nightlies and release candidates etc.) as well. Your selected update will then be downloaded and applied via recovery.
This sums up our extensive tour of CyanogenMod 10.1, and we’ve tried our best to make sure no feature of the ROM was left out. So, do you use CyanogenMod as your daily driver, or prefer some other ROM? What are your primary reasons for using it (or not using it)? Which CM feature do you like best? Don’t forget to let us know by leaving a comment and joining the discussion below.