Categories
Uncategorized

CM Nexus Gingerbread for MyTouch 4G

If you’re a regular reader, you may have noticed that my blog posts have become less frequent lately and more about my smartphone than anything of importance. Basically, I’m of the opinion that people shouldn’t write unless they have something to say. You’ll see I have some 500+ blog posts, many of substance, with perspectives not often expressed by others. Generally, though, if I feel a certain way about an issue, and I see that plenty of others have already blogged the same perspective (or if even I have in the past), I just don’t see the point in saying “Yeah, me, too” or “Let me repeat what I said before.”

So this is for the ten MyTouch 4G users out there who are reading. Maybe there are only three of you, actually.

For two years, I’ve been using Cyanogen roms. They’re solid. They’re good. I’ve even donated a very small amount to the project. I used Cyanogen on my old MyTouch 3G, and I used it for my currenty MyTouch 4G.

Just on a whim, I thought I’d try another rom, and I ended up trying [ROM] (v1.3.1) CM Nexus Gingerbread 2.3.5 – Faux123 [Aug-30-2011]. It’s a good rom with some bad defaults.

The good:

  • It’s fast and responsive.
  • It’s very close to vanilla Gingerbread (doesn’t even include ADW Launcher or a custom boot splash screen).
  • Even though the developer says Updates for this ROM will NOT be very FAST or FREQUENT due to my LACK OF TIME…, it actually appears to get updated more often than the official Cyanogen rom. It’s gone through 27 versions since the beginning of April.

The bad:

  • There are multiple download links, but whichever one I picked, the download speed was extremely slow, and the announcing post did not include an MD5 hash to verify the download integrity. In case anyone’s curious, my download appeared to be fine afterwards, and the MD5 hash was cedcfd08aba0b7717f3c9b0237089290.
  • The keyboard default is to make a loud clicking sound (much like a typewriter) with every key press. And before you log in, there’s really no way to turn this off or even adjust the volume. Fortunately, once you do log in, you can turn it off.
  • The keyboard is also an English/Asian keyboard by default, with both Chinese and Japanese input methods. I’m all for accessibility, but this is a bit confusing, since the thread announcing the rom is totally in English on an English-speaking forum, and there’s mention at all in the rom description that it’s a trilingual keyboard. I had to Google how to get rid of it and bring back the standard Gingerbread keyboard (long-press a text input box and then select Input Method).

Another nice thing—and I’m not sure it has anything to do with the rom itself, since I checked the /system/build.prop file, and the phone identifies itself as HTC Glacier, which is the original model name of the MyTouch 4G phone—is that I can natively install Netflix from the Android Market (no need to trick the Market into thinking I have another phone or no need to manually download a copy of the .apk from some random place). So either Netflix finally expanded official support to the MyTouch 4G, or the rom builder included some other workaround that isn’t modifying the build.prop file.

Overall, a nice rom (with a couple of bad defaults), and the 3in1 Angry Birds Backup app was instrumental in making the move over relatively painless.

Categories
Uncategorized

Why people get Nexus phones: I rooted my MyTouch 4G after less than one day

Ditching the MyTouch 3G for the MyTouch 4G
My first smartphone was the second Android phone released—the original MyTouch 3G. Not the Fender. Not the 3.5mm headphone jack. The original. From the beginning, it was a pretty crappy phone. I mean it did basic smartphone things but the touch responsiveness was poor (you really had to press into the screen to get it to respond), and the 192 MB of RAM meant it took an extra couple of seconds to do anything. Angry Birds is basically unusable on that phone. So after a year and a half, I’ve been dying to upgrade.

For a while I was considering the MyTouch 4G, the Nexus S, and the (at the time upcoming) Samsung Galaxy S 4G. The Nexus S definitely appealed to me for being pure Google Android. No Zip Whiz bang my head non-Sense overlay. At the same time, it did, in fact, feel like cheap plastic. Its screen was a fingerprint magnet. And it was still 3G speeds, which is not that big a deal now, but as the T-Mobile network keeps growing, (what they call) 4G will be something I want to take advantage of. The Samsung Galaxy S 4G had potential but it also felt a bit light, and it had no flash on the camera and less internal storage than the original Samsung Vibrant.

I had heard quite a few bad things about the MyTouch 4G, too, though. It’s ugly. The speakerphone sucks. The battery life sucks. There’s too much bloatware and trialware. After futzing around, I finally went with the MyTouch 4G. Yes, I know there are crazy dual-core phones right around the corner, but Angry Birds was calling me, and I had to answer. Besides, the MyTouch has 768 MB of RAM. That’s four times what my old phone had.

HTC Sense on the MyTouch 4G: unbearable
I’d tried Swype before on the MyTouch 3G, and I was not enamored with it. It takes too long to drag my finger over every letter. I can use the Android regular autocomplete suggestions after two or three pecked letters, and it’s much faster and takes less concentration. I thought I could just select the regular Android keyboard instead of Swype. I thought Sense may be heavy but I can use ADW Launcher instead. I thought the bloatware is there but I can just not use it. I don’t need to actually remove it. I was wrong on all counts. The version of Android the MyTouch 4G comes with is terrible. I couldn’t stand it.

First of all, the choices of keyboard are Swype, Touch Input, and Dragon Dictation. If you change the keyboard from Swype to Touch Input, you don’t get the regular Android keyboard. Instead you get basically the same Swype keyboard but with no Swype. This keyboard is annoying because the autocomplete suggestions either are not there at all or are selected for you automatically. I don’t want the keyboard telling me which of the suggestions I want. They are suggestions only. I’ll decide for myself which suggestion is best. I tried to install the stock Android keyboard manually, but it would force close every time I tried to actually type something. After Googling, I found that force-close was a common problem.

ADW Launcher allowed my home screen to look relatively normal, but the app drawer and all the system settings interfaces still looked overly bubbly and cartoony.

And the bloatware was extremely excessive, to the point where I would have to basically have an iPhone-like home screen littered with all my app icons, since sifting through all the app icons in the drawer and skipping over the bloatware would take too much scrolling. Never mind that it was difficult to scroll left or right without accidentally activating one of the icons I was trying to scroll past.

Also, the so-called “Genius button” is basically useless and slow. I just wanted my normal search button back.

If I didn’t know anything about rooting, I’d have just returned the phone for a refund. This OS was godawful.

The rooting process: harder than before
When I rooted the MyTouch 3G, it was easy to find instructions that worked, and the instructions weren’t that intimidating. Not so this time. I spent a good chunk of the night and then the next morning doing trial and error and a lot of Google searching to figure out what really worked. The instructions on the Cyanogen wiki left me trying to adb and being told permission was denied. The Android SDK didn’t include adb at all initially. Some rooting instructions said to use Visionary to temproot. Others said specifically not to.

For the curious among you, here’s what actually worked for me. I’m using Ubuntu Linux, but similar instructions probably apply for Windows and Mac OS X.

Download the Android SDK and make sure adb is installed
Go to the Android SDK website and download the appropriate SDK. I’m using Ubuntu so I downloaded the Linux one. There is one for Windows and one for Mac. I also installed Java. Specifically, I installed the sun-java6-plugin package, but I’m not sure if one of its dependencies was all I needed.

Then I right-clicked the SDK download and selected Extract here. Using the terminal, I changed to the tools subdirectory and did ./android and chose to update all and that installed adb. Once I did that, I was able to ./adb whatever commands I needed.

Prepare your phone
Install Android Terminal Emulator, ROM Manager, and VISIONary.

Make sure USB debugging is on. Turn off the fastboot option in settings.

Download gfree and extract its contents into the android-sdk-***/platform-tools/ directory.

Doing the actual rooting
The full instructions (including a whole bunch of disclaimers and instructions for unrooting later) are on Xda Developers. Here are the highlights, though.

  1. Plug your phone into your computer.
  2. Using the Android SDK and adb, run the command
    adb push gfree /data/local

    (I had to actually run

    ./adb push gfree /data/local

    to get it to work).

  3. Unplug your phone.
  4. On your phone, run VISIONary to gain temporary root. To verify this worked, scroll through your list of apps. The SuperUser app should be in that list.
  5. On your phone, open the Android Terminal Emulator application and type
    su

    to get root privileges.

  6. After confirming root privileges is okay, type
    cd /data/local

    and then

    chmod 777 gfree

    and finally

    ./gfree -f
  7. After a bunch of terminal output, it should be done.
  8. Turn off your phone. Then while holding the volume down button, power up again. Double-check that s=off and the bootloader version is 0.86.0000. If so, it worked! You’re rooted.
  9. Reboot and run VISIONary with temporary root but check to set the system to r/w afterwards. If that works, then run VISIONary to set permanent root.

Install the Cyanogen rooted ROM

  1. Download the latest Cyanogen ROM (for me, that was Cyanogen 7.0.0 RC 1). Optionally, also download the corresponding Google proprietary apps. Put these in the top-level directory of your phone’s MicroSD card.
  2. Launch up the ROM Manager application.
  3. Click to install the ClockworkMod Recovery.
  4. Once that’s successfully installed, click to reboot into ClockworkMod Recovery.
  5. Once booted into recovery mode, select Wipe data/factory reset. Then select Wipe cache partition. Then Install zip from sdcard and select the Cyanogen ROM. Then Install zip from sdcard and select the Google Apps if you want them.
  6. Finally, select Reboot system now to boot into the Cyanogen rooted ROM.

Gingerbread is sweet
Now I get the appeal of the Nexus phones. Maybe the Nexus S doesn’t have cutting edge hardware specs. Maybe the plastic feels a little cheap. Maybe it’s tough to see the screen in the sunlight. Maybe it’s a fingerprint magnet. But the vanilla Android is much easier to use than HTC Sense + Swype + bloatware. I’ve got my normal keyboard back. I’ve got not too many extra applications. The “Genius button” has changed back to a normal search button.

Thank you, Cyanogen team! I donated to you only once, but I’ve gotten more than my money’s worth back.