

John Gruber's take on iPhone background apps - sanj
http://daringfireball.net/linked/2008/march#fri-21-jens
from http://daringfireball.net/<p>direct sublink is: http://daringfireball.net/linked/2008/march#fri-21-jens<p>"Another one from the I-don’t-agree-with-it-but-it’s-well-worth-reading dept.<p>For what it’s worth, I believe the number one reason why the iPhone OS doesn’t allow background processes is RAM. Battery life, CPU sharing, bandwidth — all of these are factors, too, but I think RAM is foremost. The iPhone has just 128 MB of RAM and no swap space. A good chunk of that 128 MB goes to the OS itself and the built-in apps that do run in the background — Phone, Mail, Safari, and iPod. There really just isn’t much left over. If Apple were to just allow background processing now, what would happen is that background processes would often wind up getting killed by the OS at some point when the frontmost app needs more memory. From the user’s perspective, it would seem as though background apps inevitably mysteriously fail and stop running. You can argue that you’d rather have that than no third-party background apps at all, but it’s clearly a reasonable trade-off for Apple in terms of consistency and obviousness in the user experience.<p>Wait a few years for iPhones with 1 GB of RAM and it’ll be a different story."
======
jsjenkins168
Its definitely not RAM.

Android devices with significantly less RAM handle it fine. When a Service is
scheduled, it is only allowed to run while resources (battery, CPU, memory)
are sufficient to keep the critical processes (currently visible UI, current
application) running. The OS has permission to kill off background Services
without warning as needed to preserve the user experience.

No, the reason with Apple is simply political.

~~~
mtts
It's not just RAM, but it's not political either. It's battery life, I should
think. Remember this is a phone we're talking about and if that phone has to
be recharged every six hours because some application constantly wants to poll
the internet, that's really not acceptable to most users (and they won't fault
the app for the poor battery life, they'll fault Apple).

~~~
maximilian
I agree strongly with the battery life argument. Its an important note to make
that the battery is run down because of frequent wifi/edge use. I've seen
accounts of pre-sdk iphone hackers making programs that ran the battery down
in hours just polling for tweets every minute or something similar. That same
hacker said that ideally there would be some sort of registration for
wifi/edge time that would bring up a connection every T minutes and tell all
the programs registered to that listener that they now have 1 minute of access
to the internet to poll whatever service they needed.

------
martythemaniak
I can't believe this is actually being discussed in technical circles
seriously. The limitations around the iPhone SDK are more certainly NOT
technical in nature - phones (both smart and otherwise) have had background
processing and multitasking for years and has never caused any problems.

Doesn't anybody remember last year's mantra of "the web is the only SDK you
need"? The same people that believed that line of BS, and now spreading this
updated BS.

Apple is a control-freak company and these decisions are purely political.
Jobs & co only wants you to do with the phone what they like, not what YOU
want, its just that simple.

~~~
sjh
[http://www.pbs.org/cringely/pulpit/2007/pulpit_20070906_0028...](http://www.pbs.org/cringely/pulpit/2007/pulpit_20070906_002891.html)

Since reading this bit by Cringely last Autumn, I can't help but think of a
lot of Apple's output through the prism of "being alternately seduced and
tormented"; e.g. the iPhone SDK which is only supported for use by recent
customers of Apple's (Intel) personal computers.

------
nilobject
<http://daringfireball.net/linked/2008/march#fri-21-jens>

The little star at the end of each link is the permalink.

~~~
sanj
Much appreciated.

------
TrevorJ
Yeah..the ram thing is a crock IMO. Wasn't THAT long ago that 128 mb was a LOT
of RAM. Sure, you have to be careful, sure you might not be able to do
everything you want with fancy bells and whistles but I don't see why it
should be a valid reason to preclude background apps.

