Remember how many complaints people issued when the "Runtime remaining" only said 9 hours, shortly after the H300 battery fix? People assume that it's somehow calculated based on current power consumption rate, rather than simply being "We expect it to last a total of 16 hours, you have 80% left, 0.8 * 16 = 12.8, so 12 hours, 48 minutes" (which is, I believe, all that's done now, with the "we expect it to last a total of 16 hours" being based on what you've set as your battery capacity).
It's actually a bit more complicated than that. It bases the calculation on the current being used at the time (the calculation of current usage is done by the runcurrent() function). It takes account of USB, backlight, SPDIF, remote LCD, recording and memory size. While it's no doubt nice to have such an accurate report (I'm assuming it's accurate on targets it has been calibrated for, all the targets I have are way off), IMHO it over-complicates things, and the complexity will only get worse as more features, codecs and targets get added. So my vote still goes for stripping out all the complexity.
