2010-04-09

Multitasking - iPhone OS 4 vs Nokia N900

In my previous blog entry, I pointed out that advanced functionality and simplicity are not mutually exclusive. Yesterday's introduction of multitasking for iPhone OS was, from this perspective, 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.


It is with these two comments I take issue:

1. "In multitasking, if you see a task manager... they blew it. Users shouldn't ever have to think about it."

2. "It's easy to do this in a way that drains battery life, and a way that reduces performance of the foreground app. If you don't do it right, your phone will feel sluggish."


The first one is the important one. I'll discuss the second one at the end.



Multitasking with a Powerful AND Simple Task Manager

We're used to Apple offering a more polished user experience than the competition. I have no doubt the iPhone task switcher will be polished for what it does, but simple polish has never been the whole story. A very important part has been how Apple improves an immature existing function to the point where it's truly useful for users while remaining easy to understand. The iPhone's task switcher fails badly here.

It is no more simple than Nokia's ancient task switcher that's used in s60. S60v5 could be prettier, but it's the same kind of UI. You access it by pressing and holding the menu button (double click on iPhone), after which you have a scrollable list of apps you can select by single clicking.


The s60 task switcher, standing in for the iPhone task switcher.


But here's the kicker. The s60 task switcher isn't really something that attracts people to multitasking on a phone. It's just a menu. It gets the job done for people who already know they want to multitask like on Windows 95, but that's it.

Live previews are what make multitasking great on a phone. Even better, the Maemo 5 task manager has managed to solve virtually all the associated problems while reducing complexity. Wasn't that supposed to be Apple's forte?



The Maemo 5 Task Manager



Let's see some of the arguments against multitasking first:
  • Users won't know to use the task switcher
    M5 gives the task manager focus every time an app is closed, and the task switching button is the main user interface button. The task manager view is a central and thought out part of the user interface instead of a plastered on task switcher.

  • Users will leave too many background tasks open
    On M5, users intuitively want to close unnecessary apps, since the task manager starts looking cluttered. Degrading by guiding the user towards good behavior is better than trying to guess what apps to close. Unpredictability is very bad.

  • Too many buttons and menus
    M5's task manager is an ultra-simplistic grid of previews with X-buttons. Clicking outside of the grid will dismiss it and return to the desktop.

  • Users won't understand the difference between closed and open apps
    M5's Task Manager clearly divides the concepts. Open apps have visible previews and can be manipulated directly. Closed apps are opened from an easily accessible menu, which is secondary to the task manager.

    Users immediately see and understand, since open apps are not icons. It's like pulling your notepad out of a drawer and placing it on your desk. You'll see it there while doing other things, and it's clearly consuming desk resources. When you're done with it, you put it back in the drawer.

    But the drawer is not the primary interface. That would be silly. You only return to it occasionally.

    Here the iPhone actually makes things more confusing. Not only are open apps icons, but if they can close automatically, how will you know whether you should go to the task switcher or the application menu? And if they return to their previous state, what's the difference between the task switcher and the application menu?

The benefits of proper multitasking are many:

  • Every time you switch tasks, you see if something has happened or completed in any background app. (This is apart from notifications, which work as you would expect. But not every event can or should have a notification.)

  • Every time you switch tasks, you'll see reminders you've left open after looking at them.

  • Switching apps on M5 is so intuitive you'll start using your phone in a completely new way. Even novice-unfriendly tasks like backgrounding a phone call to look at your calendar become more friendly. It is a myth that mobile multitasking is too complex for the average user - it just needs to be made easily understandable.

  • You can have multiple IM windows open and immediately recognize which one you want to switch to, and how conversations are progressing.

  • You can always keep a note-taking app open in the task manager. Returning to it is faster than using the application menu.

    Leave whatever you want open, and you'll see it every time you switch tasks - maybe a todo list in a huge font?

All this with an interface simpler than s60, and conceptually more intuitive than iPhone OS.



The Mostly Imagined Performance Issues

Taken at face value, the quote is correct. Badly behaved background tasks can easily destroy performance. But runaway processes are really a completely different issue. Properly behaving applications will not affect the system adversely.

On the iPhone, background programs are suspended, but can request Apple-allowed tasks to continue. Working with this kludge should not be necessary. Allow me to demonstrate. I started several third party programs in the background, and then checked up on them after a while:


ps -o fname,stat,wchan -C vim,drnoksnes_start,mgutenberg,xournal,gboggle

COMMAND STAT WCHAN
gboggle S sys_poll
xournal Ss sys_poll
vim Ss+ select
mgutenberg S sys_poll
drnoksnes_start Ss unix_stream_recvmsg
drnosknes_start Ss sys_poll



Every single one is blocked in a system call, waiting for input. If the system gets low on RAM, they will be paged out instead of state-saved and killed, which is an ugly way of accomplishing virtually the same thing.

To protect the battery, the OS can pop up a runaway process warning dialog if the CPU is pegged by a background app for more than a minute, but that's probably too ugly for Apple. Other manufacturers should find it happens so rarely the dialog is an elegant solution.

Personally, I find the CPU/RAM monitor applet very comforting, but most novices won't want to use it. It's reassuring to see it at 0 most of the time. Here I'm playing a game:



Still, no mobile application should ever need to do anything in the background that the user didn't explicitly request: playing or indexing music, downloading a large web page, multiple simultaneous IM conversations, etc. But on every such occasion, the user will intuitively understand that the backgrounded app is doing something that is more or less CPU intensive.

And with M5's task manager, users will never forget they started something, because they'll see the preview soon enough.

Clearly even well behaved background apps have a small performance and power penalty, but what really kills the battery is always on network connections. Again, that's another issue entirely.

The real motivation for not allowing normal multitasking on the iPhone is that Apple wants a fluid UI 100% of the time, not 99%. Even 1% of sluggishness will remove some of the "magic". It doesn't matter whether users know that it's the heavy processing they themselves started, because the iPhone will subconciously look imperfect during those maybe 10 seconds.

The lack of proper multitasking is a high price to pay for 10 seconds of pristine behavior.

41 comments:

  1. Anonymous15:17

    Now, let's imagine a glorious ipad hardware with the glorious M5 software ... if we are lucky, the next i-nokia-pad with meego will suffice :)_

    ReplyDelete
  2. Anonymous15:18

    Rubbish.

    ReplyDelete
  3. Anonymous15:29

    Twoddle.

    ReplyDelete
  4. Anonymous16:35

    I don't see how this post does anything but prove Apple's implementation of multitasking is far superior.

    Why should a user have to check whether an app has a response for them? It should be delivered immediately through a notification.

    Why should performance ever be degraded by any application? Applications should be tailored to the hardware of the device to provide a fluid experience.

    Why should switching an app require a long press, a selection press and a confirmation press? The operation should be streamlined to minimize clicks.

    Why should a user accept a 99% fluid ui? If a device can deliver 100% fluidity, there is no excuse for less.

    Why should a user ever see a warning in any scenario pertaining to the os? The os should be designed to handle all situations automatically.

    And on and on. Your screenshots are the most compelling arguments against your point.

    These points are not new, they are universally accepted as completely necessary for user interaction. What pushed me to write this comment is that somehow you believe these achievements make the iPhone OS inferior to a clearly compromising offering.

    ReplyDelete
  5. Anonymous17:41

    Nokia N900, the superior choice for Linux nerds everywhere. Congrats.

    ReplyDelete
  6. @stevepereira

    ehh.. you are a bit wrong in your conclusions
    Maemo doesnt need a long press or short press.. He was talking about S60.. not maemo here.

    With maemo you dont have to check your self. How did you come to that conclusion??
    you will be notified if there are new events on the desktop screen (or what ever app your are in by the way) the task/menu icon is then "bold" telling you that there are new emails or im messages or what ever you can have.

    In about a year we will have a Cortext A9 with 2 cores and i guess about 512MB-1GB on memory in mobile devices.. i dont know exactly how that relays to the desktop cpu world but those systems will be as fast as yesterdays desktops. So why would you limit yourself?? Would you accept that you desktop only runs 1 app at the time? Why not kill multi tasking there also?

    ReplyDelete
  7. @jcompagner

    Thanks for explaining to steve. I've now edited the entry to make these points more clear.

    ReplyDelete
  8. @stevepereira

    "Why should a user accept a 99% fluid ui? If a device can deliver 100% fluidity, there is no excuse for less."

    Because it's not that the UI itself is only 99% fluid. What Apple is doing is preventing the user from ever doing anything that might slow things down, even if the user wants to. And disabling many useful things that wouldn't slow things down in the process. That's a very bad compromise.


    "Why should a user ever see a warning in any scenario pertaining to the os? The os should be designed to handle all situations automatically."

    If an application goes nuts, the OS has essentially two ways of dealing with it. Either kill it without warning, or ask the user what to do. We obviously don't prefer the same solution, but either one would suffice to protect the battery. Whether it's a background or foreground app is irrelevant, so it shouldn't even strictly be a multitasking issue, but it's often raised as a concern.

    ReplyDelete
  9. ^^^^^

    Woo! Who cares about phones, I now have a massive boner!

    Seriously though, the multitasking on the n900 is actually amazing.. First time I really appreciated it was when installing something via the app manager, waiting for it to finish downloading a big fig when suddenly I thought 'hang on...' minimized it, switched back to the web browser and started looking for the next handy bbit of software I wanted to install...

    Oh and before you start talking about the lack of apps, remember that a lot of apps on other devices are to make up for shortcomings, ie a facebook app, youtube app etc. Being able to see webpages, including flash content as you would on a normal computer negates the the need for apps like this (I see a lot of free flash games online with 'buy on iTunes for $2!' next to it. Enabling flash on the iPhone or iPad would seriously reduce revenue for apple...)

    Oh and I just installed Easy debian which allows you to run loads of stuff compiled for linux...

    I actually love it. I could cope with having it as my only computer, for general browsing, downloading, unzipping music etc...

    ReplyDelete
  10. Anonymous15:59

    You're mostly correct despite what fanbois will come and tell. However your opinion is very much debatable (thats why its an opinion i suppose)

    I mean, do I want my phone to be sluggish for 10s ? I don't.
    Apple's solution is certainly not the best, but it's understandable and not so bad compromise, given that all devs will actually code their apps properly.. the thing is, if they don't, they just don't get to multitask.

    On other os, they can code unproperly and the user suffer.

    On the other hand, coded properly, multitasking is superior on other systems.

    As some kind of geek i vastly prefer maemo multitasking over iOS, then again, their point is still valid in my eyes.

    If we had a perfect priority management (it's called a scheduler) we wouldn't need any of this and maemo would be absolutely perfect. Aka music never lags, interface never lags so only the non-critical stuff lags in the backrground and you're not aware of it.

    Eventually, if apps are using a lot of resources and the phone is idle (no input, and no music playing) the OS could auto suspend apps used too much resources.

    ReplyDelete
  11. Anonymous10:20

    ALL I WANT TO IMPROVE IN NOKIA N900 IS THE FONT SIZE ITS SOO LITTLE CAN THE NOKIA COMPANY DO SOMETHING ABOUT IT BY ADDING A FONT SIZE OPTION JUST LIKE IN NOKIA N85 AND NOKIA N97 HAVE THE SAID OPTION SO WE CAN HAVE A CHOICES WHEN IT COMES TO A FONT SIZE ENLARGEMENT

    ReplyDelete
  12. Anonymous13:05

    Absolutely! One tiny option in the settings could relieve
    so many users of this ridulous problem. What a waste of time!!!

    ReplyDelete
  13. Anonymous07:09

    @stevepereira> plz dnt b myopic, nothing is ever a hundred percent(100%) k.......

    ReplyDelete
  14. Anonymous00:14

    I just got my iphone. use to have an n900 but it was to useless. multitasking gets way to slow to quickly and becomes unusable. apple know what they are doing.

    ReplyDelete
  15. Anonymous11:39

    I personally own a Nokia N900. Once you truly know how to utilize its functions, it becomes the only thing you ever need, really. It literally does the things that no other phone can do (but tries to, or avoids completely), and because people like this "flashy-looking simplicity" trend going on with Apple's stuff lately, they fail to see the iPhone's shortcomings. But, the N900 should be percieved as more of a mobile computer with a built-in phone, rather than a phone with a bunch of cool features. I'm not bashing the iPhone here. I'm saying that the N900 does what the iPhone can AND cannot do, and does it better. Don't just look here. Do some serious research and find out for yourself.

    ReplyDelete
  16. I purchased the iphone 4 instead of the N900. I had them side by side in the shop going through each. The iphone 4 is very flashy and appeals to the eye. I also chose it because the N900 was bulkier and did not have the touchpad but a qwerty keyboard. So i purchased the iphone, went home and started using it. The browser sucks, I hate itunes, the OS is second rate. After using it for a week I advertised in my local paper and sold it within 24 hrs. Went back to the phone shop, purchased the N900 and have not looked back. By far a superior phone and mini computer...but try not to tell unteched iphone users their phone is inferior, hell even HTC wildfire is better... wasting your breath.

    ReplyDelete
  17. Anonymous17:53

    If you observe the ipad, you will see that mac latches faulty devices because they now that crazy fans will buy the next one.

    this is so good for them, but not for their users..

    Such love and care mac have for their fans...

    sometimes blind devotion is really just stupidity

    ReplyDelete
  18. I am thoroughly convinced in this said post. I am currently searching for ways in which I could enhance my knowledge in this said topic you have posted here. It does help me a lot knowing that you have shared this information here freely. I love the way the people here interact and shared their opinions too. I would love to track your future posts pertaining to the said topic we are able to read.

    ReplyDelete
  19. Thanks for taking the time to discuss this, I feel strongly about information and love learning more on this. If possible, as you gain expertise, It is extremely helpful for me. would you mind updating your blog with more information

    ReplyDelete
  20. aking the time to discuss this, I feel strongly about information and love learning more on this. If possible, as you gain expertise, It is extremely helpful for me. would you mind updating

    ReplyDelete
  21. Nokia is right when they refer to this device as a Mobile computer. I've been using it for almost a week and it surpasses all my expectations, and bear in mind that Nokia will be pushing updates to the OS to make it even better.

    ReplyDelete
  22. Good post. Very impressive. Thanks for sharing.

    ReplyDelete
  23. Excellent. It works for me. Thank you so much!

    ReplyDelete
  24. This is my first opportunity to visit this website. I found some interesting things and I will apply to the development of my blog. Thanks for sharing useful information.Hermes replica hermes birkin replica

    ReplyDelete
  25. I'm so excited. I really appreciate sharing this great post. Keep up your excellent work.
    bojanke
    bojanke za printanje
    gledanje u solju

    ReplyDelete
  26. Would be cool if COD could be played on this. Maybe trough http://codmw3guides.net

    ReplyDelete
  27. Thanks for put on view such a valuable source. I am glad to be a part of your post.

    ReplyDelete
  28. I want to thank you for this informative read. Loved the whole article! Thanks for sharing.

    ReplyDelete
  29. I will bookmark this site and visit again. It is very informative. Thanks for sharing.

    ReplyDelete
  30. honestly I think there is no comparison here, obviously Apple Iphone 4 is so much better than Nokia n900 in all aspects and features, well maybe Nokia is ahead in the resolution of the camera, but only in that

    ReplyDelete
  31. I want to thank you for this informative read. Loved the whole article! Thanks for sharing.
    How to grow taller naturally
    Grow taller diet
    How to grow taller free

    ReplyDelete
  32. I really enjoyed this great post and you are very talented and interesting. I really appreciate this excellent post.

    ReplyDelete
  33. Excellent blog..You are such an amazing talent when it comes to your singing. There is nothing better then this. Keep up the good work… Thanks..

    ReplyDelete
  34. Multitasking with powerful & simple task manager it just excellent.. Lots of good info here about multitasking iphone os 4 vs nokia n900.

    ReplyDelete
  35. If you haven't found it yet, keep looking. Don't settle. As with all matters of the heart, you'll know when you find it. And, like any great relationship, it just gets better and better as the years roll on.
    http://www.bestcustomwriting.com/topic-ideas/research-paper/research-paper-topics-for-marketing-classes

    ReplyDelete
  36. I thought it was going to be some boring old post, but it really compensated for my time. I will post a link to this page on my blog. I am sure my visitors will locate that extremely useful
    marketing topics from BestCustomWriting.com

    ReplyDelete
  37. Nice post with great details. I appreciate your work. Thanks for your inspiration.

    ReplyDelete
  38. You produce a great point in your own final paragraph. We couldn’t agree more together with your points. In today’s modern world, your approach to this issue is lacking in today’s kids. We need to ensure that our kids find out more on this topic so we nev

    ReplyDelete