Inside iPhone OS 4.0: Multitasking vs Mac OS X, Android

1356

Comments

  • Reply 41 of 110
    solipsismsolipsism Posts: 25,726member
    Quote:
    Originally Posted by Planet Blue View Post


    How is the iPhone OS way more power efficient? In this particular example, both phones are just polling the GPS. Please elaborate a bit more if you can.



    1) I never said it was "way more power efficient". I even stated that we'll have to wait and see before we get an absolute answer.



    2) On paper, Apple's use of 7 APIs that all apps use for multitasking is more efficient than Android or any other mobile OS. Just look at Push Notification Services as an example of efficiency for multiple 3rd-party apps.



    3) How does Android handle Skype running in the background? Is the app constantly polling the server for updates or is there a passive service waiting for an incoming alert to activate the app that will then announce to the user that there is an incoming call?
  • Reply 42 of 110
    Quote:
    Originally Posted by solipsism View Post


    1) I never said it was "way more power efficient". I even stated that we'll have to wait and see before we get an absolute answer.



    I worded that poorly and you misread me. I meant ?the iPhone OS way [of doing things] more power efficient.? Wasn?t trying to be an ass, lol.



    Quote:

    2) On paper, Apple's use of 7 APIs that all apps use for multitasking is more efficient than Android or any other mobile OS. Just look at Push Notification Services as an example of efficiency for multiple 3rd-party apps.



    I understand and agree with you. However, for this basic task of polling the GPS, I do not understand how one phone can poll the GPS more efficiently than another, all hardware and polling frequency held equal. The main problem I had was AppleInsider stating that polling the GPS was inefficient on Android but when the iPhone does it, it?s fine because the iPhone will be plugged in. The article didn?t say anything about the iPhone doing it a separate and/or more efficient way.



    Quote:

    3) How does Android handle Skype running in the background? Is the app constantly polling the server for updates or is there a passive service waiting for an incoming alert to activate the app that will then announce to the user that there is an incoming call?



    I?m not sure. It would be interesting to find out.
  • Reply 43 of 110
    solipsismsolipsism Posts: 25,726member
    Quote:
    Originally Posted by Dick Applebaum View Post


    I think the advantage is that the switcher list is a stack of recently used apps... You can bounce back and forth among several apps with a home double-click and app icon tap....



    A lot easier than:



    -- single-click home, flip icon screens, then app icon tap



    Or



    -- slow double-click home, enter spotlight search term, tap selected app icon



    ... App switching is usually 1-2-3... Home 2x, app icon-- usually left-most (last used) app icon.



    .



    I can how it could be useful in some instances and well used by a few people, but like Spotlight on the iPhone, I think it will mostly go unused. You learn your app locction and most of us keep our most used apps on the Home Screen.



    I think this double-clicking of the Home Button would be perfect to bring up a scrolling history of all the system notifications you have received, in addition to Fast App Switching.
  • Reply 44 of 110
    solipsismsolipsism Posts: 25,726member
    Quote:
    Originally Posted by Planet Blue View Post


    I understand and agree with you. However, for this basic task of polling the GPS, I do not understand how one phone can poll the GPS more efficiently than another, all hardware and polling frequency held equal. The main problem I had was AppleInsider stating that polling the GPS was inefficient on Android but when the iPhone does it, it’s fine because the iPhone will be plugged in. The article didn’t say anything about the iPhone doing it a separate and/or more efficient way.



    Here are a couple generalized examples.
    Mobile OS 1: GPS service polls location every 1 minute, regardless of the user's movement.

    Mobile OS 2: GPS service polls location every 1 minute if the terrestrial network (cellular or WiFi) changes. If it remains the same, the service will not be repolled unless such an app is user activated



    Mobile OS A: Each app maintains its own service for determining location. User has 4 social apps that poll for GPS location ever 1 minute. That averages out to once every 15 seconds.

    Mobile OS B: Each app shares a single service for determining GPS location. User has 4 social apps that poll for GPS location ever 1 minute. That average out to once every 1 minute or 1/4 as often but with the same result.
  • Reply 45 of 110
    djdjdjdj Posts: 74member
    Considering Apple's primary reason for not supporting multitasking in the past has been battery life, it's pretty ironic that HTC Touch Pro 2 (Windows Mobile 6.5) lasts twice as long on a battery charge as the iPhone 3G/3GS, even with apps running in the background. Just sayin'.



    Apple could have come up with a better solution, probably closer to the way Android works. They don't totally have to put apps to sleep in the background; they would just have to impose limitations on programmers as to what resources background threads spawned by apps can use in the background. This "all or nothing" approach (the app is running in the foreground, or it isn't running at all) for most apps goes a little too far, and they aren't providing enough functionality with the few exceptions they are providing. With proper programming, any app could be allowed to have threads running in the background and still not affect battery life too much.



    As a programmer, I find this sort of artificial restriction very frustrating. I have an idea for an app that NEEDS to run in the background, but it would consume extremely little power to do so. Under the multitasking model introduced by Apple, this app wouldn't be allowed. My coworkers need this app very badly, but it can't be done on the iPhone, and since that is their phone of choice there is nothing I can do for them.



    Apple is getting closer, but they are still oh so far away from getting it right.
  • Reply 46 of 110
    Quote:
    Originally Posted by RichL View Post


    Open != active. An open connection consumes virtually zero power.



    Go re-read your GSM specs. Wireless data connections were designed to remain open.



    Yeah I was thinking the same thing. Not only that but android does multitasking and can run processes and tasks in the background. An example of this would be a recording app that records continue sly while playing a game. You can also begin downloads in the browser then go do something else while it finishes. The process is not always put into what you call a coma. Debs can have an app continue processes in the background without closing the memory. Also there isn't that much of a memory limit like you say. The iPad has 256 mb of ram. Nexus has 512 mb and can run dozens of apps at once.



    Just seems like this post was a ploy to attack android and it was a poor job at that.
  • Reply 47 of 110
    normmnormm Posts: 575member
    Quote:
    Originally Posted by Brainless View Post


    Android still maintains the technological lead in the multitasking.



    I haven't looked at the details closely enough to know which approach is better. My impression is that iPhone OS 4 worries more about battery life, while Android OS worries more about memory conservation. A year or two from now, battery life may be significantly more important than memory conservation, since memory sizes increase so rapidly. On the other hand, as constraints get a bit looser the OS may not need much help from applications to optimize memory and power usage, and so most of this debate may just fade away.
  • Reply 48 of 110
    solipsismsolipsism Posts: 25,726member
    Quote:
    Originally Posted by djdj View Post


    Considering Apple's primary reason for not supporting multitasking in the past has been battery life, it's pretty ironic that HTC Touch Pro 2 (Windows Mobile 6.5) lasts twice as long on a battery charge as the iPhone 3G/3GS, even with apps running in the background. Just sayin'.



    Really? Apple claims that the 3GS can last for up to 10 hours of video, 9 hours of web browsing on Wi-Fi or 5 on 3G, 12 hours of 2G talk time, or 5 on 3G, 30 hours of music, or 300 hours of standby. According to their site, the HTC Touch Pro 2 has 8.5 hours of 2G talk time and 6.5 of 3G.



    That is without considering the ~25% larger 1500mAh battery of the Touch Pro over the 1219mAh battery of the iPhone. Or the fact that these numbers are based on strict tests that aren't considering background apps where Apple's backgrounding APIs will surely trump WinMo's free-for-all method in power consumption Or the fact that the Touch Pro is apparently a media phone supporting many codecs but doesn't release any specs about the battery of the playing video, audio, or web browsing. Just sayin'.
  • Reply 49 of 110
    Quote:
    Originally Posted by djdj View Post


    Considering Apple's primary reason for not supporting multitasking in the past has been battery life, it's pretty ironic that HTC Touch Pro 2 (Windows Mobile 6.5) lasts twice as long on a battery charge as the iPhone 3G/3GS, even with apps running in the background. Just sayin'.



    It's not ironic. It's simple physics.



    The HTC Touch Pro 2 has a 1500 mAh battery, while the iPhone 3Gs has a 1219 mAh battery. The HTC weighs in a full 33% heavier than the iPhone 3Gs. That's not an insignificant weight gain. And it doesn't deliver "twice the battery life". The HTC battery life is pretty much where you would expect from a batter that is 23% bigger.
  • Reply 50 of 110
    freerangefreerange Posts: 1,589member
    Quote:
    Originally Posted by Brainless View Post


    Oh, man, this is just a bad article. Regret the time spent reading it.



    If there is one part of the article I can't disagree more it is this sentence : "Apple ... own approach to multitasking that it believed to be better" Who believe this ? You ? Why ? Because Divine Steve at his speech said so ? Ridiculous. You threw no arguments to support this.



    Let's get the facts straight :



    1, Apple was late to the game, and it mostly copied the Android approach. They might call it differently, but the Apple's multitasking is not any advanced to the one in the Android.It is just copycat work not to be too far behind.



    2, There is no client-server model in Android multitasking. It is not any more difficult to do efficient background tasks on Android than with iPhone OS 4. You just don't understand the idea, that's all.



    3, Android still maintains the technological lead in the multitasking. There are some areas that weren't copied by Apple (yet), such as broadcasting the system-wide events (not the same as local notifications, although it might be extended this way in iPhone OS 5). This kind of background processing can actually help to save battery life (you do you background networking at the time some other process established - battery expensive - data connection, so you can post your tiny bit of data needed to send to remote server with almost no energy penalty. This is not copied to iPhone, i.e. iPhone is still technologically behind Android in the area of multitasking. This is reason you can't say iPhone is best multitasking mobile implementation, it is just a lie.



    4, Apple was overtaken and still plays catchup game. By the time iPhone OS 4 gets to the real users, Android will probably have version 3 released (believed to be announced on Google IO in late May). The the gap, narrowed by iPhone OS 4 will widen again.





    One quick question : are you actually paid by Apple to do this kind of marketing for them or goes this from your fanboy nature ?



    Your user name says it all. Android is not ahead. Apple's implementations ALWAYS but the consumer experience first and don't launch features or functions prematurely - they wait until they get it right. Just like with copy and paste. That is why the iPhone will always be better than any Android device. And for you to suggest that Apple is "copying" Android shows just how brainless you are.
  • Reply 51 of 110
    smeagolsmeagol Posts: 29member
    Quote:
    Originally Posted by kotatsu View Post


    The key missing component for background processing in iPhone OS 4 is time line based applications, like IM and twitter. These can run in the background on an Android phone and can nicely stack up new messages until the user wants to read them. iPhone OS 4, bizarrely, can't do this (surely the popularity of Twitter can't have escaped Jobs and co), and requires the twitter/IM client to log in anew and refresh each time the user wants to see all the new messages. The push notification system is totally usless in this case (and in most cases to be frank).



    I also think Apple are behind on glanceable information/widgets. Wouldn't it be nice to be able to have some widgets on the home page?



    I'm all for saving the battery but I'm also all for choice, and it should be my choice if I want to run IM/twitter in the background, not Steve's.





    I agree, but they have to save something for iPhone OS 5 to wow the masses \
  • Reply 52 of 110
    soskoksoskok Posts: 107member
    Quote:
    Originally Posted by kotatsu View Post


    The key missing component for background processing in iPhone OS 4 is time line based applications, like IM and twitter. These can run in the background on an Android phone and can nicely stack up new messages until the user wants to read them. iPhone OS 4, bizarrely, can't do this (surely the popularity of Twitter can't have escaped Jobs and co), and requires the twitter/IM client to log in anew and refresh each time the user wants to see all the new messages. The push notification system is totally usless in this case (and in most cases to be frank).



    I also think Apple are behind on glanceable information/widgets. Wouldn't it be nice to be able to have some widgets on the home page?



    I'm all for saving the battery but I'm also all for choice, and it should be my choice if I want to run IM/twitter in the background, not Steve's.



    u have a choice. Buy Android
  • Reply 53 of 110
    Quote:
    Originally Posted by kotatsu View Post




    I'm all for saving the battery but I'm also all for choice, and it should be my choice if I want to run IM/twitter in the background, not Steve's.



    it is your choice, your choice to use Android or a desktop or a netbook or any of the many choices available to you like webos or a ovi store client or even jailbreak an iPhone.



    It's got nothing to do with Steve unless your dad's name is Steve and lumped you with an iPhone regardless of your skill at throwing a tantrum. You could still jailbreak it of course.



    I use Twitter on my iPhone through an app with push notifications and it's a great experience, if I'm in the app it's live and if I'm not the badge advises me so when I'm ready I can check. If I was a Twitter addict then I'd place the app in the dock so it's always there for my hungry eyes.
  • Reply 54 of 110
    wingswings Posts: 261member
    With Loopt, you're supposed to have fun by being told told that your friend is at a nearby restaurant (for example). It works pretty good if both of you have Loopt RUNNING, but now with Location Services this is supposed to take place in the background and work even when the iPhone is asleep. But if L.S. only wakes the app when you move from one cell tower to the next then your friend could be anywhere within that cell tower coverage area and you'll not know exactly where. So I still don't see how Loopt could benefit all that much from L.S.



    It would be nice (although it won't completely solve the problem) is for Loopt on my friend's phone to get waked up when I ask for an position update for people on my friend's list, and get its location via GPS. Kinda like FindMyPhone only I get an update in seconds rather than 3 minutes.
  • Reply 55 of 110
    ctwisectwise Posts: 46member
    Quote:
    Originally Posted by JavaCowboy View Post


    As much as Apple's tools impress me, including the new C lang and LLVM compiler, I can't help but ask myself why, in the interest of developer productivity and adoption, they haven't, at the very least, tried to give developers an alternative language.



    They are. It's called MacRuby. It's the Ruby language rebuilt on top of Objective-C. It's being positioned as a viable alternative to straight Objective-C development on OS/X.



    At present there's been no statements about it being usable on iPhone OS. Apple is trying to keep iPhone OS applications as close to the metal as possible. They still haven't turned on the memory management portions of Objective-C on the iPhone. So it will be some time before MacRuby will make it there.
  • Reply 56 of 110
    richlrichl Posts: 2,213member
    Quote:
    Originally Posted by solipsism View Post


    Really? Apple claims that the 3GS can last for up to 10 hours of video, 9 hours of web browsing on Wi-Fi or 5 on 3G, 12 hours of 2G talk time, or 5 on 3G, 30 hours of music, or 300 hours of standby. According to their site, the HTC Touch Pro 2 has 8.5 hours of 2G talk time and 6.5 of 3G.



    We all know that the ratings on manufacturers websites are nonsense though. Under normal use, I've seen laptops with "7 hour" batteries last barely over 90 minutes. In the real world, the only laptop manufacturer who is anywhere near honest is Apple.



    And that's what matters - real world performance. My old Nokia E71 would last three days with push e-mail enabled and several 3rd party applications running in the background. My 3GS barely lasts a day with push e-mail enabled. That's despite the E71 only being rated at 10.5 and 4.5 hours of 2G/3G talktime on Nokia's website.
  • Reply 57 of 110
    hill60hill60 Posts: 6,992member
    Why would you need CONTROL_ALT_DELETE on an Android phone?



    Quitting background running applications is simply a matter of following the below steps:-



    Settings -> Applications -> Manage applications -> (wait for list to load?) -> (select app) ->Force Stop



    So easy and obvious, your Grandmother could probably do it.



    /sarcasm



    Quote:
    Originally Posted by 8CoreWhore View Post


    http://www.androidtapp.com/advanced-task-killer/



    What next? CONTROL_ALT_DELETE???????????????



  • Reply 58 of 110
    shrikeshrike Posts: 494member
    Quote:
    Originally Posted by RichL View Post


    And that's what matters - real world performance. My old Nokia E71 would last three days with push e-mail enabled and several 3rd party applications running in the background. My 3GS barely lasts a day with push e-mail enabled. That's despite the E71 only being rated at 10.5 and 4.5 hours of 2G/3G talktime on Nokia's website.



    You spotted one of the weaknesses of Apple's battery performance. Sleep/standby time for the iPhone 3GS isn't very good and won't last for more than a day or two. It'll burn down the battery in about 3 days doing nothing. But as far as continual usage, it lasts pretty close to advertised times under footnoted conditions.



    Hopefully, standby time will be better with an A4 based iPhone 4th gen. Hopefully the iPad standby time is a good indicator.



    On the other hand, the E71 has a 1500 mAh battery and has great standby time and should last longer under light usage. That it is rated at less talk time, and likely browsing time, for burn down time is an indication that something is not right with Symbian S60 and the E71. It has a larger battery, a smaller screen and a lower performance SoC. It should last longer.
  • Reply 59 of 110
    shrikeshrike Posts: 494member
    Quote:
    Originally Posted by cy_starkman View Post


    I use Twitter on my iPhone through an app with push notifications and it's a great experience, if I'm in the app it's live and if I'm not the badge advises me so when I'm ready I can check. If I was a Twitter addict then I'd place the app in the dock so it's always there for my hungry eyes.



    This is where the iPhone OS 4 app folder implementation is genius. Stick up to 9 (or is it 12?) into a folder and put it onto the dock. The folder will have a badge appear if you've got a change in an app in the folder. It's like the dock can have 30 or more apps now.
  • Reply 60 of 110
    shrikeshrike Posts: 494member
    Quote:
    Originally Posted by djdj View Post


    Considering Apple's primary reason for not supporting multitasking in the past has been battery life, it's pretty ironic that HTC Touch Pro 2 (Windows Mobile 6.5) lasts twice as long on a battery charge as the iPhone 3G/3GS, even with apps running in the background. Just sayin'.



    You have any benchmarking to back this up? I tried looking and the best I got was a cnet review, which listed about 5.5 hrs of talk time, which is better than the iPhone 3GS, but commensurate with its larger battery. There are no benchmarks involving other uses.



    If you look at anandtech's review of the Nexus One, the iPhone 3GS has better battery life in WiFi browsing, 3G browsing and video playing by considerable margins, but about the same talk time. Minding that Nexus One has both a bigger battery and a 1 GHz SoC, that is.



    Quote:

    Apple could have come up with a better solution, probably closer to the way Android works. They don't totally have to put apps to sleep in the background; they would just have to impose limitations on programmers as to what resources background threads spawned by apps can use in the background. This "all or nothing" approach (the app is running in the foreground, or it isn't running at all) for most apps goes a little too far, and they aren't providing enough functionality with the few exceptions they are providing. With proper programming, any app could be allowed to have threads running in the background and still not affect battery life too much.



    As a programmer, I find this sort of artificial restriction very frustrating. I have an idea for an app that NEEDS to run in the background, but it would consume extremely little power to do so. Under the multitasking model introduced by Apple, this app wouldn't be allowed. My coworkers need this app very badly, but it can't be done on the iPhone, and since that is their phone of choice there is nothing I can do for them.



    Apple is getting closer, but they are still oh so far away from getting it right.



    It's a complicated equation. It's pretty clear that Apple prioritizes battery life and upgrade cycle above most things. UI responsiveness ad ease/fun-of-use are clearly number 1. The implementation in iPhone OS 4 basically is Apple's tradeoff for UI responsiveness, battery life and memory usage against full blown PC-level multitasking where resources are "infinite" as it were. These are touchscreen devices. UI responsiveness to touch should clearly be the highest priority for the phone designer.



    With Android there are situations with lag, and it appears to have worse battery life as well. So, using Android's client/server faceless-process model doesn't appear suitable for Apple's priorities. If some applications can't be implemented in the iPhone OS 4 technique, so be it. Those apps would have wait for the next major version.
Sign In or Register to comment.