Tuesday, June 30, 2009

Video of HTC Hero on Magic in action

Hero/Sense UI on your HTC Magic

So last night a very interesting thing happened. Someone on xda-developers released an official HTC Hero ROM for the world to see, and instantly people started picking it up and ripping it apart for all the existing Android phones.

Including.. your very own HTC Magic.

Now there's two variants of the HTC Magic - the PVT32A model that is HTC branded and has 288MB ram and the PVT32B model that is usually Google branded (some times in partnership with a carrier) and has 192MB ram.

As mentioned previously in my blog - I have the former.

And if you too have the PVT32A model - you can follow the following instructions and install HTC's latest Hero/Sense UI interface on your own HTC Magic's ;)

Trust me.. it's worth it!

Next you need the HTC Magic ROM for your device - I used this one provided by skittleguy on xda-developers. I didn't need to change my SPL at all to apply this rom - I still have the stock one listed below in an earlier post. Applying SPL and radio updates should be done with caution - as this is where things go wrong and phones get bricked - but applying a ROM update like this should be relatively safe.

Update - 1st July 2009: the xda-dev guys have released an update to this rom called 1.1 with the wifi fix and a few other fixes for our Magic which you can grab from here. If you install this rom you will not need the Wifi fix below!

Download it and copy it to the root of your SD card and rename it update.zip

The next thing you need to do is have a recovery rom and fastboot working on your machine. I used daldroid's recovery rom which you can download directly from here.
You'll want to save this into your tools directory (unless you have the tools directory in your system path like me and then you can put it in any directory)

PLEASE NOTE: Before you take the next step - make sure you've synced all your contacts, backed up any applications from the market you want to keep, and backed up any settings or stuff that you want to keep on your phone - this will wipe it fully!

Now.. drop your phone into fastboot mode by powering it off first (hold down the power button and press Power Off), then hold the back button down when you press power to power it back on to drop it into fastboot mode.
If you see three little androids on skateboards on the screen and FASTBOOT listed then you're on the right track.
If you hook it up to your PC now via USB you it should change to Fastboot USB.
Lets check this by starting a command prompt and first check fastboot is working fine with:

C:\AndroidSDK\tools\> fastboot devices

If it lists a device then you're in business!

Now we need to boot the recovery rom - you do this by:

C:\AndroidSDK\tools\> fastboot boot daldroid-recovery.img

Your phone should start loading the recovery rom now and you should be greeted with a small menu with a handful of options. Its your last chance to do a full backup now and you can use Nandroid 2.1 to do so if you want.
Otherwise you're going to want to select Wipe first - and then once the wipe is complete you'll select Apply Update.zip

Then wait while it uncompresses the update.zip file and installs the Hero ROM.

Once it's fully installed you'll be greeted with a funny TMobile G1 splashscreen (not sure who put that there) and then a cool HTC logo with the little androids peeking out behind it. It takes a while to boot the first time, so be patient.

Now there's just one last thing you need to do to get that Magic of yours working sweet - you need to apply a Wifi fix before wireless will work:

You'll want to download this updated wlan kernel module and save it in your Android SDK tools directory like before:

Then drop into your command prompt and use:

C:\AndroidSDK\tools\> adb remount
C:\AndroidSDK\tools\> adb push wlan.ko /system/lib/modules/wlan.ko
C:\AndroidSDK\tools\> adb reboot

And that's it.. your HTC Magic should now be loaded with a fully enabled Hero ROM with Sense UI! Have fun!!!! :)

Additional Comments after a fair bit of use of this new rom:

* Initial slowness – you'll probably find it'll be slow initially for the first hour or so until it gets the caching right for your usage. Initially you'll probably be bouncing between heaps of apps configuring them and installing them so it'll throw it right out – once you get settled a bit more it'll smoothen up a bit - I've found it pretty smooth once it gets going and that's without the need for swapper/setcpu/apps2sd or any kind of tweaking! :)

* LOUD - the volume is turned up on these roms and it can be annoying at first - especially the bootup – though once it's started up I don't mind that so much really though as at least you can turn it down some. Need some way of disabling the bootup sounds!

* Wifi/3g works great for me – tho not tried bluetooth fully yet – I can turn it on but don't have any bluetooth devices around to test with.

* The new Social Integration - ie. flickr/twitter/facebook integration is awesome.

Twitter is right on the desktop with notification of new tweets, etc and is very integrated – you can even auto-post a link to your current location/lat-long/etc, attach pics automatically, etc.
Facebook/flickr seems to be simply for uploading of images it looks like – so you'll still need another app for browsing/chat/etc.

The new HTC widgets are very cool too - great to have a bit more choice than before! – though I wish the Contacts one was a bit more customisable – you can't sort or shuffle them how you want – it's just alphabetical and in my case my SO is past the bottom of the list which is annoying.

Also noticed that there's no 'Contacts' application anymore - which is a shame as I liked using this to browse my contact list - I guess you could go to the dialer directly - there's probably a htc replacement somewhere as they've revamped it internally (you can do funky stuff like click on a contact and then click on his/her address to see it in google maps and stuff like that which is cool) - can't see how to link this to the desktop directly tho!

Friday, June 26, 2009

Updating the splash screen on your HTC Magic

So you have an appropriate image you want to use for your phone:

Perhaps something like this one?

To copy this onto your Magic you need to first install busybox.
Busybox is basically a small, but powerful shell that contains hundreds of standard linux commands.. like free, top, ipconfig, cp, rm, etc. You'll find it incredibly useful and invaluable once installed.

So if you have busybox installed you can install the splash screen above by first saving your image (like the one above) as boot.gif in your sdk tools directory (or any directory if you have that the android sdk tools in your path!) and use:

adb remount
adb shell busybox cp system/media/boot.gif /sdcard
adb shell busybox rm -r system/media/boot.gif
adb push boot.gif /system/media/boot.gif
adb shell reboot

This will make a backup of your existing boot screen, remove the one off the system (or it's readonly) - and then push a new one out in it's place - and finally reboot the phone so you can see it!

Please note that this is not the first splash screen that comes up.. it's like the third or something.. the one that displays when it makes a sound.

Thursday, June 25, 2009

My hard shell case for my HTC Magic arrived today.

It's actually not too bad, much better than the silicon style cases in my opinion - as they tend to collect dust/dirt/sweat underneath and scratch the hell out of the phone. This one doesn't cover the front at all, so doesn't interfere with touchscreen/buttons at all which is good, but its protects the edges and back from scratches and has a kinda smooth rubbery feel.
It actually comes in two parts and clicks together to surround your HTC Magic phone, so it holds together pretty well, though it has no clips at the bottom though which means I get a slight gap of 1mm or so there.
I was more interested in the screen protector I got with this purchase to be honest - it cost me AUD$7 including shipping to get this cover and a screen protector, and the price of 3 screen protectors was much the same - so figured I'd see whether this was any good.
I ended up deciding to get an InvisibleSHIELD from ZAGG for the Magic not longer after I ordered this though - I've heard great things about them but never given them a go - but I really love this phone and so decided to do it this time around ;)

Tuesday, June 23, 2009

My FastBoot Info

Never actually recorded mine down fully, so thought I'd do so now:

HBOOT-1.33.0009 (SAPP10000)
May 8 2009,21:02:32

Internal Phone Storage != RAM

So all this time I've kinda assumed I had a HTC Magic with 288MB - and I've noticed that as I install apps it drops down a bit - it's currently at 210MB. I keep thinking this platform is like WinMo in that regard.

But it's not. The Internal Phone Storage in your HTC Magic settings is actually the leftover from the 512MB ROM - and your apps are installed here and not in RAM like I thought.

To find out how much RAM you have - you need to pull up a shell and type 'cat /proc/meminfo'

You can do this using adb shell if you like - as is shown below:

# cat /proc/meminfo
cat /proc/meminfo
MemTotal: 197144 kB
MemFree: 12076 kB
Buffers: 36 kB
Cached: 30404 kB
SwapCached: 0 kB
Active: 146612 kB
Inactive: 16364 kB
SwapTotal: 0 kB
SwapFree: 0 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 132560 kB
Mapped: 16756 kB
Slab: 7676 kB
SReclaimable: 1360 kB
SUnreclaim: 6316 kB
PageTables: 7724 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 98572 kB
Committed_AS: 2211832 kB
VmallocTotal: 319488 kB
VmallocUsed: 77564 kB
VmallocChunk: 183292 kB

Now the first line is what you want to know - and in my case I have 197MB of RAM available to the OS. So if I have a 288MB HTC Magic where does it all go?
The rest of the memory (around 94-95MB for most ROMs from what I've heard) goes to your radio, framebuffer and other hardware and is not accessible from the OS directly. The original HTC Dream's are the same - except they report a MemTotal of 98MB as they have only 192MB ram total.

Interesting huh?

Thursday, June 18, 2009

Debian on Android

Oh wow.. so you can put Debian on your Android phone too!
Obviously it's a little harder with a HTC Magic as you have no hardware keyboard but would be pretty cool if you can get the two to coexist somewhat.


You can find more info up on Saurik's blog above (he's the guy who runs Cyrket).

Wednesday, June 17, 2009

FBReaderJ and Ebooks on your Android Phone

So one of the main uses of every phone/pda I've owned for the last 8-9 years is read ebooks. It's funny because I seem to be in the minority - but I find it incredibly useful to be able to bring out my phone and read an ebook no matter where I am.
If I'm in a queue at the shopping centre, waiting for a haircut or catching the train - there's nothing better than to read a book. I've always loved reading and one of the coolest things you can do with a phone with a great screen like the HTC Magic has is read ebooks on it!
And of course with heaps of storage space on your phone you can carry a lot of them too - so you'll never run out on the go!

Now up until now I've used WinMo phones and I've generally always used Microsoft Reader or Tiny eBook Reader on those - mostly because the collection of books I have is all in Microsoft .LIT format.

The last couple of years there's been more interest in the ebook market and they've settled on a publishing standard called ePub.

So what to do with your existing .LIT ebook collection? Well.. if it's unprotected and there's no DRM - then you can jump on your local linux box (ubuntu or debian as you choose) and 'apt-get lit2epub'.

Now that I've given an introduction on ebooks, lets look at what ebook reader you can use on your new Android phone - there's a number of them on the market, but the one I like so far is FBReaderJ - it's a native Android application - renders the book extremely nicely and you can either flick your finger up and down (or side to side) to change pages - or you can use the volume up/down buttons on the side.
Your place in the book is stored everytime you change page, so if the app closes, phone dies, etc it will always jump you to where you were reading last next time it's opened.
I generally always have it open in the background and have a shortcut on my home screen to get to it always. You can read in the dark using the white on black mode shown above, or you can read in the daytime using more traditional black on white.

If you're wondering where you can source ebooks - there's plenty of places out there - I've been going through the Baen Free Library which has an awesome collection of science fiction/fantasy novels from a wide range of authors, though I got these in the .LIT format and then converted them. There's also epubBooks who have a nice collection of free ebooks - and have a heap of links to commercial ebook vendors.

Forget the Kindle - grab FBReaderJ and start your ebook collection on your phone - you won't regret it! :)

Monday, June 15, 2009

So up until now I've been unable to see the paid apps in the Android Market.

I don't know whether I actually want to buy any yet.. as the free ones are pretty comprehensive, but it'd be nice to at least see them!
As I'm on Virgin in Australia and they're not likely to get Android Market support in the next century I found another way around it and discovered market-enabler.


This little app (I tried the beta) - lets you see what your provider id's are and you can fake another provider if you want.
I don't know any of the 3/Vodafone provider tags, so I just used T-Mobile for now and this works pretty sweet for me.

Saturday, June 13, 2009

We have root!

So after installing like a gazillion apps and playing around, I decided to look at seeing if I could restore an original (non Chungwha Telecom branded) rom on this phone and I came across daldroid's posts on xda-developers.

He had some original recovery roms that could be used to get root, and it had been tested on my Taiwan sourced phone, so I thought I'd give it a go.

So I copied the files across to my sd card root, renamed the signed.zip file as update.zip and then dropped it into fastboot mode. You do this by powering the phone off (hold down power and then select Power Off), and then once it's off then holding down the back button and pressing power to turn it on, and it drops your phone into a special mode called fastboot usb.

I still had mine plugged into my pc, and a quick 'fastboot devices' in the command prompt showed that the device was connected.
Then 'fastboot boot daldroid-recovery.img' booted up the image.
I couldn't do the nandroid backup like they suggested - I think it wanted root access, but selected wipe and then 'apply update' and voila.

And it damn well worked too!
Rebooting afterwards gave me a nice clean HTC Magic rom with none of the Chungwha branding and an english keyboard.

I then followed the wiki article on Magic Rooting and got a terminal emulator and installed su as per the instructions.

Excellent!!! I have ROOT!

Lastly.. I came across this post by Haykuro whereby he'd made the new HTC Keyboard installer available. This was prettymuch my only gripe with the Magic so I installed it at once.

Oh man.. it makes such a difference and I feel like I'm home as it's the same keyboard I had on my HTC Touch Diamond.

I made a short video to show you all how good it is and a short review of the HTC Magic I have now.


Hello Android

So my brand new Google phone - the HTC Magic - aka Google G2 aka Sapphire - arrived yesterday via fedex. HTCMagic-5
I'm not with Vodafone or 3 in Australia, and these are the only guys who seem to be offering the HTC Magic locally - and you'd need to be on an AUD$69 plan for two years to get one free (more than AUD$1600 over two years).
And to top it off, the white one they're offering in Australia is crippled with only 192MB memory - while the black one has the normal 288MB memory.

So I decided to buy mine outright - I got one for AUD$819 off ebay including 8GB Micro-SD card and fedex shipping to my door.
I ordered a white one with 288MB memory, as I thought the black one looked too much like a finger magnet from all the promo shots I saw.

I'm glad I got a white one - the HTC Magic is a very nice looking phone - slim, nice to hold and just barely bigger in overall size than my HTC Touch Diamond really - except that the screen is much bigger (though the resolution isn't).
It has a very nice screen though, bright and clear and the buttons are easy to press.
The tiny trackball is pretty funky - though from what I've seen so far it doesn't look like it's used a lot. There's no pointer or anything - and only apps like the browser or google maps seem to use it for anything other than another way of jumping between icons on the screen.

The Android operating system is very fast - you notice that when you start running things like the Browser, Gmail, and the messaging that it's extremely quick and easy to use.
I have a Google Apps for domains account and it synced my mail, contacts and calendar straight away.

The keyboard isn't as nice as the HTC Touch Diamond's one - the keys just seem a little too thin and I keep pressing the wrong ones even though I'm used to typing on a screen.
There's no shortcuts to symbols and numbers like the diamond has either - with the Diamond every key also displays the numeric/symbols that share those keys above it - and by pressing and holding the key for a second you get the latter without needing to switch modes. I've found this waaay faster for typing in stuff like numbers and punctuation. I've heard that the htc keyboard is available in the new hero/rosie builds though - so I have that to look forward to! ;)

Then I opened up the Market and was blown away by the sheer number of applications out there - and all of the ones I've tried so far have been of very good quality too.

I've found a few apps on the Market that I liked so far:
  • NetCounter is a useful app for keeping track of your data usage. Install this first!
  • Facebook Sync searched among my contacts for matching names on facebook and updated their picture in my contacts list.
  • ChompSMS is a iPhone like Messaging replacement that uses bubbles for messages and looks nice.
  • FBReaderJ is an awesome ebook reader - I was able to use lit2epub to convert my entire lit collection of ebooks over to epub - which is what the fbreader supports.
  • AndFTP is an ftp client that also supports sftp and ftps - great for accessing your home server while on the go!
  • ConnectBot is a ssh client that seems to have support for tunnels and stuff too.
  • Twidroid is a twitter app for Android that seems pretty cool - though beware that it checks every 5 minutes by default and this can drain your battery and chew up your bandwidth something terrible - so disable that like I did ;)
  • Linda File Manager seems like a nice file manager app - but not really needed to use it much yet.
  • WeatherBug offers a nice new widget for seeing the weather on your phone - in addition to a full app showing every weather detail you could want.
  • Robo Defense is a very cool tower defense game for the android platform - I've only played the free version so far but it's fun to play.
  • Bonsai Blast is a nice 'Zuma' style game for the android platform - free too which is nice.
And many many more.. It'll take me ages to discover all of them I'm sure.

Now the only real problem I've had with this phone so far.. is...funnily enough.. connecting it to the PC.
I've connected it to three different pc's so far using three different cables and the first time I connect it to each PC the phone reboots.
This seems like a problem with the version of android I'm running (which is a taiwanese Hami/Chungwha Telecom branded one) as I've asked around and noone else has experienced this issue.
Nevertheless, it happened to me - on three different machines - Windows 7 64-bit, Windows Vista 64-bit and Windows XP 32-bit.
In each case.. once the phone had rebooted it was detected fine and would charge, could mount the sd card, etc - and subsequent connections on those machines did not repeat the issue - so it's a once off.
But it's wierd anyway!

Apart from that small hiccup - I'm loving this phone - it's fast, works great, does everything I need it to do and more, and the app market is great so far!
Eventually I'll get to rooting the phone and trying out custom roms and stuff, but for now - I'm very content with the platform I have.

More photos of the HTC Magic are available on my flickr account.