Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
I thought you had said that no backround processes were the result of bad 3rd party programming. A complete mistake on my part.
LOL..

Yea, that might have caused some argument from me. :D

And for the record, I am not trying to say that I don't want back ground apps.

Of course, in a perfect world, I would love the iPhone to allow it.

But the positives of this phone FAR out weight that limitation in my mind.

As an interesting side note, Apple must allow SOME native apps to run in the background besides just iPod.

1) Opened the clock, clicked on Stop Watch, then Start.
2) At 1.4 secs, I pressed the Home Button.
3) Opened Urbanspoon.
4) Shook the phone.
5) Got hungry when I saw Asahi Japanese Steakhouse.
6) Pressed the Home Button
7) Pressed the Clock Icon
8) Stop watch read 29+ seconds and kept right on running.

So it had to be running in the back ground.

Maybe one day, they open this up to 3rd party programmers.
 
So peerless they stole the notes colours from Stickies.app.

Come on. Every Post-It note clone for years has had pastel colors.

Not to mention more obvious things - like the switch UI elements (which I certainly hadn't seen before the iPhone + Time Machine System Preference)

There's a whole UI world that existed before you saw those :)

Visual switch elements have been around for decades, especially for industrial HMI setups. I myself did such a GUI component library back in the early '80s for embedded control systems. The slide switches looked a lot like today's on the iPhone and Pre. They had to.

There are only a finite number of basic ways to make onscreen switches and touch gadgets. Here's pictures of a typical (and very old) example set with rocker, slide and other switches.

and the card metaphor (from Mobile Safari).

Similar to the Picsel browser's history display, which is vertical instead. And Netfront's visual bookmark system. But yes, Apple gets the nod for limiting the the number of pages and arranging them exactly the way they did.

Can we have a bit more pragmatism and a bit less hyperbole.

The touch device influence was growing before the iPhone came along. Certainly Apple deserves immense credit for pushing it along a lot faster.

However, claims that anything that looks like the iPhone is a copy, are evidence only of a GUI-history ignorance. For instance, I did an icon grid based handheld touch app back in 2000 with touch scrolling, slideup context-sensitive input boxes from the bottom, etc. Did Apple copy me? Nyah. They simply did what made sense for a touch-only input UI.

And thank goodness. They smacked MS around for being so stylus-centric, something I had tried to change without luck.
 
Does anyone know if/how the Pre will sync with iTunes?

Can I plug it in before I get in the shower and have it automatically update my iTunes playcounts for the music/videos I listened to the day before, and copy over my new podcasts?

Without that, for me (and I'm guessing others), this is just a sexier version of the G1. Great for people that just need a smartphone, but not helpful for people who need a smartphone + an iPod.

+1, But I gotta say, the pre looks awesome.
 
Multitasking explained

I will suggest, however, that my home computer has a big enough screen to accomodate more than one app going at the same time at once so I can MULTI-TASK.

The bottom line is, the ONLY advantage the Pre has in this department is saving the SECONDS it takes to load an app in to memory.

Multitasking have very little to do with either A) viewing multiple programs on the same screen or B) saving time between loading apps (although would this would be nice to avoid on some apps). It also has little to do with background processes. By "desktop-class" multitasking, I believe he means adapting that which makes multi-tasking such a fundamental part of the desktop experience to a mobile device. I'll first consider your points:

A) Multitasking is not about seeing multiple apps simultaneously on the screen. I'll assume that you will reply that, in fact, you do have all your running programs in small, adjacent, concurrently-viewable windows at all times, because it has very little to do with my point. That isn't how desktop UI is designed. If it was, windows would automatically divide your screen into four windows if you had four programs open, and a 2x3 grid if you had six open, etc.

Instead, programs generally open in full screen (maximized) windows. All your attention is focused on this program. At the bottom is the taskbar, where each running program occupies a space and can be easily maximized to shift your attention to that program. Regardless of how one personally uses the windows, our attention can only be focused at one point (and program) at a time. For example, you may be viewing two windows: reading from one and entering data into the other. Your attention is still focused in one program at a time (reading, then typing); you are simply making it quicker to transfer information from one into the other. When you are running multiple programs you have multiple tasks on the taskbar, ergo, you are multitasking.

Now, a mobile device is too small to make effective use of a taskbar since it would be too small to see all your tasks at all times. The Pre adapts the idea with the card system. You zoom-out to see all your tasks, then you zoom-in on a particular app to bring it to your attention.

B) Multitasking is not about being able to save time loading programs. My desktop can launch any program faster than my iPhone can launch it's apps. If load times are the issue, however, why aren't desktops designed to run only one program at a time? In fact, why even bother with multi-core processors which truly shine with multi-tasking? The fact is it is better to be able to run multiple programs. When we can't, it's due to some limitation. Limitation implies something that would be done, if it could be, but it can't - not that it would be bad or useless to do.

Multitasking is about organizing workflow.

The whole success of mulitasking is keeping context in an organized workflow. Although you may shift your attention between programs, your train of thought is preserved. Many times while doing one thing, a thought will pop into our heads (example: "Oh, I gotta do this-n-that!"). If you don't act on it, you will continue what you were doing uninterrupted but you are unlikely to be able to recall what it was later. If you do act on it, your thought process will shift and you will switch to whatever program is required to complete the thought. When you are done, your brain will stall while you try to get back on the original thought process you were at. You can switch back to your previous task, of course, and your brain will snap back right to where it was. If you are left back at the desktop (or home screen), however, you'll have no such mental cue and your train of thought has to get rolling again. It may not be hard or time-consuming to remember what you were previously doing and get back to where you were, but that's how our brains work.

Why do you think tabbed browsing caught on so effectively? It's a perfect example. You may be reading a thread on macrumors and see something interesting that you want to research. What do you do? Open a new tab, of course, and start googling! You may browse a lot of pages as your train of thought explores that idea to exhaustion. When you are ready to get back to the topic, however, you switch tabs and BAM! you are right back to the thread. Now you have two tabs, one is your browsing over the forums and the other is a tangent into some other subject. More than just browsing history, they both equally represent and organize two separate trains of thought.

I'm sure you'll say that it's not a big deal. Why don't you try using your desktop like you have to use the iPhone and see how long it lasts. Close your current program before opening another. It must be completely closed and not running in the background (like IM programs that can receive IM's in the background even without any GUI windows). Listening to music is an exception unless you need to bring up iTunes to do anything other than previous/pause/skip. Multiple browser tabs are allowed as long as you refresh the page as you return to each tab.

Apple understands multitasking but had to compromise.

Apple understands multitasking! This is evident by the way they designed their apps to keep context when leaving the app. Their compromise was that since apps can't stay open, they'll just have them open to the same screen from when they were closed. This system mimics the behavior you'd see with multitasking. Good start, but it has some limitations. First, and not least of which, 3rd party apps have their own behavior and often don't do that. I'm sure you will respond that it is a problem with the developers, but guess what? Users have to live with the apps that are available. For example, here is my home screen:

View attachment 172992

Bloomberg:Always launches into the headlines and downloads new content, despite any article I may have been in.
Mobile Pro: logs me out! (most notably disables streaming quotes and trading)
USA Today: Same as Bloomberg.
iStat: always starts at first screen.
Pandora: do I really need to say?
Omnifocus: long load times. The real kick in the teeth is that this app would have almost zero processor load when multitasked.

You may say they are poorly developed apps, but what am I supposed to do about it? Second, this system does nothing for apps that actually have some processing to do while not in the foreground. Finally, apps themselves will often shift the focus by launching another app. When you close that app, however, it does not return you to what you were originally doing. Imagine if any link you opened in a new tab closed your current tab.

The iPhone does not multitask.

The iPhone is not multitasking when the iPod is playing in the background. That is a background process - just like every other example people give for the iPhone multitasking, be it mail, safari, phone, etc. There is no interaction, no workflow, no thought processes associated with bringing attention to these apps.

The one instance of true multitasking on the iPhone is the feature that brings up the iPod controls with a double-click of the home button. You should consider how often you use this feature and how useful it is to you. To me, its probably one of the most useful features on the phone. I find it extremely handy that while I am doing anything on the device I can bring up simple controls for music playback (especially stopping it) withing interrupting what I was doing.

Imagine if Apple implemented the same system with text message pop-ups. Instead of limited to closing the alert or launching the messaging app, what if there was a field to type your reply to be sent in the background while you continued whatever you were doing. That would be multitasking. I would also wager that, when implemented (yes, 'when'), people are going to go nuts about it.

Even if Apple implemented a multitasking system where minimized apps were merely a screenshot and it didn't actually run at all, it would be an improvement. That would be assuming of course that it would load again to the screen you were at.

More examples of how multitasking would benefit the iPhone

In general, true multitasking that is so effective in keeping context and organizing workflow and thought processes is the best (and subtle) benefit: Replying to text messages while browsing the web, writing an email and checking your calender, identifying a song with shazam while reading macrumors, etc. However, there are plenty of situations where it's just flat out necessary, for example:

An app using the GPS to track a run, Nike+, or an app for the BodyBug.

Transferring files to the iPhone with the various file sharing apps.

Turn-by-Turn navigation.

Streaming media.

All of these apps run would need to run continuously to do what they were designed to do. That is generally true for any app in the app store that disables or circumvents the auto-screen lock as it would interrupt their function. While using them, forget about doing anything else - except advancing tracks on your current playlist/album.
 
Multitasking have very little to do with either A) viewing multiple programs on the same screen or
The iPhone is not multitasking when the iPod is playing in the background.
Eso,

Your long post is great and very informative and I agree with a lot of what you say. However, I think your definition of multi-tasking is incomplete at best and you are more talking about functionality and HOW the iPhone handles tasks. (Like the SMS pop up while doing something else.)

Websters Dictionary defines multitasking as:

1 : the concurrent performance of several jobs by a computer

Basically proves your second quote above to be false. I just had music playing, the iPhone stopwatch counting, and was using my Twitter application, all at the same time. When I was done with Twitter, I went back to the stop watch, and it was still keeping time. By this very definition, that is multi-tasking. So to say the iPhone "can't multi-task" is just false.

2 : the performance of multiple tasks at one time

Proving your first quote above to be false in my opinion. Right now, I am posting on here AND watching my upload progress of software to a Hospital in New York I am getting ready to upgrade. I can do this only because I can SEE both at the same time. If I did not have the other window going, I would not truly know when the process is going. For me, it is not just good enough that I know the files are being transferred. When they are done, I must stop what I am doing and deal with the files because I am a billable resource and I am billing this time.

And I still say that, for me, all the iPhone can do out weighs the saving of SECONDS of time, which is still the only advantage the Pre has with it's ability to run multiple apps in memory at once.

I mean, don't get me wrong. I would love for the iPhone to be able to run multiple apps and just let us flick through them somehow. It would be nice. Real nice.

But honestly, a phone that can do that falls under a phone that syncs with iTunes, the App Store, and can do Voice and Data at the same time in my eyes.
 
Apple understands multitasking but had to compromise.

I would also wager that, when implemented (yes, 'when'), people are going to go nuts about it.

That was a very clear explanation of what multitasking really is and why we need / want it! Thank you so much for taking the time to write that post.

What I'm a bit miffed about is, the jailbreaking community has figured out how to make the iPhone / touch multitask, and for the most part their methods work stably and reliably, despite some reported slowdown in overall speed. I, for one, am willing to sacrifice some speed for the functionality offered by jailbreak multitasking. From what I've heard of iPhone OS 3.0, not many of this multitasking functionality has made it into 3.0, which I find rather disappointing. If Apple really does understand multitasking like you say, how come implementing it doesn't seem to be a little bit more high on their priority list?

Right now, I am posting on here AND watching my upload progress of software to a Hospital in New York I am getting ready to upgrade. I can do this only because I can SEE both at the same time. If I did not have the other window going, I would not truly know when the process is going.

But whether or not you have the upload progress displayed in another window (YOU multitasking), the *computer* is multitasking by uploading the file and accepting typing input from the keyboard at the same time. And your example is a perfect example of how multitasking could be useful on the iPhone and more than just saving a few seconds when loading apps. Right now, on the iPhone, if you are transfering files over the air with an app like Air Sharing, you can't do anything else with your iPhone -- you have to let it sit there until the files finish transfering. If you could background Air Sharing, you could start the file transfer, then open Safari and read MacRumors and even post -- all while your files transfer in the background. For people like you who need to know immediately when the transfer is finished, wouldn't it be great if Air Sharing could send an alert -- perhaps a pop-up, or maybe just a sound notification? (For that matter, if desktop file transfer programs send alerts when they are done, and I know of some that do, do you need to have a transfer progress window open?) That, to me, would be multitasking worth having.
 
That was a very clear explanation of what multitasking really is and why we need / want it! Thank you so much for taking the time to write that post.

What I'm a bit miffed about is, the jailbreaking community has figured out how to make the iPhone / touch multitask, and for the most part their methods work stably and reliably, despite some reported slowdown in overall speed. I, for one, am willing to sacrifice some speed for the functionality offered by jailbreak multitasking. From what I've heard of iPhone OS 3.0, not many of this multitasking functionality has made it into 3.0, which I find rather disappointing. If Apple really does understand multitasking like you say, how come implementing it doesn't seem to be a little bit more high on their priority list?
When jailbroken, how do you switch between running apps on the iPhone?

Honest question, as I simply don't know.
 
When jailbroken, how do you switch between running apps on the iPhone?

Honest question, as I simply don't know.
Either the regular way (pressing Home, etc) or by using a tool like SBSettings. Simply tap the taskbar and drag it down to open a slide-down menu with lots of convenient toggles (Wifi/3G/etc on/off) and links to other apps. This works from within any app, or while viewing the Springboard.
 
Either the regular way (pressing Home, etc) or by using a tool like SBSettings. Simply tap the taskbar and drag it down to open a slide-down menu with lots of convenient toggles (Wifi/3G/etc on/off) and links to other apps. This works from within any app, or while viewing the Springboard.
Sorry to ask another question, but how does this work when playing a full screen game?

How do you get to the taskbar?
 
Sorry to ask another question, but how does this work when playing a full screen game?

How do you get to the taskbar?

You are right that SBSettings doesn't work when an app hides the status bar. Hey, it's not perfect! *g* But all Apple would need to do to ensure something like SBSettings would work in all apps is require all apps to have a mode where the status bar is displayed -- a lot of apps already have ways of switching between showing and hiding the status bar.

You can background any app by holding down the home button. In order to force-quit, you just hold it down longer.
 
Yea..

This is actually being discussed in another thread as well.

When playing a game currently programmed for full screen, I am not sure how Apple should handle that.

Should they make all the programmers update their apps to shrink the app a bit?

Or should Apple just force the apps smaller?

It is an interesting discussion and like I said above, I do hope that one day they incorporate something to fix this issue.

But for me, it is just not as important as the other things the phone can do.
 
Multitasking is about organizing workflow.

The workflow benefit you describe does not require multi-tasking.

We want to move quickly between a set of applications. Typically from App A to App B.

The desired behavior is App B appears instantly .. and when we return to App A - the transition is instant and App A is exactly the same state as when we left it.


Such behavior does not need require multi-tasking. Exactly the same benefit is achievable with faster task suspension and resumption.

For 99% of the time we don't care if task A is actually running, while task B is in the foreground. In fact it is preferable that it is not.

If this were instant (<0.5s) and seamless, I think this would be a better compromise.

With say twice the RAM, this scheme would be pretty straightforward to implement.

Leaving an app would push it into background. It and its data stays resident it in RAM, but it is starved of CPU resources. It would be frozen.

Reselecting the App would instantly unfreeze it.

If memory runs low, the oldest frozen apps would be booted out, by shutting them down conventionally.

C.
 
A) Multitasking is not about seeing multiple apps simultaneously on the screen. I'll assume that you will reply that, in fact, you do have all your running programs in small, adjacent, concurrently-viewable windows at all times, because it has very little to do with my point. That isn't how desktop UI is designed. If it was, windows would automatically divide your screen into four windows if you had four programs open, and a 2x3 grid if you had six open, etc.

Instead, programs generally open in full screen (maximized) windows. All your attention is focused on this program.

I can't imagine how inefficient that it would be to work that way. The reason I have large/multiple monitors is so that I can have not all but multiple programs running in concurrently-viewable windows.

our attention can only be focused at one point (and program) at a time. For example, you may be viewing two windows: reading from one and entering data into the other. Your attention is still focused in one program at a time (reading, then typing); you are simply making it quicker to transfer information from one into the other.

Not true. I often read and type simultaneously. Isn't that the point (in addition to speed) of touch-typing?

B) Multitasking is not about being able to save time loading programs. My desktop can launch any program faster than my iPhone can launch it's apps. If load times are the issue, however, why aren't desktops designed to run only one program at a time?

You've proven that eliminating load time issues does not provide all of the benefits of multitasking, and from that you conclude that multitasking is not about saving time loading programs. What you should have concluded is that multitasking is not SOLELY about eliminating load time issues. In fact, it's very much one part of what makes multitasking important.

For the sake of argument, I'll accept your definition and say that "multitasking" is not about viewing multiple programs, saving load time, or having mail check for messages in the background. All that does is narrow the meaning of "multitasking" so as to make its existence or lack thereof less significant than it is under another definition.
 
We want to move quickly between a set of applications. Typically from App A to App B.

The desired behavior is App B appears instantly .. and when we return to App A - the transition is instant and App A is exactly the same state as when we left it.

The problem with the current way task switching is implemented in the iPhone is, there is no way to return to App A after we are done with App B.

For instance, there are many apps that call Google Maps or Safari. So many, in fact, that once I get switched to Maps/Safari, I sometimes have trouble remembering which app I was in before I got swtiched. It would be nice, for instance, if App A calls Safari, then I read whatever info is displayed in Safari, maybe fill out an online form, so on, then when I close Safari, App A reopens automatically. I don't care if App A has been running in the background or it closed and is reopening to its previous state, as long as I don't have to stop and try to remember if I was in App A or B.
 
The problem with the current way task switching is implemented in the iPhone is, there is no way to return to App A after we are done with App B.

For instance, there are many apps that call Google Maps or Safari. So many, in fact, that once I get switched to Maps/Safari, I sometimes have trouble remembering which app I was in before I got swtiched. It would be nice, for instance, if App A calls Safari, then I read whatever info is displayed in Safari, maybe fill out an online form, so on, then when I close Safari, App A reopens automatically. I don't care if App A has been running in the background or it closed and is reopening to its previous state, as long as I don't have to stop and try to remember if I was in App A or B.

Wouldn't be rocket science for the OS to remember that if an App was "called" - then quitting should "return" to the caller.

It would mean the home button became a back button in some cases. But that's exactly how the Menu buttons works in the Apple Remote.

I do think that if Apple implemented fast switching. The might need to be some UI tweaks to go with it.
The first step would have to be a hardware upgrade. To provide enough spare RAM.

C.
 
I think there are a few simple solutions to this:

Solution 1.

1) When you press home button quickly, the app should "minimize."

2) When you press the home button and hold, the app should "close."

When the app is minimized, change the color of the bar at the top where the clock is to red, and allow it to be click able, which brings down a list of what is running in the background and let you pick the app that is running.

Solution 2.

1) When you press home button quickly, the app should "minimize."

2) When you press the home button and hold, the app should "close."

When the app is minimized, change the color of the bar at the top where the clock is to red to let the user know there are apps running.

At any time, when you press the button on top, instead of just locking the phone, have a menu that comes up with a list of the running apps and a lock option.

If locked, and pressed, have the list of apps come up with the slider to unlock to the home screen.

These are not a perfect fixes, but they would be better than what we have.

Of course, the phone would need more RAM and a way to handle running out of said RAM with open apps.
 
Solution 2.

1) When you press home button quickly, the app should "minimize."

2) When you press the home button and hold, the app should "close."

When the app is minimized, change the color of the bar at the top where the clock is to red to let the user know there are apps running.

At any time, when you press the button on top, instead of just locking the phone, have a menu that comes up with a list of the running apps and a lock option.

If locked, and pressed, have the list of apps come up with the slider to unlock to the home screen.

I like pressing quickly to close apps, and pressing and holding if you want them in the background, which is how backgrounding works in jailbroken phones. Think about it, not every app needs to run in the background, so it makes sense to have the extra action (press and hold) be for the process that is invoked less often. Also, with the current jailbroken method, you can set up a list of apps that you always want to run in the background, and those go to the background with a simple press.

But using the top button to invoke a list of running apps is a great idea. Would be wonderful if SBSettings worked that way!
 
I like pressing quickly to close apps, and pressing and holding if you want them in the background

But using the top button to invoke a list of running apps is a great idea. Would be wonderful if SBSettings worked that way!
Sounds good to me and I am convinced.

Quick press to close, long press to background. Would take getting used to, but does make more sense.

And I am glad you like the top button idea. I do to. :D

Now where did I put that Apple iPhone Designer Job Application?? :D
 
Eso,

Your long post is great and very informative and I agree with a lot of what you say. However, I think your definition of multi-tasking is incomplete at best and you are more talking about functionality and HOW the iPhone handles tasks. (Like the SMS pop up while doing something else.)

Websters Dictionary defines multitasking as:

1 : the concurrent performance of several jobs by a computer

Basically proves your second quote above to be false. I just had music playing, the iPhone stopwatch counting, and was using my Twitter application, all at the same time. When I was done with Twitter, I went back to the stop watch, and it was still keeping time. By this very definition, that is multi-tasking. So to say the iPhone "can't multi-task" is just false.

2 : the performance of multiple tasks at one time

Proving your first quote above to be false in my opinion. Right now, I am posting on here AND watching my upload progress of software to a Hospital in New York I am getting ready to upgrade. I can do this only because I can SEE both at the same time. If I did not have the other window going, I would not truly know when the process is going. For me, it is not just good enough that I know the files are being transferred. When they are done, I must stop what I am doing and deal with the files because I am a billable resource and I am billing this time.

And I still say that, for me, all the iPhone can do out weighs the saving of SECONDS of time, which is still the only advantage the Pre has with it's ability to run multiple apps in memory at once.

I mean, don't get me wrong. I would love for the iPhone to be able to run multiple apps and just let us flick through them somehow. It would be nice. Real nice.

But honestly, a phone that can do that falls under a phone that syncs with iTunes, the App Store, and can do Voice and Data at the same time in my eyes.

This may be possible with some apps but not all. Example, I go to espn.com in safari but before it loads I check a text message. When I open Safari it starts loading all over again. Or I'm listening to music on Pandora and an email comes in, I go to check it and lose Pandora.

Soon you might have 2 out of those 3, and maybe all 3 if you're on wifi! (yes I know the Pre won't sync with the app store, but who knows what kind of app store we'll see on the Pre)
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.