Facebook engineering manager Ari Grant has posted an explanation for the recent issues with the app gorging itself on power. Grant says that the battery issues were caused by a series of bugs including one that ate up extra CPU cycles, causing Facebook to use up more of your iPhone battery than it should.
After a post by Circa co-founder Matt Galligan and followups by Federico Viticci and Nick Heer caused some eyeballs to hit the issue, Facebook told us that it was looking into the problem and that it would put out a fix soon. That fix came today in an update to Facebook that should be available on your iOS device (though you wouldn’t know it from their release notes).
The other issue, that Facebook was running a silent audio stream in the background, is also called out. Grant says this was unintentional, and that it was not being used to keep the app alive — yet it did as a byproduct of the bug.
For context, using background audio (via the VoIP calling entitlement) to keep an app awake is an old standard in the app kludge world. A popular storage company used it at one point to keep their app open to grab new photos to upload (before it switched to using ‘known locations’ to wake the app up).
And I’m aware of a bunch of other devs that have used the trick in one fashion or another to get their apps to do something Apple didn’t want them doing — things like leaving an app open constantly in the background to pre-load content or advertising, to upload or download files or the news feed or more auto-playing videos.
So if you believe Grant, this is a simple bug. It could happen to anyone, etc., etc. If you don’t believe him, it was a thing Facebook was doing to make their app work a way they wanted it to but Apple didn’t and they got caught. I’m not gonna pass any judgments here — bugs happen all of the time and it’s not fun to get pilloried over a simple mistake. Either way, attention was brought to it and it’s fixed now. For what it’s worth, I’ve heard that this was, as stated, a bug.
Whether it’s double checking for bugs or treating your users with respect, it’s important to remember that a mobile device’s battery is a finite resource. Using that resource wantonly can seriously inconvenience or, at worse, put lives at risk.
