When Google unveiled Android, it hoped it would make good quality, touchscreen smartphones accessible to everyone. To achieve this, it took the unprecedented step of making its new mobile OS open source, encouraging anyone to contribute - users and manufacturers alike.
This aspect means not all Androids are equal, and the same handset can behave differently depending which network you got it from. A typical side effect of network customisation is a noticeable drop in performance.
Some networks don't let you access the Android Market, instead limiting you to their ecosystem. Other operators stuff their phones so full of extras that their handsets slow to a crawl.
There are alternatives to just putting up with what your operator has shovelled onto your phone. There are now hundreds of bedroom coders around the world helping others get the most from their Android devices. This usually involves scraping away all the unnecessary add-ons, while also collecting the best Android code.
Whole communities have sprung up around particular hardware manufacturers and software hacking groups, providing feedback, testing, and support for any improvements developers can make.
While an exhaustive guide to Android hacking would be nigh-on impossible to write, we hope this guide will give you some key pointers on how the process works, what you'll need to get started, and explanations of common phone-hacking jargon.
Some of what we're going to look at will need a bit of patience and experimentation on your part. It may not work first time, so you might need to experiment a little. Hacking your phone isn't a process you can leave halfway through either - not if you still need a working phone at the end.
If you've never hacked anything before, we recommend reading through the whole article before trying it yourself. We should also point out that the process of changing your phone's operating software could likely invalidate your warranty.
If things do go pear-shaped, you won't be able to simply drop by your local Orange shop and expect them to fix it. Having said that, it's very hard to 'brick' (irreparably break) an Android device, and we've yet to experience it.
Android comes in all shapes and sizes. Who manufactured your phone and how old it is play a large part in determining what version of Android it will be running.
Given how terrible every company except Google is at rolling out updates, it's no wonder the experience is inconsistent. A fair chunk of blame lies with Google, too. Letting everyone develop their own version of Android to run on their devices has made it near impossible to keep the whole user base up to date.
Many manufacturers simply release their phones with whatever version of the software is current at the time and don't revisit them when Google issues an update for Android.
There are currently four major versions of Android in circulation, though the earlier ones are dwindling fast. Helpfully, Google has given each version a dessert-related nickname: Donut (1.6), Eclair (2.1), Frozen Yoghurt or Froyo (2.2) and Gingerbread (2.3).
You can find out which version your phone is running by going to your application screen (also known as the App Drawer), then choosing 'Settings | About device' and sliding down to 'Android version'. Make a note of this, because some hacks only work with certain versions. You may need to carry out a couple of sequential upgrades if your software is really out of date.
As you might expect, Android is such a disparate and many-headed beast, there isn't a simple 'one size fits all' solution to hacking. Don't worry though, because there are lots of Android hacking communities where you can find plenty of phone-specific advice and support.
The first piece of device-specific information you're after concerns the process of rooting. This is the act of stripping out any software protection your manufacturer may have put in place to prevent user-tampering.
The addition of such software is a fairly common practice, and the best way to start is simply to type something like 'root htc desire' into Google.
Read up on what you find carefully. Sometimes it's as simple as plugging your phone into your computer via USB and copying a single file to it, but more often than not, rooting requires several steps to circumvent manufacturer lock-outs.
Pay close attention to the steps required and make sure your phone is fully charged before you begin to avoid bricking it.
Assuming the rooting process has gone well, you should now be onto the exciting bit: picking some lovely new software for your phone. Commonly known as a ROM, replacement phone software is the crux of the Android home-brew scene, and it comes in many guises.
One of the most popular ways of getting new software for your phone is to use what's known as a 'kitchen' service to 'bake' you an up-to-date release of Android for your specific phone. These kitchens let you decide which applications and utilities you want installed on your phone by default. They come with a large range of sensible inclusions by default - Gmail, Android Market, Google Maps and so on - as well as a range of extras specifically for hacked/rooted phones.
They're not all free to use, though. Your average Android ROM usually comes close to the 100MB mark, so many developer communities charge you a small fee - approximately £10 for a year's access - to help support their development and pay for bandwidth. It's worth doing, because a donation-based kitchen usually means an active and dedicated community - which, in turn, means you should get plenty of guides and support, along with regular software updates and other improvements.
Let's bake a robot
In our experience, it's always best to start with the default kitchen configuration (the options that are selected before you click the big 'Download' button at the bottom of the configuration screen). You can try taking things out or adding extras in, but we've found some kitchen ROMs to be quite fragile when it comes to this sort of mucking about.
You can install most things manually via the Android Market later on, so stick with the default kitchen configuration to begin with.
Once you've baked and downloaded your new ROM, you'll need to load it onto your phone - a process known as flashing (dirty raincoat optional). The way flashing typically works is by copying your downloaded ROM zip file onto your phone's SD card, then rebooting your phone into something called 'Recovery mode'. This is a very basic, low-level operating system for your phone's hardware; if you're old enough to remember having to load DOS on your computer before Windows, you'll know exactly what we mean.
You can boot into Recovery mode in one of two ways: either using a physical app installed on your phone as part of the rooting process, or by switching your phone off completely and then powering it up while holding a specific combination of keys or buttons. All this information should be available in the same place you got your rooting software from earlier, so have a read through the details there about exactly how to get your phone into Recovery mode.
Clear the decks
Assuming you've copied your new ROM onto your phone's SD card and then rebooted into Recovery mode, you need to do a bit of housekeeping. Before you flash your new ROM, you must clear out all phone- and ROM-specific settings and data caches.
It's important that you clear your phone's existing settings in recovery mode before you flash your new software onto it. If you don't wipe your phone first, the device can end up in a perpetual loop of booting and rebooting as it tries to run the new software using your old software's settings.
The wipe/clear options you're looking for will relate data and cache. There are usually two types of cache (regular and Dalvik), and one kind of data; make sure you wipe all three of these bits of storage, otherwise you could end up with the looping problem we described earlier.
Note that you don't need to boot back into recovery mode after wiping - you can start loading your new software as soon as you've cleared all three storage areas.
After your existing phone settings have been erased, go back to the main Recovery menu. Pick the option that will let you choose your ROM zip file from your SD card (often labelled 'Apply any Zip from SD') and install it. Pick this and navigate up or down until you find the Zip you copied across. Click on it once you've highlighted it and then dismiss the warning that pops up. Now sit back and wait a couple of minutes for it to work its magic.
Once your new ROM has been flashed successfully, you should be sent back to the Recovery screen's main menu. Pick the 'Reboot now' option (or similar) and your phone will restart and begin setting up its new operating system. This can take several minutes the first time it boots up, so be patient!
If your phone takes an excessively long time to reboot after flashing, or it gets stuck in a reboot loop when it's trying to start up, consult the forums from which you downloaded your ROM software. These problems can arise for various reasons, but they're always possible to rectify - even if it means going back to your phone's original software.
Even if you think your phone has been bricked, you should be able to bring it back to life pretty easily with help from the forum you found your software on. Lots of people think all is lost, but we've yet to find an instance where you couldn't bring the phone back to life on the various models we've hacked so far.
As a rule, there are two superb - and free - apps available for all Android phones that we recommend you install without hesitation.
First, LauncherPro, a replacement for Android's standard desktop presentation layer (or launcher), LauncherPro is optimised not only for speed, but for a minimum of fuss and clutter too. The basic version is free, lightening quick - even on older and less powerful phones - and we urge you to give it a try.
Juice Defender is our second pick. With smartphones, battery life can be a bit of a headache, and anything that makes it last longer between charges can only be a good thing. You'll find many recommendations for 'task killer' apps, but these programs don't really improve battery life in our experience. In fact, they seem to drain the battery even faster, as Android and your task-killing app wrestle for control.
Your best bet for a longer, happier battery life is to install an excellent little app called Juice Defender. Running constantly in the background, Juice Defender actively monitors your phone's activity and ensures it's not doing more than it absolutely needs to.
You'll never miss a call, text, or that all-important social media alert, but you will get more standby time per charge. In our experience, 1.75 times longer battery life isn't an uncommon result of Juice Defender's clever and careful programming.
Install it and see how much extra battery time you get - and don't forget to thank us later.
Liked this? Then check out 40 best free Android apps
Sign up for the free weekly TechRadar newsletter
Get tech news delivered straight to your inbox. Register for the free TechRadar newsletter and stay on top of the week's biggest stories and product releases. Sign up at http://www.techradar.com/register