Inside Apple's iPad: Multitasking
Apple's new iPad is being criticized for lacking the capacity to run multiple third party applications at once, but the company has a variety of options to pursue in addressing the issue.
The iPad's iPhone OS arbitrarily limits third party apps from running in the background after the user closes the app. But this isn't because the iPhone OS "can't multitask," as the iPhone OS uses the same preemptively multitasking Mach/BSD kernel as Apple's desktop Mac OS X.
The iPhone OS is constantly running system processes that listen to the mobile network for incoming calls and texts, it runs an iPod process for playing back music all the time, it watches for background notifications being sent to idle apps, and there's a variety of other things always going on. This is the definition of multitasking.
Multitasking in the operating system
A single-tasking operating system, like the original 1984 Macintosh or the Palm OS line of PDAs, is simply incapable of running multiple concurrent applications due to design constraints.
In the mid 80s, Apple adapted the classic Mac OS to switch between apps to create a windowing environment that employed cooperative multitasking. In this model, various apps voluntarily relinquished control of the processor so that they could all appear to run at once.
The downside to this model is that an application that stopped responding could prevent other apps from sharing any processor time, effectively destroying the illusion of multitasking. Modern operating systems like Mac OS X designate a kernel task that preempts other applications so if they stop responding, the kernel can simply terminate them and other apps can continue to work.
Beyond multitasking
The iPhone OS inside the iPhone, iPod touch and the iPad is not only capable of this style of preemptive multitasking, but also employs multiprocessing, which allows different tasks to run concurrently on different processor cores.
For example, when playing back video, the iPhone can spin off the heavy lifting involved with decoding H.264 to a specialized video processor core while the main processor core continues to handle other tasks, such as listening for updates and maintaining the user interface.
Apple's secretive A4 processor in the iPad is actually a System on a Chip that incorporates multiple processor cores, each of which can handle simultaneous tasks.
Multitasking in a mobile environment
While there are certain benefits to being able to run multiple applications at once, there are also a series of reasons why Apple deliberately chose to use a security model in the iPhone OS that only allows one app to run at once.
The first is limited resources. Mobile devices have a finite amount of RAM and CPU power, so allowing multiple apps to be loaded and running all at once introduces new problems related to the mobile device's performance and battery life. It also increases the system's complexity, as users will now be forced to monitor and manage the processes running in the background.
Another problem relates to security. If apps aren't simply terminated by the user in a straightforward way as they are on the iPhone OS, users may not be aware they are still running. Background apps might provide a valuable service, but without any restrictions, they're also able to install spyware, viruses and other malicious software. That's simply not possible to do on the iPhone OS.
The multi-billion dollar malware problem on the PC desktop illustrates why unfettered software installation has both pros and cons. Even background services that seem harmless, such as Google's Latitude, can expose users to unapparent security threats if they don't have the security credentials to recognize the potential risks involved with, for example, advertising their location.
Exceptions to Apple's sandboxed-multitasking model
Apple's mobile-optimized security model in the iPhone OS makes more sense for most users than the desktop PC model that Microsoft shifted to mobile devices in Windows Mobile in terms of usability, simplicity, and performance. However, there are still issues Apple needs to address.
The first is one that Apple acknowledged after the development of iPhone 2.0: many apps want to stay open simply to listen for external updates such as news or incoming messages. Apple's notification service rolled this functionality into a system task, so the iPhone itself listens for updates and simply badges apps or delivers a notification message for users to act on.
Outside of notifications, there are other features related to multitasking that iPad users may want to see addressed. One is local background services such as Pandora radio. Apple's forthcoming iPhone OS 4.0 is anticipated to either allow users to select specific apps to run in the background, or roll those services into the system, or to enable specific background tasks.
This could allow apps like Pandora to begin a background task that continues even when the user quits the app. With the iPad's faster processor, the ability to run a limited number of background services might be less of an issue as it currently is on the iPhone.
State and main
Another approach to delivering multitasking-related functionality without opening a Pandora's Box of security and malware problems would be to enable the system to retain the state of currently running app so that users could very quickly switch between apps.
This would enhance the iPhone OS's existing, simple model of switching between apps without introducing a drain on the system's processor, memory, and battery life, as only one primary app would still ever be running at once.
Rolling additional services into the main system apps of iPhone 4.0 would also enable third party apps to tap into multitasking and background operations without actually defeating the iPhone OS' security model and introducing lots of new complexity for users to manage.
Dashboard widgets
Another avenue Apple can explore to deliver multitasking-style functionality without inhering the same problems of Microsoft's Windows Mobile and Google's Android is hinted at by the original Macintosh: desk accessory style widgets.
While it did not actually multitask between apps, the original 1984 Macintosh did enable users to run mini apps like a calculator or scrapbook in conjunction with their primary application.
The fact that the iPad was demonstrated without the iPhone's customary Stocks, Weather, and Calculator apps may be an indication that those apps have shifted on the iPad from being full screen utilities into desk accessory widgets that can be called up within other apps, such as Apple's own iWork.
The final release of the iPad will undoubtedly introduce additional features that weren't included in the initial presentation, just as the iPhone was released with features that weren't announced at its original introduction, including the ability to watch YouTube videos. Developers are already privy to a variety of iPad features that have not yet been publicly advertised by Apple.
Inside Apple's iPad: Adobe Flash
Inside Apple's iPad: VGA video output
The iPad's iPhone OS arbitrarily limits third party apps from running in the background after the user closes the app. But this isn't because the iPhone OS "can't multitask," as the iPhone OS uses the same preemptively multitasking Mach/BSD kernel as Apple's desktop Mac OS X.
The iPhone OS is constantly running system processes that listen to the mobile network for incoming calls and texts, it runs an iPod process for playing back music all the time, it watches for background notifications being sent to idle apps, and there's a variety of other things always going on. This is the definition of multitasking.
Multitasking in the operating system
A single-tasking operating system, like the original 1984 Macintosh or the Palm OS line of PDAs, is simply incapable of running multiple concurrent applications due to design constraints.
In the mid 80s, Apple adapted the classic Mac OS to switch between apps to create a windowing environment that employed cooperative multitasking. In this model, various apps voluntarily relinquished control of the processor so that they could all appear to run at once.
The downside to this model is that an application that stopped responding could prevent other apps from sharing any processor time, effectively destroying the illusion of multitasking. Modern operating systems like Mac OS X designate a kernel task that preempts other applications so if they stop responding, the kernel can simply terminate them and other apps can continue to work.
Beyond multitasking
The iPhone OS inside the iPhone, iPod touch and the iPad is not only capable of this style of preemptive multitasking, but also employs multiprocessing, which allows different tasks to run concurrently on different processor cores.
For example, when playing back video, the iPhone can spin off the heavy lifting involved with decoding H.264 to a specialized video processor core while the main processor core continues to handle other tasks, such as listening for updates and maintaining the user interface.
Apple's secretive A4 processor in the iPad is actually a System on a Chip that incorporates multiple processor cores, each of which can handle simultaneous tasks.
Multitasking in a mobile environment
While there are certain benefits to being able to run multiple applications at once, there are also a series of reasons why Apple deliberately chose to use a security model in the iPhone OS that only allows one app to run at once.
The first is limited resources. Mobile devices have a finite amount of RAM and CPU power, so allowing multiple apps to be loaded and running all at once introduces new problems related to the mobile device's performance and battery life. It also increases the system's complexity, as users will now be forced to monitor and manage the processes running in the background.
Another problem relates to security. If apps aren't simply terminated by the user in a straightforward way as they are on the iPhone OS, users may not be aware they are still running. Background apps might provide a valuable service, but without any restrictions, they're also able to install spyware, viruses and other malicious software. That's simply not possible to do on the iPhone OS.
The multi-billion dollar malware problem on the PC desktop illustrates why unfettered software installation has both pros and cons. Even background services that seem harmless, such as Google's Latitude, can expose users to unapparent security threats if they don't have the security credentials to recognize the potential risks involved with, for example, advertising their location.
Exceptions to Apple's sandboxed-multitasking model
Apple's mobile-optimized security model in the iPhone OS makes more sense for most users than the desktop PC model that Microsoft shifted to mobile devices in Windows Mobile in terms of usability, simplicity, and performance. However, there are still issues Apple needs to address.
The first is one that Apple acknowledged after the development of iPhone 2.0: many apps want to stay open simply to listen for external updates such as news or incoming messages. Apple's notification service rolled this functionality into a system task, so the iPhone itself listens for updates and simply badges apps or delivers a notification message for users to act on.
Outside of notifications, there are other features related to multitasking that iPad users may want to see addressed. One is local background services such as Pandora radio. Apple's forthcoming iPhone OS 4.0 is anticipated to either allow users to select specific apps to run in the background, or roll those services into the system, or to enable specific background tasks.
This could allow apps like Pandora to begin a background task that continues even when the user quits the app. With the iPad's faster processor, the ability to run a limited number of background services might be less of an issue as it currently is on the iPhone.
State and main
Another approach to delivering multitasking-related functionality without opening a Pandora's Box of security and malware problems would be to enable the system to retain the state of currently running app so that users could very quickly switch between apps.
This would enhance the iPhone OS's existing, simple model of switching between apps without introducing a drain on the system's processor, memory, and battery life, as only one primary app would still ever be running at once.
Rolling additional services into the main system apps of iPhone 4.0 would also enable third party apps to tap into multitasking and background operations without actually defeating the iPhone OS' security model and introducing lots of new complexity for users to manage.
Dashboard widgets
Another avenue Apple can explore to deliver multitasking-style functionality without inhering the same problems of Microsoft's Windows Mobile and Google's Android is hinted at by the original Macintosh: desk accessory style widgets.
While it did not actually multitask between apps, the original 1984 Macintosh did enable users to run mini apps like a calculator or scrapbook in conjunction with their primary application.
The fact that the iPad was demonstrated without the iPhone's customary Stocks, Weather, and Calculator apps may be an indication that those apps have shifted on the iPad from being full screen utilities into desk accessory widgets that can be called up within other apps, such as Apple's own iWork.
The final release of the iPad will undoubtedly introduce additional features that weren't included in the initial presentation, just as the iPhone was released with features that weren't announced at its original introduction, including the ability to watch YouTube videos. Developers are already privy to a variety of iPad features that have not yet been publicly advertised by Apple.
Inside Apple's iPad: Adobe Flash
Inside Apple's iPad: VGA video output
Comments
If this is they path MS Phone 7 chose to take they made a mistake.
60,000 Android devices being shipped each day (that is 60k per day in phone sales that Apple is losing)
That was the quote of the week that AI chose to not post.
It took a few days for BoyGenius (BoyDumbass) to report. It was made at the MWC this last week.
http://www.boygeniusreport.com/2010/...pped-each-day/
Google has multi tasking and Flash 10.1 on at least one shipping phone.
There is an entire world outside of AT&T and Google has decided to give them the opportunity of experiencing true unlimited multi tasking.
Mobile phone chip sets are more than capable of running multiple tasks (other than decided by Apple).
You don't need to Jail Break your iPhone to experience it.
I don't need 140k apps. I want a phone that can run web apps (HTML5) and for now Flash.
Apple and AI don't make excuses for your OS. Every other smart phone has multi tasking and will soon have Flash.
I don't need 140k apps. I want a phone that can run web apps (HTML5) and for now Flash.
Then why are you griping here about it?
This article could have been written in the 90's period. There is no excuse not to offer Multi Tasking for All Apps.
If this is they path MS Phone 7 chose to take they made a mistake.
60,000 Android devices being shipped each day (that is 60k per day in phone sales that Apple is losing)
That was the quote of the week that AI chose to not post.
It took a few days for BoyGenius (BoyDumbass) to report. It was made at the MWC this last week.
http://www.boygeniusreport.com/2010/...pped-each-day/
Google has multi tasking and Flash 10.1 on at least one shipping phone.
There is an entire world outside of AT&T and Google has decided to give them the opportunity of experiencing true unlimited multi tasking.
Mobile phone chip sets are more than capable of running multiple tasks (other than decided by Apple).
You don't need to Jail Break your iPhone to experience it.
I don't need 140k apps. I want a phone that can run web apps (HTML5) and for now Flash.
Apple and AI don't make excuses for your OS. Every other smart phone has multi tasking and will soon have Flash.
The new Win7 phone has shown no ability to multitask.
Shipping is NOT the same as phones SOLD.
I'm not planning on getting a Nexus one because it has flash or multi-tasking either.
Then why are you griping here about it?
Because unlike the 160k per day that are choosing Android. I have a contract with AT&T.
I have 1 more month. I won't wait foriPhone OS Promises 4.0.
I can get that phone next month. With the numbers of sales and Android is has I'd be like I was in 1994 and stuck in a dying Market Share.
Apple may be great for stock holders but it's horrible at moving forward when they have an Advantage. History and now the current numbers are proof of that.
Good luck with the future and make sure you have Apple Care on your computers because you'll need it given Apple's trend for the last 10 years.
By the way...
How long has Steve Jobs been with Apple? I wonder why he was fired. Mac's don't "just work" anymore.
The new Win7 phone has shown no ability to multitask.
Shipping is NOT the same as phones SOLD.
I'm not planning on getting a Nexus one because it has flash or multi-tasking either.
Read my post Again. I said if that is the path that MS Phone 7 has chosen to take then it's a mistake.
That has not been proven yet but all indications currently point to that.
On the ohter hand they may wait until iPhone 4.0 and Pad have shipped and say and one more thing.
I'm not betting on it. I'm sold on Google's Android. It's just a matter of what phone to pick. I know it won't be on AT&T. At least until they get their mobile 3G, 4G, LTE up to speed.
This article could have been written in the 90's period. There is no excuse not to offer Multi Tasking for All Apps.
If this is they path MS Phone 7 chose to take they made a mistake.
60,000 Android devices being shipped each day (that is 60k per day in phone sales that Apple is losing)
That was the quote of the week that AI chose to not post.
You're confusing hype with reality. Sure, when a model first comes out it has to fill the channel, so "shipping" numbers sound impressive.
But Apple just had a quarter of selling 96,700 iPhones PER DAY, long after the initial luster of the iPhone 3GS wore off. Apple is also selling millions of iPod touch devices, and will be selling millions of iPads. That's a big platform.
And every Android phone sold is not a missing iPhone sale. Quite the opposite. Apple didn't begin selling all the smartphones in the world. It began selling the iPhone at the same time as Android. One is wildly successful, the other is wildly hyped.
Android is still struggling to find non-hobbyist developers. And Google knows Android apps are a dead end. It plans to kill Android and turn it into an HTML5 platform. Google isn't a platform developer, it's a web developer. It's not a hardware maker, it's an adware/spyware vendor. It's not going to revolutionize mobiles. It's going to dump a lot of money into killing any hope for Windows Mobile and end up begin about as successful using the same model.
Why don't people just jailbreak and download Backgrounder if it's so important?
Because Apple may ban you now from your iTunes log in if you do. Do some research.
If you can't beat them ban them.
Why don't people just jailbreak and download Backgrounder if it's so important?
It isn't very helpful on the old hardware but I'm guessing it works pretty well on the 3GS.
On the 3G there just isn't enough memory to do much. Just running Pandora and Safari, after about 5 or 10 minutes Safari chews up the available memory and Pandora shuts down. The way the OS prioritizes tasks makes it so the 3rd party app always gets axed first.
To an extent the manufacturer really needs to design the device with 3rd party multitasking in mind, or none of the hacks will do anything really compelling.
Edit:
Because Apple may ban you now from your iTunes log in if you do. Do some research.
If you can't beat them ban them.
And you can get cancer from eating steak, what is your point?
You're confusing hype with reality. Sure, when a model first comes out it has to fill the channel, so "shipping" numbers sound impressive.
But Apple just had a quarter of selling 96,700 iPhones PER DAY, long after the initial luster of the iPhone 3GS wore off. Apple is also selling millions of iPod touch devices, and will be selling millions of iPads. That's a big platform.
And every Android phone sold is not a missing iPhone sale. Quite the opposite. Apple didn't begin selling all the smartphones in the world. It began selling the iPhone at the same time as Android. One is wildly successful, the other is wildly hyped.
Android is still struggling to find non-hobbyist developers. And Google knows Android apps are a dead end. It plans to kill Android and turn it into an HTML5 platform. Google isn't a platform developer, it's a web developer. It's not a hardware maker, it's an adware/spyware vendor. It's not going to revolutionize mobiles. It's going to dump a lot of money into killing any hope for Windows Mobile and end up begin about as successful using the same model.
Android is just getting started. The iPhone is 3 years of the same stuff and the iPad (given the demo) so is the iPad (such a bad name).
Android today from an OS point of view is supieri or in almost every category.
I read a great posting today. The iPhone is like the pre-teen kids phone. Easy to use but can't do enough to hurt them. Android is for the mature smartphone user. Elegant, Intuitive and a work horse that you can still have fun with.
How about some journalistic integrity, AppleInsider.
Because unlike the 160k per day that are choosing Android. I have a contract with AT&T.
I have 1 more month. I won't wait foriPhone OS Promises 4.0.
Kewl.
'bye
It isn't very helpful on the old hardware but I'm guessing it works pretty well on the 3GS.
On the 3G there just isn't enough memory to do much. Just running Pandora and Safari, after about 5 or 10 minutes Safari chews up the available memory and Pandora shuts down. The way the OS prioritizes tasks makes it so the 3rd party app always gets axed first.
To an extent the manufacturer really needs to design the device with 3rd party multitasking in mind, or none of the hacks will do anything really compelling.
Edit:
And you can get cancer from eating steak, what is your point?
More excuses and by the way, Steak is great. I prefer a Filet. I'm getting both.
Battery, Multi Tasking, Business Phone and I can still have fun with it.
Because unlike the 160k per day that are choosing Android. I have a contract with AT&T.
I have 1 more month. I won't wait foriPhone OS Promises 4.0.
Hopefully that means you'll no longer be posting your irrational vitriol here when I get back from vacation. PS: Which Android smartphone is shipping with Flash 10.1?
Why don't people just jailbreak and download Backgrounder if it's so important?
Many do and most that do aren't complaining that Apple isn't offering pointless multitasking anarchy to the non-technical users Ã* la Android and WebOS.
PS: Don't listen to AngusYoung's FUD about blocking your account. Only a few prominent iPhone hackers have had their App Store accounts blocked, they have not blocked the millions who are running jailbroken iPhones. Only chicken little rumours at this point, but Apple is going directly after those affecting the App Store security, not those jailbreaking. They are also trying to get jailbreaking a violation of the DMCA but you'll hear plenty about that well before it actually becomes law, if possible.
Because Apple may ban you now from your iTunes log in if you do. Do some research.
If you can't beat them ban them.
Umm why are you here? It seems like you like to bash on Apple... Idk but that is the vibes I'm receiving from you.
Can you list any practical examples that would require multitasking rather than Apple allowing certain services to be called upon?
More excuses and by the way, Steak is great. I prefer a Filet. I'm getting both.
Battery, Multi Tasking, Business Phone and I can still have fun with it.
Excuses? I was pointing out some reasons that Jailbreak+Backgrounder doesn't provide what some people might expect. I don't think that one can excuse some piece of hardware for being incapable of something
edit: to be more clear I am asserting that my particular phone (3G) is actually incapable of multitasking to any useful extent (apart from 1st party apps). I am not saying that is acceptable or unacceptable. It is what it is.