Sunday, August 18, 2013

Hacking the Phone

Once again an essay, or a rant... in either case, to big for an e-mail or a FB post. And the blog has a sense of permanence to it, so here it goes.

A few months back I got a call from a client who often has decent paying jobs for a freelance tour guide. Lots of airport "meet and greet" type stuff. I got her call midday in mid-town, and she asked if I was available on a particular date the next week. I had to say "I'll be home in an hour and will check my calendar and let you know ASAP."

The job went to somebody else. That's when it was decided to step up to an Android phone.

Miser that I am, I am definitely not the early adopter. (Been there... got paid for that.)  But when I'm LOSING money for being a generation or two behind... well, that's just unacceptable.

Frankly, it's embarrassing to have been THAT far behind the times. And even my old phone did have some sort of calendar feature, so my laziness is certainly a factor here. But in any case, the quest for the best Bang for the Buck had begun.

I was already signed up for the best deal in town, as far as carriers go.  Virgin Mobile had me with unlimited text and data, and 300 minutes of voice... for $25 per month. That's under $30 with the fees. Nobody beats that.

Only catch... well 2 catches...
Buy your own phone...
OK, so I shell out $100 for a phone and I'm still WAY ahead of the game compared to Verizon or AT&T.
Reception Area...
OK, this is bad. But hear me... I get GREAT reception EVERYWHERE I GO... except my apartment.

In any case, the $25 plan is not even available anymore (it's $35 now), but they keep renewing me every month. I feel like I'm saving $10 a month.

So, I check what Android phones are available on my current plan... and HELLO, a $70 LG Optimus V. Don't worry if you're not impressed. The title "Optimus" doesn't mean anything, and the V isn't even a 5... it's "V" for "Virgin". But did I mention it's a fully functional Android phone for $70?!?

This was not even a question. I was ENTERING the world of Android (not exactly true, my tablet is Android), but I was coming in on the entry level out of necessity, but with confidence that the current state of tech would alow me to do EVERYTHING that was required. I was going ENTRY LEVEL, and will squeeze whatever I can out of this thing.

I resist the urge to go "kid in a candy shop" and instead choose only to install apps that I will use. Google Calendar (obviously), Google Maps, several mail clients for my several e-mail accounts (gonna trim this down soon), a subway alert app... not much else. I even tried to delete some of the bloat that they shipped with... Point, SCVNGR, some sort of bloated Twitter client... but these are locked into the system and can't be removed. They apparently reside in the ROM. (stay tuned)

So that's that... $70 phone, lowest monthly plan EVER, and all the features I need. But I had to push it. I want FACEBOOK!

Yup, I want to "check in" at the Statue of Liberty, I want to check in at Grants Tomb, or wherever I happen to find myself on a particular day. I want to tell the world that I'm dining with an attractive young lady. Shouldn't I have that option, even at the entry level??

Well, no. You see FaceBook is a memory hog. Of course that term only makes sense in relation to a device that has less than enough memory to run FaceBook. But long story short, when I install FaceBook, I start to get warnings that I'm running low on Memory and my incoming TEXTS get rejected. Clearly, this is not acceptable. FaceBook gets the big DELETE. :(

OK Open Source Community... OK Linux Community... Talk to me Powers of the Tech World Who's Name We Dare Not Speak.... what are my options ?!?!?

Well, funny that you ask... because they actually have an answer. Might not be completely pretty... but honestly, it's kinda BEAUTIFUL to my way of thinking.

So you have an SD card slot, right? And that can give you up to 32Gb of memory, right? Plug into your computer and drag and drop movies, videos, and tunes !!!  But is that any different from the memory that this phone RUNS on ??? Uh, apparently no! Or, kinda sorta.

In any case, the underlying tech for Cell Phone Memory is layered between "onboard" and external. Except they are really using the same basic tech... but are produced in quantity in such a way that there is a distinction. (Some is hard wired onto a sort of motherboard, other is buss-ed in from external sources).

So the fact is, the entry level phone has little built in memory, but up to 32GB via SD card. And there is a lower level of memory, closer to the CPU, but let's not even go there... the rest is handled by swapping out to the memory pages.

Well it turns out that most apps have their memory requirements mapped out into three discrete units. We can fool the system into stashing two of the three units onto the external memory, thus leaving plenty of space on the phone's internal memory. The apps don't even have to be aware of this (or written to support this)... if they write as per the Android specs, this will just happen seamlessly.

Hurdle #1 (not a huge deal, but not trivial):  Root the phone.
Anybody coming from the Unix world knows what "root access" means. You get to read and write to memory locations that are not available to most applications. This is essentially what happens when you root a phone. It voids the manufacturer's warranty (as if Virgin was gonna get into this with me), but you get access to files you otherwise would not have had access to. This includes the Operating System.

Lots of apps written for the Android phones simply don't work, or only have limited capabilities if you don't have root access. But in my case, this was essential to achieve my goal.

Rooting the phone is easy enough... if all goes well. The first attempt (which everybody seems to advocate) didn't work. It gave me an error, something about drivers not installed... went down the rabbit hole of making sure the right drivers where in the right locations... then bailed. I bet this method works perfectly for most users... I saw 5 different YouTube vids with MY PHONE doing this in 60 seconds. But I got error due to missing drivers.

Found 2nd method of rooting device. Downloaded script for my phone (directly from my phone, not my computer) and got it rooted with no problems.

Won't get more into detail now. More than enough details out there. Talk to me in person if you plan on doing this.

Then the simple app fixed everything... Link2SD.  OK, still not trivial, but conceptually clear. My SD card holds 8Gb of data. Mount as a drive in Windows (i.e. plug your phone into USB Port and go to "share as drive"), and use a 3rd party app (Windows Disk Manager could NOT do this !!!!). Partition your SD card so 6GB (more or less) are available for storage, and the other 2 GB (totally invisible to Windows) is partitioned and formatted and ready to use.

Now return back to the phone, and install Link2SD. Reboot at least once, and then start moving apps to the SD card, or LINKING apps that can not be moved. The "LINKING" moves a large portion of the app onto the SD card, leaving the internal memory available for every day operation.

I should probably end here and now. My $70 phone can now run SCORES of apps that would otherwise tell me I was out of memory. I have Facebook running, at the same time as Google Maps, and some other "hogs"... and text messages are not being rejected.

I expect to be able to install dozens or maybe hundreds of apps in this configuration.


But I'm just not satisfied !!!

OK, granted, I'm ELATED!!!!
My $70 phone with a ($15, generously priced) 8Gb SD card has all the memory and power to keep track of my calendar, my multiple e-mail accounts, all my business needs, and my Face Book nonsense !!!

But what's all this up around the bend??? I have a bunch of bloatware installed on my system that STILL doesn't give me the option to delete. And what's all this I hear about ROMs ???

Most frustrating of all was watching multiple YouTube vids showing my how easy it was to install "Rom Manager" and show how I could load different versions of Android OS on my phone. And in fact back in 2011 when this phone was the hot low end phone to hit the market, it WAS easy to root and hack this phone with different ROMs. But as of August 2013, it is extremely difficult to find the software needed to to install the Rom Manager or Recovery software for this phone.

Let's be clear... there are layers of software installed on my LG Optimus V (LGMV670) phone. Root gives me access to all on the phone... but software needed to update the basic OS files is hard to acquire. Maybe a year ago, this was easy to get. But today it seems to have dried up and disappeared. I signed up to the forum sights, but all the software that is supposed to give me access to "Flash the Rom" has disappeared into the vapor. These are apps that clearly worked a year ago (as per YouTube), but just don't work anymore. On the forum sights, I get a message that "This software is not available in your region." So these "underground" sights are not so underground after all... and apparently neither am I. :(

To this extent "Rom Manager" was THE GO TO APP that would allow you to choose the OS into which your phone would boot.
After installing "Rom Manager", it clearly states that it WILL NOT allow me to change the ROMs (basic operating system files) on my phone.
"Xenobia" (or something like that) says that downloads are not available in my area of the world.

It seems that "The Marketplace" has decided what I can and can not download... even for free... in my current location. That I as an individual, who I purchased a device for $70, am not allowed to download certain files that may make MY device more useful to ME.

Bottom line to this rant... It's not a rant !!
I'm SUPER happy with my $70 phone, my $15 memory card, and my ability to do my business from ANYWHERE and still post my stupid Face Book stuff.
The rest is a work in progress. I'm confident that if I care to spend the time and effort, I will figure out how to install different ROMs on this phone and choose which works best for me, and delete Point, SCVNGR, and the rest... and customize MY phone the way I want it.

It does irk me (understatement!) that the apps to do the ROM replacements were easy to acquire back in 2011, and now seem to have been scoured off the Internet. I'll keep looking... I'm sure they're out there. But the YouTube vids from 2011 just seem to taunt me... "Look, now just download 'ROM Manager" and you're all set." ARG!!!  ROM Manager tells me specifically that it will no longer support my phone!!

Anyway, thanks for letting me vent. I LOVE the state of Tech today. $70 and a $15 SD card, with a $30 monthly plan... and I'm running dozens and dozens of apps in real time !!!!!!!!!!!!