Get out of my background

iphone multitasking Back when Windows Mobile 6 was the best mobile operating system (uphill both ways, in a box, etc.), I had this little dance I performed a few times a day. It went something like Settings –> System –> Memory –> Running Programs –> Close All. A little bit OCD, a little bit necessary.

Watching this video from Gizmodo, I get that little twitch. How do I close those apps? I don’t want a fucking calculator app running in the background.

I’ve become a multitasking atheist – on devices at least. Multitasking is nothing more than a guaranteed way to eventually slow down or crash your device. I know Apple are promising that background apps will be well behaved, but I just have no faith in that assertion.

On a fast device like the iPhone 3GS or iPad, there’s no need for multitasking if apps are written properly. Games like Chromazone pop up and resume state so incredibly fast, you barely know they were ever shut down.

Yes maybe online apps like Skype and AIM need some way to poll for alerts. How about a central network stack that can execute programs with parameters when messages are received on listening ports? I think that’s what Apple have included in OS4, but NDAs prevent me from discovering or discussing this. If it is the case, why bother running apps in the background?

Join the Conversation

6 Comments

  1. It’s worth noting that Windows Mobile 6.1 and 6.5 made huge improvements with multi-tasking and memory management, and they learned some lessons in making it easy to shut down background apps. Within TouchFlo it takes 2 clicks from the home screen to shut anything down.

    Not that you need to these days. My HTC Touch Pro2 handles playing music, browsing the web, polling email and running a PuTTY connection at the same time without measurable slow-down.

    In addition to the massive performance improvements in CPUs in general since WinMo 6 days, the new iPhone OS multi-tasking API seems pretty much built with the goal of *not* slowing down your phone. If the developer doesn’t utilize the API, the state of the app is saved and shouldn’t effect performance at all. The exceptions, like playing music, waiting for skype calls etc, well the iPhone CPU should be more than capable.

    I think you’ll be a believer again, especially on the iPhone.

  2. At first I was a bit put off witht he iPhone model of only allowing 1 3rd party app to run at once, but quickly came round to the merits of such a design. It made a lot of sense (the majority of the time) but there were a few exceptions where I thought it sucked.

    Most noticably for Skype calls, online comms calls and in regards to my browsing experience.
    Sometimes when loading a page , which can take a while to render, I like to switch to my mail and do some other stuff. Currently that rendering is put on hold and will only resume when I invoke safari again.

    So in these cases im looking forward to the super duper implementation of multitasking.

    If anything , the iPhone has made me a leaner multitasker (On a device) as I know not to run a gazillion apps and leave them running in the background consuming precious cpu cycles and battery life. If you dont want to multi task then dont do it (It would be nice if there was an option to disable it maybe?) but for the most part im happy about the decision and cant wait to see/hear about its low level implementation. Its good to have a choice!

  3. BAD multi-tasking support in the OS is a guaranteed way to drain your battery life, because there will always be somebody that writes a poorly behaved application that keeps your CPU at full power until the battery drains.

    The OS should support multi-tasking in an battery friendly manner. Imho this seems to be one of the few things Symbian OS has got right (although it’s a pain in the ass to develop for)? So I don’t think it’s impossible and Apple certainly seem to be stating that’s their goal…

  4. It is refreshing to read a post of someone promoting mono-tasking. I completely agree with you points. Multi-tasking usually has more costs than benefits (for people as well as devices).

  5. A good multi-tasking OS (and I wouldn’t include WINCE in that category) scavenges CPU resources and manages background processes, including trashing zombie processes.

    I find the android linux 2.6 kernel pretty darn good at managing this.

    Incidentally, I recall many years ago a gentleman named Denis Chao had the whimsical notion of creating a DOOM based UI for Unix process management. Admins had BFG’s (more powerful the admin, the bigger the gun) and went hunting rogue process monsters.

    http://psdoom.sourceforge.net/
    http://psdoom.sourceforge.net/screenshots.html

    Now if we could get a VR version!

  6. Generally I do not learn post on blogs, however I would like to say that this write-up very forced me to take a look at and do it! Your writing taste has been surprised me. Thanks, very nice article.

Leave a comment

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.

%d bloggers like this: