This post is part of my 30 days of geek challenge.
Being an open source geek, it probably won’t surprise you that I’m a fan of Android, Google’s open source operating system for mobile phones.
I currently own an HTC Magic G2 running CynogenMod 5 (Android 2.1) and am loving it, whilst it has it’s faults (mainly this model lacks CPU/RAM) it’s a great little phone.
Incase you’re not familiar with Android,
- Open source operating system developed by Google and released under an open source license.
- Wide range of Android phones and devices (inc tablets and laptops) released by a variety of manufacturers.
- Runs the Linux kernel and some open source libraries but doesn’t have the typical linux userspace, instead most of it is written in Java running on the Dalvik JVM.
- Designed to be an open platform with the ability to install or distribute any application.
There’s a number of good reasons why I’d chose it over Win Mobile, iPhone or Symbian:
- One of the more open platforms – most of the OS is open source and I can customise it or use other people’s modifications – ATM I’m running CynogenMod on my phone to take advantage of OpenVPN and some applications which require Android 2.x
- Symbian and Win Mobile (version 6, I haven’t seen 7) is an entire generation between the new smartphone operating systems like Android and iPhone. And Apple’s products are far too locked down and restrictive for me to support them.
- No forcing users to use a specific OS/application (eg itunes) just to load files or content onto the phone – just mount like a standard USB storage device.
- Range of vendors providing huge selectivity of platforms.
- Ability to develop for Android on Linux systems.
Android isn’t perfect though, there are certainly some limitations/problems that I’m not completely happy with:
- Vendors/carriers implementing their own lockdown in the phone bootloaders to try and prevent users from running unauthorised kernels. (looking at YOU Motorola!)
- Performance – a lot of the Android phones (particularly the earlier models) are very laggy, I suspect the CPU/RAM is just a bit too scarce compared to the actual requirements of the phone.
- A number of components are still proprietary – such as Google apps (including the marketplace) and the telephony drivers for the server.
- Google’s marketplace doesn’t clearly differentiate between proprietary or open source applications, making it difficult if you want to aim to only use open source applications.
- Vendor variation and telco control.
This last point is a big issue for myself – Google allowed the vendors too much flexibility to customise the phones and still call them “Android”, what is already happening is that some vendors are reskinning or customising the firmware, whilst others are not releasing updates, so thatsome of the phones are stagnating on old versions of Android.
To make it worse, the telcos have control over update distribution rather than the vendors, so you have to wait for your telco to approve and push out updates and experience shows they aren’t the fastest or most efficient organisations.
But, despite some of it’s faults, over all it’s a pretty decent OS and certainly gives Apple a run for their money whilst utterly thrashing the older OSes like Symbian and WinMobile 6.
And it runs Linux ❤
Also, all the cool kids (http://chris.neugebauer.id.au/2010/11/07/30-days-of-geek-07-preferred-smartphone-platform-and-which-do-you-use/) use Android ;-)