I've been using iBetterCharge for some time and I quite like it. Except the fact that sometimes it's annoying with its loud warning sound.
Anyway, I'm wondering how do apps like iBetterCharge and coconutBattery work? I mean how do they read iPhone batter level over wireless networks?
My personal research did not reveal much regarding how to read the battery level of a device programatically. However, according to the iBetterCharge FAQ they do not talk with iPhone at all. They say the app communicates with the device using the data which iTunes itself gathers.
But how?