Category:

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.

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.

I could not agree more. Whenever you implement a new API, you have to test it. You have to estimate the effect based on the number of your customer base. You can’t just release something and then complain about the API. Makes no sense.