Slashdot Mirror


Multitasking In For iPhone 4.0?

The latest word on the iPhone is that the 4.0 OS will finally have honest-to-goodness multitasking. This could hopefully lead to things like a real chat client, and dangerous battery consumption. I still hope it's true.

54 of 345 comments (clear)

  1. ipad might be worthwile by Vectormatic · · Score: 3, Insightful

    this would be AWESOME for the ipad, might even make it worthwhile.

    --
    People, what a bunch of bastards
    1. Re:ipad might be worthwile by uberjack · · Score: 5, Informative

      As a dedicated Android user (and programmer), I still don't see the value of multitasking in a mobile app. The runtime can automatically clean up and restart the application with all the state information necessary if it ceases to run anyway. It's a lot easier to just assume that it's _always_ going to be cleaned up upon suspension, instead of writing code that accounts for the possibility that the app just may be resuming from a paused, but not terminated state. I haven't used a single Android app, or written any code that I can say honestly benefits from the multitasking aspects of Android. The runtime can shut down my app any time it sees fit. Planning for resumption from an abruptly terminated app is the norm when developing for Android anyway. The way I see it, the apps would have more resources if the platform didn't have to multitask.

    2. Re:ipad might be worthwile by bemymonkey · · Score: 2, Interesting

      The multitasking aspect is essential for things like keeping an instant messenger or VoIP app running in the background (a 24/7 scenario here)...

      Although I've got to say - most Android IM apps suck at staying connected in the background. Fring, eBuddy, Nimbuzz - they all disconnect (and then don't reconnect automatically!) or crash after a while...

    3. Re:ipad might be worthwile by jfanning · · Score: 3, Insightful

      You obviously don't think about the usecases very much.

      I was using my Nokia E71 the other day and it was tracking my walking using GPS (Sports tracker) in the background. I was checking directions with Ovi maps and looking things up online in the browser. So all were running at once.

      In your world my tracker application would been killed the moment I switched to another tool. That it totally useless and the reason I will never use an iPhone as long as multitasking is missing.

  2. i'll believe it when i see it by jacktherobot · · Score: 3, Insightful

    I think i've heard this before...

  3. They haven't been phones for years by Colin+Smith · · Score: 2, Insightful

    It's a computer with wireless.

     

    --
    Deleted
    1. Re:They haven't been phones for years by Skarecrow77 · · Score: 3, Insightful

      That's their loss.

    2. Re:They haven't been phones for years by CharlyFoxtrot · · Score: 3, Interesting

      It's a computer with wireless.

      It is and it isn't. Apple seems to think they've finally hit on the much anticipated "computer as consumer appliance" while most geeks think it should just be a computer which does phone calls. This is the reason for most of the controversy around some aspects of the iPhone and iPad.

      --
      If all else fails, immortality can always be assured by spectacular error.
    3. Re:They haven't been phones for years by colourmyeyes · · Score: 2, Interesting

      To me my laptop is a computer with wireless. It isn't to the vast majority of consumers, to them it's a chat/email device (occasionally a phone), PDA and content delivery platform (music and video).

      --
      My grandmother used anecdotal evidence all the time, and she lived to be 120 years old.
    4. Re:They haven't been phones for years by The+End+Of+Days · · Score: 2, Funny

      I would say, based on iPhone sales figures, that the "controversy" largely exists in the minds of the people who spend their time on Internet forums, believing that because they share an opinion with a few hundred other people, they are some sort of hidden majority. The echo chamber effect is insidious like that.

      The iPad is ridiculous, though.

    5. Re:They haven't been phones for years by Wovel · · Score: 2, Informative

      While I think that is true of every other smart phone on the Market, based on mobile browser statistics, the iPhone is the exception.

  4. A minor point... by slagheap · · Score: 5, Informative

    The iPhone OS has always had real pre-emptive multitasking. The phone, email, iPod, calendar, and other applications run all the time and can do things simultaneously.

    Multitasking just hasn't ever been made available to 3rd party developers.

    It has never been a technical limitation in the OS. Rather, Apple kept control over it for battery life and security reasons.

    --
    First against the wall when the revolution comes
    1. Re:A minor point... by Anonymous Coward · · Score: 2, Insightful

      That's funny. My android device can multitask (any app, not just the ones Apple lets you multitask with), and the battery life is solid as well.

      Perhaps Apple is full of shit and just wanted to shaft users/developers again?

    2. Re:A minor point... by truthsearch · · Score: 4, Insightful

      Personally, I prefer it this way. When I'm using any app the only thing I want interrupting me is a phone call. And the only thing I want running in the background is iPod, which already does. If multitasking third party apps becomes an option I'll probably turn it off.

    3. Re:A minor point... by Fahrvergnuugen · · Score: 4, Insightful

      There are plenty of UI design concerns as well. Currently there is no standard UI for dealing with apps running in the background. The phone gives you a green bar across the top of the screen. The iPod gives you a special alert with buttons when you double click the home button and a play icon in the top right of the screen. The calendar doesn't have any UI at all, it just alerts you with a message. The Mail app displays a numeric badge and plays a sound (a feature available to all 3rd party apps using the notification API).

      It will be interesting to see how they unify the UI for running multiple apps at once without compromising the usability of the device.

      My guess is that everything will basically look and function the same, except the App's icon will have a glow or a badge indicating that it is running in the background. Each app will have to explicitly be granted permission to be able to run in the background by the user (same way each app has to be allowed to send notifications now).

      --
      Kiteboarding Gear Mention slashdot and get 10% off!
    4. Re:A minor point... by steelfood · · Score: 2, Insightful

      Multitasking has never been a huge security problem, so long as inter-process communication is disabled. Sure, it introduces file and device access control issues, but the OS should be handling that properly, multitasking or not.

      For the record, the iPhone does have the ability for apps to save their state, which is a poor man's multitasking. But true multitasking isn't really necessary in a form factor like the iPhone. A desktop PC, sure, a laptop, maybe, but it's rare to ever be doing multiple things at once on a device as small as the iPhone.

      At most, you're listening to music while reading an electronic document (because most other apps come with sound already), but it's possible to avoid multitasking by putting the music playback calls into libraries behind an API and let the individual apps use it if/when they want to.

      The iPad, which falls closer to the iPhone than the laptop in terms of capability, has a better case for multitasking beyond state-saves. It is possibly a technical limitation, that there'd be enough programs running of a sufficient size in a typical usage scenario that the background processes wouldn't all fit into RAM or swap. I suspect the enabling of multitasking is for that more than anything else, as to be honest, I'm not sure why the iPad, with its closed environment, would need multitasking otherwise. It's not like somebody's going to be encoding their MP3's while running a FTP daemon while compiling code while reading a document. And while a regular tablet could be rendering a scene in the background, the iPad's closed environment makes that use case likewise highly unlikely.

      As the iPhone already has multi-threading, even IM's and chatting can be handled without multitasking. They can be processed the same way as text messages (but perhaps without the preempting that happens). It's a matter of the OS being able to properly handle the incoming packets, and the application being able to smartly handle the incoming messages.

      --
      "If a nation expects to be ignorant and free in a state of civilization, it expects what never was and never will be."
    5. Re:A minor point... by pete-classic · · Score: 2, Informative

      The Mail app displays a numeric badge and plays a sound (a feature available to all 3rd party apps using the notification API).

      I don't think this is strictly true. I believe that the Mail app is running, and is able to set its badge unilaterally. The 3rd party notification API requires some application NOT running on the phone to notify Apple to send a message to the phone to set the badge on the app, which isn't running. The effect for the end user is largely the same, but the mechanism is radically different.

      -Peter

    6. Re:A minor point... by strength_of_10_men · · Score: 4, Informative

      The (jailbroken) app "Backgrounder" handles it quite well. It displays a small activity-wheel icon on apps that are currently running in the background. It also does this for the native Apple apps that run in the background. What's so hard about that?

    7. Re:A minor point... by zullnero · · Score: 4, Informative

      Actually, if you have a halfways intelligent notification system, that's not a problem at all. My Palm Pre does all that multitasking, and I've never had a phone call interrupted by anything. We've got over 2k apps now for the Pre in about 8-9 months, and I've got a lot of apps running on my phone, and I've never had a phone call interrupted by any app. We get notifications that show up as a little icon on the bottom of the screen, so when the phone call is done, I tap it and deal with it then. Or, I can choose to deal with it during the call if I so choose. In fact, I frequently open up my email while in a call on my Pre, because people call me all the freaking time and ask me if I got that email they sent. Or my calendar. Once, I opened up solitaire during a long conference call and had the call on speaker.

    8. Re:A minor point... by Anonymous Coward · · Score: 2, Insightful

      Then the right solution is to allow you to turn it off. Not disallow you from turning it on. I love Apple products, and I admire their dedication to security on the iPhone, but this is not a security issue, it's battery life. And I'd like to make my own choices in that regard, tyvm.

    9. Re:A minor point... by amRadioHed · · Score: 3, Insightful

      You prefer being limited to using only Apples music player? Personally on my phone I listen to streams from last.fm as much as I listen to local MP3s, and I wouldn't be able to do that on an iPhone.

      --
      We hope your rules and wisdom choke you / Now we are one in everlasting peace
    10. Re:A minor point... by Skuld-Chan · · Score: 3, Insightful

      Its kinda cool - having multitasking on my Symbian phone. While a web page is loading (thanks at&t - fastest network alive... cough cough) I can flip over and check my email, or change a track on an album I'm listening to.

      Your argument is so similar to the ones the ms-dos users on our local bbs used to use when I told them how wonderful multi-tasking on my Amiga was. In other words - I don't have it and I'm glad for it!

      My response was always something like - I like listening to music, managing files, editing graphics etc etc while responding to this post - while the machine was busy applying a filter, copying a file or playing a mod I was still typing away on another app.

    11. Re:A minor point... by hazydave · · Score: 3, Informative

      Already being on Verizon, the Droid cost me an additional $30/month over the cost of service for a non-smart phone. It's a family plan.. we have four phones on for slightly over $100 per month. The general prices between AT&T and Verizon aren't significantly different... one may be better or worse, depending on the specifics of what you want. The data plan, at least for individuals, is the same... "unlimited" data for smart phones (where "unlimited" in both cases is subject to arbitrary definitions, both companies will go after you if you're using more data than they think possible under their license... like tethering)

      As for coverage, the entire Verizon network is 3G, only about 20% of AT&T's (by area, not by population) is 3G. That's nothing more than the difference between CDMA and GSM... the CDMA 3G protocols run over the same frequencies and bandwidth used for 2G/Voice, while GSM always requires additional bandwidth, and often, additional frequencies. This is further compounded by today's AT&T being a mix of two previous companies, Cingular and AT&T Mobility. Cingular bought AT&T Mobility to become the country's second largest cellular network, after Verizon. But AT&T Mobility was using DAMPS (they called it "TDMA"), not GSM. So the company has spent many years just establishing full 2G GSM coverage and phasing out DAMPS (the DAMPS network went dark in mid 2008). This is also why AT&T's slightly more likely to drop calls than other GSM networks... DAMPS has slightly better coverage than GSM, so upgraded DAMPS cells are often not ideally placed for GSM.

      At its peak, the AT&T network is faster than Verizon's. Regular HSPA cells deliver up to 3.6Mb/s down to clients, versus 3.1Mb/s down to clients for CDMA's EvDO Rev A. By this summer, AT&T will have HSPA+ coverage in as many as 40 cities, which can deliver 7.2Mb/s down to clients, if you have a fast enough phone (you'll need an iPhone 3GS for this, and the iPhones are all still crippled on the upload side... HSPA+ can go upstream at up to 2Mb/s, but iPhones only do 384kb/s). All networks degrade over distance, and all fall back to "EDGE" speeds if you're too far from a cell site for 3G performance. AT&T and Verizon both have an advantage in range, though, generally being the companies owning one of the two 850MHz slots available in any area of the USA. You get much better range at 850MHz than at 1900MHz... Sprint does its 3G at 1900MHz (and WiMax 4G at 2500MHz, though they don't have any 4G phones out yet), T-Mobile does 2G at 1900MHz and 3G split between 1700MHz and 2100MHz. Verizon is starting 4G service at 700MHz this summer, using the LTE standard; AT&T will be starting 4G next year, also at 700MHz (Verizon won the largest 700MHz spectrum block, 20MHz of spectrum, while AT&T got the other big win here, 12MHz worth of spectrum).

      --
      -Dave Haynie
    12. Re:A minor point... by Skuld-Chan · · Score: 2, Insightful

      My understanding was that music would play in the background, but that the iphone wouldn't download web pages, and email at the same time.

  5. I hope it's optional in settings by rolfwind · · Score: 5, Insightful

    There are real uses for multitasking, which the iPhone already does - like listening to iPod while surfing or the like. Maybe chat as mentioned, but I also hope to set which apps can be multitasking - I don't trust the developers always to make the correct call - there is no reason to leave a game running in the background while I surf, it would be better to save state. I would actually say saving state and resuming again is better the vast majority of times over running in the background.

    But oftentimes I try to hang up the phone by hitting the home button instead of the end call button (even though I think I did), and while surfing, I still see that "Return to Call" blinking on top.

    To conserve battery life, I already turned off push notifications and other things. And I would turn off multitasking for my parents phones, they hardly can use a computer as it. With this, they'll only be wondering why the phone battery is dying even faster.

    1. Re:I hope it's optional in settings by Anonymous Coward · · Score: 3, Informative

      As an iPhone developer, I can tell you this just isn't coming. Apple has lots of (NDA'd) guidelines about how much CPU juice you get (since iPod etc can work through your app) and this would seriously topsy turvey the existing software base. They have gone out of their way to make a UI that works well without multitasking, and stuff like APNS was engineer specifically not to require it.

      Aside from having my SSH sessions die when I want to goto an email or phone call, multi tasking has never actually been lacking.

    2. Re:I hope it's optional in settings by IDtheTarget · · Score: 2, Informative

      There are real uses for multitasking, which the iPhone already does - like listening to iPod while surfing or the like. Maybe chat as mentioned, but I also hope to set which apps can be multitasking - I don't trust the developers always to make the correct call - there is no reason to leave a game running in the background while I surf, it would be better to save state.

      Good point. The major reason that I look forward to multi-tasking is that I believe it to be a requirement for true VPN applications. It would be nice to be able to use my iPhone to VPN through our firewall at work so that I can handle emergency systems admin tasks.

    3. Re:I hope it's optional in settings by Dog-Cow · · Score: 2, Informative

      CPU usage guidelines that the developers don't know about are not guidelines.

    4. Re:I hope it's optional in settings by kehren77 · · Score: 3, Interesting

      I think the key, especially for your parents, is making it very obvious as to whether you are closing or backgrounding a program. That's one of the things I hate about my Blackberry Curve 8330. Almost every app is different, some you "Exit", some you "Close", some close when you hit the back button, some stay open when you hit the back button.

      It makes it a pain in the ass to try and figure out what all you have running.

    5. Re:I hope it's optional in settings by amRadioHed · · Score: 2, Insightful

      Android 2.1 has a task manager under Settings/Applications/Running Services. I never use it to kill apps though. Apps that don't multitask right get uninstalled from my phone.

      --
      We hope your rules and wisdom choke you / Now we are one in everlasting peace
  6. Another feature Android will steal, no doubt! by Anonymous Coward · · Score: 5, Funny

    This is why Apple should sue the shit out of Google, because once iPhone OS 4 is available, Google will inevitably steal every single idea from it.

  7. Existing Apps? by hemlock00 · · Score: 2, Interesting

    At one point when looking into developing an Application for the iphone, one of the requirements for *all* apps is that it had to be able to close with in a small time window upon hitting the home button as to kill any chance of running more than 1 app at a time. The reason for this, as I read it, was to avoid having a ton of applications running (w/o the user aware) and killing battery time and other software conflicts. I'm not really sure thats a bad thing. I can remember with my blackberry, If I got a call while in an application I may forget and before I knew it--dead battery. Since it's a phone first and a app platform 2nd, multitasking might not be the best thing for it.

    1. Re:Existing Apps? by Dog-Cow · · Score: 2, Informative

      The OS kills any application after 5 seconds that does not end itself when told to quit. It has nothing to do with preventing 2 apps from running at the same time. Rather, it is because there is no provision to switch apps in the UI, so if the app didn't quit quickly, it would appear to hang the phone.

      The only requirement on timing is that state must be saved quickly to avoid data loss when the watchdog kills the process.

  8. Re:Streaming music player + other app by nangus · · Score: 3, Informative

    Well if multi tasking is implemented as a series of call backs so that any process that is waiting on data is not consuming clock cycles then there should be no more drain when "multitasking" then when running one application. I have never written anything in objective C but with most of my embedded c programming I am able to put any processes that is not doing anything to sleep, so it does not consume extra power.

    As far as I can tell using the backgrounder on my jail broken iphone when not actively working most programs still consume cycles. So almost all of this could be fixed if the wait() call is not properly implemented in the lib.

  9. It's already been there by zach_the_lizard · · Score: 4, Insightful

    This is why I jailbroke the thing in the first place (well, that, and a few other things): multitasking for everything, not just Apple's apps. For some time now, I have been able to listen to music and browse the web, text, chat, etc. by just switching apps. It works fairly decently, too, and doesn't make it very slow. I am simply amazed they decided this was a proper limitation.

    --
    SSC
    1. Re:It's already been there by Joe+Tie. · · Score: 3, Informative

      Backgrounder's probably the single biggest reason I have mine jailbroken. I'm always amazed at the people freaking out like multitasking would cause the thing to explode. People have been multitasking on it for years now. I've had a couple issues with backgrounding and sound, but that's about it. For the most part it's worked great for me.

      --
      Everything will be taken away from you.
    2. Re:It's already been there by whisper_jeff · · Score: 4, Informative

      For some time now, I have been able to listen to music and browse the web, text, chat, etc. by just switching apps.

      Uh, you do know you can do that with a non-jailbroken iPhone, right? You didn't mention anything that a stock iPhone is incapable of doing so, if that's why you jailbroke your iPhone, you wasted your time... If there are other apps that you're running with backgrounder, fine, but that was a bad list of example tasks given the iPhone can do that out of the gate.

    3. Re:It's already been there by amRadioHed · · Score: 3, Interesting

      The apps most likely to be running in the background on my phone are various audio players, google navigation, and other various gps apps for recording trip information.

      --
      We hope your rules and wisdom choke you / Now we are one in everlasting peace
  10. Re:It's a freakin' PHONE by religious+freak · · Score: 4, Interesting

    Obviously, they do want it. And I was in the "geez, why doesn't Apple enable true multi-tasking?" crowd along with most other people. However, after playing with my new iPod touch (thanks sis - she knows I'm too cheap to buy this stuff myself) and comparing it to my Android, I think Apple is smart.

    The Apple UI is so smooth compared to Android's, there really is no comparison. I HATE lag when I'm dealing with a UI, and Android's multi-tasking Java based applications take a good 1-3 seconds to do anything I tell them to do. If there's any chance Apple would have impacted their UI performance to enable multi-tasking, I think they made a great move.

    I still wouldn't switch from an Android to an iPhone because of the restrictions (and I'm not going to wager hundreds of dollars on a jailbreak), but now I see why people enjoy Apple products.

    For most users multi-tasking is a secondary concern to a nice UI.

    --
    If you can read this... 01110101 01110010 00100000 01100001 00100000 01100111 01100101 01100101 01101011
  11. Re:It's a freakin' PHONE by Skarecrow77 · · Score: 2, Interesting

    What Android phone do you have? My Motorola Droid is mostly instantious (give or take a few milliseconds) unless it's low on memory. Sure it has the occasional slowdown, but 98%+ of button presses are more or less instant.

    I have no problem with the Android UI. It's pretty damn simple. Press the button on what you want to do, and there is an auxillary button for options. I havn't used an Iphone, but what do they do that's really so much better?

  12. not sure why by fermion · · Score: 4, Insightful
    I am not sure why I want multitasking on the iPhone. The stated use is to allow a chat window to be always present. What would that look like though, a piece of my small screen dedicated to such an application? Does this mean I have a small browser window.

    In the old days, we had background processes that always had to run. Now we have signals and the like that can awake idle processes so they do not have to run. Then we had TSR applications, and similar items on the Mac, like the Talking Moose. The former was created to solve the long start up time of applications on DOS and Windows. Multiple windows and such were useful on the PC, with larger screens, but somewhat harder to use on the Mac. The Mac seemed to launch applications faster, so I don't have a recollections of being annoyed that Finder was not multitasking.

    Multitasking is a solution to solve some problem on the general computer. I am not sure it is the right solution for a small screen mobile small battery device. I would rather see innovative solutions rather than rehashing the same old thing. I think there this might be a useful solution for the iPad. My concern is that iPhone 4.0 is built for the next iPhone, and will make current iPhones harder to use. This is what happened with iPhone 3.0, which does not run very well on the first generation iPhone.

    --
    "She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
  13. Re:real chat client by Ma8thew · · Score: 2, Insightful

    Maybe because you don't want to use an antiquated protocol designed as an afterthought which carriers (in many countries) charge a fortune to use?

  14. Re:It's a freakin' PHONE by not+already+in+use · · Score: 2, Insightful

    What android phone are you using? I have a nexus one and it is just as snappy as any Iphone, at a considerably higher resolution. There are also optimization techniques that Google hasn't made prime-time yet, that really increase the overall performance of all apps running in a dalvik vm: zipalign-on-install.

    Apple's decision to not include multitasking from the start was likely a decision to keep things as simple as possible. Now they're playing catch-up and tacking on multi-tasking to a system that was built from the ground-up without it. I don't understand how this will not break app compatibility. Existing apps only understand certain "states." Multitasking will introduce new application states that existing apps will not know how to handle. I am very interested in how they plan to reconcile this.

    --
    Similes are like metaphors
  15. Nokia N900 vs. iPhone 3Gs by c.r.o.c.o · · Score: 4, Interesting

    I've had my Nokia N900 for a couple of months now, and for those unaware, most of the specs are identical to the iPhone 3Gs 32Gb. Well, except that it has a much higher resolution screen, a keyboard, a real GPS, an FM transmitter and a microUSB port for data and charging. But the CPU/GPU and amount of storage are the same, except that you can also add a microSD card to the N900. But now on to the most important difference to the 3Gs. I've used both my N900 and a 3Gs, and the 3Gs just feels sluggish, while having half the functionality.

    Flipping home screens on the N900, regardless of how many icons and widgets it's running is smooth, with no clipping. Even with half a dozen apps running in the background, the UI remains equally fast (several instances of the Firefox, Application Manager, Communication app, Contacts app, Skype, MediaBox, battery-eye, conky, etc). Flipping through the 3Gs icon screens clips and feels choppier. It's not a large difference, but keep in mind the hardware is identical and the iPhone has NO applications running in the background.

    The N900 also starts up applications faster, in most cases instantaneously. Start up times do increase progressively after about 3-4 large apps are already loaded and actually doing stuff in the background (Firefox loading up pages, Application Manager checking for updates, MediaBox playing music). But many utilities that only refresh while in the foreground do not have any impact at all (Conky, battery-eye, disk usage, etc). In contrast, the 3Gs takes a couple of seconds to load up pretty much every app I tried, regardless of how limited its functionality is, and complex apps take even longer.

    Once the apps are running, they are roughly equally fast on both the N900 and the 3Gs. But as I stated above, the N900 may be running several apps in the background, and the foreground apps do not slow down at all.

    I think this is why Apple did not allow multitasking up to now. Given how slowly single apps load on their flagship 3Gs, true multitasking will bring it down to its knees. The iPhone OS takes much more resources to run than Maemo or Android, and the iPhone single tasking is a way of masking it. Of course this is speculation since except for the basic Apple apps, nobody managed run more than one app at the same time on the iPhone. And I'm sure those Apple apps are optimized and tweaked to hook into the OS and stay loaded at all times. Most likely the 4G will have a faster processor and more RAM, and will compensate for the OS shortcomings through brute force.

    1. Re:Nokia N900 vs. iPhone 3Gs by c.r.o.c.o · · Score: 2, Interesting

      I am getting at least 1 day for a charge, usually 2 days. BUT here's how I use it:

      - 1-2h worth of phone conversations over GSM with a BT headset.
      - 1-2h a day as an ebook reader. Fbreader is AWSOME, between my old N800, N810 and now N900, I think I read 100 books using these devices.
      - Constantly connected to WiFi (where available, which is almost everywhere for me) or 3G, checking my gmail accounts every 5 mins throughout the day, being available on skype, etc.

      The difference between 1 day and 2 day charges is whether or not I play movies, use the FM transmitter or the GPS. Streaming flash clips off the web through WiFi or 3G will take a LOT of battery life. Same goes for using the FM transmitter to broadcast music to my car stereo, or the GPS but that's in my car where I have a charger.

    2. Re:Nokia N900 vs. iPhone 3Gs by david_thornley · · Score: 2

      As the owner and user of a first-generation iPhone running 3.1.3, I haven't noticed any lagginess.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  16. Newton / Android style would be good. by DdJ · · Score: 2, Insightful

    Actually, the kind of background processing that the Newton used, which has some things in common with what Android does (specifically Android "services"), would be awesome. The main problem is that developers are really not used to working this way.

    Basically, you have your main app, and it runs when it's in the foreground, and that's it. But you also have these other chunks of code that the app can register with the system. On the Newton you could attach that code to the OS-level alarm mechanism ("when this alarm that I just asked the system service to execute for me at that timestamp fires, don't show a dialog box or play a sound, run this bytecode instead"). On Android, it can be a daemon-like thing that actually runs in the background (eg. to play streaming music).

    The fundamental idea is that the whole app isn't doing background processing -- instead you break of very small pieces and those run in the background, under much more severe constraints. (The distinction between cron-like and daemon-like isn't really critical here. The developer still has to be trained to break their app up into distinct pieces with different constraints, instead of having one big app.)

    This is simply not the architecture a lot of developers are used to (though Unix folk have a head start). But it's a way to provide actual real usable multitasking on a device like this without crushing the memory and battery usage (especially if you use the alarm-based method and your apps can schedule the alarms far apart; for some apps this is more than adequate).

    Some programmers would certainly yell if they had to jump through that kind of hoop. But something like that could very well be the best compromise on these devices.

  17. Re:It's a freakin' PHONE by Anonymous Coward · · Score: 2, Informative

    Apple's decision to not include multitasking from the start was likely a decision to keep things as simple as possible. Now they're playing catch-up and tacking on multi-tasking to a system that was built from the ground-up without it. I don't understand how this will not break app compatibility. Existing apps only understand certain "states." Multitasking will introduce new application states that existing apps will not know how to handle. I am very interested in how they plan to reconcile this.

    iPhone OS is Unix. It's had multitasking built in from day one!

  18. Re:Would be Great by ReverendJ1 · · Score: 2, Informative

    With Android you can look at exactly how much of your battery has been used by which apps. This is built in and you can look at it whenever you want. Whenever the battery life gets to 15% it will tell you to start charging it and ask if you want to see this report.

  19. Re:Streaming music player + other app by Guy+Harris · · Score: 4, Interesting

    Well if multi tasking is implemented as a series of call backs so that any process that is waiting on data is not consuming clock cycles

    iPhone OS is a UN*X; multi-tasking is ultimately implemented as "calls that wait for something to happen end up making a system call and the process blocks".

    then there should be no more drain when "multitasking" then when running one application.

    ...unless, for example, an app is continuously updating the display, showing an animated ad, or displaying a game screen, or.... Perhaps the app would be told "you're going into the background, stop updating the screen (but don't necessarily stop playing audio)".

    s far as I can tell using the backgrounder on my jail broken iphone when not actively working most programs still consume cycles.

    What indicates that they're consuming cycles, rather than just blocked in a system call?

    So almost all of this could be fixed if the wait() call is not properly implemented in the lib.

    As per another comment of mine, iPhone OS being a UN*X, wait() is the call you use if you've started a subprocess (fork()/vfork(), posix_spawn()) and you wait to wait for it to exit. There is no single call that is the call to wait for something to happen - there are a whole bunch of blocking system calls such as read(), recv(), recvmsg(), connect(), etc., as well as the usual wait-for-events calls such as select(), poll(), and kevent(), plus the Mach messaging calls. Most apps probably use higher-level APIs that are built atop them.

  20. Re:Please enlighten me by c.r.o.c.o · · Score: 4, Interesting

    Your post has made me curious and I'm watching now the review of the N900 right here: http://www.youtube.com/watch?v=PvPTBwEg5UA
    Now, I dunno if my perception is screwed or something but the apps on there take 2-4 seconds to launch and the touchscreen does lag tiny little bit in some of them.
    On the other hand the apps on the vilified 3gs load - as far as my perception is concerned - within 1-2 seconds.

    The latest N900 firmware resolved a LOT of issues. Not sure what firmware the review phone is using, but looking at his theme, it's an older one. My N900 with firmware 3.2010.02-8.002 released about a month ago loads up ALL apps faster than in the review. Same goes for the touchscreen lag. The next firmware, due to be released in a couple of weeks will improve things even further.

    But that's not all. :) The N900 also gets faster as you use it. After a cold boot the RAM has 100Mb used, but after loading all sorts of apps it goes up to 153Mb and stays there. Those extra 50Mb contain cashing data for all your apps. I just tried every app I could think of: Communications (SMS and IM), Firefox, Contacts, Phone, Media Player (not MediaBox), Disk Usage, battery-eye, Settings, Application Manager, File Manager, Xterm, PDF Reader, Email. Every single one loaded up instantly, in less than 1 sec.

    The only offender is MediaBox, because it insists on scanning your entire device for music, movies, etc. BTW, the N900 can play regular AVI movies without dropping frames or losing sound sync, AND it can output to any TV. I watched 9 (the entire animation movie) full screen on my HD TV the other day. :))

    And I NEVER need to reboot my N900, it's rock solid. Even if the first time you start the apps it takes as long as on the iPhone, after 10 mins of use it's much faster.

    Except that the iPhone does run Apple apps in the back ground. The OS has a number of things running to be able to receive a call, keep it touch with the tower, update the battery icon, the signal bars, etc.
    Even though 3rd party apps can't run in the back ground, the iPhone is running several tasks all the time. Its just those task were all written by apple.
    I haven't seen the N900, so I can't speak to the speed difference.

    Well olddotter, the N900 has to perform all the phone related tasks you've listed as well. So your point doesn't apply.

  21. Phone multitasking != PC multitasking by TodLiebeck · · Score: 2, Informative

    I can't stand hearing everyone talk about multitasking on things like Android devices as though it works the same way as it does on their desktop PC. Nothing could be further from the truth.

    The first form of multitasking on Android is that applications can elect to receive messages, e.g. "someone is calling", or "wifi state changed".

    If you actually need to do constant work in the background (e.g., listening on a network port), you can do so as well, using a "service". And even services will be killed by the system if resources are needed.

    No one is talking about running a Handbrake encode session, Firefox with a bunch of animated Flash ads, and a kernel compile at the same time on their phone.

    Multitasking on a phone is being able to record breadcrumbs of a journey with a GPS app, listen to streaming internet radio, and receive notifications from an instant messaging client at the same time.

  22. mmmmyep by garote · · Score: 3, Insightful

    That's great. Good thing the iPhone has a halfway intelligent notification system, isn't it?

  23. Re:It's a freakin' PHONE by indiechild · · Score: 2, Insightful

    I think Steve Jobs was just waiting for CPU/memory/battery capacity to catch up to the point where multitasking will be smooth enough that he's happy with it. He's a control freak and a perfectionist, and if something doesn't work just right, he'd rather omit it altogether than include an inferior implementation. That's why Copy & Paste took so long to arrive on iPhone OS.

    I'm still using an original 2G iPhone, and I'm wondering whether iPhone OS 4.0 will be able to run on my device. Steve might decide to disallow it if the multitasking performance is not up to par on older devices.