3 ms·
You may be confusing apps placed in the background with services. Also, Apple has a long history of not being very good at mufti-tasking. OSX was the first Ap
by beloch 15y ago
You may be confusing apps placed in the background with services.
Also, Apple has a long history of not being very good at mufti-tasking. OSX was the first Apple OS that had modern pre-emptive multitasking, a good 5 years after Windows and decades after Unix. Pre-emptive multi-tasking just means that the OS divies up CPU time between applications without the applications being aware of it, so many programs can run at the same time without being specifically written to allow this. Apple was handed multitasking for free in the form of the BSD code OSX is built on.
OS9, interestingly enough, had non-preemptive multitasking. The OS would never take control away from a program, but rather, meekly wait for programs to hand it back. This meant that multi-tasking could work only so long as all programs you were using were specifically written for it. In reality, few were, and just one program not written for multi-tasking would seize control and lock out all other programs. Imagine working on an OS this backwards 5 years after Windows 95 came out! OS9 was indeed a product of the dark age of Apple.
Multi-tasking in iOS is strangely similar to that of OS9 in that it isn't handled by the OS invisibly regardless of how applications are written. Applications must be written to allow multitasking. It's not quite as bad as OS9 in that one poorly written application won't bring your iOS device to a screeching halt, but it's still an extremely backwards approach and ample evidence that Apple still doesn't understand multi-tasking.
The argument that Apple has deliberately done this because it's good for battery-performance is idiotic. You don't build the foundations of an OS that could be around for decades around limitations of current generation hardware. Battery consumption is already a much less important issue than it was two years ago and it will continue to become less and less important since the power efficiency of mobile devices is actually growing faster than Moore's law. In five years Apples poor implementation of multi-tasking, and all the code written to make use of it, will still be a big mess to clean up. Even if current generation Android hardware were experiencing poorer battery performance (and they generally don't) because of Android sane implementation of multi-tasking, it would be a small price to pay compared to what Apple has ahead.
The real reason Apple has designed iOS this way is, as with OS9, because they just don't know any better.
- nicpottier 15y agoThis is absurd. Saying that Apple doesn't have the ability to build a multi-tasking OS is just ridiculous. They didn't do it with OS9 because they were trapped by the weight of their legacy, and they ended up making the hard choice of starting from a fresh base to accomplish it. Your implication that somehow real multitasking is some kind of black art that nobody at Apple understands and only exists because they acquired Next is ridiculous. As for iOS, Apple totally made the right call here and introduced it when the hardware and battery became ready. Did you ever use a G1? They were ridiculous, even today, Android is a complete mess when it comes to doing a good job of sandboxing apps and their use of CPU. I love Android and have carried one for years, but their biggest wart is just that. Everybody used to joke that if you used WindowsMobile you had to use a task manager to keep it running, Android isn't far off. You get a lot of power through its use of multi-tasking, but because they are less strict than Apple you also easily get into a state where your battery lasts for shit. iOS is far, far, stricter in this regard, and it can make it a pain to program to, but the overall user experience is way better. For the vast majority of apps the user has no idea whether multi-tasking even exists.. all they know is that they leave the app and when they come back things are just as they were. iOS's strategy of just saving the state and killing everything works brilliantly for 80% of the apps and has made the phone have a fantastic user experience. Yes, they had to evolve to allow background services, and they did, but carefully. Enough with the fanboyism, each platform has its strengths, but make your arguments on reasonable foundations.
- czhiddy 15y ago"Even if current generation Android hardware were experiencing poorer battery performance (and they generally don't)" Really? http://www.anandtech.com/show/4686/samsung-galaxy-s-2-international-review-the-best-redefined/18 http://www.anandtech.com/show/4686/samsung-galaxy-s-2-intern...
- 5hoom 15y agoC'mon, really? You're saying that Apple was technologically incapable of building a multitasking OS. I don't know where to begin constructing an argument to refute this. How about, um, I don't know, the existence of OSX?
- prodigal_erik 15y agoThey tried, failed, and gave up. Apple's shiny next-gen multitasking OS was codenamed Pink (http://en.wikipedia.org/wiki/Taligent#Pink_and_Blue http://en.wikipedia.org/wiki/Taligent#Pink_and_Blue). It was spun off as Taligent, pivoted into a UI toolkit, and sank mostly forgotten. So they acquired NeXTStep along with Jobs, rebranded that as MacOS X, and started extending it. At least they had the foresight to maintain the port to commodity x86 hardware that NeXT, another Microsoft/OEM victim, never really managed to sell.
- reeses 15y agoYou should specify Mac OS 9 when you say OS9. As soon as you said OS9, I thought you meant, well, OS9. OS9 definitely had pre-emptive multitasking about a hundred million years ago.