Thursday, July 25, 2013

Customize Your Android Phone to the Max

If you are one of the very few who have read my previous posts, you will know that I have had a number of issues with my Android smartphone.  Hours of work rooting my phone and removing all the clutter have resulted in a faster, more battery-efficient, and more useful smartphone.  Now that the phone is in a usable state, I have spent those precious few minutes of free time customizing the phone to exactly the state I want.  As this is something that I think many Android users want, but struggle with doing successfully, I decided to make public my experience customizing my phone.  It is still a work in progress, so I may end up writing another post in the future regarding any additional changes.

Modding and Rooting Your Android Phone

Android Rooted
When I wrote about my experience rooting my Samsung Infuse 4G a little while back, I did not really get into the technical details of the process.  Since this post is more about the actual steps I took to customize my phone, I think it is appropriate to go into more detail here.

CAUTION: Modding and/or rooting your phone will void your warranty and has the potential to make your phone unusable (brick).  While I have had good success rooting my phone, this will not be true of everyone, and I take no responsibility for your phone if it becomes unusable.  Proceed at your own risk.

Is Rooting Worth It?

First, I would like to say that it is becoming less and less necessary to root your phone.  Back a couple years ago, rooting would bring a huge performance boost by enabling you to remove all the apps the phone carrier and phone manufacturer bundle with a new phone (also known as bloatware).  Since Android 4.0 (Ice Cream Sandwich) you have the ability to disable unwanted apps, meaning they will not run at all unless you enable them again.  They still take up drive space on your phone, but larger and larger storage capacities in newer phones has made this all but meaningless.

For those Android users running version 2.3 (Gingerbread) or below, rooting is more beneficial than for those running version 4.0 (Ice Cream Sandwich) or above.  Even for those on version 4.0+, however, there are still a few useful features you can only use on a rooted phone, so you can still glean a bit of performance out of your phone if you root it.  I talk about a few of those features in a bit.
Depending on the phone you have, there are a number of options out there for modding your phone.  I couldn't possibly cover every option for every phone, so I'll just discuss what I did, and I will also mention a few other options available.

The Samsung Infuse 4G seems to have been a pretty unloved phone, at least based on the support it has gotten from the modding community.  There are a few options available for those with the phone, but if you want the most up-to-date version of Android, you are mostly out of luck.  Samsung stopped upgrading the phone after Android 2.3.6 (Gingerbread), and while the modding community has produced working versions of Android 4.0 and 4.1 (Jelly Bean), they aren't very usable for the average user because key features like the camera don't work.  Being that I only own one phone and rely on it for everything, this was not an option for me.  Maybe when I upgrade my phone and turn this one into a baby toy I will look at putting a newer operating system on it.

Since I need a reliable phone, I decided to go with the stock Samsung operating system (also known as a rom) that had already been rooted.  This meant I was getting a rom that is proven fairly stable, but with the added benefit of a rooted phone.  There are a few ways of getting a custom rom onto a Samsung phone, but I went with the simplest method, which uses Odin, a program that automates most of the process.  If this option is available, I highly recommend it because it takes out a lot of the work, which means you are less likely to screw up and break your phone.  As you can see from the link to the roms, there are many options available, and these are just the options available for this phone, using the stock rom with root, and using Odin.  There are dozens of other options available, each with varying levels of difficulty and results.

Root Comes in Many Varieties


If you are looking to install a new rom and/or root your phone, There are a few places to look first to make the process as painless as possible.  While they do not support all phone models (including mine), CyanogenMod is the number one place to go if you are looking for a mod that is as close to the ideal Google Android experience as possible.  These mods are supported by a large community, work well, and are updated with the newest phones regularly.  As I said in an earlier post, when it comes to buying a smartphone, don't be cheap.  This applies to modding too, because if you own an unpopular phone, there will not be much support for it online.

There are also much more original roms out there if you are looking for a more unique experience, but there are so many options depending on the phone you own I cannot possibly go into them here.  I recommend searching the the internet for a while and determine your options.  I would suggest that you pick an option with very clear step-by-step instructions, and one that seems to have had success by commenters.  Sometimes the best information can be found in the comments, especially when someone runs into an issue.  And as always, backup your current rom before flashing a new one.  You don't necessarily have to erase all your phone data to make it work, but in my experience it works much better if you do.  I use Titanium Backup, which is great when you root your phone, but will also let you backup your apps and data without root. 

What Does Root Get You?

In addition to gaining access to some app features only available with root (which I talk about later), there are some interesting things you can do with the Android system itself.  After rooting, your phone essentially becomes a mini Linux computer.  You have full access to the entire system, which allows you to modify system files that were previously inaccessible.

NOTE: This also means you have the ability to delete system files or otherwise break your operating system.  Be very careful when navigating though system folders, and I would suggest learning as much as you can online before you go modifying system files.

AT&T Boot Screen
This eyesore used to appear
when my phone booted.
One of the more simple things you can do if you have a particularly annoying startup screen like my phone is change or remove it.  For the Samsung Infuse at least, it is very easy to remove the boot screen by just deleting the file.  Instead the phone goes to black after the Samsung logo, and doesn't show anything until Android loads.  I find it far better than the AT&T boot screen, which is painfully bright.

Another change I was able to make after I rooted my phone was to change the incredibly loud and annoying battery low alarm to something a bit more subtle.  This was just a matter of renaming some files so the system grabbed a different sound to play.  The same thing can be done for many different system images and sounds.  I found mine in the System > Media directory.

I also discovered something quite interesting once I rooted.  It turn out, at least on the Samsung Infuse, that the system allows or denies you access to tether your phone based on a system process called something like tether manager that runs in the background.  If you uninstall this process using something like Titanium Backup, you can tether the phone even without a tethering plan.  Your carrier may not be happy if they find out you are tethering without a plan and charge you a fee, but it is possible.  I would like to stress that I am in no way advocating doing this, however, as you would be in violation of your service contract.  Proceed at your own risk.

Apps to Customize Your Android

There are a plethora of apps that you can download to customize your Android experience.  Some are more mundane like a third-party text messaging program, while some are far more exotic.  I see little need to discuss the simple customizations as most Android users are aware of these and they do not have a significant effect on your experience with the phone.  Instead, I will focus on the apps that change your phone in far more drastic ways.  These are the apps that can really change how you interact and use your phone.

Replacing Your Stock Launcher

Holo Launcher Screenshot
My phone now uses Holo Launcher,
which I modeled after the recent
Google Edition phones.
If you don't want to go as far as installing a new rom, or if you are like me and did, but are stuck with an old version of Android, a custom launcher may be the way to go.   The launcher is the main user interface of the phone, the place that has all your pages, widgets, and apps.  Its basically the nice pretty layer placed on top of the operating system that you normally interact with.  When I installed my new rom with root, I was still left with Samsung's stock TouchWiz launcher, so I immediately went on Google Play to find a different launcher.

Over the past couple of years, the array of launcher options on the Google Play store has grown by leaps and bounds.  One of the primary reasons people suggested modding your phone was to replace the stock launcher with a better one.  Today, the launchers available straight from the Google Play store are excellent, and do not require modding or rooting your phone.  If all you are looking for is a better or different interface, you may want to just find a launcher from the Play store.

There are a few third-party launchers that I would recommend.  Because I am still using Android 2.3, I cannot use a couple of them (they require 4.0 or better), so I ended up getting Holo Launcher, which does a good job of mimicking the look of 4.0 or 4.1.  It is also not too processor or memory intensive, which is good for my underpowered phone.

Other similar launchers I would recommend would be Apex Launcher, Nova Launcher, and GO Launcher.  These all give varying amounts of customizability, while retaining the basic design of the Android user interface.  There are also a few launchers that deviate from the standard interface if you are looking for something different, the most popular of which is Smart Launcher.  Smart Launcher gives you a circular menu of your most used apps, and sorts the rest by category in a separate menu.  It is very simple, with only the single main page and a button to access the menu.  No room for widgets or options to create multiple pages.  Other unique launchers to look at would be Next Launcher 3D and Launcher 7, a Windows Phone-styled launcher for those who want the Windows Phone interface without actually getting a windows phone I guess.

Holo Locker Screenshot
My new lock screen with Holo Locker.
I chose an all black background because
it looks really crisp and clean on an
AMOLED screen.

Installing a new Lock Screen

Along with a new launcher, you may be less than satisfied with the lock screen options that came with the phone.  If you are like me and are currently stuck with a version of Android prior to 4.0, you may pine for a phone experience more like you get from Android 4.0 and above.  If this is the case, there are a variety of options available to you.

Because I installed Holo Launcher, I decided to stick with the same developer and get Holo Locker also.  This locker is designed to work well with Holo Launcher, plus both can provide the same notifications information supplied through Holo Notifier.  While it is not always the case, I find that apps supplied by the same company tend to play better together than those from multiple developers.  I also chose Holo Locker because it provides a Android 4.0+ type lock screen, and allows me to add shortcuts to my camera, phone, SMS app, or any other app on my phone.  Unfortunately, however, since I am on the older Android version, I still cannot get features like lock screen widgets.

Another popular locker is Go Locker.  Go Locker is far more customizable than Holo Locker, allowing you to download locker themes to emulate Android 4.0 or the iPhone lock screen, or create a completely unique experience.  I used to have this installed, but got rid of it due to occasional loading problems.  This may not be a problem for people with faster phones, but I am very limited in what I can have running at any one time.

Apps Requiring Root Access

Most Android users are familiar with the customizability of the operating system in terms of apps and widgets, so I am not going to go into any detail about those.  There are, however, a number of apps that, with root, allow you to customize your phone to your hearts content.  For those, I will cover the most popular ones and the ones that I use on a regular basis.

SetCPU Screenshot
My profiles in SetCPU.  I found on my
phone that turning the CPU max
down from 1200 MHz caused
severe lag issues.

Root Browser

Once your phone is rooted, the built-in file manager likely will not be sufficient.  By default, my file manager only let you get to the non-root portion of the file structure, even though I had access to the entire phone.  To be able to navigate through the system directories, I had to download a new file manager.  There are a number of options, including ES File Explorer and Root Explorer, but I went with Root Browser because it is free and I liked the interface.  Which file explorer you use is a matter of preference, as they all mostly do the same thing, though some do provide better features than others.

SetCPU

SetCPU gives you the power to control your processor speed, allowing you to (depending on the phone) overclock or underclock, giving you better performance or better battery life respectively.  It also allows you to set profiles, so you can slow down the processor when the screen is off, or crank it up when you are playing a processor-intensive game.  Done right, you can actually gain speed on the phone and save battery life.  For those less computer inclined it does have a bit of a learning curve, so it can be difficult to set up well.  If you don't like SetCPU, there are a number of other apps that provide the same features, such as AnTuTu and CPU Tuner.  

Tasker

Over the course of writing this post, my use of Tasker has gone from very little to twenty plus profiles running, back to seven.  I have become quite familiar with the functionality of Tasker, though due to phone performance constraints, I have not been able to do everything I would like to do.

Tasker is the ultimate app for customizing your phone.  It doesn't really change the look of your phone at all, but it can drastically change its behavior.  It is really up to you.  What Tasker provides is a very basic framework for programming in simple codes to have your phone do whatever you want, whenever you want.  It provides access to all the sensors on your phone, so you can program it to automatically turn off the screen when you put the phone in your pocket, or turn on the screen when you take it out.  You can set it to detect when you get close to home and automatically turn on the wifi radio, and turn it off when you leave.  It really lets you do anything you can think of.

Tasker Screenshot
A screenshot of Tasker and some
of the profiles I created. Most
have been disabled due to
phone performance problems.
When I first downloaded Tasker, the only profile I had running was one that enabled and disabled my wifi based on whether or not I was at home.  After a while, I came up with a slew of other profiles that I thought would make my phone better.  These included a screen-on / screen-off profile for my flip cover I use intermittently, a profile that scans for any wifi hot spots in the area every half hour, a profile that mimics the Air Gesture feature of the Samsung Galaxy S4, a profile that (through a very convoluted process) changed my wallpaper to a new live wallpaper every morning, and a handful of other profiles to support these.  When you get it just right, you can do some really cool things with your phone.

The learning curve in Tasker is probably the steepest of any Android app I have ever used.  If you have never programmed before, you are likely to get overwhelmed, as I was even a little confused by the interface at first, and I have programmed in some capacity for the past fifteen years.  There are, however, a number of communities online focused on Tasker, so if you don't want to put the work in yourself, you can use profiles other people already put together to automate your phone.  You can find them your self, or check out Lifehacker, Wikidot, or xda developers.

I quickly realized after developing all the different profiles for my phone that there was something wrong.  Turns out my phone has failed me yet again.  While the profiles usually ran well, the entire phone would go crazy if the system was bogged down from other apps.  For instance, my phone was supposed to turn the screen on when I open my flip cover, and turn it off when I closed it.  When the system was backed up with tasks, the screen wouldn't come on, so I would have to push the power button to force it to.  No big deal, except when the system finally got around to running the flip cover profile, it locked the phone because I already had it on.  I ended up getting a phone that would shut off when I was using it, turn on when it was in my pocket, and open other apps when I was already using it.  I was forced to trim the fat and only stick with the profiles that wouldn't lag.  If you have a better phone than mine, you hopefully will not have the same issues.

If you are interested in some of the profiles and tasks I wrote in Tasker, I created a separate post specifically for it.  Feel free to use them as you wish, though some of them are phone-specific.  Since I tried to program Tasker without outside help, they may or may not be very optimized, but they seem to work pretty well.

Auto Memory Manager

Auto Memory Manager Screenshot
Auto Memory Manager allows you to
control the Out Of Memory Manager
in Android.
This is a great app for me because of my phone's limited RAM.  Auto Memory Manager changes the settings in Android's Out Of Memory Manager, which is a process that determines when to kill different types of apps.  The default setting, at least for my phone, left too little memory available and caused some apps to run slowly.  By turning up the settings so more memory is left available, my phone performance increased significantly.  The only thing to watch out for is turning the settings up too high, because the system will then kill processes before they have a chance to run.  If you use apps like Facebook or Google+, the background processes that notify you of new content may not be able to perform their intended functions.

Auto Reboot

As much as I wish I was beyond the day of periodic system restarts to clear out the memory to enhance performance, I am not.  At least not for my phone.  The amount RAM is just too low, and the system seems to eat memory after a while.  I also hate restarting in the middle of the day, so I downloaded Auto Reboot, which reboots the phone based on the time of day you tell it.  Auto Reboot is not much to look at, but it is effective and free.  There are other apps that do the same thing like Reboot Scheduler, but they are not free.

Other Root Apps

There are a wide range of other apps that use root access to perform some functions that you cannot do otherwise.  I could not possibly cover all of them here, but if you do a search for "root" in the Google Play store, you will find a lot of them.

Apps That Do Not Require Root Access

There are countless numbers of apps you can get to customize your phone.  Phones with Android 4.0 and above require less customizing to make them look nice and function well in my opinion, but this is all up to personal preference.  Here is an incomplete list of the stock apps that I replaced with third-party apps to enhance my experience.

Camera

Camera ZOOM FX Screenshot
Camera ZOOM FX is a great
third-party camera app.
The stock camera on the Samsung Infuse 4G is usable, but not great.  The app also doesn't let me take pictures when the battery is low, which is insane.  I think I should be able to take pictures with low battery if I want to.  So what if my battery dies? It is my choice.  I cannot count the number of times I tried to take a picture only to be thwarted by this "feature."  In its place, I got Camera ZOOM FX, which in addition to allowing low battery pictures, has many really nice features that the old camera app did not have.

Photo Gallery

The 3D Gallery app that came with my phone is horrendous.  It lags horribly on this phone, and has frozen it completely more than a few times.  To stick with the Ice Cream Sandwich theme I was going for, I got Gallery ICS to replace it.  This app is simple and provides a similar style to the stock Android 4.0 photo gallery.  If you have Android 4.0 or above, you probably don't need this, but those stuck with lower versions should see a performance boost as well as a better look.

Dialer and Contacts

The stock Samsung dialer on the Infuse is ugly.  Really ugly.  To get something simpler and cleaner, I got ExDialer.  This dialer provides all the same options I have with the stock dialer, plus I can customize it to match the look of the rest of the phone.  It also comes with a replacement for the stock contacts app, which ensures both match styles.
GO SMS Pro Screenshot
GO SMS Pro allows a high level of
customization, which let me create
a theme that matched my launcher
and shrink the font so the
conversation is easier to read.

Text Messenger

While I wait for Google Hangouts to integrate SMS messaging, I am stuck with sending texts though another app.  The stock texting app on my phone is poorly designed for the size of the phone and also ugly.  There are a number of third-party SMS applications, of which I have tried about half a dozen.  Currently I am using GO SMS Pro, which can be a bit more system-intensive than other texting apps, but provides better customization to make the app match the rest of the phone.  This is one of the only apps that I opted for the more power-hungry app because I liked the look and feel of it.  Over the past few months I have also used Handcent SMS, chomp SMS, and, for about five minutes, Pansi SMS.

7/29/2013 UPDATE: Since publishing this article I have dropped GO SMS Pro in favor of chomp SMS.  GO was sucking up system resources like a machine with great ability to suck and causing serious system performance issues.  chomp SMS does not have all the features I would like, such as auto-conversion of group messages (which uses MMS) into the proper format, but it runs very quickly compared to GO.  If you are resource-limited like me, I would strongly discourage the use of GO SMS Pro.


No comments:

Post a Comment