4 ms·
I think this is the right way to go about it... rather than giving apps whole-hog access where they can burn up cpu and memory at will, in a black box, Apple ca
by kalid 17y ago
I think this is the right way to go about it... rather than giving apps whole-hog access where they can burn up cpu and memory at will, in a black box, Apple can do a "don't call us, we'll call you" type of API.
Apple can monitor exactly what resources are being used, have timeouts for api calls, etc. to maintain perf. If you do regular multitasking (just split up cpu time between the top N apps) you have no idea how efficient apps are being, or why they are using cpu. You can't easily prioritize certain activities over others (i.e notifications vs. voip vs location). You can't optimize everyone's calls with core library functions (each app would re-implement their background tasks, perhaps poorly).
When people say they need multitasking they really mean "streaming music/skype/background notifications", like when they say they want flash they really mean they want video. We have to be careful not to just give people the faster horse.
- weaksauce 17y agoYeah it's like polled IO vs interrupt driven IO. I am interested in this new paradigm for the iPhone os. I wonder what types of apps they are leaving out of the background multitasking? It seems like they have gotten most of the use cases down but when you limit it there usually is one glaring use case that was not thought of.
- kalid 17y agoYeah, the neat thing about Apple's strategy is that they've allowed 150k individual apps to flourish already. They can look at the APIs they provide and say "We handle 80/90/95% of the tasks needed by these apps". It's real-world customer development, based on actual requirements, vs. forecasting what people might want. There might be a missing use case, which will then appear in OS 4.1 next year :).
- ezy 17y agoWell, when I say "multitasking", I mean the ability to switch out of a network app without it disconnecting. I wonder how persistent network connections will be managed that aren't IM or streaming audio? One huge annoyance with the current platform is that remote desktop or ssh apps disconnect when you switch out of the app. It's one of the reasons i'm thinking of holding off on the iPad for another year (another OS release). Given Scott's comment about how there is no "close" in this pseudo-multitasking world, I'm a little worried that the iPad will stay useless for me for the foreseeable future :-)
- ptomato 17y agoI haven't looked at the APIs yet, but it will probably be possible to do something like not DCing an ssh connection via the task-completion API, as the example given was uploading photos to flickr.
- ezy 17y agoI missed that. Yeah, then in all likelihood, if it isn't supported directly, one could hack it.
- cpr 17y agoIn the video, they said explicitly that there are background facilities for things like keeping Voip connections live. I have to imagine (cough) that there are similar facilities for any kind of IP connection.