Baking Cakes

I’ve been doing web-development for quite a long time now. But honestly it was never nearly half as much fun as when I discovered CakePHP a year ago.

It took me not even six hours to write the Android ROMs section, a task I would have spend at least a week on before I knew CakePHP.

By the way, the fancy graph is done using the JavaScript InfoVis Toolkit (another great tool for web-developers).

Curing a Legend

Google’s Android platform is mostly great, but it does have a serious problem:

Manufacturers can’t keep their fingers off the interface.

This produces systems that do not even look like Android (and, as with Sony’s, annoy everyone), sometimes even worse than that.

Apart from awful Android skinning there is a new trend and light in the darkness for us purists: Android vanillaizing!

It’s software dermatologists devoting their precious nights and sleep to finding the cure to Android acne. In the case of the HTC Legend (comes with Sense) I was able to compile and tweak the Android Open Source project. Later I decided to start porting (and patching, where necessary) the famous CyanogenMod, which I’m using on my phone right now.

Beans, anyone?

Find first beta versions of my port called “Indigo Bean” and updates and bug reports on xda-developers.

Since we’ve got support by koush’ outstanding ROM-Manager the recommended method to install it (after rooting your phone) is getting this app via the Android market and downloading “Indigo Bean”. Just a few clicks (taps!) and you are set to enjoy.

Android, Signing and Proprietary Apps

Android phones are delivered with proprietary apps that greatly improve the user’s experience. Some might even say an Android device without Google apps is only half the fun.

For being accepted as valid packages, apps are signed. Moreover if an app wants special-1337-system privileges, it has to be signed with the platform key. This is to make sure apps behave correctly.

So if you come across a message that tells you the system just ignored a package (“Package xyz has no signatures that match those in shared user android.uid.system; ignoring!”), just resign it with your platform key. If you don’t have the platform key: Bad luck.

This is rather a note to myself (the sky just fell on my head):
Google apps that always need resigning are GoogleCheckin, GoogleSubscribedFeedsProvider and NetworkLocation.
Don’t ever dare to sign any other proprietary app, Google doesn’t like that and your Android system won’t allow you to use it.