Complaints that Facebook's app for iOS causes excessive iPhone battery drain date back a couple of years. But with renewed outcry from users and iOS 9's ability to monitor battery usage, Facebook has admitted its app is a resource hog and issued an update to correct the problem.
"We found a few key issues and have identified additional improvements, some of which are in the version of the app that was released today [Oct. 23]," Facebook engineering manager Ari Grant wrote on the Facebook blog Thursday.
The first issue addressed is what Grant calls "CPU spin" in its network code. He wrote:
A CPU spin is like a child in a car asking, "Are we there yet? Are we there yet? Are we there yet?" with the question not resulting in any progress to reaching the destination. This repeated processing causes our app to use more battery than intended. The version released today has some improvements that should start making this better.
Glad the company got that figured out, but it makes you wonder what else Facebook could do to its network code to improve it further.
Grant added that another update was made to the way the app manages audio sessions, which some users suspected earlier.
If you leave the Facebook app after watching a video, the audio session sometimes stays open as if the app was playing audio silently. This is similar to when you close a music app and want to keep listening to the music while you do other things, except in this case it was unintentional and nothing kept playing. The app isn't actually doing anything while awake in the background, but it does use more battery simply by being awake. Our fixes will solve this audio issue and remove background audio completely.
OK, that one got fixed too.
But what about the other theory for the cause for the battery drain? That alleged Machiavellian location tracking some users said they believed was going on, hidden in the background.
Grant explicitly denied that the excessive battery drain could be attributed to that because the feature would not have been enabled without users authorizing it.
"The issues we have found are not caused by the optional Location History feature in the Facebook app or anything related to location," he wrote. "If you haven't opted into this feature by setting Location Access to Always and enabling Location History inside the app, then we aren't accessing your device's location in the background."
Grant also mentioned additional areas of improvement to the app that they have identified but are not currently sharing. It appears that this is but the first of many updates to the app.
Facebook needs to make huge changes its app, and soon. For years, the Facebook app has performed poorly; draining users' batteries, as well as hogging lots of storage. That storage behavior became a big problem on smaller storage devices like the 16GB iPhones.
The battery drainage problem with the app was easier to pin down with the release of iOS 9. The latest mobile operating system from Apple can easily monitor battery usage through a new Battery pane in the Settings, which extended the battery information found in iOS 8.
But the company knew there were big problems with the app way before iOS 9 came out. When Grant says in his post that, "We recently heard reports of some people experiencing battery issues with the Facebook iOS app", I believe he is being disingenuous. The problems it caused have been widely discussed in the user community for a long time.
But it's not just Apple users having problems with the app. Android users have also been complaining about it too.
It may well be time for Facebook to rethink its app's design completely and rebuild from the ground up.