Background applications on the iPhone are not important to me. I understand the issues and have never liked the idea of having tons of little processes eating away at battery, even when I had a palm.
But there is one inconsistency on the iPhone that has been driving me mad the past two weeks. Mail runs in the background.
I know it does.
The fact that I know that it does is actually the problem. I type an email, hit send, then I immediately hit the Home button and open another app. When the email is actually sent, you hear the woooosh – while in the other app.
Which is great.
It's a time saver and I don't have to watch the little spinny thing waiting for the mail to be sent. However, Tweetie does not run in the background. At least 10 times I have typed a tweet, hit home, then discovered later (upon reopening Tweetie) that it didn't make it. Pretty much, I cancelled sending it by shutting down the app.
Which sucks.
I think Apple could use a facility they already have built in. When memory is tight, they kill your app. Shutting an app down could be moved to a two stage process: closing the window, then real shutdown (dealloc and all that other stuff). There could even be a windowDidClose method so that app makers could dealloc all the UI stuff, but leave any syncing or any critical processes running as long as possible.
Now this could lead to battery draining type apps, so it will probly never happen. And I get that. I just wonder if there weren't a way for it all to work somehow.