Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
How is the scheduler going to know how to prioritize 140k third-party apps? Are you familiar with how it works on modern "co-operative multitasking" systems?

Cooperative multitasking isn't modern, at least not in personal computing. That went out with OS 9 and 16 bit Windows.

But your question is an important one. No idea how that's going to get resolved. That's what Apple is hopefully spending a lot of time trying to figure out. Maybe it's app-driven, maybe it's some sort of sensible defaults that the user can go into some fancy tachometer screen and give their favorite apps more background "power".
 
Cooperative multitasking isn't modern, at least not in personal computing. That went out with OS 9 and 16 bit Windows.

But your question is an important one. No idea how that's going to get resolved. That's what Apple is hopefully spending a lot of time trying to figure out. Maybe it's app-driven, maybe it's some sort of sensible defaults that the user can go into some fancy tachometer screen and give their favorite apps more background "power".

I mis-typed, and edited... I'm practicing some pre-emptive multitasking myself at the moment, and it isn't very effective. :p
 
If I understand your question, in modern phone OS's apps get an event that tells them they need to save state and shut down.

Of course, but that's missing the point. As many users have complained about on the Pre and especially Nexus One, many (most?) third-party applications are not being good citizens. Some are actively bad citizens, tearing down their UI presence while still running--at best--"semi" authorized tasks. Not everyone has these issues, obviously. It depends on your usage profile. But everyone who says "phones have been doing this for a decade" needs to stop and think very carefully about why, as a rule, *nobody has used those functions*.

It's not a coincidence. It isn't "just that simple" to do it *right*.
 
Notification can be a waste of bandwidth, radio power and servers in many cases.

You misunderstood me. Probably because I used the wrong term. The jargon term for what I was talking about is delegation. An app sets itself up as a delegate for a particular class of events, and the OS sends a notification to the delegate when the event triggers.

For example, there are background apps that watch specially tagged text messages for a secret code you've set up. When it sees one, it sends back the location of the device so you can track it down if lost. Or lock it or wipe it. Or even retrieve your contacts remotely if you forgot your phone.

A third-party app with the power to wipe your phone? I don't think so, friend. Terrible, terrible idea.

Are you saying that Apple has dumb ideas?

Apple comes up with ideas that I think are dumb all the time. If Apple included a function in a future iPhone release that would change my phone's display automatically based on the weather or the time of day or the phase of the moon or what have you, rest assured that I'd shake my head and wonder what the hell the kids today are drinking.

Of course, I remain open to being persuaded that I'm wrong. But based on what you've described? Yeah. Dumb.

In modern phone OS's, apps get an event that tells them they need to save state and shut down. It's that simple.

I'm lost. That's precisely how it works on the iPhone. An app saves state when the home button is pressed, and when that app is invoked again, it restores state. What's your gripe, exactly? I've lost track.
 
Hope...

I'm not getting my hopes up...heard it before.

I'm not getting a hyped up only to be severely disappointed like the crapPAD.
 
I'm lost. That's precisely how it works on the iPhone. An app saves state when the home button is pressed, and when that app is invoked again, it restores state. What's your gripe, exactly? I've lost track.

In a perfect world where all apps support this, you end up with a reasonably good approximation of task switching.

I just did a quick survey of the apps on my phone, and almost none of them actually work this way. Thus, it is of no practical significance to me, as I have to maintain a mental list of which ones don't, and say "Oh, wait! I better not hit the Home button just yet on this app!"

It's a fine workaround in some cases, while we wait for the OS to mature and give us some of its missing fundamental features. There's a near 100% probability this WILL eventually happen - what are you going to do then - complain?
 
You misunderstood me. Probably because I used the wrong term. The jargon term for what I was talking about is delegation. An app sets itself up as a delegate for a particular class of events, and the OS sends a notification to the delegate when the event triggers.

That works fine for things like wall-clock time, incoming calls, incoming SMS, incoming email, etc., but less fine for things that depend on GPS or camera input (though it's still possible, of course).

Hopefully Apple will eventually enable a way to hook events, but I doubt we'll see it in 4.0. Instead I believe we'll see some sort of pre-emptive multitasking with a scheduler that aggressively skips or kills tasks if it thinks performance is suffering.
 
In a perfect world where all apps support this, you end up with a reasonably good approximation of task switching.

A "reasonably good approximation?" I really don't know how to say it any clearer: a phone is not a laptop. It should not be a laptop. You don't want your phone to work like a laptop. And if you do, well, trade in your iPhone for something else, 'cause you're not in the target market.

There's a near 100% probability this WILL eventually happen - what are you going to do then - complain?

I think I read someplace that 87% of all percentages are made up on the spot. But that aside, if Apple invests a lot of time and effort making my phone less reliable and more complicated just to placate some nerds who think they have a moral monopoly on the be-all and end-all of device technology, then yes. I most certainly will complain about it.

Probably not for very long, though. I'll get it off my chest, then settle down and either choose not to upgrade, or find another device that I like better. Since right now the iPhone is like a galaxy beyond any other phone, in my opinion, I don't expect to switch any time soon.
 
That works fine for things like wall-clock time, incoming calls, incoming SMS, incoming email, etc., but less fine for things that depend on GPS or camera input (though it's still possible, of course).

Hopefully Apple will eventually enable a way to hook events, but I doubt we'll see it in 4.0. Instead I believe we'll see some sort of pre-emptive multitasking with a scheduler that aggressively skips or kills tasks if it thinks performance is suffering.

When you're talking about GPS or camera input for which an application would be sitting in the background waiting, it seems that a notification design would be appropriate depending on the precise problem space. The issue is one of granularity here--is it enough for CoreLocation to send out a notice to subscribed apps when your location changes by 1 mile? 1 meter? If we're talking about an app that's doing something in the background, not one you're interacting with, it's very likely that notifications at relatively coarse steps are a much better idea than having a bunch of applications churning along constantly polling.
 
Remote bricking is an important tool

A third-party app with the power to wipe your phone? I don't think so, friend. Terrible, terrible idea.

Actually, some companies require similar apps so that a lost or
stolen phone can be bricked ASAP. I even had one once that would
brick the phone if I let three days go by without connecting to the
VPN.

You can assume that everything on the phone is sync'd to the
server, so unbricking is no big deal.
 
A "reasonably good approximation?" I really don't know how to say it any clearer: a phone is not a laptop. It should not be a laptop. You don't want your phone to work like a laptop. And if you do, well, trade in your iPhone for something else, 'cause you're not in the target market.

I must be in the target market, because I own one. Its shortcomings aren't enough for me to switch to anything else, because everything else out there is an overall inferior product.

I think I read someplace that 87% of all percentages are made up on the spot. But that aside, if Apple invests a lot of time and effort making my phone less reliable and more complicated just to placate some nerds who think they have a moral monopoly on the be-all and end-all of device technology, then yes. I most certainly will complain about it.

If Apple does it well, the phone won't become less reliable nor any more complicated. It can be done in a way invisible to people who don't want to use the feature, just like Cut and Paste was.

Of course a Desktop model isn't appropriate. I'm not arguing they should add a Cmd and Tab key to the phone, or let it willy-nilly open up a billion apps until the battery is dead in 5 minutes.

But multitasking is a useful concept, even on a phone - and it can become a seamless part of the interaction ethic of the phone, not just something to add to the feature check-off list.
 
When you're talking about GPS or camera input for which an application would be sitting in the background waiting, it seems that a notification design would be appropriate depending on the precise problem space. The issue is one of granularity here--is it enough for CoreLocation to send out a notice to subscribed apps when your location changes by 1 mile? 1 meter? If we're talking about an app that's doing something in the background, not one you're interacting with, it's very likely that notifications at relatively coarse steps are a much better idea than having a bunch of applications churning along constantly polling.

Exactly. Just don't know if it works for the things I mentioned, for the reasons you mentioned (camera image and GPS location change constantly, so how often do you trigger notifications? In some situations I can imagine it being better to set up timer events for regular polling. BTW, another example is the mic input. Another, too, is the accelerometer, though in practical terms hooking the "shake" event is probably good enough).
 
All the recent talk made me forget the most important app I have installed on my Nexus One, WaveSecure for Android.

With this single app installed, every power on, call made, SMS sent can be remotely viewed by me and I can also remote wipe or acquire data, lock or locate my handset and if someone steals my phone and puts their sim in, WavesSecure logs the phone number of the sim and time/date the device was powered on.

Possibly the best reason I can see for multitasking and such a well done 'background process' I completely forgot I had it running. ;)
 
But multitasking is a useful concept, even on a phone - and it can become a seamless part of the interaction ethic of the phone, not just something to add to the feature check-off list.

Well, like I said when I first posted in this discussion this morning, people keep saying that and I'm still not seeing it. We've got your Pandora case (which is legit, but narrow), we've got some fringe cases, and we've got complaints that are not actually related to "multitasking" at all.

I'll be blunt here: I think you're advocating on behalf of a bad idea. It's really that simple. The ideas I've heard floated for adding "multitasking" to the iPhone are all complicated, inefficient and unnecessary, and would really annoy me if I had to deal with them on a daily basis.

That's why I asked my question in the first place. I wanted to know if there was some well-defined, well-known problem that only these ideas could address? What I've heard so far — which is a very, very small sample of possible responses — is no. The problems that people are currently complaining about boil down to ones that need to be addressed with strictly limited implementation changes, ones that are so far out on the fringe that addressing them seems like a poor use of development resources, and ones that people either misunderstand or misrepresent and that aren't actually related to simultaneous running apps at all.

Know what I honestly think? I think there are some people out there — maybe just a few, maybe a ton — who heard somebody say "The iPhone can't multitask," and thought it sounded cool, and decided to repeat it without ever really diving deeply into the question to decide whether it actually makes any sense.

Of the rest, no small fraction seem to be people who are obsessed with feechers, with little or no consideration of what actual humans actually want to do with their actual phones.
 
All the recent talk made me forget the most important app I have installed on my Nexus One, WaveSecure for Android.

With this single app installed, every power on, call made, SMS sent can be remotely viewed by me and I can also remote wipe or acquire data, lock or locate my handset and if someone steals my phone and puts their sim in, WavesSecure logs the phone number of the sim and time/date the device was powered on.

Possibly the best reason I can see for multitasking and such a well done 'background process' I completely forgot I had it running. ;)

which reminds me - as a lawyer I would love to be able to assign calls, texts, emails, and the time spent dealing with them, to specific matter numbers for billing. Works a lot better if there's multitasking (and better still if you can subscribe to event notifications in other apps).
 
A "reasonably good approximation?" I really don't know how to say it any clearer: a phone is not a laptop. It should not be a laptop. You don't want your phone to work like a laptop. And if you do, well, trade in your iPhone for something else, 'cause you're not in the target market.

Where were you when the Phone stopped being just a Phone and started encroaching on the PDA market? Were you as vocal then as you are now? Were you complaining that your phone doesn't need a notepad or the internet because you just want to make phone calls?

I think I read someplace that 87% of all percentages are made up on the spot. But that aside, if Apple invests a lot of time and effort making my phone less reliable and more complicated just to placate some nerds who think they have a moral monopoly on the be-all and end-all of device technology, then yes. I most certainly will complain about it.

It's not the nerds who think they have the moral monopoly it is indeed you who does. You see, you want to stop the natural progression of a device because you like it the way it is and detest who ever disagrees which is arrogance at its finest. If you didn't like the fact that smartphones are becoming as capable as desktop computers why did you buy one? You can't purchase a Motorcycle and then be upset with the manufacturer because it didn't come with 4 wheels.
 
Exactly. Just don't know if it works for the things I mentioned, for the reasons you mentioned (camera image and GPS location change constantly, so how often do you trigger notifications? In some situations I can imagine it being better to set up timer events for regular polling. BTW, another example is the mic input. Another, too, is the accelerometer, though in practical terms hooking the "shake" event is probably good enough).

The follow-on question is: How do you discourage applications from just slouching in the corner and polling instead of using proper subscription/notification protocols? The most heavy-handed, naive approach would be to simply kill any app that made a library call while not foregrounded, except in response to a proper notification. Not an easy question. Your earlier suggestion of an aggressive scheduler may very well be their approach, though it does come with its own overhead.
 
Well, like I said when I first posted in this discussion this morning, people keep saying that and I'm still not seeing it. We've got your Pandora case (which is legit, but narrow), we've got some fringe cases, and we've got complaints that are not actually related to "multitasking" at all.

I heard a probably apocryphal story once about AT&T, before the split up, being asked during a court case about how their monopoly on phone equipment might be stifling innovation. Their answer was supposedly something like "What do you mean? We offer phones in multiple colors!"

Just because we can't think of what new innovations multitasking could provide doesn't mean they don't exist. We do know we won't see them at all if we don't have the ability to experiment.

I'll be blunt here: I think you're advocating on behalf of a bad idea. It's really that simple. The ideas I've heard floated for adding "multitasking" to the iPhone are all complicated, inefficient and unnecessary, and would really annoy me if I had to deal with them on a daily basis.

We're in total agreement here. I've from the beginning been an iPhone defender, arguing that "How It Does It" is more important than "What It Does". Competitors spent 2 years in the "What It Does" camp, creating failed tech demo products like the Instinct.

If multitasking harms the experience, it must not be included. But if and when it can be implemented in a way that compliments what's already there and doesn't harm anything, then it should be included.
 
which reminds me - as a lawyer I would love to be able to assign calls, texts, emails, and the time spent dealing with them, to specific matter numbers for billing. Works a lot better if there's multitasking (and better still if you can subscribe to event notifications in other apps).

I'm not sure what level of access iPhone apps have to the core elements of the iPhone (call logs, dialler control, data logging, contacts) but such an app could be a great thing to have for what you described above.

There is a simple app on Android called Phonalyzer which generates graphs and stats based on calls, call times, SMS's, SMS times, wordcount e.t.c but a similar app with user definable tags (certain contact lists for example) could be a handy tool on the iPhone.

Could such a thing exist currently or are things like the call logs/SMS messages prohibited from access by 3rd party apps at this time?
 
The fact that you can only see one at a time, and that they are modal and interrupt what you are doing. If you dismiss them to get them out of the way, you can't go back and find them again to go deal with them.

It would be better to, for example, flash the status bar, have a popup that disappears after a second or two, and then you perform some gesture (drag the status bar down, for example) and you can see all your notifications all queued up in one place.

Take a look at what Palm did with WebOS and it's notification system. The iPhone is way behind in this. Part of this has to do with the multitasking situation.

Example, the iPhone will alert you of a SMS message that came in while you are in a 3rd Party app. Right now if I want to reply to that message I have to leave that app and relaunch it once I finish replying. Also, if I receive a SMS alert and then someone else sends me another SMS message the most recent will display but not the first one. Notification right all over each other.

Yes, I see those points. I guess I'm too old a fogey to do SMS, and the apps that are too stupid to collect notifications intelligently, I generally would stop using. But I can see how a more flexible notification system would bring more to the table (and provide a better user experience for the people who use them).

Certainly, if you were interested in responding to individual alerts, the current implementation would be annoying. I rarely (if ever) need to do that for the alerts that I use. There's always the old design question of whether a popup in your face is more suitable than toast appearing in your tray for this type of thing. Some apps alerts I would want in my face, if the alert were important to me to respond to. Other apps (e.g. twitter) - I would want toast, or nothing at all. Perhaps the real problem is that alerts only come in one style, and there is need for more.
 
The follow-on question is: How do you discourage applications from just slouching in the corner and polling instead of using proper subscription/notification protocols? The most heavy-handed, naive approach would be to simply kill any app that made a library call while not foregrounded, except in response to a proper notification. Not an easy question. Your earlier suggestion of an aggressive scheduler may very well be their approach, though it does come with its own overhead.

They already send a sigkill to any app that doesn't exit within a fixed time interval (1 second? 3? can't remember) after receiving the "exit" message. I'm guessing that they'll have the scheduler kill any app that generates excessive messages (timers, etc.) or cpu load.
 
I'm not sure what level of access iPhone apps have to the core elements of the iPhone (call logs, dialler control, data logging, contacts) but such an app could be a great thing to have for what you described above.

There is a simple app on Android called Phonalyzer which generates graphs and stats based on calls, call times, SMS's, SMS times, wordcount e.t.c but a similar app with user definable tags (certain contact lists for example) could be a handy tool on the iPhone.

Could such a thing exist currently or are things like the call logs/SMS messages prohibited from access by 3rd party apps at this time?

I'm not generally one of the tin-foil-hat brigade, but this seems like a privacy nightmare to me. Even setting aside the risks of the nefarious and concentrating only on negligence and insecurity--at least if Apple or AT&T release my call logs to the public, I have a reasonable possibility of some sort of recompense. Some random programmer? Good luck.
 
Where were you when the Phone stopped being just a Phone and started encroaching on the PDA market?

Necking in cars with girls.

I kid, I kid. But seriously, I was obviously pretty far out of it, because I didn't even know what "PDA market" meant until I googled it just now. Palm Pilots and stuff? Never showed up on my radar.

I had a Blackberry for a while, but it was just an email appliance. At the time I was working for a facility that bought into them. It worked okay, but it was a pain to have to carry it around in addition to my phone, and it was only for work-related email … which I didn't care about when I wasn't on the clock. So meh.

It's not the nerds who think they have the moral monopoly it is indeed you who does. You see, you want to stop the natural progression of a device because you like it the way it is and detest who ever disagrees which is arrogance at its finest.

Well … yeah, actually. Kind of. I mean, you're really, really close to having me figured out. It's not that I want to stop "the natural progression." It's that I think "the natural progression" is something other than what you appear to think it is. I think devices should be simpler, smaller, more reliable than they are. I'm not one of those guys who thinks devices should be more and more capable just so we can go out of our way to find new ways to waste all that electricity or whatever.

If you didn't like the fact that smartphones are becoming as capable as desktop computers why did you buy one?

I kind of didn't. Buy a "smartphone," that is. When the iPhone was announced I was using an old Sony Ericsson, and it was kinda cruddy. I was in the market to replace it, but I couldn't find anything that was simpler, easier to use, more reliable or better designed. Then I checked out the iPhone, and found it very much to my liking. I paid more for it than I ever, ever wanted to, but I've never had complaint one about it, which is more than I can say for the $99 piece of junk it replace.

I didn't, like, go out and try to find the absolute most powerful whatever. I just wanted a phone. I wanted it to be utterly trivial to use, and perfectly reliable. Right now, my iPhone has a couple apps on it: Shazam (which is like distilled magic, I swear) and Tweetie, and also AIM though I'm thinking of removing that one because I never use it. Oh, and Stanza, but again, it's not for me. I use Mail pretty often because I like not being tied to my room if I'm waiting for something to come in. I use Safari when I'm bored on line or when I just want to look something up quickly without having to go find a free computer. Oh, and obviously I use the address book and the calendar, and occasionally the maps. I twitter a bit because it's handy, and I make tons and tons of phone calls. That's me and my iPhone in a nutshell.

And while the plural of anecdote is not data, that's pretty much how everybody I know and work with uses theirs. Most of the interns and assistants do the Facebook thing, but I can't speak to that because it's not my thing. But apart from that one difference, I'd say I'm pretty darned typical.

You can't purchase a Motorcycle and then be upset with the manufacturer because it didn't come with 4 wheels.

Funny, I would have said the same to you. Except you bought a car, and you're complaining that it's not a boat. Different devices for different purposes, man.
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.