Quote:
|
Originally Posted by Janak Parekh
Exactly -- that just summarizes the multithreading capabilities of Cobalt and confirms my suspicions. Again, it's up to the developer to split their program into threads and make sure certain ones have flags set for background operation. While this is a workable solution, it harkens back, in some ways, to the days of cooperative multitasking -- that is, onus on the developer to ensure their program multitasks properly. Most of the rest of the industry has moved on to having the OS provide multitasking services for all applications while allowing applications some finer-grained control when they need to move their priority up and down. This reduces the dependence on the developer.
|
Okay, it's taken me a few days to figure out what was bugging me about this argument and what I obviously wasn't explaining properly. Here's the thing.
The WM model is much easier for developers. No doubt about this. But who buys the devices? Who uses them on a day to day basis? Who, in fact, do the developers absolutely depend on?
It's all about the user experience. And on a resource-limited handheld, especially since handheld generally don't support the swap file tricks desktops use, the PalmSource style of multitasking is much, much more efficient. More efficient use of memory leads to a snappier, more reliable user experience.
Both systems have their compromises, true. But I'd rather make a little more work for the developer than make a little more frustration for the user.