Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Instapaper 4.2.2 with Background Update Locations (instapaper.com)
38 points by macrael on June 2, 2012 | hide | past | favorite | 17 comments


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.

[1]: http://www.148apps.com/news/silence-golden-pastebot/


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...


Despite the hacks (unnecessary since cross-domain xhr), the security benefits of same-origin remain.


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.


Instapaper has a setting to restrict downloads to wifi. I'm assuming this new feature respects that.

edit: Apparentley Instapaper = Instagram when I am on HN way too early for a Sunday.


It's an Insta_paper_ feature, not an Insta_gram_ feature.

https://www.instapaper.com/


The function is location-based, not network-based, i.e. it is not dependent on GSM/3G and its cell towers and iOS location works with Wi-Fi too.


This is an interesting way to approximate running in the background on a timer.


Which Marco says he first saw in News.me

https://twitter.com/marcoarment/statuses/209073534289448961

Cool, Ive never seen that before.


How is this implemented without effecting the battery life?


Geofencing works off cell towers. Since the cell hardware is already tracking towers anyway, the additional cost is minimal.


Geofencing works IMHO with all localization features available on iOS, i.e. it's not limited to 3G/UMTS.


But it only works on devices with a cell radio, so it's obviously being triggered by that even if it might hit up other facilities once triggered.


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.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: