Apple has quietly revealed a critical fact about its smartphone: applications developers create for the iPhone will only be able to run one at a time, and will not be able to run in the background.
This is spelled out in the iPhone Human Interface Guidelines:
Only one iPhone application can run at a time, and third-party applications never run in the background. This means that when users switch to another application, answer the phone, or check their email, the application they were using quits.
If you are running an application such as AOL Instant Messenger on your iPhone, every time you receive a call or browse away from the application you would be signed out, you would lose any unread messages, and your conversations would end.
This limitation will put the iPhone behind some of its competitors, like Windows Mobile, that offer full multitasking.
It can be assumed that this applies to the iPod touch as well.
Just Approved Software
The inability to multitask apparently applies only to third-party applications that use Apple's new Developer tools, and that will go through the official approval process.
Apple's own iPhone software can multitask, and so can many of the unapproved programs already available for this smartphone.
It's possible this limitation will help keep alive the market for software written for "jailbroken" iPhones, as these can run applications that haven't been approved by Apple.
This situation is familiar to Palm OS developers, as this operating system doesn't offer full multitasking, although it does have limited capabilities in this area.
As with the Palm OS, iPhone developers will have to be careful to save all the details of their applications when they close. If this is done properly, the user won't be able to tell that the program was closed while they weren't using it.
Still, this has limitations. Applications that have been closed can't perform tasks in the background, like receive Instant Messages.