A smartphone, whether an Android, iPhone, Blackberry, or Windows, is only as good as what you can do with it. My perspective from once an iPhone owner to an Android owner is that the iPhone is much better job at automating menial tasks I don't want to think about. The main improvement is the iPhone does a better job at turning on/off radios for the general population which equates to better battery life. But Android has several apps that can do automation. The one with the simpliest UI and without a doubt is the best app for android is "AutomateIt".
Exactly what does AutomateIt do? You create a set of Rules that the AutomateIt follows. A Rule is simply the combination of one Trigger and one Action. A Trigger defines when the Rule is executed. The Action defines what the Rule will do. So how does this help? Imagine the follow scenarios (which AutomateIt handles perfectly):
By far one of the biggest battery drains is leaving your Wifi On when not connected. Your Wifi ends up constantly "searching" for a connection, which uses batteries. So I want to Turn ON Wifi while at home, but turn OFF Wifi when not at Home. It requires two Rules, one to turn ON the Wifi and one to turn OFF the Wifi.
Trigger: "Cell ID Trigger" - You designate a list of cell towers your phone is connected to to determine if you are home or not.
Action: "Set Wifi State Action" - Turn On the Wifi state when your phone is connected to one of the cell towers in your list.
This is much better than other solutions that require temporarily turning on the GPS state to check your location because GPS is also a battery hog, even if for just a few seconds every couple of minutes.
Another trick I use to extend battery life is to Turn OFF data when the the battery hits a certain percentage. Keeping a data connection open with your carrier takes battery power. Turning off data when you have only 15% battery life can substantially extend the life of your battery while capable of accepting and making calls and texts. And at 15% battery, you shouldn't be streaming video. Useful for when I bike to and from work.
Trigger: "Battery Level Trigger" - I set this value to 15%.
Action: "Mobile Data Action" - I turn off the mobile data at these times.
Keeping your mobile phone synced also takes battery. Some take the steps of only updating every hour, which works well. What I like to do is set my sync to push (so I immediately get notifications), but only turn on sync when my phone is plugged in (at work or home at my desk). I adjust the sync settings depending on if my phone is plugged into power.
Trigger: "Power Connected Trigger" - Determines if your phone is charging.
Action: "Enable/Disable Sync Action" - turn on or off the sync functionality.
With just these three rules (actually 6 rules because the opposite rules need to be created as well), I can automatically improve my smartphone battery without any intervention on my part. So download AutomateIt from the Android Market and give it a shot. There are other Automation apps that provide more advanced functionality, but this one balances its automation ability with a friend UI. First use might be intimidating, but is pretty simple. AutomateIt also has a Rules Marketplace to download free rules. From what I know, AutomateIt is an Android only app.
Suggestions for AutomateIt Improvements
Like anything, there are certain cons to this app. My main gripe is that I have to set up two rules for each concept I have. One to turn the feature on, and another to turn it off. It would be nice if an option for a rule allows for the opposite of the rule to also work.