I like the way the Pre can have multiple apps “active” at once and quickly switch between them. It’s a pain when trying to do something on the iPhone that requires flipping between two or three apps.
I’m not crazy, however, about how such “active” applications on the Pre remain running in the background. To conserve processing and battery power, only the “frontmost” app should have the full app running.
The iPhone should allow third-party apps to do background processing. (Something I’ve changed my mind about.) With a good scheduler (the part of the operating system that decides what program gets processing time when), there’s no worry that the phone part of the iPhone won’t get every clock-cycle it needs. As long as the system limits the priority third-party apps can have.
Although, background processes shouldn’t be full apps. They should only be limited processes dedicated to a particular app task that can take advantage of being in the background. In fact, from what I’ve read, this is the case for the built-in iPhone apps. There are minimal little “iPod helper” and “Mail helper” background processes that take care of the background processing for those apps when they aren’t running. Also, giving developers services that they can leverage instead of writing their own background processes—like notifications—is something else I’d like to see. e.g. An app like Pandora ought to be able to leverage the existing iPod background process to play audio when other apps are running. (If that isn’t already available.)
Speaking of notifications, the Pre’s bottom-of-the-screen notification system looks like another good idea Apple should borrow.