The upcoming 4.0 reference release of Apple's iPhone OS will deliver new support for running multiple concurrent third party apps, and allow users to switch between them using a windows management mechanism similar to one made popular on the company's Mac OS X operating system.

The technology, detailed by people familiar with Apple's plans for the new firmware, will finally allow users to launch multiple apps in the background and quickly switch between them, as AppleInsider exclusively reported earlier this month. Currently, a running app must be quit when the user returns to the Home screen.

Apple initially avoided an app model supporting multiple apps running at once to help preserve battery life and simplify the user experience. Other platforms that do support the launching of multiple apps, including Android and Windows Mobile, require users to manually manage system resources and kill off performance robbing background tasks.

Today's iPhone 3.x firmware is a fully preemptive multitasking operating system, but it artificially restricts apps (other than specific ones bundled with the system by Apple) from running in the background.

Iconic Expose

Those familiar with the design of iPhone 4.0 said that the user interface will resemble Apple's desktop Expose feature, in that a key combination -- reportedly hitting the Home button twice -- will trigger an expose-like interface that brings up a series of icons representing the currently running apps, allowing users to quickly select the one they want to switch to directly. When a selection is made, the iPhone OS zooms out of the Expose task manager and transitions to that app.

Apple patented the Mac OS X Expose concept in 2005, but the desktop implementation relies upon scaling each application's widows so that they all fit into the screen in a single layer without any overlap.

On the iPhone, scaling down several screen views to fit into the relatively small display would be problematic, and apps never have multiple windows, so the new mechanism currently presents just each app's icon. This renders the feature more similar to the basic Command+Tab app switcher than Expose itself as a desktop feature, but people who've been privy to pre-release builds of the iPhone 4.0 OS say it exhibits several characteristics of the Expose brand.

Two other features seen in pre-release builds of iPhone 4.0 are a global mailbox view and the ability to add individual contacts to the iPhone's home screen, such as a button that will call "Mom" or "Dad" directly. Since the software remains under active development, there's always the possibility that either or both of these enhancements could be chopped in the coming months.

Multiple apps without broken security

Controversy over "multitasking" within the iPhone OS has been brewing ever since Apple launched iPhone 2.0 with the ability to run third party software titles. While often reported as being a technical flaw, the iPhone OS really has no problem with multitasking. The system's phone, SMS, email, iPod, voice recorder, Nike+, and certain other bundled apps can continue in the background while the user launches another app.

However, third party titles obtained from the App Store (including apps from Apple, such as Remote or iDisk) can not be launched at the same time. This is currently only possible after jailbreaking the system, where the iPhone OS security model is compromised via an exploit, allowing the user to launch and run multiple apps.

This also opens the door to both malware and widespread piracy, both of which have been contained by the default security system put in place by Apple. At the same time, Apple's signed app model in iTunes with its mandatory certificate security mechanism means that iPhone users will be able to run multiple apps from the App Store without fear that their software will spy on them, pop up ads, or send out spam.

Other platform vendors do not mandate rigid security for their software libraries, with Android permissively allowing users to install apps from any source, something that will likely serve as a welcome mat for malicious hackers once that platform gains enough visibility.

Notifications pay off on the way to multitasking

Rather than immediately jumping to a multitasking environment for the iPhone, Apple introduced a system-wide push notifications service to enable third party apps to appear to respond to outside updates (such as incoming messages or news alerts) even when they were not actually running.

The company has worked to refine this mechanism before moving to a fully multitasking model, which means that existing apps with notification support won't necessarily need to be launched in the background just to continually poll for updates. Additionally, third party apps that are running in the background will be less likely to drain performance and battery compared to other platforms because the notification mechanism is more efficient than having multiple apps each polling a remote server for their own updates.

For example, RIM's BlackBerry OS has long offered multitasking support for apps but the company only recently opened up its push delivery infrastructure to third party developers. As a result, most of the relatively small library of BlackBerry apps are designed to inefficiently poll a server for information rather than avail themselves of the BlackBerry's famous push messaging features.

Google provides no standard mechanism for system-wide push on Android, forcing developers to all roll their own support. Meanwhile, Microsoft is planning to roll the clock back with Windows Phone 7 later this year, erasing its existing multitasking support for third party apps in Windows Mobile to deliver a model patterned after iPhone 2.0.

You had to know it was coming. Apple's multi-tasking UI is going to kick the crap out of everything else. I can't wait for the ipad to get this as well. Does anyone think the ipad version of the OS will be on a different development cycle or might get these features later? Can't wait to see that new "A4" iphone as well. (upgrade time!)

turtles all the way up and turtles all the way down... infinite context means infinite possibility

Oh...I do have a VALID rant though. Apple still doesn't allow the downloading of YT videos to the iPhone. You need to go shopping on Cydia for that. I could really use that feature for say, studying OFF-LINE maybe. And I still can't send to and from / read and write from iDisk to iDisk. Ummm both are Mac products. What's up with that?

This gives a sense of what the interface will be like, but it's not clear to me that we really know any more about how this will actually work. Will Apple really let any old 3rd party app run down the battery by doing a lot of unnecessary things in the background? Or will this be an enhanced system in which app states are saved and restored more seamlessly than before and with a nice interface, combined with some very limited capacity for actual background tasks, but only in approved scenarios?

I hope it's more like the latter than the former. If I put Monopoly in the "background", i sure don't want it to actually be doing anything back there. I just want to be able to quickly switch back to it without having to restart the app and work my way through its menus to get back to my game. Also, i don't want apps spawning worker processes that somehow fail to die after the main app is quit. It's inconceivable to me that Apple would allow such a scenario to take place, so I have to believe that there are some fetters on this multitasking.

Oh...I do have a VALID rant though. Apple still doesn't allow the downloading of YT videos to the iPhone. You need to go shopping on Cydia for that. I could really use that feature for say, studying OFF-LINE maybe. And I still can't send to and from / read and write from iDisk to iDisk. Ummm both are Mac products. What's up with that?

Youtube videos are not intended to be downloaded. I know it can be done, but doing so breaks the Terms of Service. Not having an app to do that is not a valid complaint. Hopefully the iDisk app does improve though.

It will be interesting to see how Apples implementation differs from that of Infinidock that i am using at the moment. I find that a really smooth addition, and neatly (in GUI terms) integrated into the phone OS. The worry about reduced battery life is in practice a non-issue - in fact I can prune apps I don't need at the time thus reducing processor load. That, along with SBSettings and I have great control over how the phone is run. I know jail-breaking isn't everyone's cup of tea, so it would be great if these features were rolled into 4.0 so there'd be less footering about (though I admit, that is part of the fun - if it works, you haven't tweaked it enough..)

This gives a sense of what the interface will be like, but it's not clear to me that we really know any more about how this will actually work. Will Apple really let any old 3rd party app run down the battery by doing a lot of unnecessary things in the background? Or will this be an enhanced system in which app states are saved and restored more seamlessly than before and with a nice interface, combined with some very limited capacity for actual background tasks, but only in approved scenarios?

I hope it's more like the latter than the former. If I put Monopoly in the "background", i sure don't want it to actually be doing anything back there. I just want to be able to quickly switch back to it without having to restart the app and work my way through its menus to get back to my game. Also, i don't want apps spawning worker processes that somehow fail to die after the main app is quit. It's inconceivable to me that Apple would allow such a scenario to take place, so I have to believe that there are some fetters on this multitasking.

I agree with you. If badly implemented, this could be the mother of all battery drains, but I suspect that Apple will be conscious of the fact that people complain about the inability to swap batteries and will be tuned into the need to protect battery life at all costs.

Hmm.
Article doesn't address the most important aspect of App multi-tasking; "Quit"
If I have to manually Quit my stupid little stock app each and every time I just want a quick check of the market; or a quick check of the weather, then this will suck. (as in battery life; the single most important aspect of the iPhone)

Seems like Apple's slower path to multitasking may pay off, especially with centralized, open push notification services instead of apps polling servers themselves, killing the battery in the process. I think I like it!

Youtube videos are not intended to be downloaded. I know it can be done, but doing so breaks the Terms of Service. Not having an app to do that is not a valid complaint. Hopefully the iDisk app does improve though.

It's a valid complaint. breaking terms of service has nothing to do with being a valid complaint.

I wish I could break into banks and steal a million without getting arrested. That's my complaint. Is it invalid? I think not.

Looking like the iPad is turning itself back into a computer more and more everyday.

Guess what Steve is going to say a year from now?

"Well we wanted to do more with the iPad and that requires a bigger processor and powerful graphics. We also thought it would be a great idea to have the iPad support itself while sitting on a persons lap, since that left room, we included a integrated keyboard, more storage and a trackpad."

Apple has sold millions of iPhones without multitasking. I think it's pretty clear by now that normal users don't care. The tech-wannabes do but not the general public. If anyone thinks this will in any way silence the critics they are sorely mistaken. The critics will always find something to bitch about. Multitasking on the iPhone will probably not be implemented in the way critics want it to be so they will still have a hard-on for Apple and its products. Never fear, Apple critics are never satisfied, ever.

Hmm.
Article doesn't address the most important aspect of App multi-tasking; "Quit"
If I have to manually Quit my stupid little stock app each and every time I just want a quick check of the market; or a quick check of the weather, then this will suck. (as in battery life; the single most important aspect of the iPhone)

Exactly what I was wondering. Sooooo many ways they could handle this, looking forward to seeing what they come up with.

... If I put Monopoly in the "background", i sure don't want it to actually be doing anything back there. I just want to be able to quickly switch back to it without having to restart the app and work my way through its menus to get back to my game.

If it's a well written app then it should behave in that way already except that you would actually be quitting and restarting it. In terms of the user interaction there should be no difference except for the possible (minimal) overhead of the quit and relaunch.

Considering Apple's stance up to now that battery life supersedes the need for multi-tasking, I think we can safely assume they're not going to do a 180 and let people run their batteries into the ground whilly-nilly. There may even be a System Preferences selection for enabling/disabling multi-tasking dependant on whether you feel you need it or not, and whether you're willing to take the battery hit.

It would seem to me that all apps fall into certain categories. And in most cases you're not going to want two apps in the same category running at the same time. For example you're not going to be using the iPod and Pandora radio simultaneously. So the iPhone may prompt you as to whether you want to quit one before starting the other. And certain games probably won't be friendly with an audio application running either, but some might. So apps might have to submit a classification that infers where a conflict would occur. Book and audio app. AOK. Game and twitter app. AOK. Pandora and Fieldrunners. AOK. Pandora and iPod. Hold on- are you sure?

I held onto my iPhone v1 for as long as possible until it finally bit the dust last week.

I was pretty disappointed bec/ I knew there was a hardware revision on the way. And although thrilled with my 3GS due to the leap it is over the original, I am sure I'll be one of thousands selling their "near mint" 3GS on craigslist in a few months.

You're an idiot. It's a valid complaint. breaking terms of service has nothing to do with being a valid complaint.

I wish I could break into banks and steal a million without getting arrested. That's my complaint. Is it invalid? I think not.

So everyone who disagrees with you is an idiot? Even if I'm an idiot, at least I'll be in good company.

It could be a valid request from a certain perspective, but it isn't a valid complaint (or rant as you worded it). You are not justified in expecting Apple to knowingly allow an app that is designed to break the terms of service of a website.

Quote:

val·id (vāl'ĭd)
adj.Well grounded; just: a valid objection.

Producing the desired results; efficacious: valid methods.

Having legal force; effective or binding: a valid title.

Logic

Containing premises from which the conclusion may logically be derived: a valid argument.

Other platform vendors do not mandate rigid security for their software libraries, with Android permissively allowing users to install apps from any source, something that will likely serve as a welcome mat for malicious hackers once that platform gains enough visibility.

Do you mean to tell me that Android does not verify authentic app installs (pirated)?

Quote:

Meanwhile, Microsoft is planning to roll the clock back with Windows Phone 7 later this year, erasing its existing multitasking support for third party apps in Windows Mobile to deliver a model patterned after iPhone 2.0.

Gee, what do you think will happen now when they catch wind of 4.0's expose?

The iPod and iPhone have 128MB-256MB of RAM (and no virtual memory) and a CPU between 400MHz and 533MHz. Further, apps have been built for years assuming all of that is available to them.

There is, in fact, a huge technical problem with running multiple modern applications at once.

What Apple probably has waiting in the wings (if anything) is an Expose-like UI that switches between recently-used applications smoothly enough that it looks like they're running simultaneously. If it's very ambitious, it will actually page the application to flash storage when switching. But I think it's more likely that Apple will just make properly saving/restoring state part of the approval requirements, and somehow technically discriminate existing apps in a way to make it obvious to the user that they're using a legacy app.

If you're counting on multiple simultaneous GUI apps, you're going to be disappointed.

You're an idiot. It's a valid complaint. breaking terms of service has nothing to do with being a valid complaint.

I wish I could break into banks and steal a million without getting arrested. That's my complaint. Is it invalid? I think not.

There may be an idiot in this conversation, but my guess is that it's the one who doesn't know what the word "valid" means in this context. You may have noticed that personal attacks violate the ToS for this site; you can complain that you should be allowed to call anyone you want to an idiot on here, but it's not a valid complaint. HAND.

Hmmm, the complaint is technically valid, the complainer is a @$#% twit? Jailbreak your bloody phone and do whatever you want, but to bitch and moan that Apple doesn't provide you tools to be a douchebag is just moronic.

Gordon

Wow.... such anger..... go take a walk or something.......

Tim Cook is gay, believes in climate change, and cares deeply about racial equality. Deal with it (and please spare us if you can't).

It's a valid complaint. breaking terms of service has nothing to do with being a valid complaint.

I wish I could break into banks and steal a million without getting arrested. That's my complaint. Is it invalid? I think not.

First, you didn't need to do the name calling.

It's not Apple's job to help you download videos from YouTube, YouTube might even have the right to cancel their service to Apple's app. I don't know why you think your examples are valid.

Quote:

Originally Posted by GordonPrice67

.....

Quote:

Originally Posted by RCO3

There may be an idiot in this conversation, but my guess is that it's the one who doesn't know what the word "valid" means in this context. You may have noticed that personal attacks violate the ToS for this site; you can complain that you should be allowed to call anyone you want to an idiot on here, but it's not a valid complaint. HAND.