It’s been less than a week since I’ve been playing with my Android phone (the G1) and to recap briefly, I purchased it already rooted (an absolute must for any gagdet lover and tinkerer). It’s not a trivial undertaking, but looks harder than it really is. Since getting it, I’ve unlocked my G1, performed a wipe (4X and counting), damaged my recovery image and learned how to repair said recovery image and tested a fair amount of free and paid apps for my phone. In this post, I’d like to talk about the singular issue of ROM updates.
First, here’s what stings about my transition to the Android phone/system
- I live in Microsoft Outlook. Slight exaggeration, but that’s how I keep track of activities and plan things. If you plug your Android phone to your Windows PC expecting ActiveSync to pop-up, you’ll be sorely disappointed. The Android system‘s calendaring properties are tied rather deeply to Google’s. So, I’ve been reduced to downloading and installing Google’s Calendar Sync Program and doing a 1-way sync from Microsoft Outlook to my Gmail Calendar. Then, when setting up my new Android phone, I added my Google account and my phone’s calendar automagically gets populated with items in my online Google calendar.
- If you go the Google Calendar Sync program route, be very aware that this program has been known to create duplicate and triplicate entries if you choose to do 2-way syncing. I learned this the hard way. After trial and error (read: 2 phone wipes), I settled on the following steps to get a “clean” sync of my Outlook calendar to Google (and my phone eventually) easily:
- This tip will be of most use to people who live in Microsoft Outlook (like me). If you’ve been living and breathing in Google Calendar, you’ve got nothing to worry about. I’m not ready to give up my data to the “Cloud” without any assurances that I’ll be getting said data back without having to jump through too many hoops. I’ve got my Outlook contacts and calendar organized *just* how I like it and I don’t like to mess with a good thing. 😛
- Download and install the Google Calendar Sync program and choose the 2-way sync. Backup/Export your Google Calendar to an external hard drive & a second location; If there are only a few entries, go ahead and delete them. This worked best for me when my Google Calendar was already empty. Be warned that even I don’t have the 2-way sync enabled (see a list of known problems with Google Calendar Sync) because as I said earlier, I get duplicate entries in my Microsoft Outlook calendar and then propagates to my Google Calendar. It’s a nightmare. Don’t even think about deleting your calendar entries on your phone because you’ll have to do it one painstaking click at a time.
- Safest option for now would be to select the 1-way sync from your Outlook calendar to Google calendar. You avoid duplicate entry hell and you simply get to manually update your Microsoft Outlook Calendar with any entries you’re missing from Google Calendar (if you do this, make sure you delete the entries from Google Calendar because you’ll end up with duplicate entries).
- If you decide to experiment for yourself, be prepared to wipe your phone when (not if) you experience the duplicate/triplicate entry thing because a wipe actually easier than manually deleting these new entries. Visit the Troubleshooting page for Google Calendar Sync.
- As always, make full backups of your Microsoft Outlook calendar/contacts and do the same for your Google Calendar and Contacts.
- I don’t have a data plan. In my neck of the woods, what a data plan costs amounts to a half-a-month’s worth of rent. Not having a constant internet/data connection means I can’t take advantage of several cool applications like Google Maps turn-by-turn driving directions, Seesmic for Android, Barcode Scanner, Yelp, et cetera. These applications require internet connectivity and unless you have a MiFi on you all the time, you’re stuck with applications that can be used offline as well. Until I got an Android phone, I haven’t wished this badly that I had a data plan. Just an FYI.
With *that* out of the way, here are two things I worry about with custom ROMs are (in order of decreasing importance):
- maintenance of the ROM: With built-in carrier software, you’ll know updating is as easy as an OTA (over the air) update. These custom ROM are either created and maintained by a community or a person. Based on my experience with custom ROMs for my ATT Tilt, updating involves more than just downloading the ROM and there are several ways for the updating process to go wrong.
- performance of the ROM i.e. if my device is sluggish: The CyanogenMod ROM is pretty stable, but I’ve consistently had issues with the screen’s responsiveness to my touch. It is, however, the most popular ROM for Android devices, but I haven’t tested other ROMs for comparison.
I won’t even attempt to write a “How to Root your G1” article because I haven’t actually performed the rooting process. However, there’s nothing stopping me from writing about my tried methods for updating/flashing ROM to an already rooted device. 🙂 For updating your already-rooted device’s ROM, here are 2 vectors for doing just that:
Clockworkmod ROM Manager
Short and sweet: If your phone is rooted and you’re not quite a commandline guru is: Download the ClockworkMod ROM Manager app. Here’s why you should download and support the developer by paying $3.99 for this app. You can search for “Clockworkmod” in the Android Market app on your phone or scan the QR code for the Clockworkmod app on this site: http://clockworkmod.com. You will need the free Barcode Scanner application to do this.
- ClockworkMod ROM Manager has a simple user interface for managing, updating and backing up your current ROM. Granted CyanogenMod has an updater that’s downloadable via the Android market so if that’s all you care about, feel free to use this updater. However, this ROM manager is easier to understand.
- the ClockworkMod ROM Manager app has an easy way for you to boot into Recovery mode if you need to wipe and start from scratch on your device. Granted, the other way i.e. pressing the “Home” key while pressing the “Power” button to turn on the device, shouldn’t be too hard for anyone to manage. In fact, it even offers an alternative to its own Clockworkmod Recovery image which is the popular Amon Ra Recovery image.
- This ROM Manager offers a dead simple way to partition your microSD card so that you can install Android apps on it! The ability to install apps to your microSD card is a feature serious and casual Android users need. Other methods of partitioning your microSD card involved commandline-fu which I write about later on. An 8GB class 6 microSD card is strongly recommended for this purpose. I’ve been using a Transcend Class 6 microSD card for over a year. CyanogenMod v 5.0.8 includes a utility called Apps2SD which will detect if you have this specially partitioned microSD card and it will default to installing apps on your microSD card!
Amon Ra Recovery image
Short and sweet: If you want to be able to do more with your recovery image and can handle typing commands into a terminal-like application, I heartily recommend the Amon Ra Recovery image. If you’re ready to make the ‘upgrade’ from the Clockworkmod Recovery Image to the Amon Ra recovery image, you can flash the Amon Ra recovery image to your phone via the ClockworkMod ROM Manager. Otherwise, follow these instructions first on flashing a recovery image. If that doesn’t work, try these instructions. You won’t be able to update your ROMs via the ROM Manager, but doing it the Amon-Ra way isn’t so bad.
- Amon Ra recovery image is free as in beer and speech. The ROM manager requires the $3.99 fee in order for the “check ROM updates” feature and a bunch of other features to be activated.
- You can have finer control over the microSD partitioning process. With ClockworkMod ROM Manager, you’re limited to a maximum of 512mb and a maximum of 128mbs for the ext (it doesn’t say if it’s ext2, ext3 or ext4) and swap partitions on the microSD card, respectively. That’s sufficient for some, but I’ve got an 8GB class 6 microSD card so I gave my /ext partition 1gb ob space with a 96mb swap partition and upgraded my /ext2 partition to an /ext3 one. This was done via the Amon Ra recovery image. More than anything, I foresee myself using apps more than storing data on my phone so my setup works for me. For super users, check out AndroidAndMe on the subject of manually partitioning your microSD card. Fun. 🙂
- Amon Ra has keyboard shortcuts that work and you can get into the console to repair and fix things your little heart desires! 🙂 Clockworkmod Recovery doesn’t have an option to get into the console that I found.
- By rooting your device, your carrier already forsakes you (voided warranty). You run the risk of bricking your device. If your phone gets bricked/engulfed-in-flames/ or if you suffer rooters’ remorse (TM), that’s your painfully-fixable problem. Caveat emptor. You’ve been warned. 😛
- When troubleshooting, visit Cyanogenmod.com’s Wiki is your best friend. Do not attempt any advanced tricks without double-checking with the Cyanogenmod Wiki.
Up next, some important apps I’ve found useful on my Android journey. Enjoy and comment away! 🙂