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

  • SunSamurai - Friday, June 25, 2010 - link

    Get over it. Its either ads or no free apps.
  • robco - Tuesday, June 22, 2010 - link

    AdMob isn't blocked from the iPhone, nor does Apple have a monopoly. Since AdMob is owned by Google, a major competitor with Android, there are some analytics Apple won't allow AdMob to access. If you think about it, this makes perfect sense, why give a competitor access to information on potential customers (who are presently your customers)? Developers can still use AdMob if they wish, they just won't get as much data.

    So far I haven't had many issues. I think we're still waiting for developers to catch up to the new OS. But it works like a charm on my 3GS. Folders is a little clunky, but I'm happy not to have to swipe across multiple home screens to access apps. As for the iPhone 4, the only real compelling feature for me is the new camera with flash. Since I have a 3GS, I'd have to pay through the nose to "upgrade" and I won't do that until LTE is rolled out and the iPhone supports it. Oh, and it's available on a network that isn't AT&T.

    Android is looking good, but Google does a horrible job with UI. I know they have UI designers working there, but it appears nobody at Google listens to them. Stock Android looks like Windows 3.1.
  • anandtech02148 - Tuesday, June 22, 2010 - link

    iAds sounds yuck, i'll keep my 3GS and the old os3xxx. another reason why iphone 3gs is so popular because it has a pirate community, reminder to the pc system where you where you have a vibrant thriving hacking community for warez, gamez,. apzz., Google Droid can go to hell, a billion dollars in marketing from verizon won't save you.. Look at Google trying to get back into China. what will hapen to Symbian ^3? nokia N8 looks appealing from hardware standpoint..but their software really needs refresing idea like Palm OS. Intel and Nokia are great hardware companies but software they really need a saviour.
  • haplo602 - Wednesday, June 23, 2010 - link

    wow, so Apple is finaly introducing basic features into it's sofware ... how suprising and inovative ...

    seriously ... I gave up in the middle of the article. there's nothing interesting in it. just the shock at people thanking Apple for providing basic features (ipod playlists FINALY editable, now that's groundbreaking).

    my age old HTC Herald can do all these things already a few years. Sure the HW is old and slow, but the functionality is still there.
  • Death666Angel - Wednesday, June 23, 2010 - link

    That a customer (and tech reviewer) can (blindly?) trust a company that is worth over half a trillion USD to look out for him is astonishingly naive, stupid, or malicious, possibly all 3 and even more.
    A company that has a proven record of shady decisions (we will ban this app, oh wait, it gets media attention, let's actually allow it!), shady handling of the press (accidental leaks, rumors, investigations), shady handling of its competition (violating patents, very closed system) should have the end users best interest at heart? Are you insane?
    After reading this and the Froyo article, I have deleted my AT bookmark and will refrain from coming here in the future.
    Good bye
  • buyaofeichu - Friday, June 25, 2010 - link

    (nike-alliance).(com),Inc. We are the best online dealer,about all kinds of nike.run retailing and wholesale trade wordwidely for years. Free Shipping And Customs,Super Sale Off Retailing,With 1Week Delivery to your door.
    jk

Log in

Don't have an account? Sign up now