It's ridiculous that iOS doesn't offer an API for scheduled background tasks. The clever tricks developers use to solve this problem (geofencing, silent audio[1], etc.) shouldn't be necessary.
I tried to get a friend to use XMPP/Jabber for free (private, secure) text messaging but it failed because of this. Improved my impression that iOS is not capable of much while being pretty good at what it can.
The lack of background scheduled tasks in iOS is turning into same origin policies for JS in web browsers. Everyone gets around it with ridiculous hacks (JSONP) to the point where the restriction is meaningless and it just causes more work for devs and problems for consumers.
It is neat that people are finding these loopholes, though. Any Downcast devs reading this? Hint hint hint...
I couldn't agree more. Same-origin is one of the most important components of browser security.
JSON-P doesn't mean that same-origin is a waste of time just because there's a work-around - it demonstrates that sites should be allowed to opt-out of same-origin protection if they have a reason to, leading to the development of CORS.
Without same-origin protection, I could run JavaScript on any website which silently used XMLHttpRequest to steal information from a web server running on your company's internal intranet. All I'd have to do then is trick you in to visiting my site.
So neither the instapaper blog post (linked here) nor the news.me blog post (http://blog.news.me/post/21643399885/introducing-paper-boy-a...) comes right out and says it, but the point here is that since iOS doesn't let an arbitrary program schedule itself in the background or on a time-based schedule, but the iOS geofence APIs do let an arbitrary program schedule itself when you cross a geofence, you can abuse the latter to simulate the former?
Is there any way to just do this when it is on a wifi network (that I choose), or does it have to go via cell tower? I guess if I'm on my home or office cell tower, I'm almost always also on wifi.
It will inevitably affect battery life to some degree, but if there's no new data to download, it's on par with checking for email. Because it uses a geofence, it won't check nearly as many times though, so it should be minimal.
[1]: http://www.148apps.com/news/silence-golden-pastebot/