"Ebugs" for Smart Phones and Tablets

Ever since buying the Android Samsung Galaxy Tab 7inch a few months ago I encountered problems relating to the battery life. On average if I received or made 10 calls a day (average time per call 5 minutes), run a few apps and accessed my emails, the battery would run out after a few hours. I had to charge the phone once or twice a day and as a result I now travel around with my phone charger. I even removed a number of apps and switched off the automatic synchronisation to reduce energy consumption. What alarms me is when I charged the tablet the battery would get full in less than 30 minutes and when I use it again the battery runs out in less than one hour. As an engineering student, I wanted to open up the tablet and troubleshoot the potential problem. Due to the terms and conditions of the network operator agreement which I am contracted to, I am not supposed to tamper with the device. I left the tablet with the network operator customer care department last week and they sent it to Samsung for the problem to be fixed. I spent some time researching online about the potential cause of the problem. Consequently, I discovered that compared to their desktop counterparts, smartphones or tablets face a new class of abnormal system behaviours, namely, “energy bugs” or “ebugs” [1].

Android Samsung Galaxy Tab

Despite the incredible market penetration of smartphones and exponential growth of their apps market, their utility has been and will remain severely limited by their battery life. Unlike the microprocessor industry or the communication hardware industry, where computation capability or the line rate has been continuously improved (regularly doubled every 18 months), battery technology has been relatively unchanged for many years. There is need for more investments in sustainable battery storage technologies and energy efficient design for smart phones.

An “energy bug” or “ebug” is defined as an error in the system, either application, OS, hardware, firmware or external that causes an unexpected amount of high energy consumption by the system as a whole. In fact, “ebugs” have become so prominent that already they have led to significant user frustrations. 70% of phones returned to Motorola last year were related to energy problems [2]. Unlike traditional software bugs, such errors could happen in any of the wide variety of entities in a phone (e.g., hardware components, app processes, or the OS), and due to a wide variety of root causes such as programming errors, inappropriate API usage, flaws in the design of applications or the OS (device drivers), complicated interactions between hardware components of smartphones, changing external conditions (e.g., remote server crash, or weakened wireless signal strength), and faulty hardware itself from daily “wear and tear” due to the portable nature of smartphones (14% of all technical support calls for Android is related to faulty hardware [3], 9% for WP7 and 8% for iPhone).

Also different from traditional software bugs, ebugs do not lead to an application crash, or OS screen of death. In most cases of ebugs, the applications and the whole system continue to run, providing their intended services normally, with the exception of consuming unexpectedly large amount of energy. This makes bug detection and root cause tracing much more difficult. The end result of an ebug is that mobile devices run out of battery sooner or much sooner than expected, requiring frequent recharging or resulting in unplanned device battery outage. Together, these two unique characteristics of ebugs, diversity in root causes and stealth nature, suggest that they can be much harder to detect and pinpoint the root causes when compared to traditional software bugs.

Currently, systematic treatment of ebugs on smartphones does not exist, and users cope with ebugs in an ad-hoc manner. An ebug is first detected by a user through the obvious symptom: the battery drain rate suddenly becomes very high for no apparent reason. This triggers the user to hunt for the cause. Typically, the user employs task killers to kill a suspicious app, hoping to stop the energy drain. If the symptom persists, the process is repeated. A few tools  exist today that help users narrow down the suspicious app, either by providing information such as the fraction of the total system energy consumed per process and by the OS (e.g., the battery tool in Android), or by specialized monitoring (e.g., spareparts keeps tracks of CPU wake locks [4]). The forum posts suggest many users try to use these tools in bug hunting. However, these tools fall far short in dealing with the entire diverse spectrum of ebugs (as evident from the posts from a number of blogs), and additionally cannot pinpoint the root cause of ebugs.

Charging batteries in Africa

As I wait to hear from my network provider regarding the problem with my Galaxy Tab, my thoughts are with the large number of mobile phone users on the African continent who are or might encounter a similar problem. Over the last few months African countries have seen the introduction of affordable smart phones from different manufacturers some of which do not have warranties or technical support presence in Africa. Most of the mobile phone repair shops which are present in the developing countries are involved in selling mobile phones and accessories, charging mobile phones, replacing faulty mobile phone parts and batteries. There is need for the cell phone technicians to be trained in order to differentiate the energy problems smart phones will face especially the energy bugs because they will not be able to fix some of the problems. Mobile users will be asked to continuously replace batteries for their mobile devices in order to address the energy challenges until they dispose of the mobile devices since they will fail to solve the problems. There is an need for device manufacturers and researchers to address the energy bug problems and communicate the knowledge to the cell phone technicians and mobile users.

[1]  Android – an open handset alliance project.
[2]  The bulk of returned motorola phones are the result of applications that cause performance/energy problems.
[3]  Android phones more prone to hardware problems.
[4] Maemo community.

, , , , , , , ,

One Comment

  1. 1
    lauren on Monday 13 February, 13:31 PM #

    Super interesting read!

Leave a comment

Leave a Reply