Is there real multitasking in iPhone OS 4?
For all iPhone OS 4.0 features - check here.
Multitasking has always been a much-needed feature by smartphone users and some of the major operating systems have had it throughout the years. When the Apple iPhone came out, it really redefined how a smartphone should work. However, as all things under the sun, it was not perfect, and one of the biggest argument of its critics was the lack of multitasking. So now that Apple has just announced that multitasking is coming with iPhone OS 4, which will be launched this summer, the most heavily-attacked drawback seems to have become the device's strongest weapon, as it promises fluid system performance and good battery life. But the war is not over yet. Some people say that what Apple demonstrated was actually not a real multitasking, but some limited workaround that will just present a solution for the most popular services. The reason we came up with this article is because we wanted to answer the question of whether or not the Apple iPhone 3GS and the newer models (because the 2G and 3G won't support that functionality) will actually be able to multitask. So here it goes...
Windows Mobile and Symbian S60 are two of the most popular platforms, and one of those operating systems, which have the ability to run multiple third-party processes at the same time. Indeed, these platforms have had multitasking for some time, but there have always been issues with this. Try loading more than two or three heavier 3rd party apps and the phone is a goner. Or worse, it would simply display an "insufficient memory" message and refuse to start the app. Or even worse, it may freeze, so you'd need to waste your time restarting it. It might even require you to remove the battery, as the device won't even restart. Even though these may seem like extreme cases nowadays, this was a common experience maybe just a year ago.
Then we have Android, the platform that is now prospering thanks to its quickly-improving open-source model and high-quality smartphones like the Motorola DROID and Google Nexus One. Of course, Android has multitasking, but let's take a closer look at how it implements it. You can easily reach a total of six currently opened apps. While this limits you, six apps is not that bad. Who would need more than six apps at the same time? However, the truth is Android actually starts closing apps automatically, once it feels its system resources are running low. So this means that you can open a webpage in the browser, then start listening to music with some player, then play a game (with the music still playing in the background), then check your mail, and then you decide to get back to that webpage but wait! It's gone, and the browser app is loading all over again. This may be counteracted to an extent by equipping the smartphones with better hardware like faster CPUs, more RAM and larger batteries, but as the hardware gets better, the apps will want to take advantage of it, so they will also become more demanding. So, eventually you'll always have that sluggish performance when attempting to have a number of apps simultaneously running, and Android will keep closing the "older" apps. Yes, the Nexus One is snappy now, but are there really many quality apps that can utilize its resources? In other words, Android can multitask, but only a limited number of apps, much like Windows Mobile and Symbian S60.
You have probably already seen what multitasking will look like on the iPhone. There's that dock that appears at the bottom of your screen when you double-press the home button. From there you can jump right to the app that you want, and you can also close apps inside it, by pressing and holding with a finger for a bit, as if you want to rearrange them.
But one would ask: "Are the multitasking capabilities in iPhone OS 4 any better than what these other platforms offer? And will I be able to run several 3D games at once without the phone crashing (not that I would need that)? And is there some real multitasking going on, not some limited functionality? And if there is, how did they do it? And..." Alright, alright! Let us explain for Christ's sake!
Apple's developers have examined much of the apps that are available in the App Store (for the record, they are now over 185,000), and have figured out which are the key services these apps need in order to multitask. What does this mean? Here are some examples: Skype needs the VoIP service on all the time, so it knows when someone is calling you. Pandora needs the service, which allows audio in the background, in order to keep playing music, while you are doing something else. Your uploading files need the "Task completion" service so they can proceed to upload in the background, while you are playing a game, for example. Your game needs the "Fast app switching" service to be able to quickly save its state and later, when you decide to get back to playing, quickly resume the gameplay, without having to load the whole level again.
So they have narrowed these to seven key services and developed them as APIs that can be used by software developers: Background audio, VoIP, Background location, Push notifications, Local notifications (these are push notifications that can be sent by your offline apps to inform you of something), Task completion and Fast app switching. These functions can be utilized by developers in the making of their apps to carry out whatever functionality they want. For example, you can write an app that will track the user's location, push notifications to them about some in-app event and stream music, all while running in the background.
What about games? Imagine you are playing a game, but you want to check something on the internet. The game saves its state in the blink of an eye thanks to the "Fast app switching" service, then you open the web browser, find what you're looking for, and then decide to return to your game. Selecting the game's icon from the multitasking dock will bring it up again, after that you'll have three seconds to get yourself ready and then it will continue from that exact same place where you left it. No loading, no restarting of the app, and no worries for you if it's still there or it has been closed, due to lack of system resources.
This is possible, because Apple says the minimized app is actually using zero CPU. That ensures the system's so familiar smooth performance. Even more, it should also guarantee good battery life. It sounds too good to be true, but we certainly hope it will.
So users should have no worries whether the iPhone will have real multitasking. These seven services should cover all the different scenarios and for the most part, devs will probably just stick to "Fast app switching" so that the users will not lose their progress when they want to switch to another app. To us, this sounds more like a completely rethought, full-featured multitasking, to which Google and company will have to play catch up.
Multitasking has always been a much-needed feature by smartphone users and some of the major operating systems have had it throughout the years. When the Apple iPhone came out, it really redefined how a smartphone should work. However, as all things under the sun, it was not perfect, and one of the biggest argument of its critics was the lack of multitasking. So now that Apple has just announced that multitasking is coming with iPhone OS 4, which will be launched this summer, the most heavily-attacked drawback seems to have become the device's strongest weapon, as it promises fluid system performance and good battery life. But the war is not over yet. Some people say that what Apple demonstrated was actually not a real multitasking, but some limited workaround that will just present a solution for the most popular services. The reason we came up with this article is because we wanted to answer the question of whether or not the Apple iPhone 3GS and the newer models (because the 2G and 3G won't support that functionality) will actually be able to multitask. So here it goes...
Windows Mobile and Symbian S60 are two of the most popular platforms, and one of those operating systems, which have the ability to run multiple third-party processes at the same time. Indeed, these platforms have had multitasking for some time, but there have always been issues with this. Try loading more than two or three heavier 3rd party apps and the phone is a goner. Or worse, it would simply display an "insufficient memory" message and refuse to start the app. Or even worse, it may freeze, so you'd need to waste your time restarting it. It might even require you to remove the battery, as the device won't even restart. Even though these may seem like extreme cases nowadays, this was a common experience maybe just a year ago.
Then we have Android, the platform that is now prospering thanks to its quickly-improving open-source model and high-quality smartphones like the Motorola DROID and Google Nexus One. Of course, Android has multitasking, but let's take a closer look at how it implements it. You can easily reach a total of six currently opened apps. While this limits you, six apps is not that bad. Who would need more than six apps at the same time? However, the truth is Android actually starts closing apps automatically, once it feels its system resources are running low. So this means that you can open a webpage in the browser, then start listening to music with some player, then play a game (with the music still playing in the background), then check your mail, and then you decide to get back to that webpage but wait! It's gone, and the browser app is loading all over again. This may be counteracted to an extent by equipping the smartphones with better hardware like faster CPUs, more RAM and larger batteries, but as the hardware gets better, the apps will want to take advantage of it, so they will also become more demanding. So, eventually you'll always have that sluggish performance when attempting to have a number of apps simultaneously running, and Android will keep closing the "older" apps. Yes, the Nexus One is snappy now, but are there really many quality apps that can utilize its resources? In other words, Android can multitask, but only a limited number of apps, much like Windows Mobile and Symbian S60.
But one would ask: "Are the multitasking capabilities in iPhone OS 4 any better than what these other platforms offer? And will I be able to run several 3D games at once without the phone crashing (not that I would need that)? And is there some real multitasking going on, not some limited functionality? And if there is, how did they do it? And..." Alright, alright! Let us explain for Christ's sake!
What about games? Imagine you are playing a game, but you want to check something on the internet. The game saves its state in the blink of an eye thanks to the "Fast app switching" service, then you open the web browser, find what you're looking for, and then decide to return to your game. Selecting the game's icon from the multitasking dock will bring it up again, after that you'll have three seconds to get yourself ready and then it will continue from that exact same place where you left it. No loading, no restarting of the app, and no worries for you if it's still there or it has been closed, due to lack of system resources.
This is possible, because Apple says the minimized app is actually using zero CPU. That ensures the system's so familiar smooth performance. Even more, it should also guarantee good battery life. It sounds too good to be true, but we certainly hope it will.
So users should have no worries whether the iPhone will have real multitasking. These seven services should cover all the different scenarios and for the most part, devs will probably just stick to "Fast app switching" so that the users will not lose their progress when they want to switch to another app. To us, this sounds more like a completely rethought, full-featured multitasking, to which Google and company will have to play catch up.
Things that are NOT allowed: