Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
There are many ways, but the most apparent one is governing how often the phone "pings" the network. The lower the number of pings equals lower transmitter use and therefore lower battery usage. Also software can throttle processor usage and lower battery usage. There are multiple ways for software to affect battery usage.
 
From the limited programming I learned, the one thing I can point to is doing stuff simpler. Basically having whatever task done with fewer lines of code (and therefore using the processor less). I never did anything very complex, but that's one of the basic ways to do such a thing.
 
maybe apple can let us choose the times that we want to use location service and fetch mail so that we can allow it to be on only from 8am-10pm, or turning off push email on weekends... i know that i do not want to receive work emails on weekends and probably won't use location service at 3am....
 
They can only do so much, such as debugging some of the options that remain turned on when they are not being used. One infamous example was the location service, which was draining battery when it's not being used. Another like one poster has already suggested, which is to improve Push services. However, I doubt there's much Apple can do in that arena, Blackberry owns Push.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.