Inside iPhone 4.0's multitasking

08.04.2010

Social-networking apps won't have access to the GPS data, due to the massive power requirements of using GPS. Instead, Apple has created a system that will notify social-networking apps when the iPhone has switched between cell phone towers, indicating that the user has changed location.

These location features come with a host of privacy features, giving you control over what apps can know your location and letting you specifically approve and ban apps from using them. You'll even be able to see which apps have been peering in on your location in the last 24 hours, so nothing will take you by surprise. And a small arrow will appear in the iPhone's status bar, right next to the battery icon, anytime location tracking is happening in the background.

To go with the now-familiar push notification feature, Apple has added a new Local Notifications system. Unlike push notifications, which require an external server to send an event to the phone, these new notifications are originated on the phone itself. The example Forstall gave is that a TV-guide app could alert you when a favorite show is about to start. This seems to be a way for apps to set alerts in advance, for times when they aren't running, another common reason developers wanted the iPhone OS to have multitasking capabilities.

Task completion, another new multitasking addition, solves a problem that you've probably experienced on your iPhone: not knowing whether it was safe to press the Home button and move to another app, because the app you were using was right in the middle of something. Forstall used the example of a photo-uploader app in the middle of uploading an image to the Web. By using task completion, apps will be able to finish what they're doing even when the user switches away. (We assume this is a feature that works hand in hand with the concept of going into a "quiescent state in the background"--namely that apps are given a chance to finish what they're doing before they're frozen in carbonite.)