Down the Rabbit Hole

This may seem rather odd coming from an Apple user, but I’ve been having a rather intimate relationship with Android for the past few weeks.

Funnily enough, it all started in earnest around the time I wrote this post. By that time I had managed to get Android 4 running on one of my netbooks, and started looking at what it could do on Intel hardware because it’s readily available and rather easier to tinker with.

And, as it turns out, Android on Intel is very interesting form several standpoints. For starters, you get a much more useful OS than, say ChromeOS - one that you can even use offline, for real.

Hardware support is good enough (on the netbooks I have) to be of no consequence whatsoever, and the user experience is fast and fluid - the only awkwardness involved has nothing to do with software or having a mouse instead of a touchscreen, but rather by the utterly useless trackpads and cramped keyboards most netbooks ship with.

And, of course, there are apps galore. Most things I use on Android run fine, except those few - like games - that bypass the Dalvik runtime and ship with ARM code1.

App Development

I had also, by that time, set up a complete development environment in an LXC container inside this server. Command-line driven, of course - woe betide whomever gets sucked into the gaping maws of that behemoth called Eclipse, the one IDE I stubbornly refuse to run even at gunpoint.

My refusal to kowtow to that monstrosity allows me to code from the comfort of my iPad (ironic, I know) and, oddly enough, developing for Android (and porting Android) is rather easier than I remembered from my earlier exposure a few years back.

It should be pointed out, however, that if you want to port or tweak your own Android build, you should know in advance that the platform repos are massive, clocking in at around 5GB of raw source code if you throw in the full x86 tree.

And even if you’re only developing apps for it, documentation and overall design of the frameworks still leave a lot to be desired (but then again I’m spoiled by Apple’s approach to things).

Running it on Dead Badgers

Like Linux before it, Android seems to be portable to just about anything (in more or less usable fashion), and during the past week I tweaked the x86 build to run on the Intel Classmate PC (mostly works, although I’m stuck doing chores like a Portuguese keymap), tweaked my Nook Color, began a (halfway serious) port to the infamous Raspberry Pi and, amazingly enough, even resurrected an old, utterly useless LiMo device I had tossed away in a closet.

Yes, the Vodafone 360 H1 can run Android, largely thanks to a motley crew that never gave up during the past few years. Having had the cruel and unusual experience of testing the LiMo software to destruction prior, during and after launch and nearly gone mad with frustration in the process2, it was oddly liberating to confirm that the hardware was, in fact, somewhat ahead of its time, and only hampered by the embarrassingly bad software that launched on it3.

So yeah, I’m rather enjoying this foray into the “other” side. I’m even looking twice at Android phones - although I’d most likely skip the bleeding edge frills and get a Galaxy Nexus with an untainted, vanilla experience (but, alas, I’m not in the US, nor in touch with folk at Google, so…).

And, as it happens, today I got a MK802 Android mini PC (yeah, the one made in this factory), which knocks the spots off the Raspberry Pi as far as immediate usefulness is concerned.

More on that later, as there’s a bunch of other stuff happening right now that deserves to go on record - for instance, the upcoming Mountain Lion release…

  1. Actually, there are a number of people out there working on that. Intel has a working ARM code translator that allows their Android devices to run ARM binaries, and BlueStack has a working emulator that is apparently based off QEMU (even though they haven’t made any source code available as far as I can see). ↩︎

  2. Full disclosure: I was the programme manager for 360 in Portugal for a while. I’ve never hidden that from anyone, including the fact that it was, in the end, the main reason I left the company. I simply couldn’t risk doing anything like that again. ↩︎

  3. Reality can be stranger than fiction, but, in this case, just barely so. ↩︎