Multitasking - iPhone OS 4 vs Nokia N900 (cool900.blogspot.com)
The introduction of multitasking for iPhone OS was a huge disappointment. Apple has left out most of the functionality that makes multitasking useful on a small screen, and is spreading FUD about the alternatives.
41 comments
[ 3.1 ms ] story [ 89.1 ms ] threadI value the true multitasking on my N900 though. In a moment I'm going to join a weekly phone conference over Skype, put it on loud speaker, join the conference's IRC in x-chat and will be checking the links posted in the channel in a browser (probably going to look at some emails I receive in the meantime too). Yes - all of that on my phone.
(of course battery will last ~1½ h as it's all over WiFi, but it does't matter that much - just going to start charging it at some point)
Especially - how is it "more useful" to have a stripped down version of multitasking -vs- multitasking? And what exactly is easier? For me it's a) tap the corner b) choose an app. For iPhone user it's a) tap the home button b) choose an app.
http://www.engadget.com/2010/04/08/multitasking-comes-to-iph...
Maybe I understood it wrong, but that was my impression from the presentation.
They specifically showed Skype as being able to run (continue calls or receive new ones) in the background through a very similar UI to the current built-in "Phone" app, so I think you'd be good on that one.
How is the n900 otherwise? Is it a good phone? Would you buy it again if you had to do it all over?
Edit: but I find the only issue being with some locked iTunes music -- can't play it here. iTunes Plus and what I (now) get from amazon mp3 is fine.
If you want to try the interface, you can install the maemo sdk (scratchbox) which will just run the real interface on your screen via X display.
First, how is leaving a battery-intensive service on Android different from leaving a battery-intensive background task on iPhone? (The Flickr photo upload example)
Second, are you aware that data-roaming is off by default on Android and you have to explicitly turn it ON from the settings?
Because whatever Apple makes is laced with pixie dust and unicorn farts. Therefore their products are not limited to the quaint physics of the universe.
Second) How is this relevant? If you want roaming on, it doesn't imply you want apps to use it without your explicit request. Concrete example: leave Google Maps running logged into Latitude and it will merrily talk on the network by itself.
And what I do is not running SETI@home. I download podcasts on the phone using gpodder. That's much better than any option available on the iPhone. When I'm at home, I like to read some mails while podcasts are downloading and answer a call if somebody calls me.
When my wife is driving, I like to be able to read e-mails while Sygic (the in-car gps application) tells her when to turn right or left (running on the background).
These two scenarios would be beneficial to iPhone users.
In theory the iPhone is the best smartphone there. It is much more beautiful than Maemo5, of course, but, as I said, I do much more with maemo than with the iPhone.
Of course I never used iPhone OS 4. But the article shows that the Maemo has done it much better than Apple.
As a developer you don't have to include more code to make multitasking happen. An event fires when the app becomes active and when it deactivates, but its your choice to handle them or not.
* Existing iPhones offer an infrastructure to quickly save and restore the state of your application so that it can be "hibernated", therefore reducing the need for real multitasking.
* Obviously, due to the limited display size of mobile devices, you can't have two apps running on the same screen at the same time, it just doesn't make sense, so an "inactive" app is off the screen, hence most of the time it doesn't matter if is actually running or hibernated. Just like on the iPhone.
* Sometimes, you still want your app running even when it's off-screen. Things like music players (Spotify for instance), mail tools (gmail fetching email in the background) or social tools (a twitter client fetching the latest tweets that you can read later even if you don't have signal).
* Notice that generally, for things that you want to run in the background, you don't need an active UI. There's no need for UI for an audio player in the background, a mail reader syncing in the background, etc.
* Solution: disallowing code that is eligible for running in the background to have access to the screen. This will make he background tasks a lot leaner as it would force developers to separate "service-like" code from "application code" and enforcing strict memory/CPU limits on "background services".
In addition, there are events notifying application that it is going to be "hybernated"; basically it tells it to save whatever information it needs to restore into current state.
The "background slots" are implementation details. Applications do not receive the event "you are going to be killed, please serialize" the same moment they lose focus; they receive it at the system's discretion. The system decides based on memory available (mostly), whether it will leave some processes running or whether they will be "backgrounded" (basically, what is more economical - backgrounding processes all the time, when the user is switching between two apps, or just keep them both in memory?).
To some extent, this is tunable by the power users - if they download "Dev Tools", they can set the limit to 1 - 4 processes (or unlimited). It is basically trade off between memory consumption and responsiveness.
I repeat - this is not supposed to be setting for common users; it is just exposed for developers to experiment, what happens when they push the decision threshold in one direction or another. The system is supposed to have good default out of the box and manage the processes automatically (which is also reason, why there is no task manager).
For some people that may be true but to keep things in perspective Apple has sold ~80 million iPhone OS devices with no third party multi-tasking at all. Obviously it's just not that important to a significant number of people buying mobile devices. If it doesn't meet your needs obviously you need to buy something else but why discount the motivations of other people? I like the iPhone specifically because it works really well 99.9% of the time with zero upkeep on my part.
Probably better to say that multitasking is not important enough to affect people's decision on whether or not to buy an iPhone. I'd be willing to bet it's still quite important to a large number of people. I suspect many will upgrade their 2g/3g just for multitasking.