Apps in Background: Android and iOS

Apple is expected to roll out its ground-up redesigned iOS 7 to public in coming weeks. iOS 7 (beta version so far) has advanced multi-tasking feature to help apps scheduled for running in the background. On the eve of Apple keynote event on 10 September 2013, let us refresh our understanding of apps running in the background especially in Android and iOS. Let us do it through answering a few basic questions: What is meant by Apps running in the background? How do apps running in the background affect the user? Are there any user controls available? What is that developer community doing about it?

Apps running in the background

This means, an app that keeps working when the user is not directly interacting with it. Let us assume, on an Android phone, a user has exited Facebook app by closing it through ‘Task’ button or simply hit ‘Home’ button. Go to Settings – Apps – Running, you will find if the app is running in background.

Screenshot_2013-09-08-18-05-51-1-180x300 Screenshot_2013-09-08-18-08-45-180x300

I should provide a clarification here about RAM usage in an android device. Let us say your phone has 2GB memory, of which 800MB is being consumed by apps running in the background. If you would like to play a new game, the OS has an ability to release memory from background processes for you to play your game. I found a couple of decent explanations as to why you should not use task killer on an android device as well. There are two ways in which apps run in background – Intents and Services. An app that provides Intents does not actually run on the background. Apps that run as Service do consume processor, memory, battery as well as data. For example, if an Application has to get a push notification, that can be achieved through GCM without requiring anything to run in background as service. However, Google does not make it mandatory to use GCM and hence developers use various third party push notification providers. Third party APIs use background services to receive push notifications with an ordinary reasoning of making the apps work on non-Google Android devices. However, the real intention to develop an app that runs as Service is to have access to nearly everything that happens on the device – system tools, other apps, camera, location info, network information, social information, calls and text info, and so on and so forth.

Consequences of apps running in the background

First and foremost issue is security! Most users are not aware which info is gathered by the developer and what the developer does with it. It is important to note how iOS handles operating system security. iOS has a rule that requires apps to get user confirmation for accessing any inter-app or device stored information. Apple has strict guidelines that are adhered to with respect to apps that can run on background as well. To elaborate, if you install Snapseed on iPad and start using it, you get a chance to re-confirm whether the app can access your photo library. On the other hand, android app would have had the permission requested for, during installation itself, which millions of users ignore or have no control over. You can refer to my earlier article to get more information on adversaries of apps running in background.

User controls

If you are using any handheld device, you have no realistic control over the processes that run on the background. On android you can stop apps running as services or processes, however they automatically get their default settings as and when you restart your phone. Android is not controlled and there is nothing called ‘App Review’ from the OS provider which poses threat to the users. The video below explains how you can disable apps running on background in Nexus 4 running Android 4.3.

Users first?

Unfortunately not all developers for OS and apps put user experience, data security and device durability as primary goal. So far iOS policies regarding which apps can run in background have helped users, and I am happy to put them together as under:

  • Apps that play audible content to the user while in the background, such as a music player app
  • Apps that keep users informed of their location at all times, such as a navigation app
  • Apps that support Voice over Internet Protocol (VoIP)
  • Newsstand apps that need to download and process new content
  • Apps that receive regular updates from external accessories

Apple devices and OSes have historically been referred as ‘jail’ and hence people call ‘jailbreaking’ when users try to leave Apple’s official support to have root access of the OS. Google makes money through mobile ad impressions and hence they have an Android formula that can simply reach more hands.