I went to the pub last night with some of the ex-Transitive crew who have migrated south. It was a fun night of over the top geekery of the kind you only really get when people like to discuss processor architectures and the pros and cons of various language standards updates. For example I found out they have stuffed lambda functions into the growing list of functionality handled by the C++ behemoth. At some point we did whip out our phones.
I had resigned myself to the fact the Android 2.1 update was the last one HTC would be supplying for my Hero. So I finally got around to rooting my phone.
The process is fairly simple but I did have to spend some time hunting and sifting through numerous guides to rooting. One thing I didn't want to be forced to do was downgrade my system image just to root it. In the end I followed this guide which uses Universal Androot. It took a couple of attempts to work but once it did it was fairly obvious the phone had been rooted.
Instead of using the on board terminal emulator I used "adb shell" from my desktop to flash the recovery image. I had a small panic when the process reported all sorts of read/write errors and looked like it had broken. In the end I rebooted the phone (holding my breath) and tried again and it worked fine.
I chose the VillianROM FroydVillain as a replacement ROM. It's based on the CyanogenMod but with a moderately customised kernel and a few additional packages. The process is fairly simple but it does wipe all your current settings and apps. It's extremely advisable to back-up all your data before you go down this road.
First impressions are fairly good. The phone certainly seems a lot snappier but it's hard to know without having a second phone to hand to do side to side comparisons. I dumped the "Launcher Pro" launcher and installed the open source ADWLauncher instead as I was getting pissed off with constant nagging to upgrade to the Pro version every time I tried do something. About the only thing I miss from the old HTC Sense setup is HTC's clock widget/alarm/timer/countdown.
I suspect if I'm going to do any hacking on the low level I'd switch to using CyanogenMod as most of the derived ROMS aren't exactly source driven. However I need to start writing some proper Android Apps first. However I'm mainly just happy not to be reliant on my network/phone manufacturer to be able to update my phone. People running older Androids might find this article slightly worrying. While the iPhone is never going to be the device for me the fact they centrally manage updates rather than delegating to vendors who may or may not care means they do actually role out security updates. Given a modern smart phone contains so much personal data it does make one think.