Before iOS 5, notifications were delivered in a modal dialog box and could not be viewed after being dismissed. In iOS 5, Apple introduced Notification Center, which allows users to view a history of notifications. The user can tap a notification to open its corresponding app, or clear it. Notifications are now delivered in banners that appear briefly at the top of the screen. If a user taps a received notification, the application that sent the notification will be opened. Users can also choose to view notifications in modal alert windows by adjusting the application’s notification settings. Introduced with iOS 8, widgets are now accessible through the Notification Center, defined by 3rd parties.
When an app sends a notification while closed, a red badge appears on its icon. This badge tells the user, at a glance, how many notifications that app has sent. Opening the app clears the badge.
Multitasking for iOS was first released in June 2010 along with the release of iOS 4.0. Only certain devices—iPhone 4, iPhone 3GS, and iPod Touch 3rd generation—were able to use multitasking. The iPad did not get multitasking until the release of iOS 4.2.1 in November 2010. Currently, multitasking is supported on iPhone 3GS or newer, iPod Touch 3rd generation or newer, and all iPad models.
Implementation of multitasking in iOS has been criticized for its approach, which limits the work that applications in the background can perform to a limited function set and requires application developers to add explicit support for it.
Before iOS 4, multitasking was limited to a selection of the applications Apple included on the device. Users could, however “jailbreak” their device in order to unofficially multitask. Starting with iOS 4, on third-generation and newer iOS devices, multitasking is supported through seven background APIs:
Background audio – application continues to run in the background as long as it is playing audio or video content
Voice over IP – application is suspended when a phone call is not in progress
Background location – application is notified of location changes
Local notifications – application schedules local notifications to be delivered at a predetermined time
Task completion – application asks the system for extra time to complete a given task
Fast app switching – application does not execute any code and may be removed from memory at any time
In iOS 5, three new background APIs were introduced:
Newsstand – application can download content in the background to be ready for the user
External Accessory – application communicates with an external accessory and shares data at regular intervals
Bluetooth Accessory – application communicates with a bluetooth accessory and shares data at regular intervals
In iOS 7, Apple introduced a new multitasking feature, providing all apps with the ability to perform background updates. This feature prefers to update the user’s most frequently used apps and prefers to use WiFi networks over a cellular network, without markedly reducing the device’s battery life.