Hi all,
Just stumbled across this thread and I've read it with much interest.
I'm the author of the widget and am very encouraged by the feedback here and on the market. Unfortunately on the market it's impossible to reply to people's feedback, so hopefully I can get more feedback in these forums.
I've been a bit out of action for the last month due to Christmas, New Year, family and travelling but I'm getting a todo list together so I can get back on with development of the widget.
Firstly, I just want to clear a few things regarding how Battery Left works:
The widget stores the duration between recorded battery changes - ie it stores the time it takes to go from 100% to 90%, and from 90% to 80% etc etc. To reach the theoretical 100% accuracy, the widget needs to store 5 readings for every level change. If you're seeing low accuracy percentage, it's probably because you rarely let your phone run down lower than 70% or so. Note that the app needs an uninterrupted time between levels - ie if it's on 80%, then you charge it just for a few seconds, it will not log the 80% - 70% duration as the charge time inbetween would make that reading invalid.
The ideal phone usage for accuracy is to charge your phone completely full, then let it run down til it's completely flat. Charge til full again, and repeat. If you don't let your phone run down, or rarely charge it up full, or, connect and disconnect from charger or USB sync constantly throughout the day the widget will struggle to get accurate readings.
I've had quite a few comments regarding excess CPU usage. I have never seen this on my Droid or test G1, but that's not to say it doesn't happen. I suspect there's something odd going on with specific phones or batteries that is causing this problem - maybe the hardware is sending battery change events very regularly. The app doesn't do any comprehensive processing so I'm not too sure where to look to fix this problem but I'll definitely keep it in mind.
Other people have said they've had problems with non-stock batteries such as the Seidio 2600 extended life battery. Theoretically there's no reason for any problem as the algorithms are flexible enough to deal with any readings from the hardware, but there obviously is some problem here. I'll try and find a battery for the G1 to test soon.
I have some great ideas that I'd like to get into the widget such as the ability to report usage to a central server so everyone can compare their readings across different phones, batteries, versions, custom ROMs etc. There's a good deal amount of work involved here but the results will be really interesting.
Anyways, over and out for now. Keep leaving feedback here and I'll take it all in.
Thanks all!
Matt