Apple today pre-announce many of the coming iPhone OS 4.0 features. Engadget had good coverage of the event, as usual.
This update looks absolutely fantastic. I am particularly looking forward to the new multitasking functionality, and I am glad that Apple took their time figuring out how to do it, and how to do it right.
Multitasking
The one concern I have about multitasking is that it seems to me that single-clicking the home button to perform the "go to the home screen and close this app" action will mean different things now. Here is how I understand it to work:
- Close: In non-multitasking aware apps, whether that's older apps not updated for multitasking or apps that just don't care about multitasking, when the user clicks the home button, the app will exit.
- Suspend: Apps can be programmed for "fast app switching" in which they can go into a "supend" state. For example, a game might suspend while you answer a call or launch another app. It seems to me that suspended apps will appear in the application switcher as if they are still running, as if they are "paused", but they won't use RAM, or at least, they won't use more RAM than is neccessary to indicate that the app is suspended, because their state has been suspended and written to permanent storage.
- Background: Apps can be programmed to run in the background and watch for push notifications. For example, Skype or IM client. Right now it's not clear how to exit this kind of application and stop it from running in the background.
- Processing: Apps can be programmed to run in the background to complete some form of long-running-transactions. For example, an app uploading a photo to the internet. In the case of "closing" an apps running a background process, it's not clear if that app will say open in the application switcher while the process is completing and then exit, or "appear" to exit while the background process is completing.
I have confidence that Apple has thought of these things, because these are the kind of things that Apple is good at thinking about, and coming up with a solution for dealing with them properly. Of course, anyone familiar with the Dock in Mac OS X might disagree :-) but I digress.
Mail and Enterprise Functionality
The updates to the mail application look good. I'd call them "great", but I think "necessary" or "it's about time" might be more accurate :-) Right now I'm in the process of trying to get my iPhone working with my work email, which uses Exchange, and I am hopeful that some of the coming "enterprise features" will help.
Edit: Here's a great summary of all of the iPhone 4.0 features revealed today and here's a video of iPhone 4.0 in action from Engadget. The Engadget video reveals that there is actually hidden task manager functionality; you can click-and-hold on a running app in the application switcher to bring up a minus sign that allows you to kill or close a running application.