The App Switcher is not limited. At least, I haven't reached that limit.
But, why would you choose to launch apps from the App Switcher? Having used 4.0 all day, I don't think launching apps is its intended purpose. You can only see four apps at a time. I think you would launch most apps from the home screen just like in 3.0.
Where the App Switcher comes in handy is when you're actually multitasking between a few apps or when you need to jump out of one app to grab something and want to jump right back to your original app. For example, you're surfing Safari, you launch SMS from the home screen to see what hotel your friend is staying at, then you use App switcher to go right back to Safari. It gets even more useful when the apps you're working between are scattered on different launch screens or with 4.0 are buried in different folders. If you're just launching a game that you haven't played since yesterday, you just launch it from a home screen.
Yeah. That seems to sum it for me, as far as I can tell. If you're the sort of user who doesn't install hundreds of apps, maybe with your working set of apps all on one or two pages, then I'm assuming that you could carry on using 4.0 as if the App Switcher wast't there at all, just launching everything from the home screen as before.
There is only one instance of an app allowed to be active isn't there? If I launch calculator and do "2+2=" so that the display shows "4" and then go to the Home screen and launch calculator again I won't launch a new instance of calculator will I, but rather it will behave exactly as if I had gone to the App Switcher and switched back to the active/paused instance of calculator?
I wonder how fast this will be. For me (who isn't that fussed about "true" multitasking beyond what was already in 3.x) the challenge, and the biggest benefit, will come from suspending and resuming a Safari instance with lots of tabs (pages) open (especially on the iPad but I think the principle will be the same on the iPhone). If I want to quickly drop out of a browsing session and check a note or do a calculation or something then I don't want a lengthy delay when I restart Safari and it reloads all its pages so I'm hoping this is all quick and it doesn't need to cheat too much and refresh some of the page data from the source pages on the internet.
I'll probably get flamed here but, since I don't expect to be running Skype or doing ftp downloads in the background, this really looks to me to be just a suspend/resume and effectively it's making iPhone app switching behave just like it did on a Palm V in the 1990s. OK, PalmOS at the time completely closed and reopened the app but it was all so quick (because it was all so simple) that to the the user it looked like the app had suspended and then resumed. This is no bad thing because it served me well for many years.
One thing is that I hope that app developers are protected, or given API support, for dealing with phone resets. For instance what happens to a game that maintains a local high score table (HST) over a reset? If the game keeps the HST in memory and only writes it to permanent storage when exited then in the new scheme couldn't data be lost on a reset, even if the game hadn't been used for the last hour but had been run that session so was in the paused/suspended state when the crash happened. What is done to force the game to perform a flush of the HST and any other state to flash when it is suspended? Even if 4.0 puts the HST on flash as part of the suspend then, in the event of a crash, would the iPhone somehow unpick the pieces after a reset or would the app, when it was first re-launched, be given some indication that it had had an abnormal exit on the last run and be given access to its last saved state before the crash so that it can unpick the pieces itself? Or are there APIs to do almost atomic writes (or cache-like write-through) to persistent memory so that apps can protect critical state like the HST (or the current page of a book in a book reader) against a crash?
- Julian