With the introduction of iOS 7, developers gained access to a new feature often referred to as “Background App Refresh” or “Background Fetch” that allows apps to update data in the background periodically. Users can control which apps fetch for data in a new Settings pane and developers can control the frequency of updates to craft an ideal experience for their specific apps. The result is supposed to be a faster, always up-to-date experience for users, but one developer warns it could also have a significant increase on server costs.
Pod Wrangler developer David Smith posted the chart above showing a huge spike in API requests and server costs after implementing background refresh in his weather app:
My first example of this was when I added Background Fetch to Check the Weather. A weather app’s primary function is displaying up-to-the-minute, constantly changing data so in my initial iOS 7 update I experimented with adding highly frequent background updates. The result was far more dramatic than I’d expected. Here are my weather API requests (which cost 0.01¢ per request) per day once the update went live. I saw an immediate jump in traffic, roughly 16x normal. Suffice to say I immediately had to scale back on my requested update frequency.
Smith also took a look at some other popular podcasting apps after running into similar issues with background fetch in Pod Wrangler and offers tips for developers to get rid of unnecessary background downloads. The full article is here.