Sunday, December 21, 2014

CyanogenMod, A new dimension to Android phones

CyanogenMod (pronounced /saɪ.'æn.oʊ.dʒɛn.mɒd/) is an enhanced open source firmware distribution forsmartphones and tablet computers based on the Androidmobile operating system. It offers features and options not found in the official firmware distributed by vendors of these devices.

Features supported by CyanogenMod include nativetheming support, FLAC audio codec support, a largeAccess Point Name list, an OpenVPN client, an enhanced reboot menu, support for Wi-Fi, Bluetooth, and USBtethering, CPU overclocking and other performance enhancements, soft buttons and other "tablet tweaks", toggles in the notification pull-down (such as wi-fi,Bluetooth and GPS), app permissions management, as well as other interface enhancements. CyanogenMod does not contain spyware or bloatware. In many cases, CyanogenMod may increase performance and reliability compared with official firmware releases.

CyanogenMod is developed as free and open source software based on the official releases of Android byGoogle, with added original and third-party code.

Read more about CyanogenMod, including its developmentand version history, at its Wikipedia entry.

What's a "firmware", anyway?

Okay, here's a little history:

In the past, many simple appliances and electronics-- everything ranging from advanced toasters to microwaves to industrial machines ran on "embedded", limited-purpose computer chips (micro-controllers and such) to control their operations and user interfaces. Those embedded systems would require miniature, specialized software to, say, let someone program the VCR or to receive input from a remote control to change a TV's channel.

Traditionally, this software would be written on small-capacity memory chips, usually to be written once during manufacturing and never upgraded during the life of the product. This embedded software was known as "firmware" (halfway between software and hardware), and it still exists on many electronic products, containing the programming/logic stuff that makes much of the electronic gizmos you own work. Sometimes this firmware can be updated and new functions or bug fixes may be added. For something like a refrigerator or microwave, updating the firmware is usually a torturous process, and for most electronic things, it isn't necessary.

In the case of Android phones and tablets, as well as iOS devices-- despite the fact that they may appear simply to be a phone that can run apps, what you actually have in your hand is a full-fledged, general-purpose computer. So while in the past, the "firmware" was just the simple software to make a mobile phone work, the name "firmware" has stuck to describe the software you load onto your phone, much like you'd load any operating system onto a computer.

So to be clear-- today, your Android devices are in fact very similar to your laptop and desktop computers. Because they are now based on so-called SoCs, or "system on a chip"s, modern Android devices are effectively tiny, low-power laptops, only with touch screens instead of keyboards. CyanogenMod, based on Android, is a full-fledged operating system, just like Windows, OS X, or Linux are on laptop computers. In fact, Android runs on a version of the Linux kernel, and you can even run a full Linux desktop on many Android devices just as you would on a regular laptop.

The term "firmware", then, is just a legacy terminology to refer to the software you put on your handheld devices. But speaking realistically, you may as well think of it as "software, particularly an operating system and apps, that can be put on my device."

Hope that helps.

But wait-- is the right term "ROM" or "firmware" or what?

The term "ROM" has multiple definitions. Technically, ROM stands for Read-Only Memory, which means you cannot write to it; it is read-only, like a DVD.

Device manufacturers traditionally referred to a cell phone's included operating system as "ROMs" because they did notintend for you, the user, to replace it. And so, modders would use "ROM" as a shorthand for "ROM image" to describe what it was they were replacing. So today the files that you put in the system partition are also referred to as a ROM sometimes. You'll hear people say "flashing a ROM".

Whether you call CyanogenMod a "ROM" or a "firmware" or an "operating system" or a "distribution", it all means in this case the same thing. The ambiguous terminology is just the result of a decade-long transition from simple, non-replaceable software on hand-held devices to full-fledged, updatable operating systems on a small, portable computers that fits in the palm of your hand.

And what about the "open-source" part? What's that mean, and more importantly, why should I care?

Generally speaking, most programs (and even entire operating systems) are written from source code, a human-readable set of instructions that are compiled (or "built") into files that your computer (or in this case, your phone or tablet) can understand and run. In the case of operating systems such as MacOS X and Windows, many of the instructions that become the operating system are kept hidden from the public. With Android, this code is made public and are licensed in such a way that anyone can reuse the code if they like.

One major advantage to having an open-source-based operating system is that many people can scrutinize the source code, looking for bugs ranging from security holes to inefficiencies to missing features and pass fixes and features and translations into new languages back to be incorporated into the next version. CyanogenMod tries to build a new, fresh "nightly" version every 24 hours for each of the devices it supports, which includes the most up-to-date changes to the source code, provided from all over the Internet. Of course, the nightly builds may also contain newly-introduced bugs, but hey- if you feel adventurous, you can help make CyanogenMod better by trying these experimental builds and reporting back bugs to the developers.

So what is the difference between Android and CyanogenMod?

About 1-2 times a year, the vanilla Android operating system (known as AOSP, or the Android Open Source Project) is internally developed, then released to the public, by Google. They provide the source code to anyone who wants to download it. The CyanogenMod community, comprised mostly of unpaid volunteers and enthusiasts from around the world, takes this newest Android code and "ports" it to dozens of new and older (aka "legacy") devices. At the same time, other CyanogenMod developers start adding features, fixes, and improvements that Google didn't include to the CyanogenMod code, which benefits all the devices. The CyanogenMod community has a whole infrastructure for people to build and test experimental versions, report bugs, and contribute back to the source code.

Sometimes features that started in CyanogenMod have appeared in newer version of "official" Android. And every time Android does a new "code dump" of their latest version, CyanogenMod benefits from Google's changes.

In this way, CyanogenMod is one (but not the only) community distribution of what started as vanilla AOSP. The Android community is vibrant, with numerous "modders" and "themers" and "performance enhancers" taking the source code and doing incredible things to it. Generally, there is a spirit of sharing knowledge and empowering people to experiment with controlling their devices, often giving old phones new life, and hopefully having fun in the process.

What does it all mean to me?

CM is an alternative operating system intended to replace the one pre-installed on your smart phones and tablets. If you've got an older device that isn't getting updates anymore, or if your device seems unusually slow, or maybe you're sick of spyware, adware, and other unwanted garbage on your phone that you can't remove... Maybe your device is missing features or has been otherwise artificially limited in functionality. Perhaps you just could use a boost in performance... Or maybe you'd like to be more confident that your operating system has included some of the latest bug fixes...

Should I modify ("mod") my device?

When making the decision on whether or not to modify the software on your device, several factors come into play. Your Android device is pretty much a full computer (and if it's a phone it has additional mobile functions), so it may help to think of it in the same way as you would consider modifying your laptop or desktop computer from its stock installation.

Pros

Common reasons to modify your device's operating system include:

Remove unwanted programs ("bloatware") installed by your carrierReceive more frequent security updatesHave access to the current version of Android - most carriers take months to update devices on their network to the latest version of Android, if ever. Taking control of your OS allows you to update regularly, when you feel like it's time.Better performanceExtra features

Cons

Common concerns include the following:

Some device manufacturers or mobile providers may offer a limited or voided warranty after modifyingIt is possible that by installing a rooted operating system, you introduce new security risks. For instance, you need to be smart about the permissions you grant applications.Non-stock firmware could contain malicious code - which is a good argument for making sure you download custom ROMs from trusted sources, or even better, learn to build it yourself!Stability issues may arise when using an experimental operating system. However, for many people, CyanogenMod has proven to be more stable than manyofficial ROMs.

Other Discussions/Articles

To read more about the pros and cons of rooting and installing custom roms, check out this article from Android Authority. For a good overview of CyanogenMod specifically, check out this article from Addictive Tips.

Why use CyanogenMod?

What's a list of 'why' without some compelling reasons to entice you?

The core ideas are the same throughout our releases:

SecureLight footprintBloat-freeCustomizableOpen

This translates into an abundance of features that let you truly own your phone.

Feature List

CM Updater: Never miss an update! Our updater not only lets you have the latest releases, but you can update on your own schedule.

 

Privacy Guard: Control what your applications can learn about you and your contacts. Protect yourself with a simple click, or long press an app to delve deep.

Global Blacklist: Baked right into the OS is the ability to flag telemarketers, robo-callers, annoying people (yes even the in-laws) and blacklist them. Never receive another call or message from them (or maybe just ignore them for a little bit).

 

Quick Setting Ribbon: Embed quick toggles (and even your camera) right in your notification drawer, just one swipe away.

Quick Settings Config: Whether using the ribbon view or the larger grid view, customize the layout and order of your quick settings.

 

Theme: With the integrated theme engine, you can change the look and feel of the entire OS. Sports fan? Why not get a sports theme for your favorite team. Or maybe you just need a lighter overall look. Or red, green, or yellow. Endless possibilities!

Trebuchet: Not only does our custom launcher 'Trebuchet' allow for customizing the layout of the homescreen, it's backed by a comprehensive, built from the ground-up theme engine. With custom theme packs, you can take your customization to a whole new level, altering window styles, icons, fonts, wallpaper, the lock screen, boot animations, and sounds!

 

Status Bar Behavior: Customize your status bar and unlock some additional behavior. Tap the time to quickly set an alarm or tap the date to access your calendar. Show or hide as much as you'd like.

CM Account: We built a secure, encrypted and optional account service right in. Get remote find and wipe capabilities (for free) so even if you lose your device, you still have some control.

 

CM File Manager: Organize, edit, and manage your files with this simple, yet powerful file manager.

Display and Lights: Control brightness, rotation, wallpapers, remote displays, notification lights, and battery lights. You decide what suits your tastes.

 

Profiles: Our lives are always subject to context - what's appropriate at home may not be at work. So why aren't our devices? With profiles you can control application, sounds and even connectivity to quickly adapt to the environment in which you are using your phone. Go one step further and set up a profile to be location aware, or use NFC to trigger a profile change.

Button Configuration: Enable additional functionality from your hardware keys, or even remap them altogether. Your choice.

 

Navbar: Why stop at hardware buttons? Customize the software navigation bar to your liking as well.

Lockscreen: Add quick unlock targets to access your favorite apps directly from the lockscreen. Use our custom lockscreen widget to increase your productivity. Show the weather and your calendar events without unlocking the device. Optionally display battery status or even your name and ICE information.

 

DSP Manager: For you audiophiles, unlock the potential of your headphones by tuning your music with our built in equalizer.

Tethering: Share your device's data connection with your PC, tablets, friends and families with built in tethering over USB, WiFi and Bluetooth.

 

Developer Tools: We add a bit more for developers as well. Customize your device hostname; go wireless and use ADB over your network.

Root Access: Useful to developers and users alike, control your exposure to root applications and debugging tools.

 

Superuser: Manage root access to only the applications you trust, check access logs, and revoke their access when you are done.

Performance Options: Push it up to eleven and access power tools to overclock, manage device governors and more. Recommended for advanced users only.

 

Advanced Device controls: These options vary by device, but allow for even more control over the hardware on your phones.

SMS Rate limit: There are some bad apps out there. Enable rate limiting to get a notice if an app starts spamming bogus SMS message services to generate advertising revenue for a malicious developer. Or maybe you just have a teenager and this is perfectly normal.

Introducing the CyanogenMod Installer

Installing CyanogenMod has never been easier! Our interactive installation tool makes replacing your current Android operating system with CyanogenMod a breeze.

Get Started

To read more on what the installer does check thedocumentation.

About the Author

Prejeesh Sreedharan

Author & Editor

I am a Biotechnologist very much interested in #SciTech (Science And Technology). I closely follow the developments in medical science and life science. I am also very enthusiast in the world of electronics, information technology and robotics. I always looks for ways to make complicated things simpler. And I always believes simplest thing is the most complicated ones.

Post a Comment

 
Hi-Tech Talk © 2015 - Designed by Templateism.com