Today's Adventures In Android

I received a HTC Magic for my birthday and for a few weeks both my partner and my iPhone were jealous of the time I spent with it.
My missus' response wasn't exactly helped by the term used for 'jailbreaking' an Android-based phone. In America it's a pretty innocent term, relating to gaining root access to the filesystem on such a phone and getting a bit more functionality out of it.. Here in Australia, the term is a euphemism for horizontal tango. So telling my partner I was thinking of "rooting the android" got quite a nasty look from her.I would not be at all surprised if Australian readers all keeled over laughing at the above sentence. However, our Yankee friends would be asking why we were all laughing. That said, I'm back to spending more time with both my partner and my iPhone this week, although I've been keeping up on some developments for the Magic and other Android devices.The Android OS for mobile phones is a Linux variant, though today's news points out that it is forking just a tad too much from the main Linux development. At the heart of any Linux distribution is the kernel, which helps the hardware and the software communicate and interact. You fine-tune any Linux distribution to your specific hardware by re-compiling the kernel and adjusting things more specifically. The Wikipedia article linked to just above gives a more detailed explanation. Up to now, Android utilized the 2.6 version of the Linux Kernel and there had been Google code contributed back into the community kernel. Today that code was removed. There are some things specific to Android you don't find in other Linuxes. Android does not use X-Windows as its graphic interface, for example. One viewpoint for that and other difference between Linux and Android is explained here. Then there's the C programming language. It isn't officially supported on Android, whereas it's key to almost all Linuxes. Instead it uses bionic. Even the virtual machine differs from standard Java, using the Dalvik Virtual Machine and not supporting implementations of Java even found on Nokia phones. All that aside, Android driver code is differing so much from the main Linux Kernel tree that there would be incompatibilities if it were a part of the main kernel. There may or may not be some amount of politics to it, but in the end just the examples above show where you can't call it a mainline Linux. It'll be up to the Google and Linux people to sort it out from there. Kind of makes me glad I just utilize an Android phone, not develop for it.
