Description
With the increase in the use of mobile devices, the dimension of power consumption and its mitigation is becoming increasingly important along with the attributes of user friendliness and speed. There are a variety of power consumers on a mobile device which include not only the hardware blocks of processor, memory, network interface card, display, etc., but also the actual software that runs on it like the OS kernel and the various apps. This is because the apps that are not well designed end up hogging processor and network resources thereby consuming unnecessary power. Typically power saving features are supported from the hardware technologies itself. For example, processors have low performance/power mode, NIC cards employ different power saving techniques like CDRX and PSM for LTE and wifi respectively. However there is little focus or insight that comes from software app developers towards making use of these hardware features efficiently and hence designing power friendly apps. This is because of the fact that measuring power consumption of a given app typically requires costly third party hardware and is cumbersome. In this work we try to address this problem by introducing a power monitoring app that is designed for developers to monitor the power consumption of an app for any scenario. We also conduct a comprehensive measurement study of various multimedia apps with respect to their power consumption and network traffic patterns and come up with interesting observations with respect to the interactions between them. We provide several directives to app developers which could help them closely work with low level features like network traffic patterns and accordingly calibrate their app for maximum power saving benefits.