Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You forget a few things. On Android can't the app just run forever and decide on its own how often to poll the servers? This is a different thing. The OS decides when to schedule things if the app supports it.

Also battery life has improved a great deal since the first Android or iPhone device came out. What may have been true years ago isn't necessarily an issue anymore.



You mean like using Android's SyncAdapter and setting inInexactRepeating()? Android has supported this basic type of background scheduling since the start of time. The main difference is that Android you can do more - which can be abused. And their solution for abuse is a battery monitor that allows you to see which app is using the most battery. In a way you can say Android is more superior/powerful or you can say that the iOS is more limiting and thus potentially more user friendly.


Yes and that's a much better starting point for a discussion :-D


Unfortunately, I think many Android app developers either don't know or care about "API abuse". When my Android phone is sitting "idle" with the display off, adb logcat still shows tons of debug logging from apps doing more work than they should. I like the freedom that Android gives developers, but, as you suggest, I think iOS provides a better user experience.

I can think of many ways Google could fix some of this bad behavior by throttling apps running in the background.


Yeah, some apps suck on Android, leave unnecessary services running etc. I uninstall them, and leave a review stating why.


Bad developers do have that power. But best practice is to use a SyncAdapter, which works very similarly.

Actually, one of the biggest savings comes from apps all syncing at about the same time... firing up the cell modem is expensive, cheaper to do a bunch of transfers at once than spread out over time.


iOS will actually disable these features if the battery is getting low. It will also group them together so that the wireless chips are on as briefly as possible.


iOS will actually disable these features if the battery is getting low.

Like Battery Saver?

http://www.windowsphone.com/en-us/how-to/wp8/basics/battery-...


Great - another option. I prefer my phone deciding when to do this automatically (and maybe an option to disable it so I can run it into the ground if absolutely necessary).


I prefer magic, too, if it works. I doubt it does in this case, though, and I get the impression Apple knows it hasn't nailed it yet, either. At least, elsewhere in this thread people note Apple's stuff can be overridden on a per-app basis.

I also get the impression that Apple's idea about the perfect balance between flexibility and "it just works" neighs more towards the latter than Google's ideas about it, as witnessed by some remarks that Google's Sync adapters that app developers _can_ use are exactly the same as Apple's solution that app developers _must_ use.


While I do agree that iOS isn't nearly as flexible as Android, let's just say that 90% of the time you might want to go with a Sync adapter versus rolling your own solution. Also, I believe that Apple has the best intentions at heart when it comes to implementing Background Fetching in it's current spec. I mean, lets face it, it's way better to have a mobile-optimized OS manage resources than for you to do so, don't you agree?


As I said, I prefer magic, too. More precise: The user in me agrees; the hacker disagrees. The hacker would like to see a 'make world' in each phone.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

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

Search: