Multitasking

Apple calls its form of multitasking the “right way” to do it. I’m not totally sold on that but let’s go a little further. To switch between apps on the iOS3 you hit the home button, which takes you home, and then select your next app. Your previous app, assuming it isn’t one of a very limited list of apps that have services that can run in the background (e.g. iPod, checking email), quits completely. Switching back to the previous app relaunches it.

In iOS 4 Apple promises app level multitasking without sacrificing performance or battery life. A single push of the home button still takes you home, but a double tap will bring up a list of recently used apps along the bottom of the screen. Scroll to find the one you want to switch to, select it and you’ve just “multitasked” in iOS 4.


The task switcher in iOS 4

It works not by keeping all apps actively running in memory, but rather allowing certain features to run in the background. Developers are given access to seven services:

- Background audio
- VoIP
- Background location
- Push notifications
- Local notifications
- Task finishing
- Fast app switching

The names are mostly self explanatory. Background audio let’s an app continue to play audio in the background, while the UI and the rest of the app itself remains suspended.

The VoIP services let you receive/conduct calls outside of the associated VoIP app (so your VoIP calls can now work like regular calls over AT&T’s network).

Background location gives apps that use it access to the iPhone’s built in GPS receiver. This would allow you to continue to hear turn by turn directions from your navigation app while you’re reading email for example.

Push notifications aren’t a new addition, they enabled push notifications to your phone from 3rd party apps (e.g. Facebook telling you someone has posted on your wall while you’re not in the FB app).

Local notifications are new. If an app needs to remind you to do something it now can without having to communicate with Apple’s push notification servers.

Task finishing is the most traditional multitasking service that iOS 4 offers. You can mark a process using task finishing and that task will continue to run even after you exit an app for a finite period of time. This would allow for a chat app to continue to receive, update and log messages even when you’re not looking at what’s being said.

The final service, fast app switching, allows an application to stop/resume exactly where it left off. This is actually bigger than it sounds. Apps written for iOS 4 no longer quit when they are switched away from. Their state is saved and the app remains in memory until it is either forced closed (press and hold on an icon in the task switcher then tap the - to close the app) or the OS runs out of memory (in which case it will force an app closed). A program that properly supports fast app switching must be prepared for either case so you don’t have to worry about data loss simply because your OS ran out of memory. This also helps explain why Apple seems to have given the iPhone 4 512MB of memory and not 256MB like the rest of the iPhone/iPad lineup.


Closing an app

Remember that DRAM must be constantly refreshed to keep data active in it. This means that multitasking will still reduce battery life, but Apple is hoping by limiting the additional power draw to memory and not unnecessary CPU cycles it will be a minimal impact.

I ran some tests to see how simply playing Pandora in the background while browsing the web impacted battery life. Granted this tests not only having an application resident in memory but also pulling more data over the 3G radio, but it does show you that multitasking can and will reduce battery life:

Multitasking Impact on Battery Life
  Web Browsing Web Browsing + Pandora
iPhone 3GS (3G) 4.82 hours 3.76 hours
iPhone 3GS (WiFi) 8.83 hours 6.68 hours

Simply running Pandora in the background, which doesn’t seem like much, will give you about 75% of the battery life you’re used to while you’re doing other things. Toss in another app or two that also does something in the background and you’re looking at even more tangible reductions in battery life.

We still need faster SoCs and more power efficient platforms to make multitasking work on smartphones. I say faster SoCs because one of the best ways to improve power efficiency is to complete tasks quicker so that the CPU can return to an idle state.

Because current smartphone SoCs don’t have the level of performance needed to quickly execute a ton of extra instructions and get back to sleep, smartphone OSes have to keep background tasks to a minimum. For the most part you don’t have to worry about what applications you have open on your notebook, your CPU is efficient enough and you have enough battery power to churn through any instructions idle apps may be throwing at it. We’re not quite there yet in smartphones.

Performance is an issue and Apple is doing the right thing by making the iPhone 3GS the minimum requirement for multitasking support. Earlier ARM11 based iPhones (2G and 3G) won’t let you switch between apps, they just don’t have the horsepower to smoothly deal with some of the scenarios that could crop up.

Apple’s approach is like a set of pause buttons per app. Switching away from an app will either pause everything about that app or all but those select features that implement one of the seven services I listed above.

I’m not totally sold on it because while I agree with the underlying approach to multitasking, I was hoping for more of a significant UI change. Under the hood Apple gave developers the pause buttons to enable multitasking, but on the surface we got a cramped Alt/Cmd + Tab. I was hoping for something more...webOS-like from Apple. I do believe that Palm’s card system makes the most sense out of the smartphone OSes that are available today. I was disappointed to see that Apple couldn’t come up with something similar or innovate beyond what Palm did two years ago.

Don’t expect multitasking to work perfectly right away. The majority of existing apps are not iOS 4 optimized and thus won’t implement any of these services. Thus the benefit of multitasking won’t really be seen until we get updated apps from developers. Those that have updated their apps give you a glimpse at what the entire iPhone experience will look like in a few months.

Take Pandora for example. We can finally (finally!) have Pandora playing in the background while you’re surfing the web or doing other things with your phone. The obvious exception being making/receiving a phone call, which will automatically pause Pandora (but not resume when you’re done).


Pandora running in the background

Stability is unfortunately a problem with the new iOS 4. I wouldn’t characterize it as terrible, but thus far I’ve had more app crashes and strange problems with iOS 4 than I have had with any prior iOS release. With more applications contending for system resources and more running in the background this iOS release is going to put even more pressure on the hardware. That means more opportunities for problems to creep up and more strain on the scheduler, particularly because the iOS is still only running on a single threaded CPU.

I’ve had slowdowns, crashes and the total-system-pause that’s reminiscent of old single core desktops when an application occupied all of the OS scheduler’s time. While they aren’t the norm in iOS 4, don’t be too surprised if they happen. While many will be upgrading to iPhone 4 later this week, expect the upgrade to the first dual-core iPhones to be just as important for overall user experience in a year. There’s a good reason I’ve been ranting about SoC performance for a while now.

Folders iAds: More Significant Than You'd Think
Comments Locked

46 Comments

View All Comments

  • Sazar - Tuesday, June 22, 2010 - link

    Folders reduces clutter and reduces the number of swipes/pages you need to navigate to :)

    Essentially, I went from 6 pages of apps to 1, when I put everything into folders, labelled correctly. It takes a little getting used to and it is definitely a little different, but reducing clutter == props from me.
  • Nehemoth - Tuesday, June 22, 2010 - link

    In the calendar I do not understand why apple (or any other big player in the smartphone area) don't allow calendar information to be added.

    For example, I live in Dominican Republic, we have a lot of not-working days in the year, so would be amazing if we can find a way in which we tell to the apple calendar which are those days, more amazing even would be if for example we have the option so those days the alarm doesn't sound as is expected the normal days.
  • wittaker25 - Tuesday, June 22, 2010 - link

    Just use google sync to get google calendar on your phone. You can mark off-days through google calendar. Works with my ipod touch.
  • mathias_mm - Tuesday, June 22, 2010 - link

    You can probably find a feed somewhere on the net that has those in it - i know it exists for Denmark, which is all i need.
    I have no idea if this calendar is any good (I searched for dominican republic holidays ical feed on Google):
    webcal://ical.mac.com/horacio.vicioso/Efemerides%20Rep%C3%BAblica%20Dominicana.ics
    So, you take that link and paste it into your phone. This has to be done in a weird spot, i think it's inside the mail art of settings where you tap add account, and you can then choose calendar. Then the phone will add all the dates from that feed into the calendar app. Any changes done in the feed will also be updated on your end.
  • ltcommanderdata - Tuesday, June 22, 2010 - link

    You forgot to mention when listing supported devices that iOS 4 is available for 2nd and 3rd gen iPod Touch as well. What's more, it's free. As an iPod Touch owner this is one of the most important aspects of iOS 4. Device fragmentation may be getting worse with the introduction of the iPad and now iPhone 4, but at least OS fragmentation is being addressed.

    Hopefully, you'll be able to run some performance comparisons between iOS 3.1.3 on the iPhone 3GS and quite important for those users, iPhone 3G.
  • dumpsterj - Tuesday, June 22, 2010 - link

    why wont they bring this stuff to verizon ? im using an almost 2 year old samsung omnia. Im waiting out to see what windows phone 7 brings to the table (im a zune guy). I would seriously consider switching to the ipod/iphone ecosystem if they would bring it to verizon. However , after spending time with a friend who had att , his phone cut out all the damn time while my old omnia and vzw had no problem. Ill never use ATT
  • CiNcH - Tuesday, June 22, 2010 - link

    I don't really get the test with multitasking and the conclusions that were made concerning battery life. If you are doing two expensive tasks at the same time, it will of course drain the battery. With Pandora running in the background, you get about a fifth less of time for web browsing (either 3G or WiFi). Isn't that reasonable? I mean someone has to decode audio.. and according to the specs, the iPhone can do so for about 40 hours and not an infinite amount of time.
  • vol7ron - Tuesday, June 22, 2010 - link

    "...when you return to the home screen you’ll actually end up in the last folder you were in. Hit the home button a second time to actually get to the home screen. I suspect this is a bug that Apple will fix however."

    I have not upgraded yet, but I could see this as a good thing, rather than a bug. With a JB iOS, there is an app called Categories, that provides the folder functionality. It performs how you would like: you go to an app, when you hit the home button, it takes you back home, not back to the folder.

    I'm not a fan of that. One of my folders is "websites" or "print," which house apps from websites (eBay, Wikipedia, YouTube, Facebook, etc) or journal apps (Wall Street Journal, Financial Times, USA Today, RSS Reader, TechCrunch, etc), respectively. If I'm getting my daily reading in, it's annoying to have to keep re-opening the folder. The same would be true if you're in a mood to play games. I'd be more likely to go from game to game.

    I could also see this feature having benefits. If you put all your primary apps in a folder, then essentially you could create a home screen folder, thereby negating the need to go to the actual home screen. What I hope to happen is that the Springboard will be filled with folders, instead of apps. I may also hope to put folders inside of folders.

    vol7ron
  • solipsism - Tuesday, June 22, 2010 - link

    I'm with you. I can see Anand and/or Brian's point on the matter as a personal preference, but the best method is to have a folder remain open until the user chooses to close it.

    If you need to get out of the folder quickly just hit the Home button again or hit anywhere outside the folder, but if you need to get back to the folder constantly it can be annoying to flip pages, open the folder and then click another app.
  • Sazar - Tuesday, June 22, 2010 - link

    Yah, I see their point but I have had no problems navigating in folders right now.

    I can still get back to the home-page, with an extra click, but it sure as heck beats the swiping from side to side to get to what I wanted before.

    Still getting used to it.

Log in

Don't have an account? Sign up now