Saturday, December 5, 2009

The Latest Verizon / Motorola Droid ad from the US

Turn-by-turn Google Maps Navigation outside the US


Google released v3.2.1 of Google Maps for Android on November 24th. It's for the US only. This version includes turn-by-turn audio and visual GPS navigation.

But within a few days, there were alternative android ROMs available that included a version of Google Maps with support for Navigation outside the US. I've tried it here in Auckland and it was perfect all the way from the North Shore to Titirangi and back. You want this.

Now, there is an app on the Android Market called "Nav Launcher".  It's only purpose is to help you download a modified version of Google Maps v3.2.1 that turns on GPS Navigation in a long list of countries. New Zealand included. Apparently you don't have to have a rooted phone to use it, either. I'd be interested to know how people get on.

So if you want to get over to the market and try this out, here is the QR code. Scan it off the screen with your phone and it will take you to the market and direct to the app. You'll need to have "Barcode Scanner" installed.....but surely everyone already has that installed? If not, get it. It's very useful.

Now I just need a little stand on the dash of my car to rest my phone in when I'm driving so I can hear the instructions, though I think the Bluetooth 2.0 A2DP stereo support in my HTC Magic may come in handy if I wear a headset.

Friday, December 4, 2009

Stability problems with Cyanogen Mod 4.2.7.1 and a possible solution.


I've been a huge fan of Cyanogen Mod ("CM") android since I first loaded it on one of my HTC Magic "32B" phones ....oh......2 weeks ago. Time flies when you're having fun. :-)

CM is faster than the stock android and for users of rooted phones it offers a full normal function set, all devices working, plus additional function not included in the stock releases - like tehtering via USB, bluetooth and WiFi.

Even better, you can update it over the air using Cyanogen's "CM Updater" app (right). I have been eagerly applying these updates within minutes of them becoming available. It's easy. simple and fast.

Of course nothing is ever perfect and today I ran into a patch of imperfection. I'd put the CM 4.2.7.1 update on last night and found that during the course of the day my phone was crashing and rebooting. Usually when I had been using the camera and then trying to share a photo via Handcent SMS or Gmail. The screen went black....then the CM Android boot logo (above) appeared and the phone had obviously rebooted itself.

I was going to go back to CM 4.2.6 as this had been very stable. But instead I opted to try wiping my phone and re-installing the HTC 1.6 rooted base image, then applying CM 4.2.7.1 over the top. This is what you would do if you were installing CM for the first time. I then downloaded all my apps and reinstalled them. Yeah...it was a pain, but the result seems to be a stable system. I can't reproduce the camera / phone crash.

If you're having trouble with CM 4.2.7.1 you may want to give this try.

Tuesday, December 1, 2009

Vodafone NZ's "Broadband Pro" & my HTC Magic

My HTC Magic is on a two year "Smart 80" plan. It includes 120 minutes, a swag of txts and pxts and 250MB of data. It costs $80 / month. I'm also part of a family group so usage covered by that doesn't count toward my plan. The result is I get to the end of the month having used virtually no minutes, txts or pxts...but way over my data quota. That has been OK up to now because I've benefited from a promo allowing me to use up to 3GB of data each month. I certainly got used to using 3G data whenever I wanted to. The future didn't look too bright after the promo. I keep finding new ways to blow the roof off my cap.

Friday night, Telecom did some maintenance at the Birkdale exchange and managed to plug my DSL connection into the wrong interface, ending my Internet access for several days. I set my other android phone up so our PCs and other devices could tether to it via wifi and access the Net.

That blew my data quota for the month in a single day. I needed a viable alternative.

The Smart 80 plan won't let me buy more data at any price other than 10 cents / MB once I over my quota. That's $100/Gb. Too dear. Instead, I checked out the Vodafone web site. For $79 / month we could get 3GB of data and another 3GB for only $10 more. I didn't realise at that point an entirely separate SIM chip was involved. It arrived today. I put it my other HTC Magic and it didn't work. After some fiddling around and a call to Vodafone, we worked out the 'live.vodafone.com' didn't work, but 'direct.vodafone.com' worked perfectly. The result is an effective 3GB + 250MB per month, plus a swag of minutes, txts and pxts. For an extra $10 I get another 3GB. Any other formulation would see that amount of 3G data costing me almost $700 / month. Instead it's $168.

Dear, but a lot better than $700!

Sunday, November 29, 2009

A 'simple guide' to loading new ROMs on your HTC Magic / MyTouch3G Android phone

This is my attempt to distill into a short post all the best information and sources I've found while learning how to load different Android ROMs on my phone. I'm not re-writing the work of others, I'm pointing to it and adding some comments / info I learned along the way that is either not in the information pointed to or that I found relevant along the way.

You have an HTC Magic / MyTouch3G  Android phone. It came with the software loaded at the factory. If you don't have one of these phones, then these instructions will be mostly correct anyway as far as the infrastructure you need.

The exceptions will be related to the specific model of phone you have if it isn't an HTC Magic / MyToucg3G. For example, the version of "fastboot" will be tied to the phone's hardware, in my case HTC, and you'll need a version written for your phone and the PC's OS (Windows or Linux or Mac) to allow it to talk to your type of phone. Separately, what ROMs you'll be able to load also depends on the type of phone you have. You would not, for example, try to follow specific HTC Magic instructions to load new ROMs on a Motorola Droid or vice versa. But the setting up of Java, Eclipse and the Android SDK will be almost identical in all cases where Ubuntu Linux is used as the PC OS.  The exception will be the contents of the udev rules file reporting the vendor ID and device ID. Don't worry about this right now. Deal with it when you get to it.

Having said that, I'm assuming you want to try other versions of Android, but you want a return path to the way your phone was before you messed with it. I'm assuming you do NOT want to "brick" (render dark and useless) your phone.

No problem. Absolutely do-able, provided you can read and follow instructions and don't just skip bits you don't understand.

Here are some simple steps to make it happen. They are based on the assumption you will be using Ubuntu Linux. If you're a Windows person, then this may be doubly interesting for you. Don't stop reading here. Bear with me.

Here are some steps to work your way though. As is often the case, it's best to read it through and then, after, work it through.

1. Install Ubuntu Linux 9.10. It can be 32-bit or 64-bit depending on your PC. Doesn't matter.

2. You need to set up the Android SDK in order to access the phone the way you need to in order to load new ROMs. Follow these instructions, bearing in mind the following notes:


a) If your Ubuntu Linux is 64-bit, the one flaw in the instructions linked to above is it makes no mention of the need to install the ia32libs if they aren't already installed. These libraries let you run 32-bit apps on your 64-bit linux. Without it, you'll get strange crashes in some libs. To install the ia32libs, you open a terminal ('Applications -> Accessories -> Terminal' on Ubuntu) and enter this command (no quotes): "sudo apt-get install ia32-libs". For Windows users: "sudo" means the command is to be run as root (as administrator). You'll be asked for your password to authorise. That is YOUR password. the one you logged in with...not some other password you can't and won't know.

b) As for the rest of the instructions, you can ignore the bits about actually writing your own apps if you don't plan to. But you do need to install the Java SDK, Eclipse and the Android SDK and ADT 0.94 (or the current version). So follow these instructions and make sure you can run these programs successfully.

c) When you get to the point where you're setting up talking to your real phone with adb and ddms, the udev "51-android-rules" file in /etc/udev/rules.d/ is *critical* and the author of those instructions has it nailed for the HTC Magic / MyTouch3G and the HTC G1 / Dream. For any other phone you'll have to use "lsusb" (list usb) command in a terminal, with you phone connected and debug turned on on the phone (it's in the docs), to get the vendor ID and device ID required.

d) You may have to start the adb server task using sudo (eg: "sudo adb start-server" for the linux system to allow you to access the phone using adb commands.  

3. Install fastboot for linux. Get it here. Read the instructions. Get it installed in the right directory and practice booting your phone in fastboot mode: power off, then while  holding down the BACK key, press the POWER button.

4. Assuming you can successfully see your phone using adb and ddms and "fastboot devices" lists your phone's serial number, you now want to go to Cyanogen's instructions for loading the recovery image and any ROM you like.
Of course, you would ONLY load ROMs that explicitly say they support your model of phone (HTC Magic / MyTouch3G). A ROM for use on some other phone (like HTC G1) probably won't work on a Magic unless it explicitly says will also work on one. For example, Cyanogen and Dwang and ASOP ROMs all work on both the G1 and the Magic / MyTouch3G. Note also what SPL (Second Program Loader) is required by the ROM. If it something special / non-standard, then avoid that sort of thing at first. Most decent ROMs work just fine with the SPL that came from the factory. You should not have to mess with your SPL. That IS the sort of thing that can brick your phone.

That's pretty much it. Be sure to use nandroid (it's in the docs) to back up any ROMs you installed that you want to keep. If you're going to put it back on your phone, it may as well be of an install you've already configured.

I strongly recommend you put these backups in a safe place, clearly labelled and well organised. I also recommend copying the entire /Nandroid/[device name]/[version number] backup set into some other directory with a meaningful name. One backup per path. That way you can easily and simply copy the version you want to restore back on to the phone for a quick restore. Your directory names at the top level should make it obvious which backup it is. Guessing is no fun.

A good site for getting news on the latest ROMs is www.AndroidSpin.com. Once you've loaded a new ROM on a couple of times, it becomes simple and easy. You may load a ROM on that won't boot. Ooops. Not to worry, just start over and put one on that does. If it wiped out the Cyanogen recovery image, DO NOT PANIC! Just follow the instructions to load CM's recovery back on. You haven't messed with your SPL just by loading a ROM and (maybe) a recovery image, so you are almost certainly OK.

Bottom line: Take it one step at a time. No need to hurry. Give your head a chance to get around each step.

Have fun.

Eugene373's Eclair (Android 2.0) on my HTC Magic





I just loaded the latest ROM from Eugene373 onto my HTC Magic 32B (from Vodafone NZ) sandpit phone. There is a LOT of new stuff in this version of Android. I won't type much, I'll let the screenshots from my phone speak for themselves. As usual, click on any of the images to see the full size. 





The biggest surprise for me was Google Navigation is included and actually works for New Zealand. I tried a route from where I am to the centre of Auckland and it provided turn-by-turn instructions in text....and a voice told me to turn in 800 metres at Roberts Road. I nearly fell off my chair!

There is a new multimedia dock included from Motorola Droid.

 There is also a "Phone Portal" app that lets you drive some things on the phone from your PC via USB or wifi.




The "Dockrunner" is one place to access a number of multimedia apps on the phone. It's only in landscape mode, clearly designed for the Motorola Droid and similar large-screen phones.




There is also an updated version of the Facebook app for Android. Here is one screenshot of it. It looks pretty good.

The ROM also includes MySpace and support for Microsoft Exchange mail and directories. There is a new media gallery. The browser is clearly the Eclair browser as seen in the Eclair emulator.

I'll just throw a few more screenshots up here. It will be messy, but that's what happens sometimes. :-)

It's not all sweetness and light.

The camera is completely non-functional in this ROM.

Text in the browser and elsewhere tends to be very small at first, perhaps because it is intended for devices with larger screens.....4 inches isn't THAT much bigger than 3.2 inches. The web browser isn't enable for multi-touch (on my phone, anyway), while the browser version included in Cyanogen Mod 4.2.5 does support multi-touch.




Performance is fine. It's actually pretty snappy overall. Probably faster than the Android 1.6 that comes as standard with the HTC Magic as sold.

There is now also a task manager built in located in the Settings. Glad to see this as a multitasking phone needs to give the user some way of controlling what is running at any given time.

I'm looking forward to the 'genuine' Android 2.0. This ROM has certainly whetted my appetite for all the goodies to come. Though I suspect I'll need to stay with a rooted ROM in order to keep all the OTHER stuff that isn't in any standard load from the telcos.

Thursday, November 26, 2009

An evening of Android ROM Mods. My favourites so far.

Last night I downloaded every Android 1.6-based ROM image compatible with my HTC Magic 32B phone and gave them all a spin on my second phone. I was having a HUGE time!

AndroidSpin.com maintain an excellent, detailed and very current table of all the android mods currently circulating. They are listed in date order, with the most recent on the left. There is also a more concise summary list with the most recent mod releases at the top.


In 5 hours I loaded, configured, played with and backed up five different ROMs. All but one ran faster than the preloaded Android build that came on my Vodafone NZ phone. This is mainly because they have been tweaked to run the processor at the full 528MHz and also hacked to make more memory available for the system and running apps. In some cases the system scheduler has been tweaked. Beyond that, they also generally offer very cool features like WiFi, bluetooth and USB  tethering allowing you to connect almost anything to the Internet through your phone's 3G connection. They also generally come with Voice dialing, which is really cool as that is a feature I was very much looking for. Some of the ROMs also support access to Microsoft Exchange, a biggie for people who work in places that use Exchange / Outlook. I've also noticed some of the new Contacts features an functions have been ported down from Eclair (Android 2.0). For example, you can create a "Contacts Folder" on a Home screen...and when you open it, you scroll through the list of people in that sync group - including any photos / images associated with them on Gmail. Lots of stuff, all good and mostly not in the standard builds on phones you can buy now.

I started the night with Cyanogen Mod 4.2.5 installed. I backed that up and then loaded the "The Official AOSP-1.6_r1.4 DRD20 (Donut) v2.2.1" ROMs. This person or team take the basic ROM of each major vendor, root it, then make an image. Then they create an  "ExpansionPack" that adds in all the good stuff to the basic version. It loaded easily and booted to the Android welcome screen where you set up your gmail account.

Next, I tried the Soulife ADP Remix ROM. This also loaded easy, booted properly to the Android welcome screen and then ran fast and stable after being configured for gmail. I liked this ROM. I had a play, backed it up and moved on.


The next on the list was the JesterBlur v1.2.5 ROM. This is based on Android v1.5 (Cupcake) and includes the Motorola "MotoBlur" user interface. It's large at 78MB. It did install OK, though I had not followed all the steps suggested. It booted, though it took about 5 minutes or more - it felt like closer to 10. When it came up, there was MotoBlur in all its glory and it worked, though it was quite slow. The screenshots are all from my phone. I've included them as MotoBlur is strikingly different to all the other ROMs. Most of them load up and look more or less exactly like the same Android you get on your phone when you buy it.


JesterBlur could access the internet via 3G data, but WiFi didn't start. The docs warned I needed "the latest radio" - unhelpfully vague and imprecise. The Bluetooth didn't work, either, a known problem. It certainly was pretty, but the MotoBlur UI seemed to me to be all about form rather than function. Things I'd do in a motion or two usually, could take several more on MotoBlur. You don't slide the apps tray out. It's been added to the Menu key or the "+" button (IIRC). The notifications bar can't be slid down. It does very nicely allow you to create and define custom formulations of the user interface mad up of components you are offered. To me, that's too much effort and expense in development just for eye candy. But once you managed to find an app and run it, it ran well enough.

I'm a fan of leaner, lighter interfaces. MotoBlur felt, to me, like I had to watch 20 episodes of "Project Runway"...and take it  seriously. I'm sure lots of people love it to bits.

Being based on Android 1.5, the Android Market in JesterBlur 1.2.5 is the old, black and plain Market that prevailed until a month or so ago. How quickly we move on! I didn't bother to back this one up. I just wiped it.....and moved on. Maybe the next version will be faster. I would certainly take a look at a new release if / when one appears.

Last ROM of the evening was Dwang Donut v1.13. Of the ROMs I tried last evening, this was the only one not based in some way on a version of Cyanogen Mod. David Wang has composed his own kernel build from the stock android v1.6. This ROM was recommended to me as a very fast one and it certainly nice and snappy on my phone. It isn't as feature rich as Cyanogen, but if you had this ROM on your phone you'd find lots to like about it. I backed it up.

Of the ROMs I've tried so far, my favourite would be Cyanogen 4.2.5. Next and not very far behind CM, it would be very close race between Soulife and Dwang, with Soulife taking it by a nose. Half a length behind - because these are all good - would the AOSP Donut builds. Bringing the rear in flamboyant leasurely style would be JesterBlur....which isn't really fair as it is Android v1.5....and v1.6 is faster - modded or not.

Wednesday, November 25, 2009

Google Maps 3.2.1 with Cyanogen Mod 4.2.5

Google Fodder: I'm posting this here because xda-developers forums was producing a "502 bad gateway" error and Google cache didn't hold a copy....and the only place on the net it appeared to be was on xda.


Originally Posted by mrandroid View Post
Download and copy the new Google Maps 3.2.1 APK to your sdcard.
Can be found at: http://www.myhangoutonline.com/downloads/

open a terminal window:

(For Cyanogen Builds)

type: su
type: mount /system -o remount,rw
type: rm /system/app/Maps.apk
type: cp /sdcard/Maps.apk /system/app

TA RA! lol welcome to Google Maps 3.2.1 w/ Nav.

*** UPDATE *** If for any reason it's not 3.2.1 after installing, you'll be able to just download 3.2.1 from the market now and it'll install perfectly... Either way, The file should be fixed and it should be 3.2.1 now.

Monday, November 23, 2009

I rooted my Android phone and it was easy.

Over the past several months, since I bought my HTC Magic android phone, I've been watching the progress of others as they gained root (administrator / supervisor) access to their phones and loaded alternative versions of Android. Some made a real mess of it and I could almost hear the wailing and gnashing of teeth through the texts of the miserable accounts of cellular OS devastation.

A lot of the information on a wide variety of web sites was written by people who were clearly technically competent but who, at the same time, couldn't clearly explain paint to a brush. Or worse, said it was paint while they described some of the elements of paint, leaving out critical details others soon discovered were missing.

Scary stuff! I wasn't going to risk my reasonably expensive new HTC Magic ("Sapphire") phone without having a clear path from the present config to a new one...and back again. That last part is critical. I wanted to be certain I could restore my phone to the factory-based build in order to ensure I would receive the "official" updates to my particular android phone as they are released by Vodafone here in NZ and around the world.  I did not want to go out on an alternative version branch and be left stranded there.

So I waited. In the meantime, I installed the Android SDK on my 64-bit Ubuntu Linux system as well as my Windows Vista Home Premium system (Ubuntu was easier - for the record) and became familiar with the tools you use to access / alter the phone's system from your PC: "adb", "ddms"  and I installed "fastboot" as well. In addition to the SDK instructions, you may find the alternative view at xda-developers helpful.  I've also documented my own efforts here on my blog.


Finally, with the release of 'Cyanogen Mod v4.2.5, stable', I found the very clear and straightforward instructions provided by its source: Cyanogen (a.k.a. Steve Kondin).

The key, for me to Cyanogen's ROMs (Read Only Memory - essentially a system image copy) is they come pre-rooted. All I need to do is load it on the phone using Cyanogen's very useful 'recovery image' (cm-recovery-1.4.img) and activate it. The new system image from Cyanogen has been rooted for me already. This removes a HUGE technical hurdle for the know-a-fair-bit kind of guy who'd like to give this try.

As to why you would want to root your phone, there are several very practical reasons. You get access to features and functions not available in the standard ROMs from the telcos. For example, with my rooted phone, I can "tether" my iPod Touch to my phone via WiFi and allow the iPod to access the Internet through the phone's 3G connection. Or I can use the "SetCPU" apps to set the clock speed of the processor in my phone: faster for more speed, or slower for better battery life. As it is, without changing the CPU speed myself, Cyanogen Mod, by default, runs much faster than the stock version of Android. There are many other reasons, these were more than enough for me.

Jargon, jargon.

Half the battle is understanding the terminology used. At first I was bewildered by all the strange terms related to the components of the operating system on the phone. But after a while, it became clear there were only really a couple of things I absolutely needed to understand:

Fastboot: This has two meanings in the context of messing with your phone.


You boot your HTC Magic in "Fastboot mode" by holding down the BACK button and then pressing the power button. In this context (rooting your phone) this program lets me load a basic, temporary system on my phone and run it. Once booted, you see a white screen with essential details about your phone's hardware and what firmware is currently loaded onto it.

"Fastboot" is also a program that you can use on your PC, when you phone is connected in Fastboot mode (see image), to 'live boot' a temporary operating system. When you power your phone off and re-boot, you go back to the usual system.

Recovery mode and recovery image: You access the recovery mode of your phone by powering off, then holding down the HOME button and pressing the power button. On a standard HTC Magic/ MyTouch3G phone, you'd probably then see something like a white triangle on a black background with a yellow exclamation mark in it and a small phone image beside. This is what the default recovery image provides. You can't do much with the default. So you need to load one that is more useful and that is is what you typically use fastboot to load. In the case of Cyanogen's (latest as of writing) "cm-recovery-1.4.img", it boots up a text-based menu (click on image for full size) of options that allow you to perform some essential tasks like re-boot; backup the existing system ROM (critical! - but easy) to your sdcard using a program called "Nandroid"; or use Nandroid to restore from a previous backup. Or you can wipe the system area and then, separately, load an entirely new ROM from the root directory of your sdcard.
    Once you've loaded the new ROM and booted from it successfully, you can us "su" at a command prompt to get root powers...and then flash the recovery image so that it is permanent, not temporary: "flash_image recovery /sdcard/cm-recovery-1.4.img"......and you're done.

    At this point, the only thing to remember is that if you do restore the original, factory image, you will also restore the default recovery and you won't have root access anymore.

    How Nandroid works is pretty straightforward. Each new backup goes into the "Nandroid" directory on the sdcard. The device ID of the phone is the next level, then comes the version of the individual backup. It will make a new subdirectory below the device ID for each new backup.

    For restoring, it will only restore the last backup made. If you don't want that one, you have to ensure the one you do want is the most recent one that Nandroid can see. That means moving the others out of the way to some other location.

    Make sure you make copies elsewhere of  any images you want to keep.....and don't mess with the naming of the folders. Nandroid needs those names just as they are. But I need to know what each one is, so I have a tree of folders with "AndroidBackups" at the top, then something like "01-backup-20091121-2340-first-CM-install" and then the next level will be "Nandroid"...and so on, as on the sdcard. This way, I can just drag / drop from the "Nandroid" level to the sdcard, knowing I have exactly the backup I want and no other.

    The most important thing to me is not losing the backup of the original factory load. That is my key to returning to he vendor world of Android if I choose to. I've tested it and it works fine. Just remember that when you restore the original ROM, you're also restoring the original (not very useful) recovery, too. To get the Cyanogen recovery back, you'll have to fastboot it for temporary use, or install a new ROM and then make it permanent (or at least for the life of the task you have in mind, until you again restore the original.

    This isn't a step-by-step guide, but I hope it does make clear some of things that baffled me and helps provide you with the confidence you need, through knowing you can mod your phone and you can put it back the way it was to begin with.

    Thanks to Cyanogen / Steve Kondin for providing the simple, step-by-step instructions that finally gave me the certainty I required to have a go. they got me quickly to the point where it was easy if you know how by helping know how.