Commit 6e5eae37f33792b460552da7f2db7cab8bcf0a91
1 parent
787d6a35
camera ready version #2
Showing
9 changed files
with
207 additions
and
200 deletions
conclusion.tex~ deleted
| 1 | -\section{Conclusions} | |
| 2 | -\label{sec-conclusion} | |
| 3 | - | |
| 4 | -To conclude, we have argued that our inability to estimate app value is a | |
| 5 | -critical weakness that is threatening our successes at accurately estimating | |
| 6 | -and attributing energy consumption. We have motivated the need for a value | |
| 7 | -measure by describing the multiple ways in which it would aid in the | |
| 8 | -management of energy and other resources on battery-powered smartphones. | |
| 9 | -Using an energy consumption dataset collected on \PhoneLab{} we have explored | |
| 10 | -separately several potential inputs to a value measure and determined how | |
| 11 | -they weight energy consumption. And finally, we have presented results from a | |
| 12 | -failed effort to formulate an effective value measure. While this first | |
| 13 | -attempt was unsuccessful, we hope to engage the mobile systems community in | |
| 14 | -this effort so that more sophisticated and successful value measures can be | |
| 15 | -developed. | |
| 16 | - | |
| 17 | -\section*{Acknowledgments} | |
| 18 | - | |
| 19 | -Students and faculty working on estimating app value are supported by NSF | |
| 20 | -awards | |
| 21 | -\href{http://www.nsf.gov/awardsearch/showAward.do?AwardNumber=1205656}{1205656} | |
| 22 | -and | |
| 23 | -\href{http://www.nsf.gov/awardsearch/showAward.do?AwardNumber=1423215}{1423215}. | |
| 24 | -The authors thank the anonymous reviewers for their feedback. |
figures/tables/tableALL.tex
| 1 | 1 | \begin{table*}[t] |
| 2 | 2 | \begin{subtable}[t]{0.5\textwidth} |
| 3 | 3 | {\small |
| 4 | -\begin{tabularx}{\columnwidth}{rXr} | |
| 4 | +\begin{tabularx}{\columnwidth}{rrr} | |
| 5 | 5 | \multicolumn{1}{c}{\normalsize{\textbf{Rank}}} & |
| 6 | 6 | \multicolumn{1}{c}{\normalsize{\textbf{App}}} & |
| 7 | 7 | \multicolumn{1}{c}{\normalsize{\textbf{Energy (As)}}} \\ |
| ... | ... | @@ -34,10 +34,10 @@ |
| 34 | 34 | \end{subtable}% |
| 35 | 35 | \begin{subtable}[t]{0.5\textwidth} |
| 36 | 36 | {\small |
| 37 | -\begin{tabularx}{\columnwidth}{Xrr} | |
| 37 | +\begin{tabularx}{\columnwidth}{rrc} | |
| 38 | 38 | \multicolumn{1}{c}{\normalsize{\textbf{Rank}}} & |
| 39 | -\multicolumn{1}{c}{\normalsize{\textbf{Consumption Rate (A)}}} & | |
| 40 | -\multicolumn{1}{c}{\normalsize{\textbf{Value}}} \\ | |
| 39 | +\multicolumn{1}{c}{\normalsize{\textbf{App}}} & | |
| 40 | +\multicolumn{1}{c}{\normalsize{\textbf{Consumption Rate (A)}}} \\ | |
| 41 | 41 | \toprule |
| 42 | 42 | \num{1} & \texttt{Facebook Messenger} & 0.774 \\ |
| 43 | 43 | \num{2} & \texttt{Google+} & 0.614 \\ |
| ... | ... | @@ -70,7 +70,7 @@ |
| 70 | 70 | \end{subtable}\\[0.1in] |
| 71 | 71 | \begin{subtable}[t]{0.5\textwidth} |
| 72 | 72 | {\small |
| 73 | -\begin{tabularx}{\columnwidth}{Xrr} | |
| 73 | +\begin{tabularx}{\columnwidth}{@{\extracolsep{\fill}}rrrr} | |
| 74 | 74 | \multicolumn{1}{c}{\normalsize{\textbf{Rank}}} & |
| 75 | 75 | \multicolumn{1}{c}{\normalsize{\textbf{App Name}}} & |
| 76 | 76 | \multicolumn{1}{c}{\normalsize{\textbf{Efficiency}}} \\ |
| ... | ... | @@ -106,7 +106,7 @@ |
| 106 | 106 | \end{subtable}% |
| 107 | 107 | \begin{subtable}[t]{0.5\textwidth} |
| 108 | 108 | {\small |
| 109 | -\begin{tabularx}{\columnwidth}{Xrr} | |
| 109 | +\begin{tabularx}{\columnwidth}{@{\extracolsep{\fill}}rrrr} | |
| 110 | 110 | \multicolumn{1}{c}{\normalsize{\textbf{Rank}}} & |
| 111 | 111 | \multicolumn{1}{c}{\normalsize{\textbf{App Name}}} & |
| 112 | 112 | \multicolumn{1}{c}{\normalsize{\textbf{Value}}} \\ | ... | ... |
figures/tables/tableALL.tex~
0 → 100644
| 1 | +\begin{table*}[t] | |
| 2 | +\begin{subtable}[t]{0.5\textwidth} | |
| 3 | +{\small | |
| 4 | +\begin{tabularx}{\columnwidth}{rrr} | |
| 5 | +\multicolumn{1}{c}{\normalsize{\textbf{Rank}}} & | |
| 6 | +\multicolumn{1}{c}{\normalsize{\textbf{App}}} & | |
| 7 | +\multicolumn{1}{c}{\normalsize{\textbf{Energy (As)}}} \\ | |
| 8 | +\toprule | |
| 9 | +\num{1} & \texttt{Android Browser} & 41052.703 \\ | |
| 10 | +\num{2} & \texttt{Facebook} & 37268.388 \\ | |
| 11 | +\num{3} & \texttt{Chrome Browser} & 22719.020 \\ | |
| 12 | +\num{4} & \texttt{Android Phone} & 18122.433 \\ | |
| 13 | +\num{5} & \texttt{Gmail} & 17402.896 \\ | |
| 14 | +\num{6} & \texttt{Android Messaging} & 17342.926 \\ | |
| 15 | +\num{7} & \texttt{WhatsApp Messenger} & 16467.477 \\ | |
| 16 | +\num{8} & \texttt{Google Search} & 15370.252 \\ | |
| 17 | +\num{9} & \texttt{Candy Crush Saga} & 12767.649 \\ | |
| 18 | +\num{10} & \texttt{Android Gallery} & 11050.363 \\ | |
| 19 | +\bottomrule | |
| 20 | +\num{10} & \texttt{Google+} & 586.586 \\ | |
| 21 | +\num{9} & \texttt{Android Calculator} & 449.474 \\ | |
| 22 | +\num{8} & \texttt{NFL Mobile} & 344.492 \\ | |
| 23 | +\num{7} & \texttt{UB Parking} & 311.766 \\ | |
| 24 | +\num{6} & \texttt{Super-Bright LED Flashlight} & 218.870 \\ | |
| 25 | +\num{5} & \texttt{Starbucks} & 174.609 \\ | |
| 26 | +\num{4} & \texttt{Google Keep} & 174.263 \\ | |
| 27 | +\num{3} & \texttt{Dropbox} & 160.939 \\ | |
| 28 | +\num{2} & \texttt{ESPN SportsCenter} & 108.965 \\ | |
| 29 | +\num{1} & \texttt{Bank of America} & 98.007 \\ | |
| 30 | +\end{tabularx} | |
| 31 | +} | |
| 32 | +\caption{\small \textbf{Most and Least Energy-Consuming Apps.}} | |
| 33 | +\label{table-total} | |
| 34 | +\end{subtable}% | |
| 35 | +\begin{subtable}[t]{0.5\textwidth} | |
| 36 | +{\small | |
| 37 | +\begin{tabularx}{\columnwidth}{rrc} | |
| 38 | +\multicolumn{1}{c}{\normalsize{\textbf{Rank}}} & | |
| 39 | +\multicolumn{1}{c}{\normalsize{\textbf{App}}} & | |
| 40 | +\multicolumn{1}{c}{\normalsize{\textbf{Consumption Rate (A)}}} \\ | |
| 41 | +\toprule | |
| 42 | +\num{1} & \texttt{Facebook Messenger} & 0.774 \\ | |
| 43 | +\num{2} & \texttt{Google+} & 0.614 \\ | |
| 44 | +\num{3} & \texttt{Super-Bright LED Flashlight} & 0.600 \\ | |
| 45 | +\num{4} & \texttt{UB Parking} & 0.598 \\ | |
| 46 | +\num{5} & \texttt{Android Music} & 0.446 \\ | |
| 47 | +\num{6} & \texttt{Google Search} & 0.428 \\ | |
| 48 | +\num{7} & \texttt{NFL Mobile} & 0.386 \\ | |
| 49 | +\num{8} & \texttt{Pandora} & 0.326 \\ | |
| 50 | +\num{9} & \texttt{Starbucks} & 0.282 \\ | |
| 51 | +\num{10} & \texttt{Android News and Weather} & 0.254 \\ | |
| 52 | +\bottomrule | |
| 53 | +\num{10} & \texttt{Chrome Browser} & 0.099 \\ | |
| 54 | +\num{9} & \texttt{WhatsApp Messenger} & 0.095 \\ | |
| 55 | +\num{8} & \texttt{Twitter} & 0.078 \\ | |
| 56 | +\num{7} & \texttt{Yahoo Mail} & 0.077 \\ | |
| 57 | +\num{6} & \texttt{Android Messaging} & 0.061 \\ | |
| 58 | +\num{5} & \texttt{Skype} & 0.040 \\ | |
| 59 | +\num{4} & \texttt{YouTube} & 0.036 \\ | |
| 60 | +\num{3} & \texttt{ESPN SportsCenter} & 0.021 \\ | |
| 61 | +\num{2} & \texttt{The Weather Channel} & 0.019 \\ | |
| 62 | +\num{1} & \texttt{Bank of America} & 0.011 \\ | |
| 63 | +\end{tabularx} | |
| 64 | +} | |
| 65 | + | |
| 66 | +\caption{\small \textbf{Fastest and Slowest Energy-Consuming Apps.}} | |
| 67 | + | |
| 68 | +\label{table-rate} | |
| 69 | + | |
| 70 | +\end{subtable}\\[0.1in] | |
| 71 | +\begin{subtable}[t]{0.5\textwidth} | |
| 72 | +{\small | |
| 73 | +\begin{tabularx}{\columnwidth}{rrr} | |
| 74 | +\multicolumn{1}{c}{\normalsize{\textbf{Rank}}} & | |
| 75 | +\multicolumn{1}{c}{\normalsize{\textbf{App Name}}} & | |
| 76 | +\multicolumn{1}{c}{\normalsize{\textbf{Efficiency}}} \\ | |
| 77 | +\toprule | |
| 78 | +\num{1} & \texttt{Bank of America} & 83.717 \\ | |
| 79 | +\num{2} & \texttt{The Weather Channel} & 49.861 \\ | |
| 80 | +\num{3} & \texttt{Skype} & 23.779 \\ | |
| 81 | +\num{4} & \texttt{YouTube} & 19.880 \\ | |
| 82 | +\num{5} & \texttt{Android Messaging} & 12.933 \\ | |
| 83 | +\num{6} & \texttt{Android Gallery} & 9.260 \\ | |
| 84 | +\num{7} & \texttt{Android Calculator} & 9.189 \\ | |
| 85 | +\num{8} & \texttt{Twitter} & 8.645 \\ | |
| 86 | +\num{9} & \texttt{Chrome Browser} & 8.524 \\ | |
| 87 | +\num{10} & & \\ | |
| 88 | +\bottomrule | |
| 89 | +\num{10} & \texttt{Yahoo Mail} & 3.287 \\ | |
| 90 | +\num{9} & \texttt{ESPN SportsCenter} & 3.184 \\ | |
| 91 | +\num{8} & \texttt{Google Search} & 1.984 \\ | |
| 92 | +\num{7} & \texttt{Android Music} & 1.972 \\ | |
| 93 | +\num{6} & \texttt{Pandora} & 1.779 \\ | |
| 94 | +\num{5} & \texttt{Super-Bright LED Flashlight} & 1.667 \\ | |
| 95 | +\num{4} & \texttt{UB Parking} & 1.507 \\ | |
| 96 | +\num{3} & \texttt{NFL Mobile} & 1.437 \\ | |
| 97 | +\num{2} & \texttt{Google+} & 1.270 \\ | |
| 98 | +\num{1} & \texttt{Facebook Messenger} & 1.199 \\ | |
| 99 | +\end{tabularx} | |
| 100 | +} | |
| 101 | + | |
| 102 | +\caption{\small \textbf{Apps Sorted by Foreground Energy Efficiency.}} | |
| 103 | + | |
| 104 | +\label{table-foreground} | |
| 105 | + | |
| 106 | +\end{subtable}% | |
| 107 | +\begin{subtable}[t]{0.5\textwidth} | |
| 108 | +{\small | |
| 109 | +\begin{tabularx}{\columnwidth}{@{\extracolsep{\fill}}rrrr} | |
| 110 | +\multicolumn{1}{c}{\normalsize{\textbf{Rank}}} & | |
| 111 | +\multicolumn{1}{c}{\normalsize{\textbf{App Name}}} & | |
| 112 | +\multicolumn{1}{c}{\normalsize{\textbf{Value}}} \\ | |
| 113 | +\toprule | |
| 114 | +\num{1} & \texttt{YouTube} & 18497.052 \\ | |
| 115 | +\num{2} & \texttt{Candy Crush Saga} & 14051.369 \\ | |
| 116 | +\num{3} & \texttt{Bank of America} & 12954.196 \\ | |
| 117 | +\num{4} & \texttt{Dropbox} & 7063.746 \\ | |
| 118 | +\num{5} & \texttt{Android Messaging} & 6555.140 \\ | |
| 119 | +\num{6} & \texttt{Android Gallery} & 5773.902 \\ | |
| 120 | +\num{7} & \texttt{Twitter} & 5610.394 \\ | |
| 121 | +\num{8} & \texttt{Android Clock} & 5085.873 \\ | |
| 122 | +\num{9} & \texttt{Yahoo Mail} & 5083.615 \\ | |
| 123 | +\num{10} & & \\ | |
| 124 | +\bottomrule | |
| 125 | +\num{10} & \texttt{NFL Mobile} & 1275.985 \\ | |
| 126 | +\num{9} & \texttt{UB Parking} & 1071.529 \\ | |
| 127 | +\num{8} & \texttt{Pandora} & 1049.971 \\ | |
| 128 | +\num{7} & \texttt{Facebook Messenger} & 1012.536 \\ | |
| 129 | +\num{6} & \texttt{Android News and Weather} & 990.386 \\ | |
| 130 | +\num{5} & \texttt{Adobe Reader} & 985.680 \\ | |
| 131 | +\num{4} & \texttt{Google+} & 898.589 \\ | |
| 132 | +\num{3} & \texttt{Android Phone} & 748.077 \\ | |
| 133 | +\num{2} & \texttt{Google Search} & 682.005 \\ | |
| 134 | +\num{1} & \texttt{The Weather Channel} & 571.405 \\ | |
| 135 | +\end{tabularx} | |
| 136 | +} | |
| 137 | + | |
| 138 | +\caption{\small \textbf{Apps Sorted by Content Energy Efficiency.}} | |
| 139 | + | |
| 140 | +\label{table-content} | |
| 141 | +\end{subtable} | |
| 142 | + | |
| 143 | +\caption{\small \textbf{Evaluating Components of a Value Measure.} | |
| 144 | + \PhoneLab{} data is used to weight overall app energy usage in a variety of | |
| 145 | +different ways. Omitted results are caused by Android reporting energy | |
| 146 | +consumption for non-apps such as the Android System.} | |
| 147 | + | |
| 148 | +\label{table-results} | |
| 149 | + | |
| 150 | +\end{table*} | ... | ... |
figures/tables/tableRATE.tex
| 1 | 1 | \begin{table}[t] |
| 2 | 2 | {\small |
| 3 | -\begin{tabularx}{\columnwidth}{Xrr} | |
| 3 | +\begin{tabularx}{\columnwidth}{rXr} | |
| 4 | 4 | \multicolumn{1}{c}{\normalsize{\textbf{Rank}}} & |
| 5 | -\multicolumn{1}{c}{\normalsize{\textbf{Consumption Rate (A)}}} & | |
| 6 | -\multicolumn{1}{c}{\normalsize{\textbf{Value}}} \\ | |
| 5 | +\multicolumn{1}{c}{\normalsize{\textbf{App}}} & | |
| 6 | +\multicolumn{1}{c}{\normalsize{\textbf{Consumption Rate (A)}}} \\ | |
| 7 | 7 | \toprule |
| 8 | 8 | \num{1} & \texttt{Facebook Messenger} & 0.774 \\ |
| 9 | 9 | \num{2} & \texttt{Google+} & 0.614 \\ | ... | ... |
figures/tables/tableRATE.tex~
0 → 100644
| 1 | +\begin{table}[t] | |
| 2 | +{\small | |
| 3 | +\begin{tabularx}{\columnwidth}{rXr} | |
| 4 | +\multicolumn{1}{c}{\normalsize{\textbf{Rank}}} & | |
| 5 | +\multicolumn{1}{c}{\normalsize{\textbf{App}}} & | |
| 6 | +\multicolumn{1}{c}{\normalsize{\textbf{Consumption Rate (A)}}} \\ | |
| 7 | +\toprule | |
| 8 | +\num{1} & \texttt{Facebook Messenger} & 0.774 \\ | |
| 9 | +\num{2} & \texttt{Google+} & 0.614 \\ | |
| 10 | +\num{3} & \texttt{Super-Bright LED Flashlight} & 0.600 \\ | |
| 11 | +\num{4} & \texttt{UB Parking} & 0.598 \\ | |
| 12 | +\num{5} & \texttt{Android Music} & 0.446 \\ | |
| 13 | +\num{6} & \texttt{Google Search} & 0.428 \\ | |
| 14 | +\num{7} & \texttt{NFL Mobile} & 0.386 \\ | |
| 15 | +\num{8} & \texttt{Pandora} & 0.326 \\ | |
| 16 | +\num{9} & \texttt{Starbucks} & 0.282 \\ | |
| 17 | +\num{10} & \texttt{Android News and Weather} & 0.254 \\ | |
| 18 | +\bottomrule | |
| 19 | +\bottomrule | |
| 20 | +\num{9} & \texttt{WhatsApp Messenger} & 0.095 \\ | |
| 21 | +\num{8} & \texttt{Twitter} & 0.078 \\ | |
| 22 | +\num{7} & \texttt{Yahoo Mail} & 0.077 \\ | |
| 23 | +\num{6} & \texttt{Android Messaging} & 0.061 \\ | |
| 24 | +\num{5} & \texttt{Skype} & 0.040 \\ | |
| 25 | +\num{4} & \texttt{YouTube} & 0.036 \\ | |
| 26 | +\num{3} & \texttt{ESPN SportsCenter} & 0.021 \\ | |
| 27 | +\num{2} & \texttt{The Weather Channel} & 0.019 \\ | |
| 28 | +\num{1} & \texttt{Bank of America} & 0.011 \\ | |
| 29 | +\end{tabularx} | |
| 30 | +} | |
| 31 | + | |
| 32 | +\caption{\small \textbf{Fastest and slowest energy-consuming apps.}} | |
| 33 | + | |
| 34 | +\label{table-rate} | |
| 35 | + | |
| 36 | +\end{table} | ... | ... |
introduction.tex
| ... | ... | @@ -41,8 +41,8 @@ of apps in order to evaluate two video conferencing tools, web browsers, or |
| 41 | 41 | email clients. Developers can determine whether a new feature delivers value |
| 42 | 42 | more or less efficiently than the rest of their app and better understand the |
| 43 | 43 | differences in energy consumption across different users. Measuring value |
| 44 | -allows a rigorous definition of an \textit{energy virus} as \textit{an app that | |
| 45 | -delivers little or no value per joule}, and for systems to reward efficient | |
| 44 | +allows a rigorous definition of an \textit{energy virus} as an app that | |
| 45 | +delivers little or no value per joule, and for systems to reward efficient | |
| 46 | 46 | apps by prioritizing limited resources based on app value or energy |
| 47 | 47 | efficiency. After all the progress we have made in computing the |
| 48 | 48 | denominator---energy consumption---we believe that the search for the missing | ... | ... |
metric.tex
| ... | ... | @@ -33,7 +33,7 @@ with complementary value measure components that offset the differences |
| 33 | 33 | between high-interaction and low-interaction apps. This approach also fails |
| 34 | 34 | in the case where apps deploy confusing or unnecessary interfaces that |
| 35 | 35 | require a great deal of unnecessary interaction to accomplish simple tasks. |
| 36 | -Clearly such apps should not be rewarded. | |
| 36 | +Clearly, such apps should not be rewarded. | |
| 37 | 37 | |
| 38 | 38 | \subsection{Notification Click-Through Rates} |
| 39 | 39 | |
| ... | ... | @@ -61,7 +61,7 @@ not consumed did not need to be retrieved. |
| 61 | 61 | |
| 62 | 62 | However, in some cases apps may do an effective job at summarizing the event |
| 63 | 63 | within the notification itself, providing no need for the user to bring the |
| 64 | -app to the foreground. Clearly such apps should not be penalized. | |
| 64 | +app to the foreground. Clearly, such apps should not be penalized. | |
| 65 | 65 | |
| 66 | 66 | \subsection{Content Delivery} |
| 67 | 67 | |
| ... | ... | @@ -88,7 +88,8 @@ large amount of video content to their users per joule. |
| 88 | 88 | presented to the user and efficiency is determined by the accelerometer rate |
| 89 | 89 | and any post-processing required to produce an accurate estimate. Value is |
| 90 | 90 | measured as the ability to maintain the step count and efficient pedometers |
| 91 | -can compute accurate values while consuming small amounts of energy. | |
| 91 | +can achieve more accuracy in computing values per joule. | |
| 92 | +%can compute accurate values while consuming small amounts of energy. | |
| 92 | 93 | |
| 93 | 94 | \end{itemize} |
| 94 | 95 | ... | ... |
results.tex
| ... | ... | @@ -25,7 +25,7 @@ package to record energy consumption at each app transition. This allows energy |
| 25 | 25 | consumption by components such as the screen to be accurately attributed to |
| 26 | 26 | the foreground app, a feature that Android's internal battery monitoring |
| 27 | 27 | component (the Fuel Gauge) lacks. Changes were distributed to \PhoneLab{} |
| 28 | -participants in November, 2013, via an over-the-air (OTA) platform update. | |
| 28 | +participants in November 2013 via an over-the-air (OTA) platform update. | |
| 29 | 29 | The resulting 2~month dataset of 67~GB of compressed log files represents |
| 30 | 30 | \num{6806} user days during which \num{1328}~apps were started \num{277785} |
| 31 | 31 | times, and used for a total of \num{15224} hours of active use by |
| ... | ... | @@ -37,17 +37,18 @@ consumed by each app. Next, we formulate a simple measure of content |
| 37 | 37 | delivery by measuring usage of the screen and audio output devices and test |
| 38 | 38 | it through a survey completed by 47~experiment participants. Unfortunately, |
| 39 | 39 | our results are inconclusive and open to several possible interpretations |
| 40 | -which we discuss. We present our results in tabular format where for each measure we | |
| 41 | -rank 10 best performing and 10 worst performing apps in desending order. | |
| 40 | +which we discuss. | |
| 41 | +We present our results in tabular format where for each measure we | |
| 42 | +rank 10 best performing and 10 worst performing apps in descending order. | |
| 42 | 43 | |
| 43 | -\newpage | |
| 44 | +%\newpage | |
| 44 | 45 | |
| 45 | 46 | \subsection{Total Energy} |
| 46 | 47 | |
| 47 | 48 | \input{./figures/tables/tableALL.tex} |
| 48 | 49 | |
| 49 | 50 | Clearly, ranking apps by total energy consumption computed by adding all |
| 50 | -foreground and background energy consumptions over the entire study says | |
| 51 | +foreground and background energy consumption over the entire study says | |
| 51 | 52 | much more about app popularity than it does about anything else. |
| 52 | 53 | Table~\ref{table-total} shows the top and bottom energy-consuming apps over |
| 53 | 54 | the entire study. As expected, popular apps such as the Android Browser, | ... | ... |
results.tex~ deleted
| 1 | -\section{Results} | |
| 2 | -\label{sec-results} | |
| 3 | - | |
| 4 | -To examine the potential components of a value measure further, we utilize a | |
| 5 | -large dataset of energy consumption measurements collected by an IRB-approved | |
| 6 | -experiment run on the \PhoneLab{} testbed. \PhoneLab{} is a public smartphone | |
| 7 | -platform testbed located at the University at | |
| 8 | -Buffalo~\cite{phonelab-sensemine13}. 220~students, faculty, and staff carry | |
| 9 | -instrumented Android Nexus~5 smartphones and receive subsidized service in | |
| 10 | -return for willingness to participate in experiments. \PhoneLab{} provides | |
| 11 | -access to a representative group of participants balanced between genders and | |
| 12 | -across a wide variety of age brackets, making our results more | |
| 13 | -representative. | |
| 14 | - | |
| 15 | -Understanding fine-grained energy consumption dynamics required more | |
| 16 | -information than Android normally exposes to apps. In addition, to explore | |
| 17 | -components of our value measure we also wanted to capture information about | |
| 18 | -app usage---including foreground and background time and use of the display | |
| 19 | -and audio interface---that was not possible to measure on unmodified Android | |
| 20 | -devices. So to collect our dataset we took advantage of \PhoneLab{}'s ability | |
| 21 | -to modify the Android platform itself. We instrumented the | |
| 22 | -\texttt{SurfaceFlinger} and \texttt{AudioFlinger} components in the Android platform | |
| 23 | -to record usage of the screen and audio, and altered the ActivityManagerService | |
| 24 | -package to record energy consumption at each app transition. This allows energy | |
| 25 | -consumption by components such as the screen to be accurately attributed to | |
| 26 | -the foreground app, a feature that Android's internal battery monitoring | |
| 27 | -component (the Fuel Gauge) lacks. Changes were distributed to \PhoneLab{} | |
| 28 | -participants in November, 2013, via an over-the-air (OTA) platform update. | |
| 29 | -The resulting 2~month dataset of 67~GB of compressed log files represents | |
| 30 | -\num{6806} user days during which \num{1328}~apps were started \num{277785} | |
| 31 | -times, and used for a total of \num{15224} hours of active use by | |
| 32 | -107~\PhoneLab{} participants. | |
| 33 | - | |
| 34 | -Our analysis begins by investigating several components of a possible value | |
| 35 | -measure and shows the effect of using each to weight the overall energy | |
| 36 | -consumed by each app. Next, we formulate a simple measure of content | |
| 37 | -delivery by measuring usage of the screen and audio output devices and test | |
| 38 | -it through a survey completed by 47~experiment participants. Unfortunately, | |
| 39 | -our results are inconclusive and open to several possible interpretations | |
| 40 | -which we discuss. | |
| 41 | - | |
| 42 | -\newpage | |
| 43 | - | |
| 44 | -\subsection{Total Energy} | |
| 45 | - | |
| 46 | -\input{./figures/tables/tableALL.tex} | |
| 47 | - | |
| 48 | -Clearly, ranking apps by total energy consumption computed by adding all | |
| 49 | -foreground and background energy consumptions over the entire study says | |
| 50 | -much more about app popularity than it does about anything else. | |
| 51 | -Table~\ref{table-total} shows the top and bottom energy-consuming apps over | |
| 52 | -the entire study. As expected, popular apps such as the Android Browser, | |
| 53 | -Facebook, and the Android Phone component consume the most energy, while the | |
| 54 | -list of low consumers is dominated by apps with few installs. This table does | |
| 55 | -serve, however, to identify the popular apps in use by \PhoneLab{} | |
| 56 | -participants, and as a point of comparison for the remainder of our results. | |
| 57 | - | |
| 58 | -\subsection{Power} | |
| 59 | - | |
| 60 | -Computing each app's power consumption by scaling their total energy usage | |
| 61 | -against the total time they were running, either in the background or | |
| 62 | -foreground, reveals more information, as shown in Table~\ref{table-rate}. Our | |
| 63 | -results identify Facebook Messenger, Google+, and the Super-Bright LED | |
| 64 | -Flashlight as apps that rapidly-consume energy, while the Bank of America and | |
| 65 | -Weather Channel apps consume energy slowly. Differences between apps in | |
| 66 | -similar categories may begin to identify apps with problematic energy | |
| 67 | -consumption, such as contrasting the high energy usage of Facebook Messenger | |
| 68 | -with other messaging clients such as WhatsApp, Twitter, and Android | |
| 69 | -Messaging. | |
| 70 | - | |
| 71 | -\subsection{Foreground Energy Efficiency} | |
| 72 | - | |
| 73 | -Isolating the foreground component of execution time provides a better | |
| 74 | -measure of value, since it ignores the time that users spend ignoring apps. | |
| 75 | -Table~\ref{table-foreground} shows a measure of energy efficiency computed by | |
| 76 | -%utilizing foreground time alone as our value measure. | |
| 77 | -dividing total foreground energy consumption by total foreground time of an | |
| 78 | -app. Some surprising changes | |
| 79 | -from the power results can be seen. A number of apps have remained in their former | |
| 80 | -categories: Bank of America, which was identified as a low-power app, is also | |
| 81 | -a highly-efficient app when using foreground time as the value measure; and | |
| 82 | -Facebook Messenger, which was identified as a high-power app, is also marked | |
| 83 | -as inefficient. Other apps, however, have switched categories. ESPN | |
| 84 | -Sportscenter and Yahoo Mail do not consume much power, but also don't spend | |
| 85 | -much time in the foreground; interestingly, none of the high-power apps | |
| 86 | -looked better when their foreground usage was considered. | |
| 87 | - | |
| 88 | -\subsection{Content Energy Efficiency} | |
| 89 | - | |
| 90 | -Finally, we use the data we collected by instrumenting the | |
| 91 | -\texttt{SurfaceFlinger} and \texttt{AudioFlinger} components to compute a | |
| 92 | -simple measure of content delivery. We measure the audio and video frame | |
| 93 | -rates and combine them into a single measure by using bit-rates corresponding | |
| 94 | -to a 30~fps YouTube-encoded video and 128~kbps two-channel audio, with the | |
| 95 | -weights representing the fact that a single frame of video contains much more | |
| 96 | -content than a single sample of audio. We use this combined metric as the | |
| 97 | -value measure and again use it to weight the energy consumption of each app, | |
| 98 | -with the results shown in Table~\ref{table-content}. | |
| 99 | - | |
| 100 | -Comparing with the foreground energy efficiency again shows several | |
| 101 | -interesting changes. Yahoo Mail, which foreground energy efficiency marked as | |
| 102 | -inefficient, looks more efficient when content delivery is considered. While | |
| 103 | -it is possible that one \PhoneLab{} participant uses it to read email very | |
| 104 | -quickly, it may be more likely that it uses a ``spinner'' or other fancy UI | |
| 105 | -elements that generate artificially high frame rates without delivering much | |
| 106 | -information. The inability to distinguish between meaningless and meaningful | |
| 107 | -video frame content is a significant weakness of this simple approach. | |
| 108 | -YouTube and Candy Crush Saga both earn high marks, which is encouraging given | |
| 109 | -that they are very different apps but also might be a result of overweighting | |
| 110 | -screen refreshes. The Android Clock is also an unsurprising result, as it | |
| 111 | -requires almost no energy to generate a relatively-large number of screen | |
| 112 | -redraws in timer and stopwatch mode. | |
| 113 | - | |
| 114 | -\subsection{Survey Results and Discussion} | |
| 115 | - | |
| 116 | -\begin{figure*}[t] | |
| 117 | -\centering | |
| 118 | -\includegraphics[width=\textwidth]{./figures/survey.pdf} | |
| 119 | - | |
| 120 | -\caption{\small \textbf{Survey Results.} The height of each bar demonstrates how | |
| 121 | -many of the suggested apps the user is willing to remove for better battery | |
| 122 | -life, with suggestions based on overall usage or our new content-delivery | |
| 123 | -efficiency measure. Our new measure does not convincingly out-perform the | |
| 124 | -straw man.} | |
| 125 | - | |
| 126 | -\label{fig-survey} | |
| 127 | - | |
| 128 | -\end{figure*} | |
| 129 | - | |
| 130 | -To continue the evaluation of our simple content-based value measure, we | |
| 131 | -prepared a survey for the 107~\PhoneLab{} participants who contributed data | |
| 132 | -to our experiment. Our goal was to determine if users would be more willing | |
| 133 | -to remove inefficient apps, as defined using our content-based measure. As a | |
| 134 | -baseline, we also asked users about the apps that consumed the most energy. | |
| 135 | -We used each participants data to generate a custom survey containing | |
| 136 | -questions about 9 apps: the 3 least efficient apps as computed by our | |
| 137 | -content-based value measure, the 3 apps that used the most energy on their | |
| 138 | -smartphone during the experiment, and 3 apps chosen at random. For each we | |
| 139 | -asked them a simple question: ``If it would improve your battery life, would | |
| 140 | -you uninstall or stop using this app?'' To compute an aggregate score for | |
| 141 | -both the content-based and usage based measures, we give each measure 1~point | |
| 142 | -for a ``Yes'', 0.5~points for a ``Maybe'' and 0~points for a ``No''. | |
| 143 | -47~participants completed the survey, and the results are shown in | |
| 144 | -Figure~\ref{fig-survey}. For each user, if the score of one measure is higher | |
| 145 | -than the other, it is considered a ``win'' for the former. | |
| 146 | - | |
| 147 | -Overall the results are inconclusive, with the content-delivery measure not | |
| 148 | -clearly outperforming the straw-man usage measure at predicting which apps | |
| 149 | -each user would be willing to remove to save battery life. Given the crude | |
| 150 | -nature of our metric, this is not particularly surprising, and can be | |
| 151 | -interpreted as a sign that we need a more sophisticated value measure | |
| 152 | -incorporating more of the potential inputs we have previously discussed. | |
| 153 | -However, on one level the results are very encouraging: most users were | |
| 154 | -willing to consider removing one or more apps if that app would improve their | |
| 155 | -battery lifetime. Clearly, users are making this decision based on some idea | |
| 156 | -of each app's value---the challenge is to replicate their choices using the | |
| 157 | -information we have available to us. |